@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&display=swap');

:root {
    --orange: #EF6860;
}

body {
    --card-interactive-zoom: 1.045;
    font-family: Geologica, monospace;
    color: #38596A;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px;
    letter-spacing: -1.029px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    background-color: #F6F9FC;
    display: flex;
    flex-direction: column;
    height: 100vh; /* Full viewport height */
}

.small-text {
    font-size: 14px;
    line-height: 23px;
    letter-spacing: -0.73px;
}

a {
    color: #0083DA;
    font-weight: 600;
    line-height: 27px;
    /* 180% */
    letter-spacing: -0.691px;
    text-decoration: none;
}

h1 {
    font-size: 58px;
    font-weight: 800;
    line-height: 61px;
    /* 87.143% */
    letter-spacing: -0.921px;
}

h2 {
    font-size: 26px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: -1.2px;
}

h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: -1.11px;
}

.faded-out-text {
    overflow: hidden;
    position: relative;
}

.faded-out-text:after {
    content: ' ';
    height: 46px;
    width: 100%;
    bottom: 0;
    left: 0;
    position: absolute;
    background: linear-gradient(0deg, #ffffff 20%, transparent 80%);
}

.shadow {
    box-shadow: 10px 10px 30px 0 #D1D9EB;
}

.border-radius {
    border-radius: 27px;
}

.border-radius--small {
    border-radius: 19px;
}

.border-radius--controls {
    border-radius: 12px;
}

.card {
    border-radius: 27px;
    box-shadow: 10px 10px 30px 0 #D1D9EB;
    width: 100%;
    overflow: hidden;
}

.card--interactive {
    position: absolute;
    height: 100%;
}

.card--interactive:hover {
    --card-size: calc(var(--card-interactive-zoom) * 100%);
    --card-half-size: calc(var(--card-size) / 2);
    --card-zoomed-position: calc(var(--card-half-size) - 50%);
    zoom: var(--card-interactive-zoom);
    width: var(--card-size);
    height: var(--card-size);
    top: calc(-1 * var(--card-zoomed-position));
    left: calc(-1 * var(--card-zoomed-position));
}

.topline {
    background: #0083DA;
    justify-content: center;
    display: flex;
    margin-bottom: 80px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    align-items: center;
    z-index: 1000; /* Ensure it's above other content */
}

@media (min-width: 1280px) {
    header.topline > .container {
        height: 120px;
        margin-top: 34px;
    }
}

header nav.navbar-expand-lg {
    padding-left: 0;
}
header .search-wrap {
    margin-right: 0px;
}

.search-wrap .search-btn
{
    margin-top: 0;
    color: white;
    padding: 6px 16px;
    border-radius: 12px;
    color: white;
}

.search-btn:hover,
.search-btn:focus{
    opacity:1;
    background: rgba(254, 240, 239, 0.2);
    outline: none;
}
.main-menu ul {
    display: none;
}

.container {
    max-width: 1280px;
}

.main-menu {
    z-index: 1;
    position: absolute;
    bottom: -36px;
    background: transparent;
    width: 100%;
}

.main-menu nav.blue-menu {
    box-shadow: 10px 10px 30px rgba(20, 24, 33, 0.47);
    border-radius: 19px;
    padding: 9px 15px 10px 27px;
    background: #EDF3F8;
}

.main-menu nav.blue-menu .nav-item:not(.show-children) ul,
.main-menu nav.blue-menu .nav-item:not(.show-children) .dropdown-scroll {
    display: none;
}

.main-menu nav.blue-menu .nav-item.show-children {
    color: rgba(7, 50, 72, 1);
    border-radius: 12px;
    background: rgba(0, 131, 218, 0.1) !important;
}

.main-menu nav.blue-menu .nav-item.show-children > .nav-link {
    background: transparent !important;
    border-radius: 0;
}

.main-menu nav.blue-menu .nav-item.show-children ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
    background-color: #ffffff;
    box-shadow: 10px 10px 30px rgba(209, 217, 235, 0.8);
    z-index: 500;
}

.main-menu nav.blue-menu .nav-item.show-children .dropdown-scroll {
    display: block;
    position: absolute;
    bottom: -12px;
    width: max-content;
}

