    /* ===== RELATED BLOGS ===== */
    .pd-blog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .pd-blog-all { display: inline-flex; align-items: center; gap: .35rem; color: var(--c-primary); font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
    .pd-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .pd-blog-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--c-border); border-radius: 16px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
    .pd-blog-card:hover { transform: translateY(-3px); border-color: rgba(37, 99, 235, .28); box-shadow: 0 14px 32px rgba(15, 23, 42, .09); }
    .pd-blog-image { display: block; position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #eef4ff; }
    .pd-blog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
    .pd-blog-card:hover .pd-blog-image img { transform: scale(1.035); }
    .pd-blog-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #2563eb; background: linear-gradient(135deg, #eff6ff, #fef3c7); font-size: 2.2rem; }
    .pd-blog-content { display: flex; min-height: 205px; padding: 1rem; flex-direction: column; }
    .pd-blog-meta { display: flex; flex-wrap: wrap; gap: .4rem .75rem; margin-bottom: .6rem; color: #64748b; font-size: .72rem; }
    .pd-blog-meta span { display: inline-flex; align-items: center; gap: .3rem; }
    .pd-blog-content h3 { display: -webkit-box; overflow: hidden; margin: 0 0 .55rem; color: #0f172a; font-size: 1rem; font-weight: 750; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .pd-blog-content h3 a { color: inherit; text-decoration: none; }
    .pd-blog-content p { display: -webkit-box; overflow: hidden; margin: 0 0 .8rem; color: #64748b; font-size: .82rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .pd-blog-read { display: inline-flex; align-items: center; gap: .3rem; margin-top: auto; color: #2563eb; font-size: .8rem; font-weight: 700; text-decoration: none; }
    @media (max-width: 991.98px) { .pd-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 575.98px) { .pd-blog-head { align-items: flex-start; } .pd-blog-head p { display: none; } .pd-blog-grid { grid-template-columns: 1fr; } .pd-blog-content { min-height: 0; } }

    /* ===== BREADCRUMB ===== */
    .pd-breadcrumb { background: #fff; border-bottom: 1px solid var(--c-border); padding: .85rem 0; }
    .pd-breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; font-size: 13px; color: var(--c-muted); }
    .pd-breadcrumb li:not(:last-child)::after { content: '/'; margin-left: .5rem; color: var(--c-border); }
    .pd-breadcrumb a { color: var(--c-text); font-weight: 500; }
    .pd-breadcrumb a:hover { color: var(--c-primary); }
    .pd-breadcrumb [aria-current] { color: var(--c-primary); font-weight: 600; }

    /* ===== HERO =====
       background/color ở đây bị khối "NEXAESIM 2026 DESIGN SYSTEM SYNC" phía dưới ghi đè
       (cùng selector, khai báo sau nên thắng) — giữ nguyên các thuộc tính layout còn lại. */
    .pd-hero {
        position: relative;
        padding: 3rem 0 2.5rem;
        overflow: hidden;
    }
    .pd-hero-decor {
        position: absolute;
        inset: 0;
        pointer-events: none;
    }
    .pd-hero-flag-wrap { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1rem; }
    .pd-hero-flag {
        width: 120px;
        height: 80px;
        border-radius: 10px;
        object-fit: cover;
        box-shadow: 0 10px 30px rgba(0,0,0,.35);
        border: 3px solid rgba(255,255,255,.2);
    }
    .pd-hero-product-image { object-position: center; }
    .pd-hero-region-icon {
        display: grid;
        place-items: center;
        flex: 0 0 120px;
        width: 120px;
        height: 80px;
        border: 3px solid rgba(255,255,255,.72);
        border-radius: 12px;
        color: #fff;
        background: linear-gradient(135deg, #4f46e5, #2563eb 56%, #0891b2);
        box-shadow: 0 16px 36px rgba(15,23,42,.18);
    }
    .pd-hero-region-icon i { font-size: 2.35rem; filter: drop-shadow(0 3px 8px rgba(15,23,42,.2)); }
    .pd-hero-meta { flex: 1; min-width: 0; }
    .pd-eyebrow {
        display: inline-block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        background: rgba(255,255,255,.15);
        color: #fff;
        padding: .25rem .65rem;
        border-radius: 6px;
        margin-bottom: .5rem;
    }
    .pd-hero-title {
        font-size: clamp(1.75rem, 3vw, 2.5rem);
        font-weight: 800;
        margin: 0 0 .5rem;
        line-height: 1.1;
        color: #fff;
    }
    .pd-hero-rating { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: 14px; color: rgba(255,255,255,.85); }
    .pd-hero-rating .stars { color: #fbbf24; }
    .pd-hero-rating .stars i { font-size: 13px; }
    .pd-hero-rating strong { color: #fff; }
    .pd-hero-rating .text-muted { color: rgba(255,255,255,.7) !important; }
    .pd-hero-rating .dot { color: rgba(255,255,255,.4); }
    .pd-hero-lead { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.92); max-width: 640px; margin-bottom: 1.25rem; }

    .pd-hero-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
    .pd-pill {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .5rem .85rem;
        background: rgba(255,255,255,.12);
        backdrop-filter: blur(8px);
        border: 1px solid rgba(255,255,255,.2);
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        border-radius: 999px;
    }
    .pd-pill i { font-size: 14px; }
    .pd-pill-primary { background: rgba(255,255,255,.95); color: var(--c-primary); border-color: transparent; }
    .pd-pill-success { background: rgba(16,185,129,.95); color: #fff; border-color: transparent; }
    .pd-pill-warn { background: rgba(245,158,11,.95); color: #fff; border-color: transparent; }

    /* Price Card (in hero) */
    .pd-price-card {
        background: #fff;
        color: var(--c-ink);
        border-radius: 16px;
        padding: 1.5rem;
        box-shadow: 0 20px 50px -10px rgba(0,0,0,.35);
    }
    .pd-price-eyebrow { font-size: 12px; font-weight: 700; color: var(--c-muted); text-transform: uppercase; letter-spacing: .08em; }
    .pd-price-value {
        font-size: clamp(1.75rem, 2.6vw, 2rem);
        font-weight: 750;
        color: var(--c-primary);
        line-height: 1;
        margin: .35rem 0 .25rem;
    }
    .pd-price-value span { font-size: 1rem; margin-left: .1rem; }
    .pd-price-range { font-size: 13px; color: var(--c-muted); margin-bottom: 1rem; }
    .pd-price-features { list-style: none; padding: 0; margin: 0 0 1.25rem; }
    .pd-price-features li { display: flex; align-items: center; gap: .5rem; font-size: 13px; padding: .35rem 0; color: var(--c-text); }
    .pd-price-features li i { font-size: 1rem; }
    .pd-btn-lg { padding: .8rem 1rem; font-weight: 600; border-radius: 10px; }

    /* ===== MAIN ===== */
    .pd-main { padding-top: 2rem; }
    .pd-card {
        background: #fff;
        border: 1px solid var(--c-border);
        border-radius: 14px;
        box-shadow: 0 1px 2px rgba(0,0,0,.04);
        overflow: hidden;
    }
    .pd-card-head {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--c-border);
        background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    }
    .pd-card-head h2, .pd-card-head h6 { font-weight: 700; color: var(--c-ink); }
    .pd-card-body { padding: 1.25rem; }

    /* ===== FILTER WIZARD ===== */
    .pd-filter-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
    .pd-step + .pd-step { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px dashed var(--c-border); }
    .pd-step-header { display: flex; align-items: center; gap: .65rem; margin-bottom: .85rem; font-size: 14px; color: var(--c-ink); }
    .pd-step-num {
        width: 26px; height: 26px;
        border-radius: 50%;
        background: var(--c-primary);
        color: #fff;
        font-weight: 700;
        font-size: 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .pd-step-num-2 { background: var(--c-success); }

    .pd-coverage-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: .65rem;
    }
    .pd-coverage-option {
        display: flex;
        align-items: center;
        gap: .75rem;
        min-height: 72px;
        padding: .75rem;
        border: 2px solid var(--c-border);
        border-radius: 12px;
        background: #fff;
        color: var(--c-ink);
        text-align: left;
        cursor: pointer;
        transition: border-color .15s, box-shadow .15s, transform .15s;
    }
    .pd-coverage-option:hover { border-color: var(--c-primary); transform: translateY(-1px); box-shadow: 0 8px 20px -12px rgba(79,70,229,.45); }
    .pd-coverage-option.active { border-color: var(--c-primary); background: #eef2ff; box-shadow: 0 0 0 3px rgba(79,70,229,.08); }
    .pd-coverage-option > span:last-child { min-width: 0; display: flex; flex-direction: column; }
    .pd-coverage-option strong { font-size: 13px; line-height: 1.3; }
    .pd-coverage-option small { margin-top: .2rem; color: var(--c-muted); font-size: 11px; }
    .pd-coverage-icon { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #e0e7ff; color: var(--c-primary); }
    .pd-coverage-option.active .pd-coverage-icon { background: var(--c-primary); color: #fff; }

    .pd-days-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
        gap: .5rem;
    }
    .pd-day-pill {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        padding: .65rem .5rem;
        border: 2px solid var(--c-border);
        background: #fff;
        border-radius: 10px;
        cursor: pointer;
        transition: all .15s;
        font-family: inherit;
    }
    .pd-day-pill strong { font-size: 1.1rem; color: var(--c-ink); line-height: 1.1; }
    .pd-day-pill small { font-size: 11px; color: var(--c-muted); }
    .pd-day-pill:hover { border-color: var(--c-primary); transform: translateY(-2px); box-shadow: 0 6px 16px -8px rgba(79,70,229,.4); }
    .pd-day-pill.active { background: var(--c-primary); border-color: var(--c-primary); }
    .pd-day-pill.active strong, .pd-day-pill.active small { color: #fff; }
    .pd-day-pill:disabled { opacity: .38; cursor: not-allowed; transform: none; box-shadow: none; }
    .pd-day-all i { font-size: 1.1rem; color: var(--c-muted); }

    .pd-data-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: .65rem;
    }
    .pd-data-option {
        position: relative;
        padding: 1rem;
        border: 2px solid var(--c-border);
        border-radius: 10px;
        background: #fff;
        cursor: pointer;
        text-align: center;
        transition: all .15s;
    }
    .pd-data-option:hover { border-color: var(--c-primary); transform: translateY(-2px); }
    .pd-data-option.selected { border-color: var(--c-success); background: #ecfdf5; }
    .pd-data-option .data-amount { font-size: 1.15rem; font-weight: 700; color: var(--c-ink); }
    .pd-data-option .data-label { font-size: 12px; color: var(--c-muted); margin-top: .15rem; }
    .pd-data-option .plan-count {
        position: absolute; top: -8px; right: -8px;
        background: var(--c-primary); color: #fff;
        font-size: 11px; font-weight: 700;
        padding: 2px 8px; border-radius: 999px;
    }
    .pd-data-option .unlimited-badge {
        display: inline-block; margin-top: .35rem;
        background: linear-gradient(135deg, #f59e0b, #d97706);
        color: #fff; font-size: 10px; font-weight: 700;
        padding: 2px 8px; border-radius: 4px;
        letter-spacing: .05em;
    }

    .pd-filter-msg { border-radius: 10px; border: 0; background: #eef2ff; color: #4338ca; font-size: 14px; }

    /* ===== PLAN CARD ===== */
    .pd-plan {
        background: #fff;
        border: 2px solid var(--c-border);
        border-radius: 14px;
        padding: 1.25rem 1.1rem 1.1rem;
        position: relative;
        cursor: pointer;
        transition: all .2s;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .pd-plan:hover {
        border-color: var(--c-primary);
        transform: translateY(-3px);
        box-shadow: 0 14px 32px -12px rgba(79,70,229,.25);
    }
    .pd-plan.selected-plan {
        border-color: var(--c-primary);
        box-shadow: 0 0 0 3px rgba(79,70,229,.15);
    }
    .pd-plan--popular { border-color: var(--c-primary); }
    .pd-plan--unlimited { border-color: var(--c-accent); }

    .pd-plan-badge {
        position: absolute;
        top: -10px; left: 50%;
        transform: translateX(-50%);
        font-size: 11px;
        font-weight: 700;
        padding: 4px 12px;
        border-radius: 999px;
        letter-spacing: .04em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .pd-plan-badge i { margin-right: 3px; }
    .pd-plan-badge-popular { background: var(--c-primary); color: #fff; }
    .pd-plan-badge-unlimited { background: linear-gradient(135deg, var(--c-accent), var(--c-accent-dark)); color: #fff; }

    .pd-plan-top {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: .5rem 0 1rem;
        border-bottom: 1px dashed var(--c-border);
        margin-bottom: 1rem;
    }
    .pd-plan-days { text-align: center; flex-shrink: 0; }
    .pd-plan-days .num { display: block; font-size: 2rem; font-weight: 800; color: var(--c-ink); line-height: 1; }
    .pd-plan-days .unit { display: block; font-size: 11px; color: var(--c-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
    .pd-plan-data { flex: 1; display: flex; align-items: center; gap: .65rem; }
    .pd-plan-icon { font-size: 1.5rem; color: var(--c-primary); }
    .pd-plan-data strong { display: block; font-size: 1rem; color: var(--c-ink); line-height: 1.2; }
    .pd-plan-data small { display: block; color: var(--c-muted); font-size: 12px; margin-top: 2px; }

    .pd-plan-features { display: flex; flex-direction: column; gap: .35rem; font-size: 13px; color: var(--c-text); margin-bottom: .85rem; }
    .pd-plan-features span { display: inline-flex; align-items: center; gap: .35rem; }
    .pd-plan-features i { color: var(--c-success); font-size: 14px; }

    .pd-plan-price { text-align: center; padding: .5rem 0 .75rem; }
    .pd-plan-price-main { font-size: 1.45rem; font-weight: 750; color: var(--c-primary); line-height: 1.1; white-space: nowrap; }
    .pd-plan-price-main span { font-size: .9rem; margin-left: .08rem; }
    .pd-plan-price-old { font-size: 13px; margin-top: .25rem; color: var(--c-muted); }
    .pd-plan-discount { background: #fee2e2; color: var(--c-danger); font-weight: 700; padding: 1px 6px; border-radius: 4px; font-size: 11px; margin-left: .35rem; }

    /* Mobile: 2 cards/row (col-6) trên màn ~375px → cột chỉ ~165px → cần thu gọn font/padding
       để giá không phá vỡ layout */
    @media (max-width: 575.98px) {
        .pd-plan {
            padding: .85rem .65rem .75rem;
            border-width: 1.5px;
        }
        .pd-plan-badge {
            font-size: 9.5px;
            padding: 3px 8px;
            top: -8px;
        }
        .pd-plan-top {
            gap: .55rem;
            padding: .35rem 0 .65rem;
            margin-bottom: .65rem;
        }
        .pd-plan-days .num { font-size: 1.35rem; }
        .pd-plan-days .unit { font-size: 9.5px; }
        .pd-plan-icon { font-size: 1.1rem; }
        .pd-plan-data strong { font-size: 13px; }
        .pd-plan-data small { font-size: 10.5px; }
        .pd-plan-features {
            font-size: 11.5px;
            gap: .2rem;
            margin-bottom: .5rem;
        }
        .pd-plan-features i { font-size: 12px; }
        .pd-plan-price { padding: .25rem 0 .5rem; }
        /* Giá: dùng clamp để auto-shrink theo width có sẵn của cột */
        .pd-plan-price-main {
            font-size: clamp(.9rem, 3.7vw, 1.15rem);
        }
        .pd-plan-price-main span { font-size: .72rem; }
        .pd-plan-price-old { font-size: 10.5px; }
        .pd-plan-discount { font-size: 9.5px; padding: 1px 4px; margin-left: .2rem; }
        .pd-plan-detail-link { font-size: 11px; margin-bottom: .5rem; }
    }

    /* Tablet (576-767px): 2 cards/row vẫn ~50% nhưng rộng hơn — chỉ cần điều chỉnh nhẹ */
    @media (min-width: 576px) and (max-width: 767.98px) {
        .pd-plan-price-main { font-size: 1.3rem; }
        .pd-plan-days .num { font-size: 1.65rem; }
    }

    .pd-plan-detail-link {
        background: transparent;
        border: 0;
        color: var(--c-primary);
        font-size: 13px;
        font-weight: 500;
        padding: .25rem .5rem;
        margin: 0 auto .75rem;
        display: inline-flex;
        align-items: center;
        gap: .25rem;
        cursor: pointer;
    }
    .pd-plan-detail-link:hover { text-decoration: underline; }

    .pd-plan-actions { display: grid; gap: .5rem; margin-top: auto; }

    /* ===== HOW IT WORKS ===== */
    .pd-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
    .pd-step-card { text-align: center; padding: 1rem .5rem; }
    .pd-step-icon {
        width: 64px; height: 64px;
        margin: 0 auto .65rem;
        background: var(--c-primary-light);
        color: var(--c-primary);
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.75rem;
    }
    .pd-step-card h4 { font-size: 1rem; font-weight: 700; color: var(--c-ink); margin: 0 0 .25rem; }
    .pd-step-card p { font-size: 13px; color: var(--c-muted); margin: 0; }

    /* ===== CARRIER ===== */
    .pd-carrier {
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: 1rem;
        border: 1px solid var(--c-border);
        border-radius: 10px;
        background: #fff;
        transition: all .15s;
    }
    .pd-carrier:hover { border-color: var(--c-primary); transform: translateX(2px); }
    .pd-carrier-icon {
        width: 44px; height: 44px;
        background: var(--c-primary-light);
        color: var(--c-primary);
        border-radius: 10px;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 1.25rem;
        flex-shrink: 0;
    }
    .pd-carrier-info { flex: 1; min-width: 0; }
    .pd-carrier-info strong { display: block; color: var(--c-ink); font-size: 14px; }
    .pd-carrier-tech { display: flex; gap: .35rem; margin-top: .35rem; flex-wrap: wrap; }
    .pd-carrier-tech .badge { font-size: 11px; font-weight: 700; padding: 3px 8px; }
    #skyPlanDetailsModal .pd-coverage-country {
        background-color: #f8fafc !important;
        color: #172033 !important;
        border-color: #dbe3ee !important;
        font-weight: 600;
    }
    #skyPlanDetailsModal .pd-coverage-country:hover {
        background-color: #eef4ff !important;
        color: #1746a2 !important;
        border-color: #b9cdf7 !important;
    }
    .tech-5g { background: linear-gradient(135deg, #10b981, #059669); color: #fff; }
    .tech-4g { background: var(--c-primary); color: #fff; }
    .tech-3g { background: #94a3b8; color: #fff; }

    /* ===== FAQ ===== */
    .pd-faq .accordion-item { border: 1px solid var(--c-border) !important; border-radius: 10px !important; overflow: hidden; margin-bottom: .5rem; background: #fff; }
    .pd-faq .accordion-button { font-weight: 600; color: var(--c-ink); padding: .9rem 1rem; }
    .pd-faq .accordion-button:not(.collapsed) { background: var(--c-primary-light); color: var(--c-primary); box-shadow: none; }
    .pd-faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(79,70,229,.15); }
    .pd-faq .accordion-body { font-size: 14px; color: var(--c-text); line-height: 1.7; padding: 0 1rem 1rem; }
    .pd-faq .accordion-body a { color: var(--c-primary); font-weight: 500; }

    /* ===== STICKY ORDER (right column) ===== */
    .pd-sticky { position: sticky; top: calc(var(--header-h) + var(--topbar-h) + 16px); }
    @media (max-width: 991.98px) { .pd-sticky { position: static; } }

    .pd-order-card {
        background: #fff;
        border: 1px solid var(--c-border);
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 8px 24px -8px rgba(0,0,0,.08);
        margin-bottom: 1rem;
    }
    .pd-order-head {
        padding: .9rem 1.1rem;
        background: linear-gradient(135deg, var(--c-primary), #4f46e5);
        color: #fff;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: .5rem;
    }
    .pd-order-body { padding: 1.1rem; }
    .pd-order-selected { background: var(--c-bg); border-radius: 10px; padding: 1rem; }
    .pd-order-row { display: flex; justify-content: space-between; align-items: center; padding: .35rem 0; font-size: 14px; }
    .pd-order-row strong { color: var(--c-ink); font-weight: 600; }
    .pd-order-divider { height: 1px; background: var(--c-border); margin: .65rem 0; }
    .pd-order-total { display: flex; justify-content: space-between; align-items: baseline; }
    .pd-order-total span:first-child { font-size: 13px; color: var(--c-muted); font-weight: 600; }
    .pd-order-price { font-size: 1.4rem; font-weight: 750; color: var(--c-primary); line-height: 1.1; }

    .pd-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--c-border); text-align: center; }
    .pd-trust > div { display: flex; flex-direction: column; align-items: center; gap: .25rem; color: var(--c-muted); }
    .pd-trust i { color: var(--c-success); font-size: 1.35rem; }
    .pd-trust small { font-size: 11px; line-height: 1.3; }

    .pd-support-card { background: #fff; border: 1px solid var(--c-border); border-radius: 14px; padding: 1.1rem; }
    .pd-support-head { display: flex; align-items: center; gap: .75rem; margin-bottom: .85rem; }
    .pd-support-icon { width: 44px; height: 44px; border-radius: 10px; background: var(--c-primary-light); color: var(--c-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; }
    .pd-support-head strong { display: block; color: var(--c-ink); font-size: 14px; }
    .pd-support-head small { color: var(--c-muted); font-size: 12px; }
    .pd-support-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
    .pd-support-actions .btn { font-size: 13px; padding: .55rem .35rem; font-weight: 600; }

    /* ===== REVIEWS ===== */
    .pd-reviews .pd-rev-summary {
        display: grid;
        grid-template-columns: 220px 1fr 220px;
        gap: 2rem;
        padding-bottom: 1.5rem;
        border-bottom: 1px solid var(--c-border);
        margin-bottom: 1.25rem;
        align-items: center;
    }
    .pd-rev-score { text-align: center; }
    .pd-rev-score-value { font-size: 3rem; font-weight: 800; color: var(--c-ink); line-height: 1; letter-spacing: -.02em; }
    .pd-rev-stars-row { color: #fbbf24; font-size: 1rem; margin: .35rem 0; letter-spacing: 1px; }
    .pd-rev-score-meta { font-size: 13px; color: var(--c-muted); }

    .pd-rev-bars { display: flex; flex-direction: column; gap: .35rem; }
    .pd-rev-bar-row { display: flex; align-items: center; gap: .65rem; font-size: 13px; }
    .pd-rev-bar-label { width: 48px; color: var(--c-text); display: inline-flex; align-items: center; gap: 3px; font-weight: 600; }
    .pd-rev-bar-label i { color: #fbbf24; font-size: 11px; }
    .pd-rev-bar { flex: 1; height: 8px; background: var(--c-bg-alt); border-radius: 999px; overflow: hidden; }
    .pd-rev-bar-fill { height: 100%; background: linear-gradient(90deg, #fbbf24, #f59e0b); border-radius: 999px; transition: width .25s; }
    .pd-rev-bar-count { width: 48px; text-align: right; color: var(--c-muted); font-size: 12px; font-variant-numeric: tabular-nums; }

    .pd-rev-cta .btn { font-weight: 600; padding: .65rem 1rem; }
    .pd-rev-cta small i { color: var(--c-success); margin-right: 2px; }

    .pd-rev-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
    .pd-rev-filter { display: flex; gap: .35rem; flex-wrap: wrap; }
    .pd-rev-chip {
        background: #fff;
        border: 1px solid var(--c-border);
        color: var(--c-text);
        font-size: 13px;
        font-weight: 600;
        padding: .35rem .85rem;
        border-radius: 999px;
        cursor: pointer;
        transition: all .12s;
        font-family: inherit;
        display: inline-flex; align-items: center; gap: .25rem;
    }
    .pd-rev-chip i { color: #fbbf24; font-size: 11px; }
    .pd-rev-chip:hover { border-color: var(--c-primary); color: var(--c-primary); }
    .pd-rev-chip.is-active { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
    .pd-rev-chip.is-active i { color: #fbbf24; }
    .pd-rev-sort label { font-size: 13px; color: var(--c-muted); font-weight: 500; }
    .pd-rev-sort select { display: inline-block; width: auto; min-width: 150px; }

    .pd-rev-list { display: flex; flex-direction: column; gap: 1.25rem; }
    .pd-rev-item {
        display: flex;
        gap: 1rem;
        padding: 1rem;
        background: #fff;
        border: 1px solid var(--c-border);
        border-radius: 12px;
        transition: border-color .15s;
    }
    .pd-rev-item:hover { border-color: var(--c-primary-light); }
    .pd-rev-avatar {
        flex-shrink: 0;
        width: 44px; height: 44px;
        border-radius: 50%;
        background: hsl(var(--avatar-hue, 220deg), 65%, 92%);
        color: hsl(var(--avatar-hue, 220deg), 65%, 32%);
        display: inline-flex; align-items: center; justify-content: center;
        font-weight: 700;
        font-size: 14px;
    }
    .pd-rev-body { flex: 1; min-width: 0; }
    .pd-rev-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: 14px; }
    .pd-rev-head strong { color: var(--c-ink); font-weight: 700; }
    .pd-rev-verified {
        display: inline-flex; align-items: center; gap: 3px;
        font-size: 11px; font-weight: 600;
        color: var(--c-success);
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        padding: 1px 7px;
        border-radius: 999px;
    }
    .pd-rev-date { color: var(--c-muted); font-size: 12.5px; }
    .pd-rev-stars { color: #fbbf24; font-size: 13px; margin: .25rem 0; letter-spacing: 1px; }
    .pd-rev-title { font-size: 14.5px; font-weight: 700; color: var(--c-ink); margin: .35rem 0 .25rem; }
    .pd-rev-comment { color: var(--c-text); font-size: 14px; line-height: 1.65; margin: 0 0 .75rem; white-space: pre-line; }
    .pd-rev-actions { display: flex; gap: .5rem; }
    .pd-rev-helpful {
        background: transparent;
        border: 1px solid var(--c-border);
        color: var(--c-muted);
        font-size: 12.5px;
        font-weight: 600;
        padding: .3rem .75rem;
        border-radius: 999px;
        cursor: pointer;
        transition: all .12s;
        font-family: inherit;
        display: inline-flex; align-items: center; gap: .35rem;
    }
    .pd-rev-helpful:hover { background: var(--c-primary-light); color: var(--c-primary); border-color: var(--c-primary-light); }
    .pd-rev-helpful.is-marked { background: var(--c-primary-light); color: var(--c-primary); border-color: var(--c-primary-light); }
    .pd-rev-helpful.is-marked i::before { content: "\F2FA"; }

    .pd-rev-empty {
        text-align: center;
        padding: 2.5rem 1rem;
        color: var(--c-muted);
    }
    .pd-rev-empty i { font-size: 2.5rem; opacity: .5; margin-bottom: .5rem; display: inline-block; }
    .pd-rev-empty h4 { color: var(--c-ink); font-size: 1rem; font-weight: 700; margin-bottom: .25rem; }
    .pd-rev-empty p { font-size: 14px; margin: 0; }

    .pd-rev-pager { text-align: center; margin-top: 1.5rem; }
    .pd-rev-pager .btn { padding: .55rem 1.5rem; font-weight: 600; }

    /* Write modal */
    .pd-rev-modal .modal-header { border-bottom: 1px solid var(--c-border); padding: 1rem 1.25rem; }
    .pd-rev-modal .modal-title { font-size: 1rem; font-weight: 700; }
    .pd-rev-stars-pick { display: flex; align-items: center; gap: .25rem; }
    .pd-rev-star-btn {
        background: transparent;
        border: 0;
        color: #d1d5db;
        font-size: 1.85rem;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        transition: color .1s, transform .1s;
    }
    .pd-rev-star-btn:hover { transform: scale(1.1); }
    .pd-rev-star-btn.is-on, .pd-rev-stars-pick:hover .pd-rev-star-btn:hover ~ .pd-rev-star-btn { color: #d1d5db; }
    .pd-rev-star-btn.is-on { color: #fbbf24; }
    .pd-rev-stars-text { margin-left: .5rem; font-size: 13px; color: var(--c-muted); }
    .pd-rev-form-msg {
        margin-top: 1rem;
        padding: .65rem .85rem;
        border-radius: 8px;
        font-size: 13px;
        display: none;
    }
    .pd-rev-form-msg.is-error { display: block; background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
    .pd-rev-form-msg.is-success { display: block; background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; }
    .pd-rev-modal .btn-primary.is-loading .pd-rev-submit-text { display: none; }
    .pd-rev-modal .btn-primary.is-loading .pd-rev-submit-load { display: inline-flex !important; align-items: center; gap: .35rem; }

    @media (max-width: 767.98px) {
        .pd-reviews .pd-rev-summary { grid-template-columns: 1fr; gap: 1.25rem; padding-bottom: 1.25rem; }
        .pd-rev-score { display: flex; align-items: center; justify-content: center; gap: 1rem; text-align: left; }
        .pd-rev-score-value { font-size: 2.25rem; }
        .pd-rev-score > * { margin: 0 !important; }
        .pd-rev-toolbar { flex-direction: column; align-items: stretch; }
        .pd-rev-sort select { width: 100%; }
    }

    /* SEO content card */
    .pd-seo-body { font-size: 15px; line-height: 1.75; color: var(--c-text); }
    .pd-seo-body h3 { font-size: 1.05rem; font-weight: 700; color: var(--c-ink); margin: 1.5rem 0 .65rem; letter-spacing: -.01em; }
    .pd-seo-body h3:first-child { margin-top: 0; }
    .pd-seo-body p { margin: 0 0 .85rem; }
    .pd-seo-body ul { padding-left: 1.4rem; margin: 0 0 1rem; }
    .pd-seo-body ul li { margin-bottom: .45rem; }
    .pd-seo-body ul li::marker { color: var(--c-primary); font-weight: 700; }
    .pd-seo-body a { color: var(--c-primary); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
    .pd-seo-body a:hover { color: var(--c-primary-dark); text-decoration-thickness: 2px; }
    .pd-seo-body strong { color: var(--c-ink); font-weight: 700; }

    /* Related pills */
    .pd-related-grid { display: flex; flex-wrap: wrap; gap: .5rem; }
    .pd-related-pill {
        display: inline-flex; align-items: center; gap: .35rem;
        padding: .45rem .85rem;
        background: var(--c-bg);
        color: var(--c-text);
        border: 1px solid var(--c-border);
        border-radius: 999px;
        font-size: 13.5px;
        font-weight: 600;
        transition: all .15s;
    }
    .pd-related-pill i { font-size: 12px; opacity: .65; }
    .pd-related-pill:hover { background: var(--c-primary-light); color: var(--c-primary); border-color: var(--c-primary-light); transform: translateY(-1px); }
    .pd-related-pill:hover i { opacity: 1; }
    .pd-related-pill-all { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
    .pd-related-pill-all:hover { background: var(--c-primary-dark); color: #fff; border-color: var(--c-primary-dark); }

    /* Mobile tweaks */
    @media (max-width: 575.98px) {
        .pd-hero { padding: 2rem 0; }
        .pd-hero-flag { width: 80px; height: 56px; }
        .pd-hero-region-icon { flex-basis: 80px; width: 80px; height: 56px; }
        .pd-hero-region-icon i { font-size: 1.75rem; }
        .pd-hero-flag-wrap { gap: .85rem; }
        .pd-plan-top { flex-direction: column; text-align: center; gap: .65rem; }
        .pd-plan-data { justify-content: center; text-align: left; }
    }

    /* ===== NEXAESIM 2026 DESIGN SYSTEM SYNC ===== */
    .pd-breadcrumb {
        background: rgba(255,255,255,.96);
        border-bottom-color: var(--nx-line, #e2e8f0);
    }
    .pd-hero {
        width: calc(100% - 32px);
        max-width: 1560px;
        margin: 16px auto 0;
        background-color: #071a34;
        background-image:
            linear-gradient(90deg, rgba(4,18,39,.95) 0%, rgba(6,31,62,.88) 44%, rgba(7,43,78,.68) 72%, rgba(5,30,57,.52) 100%),
            url('/images/product/phong-canh-chau-au-chau-a-esim.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        color: #fff;
        border: 1px solid rgba(191,219,254,.28);
        border-radius: 28px;
        box-shadow: 0 22px 58px rgba(7,24,52,.17);
    }
    .pd-hero-decor {
        background:
            radial-gradient(circle at 86% 8%, rgba(125,211,252,.14) 0, transparent 48%),
            radial-gradient(circle at 10% 100%, rgba(16,185,129,.10) 0, transparent 38%);
    }
    .pd-hero-flag {
        border-color: #fff;
        box-shadow: 0 16px 36px rgba(15,23,42,.16);
    }
    .pd-eyebrow {
        background: rgba(255,255,255,.14);
        color: #fff;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: 999px;
        backdrop-filter: blur(8px);
    }
    .pd-hero-title,
    .pd-hero-rating strong { color: #fff; }
    .pd-hero-lead { color: #e0f2fe; }
    .pd-hero-lead a { color: #7dd3fc; }
    .pd-hero-rating { color: #dbeafe; }
    .pd-hero-rating .text-muted { color: #bfdbfe !important; }
    .pd-hero-rating .dot { color: rgba(255,255,255,.45); }
    .pd-pill {
        background: rgba(255,255,255,.88);
        color: #1e3a5f;
        border-color: rgba(255,255,255,.65);
        backdrop-filter: blur(8px);
        box-shadow: 0 8px 22px rgba(4,18,39,.12);
    }
    .pd-pill-primary { background: #eef2ff; color: var(--nx-primary-dark, #4338ca); border-color: #c7d2fe; }
    .pd-pill-success { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
    .pd-pill-warn { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
    .pd-price-card,
    .pd-card,
    .pd-order-card,
    .pd-support-card {
        border: 1px solid var(--nx-line, #e2e8f0);
        border-radius: var(--nx-radius, 20px);
        box-shadow: var(--nx-shadow, 0 18px 50px rgba(15,23,42,.09));
    }
    .pd-price-card { box-shadow: 0 24px 60px rgba(79,70,229,.13); }
    .pd-main { padding-top: 2.5rem; background: #fff; }
    .pd-card-head { background: #fff; }
    .pd-day-pill,
    .pd-data-option,
    .pd-plan,
    .pd-carrier,
    .pd-rev-item {
        border-color: var(--nx-line, #e2e8f0);
        border-radius: 16px;
    }
    .pd-day-pill:hover,
    .pd-data-option:hover,
    .pd-plan:hover { box-shadow: 0 14px 34px rgba(79,70,229,.11); }
    .pd-data-option.selected {
        border-color: var(--nx-primary, #4f46e5);
        background: #eef2ff;
        box-shadow: 0 0 0 3px rgba(79,70,229,.10);
    }
    .pd-plan.selected-plan {
        background: #f8fbff;
        box-shadow: 0 0 0 3px rgba(79,70,229,.11), 0 16px 38px rgba(79,70,229,.10);
    }
    .pd-plan--unlimited { border-color: #a5b4fc; }
    .pd-data-option .unlimited-badge,
    .pd-plan-badge-unlimited {
        background: linear-gradient(135deg, var(--nx-primary, #4f46e5), #7c3aed);
    }
    .pd-order-head {
        background: linear-gradient(135deg, var(--nx-primary, #4f46e5), var(--nx-primary-dark, #4338ca));
    }
    .pd-order-selected { background: var(--nx-soft, #f8fafc); }
    .pd-step-icon,
    .pd-carrier-icon,
    .pd-support-icon { background: #eef2ff; color: var(--nx-primary, #4f46e5); }
    .pd-related-pill { background: #fff; }
    .pd-related-pill:hover { background: #eef2ff; border-color: #c7d2fe; }
    .pd-related-pill-all { background: var(--nx-primary, #4f46e5); color: #fff; }

    @media (max-width: 767.98px) {
        .pd-hero {
            width: calc(100% - 20px);
            margin-top: 10px;
            padding: 2.25rem 0;
            border-radius: 20px;
            background-image:
                linear-gradient(145deg, rgba(4,18,39,.94), rgba(7,43,78,.76)),
                url('/images/product/phong-canh-chau-au-chau-a-esim-mobile.jpg');
            background-position: center;
        }
        .pd-price-card { margin-top: .5rem; }
        .pd-card, .pd-order-card, .pd-support-card { border-radius: 16px; }
    }
/* Country-specific editorial content, including mobile tables. */
.pd-seo-body { overflow-wrap: anywhere; }
.pd-seo-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1rem 0; }
.pd-seo-body td, .pd-seo-body th { padding: .65rem; border: 1px solid #dbe5ed; min-width: 110px; }
.pd-country-guide{margin:20px 0;padding:18px;background:#f0f8ff;border:1px solid #cfe4f5;border-radius:16px;color:#18364d}
.pd-country-guide h3{font-size:1.05rem;margin:0 0 8px;font-weight:700}
.pd-country-guide>p{font-size:.875rem;line-height:1.6;margin-bottom:14px}
.pd-country-group{background:#fff;border:1px solid #dce7ef;border-radius:10px;margin-top:9px;overflow:hidden}
.pd-country-group summary{cursor:pointer;padding:13px;color:#18364d;font-weight:600}
.pd-country-count{font-size:.75rem;color:#47647a;font-weight:400;margin-left:10px}
.pd-country-group-body{padding:0 14px 15px}
.pd-country-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px 12px;list-style:none;padding:0;margin:8px 0 16px}
.pd-country-list li{font-size:.85rem;line-height:1.5;color:#203b50;overflow-wrap:anywhere}
.pd-country-list i{color:#2682b5;margin-right:4px}
@media(max-width:575px){.pd-country-guide{padding:12px}.pd-country-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-country-count{display:block;margin:4px 0 0 18px}}
