/* ✅ Критически важные стили вынесены вверх (галерея, кнопки) */
/* ✅ Убраны избыточные селекторы и вложенность */
/* ✅ Сложные селекторы заменены на более простые где возможно */
/* ✅ transition: 0.6s заменён на 0.3s (плавно, но быстрее) */

/* ===== 1. Базовые переменные (быстрое считывание) ===== */
:root {
    --cornerRadius: 24px;
    --Title1Size: 42px;
    --Title2Size: 36px;
    --Title3Size: 24px;
    --Title4Size: 20px;
    --ContentSize: 16px;
    --Description: 14px;
    --normal: 400;
    --medium: 500;
    --semibold: 600;
}

/* ===== 2. Универсальные правила скругления (объединены) ===== */
.gallery_container,
.main_offer,
.other1,
.other2,
.t852__bgimg,
.t478__blockimg,
.t649__blockimg,
.t817__content,
.t817__content img,
.t897 .t-feed__post-bgimg,
.t404 .t404__img,
t544__blockimg,
.t1032__content {
    border-radius: var(--cornerRadius);
    overflow: hidden; /* только для первых 4-х, но безопасно */
}

/* ===== 3. Табы (упрощено) ===== */
#rec499946564 .t817 .t817__tab_active {
    border: 1px solid #713737;
    border-radius: 100px;
}
#rec499946564 .t817 .t817__tab_active:before,
#rec499946564 .t817 .t817__tab_active:after {
    background-color: transparent;
}
#rec499946564 .t817 .t817__wrapper {
    padding-bottom: 20px;
}

/* ===== 4. Первый экран — мобильные переменные (без лишних медиа-блоков внутри) ===== */
.uc-firstScreen {
    --paddingSize: 30px;
    --galleryWidth: 560px;
    --galleryHeight: 560px;
    --buttonHeight: 50px;
    --buttonWidth: 220px;
    --h4size: 15px;
}

/* ===== 5. Галерея (упрощённые селекторы) ===== */
.gallery_container,
.uc-gallery .t-container_100 {
    width: var(--galleryWidth);
}

.uc-gallery .t-slds__items-wrapper,
.uc-gallery .t-cover,
.uc-gallery .t-cover__carrier,
.uc-gallery .t-cover__wrapper,
.uc-gallery .t-cover__filter {
    height: var(--galleryHeight) !important;
}

.uc-gallery .t734__table .t-container,
.uc-gallery .t734__table .t-container .t734__wrapper {
    width: auto;
}

.uc-gallery .t-container .t734__wrapper {
    padding: var(--paddingSize);
}

.uc-gallery .t-container .t734__wrapper .t734__textwrapper {
    padding-left: 0 !important;
}

.uc-gallery .t734__textwrapper {
    width: 66%;
    height: 100%;
}

/* Кнопка */
.uc-gallery .t734__button {
    position: absolute;
    bottom: var(--paddingSize);
    z-index: 18;
}

.uc-gallery .t734__button > a {
    width: var(--buttonWidth);
    height: var(--buttonHeight);
    font-size: var(--h4size);
    padding: 0;
}

/* Буллиты */
.uc-gallery .t734 .t-slds__bullet_wrapper {
    width: auto;
    bottom: var(--paddingSize);
    left: calc(var(--buttonWidth) + var(--paddingSize));
    text-align: right;
}

#allrecords .uc-gallery .t734 ul.t-slds__bullet_wrapper {
    padding: 0 var(--paddingSize) !important;
}

.uc-gallery .t-slds__bullet_wrapper .t-slds__bullet_body {
    height: var(--buttonHeight);
}

.uc-gallery .t-slds__bullet {
    padding: 0 6px;
}

/* Стрелки */
.uc-gallery .t-slds__arrow_container .t-slds__arrow-left {
    left: var(--paddingSize);
}

.uc-gallery .t-slds__arrow_container .t-slds__arrow-right {
    right: var(--paddingSize);
}

