/* 嘉美净精选保姆子站 - 蓝绿专业风（与主站一致） */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    background: #f4f7fa;
    color: #333;
    line-height: 1.6;
}
a { text-decoration: none; color: inherit; }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 15px; }

/* 顶栏 */
.topbar { background: #0f4c75; color: #fff; position: sticky; top: 0; z-index: 10; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 52px; }
.brand { font-size: 18px; font-weight: bold; display: flex; align-items: center; gap: 8px; }
.brand-mark {
    width: 28px; height: 28px; border-radius: 8px;
    background: #28a745; color: #fff; font-size: 15px;
    display: inline-flex; align-items: center; justify-content: center;
}
.brand-sub { font-size: 13px; font-weight: normal; color: #a8d5e5; margin-left: 2px; }
.topbar-link { font-size: 13px; color: #cfe8f3; }

/* 头部横幅 */
.hero { background: linear-gradient(135deg, #0f4c75 0%, #1b6b93 100%); color: #fff; padding: 34px 0 30px; }
.hero h1 { font-size: 26px; letter-spacing: 1px; }
.hero-sub { margin-top: 8px; color: #cfe8f3; font-size: 14px; }
.hero-badges { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.hero-badges span {
    border: 1px solid rgba(255,255,255,.45); border-radius: 20px;
    padding: 3px 12px; font-size: 12px; color: #eaf5fb;
}

/* 筛选 */
.filter { padding: 14px 15px 4px; display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
    padding: 6px 16px; border-radius: 20px; font-size: 13px;
    background: #fff; color: #1b6b93; border: 1px solid #cfe0ea;
}
.chip.on { background: #1b6b93; color: #fff; border-color: #1b6b93; }

/* 列表卡片 */
.card-grid { padding: 14px 15px 24px; display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 560px) { .card-grid { grid-template-columns: 1fr 1fr; } }
.n-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 12px rgba(15,76,117,.08); display: flex; }
.n-photo {
    width: 110px; min-height: 150px; flex-shrink: 0; position: relative;
    background: linear-gradient(160deg, #1b6b93, #0f4c75);
    display: flex; align-items: center; justify-content: center;
}
.n-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0; }
.n-avatar { font-size: 40px; color: rgba(255,255,255,.9); font-weight: bold; }
.n-cert-badge {
    position: absolute; left: 0; bottom: 0; right: 0;
    background: rgba(40,167,69,.92); color: #fff; text-align: center;
    font-size: 11px; padding: 3px 0;
}
.n-body { flex: 1; padding: 12px 14px; display: flex; flex-direction: column; }
.n-name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.n-name { font-size: 18px; font-weight: bold; color: #0f4c75; }
.n-type { background: #e8f5ec; color: #28a745; font-size: 11px; padding: 2px 8px; border-radius: 10px; }
.n-meta { font-size: 13px; color: #777; margin-top: 4px; }
.n-skills { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.n-skills span { background: #f0f4f8; color: #456; font-size: 12px; padding: 2px 9px; border-radius: 10px; }
.n-btn {
    margin-top: auto; padding-top: 10px; align-self: flex-start;
    color: #1b6b93; font-size: 14px; font-weight: 500;
}
.n-btn::after { content: " →"; }
.empty { padding: 30px 0; text-align: center; color: #888; }

/* CTA 横幅 */
.cta-band { background: linear-gradient(135deg, #0f4c75, #1b6b93); color: #fff; padding: 26px 0; text-align: center; }
.cta-title { font-size: 15px; margin-bottom: 14px; padding: 0 20px; }
.cta-phone {
    display: inline-block; background: #28a745; color: #fff; font-weight: bold;
    padding: 12px 34px; border-radius: 26px; font-size: 17px;
}

/* 页脚 */
.foot { padding: 22px 0 90px; text-align: center; color: #889; font-size: 12px; }
.foot p { margin-bottom: 4px; }
.foot a { color: #1b6b93; }
.icp { color: #aab; }

/* 详情页 */
.detail { padding: 16px 15px 30px; }
.d-head { background: #fff; border-radius: 14px; padding: 18px; display: flex; gap: 16px; box-shadow: 0 2px 12px rgba(15,76,117,.08); }
.d-photo {
    width: 104px; height: 132px; border-radius: 12px; flex-shrink: 0; overflow: hidden;
    background: linear-gradient(160deg, #1b6b93, #0f4c75);
    display: flex; align-items: center; justify-content: center;
}
.d-photo img { width: 100%; height: 100%; object-fit: cover; }
.d-avatar { font-size: 42px; color: rgba(255,255,255,.9); font-weight: bold; }
.d-name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.d-name { font-size: 22px; color: #0f4c75; }
.d-badge { background: linear-gradient(135deg, #28a745, #1e8a38); color: #fff; font-size: 11px; padding: 3px 10px; border-radius: 12px; }
.d-meta { color: #777; font-size: 14px; margin-top: 6px; }
.d-types { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.d-types span { background: #e8f5ec; color: #28a745; font-size: 12px; padding: 3px 10px; border-radius: 12px; }

.d-section { background: #fff; border-radius: 14px; padding: 18px; margin-top: 14px; box-shadow: 0 2px 12px rgba(15,76,117,.08); }
.d-section h2 {
    font-size: 17px; color: #0f4c75; margin-bottom: 14px; padding-left: 10px;
    border-left: 4px solid #28a745; line-height: 1.2;
}
.d-certs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.d-cert {
    display: flex; flex-direction: column;
    background: #f2f9f4; border-radius: 10px; padding: 10px 12px; font-size: 14px; color: #234;
}
.d-cert-head { display: flex; align-items: center; gap: 8px; }
.d-cert-img { width: 100%; border-radius: 8px; margin-top: 8px; display: block; border: 1px solid #e2ece6; }
.d-cert-icon {
    width: 22px; height: 22px; border-radius: 50%; background: #28a745; color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0;
}
.d-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.d-table th, .d-table td { padding: 9px 8px; border-bottom: 1px solid #eef2f6; text-align: left; }
.d-table th { color: #889; font-weight: normal; width: 88px; }
.d-skills { display: flex; flex-wrap: wrap; gap: 8px; }
.d-skills span { background: #eef4f9; color: #1b6b93; font-size: 13px; padding: 5px 14px; border-radius: 14px; }
.d-intro { font-size: 14px; color: #555; }

/* 工作风采 */
.d-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.d-photos figure { border-radius: 10px; overflow: hidden; background: #f0f4f8; }
.d-photos img { width: 100%; display: block; aspect-ratio: 4/3; object-fit: cover; }
.d-photos figcaption { font-size: 12px; color: #667; text-align: center; padding: 6px 0; background: #fff; }
.d-photos-tip { margin-top: 10px; font-size: 11px; color: #aab; }

/* 客户评价 */
.d-review { padding: 12px 0; border-bottom: 1px dashed #e5ebf1; }
.d-review:last-of-type { border-bottom: none; }
.d-review-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.d-stars { color: #f5a623; font-size: 14px; letter-spacing: 2px; }
.d-review-tag { background: #eef4f9; color: #1b6b93; font-size: 11px; padding: 2px 9px; border-radius: 10px; }
.d-review-text { font-size: 13px; color: #556; line-height: 1.7; }

/* 参考价格 */
.d-price { color: #e2593b; font-size: 15px; }
.d-price-note { font-size: 12px; color: #99a; }

/* 服务流程 */
.d-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.d-step { text-align: center; padding: 8px 2px; }
.d-step-no {
    display: block; width: 30px; height: 30px; line-height: 30px; margin: 0 auto 6px;
    border-radius: 50%; background: linear-gradient(135deg, #1b6b93, #0f4c75); color: #fff;
    font-size: 14px; font-weight: bold;
}
.d-step strong { display: block; font-size: 13px; color: #0f4c75; margin-bottom: 2px; }
.d-step span { font-size: 11px; color: #99a; }

/* 服务档期 */
.d-schedule { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.d-schedule-item { border-radius: 10px; text-align: center; padding: 8px 2px; background: #f4f6f8; }
.d-schedule-item em { display: block; font-style: normal; font-size: 13px; font-weight: bold; color: #456; }
.d-schedule-item span { display: block; font-size: 11px; color: #99a; margin: 2px 0; }
.d-schedule-item i { display: block; font-style: normal; font-size: 11px; }
.d-schedule-item.free { background: #eaf7ee; }
.d-schedule-item.free i { color: #28a745; }
.d-schedule-item.busy { background: #fdf0ee; }
.d-schedule-item.busy i { color: #d06a55; }

.d-guarantees { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.d-guarantee { text-align: center; }
.d-guarantee strong { display: block; font-size: 13px; color: #0f4c75; margin-bottom: 2px; }
.d-guarantee span { font-size: 11px; color: #99a; }
.d-notice { margin-top: 14px; font-size: 12px; color: #99a; text-align: center; padding: 0 10px; }

/* 底部固定咨询栏 */
.d-bottombar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 10;
    background: #fff; padding: 10px 15px; box-shadow: 0 -2px 12px rgba(0,0,0,.08);
}
.d-btn-call {
    display: block; max-width: 720px; margin: 0 auto; text-align: center;
    background: linear-gradient(135deg, #28a745, #1e8a38); color: #fff;
    font-size: 16px; font-weight: bold; padding: 13px 0; border-radius: 26px;
}

/* 404 */
.notfound { padding: 60px 15px; text-align: center; }
.notfound h1 { color: #0f4c75; margin-bottom: 10px; }
.notfound p { color: #888; margin-bottom: 20px; }
.notfound .n-btn { font-size: 15px; }

/* ===== 列表页新增 ===== */
.n-highlight {
    margin-top: 8px; font-size: 12px; color: #2a7a43;
    background: #eaf7ee; border-radius: 8px; padding: 5px 10px; line-height: 1.5;
    overflow-wrap: break-word; word-break: break-all;
}

/* 入口二维码区块 */
.qr-entry { text-align: center; padding: 26px 15px 10px; }
.qr-entry h2 { font-size: 18px; color: #0f4c75; margin-bottom: 6px; }
.qr-entry-sub { font-size: 13px; color: #889; margin-bottom: 14px; }
.qr-entry img { width: 200px; height: 200px; border: 8px solid #fff; border-radius: 14px; box-shadow: 0 4px 16px rgba(15,76,117,.15); }
.qr-entry-tip { margin-top: 12px; font-size: 12px; color: #99a; }
.qr-entry-url { color: #1b6b93; word-break: break-all; }

/* ===== 详情页新增 ===== */
.d-highlight {
    margin-top: 14px; border-radius: 12px; padding: 13px 16px;
    background: linear-gradient(135deg, #eaf7ee, #dff0e4);
    color: #217a3c; font-size: 14px; font-weight: 500;
    border-left: 4px solid #28a745;
}
.d-available { color: #217a3c; font-weight: 500; }
.d-price-extra { margin-top: 10px; font-size: 13px; color: #e2593b; }

/* 页面二维码区块 */
.d-qrsec { text-align: center; }
.d-qr { width: 190px; height: 190px; border: 8px solid #fff; border-radius: 14px; box-shadow: 0 4px 16px rgba(15,76,117,.15); }
.d-qr-tip { margin-top: 12px; font-size: 13px; color: #667; line-height: 1.8; }
.d-qr-link { margin-top: 6px; font-size: 11px; color: #9ab; word-break: break-all; }

/* 上一篇/下一篇 */
.d-pn { display: flex; justify-content: space-between; margin-top: 16px; }
.d-pn a {
    background: #fff; border-radius: 20px; padding: 9px 18px; font-size: 13px; color: #1b6b93;
    box-shadow: 0 2px 8px rgba(15,76,117,.08);
}

/* ===== 管理后台 ===== */
.adm-body { background: #eef2f6; }
.adm-top {
    background: #0f4c75; color: #fff; padding: 12px 20px;
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
}
.adm-top nav a { color: #cfe8f3; margin-left: 14px; font-size: 14px; }
.adm-main { max-width: 860px; margin: 0 auto; padding: 20px 15px 60px; }
.adm-msg {
    background: #eaf7ee; border: 1px solid #b7e4c7; color: #217a3c;
    border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; font-size: 14px;
}
.adm-bar { margin: 18px 0; }
.adm-btn {
    display: inline-block; background: linear-gradient(135deg, #1b6b93, #0f4c75); color: #fff;
    border: none; border-radius: 8px; padding: 10px 22px; font-size: 15px; cursor: pointer;
}
.adm-btn-big { padding: 13px 40px; font-size: 16px; }
.adm-btn-sm { padding: 6px 14px; font-size: 13px; margin-top: 8px; }
.adm-btn-gray { background: #dde4ea; color: #456; }
.adm-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(15,76,117,.06); font-size: 14px; }
.adm-table th, .adm-table td { padding: 10px 10px; border-bottom: 1px solid #eef2f6; text-align: left; vertical-align: middle; }
.adm-table th { background: #f4f7fa; color: #567; font-weight: normal; font-size: 13px; }
.adm-center { text-align: center; }
.adm-dim { color: #99a; font-size: 12px; }
.adm-empty { padding: 40px 0; text-align: center; color: #889; background: #fff; border-radius: 10px; }
.adm-tip { margin-top: 14px; font-size: 12px; color: #99a; }
.adm-thumb { width: 52px; height: 52px; object-fit: cover; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; }
.adm-thumb-none { background: linear-gradient(160deg, #1b6b93, #0f4c75); color: #fff; font-size: 20px; font-weight: bold; }
.adm-avatar-preview { width: 110px; height: 138px; object-fit: cover; border-radius: 10px; }
.adm-inline { display: inline; }
.adm-inline button {
    border: 1px solid #cfd8e0; background: #fff; border-radius: 6px;
    padding: 4px 9px; cursor: pointer; font-size: 13px; color: #456;
}
.adm-on { background: #eaf7ee !important; color: #217a3c !important; border-color: #b7e4c7 !important; }
.adm-off { background: #f4f4f4 !important; color: #999 !important; }
.adm-ops a { margin-right: 10px; color: #1b6b93; font-size: 13px; }
.adm-del { background: #fdf0ee; color: #d06a55; border: 1px solid #f2cdc5; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: 12px; }
.adm-card { background: #fff; border-radius: 12px; padding: 18px; margin-bottom: 16px; box-shadow: 0 2px 8px rgba(15,76,117,.06); }
.adm-card h3 { font-size: 16px; color: #0f4c75; margin-bottom: 14px; border-left: 4px solid #28a745; padding-left: 8px; }
.adm-form label { display: block; margin-bottom: 12px; font-size: 13px; color: #567; }
.adm-form input[type=text], .adm-form input[type=password], .adm-form input[type=number],
.adm-form textarea, .adm-form select, .adm-form input[type=file] {
    width: 100%; margin-top: 5px; padding: 9px 10px; font-size: 14px;
    border: 1px solid #cfd8e0; border-radius: 8px; box-sizing: border-box; background: #fbfcfd;
}
.adm-form input:focus, .adm-form textarea:focus, .adm-form select:focus { border-color: #1b6b93; outline: none; }
.adm-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
@media (max-width: 640px) { .adm-grid2 { grid-template-columns: 1fr; } }
.adm-photo-row { display: flex; gap: 24px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 12px; }
.adm-photo-row > div { max-width: 130px; }
.adm-photo-row label { flex: 1; min-width: 220px; }
.adm-sub { font-size: 13px; color: #567; margin: 14px 0 8px; }
.adm-wp { margin-bottom: 12px; }
.adm-wp input[type=text] { margin-top: 0; }
.adm-form-narrow { max-width: 460px; }
.adm-login-body { background: linear-gradient(135deg, #0f4c75, #1b6b93); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.adm-login { background: #fff; border-radius: 16px; padding: 40px 36px; width: 320px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.adm-login h1 { font-size: 22px; color: #0f4c75; text-align: center; }
.adm-login-sub { text-align: center; color: #889; font-size: 13px; margin: 6px 0 22px; }
.adm-login input { width: 100%; padding: 12px; border: 1px solid #cfd8e0; border-radius: 8px; font-size: 15px; box-sizing: border-box; margin-bottom: 14px; }
.adm-login button { width: 100%; padding: 12px; background: linear-gradient(135deg, #28a745, #1e8a38); color: #fff; border: none; border-radius: 8px; font-size: 16px; cursor: pointer; }
.adm-err { background: #fdf0ee; color: #d06a55; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin-bottom: 14px; text-align: center; }
.adm-check { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: #567; margin: 0; white-space: nowrap; }
.adm-check input { width: auto !important; margin: 0 !important; }
#certRows input[type=file] { margin-top: 6px; font-size: 12px; }

/* ===== 手机端适配（≤640px）===== */
@media (max-width: 640px) {
    /* 输入框字号≥16px，防 iOS Safari 聚焦自动放大页面 */
    .adm-form input[type=text], .adm-form input[type=password], .adm-form input[type=number],
    .adm-form textarea, .adm-form select { font-size: 16px; }
    .adm-login input { font-size: 16px; }
    .adm-main { padding: 12px 10px 60px; }
    .adm-top { padding: 10px 12px; }
    .adm-top nav a { margin-left: 10px; font-size: 13px; }
    .adm-card { padding: 14px 12px; }
    /* 表格横向滑动，避免列被压成一字竖排 */
    .adm-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .adm-table tr { min-width: 560px; }
    .adm-table th, .adm-table td { white-space: nowrap; }
    /* 列表页隐藏编号列，腾出空间 */
    .adm-list tr th:nth-child(4), .adm-list tr td:nth-child(4) { display: none; }
    /* 表单卡片全宽单列 */
    .adm-grid2 { grid-template-columns: 1fr; }
    .adm-btn-big { width: 100%; box-sizing: border-box; }
    .adm-bar .adm-btn-gray { display: block; text-align: center; margin-top: 10px; }
    /* 文件选择按钮别太挤 */
    #certRows input[type=file] { font-size: 14px; }
}