.main-menu nav.blue-menu .nav-item.show-children ul:not(.sec-children) {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    width: max-content;
    max-height: 70vh;
    overflow-y: auto;
    scrollbar-width: none;
}
.main-menu nav.blue-menu .nav-item.show-children ul:not(.sec-children)::-webkit-scrollbar {
    width: 0;
}

/* scroll arrow buttons (replace scrollbar for the dropdown list) */
.dropdown-scroll .scroll-arrow {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(20, 24, 33, 0.2);
    z-index: 10;
}
.dropdown-scroll .scroll-arrow-up {
    top: -14px;
}
.dropdown-scroll .scroll-arrow-down {
    bottom: -14px;
}
.dropdown-scroll .scroll-arrow[hidden] {
    display: none;
}
.dropdown-scroll .scroll-arrow:hover {
    background: rgba(0, 131, 218, 0.1);
}
.dropdown-scroll .scroll-arrow svg path {
    stroke: #0083DA;
}

.main-menu nav.blue-menu .nav-item.show-children ul:not(.sec-children)::before,
.main-menu nav.blue-menu .nav-item.show-children ul.first-child-has-sec::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}

.main-menu nav.blue-menu .nav-item.show-children ul.first-child-has-sec {
    display: flex;
    flex-direction: column;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    border-radius: 0px 16px 16px 0px;
    min-width: 200px;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children li {
    min-height: 42px;
    border-bottom: 1px solid #E9EEF4;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children li:last-child {
    border-bottom: none;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children a:hover {
    border-radius: 0;
}

.main-menu nav.blue-menu .nav-item.show-children ul:not(.sec-children) > li.active {
    background: rgba(239, 104, 96, 0.1);
}

.main-menu nav.blue-menu .nav-item.show-children ul:not(.sec-children) > li.active > a.nav-link {
    color: #EF6860;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children li.active {
    background: rgba(239, 104, 96, 0.1);
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children li.active a {
    color: #EF6860;
}

.main-menu nav.blue-menu .nav-item.show-children ul li {
    display: inline-flex;
    width: 100%;
    min-height: 56px;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #E9EEF4;
    box-sizing: border-box;
}

.main-menu nav.blue-menu .nav-item.show-children ul li:last-child {
    border-bottom: none;
}

.main-menu nav.blue-menu .nav-item.show-children ul li:hover {
    background: rgba(0, 131, 218, 0.05);
    border-radius: 0;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children {
    background: #F6F9FC;
    position: relative;
    border-radius: 16px 0 0 16px;
}

.main-menu nav.blue-menu .nav-item.show-children ul span.arrow-right {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: 6px;
}

.main-menu nav.blue-menu .nav-item.show-children ul a {
    color: rgba(7, 50, 72, 1);
    padding: 13px 16px;
    width: 100%;
}

.main-menu nav.blue-menu .nav-item.show-children ul a.child2 {
    color: #313131;
    padding: 12px 16px;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.285834px;
}

.main-menu nav.blue-menu .nav-item.show-children ul li.show-children .sec-children li.active > .nav-link.child2 {
    color: #EF6860;
}

.main-menu nav.blue-menu .nav-item.show-children:hover {
    background: rgba(0, 131, 218, 0.1) !important;
}
.main-menu nav.blue-menu .nav-item {
    margin: 0 auto;
    position: relative;

    &.active {
        background-color: rgba(0, 131, 218, 0.1);
        border-radius: 12px;
    }
}

.main-menu nav.blue-menu .nav-link {
    font-family: Geologica;
    font-weight: 600;
    font-size: 19px;
    leading-trim: none;
    line-height: 100%;
    letter-spacing: -0.5px;
    color: #073248;
    display: inline-block;
    padding: 13px 10px;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease;
}

.main-menu nav.blue-menu .nav-link.child {
    color: rgba(7, 50, 72, 1);
    display: inline-block;
    padding: 13px 16px;
    transition: all 0.16s linear;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: -0.736924px;
    text-align: left;
}

.main-menu nav.blue-menu .nav-link.child2 {
    color: #313131;
    display: inline-block;
    padding: 12px 16px;
    transition: all 0.16s linear;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: -0.285834px;
    text-align: left;
}

.main-menu nav.blue-menu .nav-link.cart {
    background: url("/images/html/cart.svg") left 7px top 13px no-repeat;
    display: block;
    padding-left: 35px;
}

.main-menu nav.blue-menu .nav-link.cart:hover {
    background-image: url("/images/html/cart-blue.svg");
}

.main-menu nav.blue-menu .nav-link.register {
    background: url("/images/html/clipboard-with-pencil.svg") no-repeat top 13px left 0;
    background-size: 20px 20px;
    display: block;
    padding-left: 28px;
}

.main-menu nav.blue-menu .nav-link:hover {
    color: #0083DA;
    border-radius: 8px;
    background: rgba(0, 131, 218, 0.07);
}
.main-menu nav.blue-menu .nav-link:active {
    transform: scale(0.98);
}

.main-menu nav.blue-menu .nav-link.child:hover {
    color: inherit !important;
    background: none;
    border-radius:0;
}

.langmenu.select-wrap {
    width: 74px;
}

/* Portal: sec-children (3rd level) appended to <body> to escape overflow clipping */
.sec-children-portal {
    display: none;
    position: fixed;
    z-index: 9999;
    padding-left: 0;
    list-style: none;
    background-color: #ffffff;
    box-shadow: 10px 10px 30px rgba(209, 217, 235, 0.8);
    border-radius: 0px 16px 16px 0px;
    width: 280px;
}
.sec-children-portal.visible {
    display: block;
}
.sec-children-portal > li {
    display: flex;
    min-height: 42px;
    align-items: center;
    border-bottom: 1px solid #E9EEF4;
    box-sizing: border-box;
}
.sec-children-portal > li:last-child {
    border-bottom: none;
}
.sec-children-portal > li.active {
    background: rgba(239, 104, 96, 0.1);
}
.sec-children-portal > li.active > a {
    color: #EF6860 !important;
}
.sec-children-portal > li:hover {
    background: rgba(0, 131, 218, 0.05);
}
.sec-children-portal > li > a {
    color: #313131;
    padding: 12px 16px;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    font-family: Geologica, sans-serif;
    letter-spacing: -0.285834px;
    line-height: 18px;
    text-decoration: none;
    display: block;
}
.sec-children-portal > li > a:hover {
    color: #0083DA;
}

.langmenu.select-wrap .select-value {
    background: none;
    background-color: transparent;
    border: 0;
    color: white;
    font-size: 14px;
    font-weight: 400;
    padding: 0;
    padding-bottom: 0;
    padding-left: 0px;
    padding-right: 15px;
    padding-top: 0;
    text-align: center;
    text-align: left;
}

.langmenu.select-wrap .select-value:hover {
    background: rgba(254, 240, 239, 0.2);
    border-radius: 12px;
}

.langmenu.select-wrap .select-value span,
.langmenu.select-wrap .select-value a {
    display: inline-block;
    padding-top: 3px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 400;
    line-height: 17.5px;
}

.langmenu.select-wrap .select-value:after {
    background-color: transparent;
    background-image: url(../images/down_arrow.png);
        background-position: right 8px center;
}

.langmenu.select-wrap .select-options a.lang {
    display: block;
    height: 17px;
    min-width: 80px;
    text-align: left;
}

.langmenu.select-wrap .select-options a.lang img {
    max-width: none;
}

.langmenu.select-wrap .select-options {
    background-color: #fff;
    border-color: #f0f1f5;
}

.langmenu.select-wrap .select-options .option {
    background-color: transparent;
    font-size: 13px;
    line-height: 26px;
    padding: 0;
}

.langmenu.select-wrap .select-options .option a {
    height: 26px;
    padding-left: 15px;
    padding-right: 76px;
}

.langmenu.select-wrap .select-options .option:hover, .langmenu.select-wrap .select-options .option:active {
    background: #119ef9;
}

.langmenu.select-wrap .select-options .option:hover a, .langmenu.select-wrap .select-options .option:active a {
    color: #fff;
}

.langmenu.select-wrap.select-options .option a {
    color: #455c06;
    display: block;
    font-weight: 700;
    padding: 3px 15px;
}

header .top-menu {
    font-size: 14px;
    padding: 0.5rem 0;
    width: 100%;
}

header .top-menu .nav-item {
    padding: 0;
    width:auto;
}

header .top-menu .nav-item .nav-link {
    font-family: Geologica;
    font-weight: 400;
    font-size: 14px;
    leading-trim: none;
    line-height: 100%;
    letter-spacing: -0.59px;
    color: #FFFFFF;
    padding: 12px 16px;
    transition: color 0.16s linear;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

header .top-menu .nav-item .nav-link:not(.free-consultation):hover {
    background: none;
    border-radius: 0;
    text-decoration: underline;
    color: white;
}

header .top-menu .nav-item .nav-link.free-consultation{
    border-radius: 12px;
    background: rgba(239, 104, 96, 1);
    font-size: 16px;
    font-weight: 600;
    line-height: 27px;
    text-align: center;
    padding: 14px 21px 13px 22px;
}

/* BC-591: floating mobile CTA — desktop hides it, mobile pins it to the bottom
   and the script in Master.cshtml toggles .is-hidden on scroll direction. */
.mobile-cta {
    display: none;
}
@media (max-width: 768px) {
    .mobile-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 16px;
        z-index: 1000;
        padding: 14px 20px;
        border-radius: 12px;
        background: rgba(239, 104, 96, 1);
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
        transition: transform 0.25s ease, opacity 0.25s ease;
        transform: translateY(0);
        opacity: 1;
    }
    .mobile-cta:hover, .mobile-cta:focus {
        color: #fff;
        text-decoration: none;
    }
    .mobile-cta.is-hidden {
        transform: translateY(calc(100% + 24px));
        opacity: 0;
        pointer-events: none;
    }
}

/* Content Wrapper */
.content-wrapper {
    /*display: flex;
    /*flex: 1; /* Takes up remaining space */
    margin-top: 152px; /* Same height as the header */
    /*overflow: hidden; /* Prevent scrolling overflow */
    
    overflow-x: hidden;
    overflow-y: auto;
}

/* Scrollable Content Area */

.content {
    flex: 1; /* Takes up all available space */
    overflow-y: auto; /* Enable vertical scrolling */
}

.content {
    overflow: hidden;
}

/* Fixed Basket Section */
.basket {
    width: 600px; /* Fixed width for the basket */
    overflow-y: auto;
    position: relative; /* Keeps it within layout */
    padding: 20px 80px 20px 50px;
}

html body:not(.modal-opened) .map-modal-portal, html body:not(.form-modal-opened) .form-modal-portal {
    display: none;
}

html body .map-modal-portal, html body .form-modal-portal {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1000;
}

html body .form-modal-portal .modal-body {
    overflow-y: scroll !important;
}

html body .modal-body {
    padding: 30px;
    border-radius: 15px;
    background-color: #fff;
    width: 600px;
    height: 700px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3000;
}

html body .modal-body #map_canvas {
    height: 550px;
}

html body .modal-body .buttons {
    margin-top: 30px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

html body .modal-body .buttons button {
    padding: 5px 35px;
    background-color: #519e8a;
    color: #ffffff;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 1rem;
    cursor: pointer;
}

html body .modal-body .buttons button:hover {
    background-color: #49937f;
}

#page-image {
    margin-bottom: 30px;
}

#page-image img {
    width: 100%;
    max-height: 460px;
    box-shadow: 12px 12px 35px 0px #D1D9EB;
    border-radius: 31px;
}

.hidden {
    display: none !important;
}

footer {
    background: rgba(7, 50, 72, 1);
}

footer ul li span {
    font-family: Geologica;
    font-size: 17px;
    font-weight: 500;
    line-height: 34px;
    text-transform: uppercase;
}

footer ul li a {
    font-size: 16px;
    font-weight: 400;
    line-height: 49px;
    color: #8fa3ac;

}

footer .bottom-line
{
    border-top: 1px solid #507cad;
    padding-top:23px;
}

footer .bottom-line .soc-wrap
{
    float: right;
}

footer .bottom-line .copyright {
    border-top:0;
    font-size: 12px;
    font-weight: 400;
    line-height: 24px;
    color: #8fa3ac;
    text-align: left;
}
@media screen and (max-width: 767px) {
    footer .bottom-line .copyright {
        text-align: center;
    }
    footer .bottom-line .soc-wrap {
        float: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    footer .bottom-line .soc-wrap .soc-item {
        display: flex;
        align-items: center;
    }
}

.footer-bottom-logo{
    display: block;
    margin-left: auto;
    margin-right: auto;
    /* BC-591: cap to its column so the 294px logo doesn't overflow the
       viewport on mobile (was causing a horizontal scroll inside #main-content). */
    max-width: 100%;
    height: auto;
}

footer #searchform{
    padding-top: 25px;
}

footer .search{
    background: transparent;
    border: 0;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 400;
    line-height: 50px;
    background: url("/images/footer/search.svg") no-repeat left;
    background-size: 20px;
    color: #fff;
    height: 54px;
    padding-left: 30px;
}

footer .search::placeholder {
  color: #b0bec5;
  opacity: 1; /* Firefox */
}

footer .search:focus {
    outline-width: 0;
}

.content .page-wrapper {
    width: 1280px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 0 auto;
}

.content .page-wrapper main {
    width: 770px;
    display: flex;
    flex-flow: column nowrap;
}

.content .page-wrapper aside {
    width: 424px;
    position: relative;
}

.content .page-wrapper aside .aside-wrapper {
    position: fixed;
    width: auto;
    min-width: 410px;
    padding: 0px 32px 32px 20px;
    overflow-y: auto;
    height: auto !important;
    top: 242px;
}

.content .page-wrapper aside .fixed-wrapper{
    position: absolute;
    left: -20px;
}

.content .page-wrapper .page-wrapper__content .page__image img{
    object-fit: contain;
}

.content .page-wrapper .page-wrapper__content .page__title {
    margin: 30px 0 18px;
}
.content .page-wrapper .page-wrapper__content .page__content {
    margin-bottom: 80px;
}
.content .page-wrapper .page-wrapper__content .page__content .formatedtext img {
    max-width: 770px
}

@media screen and (max-width: 1105px) {
    body {
        font-size: 18px;
        font-weight: 500;
        line-height: 30px;
        letter-spacing: -1.029px;
    }

    .small-text {
        font-size: 16px;
        line-height: 23px;
        letter-spacing: -0.73px;
    }

    h1 {
        font-size: 37px;
        line-height: 38px;
        /* 87.143% */
        letter-spacing: -0.49px;
    }

    .content-wrapper {
        margin-top: 100px;
    }
}

/* BC-643: reveal-on-scroll animations for homepage sections.
   Gated behind .js (set in Master.cshtml head) so no-JS users always see
   content. JS adds .is-visible when a section scrolls into #main-content.
   Section-level fade + rise; child cards stagger via --reveal-i. */
.js [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.js [data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
.js [data-reveal-item] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    transition-delay: calc(var(--reveal-i, 0) * 90ms);
}
.js [data-reveal].is-visible [data-reveal-item] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
    .js [data-reveal],
    .js [data-reveal-item] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Скрываем CTA-кнопку когда открыто мобильное меню */
body.mobile-menu-open .mobile-cta { display: none !important; }

/* =====================================================
   МОБИЛЬНОЕ МЕНЮ (#mobile-menu)
   Брейкпоинт: < 992px. Открывается по body.mobile-menu-open.
   ===================================================== */

/* Анимация → X при открытом меню */
.mobile-menu-open .js-hamburger .hamburger-inner { transform: rotate(45deg); }
.mobile-menu-open .js-hamburger .hamburger-inner::before { top: 0; opacity: 0; }
.mobile-menu-open .js-hamburger .hamburger-inner::after  { top: 0; transform: rotate(-90deg); }

/* ── Затемняющий оверлей ────────────────────────────── */
.mobile-menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1040;
}
.mobile-menu-open .mobile-menu-overlay { display: block; }

/* ── Панель мобильного меню ─────────────────────────── */
/* left:auto перебивает responsive.css #mobile-menu{left:0}.
   Без него left+right:0 → full-width → translateX(100%) уходит
   только на ширину панели, а не за край экрана. */
#mobile-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 100% !important;
    max-width: 420px;
    height: 100vh !important;
    background: #fff;
    overflow-y: auto;
    z-index: 1050 !important;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
}
@supports (height: 100dvh) {
    #mobile-menu { height: 100dvh !important; }
}
.mobile-menu-open #mobile-menu { transform: translateX(0) !important; }

/* ── Синяя шапка: логотип по центру, крестик справа ── */
.mm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0083DA;
    padding: 0 16px;
    height: 60px;
    flex-shrink: 0;
}
.mm-header-pad {
    width: 36px;   /* балансирует крестик справа, центрирует логотип */
    flex-shrink: 0;
}
.mm-header-logo {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mm-header-logo img { height: 28px; width: auto; }
.mm-close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    border-radius: 50%;
}
.mm-close:hover { background: rgba(255, 255, 255, 0.15); }

