/**
 * X-DMAIC Web Design Pricing Stylesheet
 * Kế thừa 100% X-DMAIC Design System:
 * - Brand Colors: --accent-primary (#005eff), --accent-secondary (#beff01), --base-color
 * - Dark & Light Mode Compatible: html[data-theme="dark"] & html[data-theme="light"]
 * - Glassmorphism: .glass-panel tokens, border-radius-16px
 * - Typography: Plus Jakarta Sans (alt-font)
 * - Badges: 30px pill badges (.sm-sc-badge-tag style)
 * - Buttons: .btn-base-color, .sm-sc-btn-glow, .sm-sc-btn-zalo-action
 */

:root {
    --xd-pricing-primary: var(--accent-primary, #005eff);
    --xd-pricing-primary-hover: #0044cc;
    --xd-pricing-primary-light: rgba(0, 94, 255, 0.08);
    --xd-pricing-primary-border: rgba(0, 94, 255, 0.22);
    --xd-pricing-accent: var(--accent-secondary, #beff01);
    --xd-pricing-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    --xd-pricing-shadow-featured: 0 16px 40px rgba(0, 94, 255, 0.18);
}

/* Base Body Background */
body.xd-pricing-page {
    background-image: url('../images/vertical-line-bg-small-medium-gray.svg') !important;
    background-position: center top;
}

/* Page Wrapper */
.xd-pricing-page-wrapper {
    position: relative;
    font-family: var(--font-primary);
}

/* Hero Pill Badge (Đồng bộ chuẩn 30px Pill Badges của X-DMAIC) */
.xd-hero-pill-badge {
    height: 32px;
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    border-radius: 30px;
    background: rgba(0, 94, 255, 0.08);
    color: var(--xd-pricing-primary);
    border: 1px solid var(--xd-pricing-primary-border);
    white-space: nowrap;
}

html[data-theme="dark"] .xd-hero-pill-badge {
    background: rgba(0, 94, 255, 0.15);
    color: #60a5fa;
    border-color: rgba(96, 165, 250, 0.3);
}

/* Value Props Card */
.xd-val-card {
    padding: 24px;
    height: 100%;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #eef2f6;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.xd-val-card:hover {
    transform: translateY(-4px);
    border-color: var(--xd-pricing-primary-border);
    box-shadow: 0 8px 24px rgba(0, 94, 255, 0.08);
}

html[data-theme="dark"] .xd-val-card {
    background: rgba(21, 29, 48, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

html[data-theme="dark"] .xd-val-card:hover {
    border-color: rgba(96, 165, 250, 0.4);
}

.xd-val-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--xd-pricing-primary-light);
    color: var(--xd-pricing-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 16px;
    transition: all 0.25s ease;
}

html[data-theme="dark"] .xd-val-icon-box {
    background: rgba(0, 94, 255, 0.2);
    color: #60a5fa;
}

.xd-val-card h4 {
    text-wrap: balance;
}

/* VAT Segmented Switcher */
.xd-vat-switcher-container {
    display: inline-flex;
    align-items: center;
    padding: 4px;
    background: #eef2f7;
    border-radius: 30px;
    border: 1px solid #dce2eb;
}

html[data-theme="dark"] .xd-vat-switcher-container {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.xd-vat-btn {
    border: none;
    background: transparent;
    padding: 7px 18px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.25s ease;
    user-select: none;
}

.xd-vat-btn.active {
    background: #ffffff;
    color: #1e2029;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

html[data-theme="dark"] .xd-vat-btn {
    color: #94a3b8;
}

html[data-theme="dark"] .xd-vat-btn.active {
    background: var(--xd-pricing-primary);
    color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 94, 255, 0.4);
}

/* 3 Pricing Cards Grid */
.xd-pricing-grid-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 36px 30px;
    height: 100%;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: var(--xd-pricing-shadow);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.xd-pricing-grid-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.09);
}

html[data-theme="dark"] .xd-pricing-grid-card {
    background: rgba(21, 29, 48, 0.65);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

html[data-theme="dark"] .xd-pricing-grid-card:hover {
    border-color: rgba(96, 165, 250, 0.35);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3);
}

/* Featured Card (Gói Tăng trưởng) */
.xd-pricing-grid-card.is-featured {
    border: 2px solid var(--xd-pricing-primary);
    box-shadow: var(--xd-pricing-shadow-featured);
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

html[data-theme="dark"] .xd-pricing-grid-card.is-featured {
    background: linear-gradient(180deg, rgba(21, 29, 48, 0.9) 0%, rgba(15, 23, 42, 0.95) 100%);
    border-color: #3b82f6;
    box-shadow: 0 16px 45px rgba(59, 130, 246, 0.2);
}

.xd-featured-ribbon {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--xd-pricing-primary) 0%, #0044cc 100%);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 5px 18px;
    border-radius: 30px;
    box-shadow: 0 4px 15px rgba(0, 94, 255, 0.35);
    white-space: nowrap;
    z-index: 2;
}

.xd-package-badge {
    display: inline-block;
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 30px;
    background: #f1f5f9;
    color: #475569;
    margin-bottom: 12px;
}

html[data-theme="dark"] .xd-package-badge {
    background: rgba(255, 255, 255, 0.08);
    color: #94a3b8;
}

.xd-price-box {
    margin: 18px 0;
    padding-bottom: 18px;
    border-bottom: 1px dashed #e2e8f0;
}

html[data-theme="dark"] .xd-price-box {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.xd-price-val {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.1;
    color: #1e2029;
    letter-spacing: -1px;
}

html[data-theme="dark"] .xd-price-val {
    color: #ffffff;
}

.xd-pricing-grid-card.is-featured .xd-price-val {
    color: var(--xd-pricing-primary);
}

html[data-theme="dark"] .xd-pricing-grid-card.is-featured .xd-price-val {
    color: #60a5fa;
}

.xd-price-currency {
    font-size: 18px;
    font-weight: 600;
    color: #64748b;
    margin-left: 4px;
}

.xd-price-label {
    font-size: 12px;
    color: #64748b;
    margin-top: 4px;
}

.xd-card-highlights {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    flex-grow: 1;
}

.xd-card-highlights li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 11px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #334155;
}

html[data-theme="dark"] .xd-card-highlights li {
    color: #cbd5e1;
}

.xd-card-highlights li i {
    position: absolute;
    left: 0;
    top: 3px;
    color: #10b981;
    font-size: 14px;
}

.xd-meta-pills {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.xd-meta-pill-item {
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
}

html[data-theme="dark"] .xd-meta-pill-item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: #94a3b8;
}

/* Buttons (Đồng bộ chuẩn X-DMAIC) */
.xd-btn-select-pkg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 24px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.25s ease;
    cursor: pointer;
    border: 1px solid transparent;
}

.xd-btn-primary {
    background: var(--xd-pricing-primary);
    color: #ffffff !important;
    box-shadow: 0 4px 18px rgba(0, 94, 255, 0.3);
}

.xd-btn-primary:hover {
    background: var(--xd-pricing-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0, 94, 255, 0.45);
}

.xd-btn-outline {
    background: transparent;
    border-color: #cbd5e1;
    color: #1e2029 !important;
}

.xd-btn-outline:hover {
    background: #1e2029;
    color: #ffffff !important;
    border-color: #1e2029;
    transform: translateY(-2px);
}

html[data-theme="dark"] .xd-btn-outline {
    border-color: rgba(255, 255, 255, 0.2);
    color: #ffffff !important;
}

html[data-theme="dark"] .xd-btn-outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
}

