/* Nabtech Panel, Site features → Language and currency picker.
   The theme's own language and currency window, restyled: Equal Earth world map, country and
   currency cards, flags, and a page that does not jump. Five layouts (map, cards, list, compact,
   minimal) in light or dark: .modal.nabtech-locale-modal[data-nbl-design][data-nbl-tone]. */
/* =========================================================
   MODAL BACKDROP
   ========================================================= */

html body.nabtech-locale-open .modal-backdrop,
html body.nabtech-locale-open .modal-backdrop.show {
    background-color: #07111f !important;

    opacity: 0.20 !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* =========================================================
   LOCALE MODAL
   ========================================================= */

html body .modal.nabtech-locale-modal:not(.show) {
    pointer-events: none !important;
}


html body .modal.nabtech-locale-modal.show {
    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;

    height: 100vh !important;
    height: 100dvh !important;

    margin: 0 !important;

    padding: 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    background: transparent !important;

    backdrop-filter: blur(0.5px) !important;
    -webkit-backdrop-filter: blur(0.5px) !important;

    pointer-events: auto !important;

    z-index: 10550 !important;
}


html body .modal.nabtech-locale-modal .nabtech-locale-dialog {
    position: relative !important;

    width: min(560px, calc(100vw - 32px)) !important;
    max-width: 560px !important;

    margin: auto !important;
    padding: 0 !important;

    transform: none !important;

    pointer-events: auto !important;
}


/* =========================================================
   MODAL CARD
   ========================================================= */

html body .nabtech-locale-content {
    position: relative !important;

    width: 100% !important;
    max-width: 560px !important;

    margin: 0 !important;

    padding: 26px 26px 24px !important;

    overflow: hidden !important;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(37, 99, 235, 0.065) 0%,
            transparent 37%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.975) 0%,
            rgba(249, 251, 255, 0.985) 100%
        ) !important;

    border:
        1px solid rgba(148, 163, 184, 0.22) !important;

    border-radius: 22px !important;

    color: #0f172a !important;

    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.14),
        0 8px 24px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255,255,255,0.95) !important;

    isolation: isolate !important;
}


/* =========================================================
   REAL INLINE EQUAL EARTH SVG
   ========================================================= */

/*
 * The SVG canvas fills the entire modal.
 *
 * preserveAspectRatio="xMidYMid meet" keeps the ENTIRE
 * Equal Earth world visible.
 *
 * We deliberately do NOT use "cover" because cover crops
 * the eastern/western or polar portions of a world map.
 */

html body
.nabtech-locale-content
.nabtech-equal-earth-map {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    pointer-events: none !important;

    user-select: none !important;

    z-index: 0 !important;
}


html body
.nabtech-locale-content
.nabtech-equal-earth-map path {
    fill: #2563eb !important;

    fill-opacity: 0.052 !important;

    stroke: none !important;
}


/*
 * Everything except map stays above it.
 */

html body
.nabtech-locale-content
> :not(.nabtech-equal-earth-map) {
    position: relative !important;

    z-index: 2 !important;
}


/* =========================================================
   HEADINGS
   ========================================================= */

html body .nabtech-locale-content .nabtech-locale-section-title,
html body .nabtech-locale-content .nabtech-locale-country-title,
html body .nabtech-locale-content .nabtech-locale-currency-title {
    display: block !important;

    visibility: visible !important;
    opacity: 1 !important;

    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;

    background: transparent !important;
    background-image: none !important;

    font-size: 15px !important;
    font-weight: 750 !important;

    line-height: 1.35 !important;
    letter-spacing: -0.015em !important;

    text-shadow: none !important;

    filter: none !important;

    padding: 0 !important;

    transform: none !important;
}


html body .nabtech-locale-content .nabtech-locale-country-title {
    margin-top: 0 !important;

    margin-bottom: 13px !important;
}


html body .nabtech-locale-content .nabtech-locale-currency-title {
    position: relative !important;

    top: auto !important;

    margin-top: 24px !important;
    margin-bottom: 13px !important;

    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}


/* Extra protection against Croster white text */

html body .nabtech-locale-content h1,
html body .nabtech-locale-content h2,
html body .nabtech-locale-content h3,
html body .nabtech-locale-content h4,
html body .nabtech-locale-content h5,
html body .nabtech-locale-content h6,
html body .nabtech-locale-content .modal-title,
html body .nabtech-locale-content .dropdown-header {
    color: #111827 !important;

    -webkit-text-fill-color: #111827 !important;

    text-shadow: none !important;

    opacity: 1 !important;
}