/* ── Поиск ──────────────────────────────────────────── */
.mm-search-section { padding: 16px 16px 12px; }
.mm-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #F0F4F8 !important;
    border-radius: 22px;
    height: 44px;
    padding: 0 16px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}
.mm-search-icon {
    flex-shrink: 0;
    opacity: 0.45;
}
.mm-search-input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    font-family: inherit;
    font-size: 16px;
    color: #073248;
    padding: 0;
}
.mm-search-input::placeholder { color: #8A9BAA; font-size: 16px; }

.mm-search-cancel {
    display: none;
    background: none;
    border: none;
    color: #0083DA;
    font-size: 15px;
    white-space: nowrap;
    padding: 0 0 0 10px;
    cursor: pointer;
    flex-shrink: 0;
}
.mm-search-results { display: none; }

#mobile-menu.mm-search-mode .mm-search-cancel { display: block; }
#mobile-menu.mm-search-mode .mm-search-results {
    display: block;
    flex: 1;
    overflow-y: auto;
    padding: 8px 16px;
}
#mobile-menu.mm-search-mode .mm-lang-wrap,
#mobile-menu.mm-search-mode .mm-nav,
#mobile-menu.mm-search-mode .mm-secondary,
#mobile-menu.mm-search-mode .mm-footer { display: none !important; }

