/* Nexa eSIM shared brand theme. Loaded after view-level styles. */
:root {
    --brand-primary: #4f46e5;
    --brand-primary-dark: #4338ca;
    --brand-primary-deep: #312e81;
    --brand-primary-soft: #eef2ff;
    --brand-primary-soft-2: #f5f3ff;
    --brand-primary-border: #c7d2fe;
    --brand-ink: #0f172a;
    --brand-text: #475569;
    --brand-muted: #64748b;
    --brand-line: #e2e8f0;
    --brand-surface-soft: #f8fafc;

    /* Aliases retained for old and new view styles. */
    --c-primary: var(--brand-primary);
    --c-primary-dark: var(--brand-primary-dark);
    --c-primary-light: var(--brand-primary-soft);
    --nx-primary: var(--brand-primary);
    --nx-primary-dark: var(--brand-primary-dark);
    --nx-ink: var(--brand-ink);
    --nx-muted: var(--brand-muted);
    --nx-line: var(--brand-line);
    --nx-soft: var(--brand-surface-soft);
    --primary-color: var(--brand-primary);
    --secondary-color: var(--brand-primary-dark);
    --accent-color: #6366f1;
    --purple-gradient: linear-gradient(135deg, var(--brand-primary), #6366f1);
    --bs-primary: var(--brand-primary);
    --bs-primary-rgb: 79, 70, 229;
    --bs-link-color: var(--brand-primary);
    --bs-link-hover-color: var(--brand-primary-dark);
}

::selection { color: #fff; background: var(--brand-primary); }
a { color: var(--brand-primary); }
a:hover { color: var(--brand-primary-dark); }

.btn-primary,
.btn-primary:focus {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

.btn-outline-primary { color: var(--brand-primary); border-color: var(--brand-primary); }
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary.active {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.text-primary, .link-primary { color: var(--brand-primary) !important; }
.bg-primary { background-color: var(--brand-primary) !important; }
.border-primary { border-color: var(--brand-primary) !important; }

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: #818cf8;
    box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .16);
}

.form-check-input:checked { background-color: var(--brand-primary); border-color: var(--brand-primary); }
.page-link { color: var(--brand-primary); }
.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.accordion-button:not(.collapsed) {
    color: var(--brand-primary-deep);
    background: var(--brand-primary-soft);
    box-shadow: inset 0 -1px 0 var(--brand-primary-border);
}
.accordion-button:focus { border-color: #818cf8; box-shadow: 0 0 0 .2rem rgba(79,70,229,.14); }

/* Header/footer and shared layout surfaces. */
.main-nav .nav-link:hover,
.main-nav .nav-link.active {
    color: var(--brand-primary) !important;
    background: var(--brand-primary-soft) !important;
}
.site-footer a:hover { color: #a5b4fc !important; }

/* Home: hero, regions, packages and utility sections share one palette. */
.home-pro.nx-enterprise {
    --hp-blue: var(--brand-primary);
    --hp-blue-dark: var(--brand-primary-dark);
    --hp-ink: var(--brand-ink);
    --hp-muted: var(--brand-muted);
    --hp-line: var(--brand-line);
    --hp-soft: var(--brand-surface-soft);
    color: var(--brand-ink);
}

.home-pro.nx-enterprise .hp-hero.travel-hero {
    color: var(--brand-ink) !important;
    background:
        radial-gradient(circle at 10% 18%, rgba(99,102,241,.13), transparent 34%),
        radial-gradient(circle at 88% 76%, rgba(79,70,229,.10), transparent 30%),
        linear-gradient(135deg, #fafaff 0%, var(--brand-primary-soft) 100%) !important;
    border-color: #ddd6fe !important;
}

.home-pro.nx-enterprise .travel-hero .hp-title,
.home-pro.nx-enterprise .travel-hero .hp-search-label,
.home-pro.nx-enterprise .travel-hero .hp-quick-label { color: var(--brand-ink) !important; }

.home-pro.nx-enterprise .travel-hero .hp-title span,
.home-pro.nx-enterprise .travel-hero .nx-eyebrow,
.home-pro.nx-enterprise .travel-hero .hp-kicker,
.home-pro.nx-enterprise .travel-hero .nx-quick-links a,
.home-pro.nx-enterprise .hp-kicker,
.home-pro.nx-enterprise .hp-text-link,
.home-pro.nx-enterprise .hp-section-link { color: var(--brand-primary) !important; }

.home-pro.nx-enterprise .travel-hero .hp-title span {
    -webkit-text-fill-color: var(--brand-primary) !important;
}

.home-pro.nx-enterprise .travel-hero .hp-lead,
.home-pro.nx-enterprise .travel-hero .hp-quick-label,
.home-pro.nx-enterprise .travel-hero .nx-quick-links { color: var(--brand-text) !important; }

.home-pro.nx-enterprise .travel-hero .hp-search {
    border-color: var(--brand-primary-border) !important;
    box-shadow: 0 18px 50px rgba(49,46,129,.13) !important;
}
.home-pro.nx-enterprise .travel-hero .hp-search:focus-within {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 4px rgba(79,70,229,.13), 0 18px 50px rgba(49,46,129,.14) !important;
}

.home-pro.nx-enterprise .travel-hero .hp-search button,
.home-pro.nx-enterprise .travel-hero .hp-primary-action,
.home-pro.nx-enterprise .travel-hero .hp-btn-primary {
    color: #fff !important;
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 10px 24px rgba(79,70,229,.23) !important;
}
.home-pro.nx-enterprise .travel-hero .hp-search button:hover,
.home-pro.nx-enterprise .travel-hero .hp-primary-action:hover,
.home-pro.nx-enterprise .travel-hero .hp-btn-primary:hover { background: var(--brand-primary-dark) !important; }

.home-pro.nx-enterprise .travel-hero .nx-quick-links a:hover {
    color: var(--brand-primary-dark) !important;
    background: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}

.home-pro.nx-enterprise .travel-frame,
.home-pro.nx-enterprise .travel-card,
.home-pro.nx-enterprise .hp-card {
    border-color: var(--brand-line) !important;
    box-shadow: 0 18px 44px rgba(49,46,129,.10) !important;
}
.home-pro.nx-enterprise .travel-dots button[aria-pressed="true"]::after {
    background: var(--brand-primary) !important;
}
.home-pro.nx-enterprise .travel-controls button:hover { background: var(--brand-primary-soft) !important; }
.home-pro.nx-enterprise .travel-counter,
.home-pro.nx-enterprise .travel-gallery-note { color: var(--brand-text) !important; }

.home-pro.nx-enterprise .world-destinations,
.home-pro.nx-enterprise .regional-journeys,
.home-pro.nx-enterprise .popular-esim-section,
.home-pro.nx-enterprise .hp-plan-intent,
.home-pro.nx-enterprise .hp-faq,
.home-pro.nx-enterprise .hp-news { background-color: var(--brand-surface-soft); }

.home-pro.nx-enterprise #worldmap,
.home-pro.nx-enterprise .hp-soft { background: var(--brand-surface-soft) !important; }

.home-pro.nx-enterprise .world-map-card,
.home-pro.nx-enterprise .world-map-shell,
.home-pro.nx-enterprise .region-tabs,
.home-pro.nx-enterprise .popular-packages-shell,
.home-pro.nx-enterprise .travel-tools-shell,
.home-pro.nx-enterprise .hp-faq-shell {
    border-color: var(--brand-line) !important;
    box-shadow: 0 16px 40px rgba(49,46,129,.08) !important;
}
.home-pro.nx-enterprise .world-map-card,
.home-pro.nx-enterprise .world-map-shell {
    background: linear-gradient(145deg, #fff, var(--brand-primary-soft-2)) !important;
}

.home-pro.nx-enterprise .nx-atlas-map {
    background: linear-gradient(145deg, #fafaff, var(--brand-primary-soft)) !important;
    border-color: var(--brand-primary-border) !important;
}
.home-pro.nx-enterprise .nx-atlas-caption,
.home-pro.nx-enterprise .nx-atlas-panel-head small,
.home-pro.nx-enterprise .nx-atlas-all { color: var(--brand-primary) !important; }
.home-pro.nx-enterprise .nx-map-shape { fill: #c7d2fe !important; }
.home-pro.nx-enterprise .nx-map-shape:hover { fill: #818cf8 !important; }
.home-pro.nx-enterprise .nx-map-shape.is-selected { fill: var(--brand-primary) !important; }
.home-pro.nx-enterprise .nx-atlas-tabs button.is-selected {
    color: #fff !important;
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}
.home-pro.nx-enterprise .nx-atlas-countries > a:hover {
    color: var(--brand-primary-dark) !important;
    background: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}

.home-pro.nx-enterprise .world-destinations .is-active,
.home-pro.nx-enterprise .region-tabs .active,
.home-pro.nx-enterprise .region-tabs [aria-selected="true"] {
    color: #fff !important;
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

.home-pro.nx-enterprise .regional-card {
    --region-accent: var(--brand-primary) !important;
    --region-tint: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}
.home-pro.nx-enterprise .regional-card:hover {
    border-color: #818cf8 !important;
    box-shadow: 0 18px 40px rgba(79,70,229,.14) !important;
}
.home-pro.nx-enterprise .regional-journeys {
    color: var(--brand-ink) !important;
    background: var(--brand-primary-soft-2) !important;
    border-color: var(--brand-primary-border) !important;
}
.home-pro.nx-enterprise .regional-eyebrow,
.home-pro.nx-enterprise .regional-heading-icon { color: var(--brand-primary) !important; }
.home-pro.nx-enterprise .regional-heading-icon { background: var(--brand-primary-soft) !important; border-color: var(--brand-primary-border) !important; }
.home-pro.nx-enterprise .regional-heading h2,
.home-pro.nx-enterprise .regional-card h3 { color: var(--brand-ink) !important; }
.home-pro.nx-enterprise .regional-heading p,
.home-pro.nx-enterprise .regional-package-count,
.home-pro.nx-enterprise .regional-note { color: var(--brand-text) !important; }

.home-pro.nx-enterprise #top-esim-packages .popular-all,
.home-pro.nx-enterprise #top-esim-packages .popular-package-network,
.home-pro.nx-enterprise #top-esim-packages .popular-package-price,
.home-pro.nx-enterprise #top-esim-packages .popular-package-arrow { color: var(--brand-primary) !important; }
.home-pro.nx-enterprise #top-esim-packages .popular-package-network { background: var(--brand-primary-soft) !important; }
.home-pro.nx-enterprise #top-esim-packages .popular-compact-heading h2 { color: var(--brand-ink) !important; }
.home-pro.nx-enterprise #top-esim-packages .popular-compact-heading p,
.home-pro.nx-enterprise #top-esim-packages .popular-package-spec,
.home-pro.nx-enterprise #top-esim-packages .popular-package-price small { color: var(--brand-text) !important; }

.home-pro.nx-enterprise .popular-package,
.home-pro.nx-enterprise .popular-more > summary {
    border-color: var(--brand-primary-border) !important;
    background: linear-gradient(145deg, #fff, #fafaff) !important;
}
.home-pro.nx-enterprise .popular-package:hover {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 18px 38px rgba(79,70,229,.14) !important;
}
.home-pro.nx-enterprise .popular-more > summary {
    color: var(--brand-primary-dark) !important;
    background: var(--brand-primary-soft-2) !important;
}

.home-pro.nx-enterprise .hp-service-icon,
.home-pro.nx-enterprise .hp-plan-icon,
.home-pro.nx-enterprise .hp-news-icon {
    color: var(--brand-primary) !important;
    background: var(--brand-primary-soft) !important;
}

.home-pro.nx-enterprise .nx-service-strip i,
.home-pro.nx-enterprise .hp-info-icon {
    color: var(--brand-primary) !important;
}
.home-pro.nx-enterprise .hp-info-icon { background: var(--brand-primary-soft) !important; }
.home-pro.nx-enterprise a:focus-visible,
.home-pro.nx-enterprise button:focus-visible,
.home-pro.nx-enterprise summary:focus-visible {
    outline-color: var(--brand-primary) !important;
}

/* Travel tools are shared by Home and Product Details. */
.travel-tools {
    --tt-primary: var(--brand-primary);
    --tt-primary-dark: var(--brand-primary-dark);
    --tt-accent: var(--brand-primary);
}
.travel-tools .tt-shell { border-color: var(--brand-line) !important; box-shadow: 0 16px 40px rgba(49,46,129,.08) !important; }
.travel-tools .tt-heading { background: linear-gradient(120deg, var(--brand-primary-soft), #fafaff) !important; }
.travel-tools .tt-eyebrow,
.travel-tools .tt-step,
.travel-tools .tt-tab-icon,
.travel-tools .tt-result-title,
.travel-tools .tt-calculator-intro > a { color: var(--brand-primary) !important; }
.travel-tools .tt-heading h2,
.travel-tools .tt-device-form h3,
.travel-tools .tt-calculator-intro h3 { color: var(--brand-ink) !important; }

.travel-tools .tt-tabs [role="tab"][aria-selected="true"],
.travel-tools .tt-tabs [role="tab"][aria-selected="true"] .tt-tab-icon,
.travel-tools .tt-check {
    color: #fff !important;
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}
.travel-tools input:focus,
.travel-tools select:focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 4px rgba(79,70,229,.13) !important;
}
.travel-tools .tt-device-result:not([data-status="conditional"]):not([data-status="unknown"]):not([data-status="unsupported"]) {
    background: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}
.travel-tools .tt-device-result:not([data-status="conditional"]):not([data-status="unknown"]):not([data-status="unsupported"]) .tt-result-icon {
    color: var(--brand-primary) !important;
    background: #e0e7ff !important;
}
.travel-tools .duc-icon { color: var(--brand-primary) !important; background: var(--brand-primary-soft) !important; }
.travel-tools .duc-tool .btn-primary { background: var(--brand-primary) !important; border-color: var(--brand-primary) !important; }
.travel-tools .duc-tool .btn-outline-primary { color: var(--brand-primary) !important; border-color: var(--brand-primary-border) !important; }
.travel-tools input[type="range"] { accent-color: var(--brand-primary) !important; }

.data-usage-calculator {
    --duc-primary: var(--brand-primary);
    --duc-primary-dark: var(--brand-primary-dark);
}
.data-usage-calculator input[type="range"] { accent-color: var(--brand-primary); }

.home-pro.nx-enterprise .hp-entity {
    background: linear-gradient(135deg, var(--brand-primary-deep), #4338ca) !important;
}
.home-pro.nx-enterprise .hp-entity .hp-kicker { color: #c7d2fe !important; }
.home-pro.nx-enterprise .hp-entity .hp-sub,
.home-pro.nx-enterprise .hp-entity a { color: #e0e7ff !important; }
.home-pro.nx-enterprise .hp-final-cta {
    background:
        radial-gradient(circle at 15% 15%, rgba(99,102,241,.15), transparent 35%),
        linear-gradient(135deg, #fafaff, var(--brand-primary-soft)) !important;
    border-color: var(--brand-primary-border) !important;
}

/* Product details: same brand tone, while status green/amber/red stay semantic. */
.pd-page,
.pd-main,
.pd-help-wrap {
    --pd-primary: var(--brand-primary);
    --pd-primary-dark: var(--brand-primary-dark);
    --pd-ink: var(--brand-ink);
    --pd-muted: var(--brand-muted);
    --pd-line: var(--brand-line);
    --pd-soft: var(--brand-surface-soft);
}
.pd-hero {
    background: linear-gradient(135deg, var(--brand-primary-deep), var(--brand-primary) 62%, #6366f1) !important;
}
.pd-card-head,
.pd-support-head,
.pd-help-intro { border-color: var(--brand-primary-border) !important; }

.pd-step-num,
.pd-support-icon,
.pd-help-icon,
.pd-blog-placeholder {
    color: var(--brand-primary) !important;
    background: var(--brand-primary-soft) !important;
}
.pd-step-num,
.pd-help-number {
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary), #6366f1) !important;
}
.pd-blog-all,
.pd-blog-read,
.pd-plan-details-link,
.pd-support-link,
.pd-help-link { color: var(--brand-primary) !important; }

.pd-blog-card:hover,
.pd-support-card:hover,
.pd-help-card:hover {
    border-color: var(--brand-primary-border) !important;
    box-shadow: 0 16px 34px rgba(79,70,229,.12) !important;
}
.pd-tabs .active,
.pd-tabs [aria-selected="true"],
.pd-tab.active,
.pd-tab[aria-selected="true"] {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}
.pd-support-center,
.pd-help-center {
    background: linear-gradient(180deg, #fff 0%, var(--brand-surface-soft) 100%) !important;
}
.pd-country-guide {
    color: var(--brand-ink) !important;
    background: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}
.pd-country-list i,
.pd-help-kicker,
.pd-help-jumps a,
.pd-phone-screen > div > i:first-child { color: var(--brand-primary) !important; }
.pd-plan-details-link {
    color: var(--brand-primary-dark) !important;
    background: var(--brand-primary-soft) !important;
    border-color: var(--brand-primary-border) !important;
}
.pd-plan-details-link:hover {
    color: var(--brand-primary-deep) !important;
    background: #e0e7ff !important;
}

/* Blog, product content and informational views. */
.breadcrumb a,
.article-content a,
.blog-content a,
.product-content a,
.policy-content a { color: var(--brand-primary); }
.breadcrumb a:hover,
.article-content a:hover,
.blog-content a:hover,
.product-content a:hover,
.policy-content a:hover { color: var(--brand-primary-dark); }
.article-content blockquote,
.blog-content blockquote,
.product-content blockquote {
    border-left-color: var(--brand-primary);
    background: var(--brand-primary-soft);
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .home-pro.nx-enterprise a,
    .pd-page a { transition-duration: .01ms !important; }
}