/* =========================================================
   COUNTRY / CURRENCY CARDS
   ========================================================= */

html body .nabtech-locale-content a,
html body .nabtech-locale-content label,
html body .nabtech-locale-content .dropdown-item {
    display: flex !important;

    align-items: center !important;

    gap: 9px !important;

    min-height: 46px !important;

    padding: 9px 12px !important;

    margin: 4px 0 !important;

    background:
        rgba(255, 255, 255, 0.91) !important;

    backdrop-filter:
        blur(2px) !important;

    -webkit-backdrop-filter:
        blur(2px) !important;

    border:
        1px solid rgba(148, 163, 184, 0.18) !important;

    border-radius: 13px !important;

    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;

    font-size: 13px !important;
    font-weight: 600 !important;

    line-height: 1.25 !important;

    text-decoration: none !important;

    box-shadow:
        0 3px 10px rgba(15, 23, 42, 0.035),
        inset 0 1px 0 rgba(255,255,255,0.70) !important;

    transform: none !important;

    transition:
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease,
        box-shadow .16s ease !important;
}


html body .nabtech-locale-content a:hover,
html body .nabtech-locale-content label:hover,
html body .nabtech-locale-content .dropdown-item:hover {
    background:
        rgba(247, 250, 255, 0.96) !important;

    border-color:
        rgba(37, 99, 235, 0.20) !important;

    color: #1d4ed8 !important;
    -webkit-text-fill-color: #1d4ed8 !important;

    box-shadow:
        0 5px 14px rgba(37, 99, 235, 0.055),
        inset 0 1px 0 rgba(255,255,255,0.75) !important;

    transform: none !important;
}


/* Selected */

html body .nabtech-locale-content a.active,
html body .nabtech-locale-content label.active,
html body .nabtech-locale-content .dropdown-item.active,
html body .nabtech-locale-content .selected,
html body .nabtech-locale-content [aria-selected="true"],
html body .nabtech-locale-content [aria-checked="true"] {
    background:
        linear-gradient(
            180deg,
            rgba(241,247,255,0.97) 0%,
            rgba(234,243,255,0.97) 100%
        ) !important;

    border-color:
        rgba(37, 99, 235, 0.34) !important;

    color: #1d4ed8 !important;
    -webkit-text-fill-color: #1d4ed8 !important;

    font-weight: 700 !important;

    box-shadow:
        0 5px 15px rgba(37, 99, 235, 0.08),
        inset 0 0 0 1px rgba(255,255,255,.65) !important;
}


/* =========================================================
   FLAGS
   ========================================================= */

html body .nabtech-locale-content img {
    width: 25px !important;
    height: 18px !important;

    min-width: 25px !important;

    object-fit: cover !important;

    margin-right: 0 !important;

    border-radius: 6px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    box-shadow:
        0 0 0 1px rgba(15,23,42,0.08),
        0 1px 3px rgba(15,23,42,0.06) !important;
}


html body .nabtech-locale-content .flag,
html body .nabtech-locale-content .country-flag,
html body .nabtech-locale-content [class*="flag"] {
    border-radius: 6px !important;

    overflow: hidden !important;
}


/* =========================================================
   APPLY
   ========================================================= */

html body .nabtech-locale-content .nabtech-locale-apply,
html body .nabtech-locale-content button[type="submit"],
html body .nabtech-locale-content input[type="submit"] {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    min-height: 50px !important;

    margin-top: 20px !important;

    padding: 0 18px !important;

    background:
        linear-gradient(
            135deg,
            #2f6df5 0%,
            #2254dc 100%
        ) !important;

    border:
        1px solid rgba(29,78,216,0.80) !important;

    border-radius: 13px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    box-shadow:
        0 9px 22px rgba(37,99,235,0.18),
        inset 0 1px 0 rgba(255,255,255,.20) !important;

    transform: none !important;
}


html body .nabtech-locale-content .nabtech-locale-apply:hover,
html body .nabtech-locale-content button[type="submit"]:hover {
    background:
        linear-gradient(
            135deg,
            #2864ed 0%,
            #1d4ed8 100%
        ) !important;

    box-shadow:
        0 11px 25px rgba(37,99,235,0.22),
        inset 0 1px 0 rgba(255,255,255,.22) !important;

    transform: none !important;
}


/* =========================================================
   CLOSE BUTTON
   ========================================================= */