.mm-search-results__empty {
    color: #748F9F;
    font-size: 15px;
    padding: 12px 0;
}
.mm-search-results__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.mm-search-results__item {
    border-bottom: 1px solid #F0F4F8;
}
.mm-search-results__title {
    display: block;
    padding: 12px 0;
    color: #073248;
    font-size: 15px;
    text-decoration: none;
}
.mm-search-results__see-all {
    display: block;
    margin-top: 12px;
    color: #0083DA;
    font-size: 14px;
    text-decoration: none;
}


/* ── Строка языка ───────────────────────────────────── */
/* Обёртка языкового аккордеона */
.mm-lang-wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border-top: 1px solid #E9EEF4;
    border-bottom: 1px solid #E9EEF4;
    cursor: pointer;
    position: static !important;
}
.mm-lang-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
}
.mm-lang-globe { flex-shrink: 0; }
.mm-lang-label {
    color: #38596A;
    font-size: 15px;
    font-weight: 500;
    flex: 1;
}
.mm-lang-wrap .select-value {
    background: none !important;
    border: none !important;
    color: #0083DA;
    font-size: 15px;
    font-weight: 600;
    padding: 0 !important;
}
.mm-lang-arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.mm-lang-wrap.clicked .mm-lang-arrow { transform: rotate(180deg); }
.mm-lang-wrap .select-options {
    display: none;
    padding: 0 16px 12px;
}
.mm-lang-wrap .select-options .option { padding: 0; }
.mm-lang-wrap .select-options .option a {
    display: block;
    padding: 10px 0;
    color: #073248;
    font-size: 15px;
    font-weight: 500;
    border-top: 1px solid #E9EEF4;
    text-decoration: none;
}
.mm-lang-wrap .select-options .option a:hover { color: #0083DA; }

/* ── Основная навигация ─────────────────────────────── */
.mm-nav {
    flex: 1;
    padding: 0;
}
.mm-item {
    border-bottom: 1px solid #E9EEF4;
}
.mm-item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    min-height: 52px;
    cursor: pointer;
    user-select: none;
}
.mm-item-row:not(.js-mm-toggle) { cursor: default; }
.mm-link {
    color: #073248;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    flex: 1;
}
a.mm-link:hover { color: #0083DA; }
.mm-arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
    opacity: 0.35;
}
.mm-item.mm-has-children .mm-arrow { opacity: 0.5; }
.mm-item.mm-expanded > .mm-item-row > .mm-arrow { transform: rotate(90deg); }
.mm-item.active > .mm-item-row .mm-link { color: #0083DA; }
.mm-item.active > .mm-item-row { background: #F6F9FC; }
.mm-item.active:not(.mm-has-children) > .mm-item-row { background: rgba(239, 104, 96, 0.10); }
.mm-item.active:not(.mm-has-children) > .mm-item-row .mm-link { color: #EF6860; }

/* Уровень 2 */
.mm-submenu {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
}
.mm-sub-item {
    border-top: 1px solid #E9EEF4;
}
.mm-sub-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 0 28px;
    min-height: 48px;
    cursor: pointer;
    user-select: none;
}
.mm-sub-row:not(.js-mm-toggle) { cursor: default; }
.mm-child-link {
    color: #073248;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    flex: 1;
}
a.mm-child-link:hover { color: #0083DA; }
.mm-sub-item.mm-expanded > .mm-sub-row > .mm-arrow { transform: rotate(90deg); }
.mm-sub-item.active > .mm-sub-row .mm-child-link { color: #0083DA; }
.mm-sub-item.active > .mm-sub-row { background: #F6F9FC; }
.mm-sub-item.active:not(.mm-has-children) > .mm-sub-row { background: rgba(239, 104, 96, 0.10); }
.mm-sub-item.active:not(.mm-has-children) > .mm-sub-row .mm-child-link { color: #EF6860; }

/* Уровень 3 */
.mm-submenu-2 {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
}
.mm-submenu-2 li {
    border-top: 1px solid #E4EBF2;
}
.mm-sub2-link {
    display: block;
    padding: 12px 16px 12px 40px;
    color: #38596A;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}
.mm-sub2-link:hover { color: #0083DA; }
.mm-submenu-2 li.active .mm-sub2-link { color: #EF6860; }
.mm-submenu-2 li.active { background: rgba(239, 104, 96, 0.10); }

/* ── Вторичная навигация ────────────────────────────── */
.mm-secondary {
    background: #F6F9FC;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    border-top: 1px solid #E9EEF4;
}
.mm-secondary-link {
    display: block;
    padding: 10px 0;
    color: #38596A;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid #E9EEF4;
}
.mm-secondary-link:last-child { border-bottom: none; }
.mm-secondary-link:hover { color: #0083DA; }

/* ── Подвал: соцсети ────────────────────────────────── */
.mm-footer {
    padding: 16px;
    border-top: 1px solid #E9EEF4;
    flex-shrink: 0;
}
.mm-socials {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
}
.mm-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: none;
    border-radius: 0;
    text-decoration: none;
    flex-shrink: 0;
    transition: background 0.2s ease;
}
.mm-social-link:hover { background: none; }
.mm-social-link img { display: block; width: 100%; height: auto; }

/* ── Блокировка прокрутки страницы ────────────────────── */
body.mobile-menu-open { overflow: hidden; }

/* ── Мобильная корзина в topline (скрыта на десктопе) ── */
.mm-topline-cart { display: none; }

/* ── Responsive: мобильный брейкпоинт < 1280px ─────────── */
@media (max-width: 1279px) {
    .menu-toggler { display: block !important; }
    header .top-menu { display: none !important; }
    .main-menu { display: none !important; }
    .mm-topline-cart { display: flex !important; }
    body { padding-top: 60px !important; }
    .content-wrapper { margin-top: 0 !important; }
    
    header.topline .navbar-expand-lg {
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    header.topline .container {
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .content .page-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        flex-flow: column nowrap !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }
    .content .page-wrapper main {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .content .page-wrapper .page-wrapper__content .page__image img {
        width: 100% !important;
        height: auto !important;
    }
    .content .page-wrapper aside {
        width: 100% !important;
        box-sizing: border-box !important;
        margin-top: 40px !important;
    }
}

@media (min-width: 1280px) {
    header.topline .container,
    .main-menu .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    header.topline .container > .row,
    .main-menu .container > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    header.topline > .container {
        height: 118px !important;
        margin-top: 34px !important;
    }
    header nav.navbar-expand-lg {
        height: 54px !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    header .navbar-brand {
        margin-right: 45px !important;
    }
    header .top-menu {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 29px !important;
        margin-left: 0 !important;
        flex-wrap: nowrap !important;
        height: 100% !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    header .top-menu .nav-item .nav-link:not(.free-consultation) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    header .search-wrap .search-btn {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    header .langmenu.select-wrap {
        width: auto !important;
    }
    header .langmenu.select-wrap .select-value {
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        padding-right: 20px !important;
        height: 100% !important;
        background: transparent !important;
    }
    header .langmenu.select-wrap .select-value span,
    header .langmenu.select-wrap .select-value a {
        padding: 0 !important;
        line-height: 100% !important;
        display: inline-block !important;
    }
    header .langmenu.select-wrap .select-value:after {
        background-position: right center !important;
        height: 100% !important;
        top: 0 !important;
    }
    header .top-menu .nav-item-cart {
        margin-left: auto !important;
    }
    header.topline .main-menu {
        bottom: -38px !important;
    }
    header .main-menu nav.blue-menu {
        height: 72px !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    header .search-wrap .search-btn:hover {
        background: none !important;
        text-decoration: underline !important;
    }
    header .langmenu.select-wrap .select-value:hover {
        background: none !important;
        border-radius: 0 !important;
    }
    header .langmenu.select-wrap .select-value:hover span {
        text-decoration: underline !important;
    }
    header .top-menu .nav-item .nav-link.free-consultation {
        background: #E54F47 !important;
        border-radius: 12px !important;
        font-family: Geologica !important;
        font-weight: 600 !important;
        font-size: 16px !important;
        leading-trim: none !important;
        line-height: 27px !important;
        letter-spacing: -0.74px !important;
        text-align: center !important;
        color: #FFFFFF !important;
        transition: background-color 0.2s ease, transform 0.1s ease !important;
    }
    header .top-menu .nav-item .nav-link.free-consultation:hover {
        background-color: #d43f38 !important;
        color: #FFFFFF !important;
        text-decoration: none !important;
    }
    header .top-menu .nav-item .nav-link.free-consultation:active {
        transform: scale(0.98) !important;
    }
}

.org-about__header {
    color: #073248 !important;
    font-family: Geologica !important;
    font-size: 37px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 38px !important;
    letter-spacing: -0.487px !important;  
    padding-bottom: 30px !important;
}

.org-about__text {
    font-family: Geologica;
    font-weight: 300;
    font-style: Light;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 30px;
    letter-spacing: -0.73px;
}

.org-about__text p {
    margin: 0 0 16px;
}

.org-about__text ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 16px;
}

.org-about__text h4 {
    margin-top: 20px;
}

.org-about__text ul li {
    padding-left: 1.2em;
    position: relative;
}

.org-about__text ul li::before {
    content: '—';
    color: #EF6860;
    position: absolute;
    left: 0;
}

.org-about__text img {
    max-width: 770px;
    height: auto;
}

.org-about__section {
    padding-top: 30px;
}

.exam-table {
    width: 100%;
    border-collapse: collapse;
  }
  
  .exam-table th,
  .exam-table td {
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
  }
  
  .exam-table th {
    background: #f5f5f5;
    font-weight: 600;
  }
  
  @media (max-width: 767px) {
    .exam-table,
    .exam-table thead,
    .exam-table tbody,
    .exam-table tr,
    .exam-table th,
    .exam-table td {
      display: block;
    }
  
    .exam-table thead {
      display: none;
    }
  
    .exam-table td {
      border: none;
      border-bottom: 1px solid #ddd;
      padding: 6px 12px;
    }
  
    .exam-table td[data-label]::before {
      content: attr(data-label) ": ";
      font-weight: 600;
    }
  
    .exam-table tr {
      border: 1px solid #ddd;
      margin-bottom: 12px;
    }
  }
