/* 
   RESPONSIVE OVERRIDES (768px - 991px)
   This file specifically targets the tablet burger menu.
*/

@media (min-width: 1025px) {
  .btn-fav-large.ld-none {
    display: none;
  }

  .btn-fav-large {
    display: flex;
  }
}

@media (max-width: 1024px) {
  .btn-fav-large {
    display: none;
  }

  .btn-fav-large.ld-none {
    display: flex;
  }

  .btn-fav-heart {
    top: 8px;
    right: 6px;
    width: 32px;
    height: 32px;
  }
}

@media (min-width: 991px) and (max-width: 1024px) {
  .mega-menu__content .mega-col {
    width: 22% !important;
    padding: 41px 15px 10px;
  }

  .mega-menu__content .mega-col.level-3,
  .mega-menu__content .mega-col.level-4,
  .mega-menu__content .mega-col.level-5 {
    padding-top: 41px !important;
    z-index: 1;
  }
}

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

  /* 1. CORE LAYOUT & VISIBILITY */
  .main-nav__mobile-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    z-index: 100;
    background: #fff;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 40px;
    /* border-bottom: 1px solid #eee; */
  }

  .mega-menu__close,
  .main-nav__contacts,
  body .header .nav-item .nav-link .arrow-icon,
  body .header .nav-item .nav-link span[class*="arrow-icon"] {
    display: none !important;
  }

  .main-nav__close {
    background: none;
    border: none;
    font-size: 14px;
    color: #747373;
    cursor: pointer;
    font-weight: 500;
  }

  .nav-item.has-dropdown .nav-item__wrap::after {
    display: none;
  }

  #mainNav {
    /* display: none; Controlled by JS / .is-active */
    position: fixed !important;
    top: 56px !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    background: #fff !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    padding-top: 41px !important;
  }

  #mainNav.is-active {
    display: block !important;
  }

  /* 2. ACCORDION LOGIC - RESTORE SANITY */
  .nav-list {
    width: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mega-menu {
    display: none !important;
    /* Hidden by default */
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .main-nav {
    display: none !important;
  }

  .main-nav.is-open {
    display: block !important;
  }

  /* Show only when parent is open */
  .nav-item>.mega-menu,
  .mega-item>.mega-col {
    display: none !important;
  }

  /* Show only when parent is open */
  .nav-item.is-open>.mega-menu,
  .mega-item.is-open>.mega-col {
    display: block !important;
  }

  /* 3. ABSOLUTE ALIGNMENT & UNIFORMITY */
  .nav-item__wrap,
  .mega-item__wrap {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    width: 100vw !important;
    min-height: 44px !important;
    /* border-bottom: 1px solid #f0f0f0 !important; */
  }

  .nav-link,
  .mega-link {
    display: block !important;
    width: 100vw !important;
    padding: 0px 0px 0px 55px !important;
    /* FIXED GUTTER FOR ALL */
    /* font-size: 16px !important; */
    line-height: 1.2 !important;
    color: #141414 !important;
    background: transparent !important;
    border: none !important;
  }

  /* Progressive Indentation for "Cascade" */
  .mega-col.level-2 .mega-link {
    padding-left: 70px !important;
  }

  .mega-col.level-3 .mega-link {
    padding-left: 85px !important;
  }

  .mega-col.level-4 .mega-link {
    padding-left: 100px !important;
  }

  /* Absolute Chevrons - In the Gutter */
  .nav-chevron {
    width: 24px !important;
    height: 24px !important;
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    transition: transform 0.3s !important;
  }

  /* Chevron Indentation */
  .mega-col.level-2 .nav-chevron {
    left: 30px !important;
  }

  .mega-col.level-3 .nav-chevron {
    left: 45px !important;
  }

  .mega-col.level-4 .nav-chevron {
    left: 60px !important;
  }

  /* Hide redundant arrows */
  .nav-chevron.empty,
  .mega-item:not(.has-sub) .nav-chevron {
    display: none !important;
  }

  .is-open>.nav-item__wrap .nav-chevron,
  .is-open>.mega-item__wrap .nav-chevron {
    transform: translateY(-50%) rotate(180deg) !important;
  }

  /* 4. BANNER COMPACTNESS - FIX GREY TAIL */
  .mega-menu__container,
  .mega-menu__content {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    background: transparent !important;
  }

  .mega-banner {
    /* bottom: 24px !important; */
  }

  .mega-banner {
    display: none !important;
    /* Managed by JS/is-open */
    position: fixed !important;
    top: 130px !important;
    right: 20px !important;
    width: calc(40% - 40px) !important;
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    z-index: 100 !important;
  }

  .nav-item.is-open .mega-banner {
    display: block !important;
    width: 100% !important;
    max-width: 360px;
    margin: 0px 0 auto 0;
    padding: 0;
    aspect-ratio: 360 / 240;
  }

  .mega-banner {
    position: absolute !important;
    top: 37px !important;
  }

  .mega-banner a {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  .mega-banner a::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #0000004d !important;
    /* Darken as requested */
    z-index: 1 !important;
  }

  .mega-banner img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    opacity: 0.8 !important;
    object-fit: cover;
  }

  .mega-banner__title {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    /* Force white title */
    font-size: 20px !important;
    font-weight: 500 !important;
    text-align: center !important;
    width: 90% !important;
    z-index: 2 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
  }

  /* 5. CLEANUP GHOST LINES */
  /* *, *::before, *::after {
        border-right: none !important;
        border-left: none !important;
        box-shadow: none !important;
    } */

  .header-mobile-close {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 10001 !important;
    color: #333 !important;
  }

  .nav-chevron::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #666;
    border-bottom: 1.5px solid #666;
    transform: rotate(45deg);
    transition: transform 0.2s;
    margin-top: -2px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .strong-wear__text {
    font-size: var(--body-l-size);
  }

  .strong-wear__visual .icon-play img {
    transform: rotate(-180deg);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --font-size-24-16: calc(16px + (8 + 8 * 0.7) * ((100vw - 764px) / 1440));
  }

  .main-nav__mobile-top {
    height: 41px;
  }

  .header {
    padding: 16px 0;
  }

  .header__logo img {
    height: 24px;
  }

  .mega-banner__title {
    font-size: 20px;
    font-weight: 500;
  }

  .nav-list {
    width: 18% !important;
    min-width: 150px;
  }

  .mega-menu {
    left: 19% !important;
  }

  .mega-item__wrap {
    padding: 8px 0px;
  }

  .mega-menu__content .mega-col.level-5 {
    min-width: 223px;
  }

  .nav-list {
    min-height: 520px;
    padding: 41px 0 20px;
  }

  .mega-banner {
    position: absolute !important;
    /* bottom: 24px !important; */
    right: 24px !important;
    /* width: 298px !important; */
  }

  .contact-phone,
  .contact-city {
    font-size: var(--font-size-24-16);
    align-items: center;
  }

  .svg.wrapper {
    width: 20px;
    height: 20px;
  }

  .footer {
    padding: 32px 0 32px;
  }

  .footer__info {
    align-items: start;
    gap: 12px;
    max-width: 198px;
    display: flex;
    min-width: 193px;
    flex-direction: column;
  }

  .footer__main {
    gap: 20px;
  }

  .footer__logo {
    margin: 0;
  }

  .footer__slogan {
    margin-bottom: 0;
    font-size: 18px;
    line-height: 120%;
    text-align: start;
  }

  .footer__details {
    line-height: 120%;
    font-size: 16px;
    text-align: start;
  }

  .footer__nav {
    display: flex;
    justify-content: space-around;
    width: 100%;
  }

  .footer__socials {
    flex-direction: row;
    gap: 12px;
    margin: 0;
  }

  .footer__logo img {
    height: 24px;
    max-width: 160px;
  }

  .footer__col-title {
    margin-bottom: 0;
  }

  ul.footer__list.body-small {
    font-size: var(--body-m-size);
    gap: 8px;
  }

  .footer__col:first-child ul.footer__list.body-small {
    /* max-width: 164px; */
    width: 100%;
  }

  .footer__bottom {
    flex-direction: column !important;
    gap: 12px;
    align-items: start !important;
  }

  .footer__legal {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .footer__contacts {
    text-align: left !important;
    margin-top: 0;
    gap: 12px;
    align-items: flex-start;
  }

  .footer__main {
    margin-bottom: 30px;
    flex-direction: row;
    align-items: flex-start;
  }

  .footer__bottom {
    border-top: 0px solid #e0e0e0;
    padding-top: 0px;
    margin-top: 24px;
  }

  .social-icon {
    width: 40px;
    height: 40px;
  }

  .social-icon .svg.wrapper {
    width: 25px;
    height: 25px;
  }

  .footer__col {
    text-align: start;
  }

  .cookie-popup__text {
    padding-right: 16px;
    font-size: var(--body-s-size);
  }

  .footer__contact-link {
    font-size: var(--h4-size);
  }

  .footer__contact-items {
    flex-direction: column;
    align-items: start;
    text-align: start;
  }

  .hero__pagination {
    bottom: 8px;
  }

  .sw-pagination {
    gap: 16px;
    background: #a2a2a266;
  }

  .cookie-popup {
    max-width: 422px;
  }

  /* .filters__main,
  .filters__extra {
    display: flex;
  } */
  /* .header-filtr button {
    display: flex;
    background: transparent;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
  } */
  .filter-section {
    padding: 7px 0;
    padding-bottom: 0;
    border-bottom: 0px solid #eee;
  }

  /* #filterForm {
    display: none;
  } */
  #filterForm.open {
    display: flex;
  }

  .results-section {
    padding: 0px 0 36px;
  }

  .results-header {
    margin-bottom: 16px;
  }

  .collection-item {
    margin-bottom: 24px;
    padding-bottom: 12px;
    grid-template-columns: 252fr 450fr;
    display: grid;
  }

  .catalog-hero {
    padding: 23px 0;
  }

  .slider-pagination {
    padding: 4px 11px;
    gap: 20px;
    bottom: 24px;
  }

  .collection-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
    position: absolute;
    top: 0;
    left: 0;
    /* aspect-ratio: 482 / 311; */
    max-height: 311px;
  }

  .collections__grid {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: clamp(115px, 13.53px + 13.23vw, 149px);
    gap: 12px;
  }

  .sw-pagination {
    padding: 4px 11px;
    gap: 20px;
    bottom: 24px;
  }

  .section {
    padding: 20px 0;
  }

  .collection-card__label {
    font-size: 18px;
  }

  .collection-card:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  .collection-card:nth-child(2) {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }

  .collection-card:nth-child(3) {
    grid-column: 4 / 5;
    grid-row: 1 / 3;
  }

  .collection-card:nth-child(4) {
    grid-column: 1 / 2;
    grid-row: 3 / 5;
  }

  .collection-card:nth-child(5) {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }

  .collection-card:nth-child(6) {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }

  .collection-card:nth-child(7) {
    grid-column: 3 / 5;
    grid-row: 3 / 5;
  }

  #quality-slides-container {
    /* На 1024px высота будет 400px, на 768px — 360px. Между ними плавно тянется! */
    min-height: clamp(360px, 240px + 15.625vw, 400px);
  }

  .sw-features {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .project-gallery {
    margin-bottom: 40px;
  }

  .project-materials {
    padding-top: 20px;
  }

  .certs-page__title {
    padding-top: 60px;
    margin-bottom: 32px;
  }

  .news-page-hero {
    padding: 40px 0 40px;
    margin-bottom: 40px;
  }

  .cookie-popup__btn {
    align-self: flex-start;
    padding: 10px 24px;
    font-size: var(--body-s-size);
  }
}

