        /* --- 1. БАЗА --- */
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', 'Inter Fallback', sans-serif; -webkit-font-smoothing: antialiased; padding-top: 0; }
        
        /* Компенсация админ-бара WP */
        body.admin-bar header { top: 32px; }
        body.admin-bar .apple-search-overlay { top: 32px; }
        
        @media screen and (max-width: 782px) {
            body.admin-bar header { top: 46px; }
            body.admin-bar .apple-search-overlay { top: 46px; }
        }

        /* --- 2. ПОИСК (Fullscreen Overlay) --- */
        .apple-search-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
            background: #ffffff;
            z-index: 10001; opacity: 0; visibility: hidden; pointer-events: none;
            transition: all 0.25s ease;
            transform: translateY(-10px); overflow-y: auto;
        }
        .apple-search-overlay.active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }

        /* Стиль инпута поиска */
        .apple-search-input-wrapper input[type="text"], 
        .apple-search-input-wrapper input[type="search"] {
            width: 100% !important; background: transparent !important; border: none !important;
            border-bottom: 2px solid #e5e7eb !important; border-radius: 0 !important;
            padding: 20px 40px 20px 0 !important; font-size: 24px !important; font-weight: 600 !important;
            color: #111 !important; box-shadow: none !important; outline: none !important;
        }
        .apple-search-input-wrapper input:focus { border-bottom-color: #3b82f6 !important; }
        .apple-search-input-wrapper input::placeholder { color: #9ca3af !important; font-weight: 500 !important; opacity: 1; }

        /* Затемнение фона (Overlay) */
        .site-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9000;
            opacity: 0; visibility: hidden; transition: opacity 0.3s;
        }
        .site-overlay.active { opacity: 1; visibility: visible; }
        #mobile-menu { z-index: 10002 !important; position: fixed !important; top: 72px; left: 0; right: 0; }
        @media (min-width: 1024px) {
            #mobile-menu {
                top: 76px;
                left: auto;
                right: max(24px, calc((100vw - 1440px) / 2 + 24px));
                width: min(360px, calc(100vw - 48px));
                height: auto;
                max-height: calc(100vh - 96px);
                border: 1px solid #e2e8f0;
                border-radius: 22px;
                overflow: auto;
            }
        }
        .itbs-fav-toggle--desktop { display: inline-flex !important; }
        @media (max-width: 1024px) {
            .itbs-fav-fab { display: none !important; }
        }

        /* --- 4. Вспомогательное --- */
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        .region-dropdown { opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.2s ease-in-out; }
        .region-group:hover .region-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
        /* --- Регион: аккуратный выпадающий список --- */
        .region-dropdown {
            width: 780px !important;
            max-width: 90vw !important;
            min-width: 720px !important;
            max-height: min(70vh, 520px);
        }
        .region-dropdown__top {
            padding-bottom: 0.25rem;
            border-bottom: 1px solid rgba(17,24,39,0.08);
        }
        .region-dropdown__all,
        body:not(.itbs-theme-custom) header.header-transparent .region-dropdown a.region-dropdown__all {
            background: #fff7d6 !important;
            border: 1px solid #f0c95a;
            color: #6b3600 !important;
            text-shadow: none !important;
            box-shadow: 0 5px 15px rgba(107,54,0,0.08);
        }
        .region-dropdown__all:hover,
        body:not(.itbs-theme-custom) header.header-transparent .region-dropdown a.region-dropdown__all:hover {
            background: #ffedab !important;
            border-color: #dcae2f;
            color: #401f00 !important;
        }
        .region-dropdown__all:focus-visible {
            outline: 3px solid rgba(230,81,0,0.28);
            outline-offset: 3px;
        }
        .region-dropdown__list {
            max-height: calc(min(70vh, 520px) - 48px);
            overflow-y: auto;
            overflow-x: hidden;
            column-count: 3;
            column-gap: 24px;
        }
        .region-dropdown__list .region-group-block {
            break-inside: avoid;
            -webkit-column-break-inside: avoid;
            page-break-inside: avoid;
        }
        .region-dropdown__list a {
            white-space: normal;
            line-height: 1.25rem;
        }
        /* --- PALETTE (International Orange) --- */
        :root {
            --itbs-bg: #FFFFFF;
            --itbs-muted-bg: #F9FAFB;
            --itbs-card: #FFFFFF;
            --itbs-primary: #FF6B00;       /* International Orange (soft) */
            --itbs-primary-dark: #E65100;  /* Hover/darken */
            --itbs-secondary: #0F172A;     /* Slate 900 */
            --itbs-text: #1F2937;          /* Gray 800: основной текст должен читаться, а не прятаться */
            --itbs-heading: #111827;       /* Slate 900 */
            --itbs-muted: #4B5563;         /* Gray 600: вторичный, но всё ещё читаемый текст */
            --itbs-subtle: #64748B;        /* Slate 500: подписи и метаданные */
        }
        body { background: var(--itbs-bg); color: var(--itbs-text); }
        header {
            transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
        }
        header.header-solid {
            background: rgba(255,255,255,0.96);
            border-bottom: 1px solid #e5e7eb;
            color: var(--itbs-text);
        }
        body:not(.itbs-theme-custom) header.header-transparent {
            background: linear-gradient(180deg, rgba(0,0,0,0.6), rgba(0,0,0,0.12));
            border-bottom: 1px solid rgba(255,255,255,0.12);
            color: #f9fafb;
        }
        body:not(.itbs-theme-custom) header.header-transparent nav a,
        body:not(.itbs-theme-custom) header.header-transparent .region-group button,
        body:not(.itbs-theme-custom) header.header-transparent .region-group svg {
            color: #f9fafb !important;
            text-shadow: 0 2px 8px rgba(0,0,0,0.35);
        }
        @media (max-width: 1024px) {
            body:not(.itbs-theme-custom) header.header-transparent .region-group button,
            body:not(.itbs-theme-custom) header.header-transparent #itbs-region-switcher-mobile {
                color: #f9fafb !important;
                text-shadow: 0 2px 8px rgba(0,0,0,0.35);
            }
            body:not(.itbs-theme-custom) header.header-transparent .region-group svg { color: #f9fafb !important; }
        }
        body:not(.itbs-theme-custom) header.header-transparent nav a:hover { color: #ffffff !important; }
        body:not(.itbs-theme-custom) header.header-transparent .itbs-header-icon,
        body:not(.itbs-theme-custom) header.header-transparent .itbs-header-icon svg { color: #f9fafb !important; }
        body:not(.itbs-theme-custom) header.header-transparent .itbs-header-icon {
            background: transparent;
            border-color: rgba(255,255,255,0.35);
        }
        body:not(.itbs-theme-custom) header.header-transparent .itbs-header-icon:hover { background: rgba(255,255,255,0.12); }
        body:not(.itbs-theme-custom) header.header-transparent .btn-login { background: rgba(255,255,255,0.18); color: #fff; }
        body:not(.itbs-theme-custom) header.header-transparent .btn-login:hover { background: rgba(255,255,255,0.26); color: #fff; }
        body:not(.itbs-theme-custom) header.header-transparent .header-currency {
            background: rgba(0,0,0,0.2);
            border-color: rgba(255,255,255,0.28);
            color: #f9fafb !important;
            box-shadow: 0 8px 22px -12px rgba(0,0,0,0.55);
        }
        body:not(.itbs-theme-custom) header.header-transparent .header-currency select {
            appearance: none;
            background: rgba(0,0,0,0.25) !important;
            color: #f9fafb !important;
            border: 1px solid rgba(255,255,255,0.4) !important;
            text-shadow: 0 1px 6px rgba(0,0,0,0.35);
            backdrop-filter: blur(4px);
        }
        body:not(.itbs-theme-custom) header.header-transparent .header-currency span,
        body:not(.itbs-theme-custom) header.header-transparent .header-currency option { color: #f9fafb !important; }
        body:not(.itbs-theme-custom) header.header-transparent .btn-login,
        body:not(.itbs-theme-custom) header.header-transparent .itbs-header-icon,
        body:not(.itbs-theme-custom) header.header-transparent nav a { text-shadow: 0 1px 10px rgba(0,0,0,0.35); }
        /* Светлый текст у переключателя региона на тёмной шапке */
        body:not(.itbs-theme-custom) header.header-transparent .region-group button { color: #f9fafb !important; text-shadow: 0 1px 8px rgba(0,0,0,0.4); }
        body:not(.itbs-theme-custom) header.header-transparent .region-group button svg { color: #e5e7eb !important; }
        body:not(.itbs-theme-custom) header.header-transparent .logo-wrap {
            background: rgba(255,255,255,0.95);
            border-color: rgba(255,255,255,0.95);
        }
        body:not(.itbs-theme-custom) header.header-transparent .burger-icon { color: #f9fafb !important; opacity: 0.9; }
        .region-dropdown { border-color: rgba(17,24,39,0.08); }
        nav a { color: var(--itbs-text); }
        nav a:hover { color: var(--itbs-secondary); }
        .btn-login {
            background: #0F172A;
            color: #fff;
        }
        .btn-login:hover { color: #fff; background: #111827; }

        /* Buttons / chips */
        /* Theme buttons with a modifier (.itbs-btn--ghost, --light, --dark…) paint themselves (assets/themes/base.css). */
        .itbs-btn:not([class*="itbs-btn--"]), .itbs-btn-primary,
        button.itbs-btn:not([class*="itbs-btn--"]), button.itbs-btn-primary,
        .wp-block-button__link {
            background: var(--itbs-primary) !important;
            color: #fff !important;
            border-color: var(--itbs-primary) !important;
            box-shadow: 0 12px 30px -12px rgba(0,0,0,0.15);
        }
        .itbs-btn:not([class*="itbs-btn--"]):hover, .itbs-btn-primary:hover,
        .wp-block-button__link:hover {
            background: var(--itbs-primary-dark) !important;
        }
        .itbs-btn-secondary {
            border-color: var(--itbs-secondary) !important;
            color: var(--itbs-secondary) !important;
            background: #fff !important;
        }
        .itbs-chip {
            background: rgba(255,107,0,0.12) !important;
            color: var(--itbs-primary-dark) !important;
        }

        /* Tailwind overrides (limit to accents without залива всего в оранжевый) */
        .bg-blue-50, .bg-blue-50\/30, .bg-blue-100 { background-color: var(--itbs-muted-bg) !important; }
        .bg-blue-500, .bg-blue-600, .hover\:bg-blue-600:hover, .hover\:bg-blue-700:hover { background-color: var(--itbs-secondary) !important; }
        .text-blue-600, .hover\:text-blue-600:hover, .text-blue-700, .hover\:text-blue-700:hover { color: var(--itbs-secondary) !important; }
        .border-blue-500, .border-blue-100, .border-blue-200 { border-color: rgba(15,23,42,0.85) !important; }
        /* Force primary accent on key elements */
        body:not(.itbs-theme-custom) .itbs-dynamic-price { color: var(--itbs-primary) !important; }
        .itbs-fav-toggle--desktop svg,
        .itbs-fav-toggle--desktop .icon,
        .itbs-fav-toggle--desktop .count { color: var(--itbs-primary) !important; }

        /* Cards */
        .bg-slate-50, .bg-gray-50 { background-color: var(--itbs-muted-bg) !important; }
        .bg-white { background-color: var(--itbs-card) !important; }
        .text-gray-400, .text-slate-400 { color: var(--itbs-subtle) !important; }
        .text-gray-500, .text-slate-500 { color: var(--itbs-muted) !important; }
        .text-gray-600, .text-slate-600 { color: #374151 !important; }
        .text-gray-900 { color: var(--itbs-heading) !important; }
        h1, h2, h3, h4, h5, h6 { color: var(--itbs-heading); }
        /* На тёмном футере сохраняем светлую, контрастную иерархию текста. */
        footer.itbs-site-footer .text-gray-400, footer.itbs-site-footer .text-slate-400 { color: #CBD5E1 !important; }
        footer.itbs-site-footer .text-gray-500, footer.itbs-site-footer .text-slate-500 { color: #94A3B8 !important; }
        /* Сохраняем светлые заголовки в герое с классом text-white */
        h1.text-white, h2.text-white, h3.text-white, .hero-title-light {
            color: #f8fafc !important;
            text-shadow: 0 8px 30px rgba(0,0,0,0.35);
        }

        /* Links */
        a { color: inherit; }
        a:hover { color: var(--itbs-secondary); }
        /* classic header layout: own rules, the prebuilt Tailwind has no gap-7 / lg:flex */
        #main-header .itbs-header-nav { display: none; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: center; gap: 28px; }
        #main-header .itbs-header-nav > a { white-space: nowrap; }
        #main-header .itbs-header-tools { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
        @media (min-width: 1100px) { #main-header .itbs-header-nav { display: flex; } }
        @media (min-width: 1100px) and (max-width: 1279px) { #main-header .itbs-header-nav { gap: 20px; } #main-header .itbs-header-nav .itbs-nav-wide { display: none; } }

/* Footer: the networks as round buttons with their marks (the name is the label and the tooltip). */
.itbs-social { display: flex; flex-wrap: wrap; gap: 8px; }
.itbs-social__btn { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #1f2937; color: #fff !important; transition: background-color .15s ease, transform .15s ease; }
.itbs-social__btn:hover { transform: translateY(-1px); background: #374151; }
.itbs-social__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.itbs-social__btn img { width: 18px; height: 18px; object-fit: contain; }
.itbs-social__btn.is-whatsapp { background: #16a34a; }
.itbs-social__btn.is-whatsapp:hover { background: #15803d; }
.itbs-social__btn.is-telegram:hover { background: #229ed9; }
.itbs-social__btn.is-instagram:hover { background: #d62976; }
.itbs-social__btn.is-facebook:hover { background: #1877f2; }
.itbs-social__btn.is-youtube:hover { background: #e00000; }
.itbs-social__btn.is-linkedin:hover { background: #0a66c2; }
.itbs-social__btn.is-tiktok:hover, .itbs-social__btn.is-twitter:hover { background: #000; }
@media (max-width: 480px) { .itbs-social { gap: 6px; } .itbs-social__btn { width: 38px; height: 38px; border-radius: 11px; } }
.itbs-social__word { font: 800 11px/1 Inter, system-ui, sans-serif; letter-spacing: -.01em; }
.itbs-social__word[data-len="5"], .itbs-social__word[data-len="6"] { font-size: 9.5px; }
.itbs-social__btn.is-zalo { background: #0068ff; }
.itbs-social__btn.is-viber { background: #7360f2; }
.itbs-social__btn.is-line { background: #06c755; }
.itbs-social__btn.is-wechat { background: #07c160; }
.itbs-social__btn.is-kakaotalk { background: #fee500; color: #191919 !important; }
.itbs-social__btn.is-messenger:hover { background: #0866ff; }
.itbs-social__btn.is-vk:hover { background: #0077ff; }
.itbs-social__btn:is(.is-zalo, .is-viber, .is-line, .is-wechat, .is-kakaotalk):hover { filter: brightness(1.08); }
