@keyframes km-nav-in {
  from { opacity: 0; transform: translateY(-10px); }
}
@keyframes km-nav-item {
  from { opacity: 0; transform: translateX(18px); }
}

@media (max-width: 1600px) {
  .header-mail span { display: none; }
  .header-mail { width: 46px; height: 46px; justify-content: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; }
  .header-actions { gap: 20px; }
}

@media (max-width: 1380px) {
  ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1260px) {
  .site-header__inner { grid-template-columns: 240px 1fr auto; }
  .main-nav { justify-self: center; gap: 22px; }

  .offer__head { grid-template-columns: minmax(0, 1fr) auto; }
  .offer__head > .google-badge { grid-column: 1; grid-row: 2; justify-self: start; transform: none; }
  .offer__head > .slider-controls { grid-column: 2; grid-row: 1 / 3; align-self: end; }

  .about__grid { gap: 65px; }
  .about__collage { height: 570px; }

  .products__grid,
  ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-card__image { height: 300px; }

  .steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-single__grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr); }
  .trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust__item { padding: 22px 20px; }
  .trust__item:nth-child(odd) { padding-left: 0; border-left: 0; }
  .rental__grid { grid-template-columns: minmax(300px, 40fr) minmax(0, 60fr); }

  .footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 1040px) {
  :root { --header-h: 110px; --section-pad: 88px; }
  .container { width: min(calc(100% - 56px), var(--container)); }

  .site-header__inner { grid-template-columns: 1fr auto auto; gap: 15px; }
  .main-nav { display: none; }
  .header-actions { gap: 28px; }
  .menu-toggle { display: inline-flex; justify-self: end; }

  .main-nav.is-open {
    position: fixed;
    z-index: 25;
    inset: 0;
    display: flex;
    width: 100%;
    justify-self: stretch;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: calc(var(--header-h) + 28px) 28px 40px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      radial-gradient(circle at 92% 0%, rgba(24, 200, 109, .2), transparent 42%),
      linear-gradient(180deg, #061016 0%, #0a1a24 100%);
    animation: km-nav-in .3s ease both;
  }
  .main-nav.is-open > * { width: min(100%, 560px); }
  .main-nav.is-open > a {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    font-family: var(--font-head);
    font-size: clamp(36px, 8vw, 50px);
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1;
    animation: km-nav-item .4s ease both;
  }
  .main-nav.is-open > a:nth-child(2) { animation-delay: .05s; }
  .main-nav.is-open > a:nth-child(3) { animation-delay: .1s; }
  .main-nav.is-open > a:nth-child(4) { animation-delay: .15s; }
  .main-nav.is-open > a::after { display: none; }
  .main-nav.is-open > a:hover,
  .main-nav.is-open > a.is-current { color: var(--green-bright); }
  .main-nav.is-open > a:last-of-type { margin-bottom: 32px; }
  .main-nav.is-open .header-search { flex: none; height: 56px; margin-top: auto; }
  .main-nav.is-open .header-search input[type="search"] { font-size: 16px; }
  .main-nav.is-open .main-nav__extra { display: grid; margin-top: 12px; }
  .main-nav.is-open .main-nav__extra .button { width: 100%; }

  .about__grid { grid-template-columns: minmax(0, 1fr); }
  .about__collage { width: min(820px, 100%); height: 580px; }
  .about__copy { max-width: 760px; padding-bottom: 0; }

  .products__head { display: block; }
  .products__lead { max-width: 680px; margin-top: 24px; }
  .products__head .button { margin-top: 24px; }
  .reviews__head { align-items: flex-start; }

  .cta__grid { grid-template-columns: minmax(0, 1fr); }
  .cta-card { min-height: 400px; }
  .cta-card--wide { min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .rental { margin-top: 0; padding: 72px 0 82px; }
  .rental__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rental__collage { margin-top: 0; }
  .rental__col:nth-child(2) { margin-top: 0; }
  .rental__col:nth-child(3) { margin-top: 0; }
  .rental__copy { padding-top: 0; }
  .cta-form__row { grid-template-columns: minmax(0, 1fr); }
  .form-modal { padding: 22px 18px; }

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

  .page-header__title-row { flex-direction: column; align-items: stretch; gap: 28px; }
  .shop-search { flex-basis: auto; min-width: 0; max-width: 640px; }

  .product-single__grid { grid-template-columns: minmax(0, 1fr); }
  .product-gallery { position: static; min-width: 0; }
  .product-details { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .contact-info__grid { grid-template-columns: minmax(0, 1fr); }
  .lightbox__stage { padding: 72px 24px; }
}

@media (max-width: 760px) {
  :root { --header-h: 105px; --section-pad: 72px; }
  .container { width: min(calc(100% - 38px), var(--container)); }

  .main-nav.is-open { padding-inline: 19px; }

  .hero {
    --hero-img-h: clamp(330px, 92vw, 520px);
    min-height: 0;
    background-position: 96% 0;
    background-size: auto var(--hero-img-h);
  }
  .hero::before {
    background: linear-gradient(180deg,
      rgba(4, 16, 25, .78) 0,
      rgba(4, 16, 25, .18) calc(var(--header-h) + 10px),
      rgba(4, 16, 25, .22) calc(var(--hero-img-h) - 150px),
      #041019 var(--hero-img-h));
  }
  .hero::after { display: none; }
  .brand { width: 190px; height: 42px; }
  .header-actions { display: none; }
  .site-header__inner { grid-template-columns: 1fr auto; }
  .hero__content { min-height: 0; align-items: flex-end; padding: calc(var(--hero-img-h) - var(--header-h) - 70px) 0 56px; }
  .hero__copy { width: 100%; max-width: 620px; }
  .hero p { margin-top: 20px; }
  .hero__actions { margin-top: 28px; }
  .hero__actions .button { flex: 1 1 auto; }
  .hero-scroll { display: none; }

  .page-header { padding: calc(var(--header-h) + 48px) 0 52px; }
  .page-header__inner { flex-direction: column-reverse; align-items: stretch; gap: 18px; }
  .page-header__aside { padding-top: 0; }
  .about:has(+ .rental) { padding-bottom: 94px; }
  .page-header--compact { padding: calc(var(--header-h) + 18px) 0 18px; }

  .offer { padding: 82px 0 90px; }
  .offer__head { align-items: flex-start; margin-bottom: 36px; }
  .slider-controls { margin-top: 13px; }
  .product-card { min-height: 435px; }
  .product-card__image { height: 294px; }

  .about { padding: 82px 0 94px; }
  .about__collage { height: 500px; gap: 14px; padding: 14px; }
  .about__copy { padding-top: 22px; }

  .products, .reviews, .steps { padding: 82px 0 90px; }
  .products__head, .reviews__head { margin-bottom: 36px; }
  .shop-card__image { height: 250px; }
  .reviews__head { display: block; }
  .reviews__head .button { margin-top: 24px; }

  .cta { padding: 82px 0; }
  .cta__grid { gap: 48px; }
  .cta-card { min-height: 0; }

  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__brand, .footer__company, .footer__contact-column { grid-column: 1 / -1; }
  .footer__bottom { grid-template-columns: 1fr auto; }
  .footer__credit { grid-column: 1 / -1; grid-row: 2; }
  .scroll-top { grid-column: 2; grid-row: 1; }

  .steps__grid { grid-template-columns: minmax(0, 1fr); }
  .shop-toolbar { flex-direction: column; align-items: flex-start; gap: 12px; }
  .product-single { padding-top: 40px; }
  .product-details { margin-top: 48px; padding-top: 40px; }
  .products--related { margin-top: 64px; }
  .contact-info__cards { grid-template-columns: minmax(0, 1fr); }
  .search-form { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 30px), var(--container)); }

  .main-nav.is-open { padding-inline: 15px; }

  .hero p { font-size: 15px; }
  .hero__actions { gap: 10px; }
  .button { min-height: 53px; padding-inline: 18px; }

  .offer__head { display: block; }
  .google-badge { width: 100%; min-width: 0; margin-top: 24px; }
  .slider-controls { justify-content: flex-end; margin-top: 24px; }
  .slider-arrow { width: 49px; height: 49px; }
  .product-card__image { height: 280px; }
  .product-card h3 { font-size: 27px; }

  .about__collage { height: 470px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1.25fr .75fr; gap: 10px; padding: 10px; }
  .collage-photo--main { grid-column: 1 / 3; grid-row: 1; }
  .collage-photo--top { grid-column: 1; grid-row: 2; }
  .collage-photo--bottom { grid-column: 2; grid-row: 2; }
  .benefits { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-block: 34px; }
  .benefit { display: grid; min-height: 0; grid-template-columns: 40px 1fr; align-items: center; gap: 13px; padding: 0; border: 0; }
  .benefit svg { width: 34px; height: 34px; margin: 0; }

  .products__grid, ul.products { grid-template-columns: minmax(0, 1fr); }
  .shop-card__image { height: 275px; }
  .trust__grid { grid-template-columns: minmax(0, 1fr); }
  .trust__item, .trust__item:nth-child(odd) { padding: 18px 0; border-left: 0; border-top: 1px solid var(--line); }
  .trust__item:first-child { border-top: 0; }
  .cat-nav { gap: 8px; }
  .cat-nav__item { min-height: 40px; padding: 0 13px; font-size: 12px; }
  .rental__collage { gap: 8px; }
  .rental__col { gap: 8px; }
  .rental__pricebox { padding: 10px; }
  .rental__pricebox strong { font-size: 20px; }
  .rental__pricebox span { font-size: 10px; letter-spacing: .08em; }
  .dims-block h2 { font-size: 30px; }

  .cta__direct { display: grid; }
  .cta-card { padding: 30px 24px; }

  .footer__grid { grid-template-columns: minmax(0, 1fr); padding-bottom: 48px; }
  .footer__brand, .footer__company { grid-column: auto; }
  .footer__bottom { grid-template-columns: 1fr auto; align-items: center; }
  .footer__credit { text-align: left; }

  .shop-search { padding: 6px 6px 6px 48px; }
  .shop-search__icon { left: 18px; }
  .shop-search input[type="search"] { min-height: 50px; font-size: 15px; }
  .shop-search .button { min-height: 50px; padding-inline: 20px; }

  .product-actions .button { width: 100%; }
  .product-price__rows div { flex-direction: column; gap: 4px; }
  .product-price__rows dd { text-align: left; }
  .product-gallery__thumbs .swiper-slide { width: 76px; }
  .lightbox__stage { padding: 72px 12px 60px; }
  .lightbox__prev { left: 8px; }
  .lightbox__next { right: 8px; }
}

@media (max-width: 420px) {
  .hero__actions .button { flex-basis: 100%; }
}

@media (max-width: 340px) {
  .brand { width: 160px; }
  .shop-search .button { padding-inline: 16px; }
}

@media (max-width: 1040px) and (max-height: 640px) {
  .main-nav.is-open { padding-top: calc(var(--header-h) + 8px); padding-bottom: 24px; }
  .main-nav.is-open > a { padding: 10px 0; font-size: 30px; }
  .main-nav.is-open > a:last-of-type { margin-bottom: 20px; }
  .main-nav.is-open .header-search { height: 48px; }
  .main-nav.is-open .main-nav__extra { margin-top: 10px; }
  .main-nav.is-open .main-nav__extra .button { min-height: 48px; }
}

@media (max-width: 1040px) {
  .rental__col { min-width: 0; }
  .rental__pricebox { min-width: 0; padding: 12px; }
  .rental__pricebox strong { font-size: clamp(20px, 3.4vw, 34px); }
  .rental__pricebox span { font-size: 10px; letter-spacing: .1em; }
}

@media (max-width: 991px) {
  .shop-card__body { min-height: 0; gap: 12px; padding: 18px; }
  .shop-card h3 { font-size: clamp(21px, 1.2vw + 16px, 24px); line-height: 1.05; }
  .shop-card__price strong { font-size: 14px; }
  .shop-card .round-arrow { width: 38px; height: 38px; flex-basis: 38px; }

  .shop-search { max-width: 520px; padding: 5px 5px 5px 46px; }
  .shop-search__icon { left: 17px; }
  .shop-search__icon svg { width: 18px; height: 18px; }
  .shop-search input[type="search"] { min-height: 46px; font-size: 15px; }
  .shop-search .button { min-height: 46px; padding-inline: 20px; font-size: 13px; }

  .form-modal { width: min(560px, calc(100vw - 24px)); padding: 20px 18px; }
  .form-modal__head h3 { font-size: 26px; }
  .form-modal__head .cta-card__label { margin-bottom: 8px; font-size: 10px; }
  .form-modal__close { width: 36px; height: 36px; flex-basis: 36px; }
  .form-modal .cta-form { margin-top: 14px; }
  .form-modal .cta-form form { gap: 8px; }
  .form-modal .cta-form label { font-size: 11px; }
  .form-modal .cta-form .wpcf7-form-control-wrap { margin-top: 4px; }
  .form-modal .cta-form input:not([type="submit"]):not([type="checkbox"]),
  .form-modal .cta-form textarea { min-height: 42px; padding: 9px 12px; font-size: 14px; }
  .form-modal .cta-form textarea { min-height: 76px; max-height: 76px; }
  .form-modal .cta-form .wpcf7-acceptance label { font-size: 11px; line-height: 1.4; }
  .form-modal .cta-form input[type="submit"] { min-height: 48px; margin-top: 6px; font-size: 13px; }
}

@media (max-width: 520px) {
  .shop-search { padding: 4px 4px 4px 42px; }
  .shop-search__icon { left: 15px; }
  .shop-search input[type="search"] { min-height: 42px; font-size: 14px; }
  .shop-search .button { min-height: 42px; padding-inline: 16px; }
}

@media (max-width: 340px) {
  .shop-card h3 { font-size: 20px; }
  .shop-search .button { padding-inline: 14px; }

  .form-modal { width: calc(100vw - 16px); padding: 16px 14px; }
  .form-modal__head h3 { font-size: 22px; }
  .form-modal__close { width: 32px; height: 32px; flex-basis: 32px; }
  .form-modal .cta-form { margin-top: 10px; }
  .form-modal .cta-form form { gap: 6px; }
  .form-modal .cta-form label { font-size: 10px; }
  .form-modal .cta-form input:not([type="submit"]):not([type="checkbox"]),
  .form-modal .cta-form textarea { min-height: 38px; padding: 7px 10px; font-size: 13px; }
  .form-modal .cta-form textarea { min-height: 64px; max-height: 64px; }
  .form-modal .cta-form .wpcf7-acceptance label { font-size: 10px; }
  .form-modal .cta-form input[type="submit"] { min-height: 44px; }
}

@media (max-width: 991px) {
  .cat-nav__item { min-height: 40px; padding: 0 14px; font-size: 12px; }
  .cat-nav__item--pick { max-width: 100%; }
  .cat-nav__item--pick span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 520px) {
  .cat-nav__item { min-height: 36px; padding: 0 12px; font-size: 11px; }
  .cat-nav__item svg { width: 14px; height: 14px; }
}

@media (max-width: 760px) {
  .cta--page-top { padding-top: calc(var(--header-h) + 48px); }
}

@media (max-width: 760px) {
  .lang-bar { gap: 2px; padding: 4px; }
  .lang-bar__item { width: 34px; height: 30px; }
  .lang-bar__item img { width: 22px; height: 15px; }
}