@media (min-width: 810px) and (max-width: 1024px) {
  .footer__info {
    align-items: start;
    gap: 12px;
    max-width: 198px;
    display: flex;
    min-width: 254px;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .hero__desc {
    font-size: 16px;
    margin-bottom: 24px;
    line-height: 120%;
    margin-top: auto;
    text-align: start;
    width: 100%;
    margin-bottom: 16px;
  }

  .hero__slide-content .container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
  }

  .hero__slide-content .hero__content {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 54px;
    /* Space for pagination dots */
  }

  .slider-pagination {
    bottom: 20px;
    padding: 6px 12px;
    gap: 16px;
  }

  .dot {
    width: 8px;
    height: 8px;
  }

  .autoplay-control {
    bottom: 20px;
    right: 20px;
  }

  .hero__content {
    margin-top: 24px;
  }

  .hero__subtitle {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    margin-bottom: 4px;
    text-align: start;
    width: 100%;
    line-height: 120%;
  }

  .h1.hero__title {
    font-size: 24px;
    text-align: start;
    width: 100%;
  }

  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    justify-content: center;
  }

  .hero__actions .btn {
    flex: 1 1 calc(50% - 4px);
    padding: 12px 16px;
    font-size: 14px;
  }

  .hero__actions .btn:last-child:nth-child(odd) {
    flex: 0 0 auto;
  }

  .social-icon {
    width: 40px;
    height: 40px;
  }

  .social-icon .svg.wrapper {
    width: 25px;
    height: 25px;
  }

  .strong-wear__visual .icon-play img {
    transform: rotate(180deg);
  }

  /* .sw-play-icon .svg.wrapper {
    width: 3vw;
    height: auto;
  } */
  .sw-features__icon {
    width: 20px;
    height: 20px;
  }

  .main-nav__contacts {
    gap: 12px;
    display: flex;
    flex-direction: column;
  }

  .main-nav__mobile-top .svg.wrapper {
    width: 16px;
    height: 18px;
  }

  .mega-menu__close.js-nav-close {
    display: none;
  }

  .footer__contact-link .svg.wrapper {
    width: 18px;
    height: 18px;
  }

  .filter-section {
    padding: 0px 0;
  }

  .filters__main,
  .filters__extra {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0px;
    justify-content: space-between;
  }

  .header-filtr button {
    display: flex;
    background: transparent;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
  }

  #filterForm {
    display: none;
  }

  #filterForm.open {
    display: flex;
  }

  .filter-section {
    padding: 0px 0;
    padding-bottom: 0;
    border-bottom: 0px solid #eee;
  }

  .results-section {
    padding: 0px 0 36px;
  }

  .results-section {
    padding: 0px 0 36px;
  }

  .results-header {
    margin-bottom: 16px;
    margin-top: 16px;
  }

  .collection-item__title {
    margin-bottom: 12px;
  }

  .collection-item {
    margin-bottom: 24px;
    padding-bottom: 12px;
  }

  .catalog-hero {
    padding: 23px 0;
  }

  .tech-icon {
    width: 40px;
    height: 40px;
  }

  .tech-icon .svg.wrapper {
    width: 40px;
    height: 40px;
  }

  #specsTrigger {
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    opacity: 1;
    padding-top: 12px;
    padding-right: 20px;
    padding-bottom: 14px;
    padding-left: 20px;
    border-radius: 8px;
    width: fit-content;
  }

  .collection-badge-label {
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 16px;
  }

  .breadcrumbs-row {
    margin-bottom: 24px;
  }

  .header {
    padding: 13px 0;
  }

  .mega-banner {
    width: 100%;
    /* Если хотите, чтобы на горизонтальном планшете она не стала огромной, можно ограничить максимум */
    max-width: 360px;
    margin: 24px auto 0;
    /* Центрируем и даем отступ сверху от ссылок */
  }

  /* Ссылка, внутри которой лежит картинка */
  .mega-banner a {
    display: block;
    width: 100%;
    /* Задаем пропорцию из вашего первого макета (360 ширина, 240 высота) */
    aspect-ratio: 360 / 240;
    position: relative;
    border-radius: 8px;
    /* Не забываем про скругленные углы, как в макете */
    overflow: hidden;
  }

  /* Сама картинка */
  .mega-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Заполняет контейнер без сплющивания */
    display: block;
  }

  .mega-banner {
    width: 100%;
    max-width: 360px;
    margin: 0px 0 auto 0;
    padding: 0;
    aspect-ratio: 360 / 240;
  }

  .mega-banner a {
    display: block;
    width: 100%;
    aspect-ratio: 360 / 240;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
  }
}

