/*
 * ADNVIETNAM — single-dich-vu.css (Final v3)
 * Upload vào: /wp-content/themes/flatsome-child/assets/css/single-dich-vu.css
 * Enqueue trong functions.php:
 *   add_action('wp_enqueue_scripts', function() {
 *     if (is_singular('dich-vu')) {
 *       wp_enqueue_style('adnvn-dich-vu', get_stylesheet_directory_uri() . '/assets/css/single-dich-vu.css', [], '3.0');
 *     }
 *   });
 */

/* ═══════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════ */
.dv2 * { box-sizing: border-box; }
.dv2 { font-family: inherit; font-size: 15px; line-height: 1.75; color: #1a1a1a; }
.dv2 a { text-decoration: none; }
.dv2 img { max-width: 100%; height: auto; }

/* ═══════════════════════════════════════════════════
   CONTAINER
═══════════════════════════════════════════════════ */
.dv2-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ═══════════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════════ */
.dv2-topbar {
    background: #042C53;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.dv2-topbar__left {
    font-size: 13px;
    color: #85B7EB;
    font-weight: 500;
}
.dv2-topbar__right { display: flex; gap: 16px; }
.dv2-topbar__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #B5D4F4;
    font-weight: 500;
    text-decoration: none;
    transition: color .15s;
}
.dv2-topbar__link:hover { color: #fff; }

/* ═══════════════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════════════ */
.dv2-bc {
    padding: 9px 24px;
    font-size: 13px;
    color: #888;
    background: #f7f9fc;
    border-bottom: 0.5px solid #e8edf2;
}
.dv2-bc a { color: #888; text-decoration: none; }
.dv2-bc a:hover { color: #185FA5; }
.dv2-bc__sep { margin: 0 5px; opacity: .4; }

/* ═══════════════════════════════════════════════════
   PROMO BANNER
═══════════════════════════════════════════════════ */
.dv2-promo {
    background: #BA7517;
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.dv2-promo__text { font-size: 13px; color: #fff; font-weight: 500; }
.dv2-promo__btn {
    background: #fff;
    color: #633806;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
.dv2-hero {
    background: #d8eefe;
    padding: 36px 24px 32px;
    border-bottom: 0.5px solid #d8eefe;
}
.dv2-hero__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 40px;
    align-items: start;
}
.dv2-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #B5D4F4;
    color: #0C447C;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 14px;
}
.dv2-hero__badge--hc { background: #EEEDFE; color: #3C3489; }
.dv2-hero h1 {
    font-size: 26px;
    font-weight: 700;
    color: #042C53;
    line-height: 1.35;
    margin: 0 0 12px;
}
.dv2-hero__sub {
    font-size: 15px;
    color: #185FA5;
    margin-bottom: 20px;
    line-height: 1.65;
}
.dv2-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 24px;
}
.dv2-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 0.5px solid #85B7EB;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 13px;
    color: #0C447C;
}
.dv2-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Buttons */
.dv2-btn-p {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #185FA5;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 24px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background .15s;
    text-decoration: none !important;
}
.dv2-btn-p:hover { background: #0C447C; color: #fff !important; }
.dv2-btn-s {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    color: #185FA5 !important;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 24px;
    border-radius: 6px;
    border: 2px solid #185FA5;
    cursor: pointer;
    transition: all .15s;
    text-decoration: none !important;
}
.dv2-btn-s:hover { background: #E6F1FB; }

/* Hero form card */
.dv2-hero-form {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.dv2-hero-form__title {
    font-size: 16px;
    font-weight: 700;
    color: #042C53;
    margin: 0 0 4px;
}
.dv2-hero-form__sub {
    font-size: 13px;
    color: #888;
    margin: 0 0 16px;
}
.dv2-field { margin-bottom: 11px; }
.dv2-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
}
.dv2-field input,
.dv2-field select,
.dv2-hero-form input,
.dv2-hero-form select {
    width: 100%;
    padding: 9px 11px;
    font-size: 14px;
    border: 0.5px solid #cdd5df;
    border-radius: 6px;
    background: #fff;
    color: #1a1a1a;
    transition: border .15s;
}
.dv2-field input:focus,
.dv2-field select:focus,
.dv2-hero-form input:focus,
.dv2-hero-form select:focus {
    border-color: #185FA5;
    outline: none;
}
.dv2-form-btn {
    width: 100%;
    background: #185FA5;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 11px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    margin-top: 4px;
    transition: background .15s;
}
.dv2-form-btn:hover { background: #0C447C; }
.dv2-form-note {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin-top: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

/* ═══════════════════════════════════════════════════
   STATS BAR
═══════════════════════════════════════════════════ */
.dv2-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 0.5px solid #eee;
    background: #fff;
}
.dv2-stat {
    padding: 15px 12px;
    text-align: center;
    border-right: 0.5px solid #eee;
}
.dv2-stat:last-child { border-right: none; }
.dv2-stat__num { font-size: 22px; font-weight: 700; color: #185FA5; }
.dv2-stat__lbl { font-size: 12px; color: #888; margin-top: 2px; }

/* ═══════════════════════════════════════════════════
   TRUST BAR
═══════════════════════════════════════════════════ */
.dv2-trust {
    background: #f7f9fc;
    border-bottom: 0.5px solid #e8edf2;
    padding: 14px 24px;
}
.dv2-trust__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
}
.dv2-trust__item { display: flex; align-items: center; gap: 10px; }
.dv2-trust__icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #E6F1FB;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #185FA5;
    flex-shrink: 0;
}
.dv2-trust__text strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #042C53;
}
.dv2-trust__text span { font-size: 12px; color: #888; }
.dv2-trust__div {
    width: 0.5px;
    height: 34px;
    background: #cdd5df;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════
   MAIN LAYOUT — 2 cột
═══════════════════════════════════════════════════ */
.dv2-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 36px 24px 56px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}
.dv2-col {}

/* Section wrapper */
.dv2-sec { margin-bottom: 36px; }
.dv2-sec__ey {
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 6px;
}
.dv2-sec__title {
    font-size: 18px;
    font-weight: 700;
    color: #042C53;
    margin: 0 0 18px;
}

/* ═══════════════════════════════════════════════════
   LOCAL DESC
═══════════════════════════════════════════════════ */
.dv2-local-desc {
    background: #f7f9fc;
    border-left: 4px solid #185FA5;
    border-radius: 0 8px 8px 0;
    padding: 18px 22px;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

/* ═══════════════════════════════════════════════════
   COMPARE BLOCK
═══════════════════════════════════════════════════ */
.dv2-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dv2-cmp {
    border: 0.5px solid #dde3ea;
    border-radius: 10px;
    padding: 18px;
    background: #fff;
}
.dv2-cmp--active { border: 1.5px solid #185FA5; }
.dv2-cmp__tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.tag-ds { background: #EAF3DE; color: #27500A; }
.tag-hc { background: #EEEDFE; color: #3C3489; }
.dv2-cmp__name {
    font-size: 15px;
    font-weight: 700;
    color: #042C53;
    margin-bottom: 12px;
}
.dv2-cmp__list { list-style: none; margin: 0 0 14px; padding: 0; }
.dv2-cmp__list li {
    font-size: 13px;
    color: #555;
    padding: 4px 0;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.5;
}
.dv2-cmp__check { color: #1D9E75; flex-shrink: 0; margin-top: 2px; }
.dv2-cmp__price {
    font-size: 18px;
    font-weight: 700;
    color: #185FA5;
    margin-bottom: 12px;
}
.dv2-cmp__price-lbl { font-size: 12px; color: #888; font-weight: 400; }
.dv2-cmp__btn {
    width: 100%;
    background: #E6F1FB;
    color: #0C447C;
    font-size: 13px;
    font-weight: 700;
    padding: 9px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background .15s;
    text-decoration: none;
    display: block;
    text-align: center;
}
.dv2-cmp__btn:hover { background: #B5D4F4; color: #0C447C; }

/* ═══════════════════════════════════════════════════
   QUY TRÌNH
═══════════════════════════════════════════════════ */
.dv2-steps { display: flex; flex-direction: column; }
.dv2-step {
    display: flex;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 0.5px solid #f0f0f0;
}
.dv2-step:last-child { border-bottom: none; }
.dv2-step__dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #E6F1FB;
    border: 0.5px solid #85B7EB;
    font-size: 13px;
    font-weight: 700;
    color: #185FA5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}
.dv2-step__name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 4px;
}
.dv2-step__desc { font-size: 14px; color: #555; line-height: 1.7; }

/* ═══════════════════════════════════════════════════
   BẢNG GIÁ — CARD
═══════════════════════════════════════════════════ */
.dv2-pricing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}
.dv2-price {
    border: 0.5px solid #dde3ea;
    border-radius: 10px;
    padding: 18px;
    background: #fff;
    position: relative;
}
.dv2-price--hot { border: 1.5px solid #185FA5; }
.dv2-price__hot-lbl {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: #185FA5;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 14px;
    border-radius: 20px;
    white-space: nowrap;
}
.dv2-price__type { font-size: 13px; color: #888; margin-bottom: 6px; }
.dv2-price__amt { font-size: 22px; font-weight: 700; color: #185FA5; margin-bottom: 5px; }
.dv2-price__unit {
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin-left: 2px;
}
.dv2-cmp__price-unit {
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin-left: 2px;
}
.dv2-price__time {
    font-size: 12px;
    color: #888;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.dv2-price__feats { list-style: none; padding: 0; margin: 0; }
.dv2-price__feats li {
    font-size: 13px;
    color: #555;
    padding: 3px 0;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.5;
}
.dv2-price__feats li::before {
    content: "✓";
    color: #1D9E75;
    font-weight: 700;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════
   BẢNG GIÁ — TƯƠNG TÁC (mối quan hệ)
═══════════════════════════════════════════════════ */
.dv2-pqh {
    border: 0.5px solid #e8edf2;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 18px;
}
.dv2-pqh__head {
    background: #f7f9fc;
    padding: 12px 18px;
    border-bottom: 0.5px solid #e8edf2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.dv2-pqh__label { font-size: 14px; font-weight: 700; color: #042C53; }
.dv2-pqh__toggles { display: flex; gap: 6px; }
.dv2-pqh__toggle {
    padding: 5px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    border: 0.5px solid #cdd5df;
    background: #fff;
    color: #888;
    cursor: pointer;
    transition: all .15s;
}
.dv2-pqh__toggle.on-ds { background: #EAF3DE; border-color: #C0DD97; color: #27500A; }
.dv2-pqh__toggle.on-hc { background: #EEEDFE; border-color: #AFA9EC; color: #3C3489; }
.dv2-pqh__result {
    background: #E6F1FB;
    padding: 10px 18px;
    border-bottom: 0.5px solid #B5D4F4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.dv2-pqh__res-lbl { font-size: 13px; color: #185FA5; }
.dv2-pqh__res-val { font-size: 20px; font-weight: 700; color: #185FA5; white-space: nowrap; }
.dv2-pqh-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dv2-pqh table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 380px; }
.dv2-pqh th {
    background: #f7f9fc;
    padding: 9px 16px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 0.5px solid #e8edf2;
}
.dv2-pqh td { padding: 11px 16px; border-bottom: 0.5px solid #f0f0f0; vertical-align: middle; }
.dv2-pqh tr:last-child td { border-bottom: none; }
.dv2-pqh-row { cursor: pointer; transition: background .12s; }
.dv2-pqh-row:hover { background: #f7f9fc; }
.dv2-pqh-row.sel { background: #E6F1FB; }
.dv2-pqh__rel { font-weight: 600; color: #1a1a1a; line-height: 1.4; }
.dv2-pqh__rel-sub { font-size: 12px; font-weight: 400; color: #888; margin-top: 2px; }
.dv2-pqh__price { text-align: right; font-size: 15px; font-weight: 700; color: #185FA5; white-space: nowrap; }

/* ═══════════════════════════════════════════════════
   LOẠI MẪU — 2 CỘT
═══════════════════════════════════════════════════ */
.dv2-samples {
    display: grid;
    grid-template-columns: 1fr 2fr;
    border: 0.5px solid #e8edf2;
    border-radius: 12px;
    overflow: hidden;
}
.dv2-samples__normal { background: #f7f9fc; padding: 18px; }
.dv2-samples__special { background: #fff; padding: 18px; border-left: 0.5px solid #e8edf2; }
.dv2-samples__col-lbl {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 3px;
}
.lbl-blue { color: #185FA5; }
.lbl-amber { color: #BA7517; }
.dv2-samples__col-desc { font-size: 12px; color: #888; margin-bottom: 14px; line-height: 1.5; }
.dv2-samples__grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.dv2-samples__grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }

.dv2-scard {
    border: 0.5px solid #e8edf2;
    border-radius: 8px;
    padding: 13px 9px;
    text-align: center;
    background: #fff;
    transition: border-color .15s;
}
.dv2-scard:hover { border-color: #85B7EB; }
.dv2-scard--sp { background: #fdfaf5; }
.dv2-scard--sp:hover { border-color: #FAC775; }
.dv2-scard__ic {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    margin: 0 auto 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.dv2-scard__img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 8px;
    display: block;
}
.ic-blue { background: #E6F1FB; color: #185FA5; }
.ic-amber { background: #FAEEDA; color: #BA7517; }
.dv2-scard__name { font-size: 13px; font-weight: 600; color: #1a1a1a; margin-bottom: 3px; }
.dv2-scard__note { font-size: 11px; color: #888; line-height: 1.4; }
.dv2-scard__tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    margin-top: 6px;
}
.stag-both { background: #E6F1FB; color: #0C447C; }
.stag-ds { background: #FAEEDA; color: #633806; }
.dv2-samples__note {
    margin-top: 12px;
    padding: 11px 16px;
    background: #f7f9fc;
    border-left: 3px solid #85B7EB;
    border-radius: 0 6px 6px 0;
    font-size: 13px;
    color: #555;
    line-height: 1.7;
}
.dv2-samples__note strong { font-weight: 700; }

/* ═══════════════════════════════════════════════════
   LONG FORM CONTENT
═══════════════════════════════════════════════════ */
.dv2-lf { border: 0.5px solid #e8edf2; border-radius: 12px; overflow: hidden; }
.dv2-lf__toc { background: #f7f9fc; padding: 16px 20px; border-bottom: 0.5px solid #e8edf2; }
.dv2-lf__toc-lbl {
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 9px;
}
.dv2-lf__toc ul { list-style: none; display: flex; flex-direction: column; gap: 5px; }
.dv2-lf__toc ul li a {
    font-size: 13px;
    color: #185FA5;
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}
.dv2-lf__toc ul li a:hover { text-decoration: underline; }
.dv2-lf__preview { padding: 20px; }
.dv2-lf__preview p { font-size: 14px; color: #555; line-height: 1.8; }
.dv2-lf__fade { position: relative; }
.dv2-lf__fade::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 80px;
    background: linear-gradient(transparent, #fff);
    pointer-events: none;
}
.dv2-lf__full { display: none; padding: 0 20px 20px; }
.dv2-lf__full.open { display: block; }
.dv2-lf__full p,
.dv2-lf__full li { font-size: 14px; line-height: 1.8; color: #444; margin-bottom: 10px; }
.dv2-lf__full h2,
.dv2-lf__full h3 { color: #042C53; margin: 20px 0 10px; }
.dv2-lf__toggle { padding: 13px 20px; border-top: 0.5px solid #e8edf2; text-align: center; }
.dv2-lf__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f7f9fc;
    border: 0.5px solid #cdd5df;
    border-radius: 6px;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    cursor: pointer;
    transition: background .15s;
}
.dv2-lf__btn:hover { background: #E6F1FB; }
.dv2-lf__arrow { font-size: 16px; transition: transform .25s; display: inline-block; }
.dv2-lf__arrow.open { transform: rotate(180deg); }

/* ═══════════════════════════════════════════════════
   LOCAL — DROPDOWN + GRID TỈNH
═══════════════════════════════════════════════════ */
.dv2-local-section { background: #f7f9fc; border-radius: 10px; padding: 22px; }
.dv2-local-section p { font-size: 14px; color: #555; margin-bottom: 14px; }
.dv2-local-select { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dv2-local-select select {
    padding: 9px 14px;
    font-size: 14px;
    border: 0.5px solid #cdd5df;
    border-radius: 6px;
    background: #fff;
    min-width: 220px;
    color: #1a1a1a;
}
.dv2-local-select__btn {
    background: #185FA5;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 9px 20px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background .15s;
}
.dv2-local-select__btn:hover { background: #0C447C; }
.dv2-local-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 9px;
    margin-top: 14px;
}
.dv2-local-card {
    border: 0.5px solid #e8edf2;
    border-radius: 8px;
    padding: 11px 8px;
    text-align: center;
    background: #fff;
    text-decoration: none;
    transition: border-color .15s;
    display: block;
}
.dv2-local-card:hover { border-color: #185FA5; }
.dv2-local-card__name { font-size: 12px; font-weight: 700; color: #042C53; }
.dv2-local-card__count { font-size: 11px; color: #888; margin-top: 3px; }

/* ═══════════════════════════════════════════════════
   ĐỊA ĐIỂM — ĐA CHI NHÁNH
═══════════════════════════════════════════════════ */
.dv2-map-addr {
    font-size: 14px;
    color: #555;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.6;
    margin-bottom: 10px;
}
.dv2-map {
    width: 100%;
    height: 240px;
    border-radius: 10px;
    overflow: hidden;
    border: 0.5px solid #e8edf2;
    margin-bottom: 8px;
}
.dv2-map iframe { width: 100%; height: 100%; border: none; }

.dv2-branches { display: flex; flex-direction: column; }
.dv2-branch { border-bottom: 0.5px solid #eee; }
.dv2-branch:last-child { border-bottom: none; }
.dv2-branch summary {
    font-size: 15px;
    font-weight: 700;
    color: #042C53;
    padding: 14px 4px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
.dv2-branch summary::-webkit-details-marker { display: none; }
.dv2-branch summary::after {
    content: '+';
    font-size: 22px;
    color: #185FA5;
    font-weight: 300;
    flex-shrink: 0;
}
.dv2-branch[open] summary::after { content: '−'; }
.dv2-branch__body { padding: 0 4px 16px; }
.dv2-branch__addr {
    font-size: 14px;
    color: #555;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 9px;
    line-height: 1.6;
}
.dv2-branch__phone {
    font-size: 14px;
    color: #185FA5;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
    text-decoration: none;
}
.dv2-branch__phone:hover { text-decoration: underline; }
.dv2-branch__hours { font-size: 13px; color: #888; margin-bottom: 12px; }
.dv2-branch__img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 12px;
}
.dv2-branch__map {
    width: 100%;
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    border: 0.5px solid #e8edf2;
}
.dv2-branch__map iframe { width: 100%; height: 100%; border: none; }

/* ═══════════════════════════════════════════════════
   REVIEWS
═══════════════════════════════════════════════════ */
.dv2-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.dv2-review {
    background: #fff;
    border: 0.5px solid #e8edf2;
    border-radius: 10px;
    padding: 16px;
}
.dv2-review__stars { color: #f59e0b; font-size: 14px; margin-bottom: 8px; }
.dv2-review__text {
    font-size: 13px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 10px;
}
.dv2-review__author { font-size: 13px; font-weight: 700; color: #1a1a1a; }
.dv2-review__loc {
    font-size: 12px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 3px;
    margin-top: 2px;
}

/* ═══════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════ */
.dv2-faq details { border-bottom: 0.5px solid #eee; }
.dv2-faq details:last-child { border-bottom: none; }
.dv2-faq summary {
    font-size: 15px;
    font-weight: 700;
    color: #042C53;
    padding: 14px 4px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.dv2-faq summary::-webkit-details-marker { display: none; }
.dv2-faq summary::after {
    content: '+';
    font-size: 22px;
    color: #185FA5;
    font-weight: 300;
    flex-shrink: 0;
}
.dv2-faq details[open] summary::after { content: '−'; }
.dv2-faq__ans {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
    padding: 0 4px 14px;
}

/* ═══════════════════════════════════════════════════
   DỊCH VỤ LIÊN QUAN
═══════════════════════════════════════════════════ */
.dv2-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.dv2-rel-card {
    border: 0.5px solid #e8edf2;
    border-radius: 10px;
    padding: 16px;
    background: #fff;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: border-color .15s, transform .12s;
}
.dv2-rel-card:hover { border-color: #85B7EB; transform: translateY(-2px); }
.dv2-rel-card__icon { font-size: 24px; margin-bottom: 10px; display: block; }
.dv2-rel-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.dv2-rel-card__title {
    font-size: 14px;
    font-weight: 700;
    color: #042C53;
    margin-bottom: 6px;
    line-height: 1.4;
    flex: 1;
}
.dv2-rel-card__price {
    font-size: 14px;
    font-weight: 700;
    color: #185FA5;
    margin-top: 10px;
}
.dv2-rel-card__price-lbl { font-size: 11px; font-weight: 400; color: #888; }
.dv2-rel-card__arrow {
    font-size: 12px;
    color: #185FA5;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 9px;
}

/* ═══════════════════════════════════════════════════
   BÀI VIẾT LIÊN QUAN
═══════════════════════════════════════════════════ */
.dv2-blog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.dv2-blog-card {
    border: 0.5px solid #e8edf2;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    text-decoration: none;
    display: block;
    transition: border-color .15s;
}
.dv2-blog-card:hover { border-color: #85B7EB; }
.dv2-blog-card__thumb {
    width: 100%;
    height: 120px;
    object-fit: cover;
    background: #f7f9fc;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dv2-blog-card__body { padding: 14px; }
.dv2-blog-card__date { font-size: 12px; color: #888; margin-bottom: 5px; }
.dv2-blog-card__title { font-size: 14px; font-weight: 600; color: #042C53; line-height: 1.5; }

/* ═══════════════════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════════════════ */
.dv2-sidebar { position: sticky; top: 90px; }
.dv2-form-card {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 4px 16px rgba(0,0,0,.07);
    margin-bottom: 14px;
}
.dv2-form-card__title {
    font-size: 16px;
    font-weight: 700;
    color: #042C53;
    margin: 0 0 4px;
}
.dv2-form-card__sub { font-size: 13px; color: #888; margin: 0 0 16px; }
.dv2-contact {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 10px;
    overflow: hidden;
}
.dv2-contact__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 0.5px solid #f0f0f0;
    text-decoration: none;
    transition: background .12s;
}
.dv2-contact__item:last-child { border-bottom: none; }
.dv2-contact__item:hover { background: #f7f9fc; }
.dv2-contact__lbl { font-size: 12px; color: #888; }
.dv2-contact__val { font-size: 14px; font-weight: 700; color: #185FA5; }

/* ═══════════════════════════════════════════════════
   STICKY BAR (mobile)
═══════════════════════════════════════════════════ */
.dv2-sticky {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #185FA5;
    padding: 12px 16px;
    z-index: 9999;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 -2px 10px rgba(0,0,0,.15);
}
.dv2-sticky__text { color: #B5D4F4; font-size: 12px; line-height: 1.4; }
.dv2-sticky__text strong { display: block; color: #fff; font-size: 13px; font-weight: 700; }
.dv2-sticky__btns { display: flex; gap: 8px; flex-shrink: 0; }
.dv2-sticky__call {
    background: #fff;
    color: #185FA5;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    white-space: nowrap;
}
.dv2-sticky__book {
    background: transparent;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 6px;
    border: 0.5px solid rgba(255,255,255,.5);
    text-decoration: none;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════
   MANUAL BADGE
═══════════════════════════════════════════════════ */
.dv2-manual-badge {
    font-size: 11px;
    font-weight: 600;
    background: #EAF3DE;
    color: #27500A;
    padding: 2px 9px;
    border-radius: 20px;
    margin-left: 8px;
    vertical-align: middle;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — 6 BREAKPOINTS
═══════════════════════════════════════════════════ */

/* ── Large ≥1440px ── */
@media (min-width: 1440px) {
    .dv2-hero__inner,
    .dv2-trust__inner,
    .dv2-main { max-width: 1360px; }
    .dv2-hero h1 { font-size: 30px; }
    .dv2-sec__title { font-size: 20px; }
    .dv2-trust__inner { gap: 52px; }
    .dv2-sidebar { top: 100px; }
    .dv2-blog-card__thumb { height: 140px; }
}

/* ── Desktop 1200-1439px ── */
@media (min-width: 1200px) and (max-width: 1439px) {
    .dv2-related { grid-template-columns: repeat(3, 1fr); }
    .dv2-reviews { grid-template-columns: repeat(3, 1fr); }
}

/* ── Desktop nhỏ 901-1199px ── */
@media (min-width: 901px) and (max-width: 1199px) {
    .dv2-hero__inner { gap: 28px; }
    .dv2-hero-form { padding: 18px; }
    .dv2-main { gap: 32px; }
    .dv2-trust__inner { gap: 22px; }
    .dv2-related { grid-template-columns: repeat(2, 1fr); }
    .dv2-reviews { grid-template-columns: repeat(2, 1fr); }
    .dv2-blog { grid-template-columns: repeat(2, 1fr); }
    .dv2-local-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ── Tablet landscape 769-900px ── */
@media (min-width: 769px) and (max-width: 900px) {
    .dv2-hero__inner { grid-template-columns: 1fr; gap: 20px; }
    .dv2-hero-form { display: none; }
    .dv2-hero h1 { font-size: 22px; }
    .dv2-hero { padding: 28px 24px 22px; }
    .dv2-stats { grid-template-columns: repeat(4, 1fr); }
    .dv2-trust__inner { gap: 16px; flex-wrap: wrap; justify-content: flex-start; }
    .dv2-trust__div { display: none; }
    .dv2-main { grid-template-columns: 1fr 280px; gap: 28px; padding-bottom: 28px; }
    .dv2-sidebar { top: 70px; }
    .dv2-compare { grid-template-columns: 1fr 1fr; }
    .dv2-pricing { grid-template-columns: 1fr 1fr; }
    .dv2-samples { grid-template-columns: 1fr 1.5fr; }
    .dv2-samples__grid-3 { grid-template-columns: repeat(2, 1fr); }
    .dv2-reviews { grid-template-columns: 1fr 1fr; }
    .dv2-related { grid-template-columns: 1fr 1fr; }
    .dv2-blog { grid-template-columns: 1fr 1fr; }
    .dv2-local-grid { grid-template-columns: repeat(3, 1fr); }
    .dv2-sticky { display: none; }
}

/* ── Tablet portrait 601-768px ── */
@media (min-width: 601px) and (max-width: 768px) {
    .dv2-hero__inner { grid-template-columns: 1fr; }
    .dv2-hero-form { display: none; }
    .dv2-hero h1 { font-size: 21px; }
    .dv2-hero { padding: 26px 20px 20px; }
    .dv2-stats { grid-template-columns: repeat(2, 1fr); }
    .dv2-trust__inner { gap: 12px; flex-wrap: wrap; }
    .dv2-trust__div { display: none; }
    .dv2-main { grid-template-columns: 1fr; padding: 28px 20px 80px; }
    .dv2-sidebar { position: static; }
    .dv2-compare { grid-template-columns: 1fr 1fr; }
    .dv2-pricing { grid-template-columns: 1fr 1fr; }
    .dv2-samples { grid-template-columns: 1fr; }
    .dv2-samples__special { border-left: none; border-top: 0.5px solid #e8edf2; }
    .dv2-samples__grid-3 { grid-template-columns: repeat(3, 1fr); }
    .dv2-reviews { grid-template-columns: 1fr 1fr; }
    .dv2-related { grid-template-columns: 1fr 1fr; }
    .dv2-blog { grid-template-columns: 1fr 1fr; }
    .dv2-local-grid { grid-template-columns: repeat(3, 1fr); }
    .dv2-sticky { display: flex; }
}

/* ── Mobile lớn 481-600px ── */
@media (min-width: 481px) and (max-width: 600px) {
    .dv2-hero { padding: 22px 16px 18px; }
    .dv2-hero h1 { font-size: 20px; }
    .dv2-hero__inner { grid-template-columns: 1fr; }
    .dv2-hero-form { display: none; }
    .dv2-hero__pill { font-size: 12px; padding: 3px 9px; }
    .dv2-bc, .dv2-topbar, .dv2-trust, .dv2-promo { padding-left: 16px; padding-right: 16px; }
    .dv2-stats { grid-template-columns: repeat(2, 1fr); }
    .dv2-trust__div { display: none; }
    .dv2-main { grid-template-columns: 1fr; padding: 24px 16px 80px; }
    .dv2-sidebar { position: static; }
    .dv2-sec__title { font-size: 17px; }
    .dv2-compare { grid-template-columns: 1fr 1fr; }
    .dv2-pricing { grid-template-columns: 1fr; }
    .dv2-samples { grid-template-columns: 1fr; }
    .dv2-samples__special { border-left: none; border-top: 0.5px solid #e8edf2; }
    .dv2-samples__grid-2 { grid-template-columns: 1fr 1fr; }
    .dv2-samples__grid-3 { grid-template-columns: repeat(2, 1fr); }
    .dv2-reviews { grid-template-columns: 1fr 1fr; }
    .dv2-related { grid-template-columns: 1fr 1fr; }
    .dv2-blog { grid-template-columns: 1fr; }
    .dv2-local-grid { grid-template-columns: repeat(2, 1fr); }
    .dv2-sticky { display: flex; }
    .dv2-topbar { display: none; }
}

/* ── Mobile nhỏ ≤480px ── */
@media (max-width: 480px) {
    .dv2-hero { padding: 18px 14px 16px; }
    .dv2-hero h1 { font-size: 18px; line-height: 1.4; }
    .dv2-hero__sub { font-size: 13px; }
    .dv2-hero__inner { grid-template-columns: 1fr; }
    .dv2-hero-form { display: none; }
    .dv2-hero__pills { gap: 5px; }
    .dv2-hero__pill { font-size: 11px; padding: 3px 8px; }
    .dv2-btn-p, .dv2-btn-s { font-size: 13px; padding: 10px 18px; }
    .dv2-bc, .dv2-promo { padding-left: 14px; padding-right: 14px; }
    .dv2-stats { grid-template-columns: repeat(2, 1fr); }
    .dv2-stat { padding: 12px 8px; }
    .dv2-stat__num { font-size: 19px; }
    .dv2-trust { padding: 10px 14px; }
    .dv2-trust__div { display: none; }
    .dv2-trust__text strong { font-size: 12px; }
    .dv2-trust__text span { font-size: 11px; }
    .dv2-main { grid-template-columns: 1fr; padding: 20px 14px 78px; gap: 26px; }
    .dv2-sidebar { position: static; }
    .dv2-sec__title { font-size: 16px; }
    .dv2-compare { grid-template-columns: 1fr; }
    .dv2-pricing { grid-template-columns: 1fr; }
    .dv2-samples { grid-template-columns: 1fr; }
    .dv2-samples__special { border-left: none; border-top: 0.5px solid #e8edf2; }
    .dv2-samples__grid-2 { grid-template-columns: 1fr 1fr; }
    .dv2-samples__grid-3 { grid-template-columns: repeat(2, 1fr); }
    .dv2-scard__ic, .dv2-scard__img { width: 40px; height: 40px; }
    .dv2-reviews { grid-template-columns: 1fr; }
    .dv2-related { grid-template-columns: 1fr; }
    .dv2-blog { grid-template-columns: 1fr; }
    .dv2-local-grid { grid-template-columns: repeat(2, 1fr); }
    .dv2-sticky { display: flex; padding: 10px 14px; }
    .dv2-sticky__text strong { font-size: 12px; }
    .dv2-sticky__text { font-size: 11px; }
    .dv2-sticky__call, .dv2-sticky__book { font-size: 12px; padding: 7px 12px; }
    .dv2-topbar { display: none; }
    .dv2-pqh__head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .dv2-pqh th, .dv2-pqh td { padding: 9px 12px; }
    .dv2-pqh__rel { font-size: 13px; }
    .dv2-pqh__price { font-size: 13px; }
    .dv2-lf__btn { font-size: 13px; padding: 8px 18px; }
    .dv2-form-card { padding: 18px; }
    .dv2-form-card__title { font-size: 15px; }
    .dv2-contact__item { padding: 12px 14px; }
}

/* ── Print ── */
@media print {
    .dv2-topbar,
    .dv2-sticky,
    .dv2-hero-form,
    .dv2-sidebar,
    .dv2-promo { display: none !important; }
    .dv2-main { grid-template-columns: 1fr; }
    .dv2 a { color: #000; }
    .dv2-hero { background: #f0f0f0; }
}

/* ═══════════════════════════════════════════════════
   THAI NHI — Specific styles
═══════════════════════════════════════════════════ */
.dv2-hero__badge--tn{background:#9FE1CB;color:#04342C}
.dv2-hero--tn{background:#E1F5EE;border-bottom-color:#9FE1CB}
.dv2-hero--tn .dv2-hero__sub{color:#0F6E56}
.dv2-hero--tn .dv2-hero__pill{border-color:#5DCAA5;color:#085041}
.dv2-btn-p--tn{background:#1D9E75 !important}
.dv2-btn-p--tn:hover{background:#0F6E56 !important}
.dv2-btn-s--tn{color:#1D9E75 !important;border-color:#1D9E75 !important}
.dv2-btn-s--tn:hover{background:#E1F5EE !important}
.dv2--thai-nhi .dv2-stat__num{color:#1D9E75}
.dv2--thai-nhi .dv2-local-select__btn{background:#1D9E75}
.dv2--thai-nhi .dv2-sticky{background:#0F6E56}
.dv2--thai-nhi .dv2-form-btn{background:#1D9E75}
.dv2--thai-nhi .dv2-contact__val{color:#1D9E75}

/* Compare Thai Nhi */
.dv2-cmp--tn{border-color:#1D9E75}
.tag-tn{background:#E1F5EE;color:#085041}
.dv2-cmp__btn--tn{background:#E1F5EE;color:#085041}
.dv2-cmp__btn--tn:hover{background:#9FE1CB}

/* Safety banner */
.dv2-tn-safety{border-left:4px solid #1D9E75;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;background:#E1F5EE;padding:14px 16px;margin-bottom:24px;display:flex;gap:12px;align-items:flex-start}
.dv2-tn-safety__title{font-size:14px;font-weight:700;color:#04342C;margin-bottom:4px}
.dv2-tn-safety__text{font-size:13px;color:#0F6E56;line-height:1.6}

/* 5 trường hợp không thể thực hiện */
.dv2-tn-cannot{border:0.5px solid #F09595;border-radius:var(--border-radius-lg);overflow:hidden}
.dv2-tn-cannot__head{background:#FCEBEB;padding:14px 18px;display:flex;align-items:flex-start;gap:10px;border-bottom:0.5px solid #F09595}
.dv2-tn-cannot__htitle{font-size:14px;font-weight:700;color:#791F1F}
.dv2-tn-cannot__hsub{font-size:12px;color:#A32D2D;margin-top:2px}
.dv2-tn-cannot__list{padding:8px 18px}
.dv2-tn-cannot__item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:0.5px solid #f0f0f0}
.dv2-tn-cannot__item:last-child{border-bottom:none}
.dv2-tn-cannot__num{width:22px;height:22px;border-radius:50%;background:#FCEBEB;color:#A32D2D;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.dv2-tn-cannot__text{font-size:13px;color:var(--color-text-primary);line-height:1.5;font-weight:500}
.dv2-tn-cannot__sub{font-size:12px;color:var(--color-text-secondary);margin-top:3px;line-height:1.5}

/* Form lâm sàng */
.dv2-tn-form{border:0.5px solid #5DCAA5;border-radius:var(--border-radius-lg);overflow:hidden}
.dv2-tn-form__head{background:#E1F5EE;padding:14px 18px;border-bottom:0.5px solid #9FE1CB}
.dv2-tn-form__title{font-size:14px;font-weight:700;color:#04342C}
.dv2-tn-form__sub{font-size:12px;color:#0F6E56;margin-top:2px}
.dv2-tn-form__body{padding:16px 18px}

/* Loại mẫu Thai Nhi */
.dv2-tn-mau-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dv2-tn-mau-card{border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:16px;transition:transform .12s}
.dv2-tn-mau-card:hover{transform:translateY(-2px)}
.dv2-tn-mau-card__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dv2-tn-mau-card__icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dv2-tn-mau-card__name{font-size:13px;font-weight:700;color:var(--color-text-primary)}
.dv2-tn-mau-card__type{font-size:11px;color:var(--color-text-secondary);margin-top:2px}
.dv2-tn-mau-card__desc{font-size:12px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:10px}
.dv2-tn-mau-card__tags{display:flex;flex-wrap:wrap;gap:5px}
.dv2-tn-tag-ok{background:#E1F5EE;color:#085041;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px}
.dv2-tn-tag-warn{background:#FAEEDA;color:#633806;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px}
.dv2-tn-tag-bad{background:#FCEBEB;color:#791F1F;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px}

/* Hoàn tiền */
.dv2-tn-hoan{border:0.5px solid #5DCAA5;border-radius:var(--border-radius-lg);overflow:hidden}
.dv2-tn-hoan__head{background:#E1F5EE;padding:12px 18px;border-bottom:0.5px solid #9FE1CB;display:flex;align-items:center;gap:8px}
.dv2-tn-hoan__htitle{font-size:13px;font-weight:700;color:#04342C}
.dv2-tn-hoan__grid{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 18px;gap:12px}
.dv2-tn-hoan__item{text-align:center;padding:12px 10px;background:var(--color-background-secondary);border-radius:var(--border-radius-md)}
.dv2-tn-hoan__item--warn{background:#FCEBEB}
.dv2-tn-hoan__pct{font-size:24px;font-weight:700;color:#1D9E75}
.dv2-tn-hoan__pct--warn{color:#A32D2D}
.dv2-tn-hoan__lbl{font-size:11px;color:var(--color-text-secondary);margin-top:4px;line-height:1.5}
.dv2-tn-hoan__item--warn .dv2-tn-hoan__lbl{color:#791F1F}

/* Responsive Thai Nhi */
@media (max-width:600px){
    .dv2-tn-mau-grid{grid-template-columns:1fr}
    .dv2-tn-hoan__grid{grid-template-columns:1fr}
    .dv2-tn-form-sec{display:none}
    .dv2-tn-safety{flex-direction:column}
}
@media (min-width:601px) and (max-width:768px){
    .dv2-tn-mau-grid{grid-template-columns:1fr 1fr}
    .dv2-tn-hoan__grid{grid-template-columns:repeat(3,1fr)}
}

/* Week badge Thai Nhi */
.dv2-tn-week-badge{background:#fff;border:0.5px solid #5DCAA5;border-radius:var(--border-radius-lg);padding:14px;text-align:center;margin-bottom:16px}
.dv2-tn-week-num{font-size:28px;font-weight:700;color:#1D9E75}
.dv2-tn-week-lbl{font-size:12px;color:#0F6E56;margin-top:3px;font-weight:500}
.dv2-tn-week-sub{font-size:11px;color:#888;margin-top:6px;line-height:1.5}

/* ═══════════════════════════════════════════════════
   FORM CONTENT SECTION (Phương án 1)
═══════════════════════════════════════════════════ */

/* Form section trong content */
.dv2-form-content-wrap {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.dv2-form-content-wrap__inner {
    padding: 24px 28px;
}
.dv2-form-content-wrap__text {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 0.5px solid #e8edf2;
}
.dv2-form-content-wrap__icon {
    width: 42px;
    height: 42px;
    background: #E6F1FB;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dv2-form-content-wrap__title {
    font-size: 15px;
    font-weight: 700;
    color: #042C53;
    margin-bottom: 3px;
}
.dv2-form-content-wrap__sub {
    font-size: 13px;
    color: #888;
}
.dv2-form-content-wrap__note {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* Thai Nhi: form content màu xanh lá */
.dv2--thai-nhi .dv2-form-content-wrap {
    border-color: #9FE1CB;
}
.dv2--thai-nhi .dv2-form-content-wrap__icon {
    background: #E1F5EE;
}
.dv2--thai-nhi .dv2-form-content-wrap__icon svg {
    stroke: #1D9E75;
}

/* Sidebar mini CTA (khi có cf7_content_id) */
.dv2-sidebar-cta {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 16px rgba(0,0,0,.07);
    margin-bottom: 14px;
    text-align: center;
}
.dv2-sidebar-cta__title {
    font-size: 15px;
    font-weight: 700;
    color: #042C53;
    margin-bottom: 5px;
}
.dv2-sidebar-cta__sub {
    font-size: 13px;
    color: #888;
    margin-bottom: 16px;
    line-height: 1.5;
}
.dv2-sidebar-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #185FA5;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 20px;
    border-radius: 6px;
    text-decoration: none !important;
    margin-bottom: 10px;
    transition: background .15s;
}
.dv2-sidebar-cta__btn:hover { background: #0C447C; }
.dv2-sidebar-cta__call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #f7f9fc;
    color: #185FA5 !important;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 20px;
    border-radius: 6px;
    border: 0.5px solid #B5D4F4;
    text-decoration: none !important;
    transition: background .15s;
}
.dv2-sidebar-cta__call:hover { background: #E6F1FB; }

/* Thai Nhi: sidebar CTA màu xanh lá */
.dv2--thai-nhi .dv2-sidebar-cta__btn {
    background: #1D9E75;
}
.dv2--thai-nhi .dv2-sidebar-cta__btn:hover {
    background: #0F6E56;
}
.dv2--thai-nhi .dv2-sidebar-cta__call {
    color: #1D9E75 !important;
    border-color: #9FE1CB;
}
.dv2--thai-nhi .dv2-sidebar-cta__call:hover {
    background: #E1F5EE;
}

/* Responsive form content */
@media (max-width: 768px) {
    .dv2-form-content-wrap__inner { padding: 18px 16px; }
    .dv2-form-content-sec { display: block; }
}
@media (max-width: 480px) {
    .dv2-form-content-wrap__inner { padding: 14px; }
    .dv2-form-content-wrap__text { gap: 10px; }
    .dv2-form-content-wrap__icon { width: 36px; height: 36px; }
    .dv2-form-content-wrap__title { font-size: 14px; }
}

/* ═══════════════════════════════════════════════════
   HERO CTA CARD (thay form khi có cf7_content_id)
═══════════════════════════════════════════════════ */
.dv2-hero-cta {
    background: #fff;
    border: 0.5px solid #dde3ea;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    gap: 0;
}
.dv2-hero-cta__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #E6F1FB;
    color: #0C447C;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 11px;
    border-radius: 20px;
    margin-bottom: 12px;
    width: fit-content;
}
.dv2--thai-nhi .dv2-hero-cta__badge {
    background: #E1F5EE;
    color: #085041;
}
.dv2-hero-cta__title {
    font-size: 16px;
    font-weight: 700;
    color: #042C53;
    margin: 0 0 4px;
}
.dv2-hero-cta__sub {
    font-size: 13px;
    color: #888;
    margin: 0 0 16px;
    line-height: 1.5;
}
.dv2-hero-cta__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-top: 0.5px solid #e8edf2;
    border-bottom: 0.5px solid #e8edf2;
}
.dv2-hero-cta__stat {
    text-align: center;
    font-size: 11px;
    color: #888;
    line-height: 1.4;
}
.dv2-hero-cta__stat span {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #185FA5;
    margin-bottom: 2px;
}
.dv2--thai-nhi .dv2-hero-cta__stat span {
    color: #1D9E75;
}
.dv2-hero-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #185FA5;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 20px;
    border-radius: 6px;
    text-decoration: none !important;
    margin-bottom: 8px;
    transition: background .15s;
}
.dv2-hero-cta__btn:hover { background: #0C447C; }
.dv2--thai-nhi .dv2-hero-cta__btn { background: #1D9E75; }
.dv2--thai-nhi .dv2-hero-cta__btn:hover { background: #0F6E56; }

.dv2-hero-cta__call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #f7f9fc;
    color: #185FA5 !important;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 20px;
    border-radius: 6px;
    border: 0.5px solid #B5D4F4;
    text-decoration: none !important;
    margin-bottom: 10px;
    transition: background .15s;
}
.dv2-hero-cta__call:hover { background: #E6F1FB; }
.dv2--thai-nhi .dv2-hero-cta__call {
    color: #1D9E75 !important;
    border-color: #9FE1CB;
}
.dv2--thai-nhi .dv2-hero-cta__call:hover { background: #E1F5EE; }

.dv2-hero-cta__note {
    font-size: 11px;
    color: #aaa;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
}

/* ═══════════════════════════════════════════════════
   DỊCH VỤ LIÊN QUAN — card variants
═══════════════════════════════════════════════════ */

/* Thai Nhi card */
.dv2-rel-card--tn {
    border-color: #9FE1CB;
}
.dv2-rel-card--tn:hover {
    border-color: #1D9E75;
    box-shadow: 0 4px 16px rgba(29,158,117,.1);
}
.dv2-rel-card--tn .dv2-rel-card__price { color: #1D9E75; }
.dv2-rel-card--tn .dv2-rel-card__arrow { background: #E1F5EE; }
.dv2-rel-card--tn .dv2-rel-card__arrow svg { stroke: #1D9E75; }
.dv2-rel-card--tn:hover .dv2-rel-card__arrow { background: #1D9E75; }
.dv2-rel-card--tn:hover .dv2-rel-card__arrow svg { stroke: #fff; }

/* Hành chính card */
.dv2-rel-card--hc { border-color: #AFA9EC; }
.dv2-rel-card--hc:hover { border-color: #534AB7; }
.dv2-rel-card--hc .dv2-rel-card__price { color: #534AB7; }
.dv2-rel-card--hc .dv2-rel-card__arrow { background: #EEEDFE; }
.dv2-rel-card--hc .dv2-rel-card__arrow svg { stroke: #534AB7; }
.dv2-rel-card--hc:hover .dv2-rel-card__arrow { background: #534AB7; }
.dv2-rel-card--hc:hover .dv2-rel-card__arrow svg { stroke: #fff; }

/* ═══════════════════════════════════════════════════
   ARCH-CARD — dùng chung cho dịch vụ liên quan
   (nhất quán với archive-dich-vu.php)
═══════════════════════════════════════════════════ */
.arch-card {
    background: #fff;
    border: 0.5px solid #e8edf2;
    border-radius: 12px;
    padding: 18px;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    transition: border-color .15s, box-shadow .15s, transform .12s;
}
.arch-card:hover {
    box-shadow: 0 4px 20px rgba(24,95,165,.1);
    border-color: #85B7EB;
    transform: translateY(-2px);
}

/* Icon wrap */
.arch-card__icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    flex-shrink: 0;
}
.icon-bg-blue   { background: #E6F1FB; }
.icon-bg-purple { background: #EEEDFE; }
.icon-bg-teal   { background: #E1F5EE; }
.icon-bg-gray   { background: #f7f9fc; }

/* Badges */
.arch-card__badges {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.arch-card__badge {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
}
.badge-ht    { background: #E6F1FB; color: #0C447C; }
.badge-hc    { background: #EEEDFE; color: #3C3489; }
.badge-tn    { background: #E1F5EE; color: #085041; }
.badge-ds    { background: #EAF3DE; color: #27500A; }
.badge-local { background: #FAEEDA; color: #633806; }

/* Content */
.arch-card__title {
    font-size: 14px;
    font-weight: 700;
    color: #042C53;
    margin: 0 0 7px;
    line-height: 1.4;
}
.arch-card__desc {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    flex: 1;
    margin: 0 0 14px;
}

/* Footer */
.arch-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.arch-card__price {
    font-size: 13px;
    font-weight: 700;
    color: #185FA5;
}
.arch-card__price-lbl {
    font-size: 11px;
    color: #888;
    font-weight: 400;
    display: block;
    margin-bottom: 1px;
}
.arch-card__arrow {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #E6F1FB;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .15s;
}
.arch-card:hover .arch-card__arrow { background: #185FA5; }
.arch-card:hover .arch-card__arrow svg { stroke: #fff !important; }

/* Thai Nhi variant */
.arch-card--tn { border-color: #9FE1CB; }
.arch-card--tn:hover { border-color: #1D9E75; box-shadow: 0 4px 20px rgba(29,158,117,.1); }
.arch-card--tn .arch-card__price { color: #1D9E75; }
.arch-card--tn .arch-card__arrow { background: #E1F5EE; }
.arch-card--tn:hover .arch-card__arrow { background: #1D9E75; }

/* Hành chính variant */
.arch-card--hc { border-color: #AFA9EC; }
.arch-card--hc:hover { border-color: #534AB7; }
.arch-card--hc .arch-card__price { color: #534AB7; }
.arch-card--hc .arch-card__arrow { background: #EEEDFE; }
.arch-card--hc:hover .arch-card__arrow { background: #534AB7; }

/* Responsive trong dv2-related */
@media (max-width: 768px) {
    .dv2-related { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .dv2-related { grid-template-columns: 1fr; }
    .arch-card { padding: 14px; }
}