html body .nabtech-locale-content .close,
html body .nabtech-locale-content .btn-close {
    position: absolute !important;

    top: 16px !important;
    right: 16px !important;

    width: 34px !important;
    height: 34px !important;

    padding: 0 !important;

    border-radius: 999px !important;

    border:
        1px solid rgba(148,163,184,0.16) !important;

    background:
        rgba(255,255,255,0.93) !important;

    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;

    opacity: 1 !important;

    box-shadow:
        0 4px 12px rgba(15,23,42,0.05) !important;

    z-index: 20 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    html body .modal.nabtech-locale-modal.show {
        padding: 12px !important;
    }

    html body
    .modal.nabtech-locale-modal
    .nabtech-locale-dialog {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .nabtech-locale-content {
        width: 100% !important;
        max-width: 100% !important;

        padding:
            22px 16px 18px !important;

        border-radius: 18px !important;
    }

    html body
    .nabtech-locale-content
    .nabtech-locale-currency-title {
        margin-top: 20px !important;
    }

}


/* ---------- layouts ---------- */
html body .modal.nabtech-locale-modal:not([data-nbl-design="map"]) .nabtech-equal-earth-map { display: none !important; }
/* Cards: the map's cards without the map. */
/* List: one country or currency per row. */
html body .modal.nabtech-locale-modal[data-nbl-design="list"] .nabtech-locale-content .item-selector > [class*="col-"] { flex: 0 0 100% !important; max-width: 100% !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="list"] .nabtech-locale-content .item-selector { row-gap: 6px !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="list"] .nabtech-locale-content .item-selector .item { justify-content: flex-start !important; padding: 11px 14px !important; }
/* Compact: four small cards in a row and a narrower window. */
html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-dialog,
html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-content { max-width: 520px !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-content { padding: 22px 20px 18px !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-content .item-selector > [class*="col-"] { flex: 0 0 25% !important; max-width: 25% !important; padding-left: 4px !important; padding-right: 4px !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-content .item-selector .item { flex-direction: column !important; gap: 6px !important; padding: 10px 6px !important; font-size: 12.5px !important; text-align: center !important; }
/* Minimal: plain rows with a quiet tick for the current choice. */
html body .modal.nabtech-locale-modal[data-nbl-design="minimal"] .nabtech-locale-content .item-selector > [class*="col-"] { flex: 0 0 50% !important; max-width: 50% !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="minimal"] .nabtech-locale-content .item-selector .item { border-color: transparent !important; background: transparent !important; box-shadow: none !important; justify-content: flex-start !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="minimal"] .nabtech-locale-content .item-selector .item.active { background: rgba(37, 99, 235, .08) !important; color: #1d4ed8 !important; }
html body .modal.nabtech-locale-modal[data-nbl-design="minimal"] .nabtech-locale-content .item-selector .item.active::after { content: "\2713" !important; margin-left: auto !important; font-weight: 700 !important; }
@media (max-width: 575.98px) {
    html body .modal.nabtech-locale-modal[data-nbl-design="compact"] .nabtech-locale-content .item-selector > [class*="col-"] { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
    html body .modal.nabtech-locale-modal[data-nbl-design="minimal"] .nabtech-locale-content .item-selector > [class*="col-"] { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* ---------- dark ---------- */
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content { background: linear-gradient(160deg, #0f1a30, #0a1222) !important; border-color: rgba(148, 170, 210, .18) !important; box-shadow: 0 30px 80px rgba(0, 0, 0, .55) !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content :is(h1, h2, h3, h4, h5, h6, p, .h5, .nabtech-locale-section-title, .nabtech-locale-country-title, .nabtech-locale-currency-title) { color: #eef3fb !important; -webkit-text-fill-color: #eef3fb !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content .nabtech-equal-earth-map path { fill: #8fb3ff !important; fill-opacity: .08 !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content :is(a, label, .dropdown-item) { background: rgba(255, 255, 255, .05) !important; border-color: rgba(255, 255, 255, .10) !important; color: #dbe5f4 !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content :is(a, label, .dropdown-item):hover { background: rgba(122, 162, 255, .12) !important; border-color: rgba(122, 162, 255, .35) !important; color: #fff !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content :is(a, label, .dropdown-item).active { background: rgba(122, 162, 255, .20) !important; border-color: #7aa2ff !important; color: #fff !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"] .nabtech-locale-content :is(.close, .btn-close) { color: #dbe5f4 !important; background-color: rgba(255, 255, 255, .08) !important; }
html body .modal.nabtech-locale-modal[data-nbl-tone="dark"][data-nbl-design="minimal"] .nabtech-locale-content .item-selector .item:not(.active) { background: transparent !important; border-color: transparent !important; }