@media (max-width: 480px) {
  .burger-line {
    width: 16px;
  }

  .header__actions {
    gap: 3px;
  }

  .header__burger {
    margin-right: 0;
  }

  .header__logo img {
    height: 1.253em;
  }

  .hero__slide-content {
    padding: 0px 12px;
    justify-content: flex-start;
  }

  .hero__actions {
    gap: 8px;
  }
}

@media (max-width: 768px) {

  .nav-link,
  .mega-link {
    color: #747373 !important;
  }

  .nav-item.has-dropdown.is-open .nav-link.body-medium.js-prevent-nav {
    color: #141414 !important;
  }

  .is-open>.nav-item__wrap>.nav-chevron+a,
  .is-open>.mega-item__wrap>.nav-chevron+a {
    color: #141414 !important;
  }

  .collection-card__label {
    font-size: 14px;
  }

  .strong-wear__image-box {
    margin-bottom: 16px;
  }

  .strong-wear__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .strong-wear__text {
    font-size: 14px;
  }

  .quality-slide__text-wrapper p {
    font-size: 14px;
  }

  .quality-steps {
    overflow-x: auto;
    /* Убеждаемся, что прокрутка работает */
    -ms-overflow-style: none;
    /* Скрываем скроллбар для Internet Explorer и старого Edge */
    scrollbar-width: none;
    /* Скрываем скроллбар для Firefox */
  }

  /* Скрываем скроллбар для браузеров на движке WebKit (Chrome, Safari, Opera, новый Edge) */
  .quality-steps::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .footer__slogan {
    margin-bottom: 0;
    font-size: 14px;
  }

  .footer__details {
    font-size: 12px;
  }

  .cookie-popup {
    position: fixed;
    bottom: 6px;
    right: 6px;
    width: calc(100% - 48px);
    max-width: 422px;
    background-color: #d6e3ca;
    padding: 12px;
  }

  .cookie-popup__text {
    padding-right: 12px;
    font-size: 12px;
  }

  #mainNav {
    padding-top: 37px !important;
  }

  .main-nav__mobile-top {
    height: 37px;
  }
}

