/* Common desktop shell. InstantCMS owns menus, permissions and widget bindings. */
.home-desktop-only { display: none; }
.home-account > summary { display: grid; place-items: center; width: 40px; height: 40px; list-style: none; cursor: pointer; }
.home-account > summary::-webkit-details-marker { display: none; }
@media screen and (max-width: 1024px) {
    .home-account[data-ready] > summary { display: none; }
}

@media screen and (min-width: 1025px) {
    body.okha-site {
        --home-bg: #f5f7fc;
        --home-surface: #fff;
        --home-soft: #f0f4fc;
        --home-ink: #182438;
        --home-muted: #5b6880;
        --home-line: #e5eaf3;
        --home-blue: #0759e6;
        --home-blue-soft: #eaf1ff;
        --home-material: rgba(249, 251, 255, .94);
        --home-shadow: 0 6px 22px rgba(29, 56, 104, .065), 0 2px 6px rgba(29, 56, 104, .035);
        --home-radius: 20px;
        --home-ease: cubic-bezier(.22, 1, .36, 1);
        background: var(--home-bg) !important;
        color: var(--home-ink);
    }
    html[data-theme="dark"] body.okha-site {
        --home-bg: #10151d;
        --home-surface: #1b2330;
        --home-soft: #242e3d;
        --home-ink: #edf2fa;
        --home-muted: #b0bed1;
        --home-line: #354257;
        --home-blue: #83b8ff;
        --home-blue-soft: #243a59;
        --home-material: rgba(20, 27, 37, .96);
        --home-shadow: 0 6px 20px rgba(0, 0, 0, .18);
    }
    .okha-site .home-desktop-only { display: block; }
    body.okha-site .inner_wrap { width: calc(100% - 48px); min-width: 0; max-width: 1280px; }
    body.okha-site #wrap_100 { padding-top: 0; }
    body.okha-site #wrap_bg,
    body.okha-site #header_box,
    body.okha-site #bottom_wrap,
    body.okha-site #footer_wrap { background: transparent; box-shadow: none; }
    body.okha-site #wrap_box { padding: 0; }
    body.okha-site #header_line {
        position: sticky;
        top: 0;
        z-index: 110;
        background: var(--home-material);
        border-bottom: 1px solid var(--home-line);
        backdrop-filter: blur(18px) saturate(140%);
        -webkit-backdrop-filter: blur(18px) saturate(140%);
    }
    body.okha-site #page_ptop,
    body.okha-site #menu_replacer,
    body.okha-site #top_search,
    body.okha-site #scroll_news_box { display: none; }
    body.okha-site #header_box { position: relative; }
    body.okha-site #header { position: static; }
    .okha-site .home-masthead { display: flex; align-items: center; min-height: 68px; }
    .home-masthead__brand { display: inline-flex; align-items: center; flex-shrink: 0; }
    .home-masthead__brand img { width: 180px; height: auto; max-height: 52px; object-fit: contain; }
    body.okha-site #top_menu_box {
        position: absolute;
        top: -55px;
        right: 0;
        width: auto;
        background: transparent;
    }
    body.okha-site #top_menu { display: flex; align-items: center; gap: 8px; padding: 0; background: transparent; }
    body.okha-site #top_extra,
    body.okha-site #top_menu > .mobile_nav_box,
    body.okha-site #top_menu > select { display: none !important; }
    body.okha-site #top_menu::after { display: none; }
    body.okha-site #top_menu .site-appearance { order: 2; margin: 0 0 0 10px; }
    body.okha-site #top_menu nav { order: 1; }
    body.okha-site #top_menu ul.menu { display: flex; float: none; }
    body.okha-site #top_menu ul.menu li.level1 { float: none; border: 0; }
    body.okha-site #top_menu ul.menu li.level1 > a { padding: 0 10px; border-radius: 10px; color: var(--home-ink); background: transparent; }
    body.okha-site #top_menu ul.menu li.level1 > a > span { min-width: 24px; padding: 9px 0; font-size: 13px; }
    body.okha-site #top_menu ul.menu li.level1 > a > span::before { margin: 0; font-size: 23px; color: currentColor; }
    body.okha-site #top_menu ul.menu li.level1 > a:hover { color: var(--home-blue); background: var(--home-blue-soft); }
    body.okha-site #top_menu .site-appearance { background: var(--home-soft); color: var(--home-ink); border-color: var(--home-line); }
    .home-search { position: relative; margin-left: auto; margin-right: 205px; }
    body.okha-site #top_menu #user_box { display: none; }
    body.okha-site #top_menu .home-account { position: relative; order: 1; }
    body.okha-site #top_menu .home-account > summary { width: 42px; height: 42px; border-radius: 12px; color: var(--home-ink); }
    body.okha-site #top_menu .home-account > summary:hover,
    body.okha-site #top_menu .home-account[open] > summary { background: var(--home-blue-soft); color: var(--home-blue); }
    body.okha-site #top_menu .home-account > nav { position: absolute; top: 52px; right: 0; width: 290px; max-height: min(640px, calc(100vh - 150px)); overflow-y: auto; padding: 10px; border: 1px solid var(--home-line); border-radius: 16px; background: var(--home-surface); box-shadow: var(--home-shadow); }
    body.okha-site #top_menu .home-account ul.menu { display: block; width: 100%; margin: 0; }
    body.okha-site #top_menu .home-account ul.menu li { float: none; width: auto; border: 0; }
    body.okha-site #top_menu .home-account ul.menu li > a { display: block; padding: 0 10px; color: var(--home-ink); border: 0; border-radius: 8px; }
    body.okha-site #top_menu .home-account ul.menu li > a > span { display: block; padding: 9px 0; font-size: 13px; line-height: 1.35; text-transform: none; }
    body.okha-site #top_menu .home-account ul.menu li > a > span::before { font-size: 18px; margin-right: 8px; }
    body.okha-site #top_menu .home-account ul.menu li > a::before { display: none; }
    body.okha-site #top_menu .home-account ul.menu li > div { position: static !important; height: auto !important; width: auto !important; overflow: visible !important; box-shadow: none; background: transparent; }
    body.okha-site #top_menu .home-account ul.menu ul { position: static !important; margin: 0 0 8px 12px; width: auto; background: transparent; border-left: 1px solid var(--home-line); }
    body.okha-site #top_menu .home-account ul.menu ul > li > a > span { font-size: 12px; padding: 7px 0; }
    body.okha-site #top_menu .home-account ul.menu li > a > span,
    body.okha-site #top_menu .home-account ul.menu li > a > span::before { color: var(--home-ink) !important; }
    body.okha-site #top_menu .home-account ul.menu li > a:hover > span,
    body.okha-site #top_menu .home-account ul.menu li > a:hover > span::before { color: var(--home-blue) !important; }
    body.okha-site #top_menu .home-account ul.menu ul { display: block !important; height: auto !important; overflow: visible !important; left: auto !important; top: auto !important; opacity: 1 !important; }
    body.okha-site #top_menu .home-account ul.menu ul li { height: auto; padding: 0; margin: 0; }
    body.okha-site #top_menu .home-account ul.menu li > a:hover { color: var(--home-blue); background: var(--home-blue-soft); }
    .home-search > summary { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; cursor: pointer; list-style: none; color: var(--home-ink); }
    .home-search > summary::-webkit-details-marker { display: none; }
    .home-search > summary:hover,
    .home-search[open] > summary { color: var(--home-blue); background: var(--home-blue-soft); }
    .home-search form { position: absolute; top: 52px; right: 0; width: 380px; padding: 20px; border: 1px solid var(--home-line); border-radius: 16px; background: var(--home-surface); box-shadow: var(--home-shadow); z-index: 120; }
    .home-search form label { display: block; margin-bottom: 12px; font-size: 15px; font-weight: 650; }
    .home-search__field { display: flex; gap: 8px; }
    .home-search__field input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid var(--home-line); border-radius: 8px; background: var(--home-soft); color: var(--home-ink); font: inherit; font-size: 14px; }
    .home-search__field button { height: 40px; min-height: 0; padding: 0 14px; border: 0; border-radius: 8px; background: #0759e6; color: #fff; font-size: 13px; line-height: 40px; }
    body.okha-site #main_menu_box,
    body.okha-site #main_menu_box.fixed_nav { position: static !important; top: auto !important; width: 100%; background: transparent; box-shadow: none; }
    body.okha-site #main_menu { width: 100%; max-width: none; padding: 0 50px 10px 0 !important; background: transparent; box-sizing: border-box; }
    body.okha-site #age_limit.show[class] { top: 74px; right: max(20px, calc((100vw - 1280px) / 2)); bottom: auto; left: auto; width: 34px; height: 28px; line-height: 28px; border: 1px solid var(--home-line); border-radius: 8px; background: var(--home-soft); color: var(--home-muted); box-shadow: none; font-size: 12px; z-index: 111; }
    body.okha-site #main_menu #minilogo { display: none; }
    body.okha-site #main_menu ul.menu { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; width: 100%; box-shadow: none; }
    body.okha-site #main_menu ul.menu > li.level1 { float: none; flex: 0 0 auto; margin: 0; border: 0; background: transparent; text-transform: none; }
    body.okha-site #main_menu ul.menu > li.level1 > a { display: flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 11px; color: var(--home-ink); background: transparent; text-transform: none; font-size: 13px; }
    body.okha-site #main_menu ul.menu > li.level1 > a > span { padding: 0; font-size: 13px; line-height: 1.3; font-weight: 550; }
    body.okha-site #main_menu ul.menu > li.level1 > a > span.notext::before { font-size: 22px; }
    body.okha-site #main_menu ul.menu > li.level1.active > a,
    body.okha-site #main_menu ul.menu > li.level1 > a:hover { background: var(--home-blue-soft); color: var(--home-blue); }
    body.okha-site #main_menu ul.menu > li.level1.active > a > span::before { color: var(--home-blue); }
    body.okha-site #main_menu ul.menu li.level1.parent_l1 > a::before { display: none; }
    body.okha-site #main_menu ul.menu li.level1.parent_l1 > a::after { content: ''; width: 6px; height: 6px; margin-left: 10px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
    body.okha-site #main_menu ul.menu li > div { top: 40px; border-radius: 14px; background: var(--home-surface); box-shadow: var(--home-shadow); }
    body.okha-site #main_menu ul.menu li:focus-within > div { height: auto !important; overflow: visible; }
    body.okha-site #main_menu ul.menu li:focus-within > div > ul { position: relative; }
    body.okha-site #main_menu ul.menu ul { display: block; }
    body.okha-site #main_menu ul.menu ul li a { color: var(--home-ink); border-color: var(--home-line) !important; }
    body.okha-site #main_menu ul.menu ul li:hover { background: var(--home-blue-soft); }
    /* Existing CMS icon selections use Lucide SVGs on this surface. */
    body.okha-site .dt-i-home { --home-icon: url("../images/icons/lucide/house.svg"); }
    body.okha-site .dt-i-calendar { --home-icon: url("../images/icons/lucide/calendar-days.svg"); }
    body.okha-site .dt-i-calendar-empty { --home-icon: url("../images/icons/lucide/calendar-days.svg"); }
    body.okha-site .dt-i-video { --home-icon: url("../images/icons/lucide/clapperboard.svg"); }
    body.okha-site .dt-i-flight { --home-icon: url("../images/icons/lucide/plane.svg"); }
    body.okha-site .dt-i-flash { --home-icon: url("../images/icons/lucide/zap.svg"); }
    body.okha-site .dt-i-gauge { --home-icon: url("../images/icons/lucide/gauge.svg"); }
    body.okha-site .dt-i-plus { --home-icon: url("../images/icons/lucide/cross.svg"); }
    body.okha-site .dt-i-megaphone { --home-icon: url("../images/icons/lucide/megaphone.svg"); }
    body.okha-site .dt-i-star { --home-icon: url("../images/icons/lucide/star.svg"); }
    body.okha-site .dt-i-search { --home-icon: url("../images/icons/lucide/search.svg"); }
    body.okha-site .dt-i-user { --home-icon: url("../images/icons/lucide/user-round.svg"); }
    body.okha-site :is(.dt-i-user-add, .dt-i-user-plus) { --home-icon: url("../images/icons/lucide/user-round-plus.svg"); }
    body.okha-site .dt-i-login { --home-icon: url("../images/icons/lucide/log-in.svg"); }
    body.okha-site .dt-i-key { --home-icon: url("../images/icons/lucide/key-round.svg"); }
    body.okha-site .dt-i-mail { --home-icon: url("../images/icons/lucide/mail.svg"); }
    body.okha-site .dt-i-clock { --home-icon: url("../images/icons/lucide/clock-3.svg"); }
    body.okha-site .dt-i-clock-1 { --home-icon: url("../images/icons/lucide/clock-3.svg"); }
    body.okha-site .dt-i-eye { --home-icon: url("../images/icons/lucide/eye.svg"); }
    body.okha-site .dt-i-up-open { --home-icon: url("../images/icons/lucide/arrow-up.svg"); }
    body.okha-site .dt-i-menu { --home-icon: url("../images/icons/lucide/menu.svg"); }
    body.okha-site :is(#main_menu, .home-menu-tiles, .home-account) :is(.dt-i-home, .dt-i-calendar, .dt-i-calendar-empty, .dt-i-video, .dt-i-flight, .dt-i-flash, .dt-i-gauge, .dt-i-plus, .dt-i-megaphone, .dt-i-star, .dt-i-search, .dt-i-user, .dt-i-user-add, .dt-i-user-plus, .dt-i-login, .dt-i-key, .dt-i-mail, .dt-i-clock, .dt-i-clock-1, .dt-i-eye, .dt-i-up-open, .dt-i-menu)::before {
        content: ''; display: inline-block; width: 22px; height: 22px; background: currentColor;
        -webkit-mask: var(--home-icon) center / contain no-repeat; mask: var(--home-icon) center / contain no-repeat;
        vertical-align: middle;
    }
    body.okha-site #content_c_wrap .home-menu-tiles [class*="dt-i-"]::before { width: 28px; height: 28px; justify-self: center; }
    body.okha-site .home-account [class*="dt-i-"]::before { width: 18px; height: 18px; }
    body.okha-site :is(a, summary, select, button):focus-visible { outline: 2px solid var(--home-blue); outline-offset: 4px; }
    body.okha-site ::selection { color: var(--home-ink); background: var(--home-blue-soft); }
    body.okha-site input { caret-color: var(--home-blue); }
    body.okha-site :is(.home-account > nav, .home-search form) { scrollbar-color: var(--home-muted) var(--home-soft); scrollbar-width: thin; }
    body.okha-site #main_menu ul.menu > li.level1 > a { transition: background-color 160ms ease, color 160ms ease; }
    body.okha-site #wrap_bg { margin-top: 0; }
    body.okha-site:not(.okha-home) #content_bg { background: var(--home-surface); border-radius: 20px; box-shadow: var(--home-shadow); }
    body.okha-site:not(.okha-home) #content_c_wrap { padding: 24px; box-sizing: border-box; }
    body.okha-site:not(.okha-home) .widget > .title { border-color: var(--home-line); }
    body.okha-site:not(.okha-home) .widget > .title > span { color: var(--home-ink); text-transform: none; letter-spacing: -.02em; }
    body.okha-site:not(.okha-home) #sidebar_column .widget > .body { border-radius: 16px; background: var(--home-surface); box-shadow: var(--home-shadow); }
    body.okha-site:not(.okha-home) #breadcrumbs { color: var(--home-muted); padding: 0 0 16px; }
    body.okha-site:not(.okha-home) #breadcrumbs a { color: var(--home-muted); }
    body.okha-site:not(.okha-home) #content h1 { color: var(--home-ink); letter-spacing: -.035em; line-height: 1.15; }
    @media (max-width:1199px) {
        body.okha-site .inner_wrap { width: calc(100% - 40px); }
        body.okha-site #main_menu ul.menu > li.level1 > a { padding: 0 9px; font-size: 12px; }
    }
    @media (prefers-reduced-motion: reduce) { body.okha-site #main_menu ul.menu > li.level1 > a { transition: none; } }
    @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
        body.okha-site #header_line { background: var(--home-bg); backdrop-filter: none; -webkit-backdrop-filter: none; }
    }
}

