/* =============================================================================
   Essilor clone — дополнения к выгруженным стилям сайта.
   Здесь только то, чего нет в style.css / essilor-full.css: новые виджеты,
   мега-меню, слайдеры и адаптив. Файл подключается последним.
   ========================================================================== */

:root {
    --ess-max: 1200px;
    --ess-gutter: 24px;
}

/* Атрибут hidden должен побеждать классы вёрстки Essilor,
   иначе скрытые панели меню перекрывают страницу. */
[hidden] {
    display: none !important;
}

/* ---------- общие утилиты вёрстки ---------- */
.Layout_main__PB_4H .Layout_row__EaWR8 {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

.both-padding {
    padding-top: 64px;
    padding-bottom: 64px;
}

.top-padding {
    padding-top: 64px;
}

.bottom-padding {
    padding-bottom: 64px;
}

.bg-grey {
    background: var(--essilor-color-grey-10, #eff1f3);
}

.bg-sky-blue {
    background: #e8f3fb;
}

.bg-gradient-bl {
    background: linear-gradient(135deg, #0d52a0 0%, #010e3d 100%);
    color: #fff;
}

/* ---------- картинки ---------- */
.nxi-outer-fill {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
}

.nxi-outer-fill img,
.nxi-outer-fill picture {
    width: 100%;
    height: 100%;
    display: block;
}

.nxi-img.cover {
    object-fit: cover;
}

.nxi-img.contain {
    object-fit: contain;
}

img {
    max-width: 100%;
}

/* =============================================================================
   Шапка: мега-меню и поиск
   ========================================================================== */
.Navigation_main__C9cOi {
    position: relative;
    z-index: 50;
}

/* Логотипы в шапке. Высоту задаём картинке, ширину считает браузер:
   у контейнера нет своей высоты, поэтому height:100% схлопнул бы логотип. */
.Navigation_logo__AbP0d a,
.Navigation_logoMobile__dvXPB a {
    display: flex;
    align-items: center;
}

.Navigation_logo__AbP0d img {
    height: 46px;
    width: auto;
    max-width: none;
    display: block;
}

.Navigation_logoMobile__dvXPB img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    display: block;
}

.Navigation_storelocatormobile__9pxSk img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

/* Узбекские подписи длиннее русских: запрещаем перенос, иначе текст
   в шапке уезжает на вторую строку и обрезается по высоте. */
.Navigation_initialLabel__cwa5Q,
.Navigation_initialLabel__cwa5Q .LimitTextContent_main__Unm4r,
.Navigation_buttons__aTy0i .Button_main__NpF6o,
.Navigation_buttons__aTy0i .Button_main__NpF6o p {
    white-space: nowrap;
}

.Navigation_buttons__aTy0i .Button_main__NpF6o {
    min-width: -moz-max-content;
    min-width: max-content;
}

/* Компактная шапка. Мобильное меню включается только на 1253px, а
   узбекские подписи заметно длиннее русских — поэтому для узкого десктопа
   и для всей узбекской версии ужимаем отступы и кегль. */
@media (min-width: 1254px) {

    html[lang="uz"] .Navigation_main__C9cOi .Navigation_primary__Oa6ms .Navigation_content__VfxSX .Navigation_logo__AbP0d,
    .Navigation_main__C9cOi .Navigation_primary__Oa6ms .Navigation_content__VfxSX .Navigation_logo__AbP0d:where(.compact) {
        margin-right: 16px;
    }

    html[lang="uz"] .Navigation_initialLabel__cwa5Q {
        font-size: 14px;
    }

    html[lang="uz"] .Navigation_links__MuGeZ .Navigation_linkItem___aTxO {
        margin-right: 16px;
    }

    html[lang="uz"] .Navigation_buttons__aTy0i .Button_main__NpF6o {
        padding-left: 16px;
        padding-right: 16px;
        font-size: 13px;
    }

    html[lang="uz"] .Navigation_langOption__ess {
        padding: 5px 8px;
    }

    html[lang="uz"] .Navigation_langGlobe__ess {
        display: none;
    }
}

@media (min-width: 1254px) and (max-width: 1439px) {

    .Navigation_main__C9cOi .Navigation_primary__Oa6ms .Navigation_content__VfxSX .Navigation_logo__AbP0d {
        margin-right: 16px;
    }

    .Navigation_initialLabel__cwa5Q {
        font-size: 14px;
    }

    .Navigation_links__MuGeZ .Navigation_linkItem___aTxO {
        margin-right: 16px;
    }

    .Navigation_buttons__aTy0i .Button_main__NpF6o {
        padding-left: 16px;
        padding-right: 16px;
        font-size: 13px;
    }

    .Navigation_langOption__ess {
        padding: 5px 8px;
    }

    .Navigation_langGlobe__ess {
        display: none;
    }
}

/* Переключатель языка: обе кнопки видны, текущая подсвечена. */
.Navigation_lang__ess {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 20px;
    line-height: 1;
}

.Navigation_langGlobe__ess {
    width: 18px;
    height: 18px;
    margin: 0 4px 0 6px;
    color: #fff;
    flex: 0 0 auto;
}

.Navigation_langOption__ess {
    display: block;
    padding: 5px 10px;
    border-radius: 14px;
    color: #fff;
    text-decoration: none;
    font: 700 12px/1 inherit;
    letter-spacing: .06em;
    transition: background-color .15s ease, color .15s ease;
}

.Navigation_langOption__ess:hover {
    background: rgba(255, 255, 255, .18);
}

.Navigation_langOption__ess.is-active {
    background: #fff;
    color: var(--essilor-color-marine, #0d52a0);
}

.Navigation_langMobile__ess {
    margin-right: 8px;
}

/* Мобильная вёрстка шапки включается на 1253px — там же прячем
   десктопный переключатель и показываем компактный. */
@media (max-width: 1253px) {
    .Navigation_iconWrapper__zKLR3 .Navigation_lang__ess {
        display: none;
    }
}

@media (min-width: 1254px) {
    .Navigation_langMobile__ess {
        display: none;
    }
}

/* Тот же переключатель внутри белого мобильного меню — тёмный вариант. */
.NavigationDropdownMobile_language__VcYL6.Navigation_lang__ess {
    border-color: var(--essilor-color-grey-20, #dee0e3);
    margin-top: 20px;
}

.NavigationDropdownMobile_language__VcYL6 .Navigation_langOption__ess {
    color: var(--essilor-color-black, #010e3d);
}

.NavigationDropdownMobile_language__VcYL6 .Navigation_langOption__ess.is-active {
    background: var(--essilor-color-marine, #0d52a0);
    color: #fff;
}

.Navigation_searchPanel__ess {
    background: #fff;
    border-bottom: 1px solid var(--essilor-color-grey-20, #dee0e3);
    padding: 16px var(--ess-gutter);
}

.Navigation_searchForm__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    display: flex;
    gap: 12px;
}

.Navigation_searchForm__ess input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    border-radius: 24px;
    font-size: 15px;
}

.Navigation_searchForm__ess button {
    padding: 12px 28px;
    border: 0;
    border-radius: 24px;
    background: var(--essilor-color-marine, #0d52a0);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.Navigation_dropdownDesktop__BKDq6 {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
}

.NavigationDropdown_main__giDYU {
    background: #fff;
    box-shadow: 0 18px 40px rgba(1, 14, 61, .12);
    border-top: 1px solid var(--essilor-color-grey-20, #dee0e3);
    animation: essNavIn .22s ease both;
}

@keyframes essNavIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.NavigationDropdown_wrapper__uVee1 {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 40px var(--ess-gutter) 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: start;
}

.NavWithoutImage_linksWrapper__zUbOU {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
}

.LinkList_main__qIB0Q .LinkList_header__ad11C {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--essilor-color-grey, #5a6675);
    margin: 0 0 14px;
    font-weight: 700;
}

.NavigationDropdown_wrapper__uVee1 .LinkList_main__qIB0Q ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.NavigationDropdown_wrapper__uVee1 .LinkList_main__qIB0Q a {
    display: block;
    text-decoration: none;
    color: var(--essilor-color-black, #010e3d);
}

.NavigationDropdown_wrapper__uVee1 .LinkList_main__qIB0Q a:hover .LinkList_label__ess {
    text-decoration: underline;
}

.LinkList_label__ess {
    display: block;
    font-size: 17px;
    font-weight: 600;
}

.LinkList_caption__ess {
    display: block;
    font-size: 13px;
    color: var(--essilor-color-grey, #5a6675);
    margin-top: 2px;
}

.NavDescriptionCard_main__tyDQz {
    background: var(--essilor-color-grey-10, #eff1f3);
    border-radius: 12px;
    padding: 28px;
}

.NavDescriptionCard_main__tyDQz h3 {
    margin: 0 0 10px;
    font-size: 20px;
    color: var(--essilor-color-black, #010e3d);
}

.NavDescriptionCard_text__ess p {
    margin: 0 0 16px;
    color: var(--essilor-color-grey, #5a6675);
    font-size: 15px;
    line-height: 1.5;
}

.NavDescriptionCard_cta__ess {
    display: inline-block;
    font-weight: 600;
    color: var(--essilor-color-marine, #0d52a0);
    text-decoration: underline;
}

.NavMenuArticleImage_articleList__H1MHu {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

.NavigationPush_main__gZhqP {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    min-height: 260px;
    display: flex;
    align-items: flex-end;
}

.NavigationPush_backgroundWrapper__0hTJJ {
    position: absolute;
    inset: 0;
}

.NavigationPush_backgroundImage__T4RXC {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.NavigationPush_contentWrapper__tMlsq {
    position: relative;
    width: 100%;
    padding: 24px;
    background: linear-gradient(to top, rgba(1, 14, 61, .85), rgba(1, 14, 61, 0));
    color: #fff;
}

.NavigationPush_eyebrow__ess {
    margin: 0 0 6px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .85;
}

.NavigationPush_content__21aYT h3 {
    margin: 0 0 16px;
    font-size: 22px;
    color: #fff;
}

/* мобильное меню */
.Navigation_dropdownMobile__phYn3 {
    position: fixed;
    inset: 64px 0 0;
    background: #fff;
    overflow-y: auto;
    z-index: 60;
}

.NavigationDropdownMobile_content__Te2KF {
    padding: 24px var(--ess-gutter) 120px;
}

.NavigationDropdownMobile_search__YwjXq .Input_main__89p88 {
    position: relative;
    margin-bottom: 20px;
}

.NavigationDropdownMobile_search__YwjXq input {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    border-radius: 24px;
    font-size: 15px;
}

.NavigationDropdownMobile_search__YwjXq .Input_icon__Pa1iX {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 0;
}

.NavigationAccordion_main__HxylZ {
    border-bottom: 1px solid var(--essilor-color-grey-20, #dee0e3);
}

.NavigationAccordion_header__MLFCT {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    cursor: pointer;
}

.NavigationAccordion_title__vRMYE p {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--essilor-color-black, #010e3d);
}

.NavigationAccordion_main__HxylZ.is-open .NavigationAccordion_icon__iWj79 {
    transform: rotate(45deg);
}

.NavigationAccordion_icon__iWj79 {
    transition: transform .2s ease;
}

.NavigationAccordion_childContainer__x5_T_ {
    padding: 0 0 20px;
    display: grid;
    gap: 20px;
}

.NavigationDropdownMobile_linkGroup__VTdgP ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.NavigationDropdownMobile_linkGroup__VTdgP a,
.NavigationDropdownMobile_descriptionCardCTA__oBuLz a {
    color: var(--essilor-color-black, #010e3d);
    text-decoration: none;
    font-size: 16px;
}

.NavigationDropdownMobile_descriptionCardCTA__oBuLz a {
    color: var(--essilor-color-marine, #0d52a0);
    font-weight: 600;
    text-decoration: underline;
}

.NavigationDropdownMobile_locatorCTAWrapper__0Ttzv {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding: 16px var(--ess-gutter);
    border-top: 1px solid var(--essilor-color-grey-20, #dee0e3);
}

/* =============================================================================
   Виджеты
   ========================================================================== */

/* --- Hero --- */
.HeroBannerStatic_logo____AD2 img {
    max-height: 56px;
    width: auto;
    margin-bottom: 20px;
}

.HeroBannerStatic_title__ILTOI p,
.HeroBannerStatic_longText__Qzpjs p:last-child,
.HeroBannerStatic_subTitle__tMJWR p {
    margin: 0;
}

/* Высота героев: на узких экранах баннеры ниже, иначе широкая картинка
   обрезается в узкую полосу и остаётся почти пустой. */
@media (max-width: 767px) {
.Navigation_logoMobile__dvXPB img {
        height: 100%;
        width: 100%;
    }
}

@media (max-width: 767px) {

    .HeroBannerStatic_main__jK27u,
    .HeroBannerStatic_wrapper___K0OM {
        min-height: 460px !important;
        --full-height: 460px !important;
    }

    .HeroBannerDynamic_slide__kq7_2 .HeroBannerStatic_main__jK27u,
    .HeroBannerDynamic_slide__kq7_2 .HeroBannerStatic_wrapper___K0OM {
        min-height: 520px !important;
        --full-height: 520px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {

    .HeroBannerStatic_main__jK27u,
    .HeroBannerStatic_wrapper___K0OM {
        min-height: 500px !important;
        --full-height: 500px !important;
    }
}

.HeroBannerDynamic_main__m6PwF {
    position: relative;
}

.HeroBannerDynamic_slider__Vk7jD {
    position: relative;
}

.HeroBannerDynamic_slide__kq7_2 {
    display: none;
}

.HeroBannerDynamic_slide__kq7_2.is-active {
    display: block;
}

.HeroSliderPagination_main__uwQ_S {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    z-index: 3;
}

.HeroSliderPagination_main__uwQ_S button {
    background: none;
    border: 0;
    color: #fff;
    cursor: pointer;
    line-height: 0;
    padding: 8px;
}

.HeroSliderPagination_dots__list {
    display: flex;
    gap: 8px;
}

.HeroSliderPagination_dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
    border: 0;
    padding: 0;
    cursor: pointer;
}

.HeroSliderPagination_dot.is-active {
    background: #fff;
    width: 28px;
    border-radius: 4px;
}

/* --- BenefitsSummary --- */
.BenefitsSummary_wrapper__Ku6iK {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
    text-align: center;
}

.BenefitsSummary_subTitle__ess {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
    color: var(--essilor-color-grey, #5a6675);
    margin-bottom: 10px;
}

.BenefitsSummary_title__LmxeN h2 {
    margin: 0 0 12px;
}

.BenefitsSummary_intro__ess {
    max-width: 800px;
    margin: 0 auto 32px;
    color: var(--essilor-color-grey, #5a6675);
}

.BenefitsSummary_content__r4BT3 {
    display: grid;
    grid-template-columns: repeat(var(--benefits-count, 3), minmax(0, 1fr));
    gap: 32px;
    margin-top: 32px;
    text-align: center;
}

.Picto_main__C_3Di {
    display: grid;
    justify-items: center;
    gap: 12px;
}

.Picto_main__C_3Di .Picto_logo__69WlQ img {
    width: 56px;
    height: 56px;
    min-width: 0;
    max-width: none;
    position: static;
    object-fit: contain;
    display: block;
}

.Picto_subTitle__YSgGX {
    font-weight: 700;
    font-size: 18px;
    color: var(--essilor-color-black, #010e3d);
}

.Picto_subTitleMobile__4_zjk {
    display: none;
}

.Picto_textContainer__IrKYv p {
    margin: 0;
    color: var(--essilor-color-grey, #5a6675);
    line-height: 1.55;
}

.BenefitsSummary_cta__ess {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}

.BenefitsSummary_main__YDTf9.dark {
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
}

.BenefitsSummary_main__YDTf9.dark .Picto_subTitle__YSgGX,
.BenefitsSummary_main__YDTf9.dark h2 {
    color: #fff;
}

.BenefitsSummary_main__YDTf9.dark .Picto_textContainer__IrKYv p {
    color: rgba(255, 255, 255, .82);
}

/* --- KeyFig --- */
.KeyFig_keyItemsDesktop__gLpDu {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.Key_main__ess {
    text-align: center;
}

.Key_figure__ess {
    font-size: clamp(40px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    color: var(--essilor-color-marine, #0d52a0);
}

.Key_unit__ess {
    font-size: 18px;
    font-weight: 600;
    color: var(--essilor-color-marine, #0d52a0);
    margin-top: 4px;
}

.Key_text__ess p {
    margin: 8px 0 0;
    color: var(--essilor-color-grey, #5a6675);
    line-height: 1.5;
}

.KeyFig_main__mF0KR.dark {
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
}

.KeyFig_main__mF0KR.dark .Key_figure__ess,
.KeyFig_main__mF0KR.dark .Key_unit__ess {
    color: #fff;
}

.KeyFig_main__mF0KR.dark .Key_text__ess p {
    color: rgba(255, 255, 255, .82);
}

/* --- TextVisual (Feature / Superiority) --- */
.TextVisual_contents__rfv8U {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.TextVisual_contents__rfv8U.TextVisual_reverse__ess .TextVisual_left__kTICV {
    order: 2;
}

.TextVisual_imageWrapper__ziMNx,
.TextVisual_videoWrapper__t9KGY {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
    overflow: hidden;
    background: var(--essilor-color-grey-10, #eff1f3);
}

.TextVisual_videoWrapper__t9KGY .VideoIFramePlayer_main___tUk3,
.TextVisual_videoWrapper__t9KGY iframe,
.TextVisual_videoWrapper__t9KGY video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.RichText_header__9jaT5 h1,
.RichText_header__9jaT5 h2,
.RichText_header__9jaT5 h3 {
    margin: 0 0 16px;
}

.RichText_content__HxUt4 p {
    margin: 0 0 14px;
    line-height: 1.6;
}

.RichText_content__HxUt4 ul {
    margin: 0 0 14px;
    padding-left: 20px;
    line-height: 1.6;
}

.RichText_main--light__hngdL,
.RichText_main--light__hngdL h1,
.RichText_main--light__hngdL h2 {
    color: #fff;
}

.RichText_main--center__hz2Uh {
    text-align: center;
}

.TextVisual_cta__rLBlf {
    margin-top: 24px;
}

.SuperiorityBlock_main__0vwKN.dark,
.TechnologyDemo_main__lK6m1.dark {
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
}

/* --- TechnologyDemo --- */
.TechnologyDemo_wrapper__XEiJH {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.TechnologyDemo_header__yAQuw {
    max-width: 800px;
    margin: 0 auto 32px;
    text-align: center;
}

.TechnologyDemo_player__J9CCM,
.TechnologyDemo_image__tlctl {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.TechnologyDemo_player__J9CCM iframe,
.TechnologyDemo_player__J9CCM video,
.TechnologyDemo_player__J9CCM .VideoIFramePlayer_main___tUk3 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* --- TechnologyFeatureHighlights2 ---
   Основную раскладку (картинка на всю секцию + подписи по «горячим зонам»)
   задаёт style.css. Здесь — типографика и запасной вариант без координат. */
.TechnologyFeatureHighlights2_main__JOo4i {
    margin: 0;
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
    width: 100%;
}

.TechnologyFeatureHighlights2_backgroundImage__6Mfl1 img,
.TechnologyFeatureHighlights2_backgroundImage__6Mfl1 picture {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.TechnologyFeatureHighlights2_headers__2CLC2,
.TechnologyFeatureHighlights2_contentWrapper__CswUI {
    z-index: 2;
}

.TechnologyFeatureHighlights2_icon__WlH57 img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.TechnologyFeatureHighlights2_subTitle__qfiPk {
    color: #fff;
}

.TechnologyFeatureHighlights2_text__ess p {
    margin: 0;
    color: rgba(255, 255, 255, .88);
    line-height: 1.5;
    font-size: 14px;
}

/* Блок без координат: картинка и подписи выстраиваются в колонку. */
.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_wrapper__OqVaH {
    display: grid;
    gap: 40px;
    padding: 64px var(--ess-gutter);
    min-height: 0;
    max-width: var(--ess-max);
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_backgroundImage__6Mfl1 {
    position: relative;
    inset: auto;
    order: 2;
    aspect-ratio: auto;
    height: auto;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_backgroundImage__6Mfl1 img {
    height: auto;
    border-radius: 12px;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_headers__2CLC2 {
    position: static;
    order: 1;
    max-width: 793px;
    padding: 0;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_contentWrapper__CswUI {
    order: 3;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 28px;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_content__WYDdC {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: none;
    transform: none !important;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_content__WYDdC:after {
    display: none;
}

.TechnologyFeatureHighlights2_main__JOo4i:not([style*="--content-one-left"]) .TechnologyFeatureHighlights2_details__Ofaf2 {
    position: static;
    width: auto;
    max-width: none;
    transform: none;
}

/* --- ContentSegmentAccordians / FAQ --- */
.ContentSegmentAccordians_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.ContentSegmentAccordians_header__ess {
    text-align: center;
    margin-bottom: 12px;
}

.ContentSegmentAccordians_subHeader__ess {
    text-align: center;
    color: var(--essilor-color-grey, #5a6675);
    margin-bottom: 32px;
}

.ContentSegmentAccordians_content__ess {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.ContentSegmentAccordians_content__ess.ContentSegmentAccordians_withVisual__ess {
    grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
}

.ContentSegmentAccordians_visual__ess img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    position: sticky;
    top: 96px;
}

.Accordion_main__VBnTr {
    border-bottom: 1px solid var(--essilor-color-grey-20, #dee0e3);
}

.Accordion_header__FrDwg {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    cursor: pointer;
}

.Accordion_headerText__ess {
    font-size: 18px;
    font-weight: 600;
    color: var(--essilor-color-black, #010e3d);
}

.Accordion_icon__ess {
    line-height: 0;
    transition: transform .2s ease;
    color: var(--essilor-color-marine, #0d52a0);
    flex: 0 0 auto;
}

.Accordion_main__VBnTr.is-open .Accordion_icon__ess {
    transform: rotate(180deg);
}

.Accordion_body__ess {
    padding: 0 0 24px;
}

.Accordion_bodyInner__ess {
    display: grid;
    gap: 20px;
}

.Accordion_bodyImage__ess img {
    width: 100%;
    max-width: 420px;
    max-height: 320px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}

.Accordion_bodyText__ess p {
    margin: 0 0 12px;
    line-height: 1.6;
    color: var(--essilor-color-grey, #5a6675);
}

.Accordion_cta__ess {
    margin-top: 8px;
}

.ContentSegmentAccordians_main__45kAX.dark {
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
}

.ContentSegmentAccordians_main__45kAX.dark .Accordion_main__VBnTr {
    border-color: rgba(255, 255, 255, .18);
}

.ContentSegmentAccordians_main__45kAX.dark .Accordion_headerText__ess,
.ContentSegmentAccordians_main__45kAX.dark h2 {
    color: #fff;
}

.ContentSegmentAccordians_main__45kAX.dark .Accordion_icon__ess,
.ContentSegmentAccordians_main__45kAX.dark .ContentSegmentAccordians_subHeader__ess {
    color: rgba(255, 255, 255, .8);
}

.ContentSegmentAccordians_main__45kAX.dark .Accordion_bodyText__ess p {
    color: rgba(255, 255, 255, .82);
}

/* --- StoreLocatorBanner --- */
.StoreLocatorBanner_wrapper__Fh7dj {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    min-height: 360px;
}

.StoreLocatorBanner_locatorImage__j6Ma6 {
    position: relative;
    min-height: 320px;
    overflow: hidden;
}

.StoreLocatorBanner_content__q_R7d {
    background: var(--essilor-color-black, #010e3d);
    color: #fff;
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 56px clamp(24px, 5vw, 72px);
}

.StoreLocatorBanner_subTitle__NNXQ_ {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
    opacity: .8;
}

.StoreLocatorBanner_title__ChXaG h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3vw, 34px);
}

/* --- Disclaimer --- */
.Disclaimer_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.Disclaimer_list__ess {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.Disclaimer_item__ess {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--essilor-color-grey, #5a6675);
}

.Disclaimer_text__ess p {
    margin: 0;
}

.Disclaimer_index__ess {
    font-weight: 700;
}

/* --- EngagementToolsCTA --- */
.EngagementToolsCTA_wrapper__Bx_MZ {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.EngagementToolsCTA_header__ess {
    margin-bottom: 32px;
}

.EngagementToolsCTA_tools__ess {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}

.Tool_main__ess {
    background: var(--essilor-color-grey-10, #eff1f3);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 380px;
}

.Tool_content__ess {
    padding: 28px 28px 0;
}

.Tool_subTitle__ess {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    color: var(--essilor-color-grey, #5a6675);
    margin-bottom: 8px;
}

.Tool_title__ess {
    margin: 0 0 18px;
    font-size: 26px;
    color: var(--essilor-color-black, #010e3d);
}

.Tool_image__ess {
    margin-top: auto;
    padding-top: 20px;
}

.Tool_image__ess img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- Sliders (ProductRange / CompleteYourPair / Testimonial) --- */
/* Ширина под ровно 4 карточки по 282px с промежутком 24px. */
.ProductRangeSlider_wrapper__ess,
.CompleteYourPairSlider_wrapper__ess {
    max-width: calc(1224px + var(--ess-gutter) * 2);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.TestimonialSlider_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

/* Стрелки вертикально по центру ряда карточек. */
.PushSlider_main__dACoi {
    position: relative;
}

.PushSlider_main__dACoi .PushSlider_control__cQLAW {
    top: 190px;
}

.ProductRangeSlider_header__ess,
.CompleteYourPairSlider_header__ess,
.TestimonialSlider_header__ess {
    text-align: center;
    margin-bottom: 32px;
}

/* надзаголовок над h2, как на сайте */
.ProductRangeSlider_subHeader__ess,
.CompleteYourPairSlider_subHeader__ess {
    text-align: center;
    color: var(--essilor-color-grey, #5a6675);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 13px;
    margin-bottom: 10px;
}

.ProductRangeSlider_subHeader__ess p,
.CompleteYourPairSlider_subHeader__ess p,
.BenefitsSummary_subTitle__ess p,
.ContentSegmentAccordians_subHeader__ess p {
    margin: 0;
}

.CompleteYourPairSlider_tabs__ess {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 0 0 32px;
}

.CompleteYourPairSlider_tab__ess {
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    background: #fff;
    border-radius: 24px;
    padding: 10px 22px;
    cursor: pointer;
    font-size: 15px;
    color: var(--essilor-color-black, #010e3d);
}

.CompleteYourPairSlider_tab__ess.is-active {
    background: var(--essilor-color-marine, #0d52a0);
    border-color: var(--essilor-color-marine, #0d52a0);
    color: #fff;
}

/* «Узнайте больше о брендах» на главной стоит на тёмно-синем фоне (класс dark,
   как у секции с 3D-очками); здесь — детали, которые dark сам не решает. */
.CompleteYourPairSlider_onDark__ess .CompleteYourPairSlider_subHeader__ess {
    color: rgba(255, 255, 255, .75);
}

.CompleteYourPairSlider_onDark__ess .CompleteYourPairSlider_tab__ess {
    background: transparent;
    border-color: var(--essilor-color-white-20, #ffffff20);
    color: #fff;
}

.CompleteYourPairSlider_onDark__ess .CompleteYourPairSlider_tab__ess.is-active {
    background: #fff;
    border-color: #fff;
    color: var(--essilor-color-black, #010e3d);
}

.CompleteYourPairSlider_onDark__ess .PushSlider_pushContainer__R5Jz8 .PushSlider_categoryName__rhKBU h3,
.CompleteYourPairSlider_onDark__ess .ProductPush_main__xTaBY .ProductPush_title__Xlj_G h3 {
    color: #fff;
}

.CompleteYourPairSlider_onDark__ess .ProductPush_main__xTaBY .ProductPush_title__Xlj_G a {
    color: inherit;
}

.PushSlider_main__dACoi,
.CarouselSlider1_main__vDj0I {
    position: relative;
}

.PushSlider_track__ess,
.CarouselSlider1_track__ess {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    /* без этого overflow-y становится auto и появляется лишний
       вертикальный скролл на пару десятков пикселей */
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 8px;
    scrollbar-width: none;
    align-items: stretch;
}

/* Карточки одной высоты (кнопки на одной линии), но высота трека считается
   по самому высокому слайду — иначе низ уезжает под скролл. */
.PushSlider_slide__ess > * {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.PushSlider_slide__ess .ProductPush_main__xTaBY {
    flex: 1 1 auto;
    height: auto;
}

.PushSlider_slide__ess {
    /* четыре карточки в ряд, дальше — прокрутка */
    flex: 0 0 calc((100% - 72px) / 4);
    min-width: 0;
    display: flex;
}

.PushSlider_slide__ess > * {
    width: 100%;
}

.CarouselSlider1_slide__ess {
    flex: 0 0 100%;
    min-width: 0;
}

.PushSlider_track__ess::-webkit-scrollbar,
.CarouselSlider1_track__ess::-webkit-scrollbar {
    display: none;
}

.PushSlider_slide__ess,
.CarouselSlider1_slide__ess {
    scroll-snap-align: start;
}

.CarouselSlider1_button__Ro0sf {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    background: #fff;
    color: var(--essilor-color-black, #010e3d);
    cursor: pointer;
    display: grid;
    place-items: center;
    box-shadow: 0 4px 14px rgba(1, 14, 61, .08);
    z-index: 2;
}

.CarouselSlider1_prev__3VRBY {
    left: -8px;
}

.CarouselSlider1_next__Uo7k0 {
    right: -8px;
}

.CarouselSlider1_button__Ro0sf[disabled] {
    opacity: .35;
    cursor: default;
}

/* Карточка товара: раскладку задаёт style.css сайта, здесь только то,
   что в оригинале приходило от next/image — размеры самих картинок. */
/* Карточка тянется по ширине слайда: в style.css у неё жёсткие 282px. */
.PushSlider_slide__ess .ProductPush_main__xTaBY,
.ProductPush_main__xTaBY .ProductPush_image__mJgEV,
.ProductPush_main__xTaBY .ProductPush_image__mJgEV .ProductPush_ripple__uhAai,
.ProductPush_main__xTaBY .ProductPush_image__mJgEV .ProductPush_imageWrapper__A1z9B,
.ProductPush_main__xTaBY .ProductPush_image__mJgEV a,
.PushSlider_pushContainer__R5Jz8 {
    width: 100%;
}

.ProductPush_main__xTaBY .ProductPush_productImage__qD7o2 {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.ProductPush_main__xTaBY .ProductPush_overlayLogo__FYYFm img {
    width: 29px;
    height: 29px;
    object-fit: contain;
    display: block;
}

.ProductPush_main__xTaBY .ProductPush_logo__tL5Sq img {
    max-height: 39px;
    width: auto;
    object-fit: contain;
    object-position: left center;
}

.ProductPush_main__xTaBY .ProductPush_title__Xlj_G h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
    color: var(--essilor-color-black, #010e3d);
}

.ProductPush_main__xTaBY .ProductPush_title__Xlj_G a {
    color: inherit;
    text-decoration: none;
}

.ProductPush_main__xTaBY .ProductPush_title__Xlj_G a:hover {
    text-decoration: underline;
}

.PushSlider_pushContainer__R5Jz8 .PushSlider_categoryName__rhKBU h3 {
    margin: 0 0 16px;
    font-size: 19px;
    color: var(--essilor-color-black, #010e3d);
}


.Testimonial_main__pNrCo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px;
    align-items: center;
}

.Testimonial_media__ess {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.Testimonial_media__ess iframe,
.Testimonial_media__ess video,
.Testimonial_media__ess .VideoIFramePlayer_main___tUk3 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.Testimonial_author__ess {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--essilor-color-black, #010e3d);
}

.Testimonial_quote__ess p {
    margin: 0;
    line-height: 1.6;
    color: var(--essilor-color-grey, #5a6675);
}

/* --- ProductLandingHeader + ProductBrandList ---
   Раскладку сетки (header / filters / products) задаёт style.css сайта,
   здесь — оформление карточек и поведение фильтра. */
.ProductLandingHeader_main__DzFry {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding-left: var(--ess-gutter);
    padding-right: var(--ess-gutter);
    padding-bottom: 32px;
    text-align: center;
}

.ProductLandingHeader_small-text__RRlle {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 13px;
    color: var(--essilor-color-grey, #5a6675);
    margin-bottom: 10px;
}

.ProductLandingHeader_header__jY7lL {
    margin: 0 0 14px;
}

.ProductBrandList_tags__5nnvk {
    gap: 12px;
}

.ProductBrandList_tag-tabs-wrapper__Kgyb6 {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ProductBrandList_tag-item__P6Rj_ button {
    width: 100%;
}

.Button_filter__n45NO {
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    background: #fff;
    border-radius: 6px;
    padding: 8px 18px;
    cursor: pointer;
    font-size: 14px;
    color: var(--essilor-color-marine, #0d52a0);
    white-space: nowrap;
}

/* Активный фильтр: селектор длиннее правил style.css, иначе текст
   остаётся синим на синем фоне и кнопка выглядит пустой. */
.ProductBrandList_main__fxGyf .ProductBrandList_active__FlRhM .Button_filter__n45NO,
.ProductBrandList_main__fxGyf .ProductBrandList_tags__5nnvk .ProductBrandList_active__FlRhM button,
.ProductBrandList_main__fxGyf .ProductBrandList_items__3F7bJ .ProductBrandList_active__FlRhM button {
    background: var(--essilor-color-marine, #0d52a0);
    border-color: var(--essilor-color-marine, #0d52a0);
    color: #fff;
}

.ProductBrandList_empty__ess {
    grid-area: products;
    text-align: center;
    color: var(--essilor-color-grey, #5a6675);
    margin: 24px 0 0;
}

.ProductPush2_main__HZ0BI {
    background: #fff;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ProductPush2_imageWrapper__SOQa3 {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--essilor-color-grey-10, #eff1f3);
}

.ProductPush2_imageWrapper__SOQa3 > a {
    display: block;
    width: 100%;
    height: 100%;
}

.ProductPush2_productImage__sSJEt {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ProductPush2_overlayLogo__mepJH {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 34px;
}

.ProductPush2_overlayLogo__mepJH img {
    width: 100%;
    height: auto;
}

.ProductPush2_contentLower__tljhQ {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.ProductPush2_mention__6SjdU p {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    color: var(--essilor-color-grey, #5a6675);
}

.ProductPush2_logo__ueC9T img {
    height: 30px;
    width: auto;
    object-fit: contain;
}

.ProductPush2_title__ogumv h4 {
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
    color: var(--essilor-color-black, #010e3d);
}

.ProductPush2_title__ogumv a {
    color: inherit;
    text-decoration: none;
}

.ProductPush2_title__ogumv a:hover {
    text-decoration: underline;
}

.ProductPush2_cta__ess {
    margin-top: auto;
}

/* --- FrameLensAnimation ---
   Секция использует родные классы Essilor (FrameLensAnimation_main__jo7EL и др.),
   вся вёрстка и анимация уже описаны в style.css — свои правила не нужны. */

/* --- ColoredTextBox / AvailableColors / TechnologyDescription / TipsDynamic --- */
.ColoredTextBox_main__ess,
.AvailableColors_main__ess,
.TechnologyDescription_main__ess,
.TipsDynamic_main__ess {
    width: 100%;
}

.ColoredTextBox_box__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 48px clamp(24px, 5vw, 64px);
    border-radius: 12px;
    text-align: center;
}

.ColoredTextBox_title__ess {
    margin: 0 0 12px;
}

.ColoredTextBox_text__ess p {
    margin: 0;
    line-height: 1.6;
}

.AvailableColors_wrapper__ess,
.TechnologyDescription_wrapper__ess,
.TipsDynamic_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
    text-align: center;
}

.AvailableColors_swatches__ess {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    margin-top: 24px;
}

.AvailableColors_swatch__ess img {
    width: clamp(120px, 20vw, 200px);
    height: auto;
}

.TipsDynamic_title__ess {
    margin: 0;
}

.TipsDynamic_line__ess {
    display: block;
}

/* --- KeyVisual --- */
.KeyVisual_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.KeyVisual_media__ess {
    position: relative;
    aspect-ratio: 4 / 5;
    border-radius: 12px;
    overflow: hidden;
    background: var(--essilor-color-grey-10, #eff1f3);
}

.KeyVisual_title__ess {
    margin: 0 0 24px;
}

.KeyVisual_list__ess {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 24px;
}

.KeyVisual_item__ess {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.KeyVisual_num__ess {
    font-size: 34px;
    font-weight: 700;
    color: var(--essilor-color-blue, #0088ce);
    line-height: 1;
}

.KeyVisual_lead__ess p {
    margin: 0 0 6px;
    font-weight: 700;
    color: var(--essilor-color-black, #010e3d);
}

.KeyVisual_itemText__ess p {
    margin: 0;
    color: var(--essilor-color-grey, #5a6675);
    line-height: 1.55;
}

/* --- LensBuilder --- */
.LensBuilder_banner__ess {
    position: relative;
    min-height: 520px;
    display: grid;
    align-items: center;
    width: 100%;
}

.LensBuilder_bannerMedia__ess {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.LensBuilder_bannerMedia__ess::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(1, 14, 61, .85) 0%, rgba(1, 14, 61, .35) 60%, transparent 100%);
}

.LensBuilder_bannerContent__ess {
    position: relative;
    max-width: var(--ess-max);
    margin: 0 auto;
    width: 100%;
    padding: 64px var(--ess-gutter);
    color: #fff;
}

.LensBuilder_bannerTitle__ess {
    margin: 0 0 14px;
    color: #fff;
}

.LensBuilder_bannerLead__ess {
    max-width: 520px;
    font-size: 18px;
    line-height: 1.55;
    margin: 0 0 24px;
}

.LensBuilder_bannerNote__ess {
    max-width: 620px;
    margin-top: 24px;
    font-size: 13px;
    opacity: .8;
}

.LensBuilder_bannerNote__ess p {
    margin: 0;
}

.LensBuilder_stepsWrapper__ess,
.LensBuilder_wrapperInner__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 0 var(--ess-gutter);
}

.LensBuilder_stepsTitle__ess {
    text-align: center;
    margin: 0 0 40px;
}

.LensBuilder_stepsGrid__ess {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.Step_main__ess {
    border-radius: 12px;
    padding: 28px;
    background: var(--essilor-color-grey-10, #eff1f3);
}

.Step_main__ess.bg-gradient-bl {
    color: #fff;
}

.Step_num__ess {
    font-size: 34px;
    font-weight: 700;
    opacity: .55;
    line-height: 1;
    margin-bottom: 12px;
}

.Step_title__ess {
    margin: 0 0 8px;
    font-size: 19px;
}

.Step_text__ess p {
    margin: 0;
    line-height: 1.55;
    opacity: .9;
}

.LensBuilder_wrapperInner__ess {
    text-align: center;
    color: var(--essilor-color-grey, #5a6675);
}

/* --- SearchResult --- */
.SearchResult_wrapper__ess {
    max-width: var(--ess-max);
    margin: 0 auto;
    padding: 96px var(--ess-gutter) 0;
}

.SearchResult_form__ess {
    display: flex;
    gap: 12px;
    margin: 24px 0;
    max-width: 620px;
}

.SearchResult_form__ess input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    border-radius: 24px;
}

.SearchResult_form__ess button {
    padding: 12px 28px;
    border: 0;
    border-radius: 24px;
    background: var(--essilor-color-marine, #0d52a0);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.SearchResult_list__ess {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.SearchResult_list__ess a {
    display: block;
    padding: 16px;
    border: 1px solid var(--essilor-color-grey-20, #dee0e3);
    border-radius: 8px;
    text-decoration: none;
    color: var(--essilor-color-black, #010e3d);
}

.SearchResult_itemTitle__ess {
    display: block;
    font-weight: 600;
}

.SearchResult_itemPath__ess {
    display: block;
    font-size: 13px;
    color: var(--essilor-color-grey, #5a6675);
    margin-top: 2px;
}

/* --- Footer --- */
.Footer_columns__jJHF_ {
    display: grid;
    grid-template-columns: repeat(var(--column-count, 3), minmax(0, 1fr));
    gap: 32px;
}

.Footer_mobile-content__7IGdk {
    display: none;
}

.FooterAccordion_header__pfnnc {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.FooterAccordion_title__J2pXv p {
    margin: 0;
    color: #fff;
    font-weight: 600;
}

.FooterAccordion_icon__1gdie {
    transition: transform .2s ease;
}

.FooterAccordion_main__AhL9N.is-open .FooterAccordion_icon__1gdie {
    transform: rotate(45deg);
}

.FooterAccordion_childContainer__ZZ3cs {
    padding: 12px 0 20px;
}

/* =============================================================================
   Адаптив
   ========================================================================== */
/* Каталог продуктов: на планшете две колонки, на телефоне одна,
   фильтр-теги превращаются в горизонтальную ленту. */
@media (max-width: 1100px) {
    .ProductBrandList_main__fxGyf {
        display: block !important;
        max-width: var(--ess-max);
        padding-left: var(--ess-gutter);
        padding-right: var(--ess-gutter);
    }

    .ProductBrandList_tags__5nnvk {
        width: auto !important;
    }

    .ProductBrandList_main__fxGyf .ProductBrandList_tag-tabs-wrapper__Kgyb6 {
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 24px;
    }

    .ProductBrandList_main__fxGyf .ProductBrandList_tag-item__P6Rj_ button {
        width: auto;
    }

    .ProductBrandList_main__fxGyf .ProductBrandList_products-grid__LBSlr {
        grid-template-columns: 1fr 1fr;
        max-width: none;
    }

    /* «Фильтр» и вкладки не должны налезать друг на друга */
    .ProductBrandList_main__fxGyf .ProductBrandList_filter-by__2D56a {
        flex-wrap: wrap;
        gap: 8px 16px;
    }

    .ProductBrandList_main__fxGyf .ProductBrandList_label__0Y85k {
        margin: 0 !important;
        padding-left: 0;
        text-align: left !important;
        flex: 0 0 auto;
    }
}

@media (max-width: 640px) {
    .ProductBrandList_main__fxGyf .ProductBrandList_products-grid__LBSlr {
        grid-template-columns: minmax(0, 1fr);
    }

    .ProductBrandList_main__fxGyf .ProductBrandList_filter-by__2D56a {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .ProductBrandList_filter-by__2D56a .ProductBrandList_items__3F7bJ {
        flex-wrap: wrap;
        gap: 8px;
    }
}

@media (max-width: 1024px) {
    .NavigationDropdown_wrapper__uVee1 {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .TextVisual_contents__rfv8U,
    .KeyVisual_wrapper__ess,
    .Testimonial_main__pNrCo {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .TextVisual_contents__rfv8U.TextVisual_reverse__ess .TextVisual_left__kTICV {
        order: 0;
    }

    .ContentSegmentAccordians_content__ess.ContentSegmentAccordians_withVisual__ess {
        grid-template-columns: minmax(0, 1fr);
    }

    .ContentSegmentAccordians_visual__ess {
        order: -1;
    }

    .StoreLocatorBanner_wrapper__Fh7dj {
        grid-template-columns: minmax(0, 1fr);
    }

    .BenefitsSummary_content__r4BT3 {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .KeyFig_keyItemsDesktop__gLpDu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .both-padding {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .top-padding {
        padding-top: 40px;
    }

    .bottom-padding {
        padding-bottom: 40px;
    }

    .Navigation_links__MuGeZ,
    .Navigation_buttons__aTy0i,
    .Navigation_dropdownDesktop__BKDq6 {
        display: none !important;
    }

    .Footer_desktop-content__GlzbZ {
        display: none;
    }

    .Footer_mobile-content__7IGdk {
        display: block;
    }

    .Footer_columns__jJHF_ {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .KeyFig_keyItemsDesktop__gLpDu {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px;
    }

    .BenefitsSummary_content__r4BT3 {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .Picto_subTitle__YSgGX {
        display: none;
    }

    .Picto_subTitleMobile__4_zjk {
        display: block;
        font-weight: 700;
        font-size: 17px;
        color: inherit;
    }

    .TechnologyFeatureHighlights2_contentWrapper__CswUI,
    .EngagementToolsCTA_tools__ess,
    .LensBuilder_stepsGrid__ess {
        grid-template-columns: minmax(0, 1fr);
    }
.CarouselSlider1_button__Ro0sf {
        display: none;
    }

    .StoreLocatorBanner_content__q_R7d {
        padding: 40px 24px;
    }

    .LensBuilder_banner__ess {
        min-height: 460px;
    }

    .LensBuilder_bannerMedia__ess::after {
        background: linear-gradient(to top, rgba(1, 14, 61, .9) 20%, rgba(1, 14, 61, .35) 100%);
    }

    .SearchResult_wrapper__ess {
        padding-top: 72px;
    }

    .SearchResult_form__ess {
        flex-direction: column;
    }
}

@media (min-width: 768px) {
    .Navigation_dropdownMobile__phYn3 {
        display: none !important;
    }
}


@media (max-width: 1200px) {
    .PushSlider_slide__ess {
        flex-basis: calc((100% - 48px) / 3);
    }
}

@media (max-width: 900px) {
    .PushSlider_slide__ess {
        flex-basis: calc((100% - 24px) / 2);
    }
}

@media (max-width: 600px) {
    .PushSlider_slide__ess {
        flex-basis: 100%;
    }
}