@media (min-width: 768px) {

  .mobile-slider-container,
  .mobile-slider-dots {
    display: none;
  }

  .nav-item__wrap,
  .mega-item__wrap {
    min-height: 36px !important;
  }
}

/* Стили только для мобильных (до 678px) */
@media (max-width: 767px) {
  .moby-block {
    display: flex;
  }

  .btn-fav-large.ld-none {
    display: none;
  }

  .btn-fav-large.large-fav {
    display: flex;
  }

  .sidebar-specs {
    margin-bottom: 8px;
  }

  .other-designs {
    padding-top: 60px;
  }

  .section {
    padding: 25px 0;
  }

  .collections__slider-container {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Firefox */
    position: relative;
    /* padding-bottom: 40px; */
  }

  .collections__slider-container::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Edge */
  }

  .collections__slider {
    display: flex;
    gap: 16px;
    scroll-snap-type: x mandatory;
    width: 100%;
    flex-direction: row;
  }

  .collection-card {
    flex: 0 0 calc(100% - 32px);
    scroll-snap-align: start;
    margin-right: 0;
    min-height: 228px;
  }

  .collection-card:first-child {
    margin-left: 0;
  }

  .collection-card:last-child {
    margin-right: 0;
  }

  .collection-card__img {
    height: 228px;
  }

  /* Точки пагинации */

  .collections__dots .dot {
    width: 8px;
    height: 8px;
    /* background-color: rgba(0,0,0,0.3); */
    background: #ffffff99;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
  }

  .sw-pagination {
    gap: 16px;
    background: #a2a2a266;
  }

  .sw-pagination__dot {
    width: 8px;
    height: 8px;
  }

  .quality-pagination .quality-dot {
    width: 8px;
    height: 8px;
  }

  .quality-steps__icon .svg.wrapper {
    width: 40px;
    height: 40px;
  }

  .quality-slide__text-wrapper p {
    font-size: 14px;
  }

  .footer {
    padding: 16px 0 16px;
  }

  .footer__logo img {
    height: 21px;
    max-width: 140px;
  }

  .footer__main,
  .footer__info,
  .footer__socials,
  .footer__contact-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    gap: 8px;
    margin: 0;
  }

  .footer__socials {
    flex-direction: row;
    text-align: start;
    justify-content: flex-start;
  }

  .footer__logo {
    margin: 0;
  }

  .footer__slogan {
    margin-bottom: 0;
    font-size: 14px;
    max-width: 220px;
  }

  .footer__contacts {
    margin-top: 0;
    gap: 16px;
  }

  .footer__contact-link {
    font-size: 16px;
  }

  .footer__details {
    line-height: 120%;
    font-size: 12px;
  }

  .footer__nav {
    display: flex;
    flex-direction: column;
    order: 3;
  }

  .footer__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
  }

  .footer__col:nth-child(2) {
    .footer__list li:nth-child(2) {
      margin-bottom: 12px;
    }

    margin-top: 8px;
  }

  .footer__col-title {
    margin-bottom: 0;
  }

  .footer__col {
    gap: 8px;
  }

  .footer__main {
    gap: 24px;
  }

  .footer__bottom {
    border-top: 0px solid #e0e0e0;
    padding-top: 0px;
    margin-top: 24px;
  }

  .about-intro {
    margin-bottom: 32px;
  }

  /* 
    слайдеры стили для об компании
  */
  .about-gallery.about-gallery--top {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 0 !important;
    padding: 0;
    scrollbar-width: none;
    position: relative;
    align-items: flex-end;
    justify-content: center;
  }

  .about-gallery .gallery-item {
    flex: 0 0 100%;
    scroll-snap-align: start;
    border-radius: 0;
  }

  .about-gallery .gallery-item img {
    height: 228px;
  }

  .about-gallery .gallery-item--col {
    display: flex;
    flex-direction: row;
    gap: 0;
  }

  .gallery_about__dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 16px;
    backdrop-filter: blur(4px);
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 5;
    background: #a2a2a266;
  }

  /* Контейнер слайдера */
  .mobile-slider-container {
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    cursor: grab;
    border-radius: 12px;
  }

  .mobile-slider-container:active {
    cursor: grabbing;
  }

  /* Скрываем скроллбар */
  .mobile-slider-container::-webkit-scrollbar {
    display: none;
  }

  /* Трек со слайдами */
  .mobile-slider-track {
    display: flex;
    gap: 16px;
  }

  /* Каждый слайд */
  .mobile-slider-track .slider-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    display: flex;
  }

  /* Изображения внутри слайда */
  .mobile-slider-track .slider-slide img {
    width: 100%;
    /* height: stretch; */
    display: block;
    border-radius: 12px;
  }

  /* Точки пагинации */
  .mobile-slider-dots {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
    backdrop-filter: blur(4px);
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 5;
    background: #a2a2a266;
    position: absolute;
  }

  /* Обычная точка */
  .mobile-slider-dots span {
    width: 8px;
    height: 8px;
    background: #cbd5e1;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  /* Активная точка */
  .mobile-slider-dots span.active {
    background: var(--color-primary);
    border-radius: 20px;
    transform: scale(1.2);
  }

  /* Стили для слайдера Bottom Gallery - только для мобильных (макс. ширина 764px) */

  .about-gallery.about-gallery--bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
  }

  .mobile-slider-container-bottom {
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    cursor: grab;
    border-radius: 12px;
  }

  .mobile-slider-container-bottom:active {
    cursor: grabbing;
  }

  /* Скрываем скроллбар */
  .mobile-slider-container-bottom::-webkit-scrollbar {
    display: none;
  }

  /* Трек со слайдами */
  .mobile-slider-track-bottom {
    display: flex;
    gap: 16px;
  }

  /* Каждый слайд */
  .mobile-slider-track-bottom .slider-slide-bottom {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }

  /* Изображения внутри слайда */
  .mobile-slider-track-bottom .slider-slide-bottom .gallery-item {
    width: 100%;
  }

  .mobile-slider-track-bottom .slider-slide-bottom img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
  }

  /* Точки пагинации */
  .mobile-slider-dots-bottom {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
    backdrop-filter: blur(4px);
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 5;
    background: #a2a2a266;
    position: absolute;
    bottom: 0;
  }

  /* Обычная точка */
  .mobile-slider-dots-bottom span {
    width: 8px;
    height: 8px;
    background: #cbd5e1;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  /* Активная точка */
  .mobile-slider-dots-bottom span.active {
    background: var(--color-primary);
    transform: scale(1.2);
  }

  .section.collections .section__title {
    font-size: 22px;
  }

  .section.strong-wear .section__title.h2 {
    font-size: 22px;
  }

  .section.quality .section__title {
    font-size: 22px;
  }

  .strong-wear__subtitle {
    font-size: 18px;
  }

  .section__title {
    margin-bottom: 24px;
  }

  .cookie-popup__text {
    font-size: 12px;
  }

  .cookie-popup {
    padding: 12px;
    bottom: 12px;
    right: 12px;
    left: 12px;
    width: calc(100% - 24px);
  }

  .cookie-popup__btn {
    align-self: flex-start;
    padding: 8px 24px;
    font-size: var(--body-s-size);
    min-width: 147px;
  }

  /* слайдер */
  .hero__slide-content {
    height: 100%;
  }

  .strong-wear__desc {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
  }

  .sw-features__text {
    color: var(--color-primary);
    font-weight: 500;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
  }

  .strong-wear__text {
    color: #747373;
    line-height: 120%;
  }

  .sw-features {
    gap: 8.5px;
    margin-bottom: 16px;
  }

  /* 1. Сбрасываем жесткую сетку и JS-стили с контейнера */
  #quality-slides-container {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    /* Отключаем grid на мобилках, чтобы он не тянул высоту */
    position: relative;
  }

  /* 2. Все слайды "вырываем" из потока, чтобы они не занимали место */
  .quality-slide {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    /* Плавное затухание */
  }

  /* 3. АКТИВНЫЙ слайд возвращаем в поток! 
     Именно он теперь будет растягивать родителя ровно по своему контенту */
  .quality-slide.active {
    position: relative !important;
    opacity: 1;
    visibility: visible;
  }

  .breadcrumbs-row--detail {
    padding: 16px 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 0;
  }

  .project-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    margin-top: 0px;
  }

  .project-header__nav {
    gap: 16px;
    align-items: center;
    flex-shrink: 0;
    display: flex;
    width: 100%;
  }

  .news-nav-link {
    font-size: 14px;
  }

  .project-materials__title {
    margin-bottom: 16px;
    font-size: 22px;
  }

  .project-materials {
    padding-top: 8px;
  }

  .project-gallery {
    margin-bottom: 32px;
  }

  .project-detail-page {
    padding: 0 0 40px;
  }

  .project-gallery {
    overflow: hidden;
    width: 100%;
    position: relative;
  }

  .project-gallery__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* Мягкое прилипание к слайдам */
    scrollbar-width: none;
    /* Скрыть скроллбар в Firefox */
  }

  .project-gallery__grid::-webkit-scrollbar {
    display: none;
    /* Скрыть скроллбар в Chrome/Safari */
  }

  .pg-item {
    flex: 0 0 100%;
    /* Один слайд на весь экран */
    scroll-snap-align: start;
  }

  .project-gallery__dots {
    display: flex !important;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 16px;
    backdrop-filter: blur(4px);
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 5;
    background: #a2a2a266;
  }

  .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
  }

  .pg-item img {
    aspect-ratio: 296 / 198;
    max-height: 352px;
  }

  .project-intro {
    margin-bottom: 24px;
    flex-direction: column;
    gap: 12px;
  }

  .project-material-card__img img {
    width: 100%;
    aspect-ratio: 142 / 136;
    object-fit: cover;
    display: block;
    max-height: 136px;
  }

  .other-designs .designs-slider {
    flex-direction: column;
  }

  .news-cover-row {
    grid-template-columns: 1fr;
    margin-bottom: 24px;
  }

  .news-article {
    grid-template-columns: 1fr;
    margin-bottom: 24px;
  }

  .news-article__subtitle {
    margin: 0px 0 16px;
    font-size: 18px;
  }

  .news-article__list li {
    position: relative;
    font-size: 14px;
    margin-bottom: 0px;
  }

  .news-sidebar__next .body-medium {
    color: #545454;
    font-size: 14px;
  }

  .news-detail-page .about-news {
    padding: 0px 0;
  }

  .news-article__list {
    padding-left: 0px;
    margin-bottom: 0px;
  }

  .news-detail-page {
    padding: 0 0 40px;
  }

  .mega-banner__title {
    font-size: var(--h3-size);
    font-weight: 500 !important;
  }

  .search-banner {
    padding: 16px 0;
    margin-bottom: 16px;
  }

  .search-form {
    display: flex;
    height: 50px;
  }

  .search-form-wrapper {
    margin-bottom: 24px;
  }

  .search-result-item {
    margin-bottom: 24px;
  }

  .search-results-group {
    margin-bottom: 24px;
  }

  #mainNav {
    padding-top: 0px !important;
  }

  .main-nav__mobile-top {
    height: 78px;
  }

  .main-nav__mobile-top {
    border-bottom: none;
  }

  .nav-list {
    padding: 8px 16px;
    padding-left: 8px;
  }

  .nav-item__wrap,
  .mega-item__wrap {
    padding: 7px 0;
  }
}