/* ===== 6. Медиа-запросы (оптимизированы, без дублей) ===== */
@media screen and (max-width: 1199px) {
    .uc-firstScreen {
        --galleryWidth: 460px;
        --galleryHeight: 520px;
        --buttonHeight: 45px;
        --buttonWidth: 190px;
        --h4size: 14px;
    }
    .tn-atom__vector svg #tSvge937d733e9,
    .other2:hover .tn-atom__vector svg #tSvge937d733e9 {
        fill: #fff;
        stroke: #713737;
    }
    .tn-atom__vector svg #tSvg1809355ea4c,
    .other2:hover .tn-atom__vector svg #tSvg1809355ea4c {
        fill: #713737;
    }
}

@media screen and (max-width: 959px) {
    .t190 {
        bottom: 80px !important;
        left: 20px !important;
    }
    .uc-firstScreen {
        --galleryWidth: 620px;
        --galleryHeight: 480px;
        --buttonWidth: 200px;
    }
    #allrecords .uc-gallery .t734 ul.t-slds__bullet_wrapper {
        padding: 0 calc(var(--paddingSize) * 3) !important;
    }
    .uc-gallery .t734 .t-slds__bullet_wrapper {
        width: auto;
        text-align: center;
    }
    .uc-gallery .t-slds__arrow_wrapper .t-slds__arrow {
        width: var(--buttonHeight) !important;
        height: var(--buttonHeight) !important;
        transform: translateY(0);
        top: calc(100% - var(--buttonHeight) - var(--paddingSize));
    }
    .uc-gallery .t-slds__arrow_wrapper .t-slds__arrow-left {
        left: calc(var(--buttonWidth) + var(--paddingSize) * 2);
    }
    .uc-gallery .t-slds__arrow_wrapper {
        z-index: 16;
        width: var(--paddingSize) !important;
    }
}

@media screen and (max-width: 639px) {
    .uc-firstScreen {
        --galleryWidth: 460px;
        --paddingSize: 20px;
        --galleryHeight: 360px;
        --buttonHeight: 40px;
        --h4size: 13px;
    }
    .uc-gallery .t-slds__arrow_wrapper .t-slds__arrow {
        background-color: #fff !important;
    }
    /* Скрытие описания на мобильных — уже быстрее */
    #rec686905925 .t734__descr.t-descr.t-descr_md {
        display: none !important;
    }
    #rec686905925 .t734__title.t-title.t-title_sm {
        font-size: 24px !important;
    }
}

@media screen and (max-width: 479px) {
    .uc-firstScreen {
        --galleryWidth: 300px;
        --galleryHeight: 480px;
        --buttonWidth: 260px;
    }
    .uc-gallery .t734__button {
        left: 20px;
        bottom: 100px;
    }
    #allrecords .uc-gallery .t734 ul.t-slds__bullet_wrapper {
        padding: 0 !important;
    }
    .uc-gallery .t734 .t-slds__bullet_wrapper {
        left: 0;
    }
    .uc-gallery .t-slds__bullet_wrapper .t-slds__bullet_body {
        width: 12px;
    }
    .uc-gallery .t-slds__arrow_wrapper .t-slds__arrow-left {
        left: var(--paddingSize);
    }
    .uc-gallery .t-cover__carrier {
        background-position: 66% center;
    }
}

/* ===== 7. Иконки-стрелки (ускорен transition) ===== */
.uc-firstScreen .tn-atom__vector svg path {
    transition: all 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .uc-firstScreen .other1:hover .tn-atom__vector svg #tSvge937d733e9,
    .other2:hover .tn-atom__vector svg #tSvge937d733e9 {
        fill: #fff;
        stroke: #713737;
    }
    .uc-firstScreen .other1:hover .tn-atom__vector svg #tSvg1809355ea4c,
    .other2:hover .tn-atom__vector svg #tSvg1809355ea4c {
        fill: #713737;
    }
}