/* Rounded creatives are shared by every route and device. */
body :is(#banner1,#banner2,#banner3,#banner4,.rotatorbanners,.widget_rotatorbanners) :is(img,iframe),
body a[href*="/rotatorbanners/go/"] img,
body [id^="yandex_rtb_"] { border-radius:18px; }
body [id^="yandex_rtb_"] { overflow:hidden; }
@media screen and (min-width:1025px) {
 body.okha-site .widget > .title { display:flex; align-items:baseline; gap:12px; }
 body.okha-site .widget > .title::after { display:none; }
 body.okha-site .widget > .title > span { width:auto; min-width:0; }
 body.okha-site .widget > .title .links { position:static; float:none; width:auto; margin:0 0 0 auto; padding:0; text-align:right; flex-shrink:0; }
 body.okha-site .widget > .title .links a { white-space:nowrap; }
}

@media screen and (min-width:1025px) {
 body.okha-site #banner2 { margin:18px 0 22px; padding:0; }
 body.okha-site #banner2 .column:first-child { margin-right:9px; }
 body.okha-site #banner2 .column:last-child { margin-left:9px; }
 body.okha-site #banner2 img { border-radius:18px; }
 body.okha-site #main_menu ul.menu ul li > a,
 body.okha-site #main_menu ul.menu ul li > a > span,
 body.okha-site #main_menu ul.menu ul li > a > span::before { color:var(--home-ink) !important; background:transparent; }
 body.okha-site #main_menu ul.menu ul li:hover > a,
 body.okha-site #main_menu ul.menu ul li:hover > a > span,
 body.okha-site #main_menu ul.menu ul li:hover > a > span::before,
 body.okha-site #main_menu ul.menu ul li.active > a > span { color:var(--home-blue) !important; }
}

@media screen and (min-width:1025px) {
 /* Reset the legacy active LI fill; the rounded link owns its background. */
 html[data-theme] body.okha-site #main_menu ul.menu > li.level1,
 html[data-theme] body.okha-site #main_menu ul.menu > li.level1:is(.active,:hover) { background:transparent; }
 body.okha-site #main_menu ul.menu > li.level1 > a:has(> span.notext) { justify-content:center; width:40px; height:38px; padding:0; box-sizing:border-box; }
 body.okha-site #main_menu ul.menu > li.level1 > a > span.notext { display:grid; place-items:center; width:22px; height:22px; margin:0; padding:0; line-height:1; }
 body.okha-site #main_menu ul.menu > li.level1 > a > span.notext::before { display:block; margin:0; width:22px; height:22px; line-height:1; vertical-align:initial; }
}

/* Native controls share the shell's shape; component-specific colors stay intact. */
body.okha-site :is(.button, .button-submit, .button-cancel, .back_button a, .filter-panel .filter-link a, input[type="submit"], input[type="button"], input[type="reset"], button) { border-radius:11px; }
body.okha-site .filter-panel { border:1px solid var(--appearance-line, #e5eaf3); border-radius:16px; }
body.okha-site :is(.button, .button-submit, .filter-panel .filter-link a, input[type="submit"], input[type="button"]) { transition:background-color 160ms ease, box-shadow 160ms ease; }
@media (prefers-reduced-motion:reduce) { body.okha-site :is(.button, .button-submit, .filter-panel .filter-link a, input[type="submit"], input[type="button"]) { transition:none; } }