@media (max-width: 480px) {
  .footer__slogan {
    max-width: 220px;
  }

  .projects-filters {
    display: flex;
    gap: 16px;
    padding: 16px 0 0;
    margin-bottom: 16px;
    flex-direction: column;
  }

  .pf-drop {
    position: relative;
    z-index: 0;
  }
}

/* 768px → 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .hero {
    /* height: clamp(
      416px,
      calc(416px + (536 - 416) * ((100vw - 767px) / (1024 - 767))),
      480px
    ); */

    height: calc(100vh - 56px);
  }
}

/* 320px → 768px */
@media (min-width: 320px) and (max-width: 767px) {
  .hero {
    /* height: clamp(
      416px,
      calc(519px + (416 - 519) * ((100vw - 320px) / (767 - 320))),
      519px
    ); */
    height: calc(100svh - 50px);
    margin-bottom: 25px;
  }

  .collection-card__label {
    font-size: 12px;
  }

  .collection-card__title {
    font-size: 18px;
  }
}

.certs-slider-container {
  position: relative;
  /* Теперь точки привязаны к этому блоку */
  width: 100%;
}

/* Общие стили для обертки */
.certs-slider-wrapper {
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .container {
    padding: 0 12px;
  }

  .certs-grid.certs-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    /* Firefox */
    gap: 0;
    /* Чтобы слайд занимал ровно 100% */
    position: relative;
  }

  .certs-grid.certs-slider::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
  }

  .certs-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    padding: 0 10px;
    /* Небольшие отступы по бокам */
    box-sizing: border-box;
  }

  /* Ваши стили для точек */
  .certs-slider__dots {
    display: flex;
    position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    backdrop-filter: blur(4px);
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 5;
    background: rgba(162, 162, 162, 0.4);
  }

  .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ffffffb3;
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .dot.active {
    transform: scale(1.2);
  }
}