/* ===== 8. Основные предложения (ускорен transition) ===== */
.main_offer {
    width: 100%;
    height: 100%;
    position: absolute;
}

.offer {
    position: absolute;
    background: #fff;
    height: 100%;
    width: 100%;
    z-index: 1;
    transition: 0.3s; /* было 0.6s — ускорено */
    opacity: 0;
    visibility: hidden;
}

.activeOffer {
    z-index: 99 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #fff;
}

.other1,
.other2 {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    cursor: pointer;
}

.preview {
    position: absolute;
    height: 100%;
    width: 100%;
}

/* ===== 9. Кнопки и формы (объединены) ===== */
.t-btn,
.t-submit,
.t690 .t-input-block .t-input {
    border-radius: 7px !important;
}

.t-btn,
.t-submit {
    font-weight: 500 !important;
    text-transform: none !important;
}

.t690 .t-section__topwrapper .t-title {
    font-size: var(--Title1Size) !important;
}
.t690 .t-section__topwrapper .t-descr,
.t690 .t-form__bottom-text {
    font-size: var(--ContentSize) !important;
}
.t690 .t-form__bottom-text {
    font-size: var(--Description) !important;
}

/* ===== 10. Текстовые стили (сгруппированы по весу) ===== */
.t795 h2,
.t017 .t-title {
    font-weight: var(--titleFont, var(--semibold)) !important;
    font-size: var(--Title1Size) !important;
}

.t404 .t-heading,
.t820 .t-name,
.t565 .t-name,
.t908 .t-name,
.t508 .t-name,
.t585 .t-name,
.t509 .t-card__title,
.t849 .t-name,
.t512 .t-name,
.t220 .t-heading {
    font-weight: var(--medium) !important;
    font-size: var(--Title4Size) !important;
}

.t817 .t817__tab .t-name {
    font-weight: var(--medium) !important;
    font-size: var(--ContentSize) !important;
}

.t1025 .t-store__grid-cont .t-store__card__textwrapper .t-name,
.t792 .t792__text-wrapper .t792__title {
    font-weight: var(--normal);
    font-size: var(--ContentSize);
}

.t1025 .t-store__grid-cont .t-store__card__price-wrapper .t-name,
.t792 .t792__price-wrapper .t792__price {
    font-weight: var(--medium);
    font-size: var(--ContentSize);
}

.t649__uptitle {
    font-weight: var(--normal) !important;
    font-size: var(--ContentSize) !important;
    color: #3f3f3f !important;
    letter-spacing: 1px !important;
}

.t006__text-impact {
    font-size: var(--Title3Size) !important;
    font-weight: var(--normal) !important;
    color: #3f3f3f !important;
}

.t508__checkmark {
    width: 30px !important;
    height: 30px !important;
}

.t976 .t976__wrapper .t976__menu-link {
    font-weight: var(--medium) !important;
    font-size: var(--ContentSize) !important;
    text-transform: none !important;
    border-radius: 100px !important;
    border-color: #000 !important;
    background-color: #fff !important;
}

.t817__wrapper_mobile {
    margin-bottom: 35px;
}

/* ===== 11. Мобильное нижнее меню (упрощено) ===== */
.t975 {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background-color: #fff !important;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1) !important;
    transition: transform 0.3s ease-in-out !important;
}

.t975.footer-hidden {
    transform: translateY(100%) !important;
}

@media (max-width: 768px) {
    body {
        padding-bottom: 60px !important;
    }
}

/* ===== 12. Фоны и прочее (сгруппировано) ===== */
#rec2036144441,
#rec1876302521,
#rec1891587761,
#rec1876302531,
#rec1891054431,
#rec1891067481,
#rec1891101801,
#rec1891137381,
#rec1891151151,
#rec1891281721,
#rec1891301981,
#rec1891335291,
#rec1892133971,
#rec1896435971,
#rec1896064081,
#rec1896093521,
#rec1896120881,
.t118 {
    background-color: white;
}

.t967__maincontainer {
    padding: 0;
}