/* Included Standards Items (Quy chuẩn đồng nhất) */
.xd-included-std-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.xd-included-std-item i {
    font-size: 16px;
    color: var(--xd-pricing-primary);
    flex-shrink: 0;
    margin-top: 3px;
}

.xd-included-std-item span {
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    color: #1e2029;
}

html[data-theme="dark"] .xd-included-std-item span {
    color: #f1f5f9;
}

html[data-theme="dark"] .xd-included-std-item i {
    color: #60a5fa;
}

/* Comparison Matrix Table */
.xd-matrix-wrapper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--xd-pricing-shadow);
}

html[data-theme="dark"] .xd-matrix-wrapper {
    background: rgba(21, 29, 48, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
}

.xd-matrix-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.xd-matrix-table th {
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    vertical-align: middle;
}

html[data-theme="dark"] .xd-matrix-table th {
    background: rgba(15, 23, 42, 0.9);
    border-bottom-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.xd-matrix-table td {
    padding: 14px 20px;
    font-size: 13.5px;
    border-bottom: 1px solid #edf2f7;
    vertical-align: middle;
}

html[data-theme="dark"] .xd-matrix-table td {
    border-bottom-color: rgba(255, 255, 255, 0.06);
    color: #cbd5e1;
}

.xd-matrix-group-header {
    background: #f1f5f9 !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #1e2029;
    padding: 12px 20px !important;
    border-bottom: 1px solid #cbd5e1 !important;
}

html[data-theme="dark"] .xd-matrix-group-header {
    background: rgba(30, 41, 59, 0.8) !important;
    color: #f1f5f9;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.xd-col-featured {
    background: rgba(0, 94, 255, 0.02);
}

.xd-matrix-table th.xd-col-featured {
    background: rgba(0, 94, 255, 0.06);
    border-top: 3px solid var(--xd-pricing-primary);
}

html[data-theme="dark"] .xd-matrix-table th.xd-col-featured {
    background: rgba(0, 94, 255, 0.15);
    border-top-color: #60a5fa;
}

/* Interactive Calculator */
.xd-calc-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: var(--xd-pricing-shadow);
    padding: 30px;
}

html[data-theme="dark"] .xd-calc-card {
    background: rgba(21, 29, 48, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
}

/* Base Package Radio Cards & Custom Circular Radio */
.js-calc-pkg-card {
    transition: all 0.2s ease;
    border: 1.5px solid #e2e8f0 !important;
}

.js-calc-pkg-card:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-2px);
}

.js-calc-pkg-card.border-primary {
    border-color: var(--xd-pricing-primary) !important;
    box-shadow: 0 4px 16px rgba(0, 94, 255, 0.12) !important;
}

html[data-theme="dark"] .js-calc-pkg-card {
    background: rgba(21, 29, 48, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-theme="dark"] .js-calc-pkg-card.border-primary {
    border-color: #3b82f6 !important;
    background: rgba(21, 29, 48, 0.95) !important;
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.2) !important;
}

/* Fix ô radio bị méo do global input switch */
.js-calc-pkg-card input[type="radio"],
.xd-calc-card input[type="radio"] {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    float: none !important;
    flex-shrink: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 2px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    background-image: none !important;
    background-position: center !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.js-calc-pkg-card input[type="radio"]:checked,
.xd-calc-card input[type="radio"]:checked {
    border-color: var(--xd-pricing-primary, #005eff) !important;
    background-color: #ffffff !important;
    background-image: radial-gradient(circle, var(--xd-pricing-primary, #005eff) 45%, transparent 50%) !important;
    background-position: center !important;
}

html[data-theme="dark"] .js-calc-pkg-card input[type="radio"],
html[data-theme="dark"] .xd-calc-card input[type="radio"] {
    background-color: rgba(15, 23, 42, 0.9) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

html[data-theme="dark"] .js-calc-pkg-card input[type="radio"]:checked,
html[data-theme="dark"] .xd-calc-card input[type="radio"]:checked {
    border-color: #60a5fa !important;
    background-color: rgba(15, 23, 42, 0.9) !important;
    background-image: radial-gradient(circle, #60a5fa 45%, transparent 50%) !important;
}

.xd-calc-addon-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}

html[data-theme="dark"] .xd-calc-addon-item {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
}

.xd-calc-addon-item:hover {
    background: #ffffff;
    border-color: var(--xd-pricing-primary-border);
    box-shadow: 0 4px 12px rgba(0, 94, 255, 0.04);
}

html[data-theme="dark"] .xd-calc-addon-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(96, 165, 250, 0.3);
}

.xd-calc-addon-info {
    flex-grow: 1;
    padding-right: 14px;
}

.xd-calc-addon-title {
    font-weight: 700;
    font-size: 13.5px;
    color: #1e2029;
    margin-bottom: 2px;
}

html[data-theme="dark"] .xd-calc-addon-title {
    color: #f1f5f9;
}

.xd-calc-addon-desc {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 0;
}

.xd-calc-addon-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--xd-pricing-primary);
    margin-top: 3px;
}

html[data-theme="dark"] .xd-calc-addon-price {
    color: #60a5fa;
}

.xd-stepper-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    padding: 3px 6px;
    border-radius: 30px;
    border: 1px solid #cbd5e1;
}

html[data-theme="dark"] .xd-stepper-control {
    background: rgba(15, 23, 42, 0.8);
    border-color: rgba(255, 255, 255, 0.15);
}

.xd-stepper-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #1e2029;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

html[data-theme="dark"] .xd-stepper-btn {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.xd-stepper-btn:hover {
    background: var(--xd-pricing-primary);
    border-color: var(--xd-pricing-primary);
    color: #ffffff;
}

.xd-stepper-val {
    min-width: 24px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #1e2029;
}

html[data-theme="dark"] .xd-stepper-val {
    color: #ffffff;
}

/* Calculator Summary Panel */
.xd-summary-panel {
    position: sticky;
    top: 100px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 26px;
    box-shadow: var(--xd-pricing-shadow);
}

html[data-theme="dark"] .xd-summary-panel {
    background: rgba(21, 29, 48, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
}

.xd-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0;
    font-size: 13.5px;
    border-bottom: 1px dashed #e2e8f0;
}

html[data-theme="dark"] .xd-summary-line {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.xd-summary-total-line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 16px 0;
    border-bottom: 2px solid #1e2029;
    margin-bottom: 16px;
}

html[data-theme="dark"] .xd-summary-total-line {
    border-bottom-color: rgba(255, 255, 255, 0.2);
}

.xd-summary-total-price {
    font-size: 26px;
    font-weight: 800;
    color: var(--xd-pricing-primary);
    letter-spacing: -0.5px;
}

html[data-theme="dark"] .xd-summary-total-price {
    color: #60a5fa;
}

.xd-installments-box {
    background: #f1f5f9;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 18px;
}

html[data-theme="dark"] .xd-installments-box {
    background: rgba(255, 255, 255, 0.04);
}

.xd-inst-item {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    margin-bottom: 5px;
}

/* Roadmap Milestones */
.xd-milestone-step-card {
    position: relative;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}

html[data-theme="dark"] .xd-milestone-step-card {
    background: rgba(21, 29, 48, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
}

.xd-milestone-step-card:hover {
    border-color: var(--xd-pricing-primary-border);
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 94, 255, 0.08);
}

.xd-milestone-number {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--xd-pricing-primary-light);
    color: var(--xd-pricing-primary);
    font-weight: 800;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

html[data-theme="dark"] .xd-milestone-number {
    background: rgba(0, 94, 255, 0.2);
    color: #60a5fa;
}

.xd-milestone-step-card p {
    flex-grow: 1;
}

.xd-milestone-sla {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
    color: #0369a1;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    padding: 8px 12px;
    border-radius: 10px;
    margin-top: auto;
}

.xd-milestone-sla i {
    font-size: 14px;
    color: var(--xd-pricing-primary);
    flex-shrink: 0;
}

html[data-theme="dark"] .xd-milestone-sla {
    background: rgba(2, 132, 199, 0.12);
    border-color: rgba(56, 189, 248, 0.25);
    color: #38bdf8;
}

html[data-theme="dark"] .xd-milestone-sla i {
    color: #60a5fa;
}

/* Print Styles */
@media print {
    .navbar, footer, .xd-vat-switcher-container, .xd-btn-select-pkg, .d-print-none {
        display: none !important;
    }
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-size: 11pt;
    }
    .xd-pricing-grid-card, .xd-calc-card, .xd-matrix-wrapper, .glass-panel {
        box-shadow: none !important;
        border: 1px solid #cccccc !important;
        page-break-inside: avoid;
    }
    .top-space-margin {
        margin-top: 0 !important;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .xd-pricing-grid-card {
        margin-bottom: 24px;
    }
    .xd-summary-panel {
        position: static;
        margin-top: 24px;
    }
    .xd-matrix-wrapper {
        overflow-x: auto;
    }
    .xd-matrix-table {
        min-width: 650px;
    }
}


/* ---------- Sửa giao diện (đợt 1) ---------- */
/* Tab chọn gói cho bảng so sánh: chỉ hiện trên mobile */
.xd-matrix-tabs { display: none; }
@media (max-width: 767px) {
    .xd-matrix-tabs {
        display: flex;
        gap: 6px;
        margin: 0 0 12px;
        padding: 4px;
        border-radius: 999px;
        background: rgba(0, 94, 255, 0.06);
        border: 1px solid rgba(0, 94, 255, 0.15);
    }
    .xd-matrix-tabs button {
        flex: 1;
        padding: 9px 6px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        font-size: 13.5px;
        font-weight: 700;
        color: inherit;
    }
    .xd-matrix-tabs button.is-active { background: #005eff; color: #fff; }
    .xd-matrix-wrapper { overflow-x: visible !important; }
    .xd-matrix-table { min-width: 0 !important; width: 100% !important; table-layout: fixed; }
    .xd-matrix-table th:nth-child(1), .xd-matrix-table td:nth-child(1):not([colspan]) { width: 58% !important; }
    .xd-matrix-table th:nth-child(n+2), .xd-matrix-table td:nth-child(n+2) { display: none; }
    .xd-matrix-table.show-col-2 th:nth-child(2), .xd-matrix-table.show-col-2 td:nth-child(2),
    .xd-matrix-table.show-col-3 th:nth-child(3), .xd-matrix-table.show-col-3 td:nth-child(3),
    .xd-matrix-table.show-col-4 th:nth-child(4), .xd-matrix-table.show-col-4 td:nth-child(4) { display: table-cell; width: 42% !important; }
    .xd-matrix-table td, .xd-matrix-table th { line-height: 1.45 !important; }
    /* Tiêu đề lớn: bỏ giãn chữ âm (chữ Việt có dấu bị dính) */
    .xd-pricing-page-wrapper h1 { letter-spacing: -0.5px !important; }
}
/* Tiêu đề khung dự toán không xuống dòng lệch */
.xd-calc-summary-title { line-height: 1.3 !important; white-space: nowrap; }
/* Trang báo giá đã có nút Zalo + dự toán: ẩn bong bóng lời mời của nút mascot để không che bảng */
.xd-pricing-page .sm-launcher-bubble { display: none !important; }

/* ---------- Đợt 2: khối chốt khách ---------- */
.xd-pricing-proof a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.xd-pricing-proof a:hover strong { color: #005eff; }
.xd-stars { color: #f59e0b; letter-spacing: 1px; }
.xd-text-link { font-weight: 700; color: #005eff; text-decoration: none; }
html[data-theme="dark"] .xd-text-link { color: #6aa3ff; }

.xd-not-fit { padding: 22px 26px; border-radius: 16px; border: 1px dashed rgba(245, 158, 11, 0.55); background: rgba(245, 158, 11, 0.06); }
.xd-not-fit ul { margin: 0 0 12px; padding-left: 20px; }
.xd-not-fit li { margin-bottom: 6px; font-size: 14.5px; line-height: 1.55; }

.xd-showcase-card { display: flex; flex-direction: column; height: 100%; border-radius: 16px; overflow: hidden; border: 1px solid #e2e8f0; background: #fff; color: inherit; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.xd-showcase-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(0, 40, 120, 0.35); }
html[data-theme="dark"] .xd-showcase-card { background: rgba(21, 29, 48, 0.7); border-color: rgba(255, 255, 255, 0.08); }
.xd-showcase-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #f1f5f9; }
.xd-showcase-img img { width: 100%; height: 100%; object-fit: cover; }
.xd-showcase-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; flex: 1; }
.xd-showcase-industry { font-size: 12px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: #64748b; }
.xd-showcase-name { font-size: 18px; }
.xd-showcase-work { font-size: 14px; line-height: 1.55; color: #475569; flex: 1; }
html[data-theme="dark"] .xd-showcase-work { color: #a9b6cc; }
.xd-showcase-results { display: flex; flex-wrap: wrap; gap: 6px; }
.xd-showcase-results span { padding: 3px 10px; border-radius: 999px; background: rgba(0, 94, 255, 0.08); color: #0047c9; font-size: 12.5px; font-weight: 700; }
html[data-theme="dark"] .xd-showcase-results span { color: #9cc2ff; }

.xd-disclosure-list { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.xd-disclosure { border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; padding: 0 20px; }
html[data-theme="dark"] .xd-disclosure { background: rgba(21, 29, 48, 0.7); border-color: rgba(255, 255, 255, 0.08); }
.xd-disclosure summary { cursor: pointer; padding: 16px 0; font-weight: 700; font-size: 15.5px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.xd-disclosure summary::-webkit-details-marker { display: none; }
.xd-disclosure summary::after { content: '+'; font-size: 20px; line-height: 1; color: #005eff; }
.xd-disclosure[open] summary::after { content: '–'; }
.xd-disclosure[open] { padding-bottom: 16px; }
.xd-faq p { font-size: 14.5px; line-height: 1.65; }
.xd-table-scroll { overflow-x: auto; }
.xd-simple-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.xd-simple-table th, .xd-simple-table td { padding: 10px 8px; border-bottom: 1px solid rgba(100, 116, 139, 0.18); text-align: left; vertical-align: top; }
.xd-simple-table th { font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.3px; color: #64748b; }
.xd-acceptance-list, .xd-terms-list { margin: 0; padding-left: 22px; font-size: 14px; line-height: 1.6; }
.xd-acceptance-list li, .xd-terms-list li { margin-bottom: 8px; }
@media (max-width: 767px) {
    .xd-simple-table thead { display: none; }
    .xd-simple-table tr { display: block; padding: 10px 0; border-bottom: 1px solid rgba(100, 116, 139, 0.18); }
    .xd-simple-table td { display: block; border: 0; padding: 2px 0; }
}
.xd-not-fit ul, .xd-terms-list { list-style: disc; }
.xd-acceptance-list { list-style: decimal; }
.xd-simple-table td, .xd-simple-table td div { line-height: 1.5 !important; }
@media (max-width: 767px) {
    .xd-simple-table td[data-label]::before { content: attr(data-label) ": "; color: #64748b; font-size: 13px; }
}

/* ---------- Chỉnh trình bày (theme đặt line-height 32px cố định cho mọi chữ, section 90px) ---------- */
.xd-pricing-page-wrapper { line-height: 1.6; }
.xd-pricing-page-wrapper p,
.xd-pricing-page-wrapper li,
.xd-pricing-page-wrapper td,
.xd-pricing-page-wrapper th,
.xd-pricing-page-wrapper label,
.xd-pricing-page-wrapper span,
.xd-pricing-page-wrapper div { line-height: inherit; }
.xd-pricing-page-wrapper .xd-price-label { line-height: 1.4; margin-top: 4px; }
.xd-pricing-page-wrapper h2 { line-height: 1.2; }
/* Khoảng cách giữa các khối: 90px + 90px -> 56px + 56px (mobile 40px) */
.xd-pricing-page-wrapper section.py-50px { padding-top: 56px !important; padding-bottom: 56px !important; }
.xd-pricing-page-wrapper .mb-40px { margin-bottom: 28px !important; }
@media (max-width: 767px) {
    .xd-pricing-page-wrapper section.py-50px { padding-top: 40px !important; padding-bottom: 40px !important; }
}

/* Nhãn thời gian / bảo hành: một dòng */
.xd-meta-pills { gap: 8px; }
.xd-meta-pill-item { display: inline-flex !important; align-items: center; gap: 4px; white-space: nowrap; line-height: 1.3 !important; width: auto !important; padding: 6px 10px !important; }

/* 3 thẻ gói thẳng hàng: thẻ nổi bật có nhãn giữ chỗ ẩn */
.xd-package-badge.is-spacer { visibility: hidden; }

/* Danh sách "Khi nào chưa nên làm" có dấu đầu dòng */
.xd-not-fit li { list-style: disc !important; margin-left: 4px; }

/* Hạng mục thêm: mobile xếp dọc (chữ đủ rộng), thẻ thấp lại */
.xd-calc-addon-item { gap: 12px; }
@media (max-width: 767px) {
    .xd-calc-addon-item { flex-direction: column; align-items: stretch !important; padding: 12px 14px !important; }
    .xd-calc-addon-info { width: 100% !important; max-width: none !important; }
    .xd-calc-addon-action { align-self: flex-start; margin-top: 2px; }
    .xd-calc-addon-desc { margin-bottom: 4px !important; }
}
/* Nút +/- đủ lớn để bấm bằng ngón tay */
.xd-stepper-btn { width: 36px !important; height: 36px !important; font-size: 18px !important; }
@media (max-width: 767px) { .xd-stepper-btn { width: 44px !important; height: 44px !important; } }

/* Khung dự toán: con số không bị ngắt dòng giữa chừng */
.xd-summary-panel [id^="summary"], .xd-summary-panel .xd-inst-item > :last-child, .xd-summary-total-price { white-space: nowrap; }
.xd-inst-item { gap: 12px; }
@media (max-width: 767px) {
    .xd-summary-panel { padding: 20px !important; }
    .xd-summary-total-line { flex-direction: column; align-items: flex-start !important; gap: 4px; }
    .xd-summary-total-price { font-size: 28px !important; }
    .xd-summary-total-line .fw-800 { white-space: nowrap; }
}
/* Mô tả gói luôn chiếm 2 dòng để giá 3 thẻ thẳng hàng */
.xd-pricing-grid-card p.min-h-40px { min-height: 3.2em !important; line-height: 1.6 !important; }
.xd-not-fit h3 { margin-bottom: 8px !important; }
.xd-not-fit ul { margin-top: 0 !important; }

/* ---------- Khối nhận báo giá (form riêng, 2 ô bắt buộc) ---------- */
.xd-quote-steps { list-style: none !important; counter-reset: qs; margin: 0 0 22px; padding: 0; }
.xd-quote-steps li { counter-increment: qs; position: relative; padding: 0 0 14px 44px; font-size: 15px; line-height: 1.55; list-style: none !important; }
.xd-quote-steps li::before { content: counter(qs); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; background: rgba(0, 94, 255, 0.1); color: #005eff; }
.xd-quote-trust a { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; color: inherit; text-decoration: none; }

.xd-quote-card { position: relative; padding: 26px; border-radius: 20px; background: #fff; border: 1px solid #dbe5f5; box-shadow: 0 24px 50px -28px rgba(0, 40, 120, 0.35); }
html[data-theme="dark"] .xd-quote-card { background: rgba(21, 29, 48, 0.85); border-color: rgba(255, 255, 255, 0.1); }
.xd-quote-recap { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 16px; margin-bottom: 18px; border-radius: 14px; background: #eef4ff; border: 1px solid #cfe0ff; }
html[data-theme="dark"] .xd-quote-recap { background: rgba(0, 94, 255, 0.12); border-color: rgba(0, 94, 255, 0.3); }
.xd-quote-recap > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.xd-quote-recap-label { font-size: 12px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: #5b6b85; }
.xd-quote-recap strong { font-size: 16px; }
.xd-quote-recap span#xdQuoteRecapTotal { font-size: 14px; color: #0047c9; font-weight: 700; }
html[data-theme="dark"] .xd-quote-recap span#xdQuoteRecapTotal { color: #9cc2ff; }
.xd-quote-recap-edit { flex: none; font-size: 13px; font-weight: 700; color: #005eff; text-decoration: none; white-space: nowrap; }
.xd-quote-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.xd-quote-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.xd-quote-field label { font-size: 13.5px; font-weight: 700; margin: 0; }
.xd-quote-field input { width: 100%; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid #cbd5e1; background: #f8fafc; font-size: 16px; color: inherit; }
html[data-theme="dark"] .xd-quote-field input { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.14); }
.xd-quote-field input:focus { outline: none; border-color: #005eff; box-shadow: 0 0 0 3px rgba(0, 94, 255, 0.15); background: #fff; }
.xd-quote-field input.is-invalid { border-color: #ef4444; }
.xd-quote-err { margin: 0; font-size: 13px; line-height: 1.4; color: #dc2626; }
.xd-quote-err-form { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #fef2f2; }
.xd-quote-more { margin: 10px 0 4px; padding: 0; border: 0; background: none; font-size: 13.5px; font-weight: 700; color: #005eff; cursor: pointer; }
.xd-quote-submit { width: 100%; height: 54px; margin-top: 16px; border: 0; border-radius: 14px; background: #005eff; color: #fff; font-size: 16.5px; font-weight: 800; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(0, 94, 255, 0.7); transition: background 0.2s ease, transform 0.2s ease; }
.xd-quote-submit:hover { background: #1a6dff; transform: translateY(-1px); }
.xd-quote-submit:disabled { opacity: 0.65; cursor: wait; transform: none; }
.xd-quote-consent { margin: 10px 0 0; font-size: 12.5px; line-height: 1.5; color: #64748b; text-align: center; }
.xd-quote-consent a { color: inherit; text-decoration: underline; }
.xd-quote-call { margin: 8px 0 0; font-size: 14px; text-align: center; }
.xd-quote-call a { font-weight: 800; color: #005eff; text-decoration: none; }
.xd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
/* Đã gửi: thay form bằng lời cảm ơn */
.xd-quote-card.is-done > *:not(.xd-quote-done):not(.xd-quote-recap) { display: none !important; }
.xd-quote-done { text-align: center; padding: 18px 6px 6px; }
.xd-quote-done-icon { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 800; color: #16a34a; background: rgba(22, 163, 74, 0.12); }
@media (max-width: 767px) {
    .xd-quote-card { padding: 18px; }
    .xd-quote-fields { grid-template-columns: 1fr; gap: 10px; }
    .xd-quote-steps li { padding-bottom: 10px; font-size: 14.5px; }
    /* Mobile: form lên trước, 3 bước xuống sau */
    #nhan-bao-gia .row { flex-direction: column-reverse; }
    #nhan-bao-gia .col-lg-5 h2 { display: none; }
}
.xd-quote-card.is-done .xd-quote-recap-edit { display: none; }
.xd-quote-done p { font-size: 15px; line-height: 1.55 !important; }

/* Phù hợp với ngành (chỉ ngành có dự án thật) */
.xd-industry-card { height: 100%; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; line-height: 1.55; }
.xd-industry-name { font-size: 16px; color: #0f172a; }
.xd-industry-need { font-size: 14px; color: #64748b; }
.xd-industry-projects { margin-top: auto; font-size: 13.5px; color: #475569; }
.xd-industry-projects a { color: #005eff; font-weight: 600; text-decoration: none; }
.xd-industry-projects a:hover { text-decoration: underline; }
html[data-theme="dark"] .xd-industry-card { background: rgba(21, 29, 48, 0.7); border-color: rgba(255, 255, 255, 0.08); }
html[data-theme="dark"] .xd-industry-name { color: #f1f5f9; }
html[data-theme="dark"] .xd-industry-need, html[data-theme="dark"] .xd-industry-projects { color: #94a3b8; }
html[data-theme="dark"] .xd-industry-projects a { color: #7aa7ff; }

/* So sánh chi tiết: thu gọn, bấm tiêu đề để mở */
.xd-compare-summary { list-style: none; cursor: pointer; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding-bottom: 10px; }
.xd-compare-summary::-webkit-details-marker { display: none; }
.xd-compare-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: 1px solid #005eff; border-radius: 999px; color: #005eff; font-weight: 700; font-size: 14px; line-height: 1.4; }
.xd-compare-toggle::after { content: '▾'; transition: transform .2s; }
.xd-compare-details[open] .xd-compare-toggle::after { transform: rotate(180deg); }
.xd-compare-details[open] .xd-when-closed, .xd-compare-details:not([open]) .xd-when-open { display: none; }
.xd-compare-details[open] .xd-compare-summary { margin-bottom: 30px; }
.xd-compare-summary:hover .xd-compare-toggle { background: rgba(0, 94, 255, 0.06); }
html[data-theme="dark"] .xd-compare-toggle { color: #7aa7ff; border-color: #7aa7ff; }

/* Dòng Clutch ở hero: không để sao và điểm số bị ngắt giữa chừng trên di động */
.xd-pricing-proof a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: baseline; column-gap: 6px; row-gap: 2px; }
.xd-pricing-proof .xd-stars, .xd-pricing-proof strong { white-space: nowrap; }
.xd-val-card h4 { line-height: 1.35; }

/* Dòng dẫn sang phương pháp DMAIC Lite (dưới 3 điểm khác biệt) */
.xd-method-link { font-size: 14.5px; line-height: 1.6; color: #64748b; }
.xd-method-link a { color: #005eff; text-decoration: none; }
.xd-method-link a:hover { text-decoration: underline; }
html[data-theme="dark"] .xd-method-link { color: #94a3b8; }
html[data-theme="dark"] .xd-method-link a { color: #7aa7ff; }

/* Vòng DMAIC Lite sau ra mắt (cuối mục quy trình) */
.xd-loop { margin-top: 40px; padding: 26px 28px; border-radius: 16px; background: linear-gradient(135deg, rgba(0, 94, 255, 0.06), rgba(190, 255, 1, 0.08)); border: 1px solid rgba(0, 94, 255, 0.15); line-height: 1.55; }
.xd-loop-title { font-weight: 700; font-size: 17px; color: #0f172a; text-align: center; margin: 0 0 18px; }
.xd-loop-steps { list-style: none; counter-reset: loop; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; }
.xd-loop-steps li { counter-increment: loop; position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: #fff; border-radius: 12px; font-size: 13.5px; color: #64748b; }
.xd-loop-steps li strong { font-size: 15px; color: #005eff; }
.xd-loop-steps li strong::before { content: counter(loop) ". "; }
.xd-loop-steps li:not(:last-child)::after { content: '→'; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); color: #005eff; font-weight: 700; z-index: 1; }
@media (max-width: 767px) {
    .xd-loop { padding: 20px 16px; }
    .xd-loop-steps { grid-template-columns: 1fr 1fr; }
    .xd-loop-steps li::after { display: none; }
}
html[data-theme="dark"] .xd-loop { background: linear-gradient(135deg, rgba(0, 94, 255, 0.12), rgba(190, 255, 1, 0.05)); border-color: rgba(255, 255, 255, 0.1); }
html[data-theme="dark"] .xd-loop-title { color: #f1f5f9; }
html[data-theme="dark"] .xd-loop-steps li { background: rgba(21, 29, 48, 0.85); color: #94a3b8; }
html[data-theme="dark"] .xd-loop-steps li strong { color: #7aa7ff; }

/* Cá nhân hóa theo ngành: nhãn "Đang xem cho", thẻ ngành khớp, dòng ngành trong form */
.xd-industry-chip { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 12px; margin: 0 auto 14px; padding: 6px 8px 6px 16px; border-radius: 999px; background: rgba(0, 94, 255, 0.08); color: #334155; font-size: 13.5px; line-height: 1.5; }
.xd-industry-chip[hidden] { display: none; }
.xd-industry-chip button { border: 0; background: #fff; color: #005eff; font-weight: 600; font-size: 13px; padding: 4px 12px; border-radius: 999px; cursor: pointer; }
.xd-industry-chip button:hover { text-decoration: underline; }
.xd-industry-match { display: none; align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: #005eff; color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
.xd-industry-card.is-match { border: 2px solid #005eff; box-shadow: 0 8px 24px rgba(0, 94, 255, 0.12); }
.xd-industry-card.is-match .xd-industry-match { display: inline-block; }
.xd-quote-recap-industry { display: block; font-size: 13px; color: #475569; }
.xd-quote-recap-industry[hidden] { display: none; }
html[data-theme="dark"] .xd-industry-chip { background: rgba(122, 167, 255, 0.12); color: #cbd5e1; }
html[data-theme="dark"] .xd-industry-chip button { background: rgba(21, 29, 48, 0.9); color: #7aa7ff; }
html[data-theme="dark"] .xd-industry-card.is-match { border-color: #7aa7ff; }
html[data-theme="dark"] .xd-quote-recap-industry { color: #94a3b8; }

/* Dự toán: ghi chú đã khôi phục lựa chọn lần trước */
.xd-calc-restored { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 14px; padding: 8px 12px; border-radius: 10px; background: rgba(0, 94, 255, 0.07); color: #334155; font-size: 13px; line-height: 1.5; }
.xd-calc-restored[hidden] { display: none; }
.xd-calc-restored button { border: 0; background: none; padding: 0; color: #005eff; font-weight: 700; font-size: 13px; cursor: pointer; }
.xd-calc-restored button:hover { text-decoration: underline; }
html[data-theme="dark"] .xd-calc-restored { background: rgba(122, 167, 255, 0.12); color: #cbd5e1; }
html[data-theme="dark"] .xd-calc-restored button { color: #7aa7ff; }


/* ---------- Rà soát 10/2026: tiêu đề, chữ rớt dòng, nền đặc ---------- */
/* Tiêu đề hero: màu thương hiệu thay chữ gradient (xanh chanh trên nền trắng khó đọc) */
.xd-web-h1 { font-size: clamp(2.1rem, 1.1rem + 3vw, 3.6rem); font-weight: 800; line-height: 1.08 !important; letter-spacing: -0.035em; margin: 0 auto 20px; max-width: 16ch; text-wrap: balance; color: var(--text-primary); }
.xd-web-h1 em { font-style: normal; color: #005eff; -webkit-text-fill-color: #005eff; }
html[data-theme="dark"] .xd-web-h1 em { color: #2b74ff; -webkit-text-fill-color: #2b74ff; } /* cùng sắc #005eff */
/* Tránh chữ mồ côi (một từ rớt xuống dòng cuối) */
.xd-pricing-page-wrapper p, .xd-pricing-page-wrapper li, .xd-pricing-page-wrapper td, .xd-pricing-page-wrapper summary { text-wrap: pretty; }
.xd-hero-pill-badge { white-space: nowrap; }
/* Khối ngắn (ô bảng, danh sách, mô tả thẻ): cân dòng để không còn một chữ rớt dòng */
.xd-pricing-page-wrapper td, .xd-pricing-page-wrapper li, .xd-pricing-page-wrapper summary, .xd-val-card p, .xd-loop-steps span, .xd-milestone-step-card p, .xd-industry-card span, .xd-showcase-work { text-wrap: balance; }
.xd-pricing-page-wrapper h1, .xd-pricing-page-wrapper h2, .xd-pricing-page-wrapper h3, .xd-pricing-page-wrapper h4 { text-wrap: balance; }
/* Nền đặc: không để lộ đường kẻ dọc nền của theme qua các khối */
.xd-pricing-page-wrapper { position: relative; z-index: 1; background: var(--bg-primary, #fff); }
/* Nút chọn VAT nằm ở đầu bảng giá */
.xd-vat-wrap { margin-top: 4px; }
/* "Đã gồm trong tất cả các gói:" không dãn dòng 32px của theme */
.glass-panel h4 { line-height: 1.3 !important; }
/* Nút trong bảng dự toán: chữ thường, đồng bộ các nút khác */
.xd-summary-panel .btn { text-transform: none !important; letter-spacing: 0 !important; }
/* Màn hẹp (1 cột): gói đề xuất hiện đầu tiên, giống trang Digital Marketing */
@media (max-width: 991px) {
    #bang-gia-cac-goi .row > .col:has(.xd-pricing-grid-card.is-featured) { order: -1; }
}

/* ---------- Tương phản chế độ tối (WCAG AA 4.5:1) ----------
   #005eff trên nền tối chỉ ~3:1 -> #7aa7ff; xám #64748b ~3.5:1 -> #94a3b8 */
html[data-theme="dark"] .xd-pricing-page-wrapper .text-base-color,
html[data-theme="dark"] .xd-pricing-page-wrapper .text-primary,
html[data-theme="dark"] .xd-quote-recap-edit,
html[data-theme="dark"] .xd-quote-more,
html[data-theme="dark"] .xd-quote-call a,
html[data-theme="dark"] .xd-quote-consent a,
html[data-theme="dark"] .xd-summary-panel .sm-sc-btn-zalo-action,
html[data-theme="dark"] .xd-summary-panel .sm-sc-btn-zalo-action span,
html[data-theme="dark"] .xd-summary-panel .badge { color: #7aa7ff !important; -webkit-text-fill-color: #7aa7ff !important; }
html[data-theme="dark"] .xd-price-label,
html[data-theme="dark"] .xd-showcase-industry,
html[data-theme="dark"] .xd-simple-table th,
html[data-theme="dark"] .xd-quote-recap-label { color: #94a3b8 !important; -webkit-text-fill-color: #94a3b8 !important; }
/* Chế độ sáng: nhãn xanh trên nền xanh nhạt và nút VAT chưa chọn sát ngưỡng 4.5:1 -> đậm hơn một bậc */
html:not([data-theme="dark"]) .xd-pricing-page-wrapper .xd-hero-pill-badge,
html:not([data-theme="dark"]) .xd-summary-panel .badge,
html:not([data-theme="dark"]) .xd-summary-panel .sm-sc-btn-zalo-action,
html:not([data-theme="dark"]) .xd-summary-panel .sm-sc-btn-zalo-action span { color: #0047c2 !important; -webkit-text-fill-color: #0047c2 !important; }
html:not([data-theme="dark"]) .xd-vat-btn:not(.active) { color: #475569 !important; }
.xd-pricing-page-wrapper h4.xd-calc-summary-title { white-space: nowrap !important; }

/* ---------- Màu nhấn xanh chanh thương hiệu (#beff01) ----------
   Chỉ dùng làm mảng nền kèm chữ màu mực (xanh chanh trên nền trắng không đủ tương phản cho chữ) */
.xd-pricing-page-wrapper .xd-hero-pill-badge::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: #beff01; box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.25); margin-right: 8px; flex: 0 0 auto; }
.xd-pricing-page-wrapper .xd-hero-pill-badge { display: inline-flex; align-items: center; }
.xd-featured-ribbon { background: #beff01 !important; color: #0f172a !important; -webkit-text-fill-color: #0f172a !important; box-shadow: 0 6px 16px -6px rgba(132, 204, 22, 0.6) !important; }
.xd-milestone-number { background: #beff01 !important; color: #0f172a !important; }
html[data-theme="dark"] .xd-milestone-number { background: #beff01 !important; color: #0f172a !important; }
.xd-summary-panel { border-top: 4px solid #beff01 !important; }
.xd-pricing-page-wrapper .xd-hero-pill-badge > i { display: none; }

/* ---------- Đường tới form báo giá ---------- */
.xd-hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 8px; }
.xd-hero-cta .xd-btn-select-pkg { width: auto; min-width: 210px; min-height: 52px; text-decoration: none; }
.xd-hero-cta .js-goto-quote { gap: 0; } /* chữ "chi tiết" đã có &nbsp; phía trước, gap của flex làm hở đôi */
.xd-summary-panel .js-goto-quote { text-decoration: none; min-height: 50px; }
/* "+ Thêm email": vùng bấm đủ lớn trên điện thoại */
.xd-quote-more { min-height: 44px; padding: 10px 0 !important; display: inline-flex; align-items: center; }
@media (max-width: 575px) {
    .xd-hero-cta { flex-wrap: nowrap; gap: 8px; }
    .xd-hero-cta .xd-btn-select-pkg { flex: 1 1 0; min-width: 0; padding: 12px 10px; font-size: 14.5px; }
}

/* ---------- Mascot đồng hành (tư thế theo ngữ cảnh) ---------- */
.xd-mascot { position: absolute; z-index: 3; height: auto; pointer-events: none; filter: drop-shadow(0 10px 16px rgba(15, 23, 42, 0.22)); }
/* Khung dự toán: cầm tablet "cùng xem dự toán" */
.xd-summary-panel { margin-top: 104px; }
.xd-mascot-calc { width: 134px; top: -118px; right: 14px; }
@media (min-width: 992px) { .xd-summary-panel { top: 200px; } }
/* Form báo giá: ghi sổ "gửi đi, tôi ghi lại ngay" */
#nhan-bao-gia .col-lg-6 { position: relative; padding-top: 100px; }
#nhan-bao-gia .xd-quote-card { position: relative; z-index: 1; }
.xd-mascot-form { width: 140px; top: -16px; right: 28px; }
/* Gửi xong: giơ ngón cái */
.xd-mascot-done { display: block; width: 140px; height: auto; margin: 0 auto 10px; }
/* Vòng DMAIC Lite sau ra mắt: kính lúp "soi số liệu" */
.xd-loop { position: relative; margin-top: 104px !important; }
.xd-mascot-loop { width: 124px; top: -100px; right: 24px; }
@media (max-width: 991px) {
    #nhan-bao-gia .col-lg-6 { padding-top: 70px; }
    .xd-mascot-form { width: 100px; top: -6px; right: 16px; }
}
@media (max-width: 575px) {
    .xd-summary-panel { margin-top: 70px; }
    .xd-mascot-calc { width: 92px; top: -82px; right: 10px; }
    .xd-mascot-loop { width: 86px; top: -70px; right: 10px; }
    .xd-loop { margin-top: 76px !important; }
}
/* Khoảng thở trước footer (footer trang full-width không có đệm trên): ~150px như trang Digital Marketing */
.xd-pricing-page-wrapper { padding-bottom: clamp(96px, 10vw, 150px) !important; }
