.product-hero__mobile-image { display:none; }
.menu-toggle { display:none; }
@keyframes menu-reveal {
    from { opacity:0; transform:translateY(-12px); }
    to { opacity:1; transform:translateY(0); }
}
@media (max-width:1100px) and (prefers-reduced-motion:no-preference) {
    .site-header.is-menu-open .site-header__panel,.catalog-filter-dialog[open] { animation:menu-reveal 260ms cubic-bezier(.2,.65,.3,1); }
}
.site-header__panel { display:contents; }
.site-header__request,.projects__counter,.catalog-filter-toggle,.catalog__count { display:none; }
.catalog__results-heading h2 { font-size:22px; margin-bottom:12px; }
.catalog-filter-dialog { padding:0; border:0; color:var(--ink); background:#fff; }
.catalog-filter-dialog::backdrop { background:#fff; }

@media (min-width:701px) {
    .first-screen {
        --header-height:85px;
        --admin-height:0px;
        display:grid;
        grid-template-rows:1fr auto;
        min-height:calc(100svh - var(--header-height) - var(--admin-height));
    }
    .admin-bar .first-screen { --admin-height:32px; }
    .first-screen .hero { display:flex; }
    .first-screen .hero__inner {
        display:flex;
        flex-direction:column;
        justify-content:center;
        min-height:0;
        padding-block:clamp(24px,5svh,64px) clamp(24px,4svh,48px);
    }
    .first-screen .hero__copy { gap:clamp(16px,2.5svh,26px); }
    .first-screen .hero h1 { font-size:clamp(44px,6.5svh,64px); }
}
@media (min-width:701px) and (max-width:1100px) {
    .first-screen { --header-height:72px; }
    .first-screen .hero h1 { font-size:clamp(40px,5.5svh,52px); }
}
@media (min-width:701px) and (max-width:782px) {
    .admin-bar .first-screen { --admin-height:46px; }
}

@media (max-width:1200px) {
    .container { width:calc(100% - 64px); }
    .category-grid { gap:16px; }
    .category-card__body { padding:20px; }
    .contacts__form { padding:32px; }
    .contact-details { gap:24px; flex-wrap:wrap; }
    .catalog--accessories .catalog__layout { grid-template-columns:220px minmax(0,1fr); gap:24px; }
    .product-grid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-hero__grid { gap:32px; }
    .product-hero h1 { font-size:44px; }
}

@media (max-width:1100px) {
    .site-header__inner > .site-logo,.site-header__inner > .menu-toggle { position:relative; z-index:1; }
    html.menu-is-open,html.menu-is-open body { overflow:hidden; overscroll-behavior:none; }
    .menu-is-open body::before { content:''; display:block; height:72px; }
    .menu-is-open #wpadminbar { visibility:hidden; }
    .site-header.is-menu-open { position:fixed; inset:0 0 auto; z-index:10005; background:#fff; backdrop-filter:none; box-shadow:none; }
    .admin-bar .site-header.is-menu-open { top:0; }
    .site-header.is-menu-open .site-header__panel { position:fixed; inset:0; z-index:-1; display:flex; flex-direction:column; gap:26px; width:100%; height:100vh; height:100dvh; max-height:none; padding:96px max(22px,calc((100% - 640px)/2)) 24px; overflow:hidden; background:#fff; }
    .site-header.is-menu-open .site-nav__list { gap:0; font-size:26px; font-weight:700; color:var(--ink); }
    .site-header.is-menu-open .site-nav__list a { display:flex; align-items:center; justify-content:space-between; padding:17px 0 16px; line-height:33px; border-bottom:1px solid var(--line); }
    .site-header.is-menu-open .site-nav__list a::after { content:''; flex:0 0 18px; height:18px; background:url('../icons/menu-chevron.svg') center/18px no-repeat; }
    html { scroll-padding-top:100px; }
    .site-header__inner { min-height:71px; gap:16px; flex-wrap:wrap; padding-block:13px; }
    .site-header__panel { display:flex; flex-direction:column; width:100%; gap:26px; }
    .site-header__right { display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0; }
    .site-header__right .language-nav { order:-1; margin-bottom:24px; gap:0; }
    .site-header__right .language-nav a,.site-header__right .language-nav__current,.site-header__right .language-nav button { display:inline-flex; align-items:center; justify-content:center; padding:9px 16px; font-size:13px; line-height:17px; min-width:50px; }
    .site-header__right .site-header__contacts { display:flex; align-items:flex-start; gap:6px; }
    .site-header__phone { font-size:18px; line-height:23px; }
    .site-header__email { font-size:14px; line-height:18px; }
    .site-header__request { display:flex; margin-top:18px; }
    .menu-toggle { display:flex; order:3; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; padding:10px; border:1px solid var(--line); background:transparent; color:var(--ink); }
    .menu-toggle { margin-left:auto; border-radius:3px; background:url('../icons/menu-open.svg') center/22px no-repeat; }
    .menu-toggle > span:not(.screen-reader-text) { display:none; }
    .menu-toggle[aria-expanded=true] { background-image:url('../icons/menu-close.svg'); background-size:20px; }
    .site-nav { width:100%; }
    .site-nav__list { flex-direction:column; align-items:stretch; gap:0; }
    .site-nav__list a { display:block; padding:12px 0; }
    .hero__inner { min-height:600px; padding-block:90px 48px; }
    .hero h1 { font-size:52px; }
    .hero__copy { max-width:680px; }
    .hero-specs { gap:20px; flex-wrap:wrap; }
    .hero-specs__item + .hero-specs__item { padding-left:20px; }
    .advantages__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .section,.about { padding-block:64px; }
    .section-heading { gap:24px; align-items:flex-start; }
    .section-heading h2 { font-size:36px; }
    .section-heading__text,.about .section-heading__text { flex-basis:320px; }
    .category-grid,.about__steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
    .about__step { padding-right:0; }
    .about__step:nth-child(odd) {padding-left:0;border: 0;}
    .projects__slide { min-height:440px; padding:32px; }
    .contacts__grid { grid-template-columns:minmax(0,1fr); }
    .contacts__side { border-left:0; border-top:1px solid var(--line); }
    .contacts__side .contact-details { padding:32px; gap:24px; }
    .site-footer__top { align-items:flex-start; }
    .site-footer .contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-footer .contact-details__item--address { grid-column:1/-1; }
    .site-footer__bottom,.footer-nav { flex-wrap:wrap; }
    .product-hero--background { aspect-ratio:auto; }
    .product-hero img.product-hero__background { display:none; }
    .product-hero__mobile-image { display:block; width:100%; max-height:400px; object-fit:contain; }
    .product-hero__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; }
    .product-hero__inner { padding-block:28px 40px; }
    .product-hero h1 { font-size:36px; }
    .product-properties__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-detail__content { gap:40px; }
    .product-specs__scroll table { min-width:760px; }
    .product-specs__scroll tbody th { min-width:210px; }
}

@media (max-width:782px) {
    .admin-bar .site-header { top:46px; }
}

@media (max-width:700px) {
    .container { width:calc(100% - 44px); }
    body { font-size:15px; }
    html { scroll-padding-top:92px; scrollbar-gutter:auto; }
    .site-header__inner { width:calc(100% - 40px); }
    .site-header { background:#fff; }
    .site-logo img { width:105.6px; height:39.1px; }
    .hero__inner { min-height:0; padding-block:40px 34px; }
    .hero h1 { font-size:36px; line-height:1.08; }
    .hero__copy { gap:18px; }
    .hero__text { font-size:15px; line-height:1.55; }
    .eyebrow { font-size:11px; line-height:14px; gap:12px; }
    .eyebrow::before { width:20px; }
    .hero .eyebrow { font-size:10.5px; line-height:13px; }
    .hero__buttons { width:100%; gap:12px; }
    .hero__buttons .button { width:100%; padding:15px 16px; }
    .hero__buttons .button:first-child:not(.button--light)::after { content:'→'; }
    .hero-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; margin-top:18px; padding-top:20px; }
    .hero-specs__item + .hero-specs__item { border-left:0; padding-left:0; }
    .hero-specs__item { gap:5px; }
    .hero-specs dd { font-size:22px; line-height:28px; }
    .hero-specs dt { font-size:10px; line-height:13px; }
    .advantages__list { grid-template-columns:minmax(0,1fr); gap:0; padding-block:6px; }
    .advantages__item { flex-direction:row; align-items:center; gap:12px; min-height:70px; }
    .advantages__icon { flex-shrink:0; }
    .advantages h2 { font-size:16px; }
    .advantages p { margin-top:2px; }
    .section,.about { padding-block:48px; }
    .section-heading { flex-direction:column; gap:12px; margin-bottom:22px; }
    .section-heading h2 { font-size:30px; }
    .section-heading__text,.about .section-heading__text { flex-basis:auto; max-width:none; font-size:15px; }
    .section-heading__title > .eyebrow { margin-bottom:12px; }
    .products .section-heading { margin-bottom:26px; }
    .category-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .category-card__image { aspect-ratio:346/200; }
    .category-card__body { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:26px 26px 30px; gap:12px; }
    .category-card__body h3,.category-card__body p { grid-column:1/-1; }
    .category-card__range,.category-card__more { align-self:center; }
    .category-card__more { grid-column:2; font-size:14px; }
    .category-card__more span { margin-left:4px; }
    .about .section-heading { margin-bottom:24px; }
    .about .section-heading h2 { font-size:28px; line-height:1.08; }
    .about .section-heading__text { line-height:1.55; }
    .about__steps { grid-template-columns:minmax(0,1fr); padding-top:0; gap:0; border:0; }
    .about__step { padding-block:17px 18px; border-top:1px solid var(--line); gap:7px; padding-left: 0;border-left: 0;}
    .about__number { font-size:26px; line-height:33px; font-weight:800; }
    .about h3 { font-size:18px; }
    .projects__slide { min-height:380px; padding:20px; border-radius:4px; overflow:hidden; }
    .projects__caption { gap:6px; }
    .projects__caption h3 { font-size:24px; }
    .projects__caption p { font-size:13.5px; }
    .projects__caption .eyebrow { font-size:11px; }
    .projects__caption .eyebrow::before { display:none; }
    .projects__counter { display:block; position:absolute; top:18px; left:20px; font-size:13px; font-weight:600; letter-spacing:.04em; }
    .projects__counter > span { color:var(--accent); }
    .projects__controls { top:auto; bottom:0; gap:10px; }
    .projects__controls button { width:44px; height:44px; border-radius:3px; }
    .projects__dots { justify-content:flex-start; align-items:center; min-height:44px; padding-right:110px; margin-top:22px; gap:8px; }
    .projects__dots .swiper-pagination-bullet { position:relative; }
    .projects__dots .swiper-pagination-bullet::after { content:''; position:absolute; inset:-16px -4px; }
    .contacts__grid { background:transparent; gap:22px; }
    .contacts__form { padding:24px 22px; min-width:0; background:#fff; }
    .contacts__form form { gap:18px; }
    .contacts__side { border:0; }
    .contacts__side .contact-details { padding:22px 0 0; gap:16px; }
    .contacts__side .contact-details__item { flex-basis:100%; }
    .contacts__side .contact-details dd { font-size:17px; line-height:22px; }
    .contacts__side .contact-details dt { margin-bottom:5px; }
    .contact-details__item--email dd { white-space:normal; }
    .contacts__map-frame,.contacts__map-image,.contacts__side .map-consent { height:375px; }
    .site-footer { padding-block:36px 24px; }
    .site-footer__top,.site-footer__bottom { flex-direction:column; gap:24px; }
    .site-footer__top { gap:0; padding:0; border:0; }
    .site-footer__top > .site-logo { padding-bottom:23px; width:100%; border-bottom:1px solid var(--line); }
    .site-footer .contact-details { padding-block:24px; width:100%; border-bottom:1px solid var(--line); }
    .site-footer__bottom { margin-top:20px; gap:10px; }
    .site-footer .contact-details { grid-template-columns:minmax(0,1fr); gap:20px; }
    .footer-nav { gap:8px 20px; }
    .footer-nav a { display:inline-block; padding-block:8px; }
    .back-to-top { right:16px; bottom:16px; width:44px; height:44px; }
    .blocker { padding:12px; }
    .modal.request-modal { padding:48px 20px 24px; }
    .request-modal h2 { font-size:28px; margin-bottom:24px; }
    .request-modal__success h2 { font-size:26px; }
    .form-toast { left:12px; right:12px; bottom:12px; width:auto; padding:18px 48px 18px 18px; }
    .catalog { padding-block:20px 44px; }
    .woocommerce-breadcrumb { font-size:12.5px; line-height:16px; gap:7px; margin-bottom:20px; }
    .catalog > .section-heading { margin-top:0; margin-bottom:20px; }
    .catalog__heading { gap:14px; margin-bottom:20px; }
    .catalog__heading h1 { font-size:40px; }
    .catalog__description { font-size:15px; line-height:1.52; }
    .category-tabs { flex-wrap:wrap; overflow:visible; padding:0; gap:8px; margin-bottom:20px; }
    .category-tabs__link { flex-shrink:0; padding:9px 16px; font-size:13.5px; line-height:17px; }
    .catalog--accessories .catalog__layout { grid-template-columns:minmax(0,1fr); }
    .catalog--accessories .catalog__layout { gap:20px; }
    .has-mobile-filter .catalog-filter { display:none; }
    .catalog-filter-toggle { display:flex; width:100%; padding-block:15px; }
    .catalog-filter-toggle img { width:19px; height:19px; }
    .catalog__results-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
    .catalog__results-heading h2 { font-size:20px; margin:0; }
    .catalog__count { display:block; color:var(--soft); font-size:13px; white-space:nowrap; }
    .product-grid,.product-grid--compact { grid-template-columns:minmax(0,1fr); gap:22px; }
    .product-card__image { aspect-ratio:346/220; }
    .product-grid--compact { gap:16px; }
    .product-grid--compact .product-card__image { aspect-ratio:346/250; }
    .product-card__body { padding:22px 24px 28px; }
    .product-grid--compact .product-card__body { padding:20px 22px 22px; gap:9px; }
    .product-grid--compact h2 { font-size:20px; }
    .product-grid--compact .product-card__more { font-size:13.5px; }
    .product-card h2 { font-size:22px; }
    .product-card__specs { padding-top:0; }
    .product-card__specs > div { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding-block:14px; }
    .product-card__specs dd { text-align:left; line-height:1.55; }
    .product-hero__inner { padding-block:20px 0; }
    .product-hero .woocommerce-breadcrumb { margin-bottom:22px; }
    .product-hero__grid { grid-template-columns:minmax(0,1fr); gap:22px; }
    .product-hero__mobile-image { height:auto; aspect-ratio:346/300; max-height:none; object-fit:cover; object-position:3.82% center; }
    .product-hero__image { max-height:300px; }
    .product-hero__info { gap:12px; }
    .product-hero__info .eyebrow { font-size:12px; line-height:15px; font-weight:700; }
    .product-hero h1 { font-size:38px; }
    .product-hero__info h2 { font-size:18px; }
    .product-hero__description { font-size:15px; line-height:1.52; }
    .product-hero__buttons { gap:12px; margin-top:10px; }
    .product-hero__buttons .button { width:100%; padding:15px 16px; font-size:14.5px; line-height:19px; }
    .product-detail__content { padding-block:22px 44px; gap:22px; }
    .product-detail__content h2 { font-size:26px; margin-bottom:22px; }
    .product-detail__note { margin-top:22px; font-size:12.5px; line-height:16px; }
    .product-properties__grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .property-card__image { aspect-ratio:294/240; }
    .product-detail__description { overflow-wrap:anywhere; }
    .woocommerce-pagination ul { flex-wrap:wrap; }
    .woocommerce-pagination a,.woocommerce-pagination span { min-width:44px; min-height:44px; display:grid; place-items:center; }
    .text-page .text-content { font-size:16px; }
    .text-page .text-content h2 { font-size:24px; }
    .text-page .text-content blockquote { margin-inline:0; }
    .cookie-banner .cookie-banner__actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .cookie-banner .cookie-banner__actions label { font-size:12px; gap:6px; min-height:32px; }
    .cookie-banner .cookie-banner__actions input { flex:0 0 18px; }
    .cookie-banner .button { min-height:44px; }
}

@media (max-width:600px) {
    .admin-bar .site-header { top:0; }
}

@media (max-width:360px) {
    .container { width:calc(100% - 32px); }
    .about__steps { grid-template-columns:minmax(0,1fr); }
    .cookie-banner .cookie-banner__actions .button { grid-column:1/-1; }
}

@media (max-width:1100px) and (max-height:500px) {
    .site-header.is-menu-open .site-header__panel { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:80px 22px 12px; }
    .site-header.is-menu-open .site-nav__list { gap:0; font-size:20px; }
    .site-header.is-menu-open .site-nav__list a { padding:8px 0; }
}

@media (max-width:700px) {
    html.filter-is-open,html.filter-is-open body { overflow:hidden; overscroll-behavior:none; }
    .catalog-filter-dialog { inset:0; width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; overflow:hidden; }
    .catalog-filter-dialog form { height:100%; display:flex; flex-direction:column; padding:20px 22px max(24px,env(safe-area-inset-bottom)); gap:20px; }
    .catalog-filter-dialog__head { display:flex; align-items:center; justify-content:space-between; }
    .catalog-filter-dialog__head h2 { font-size:26px; }
    .catalog-filter-dialog__head button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:3px; background:none; }
    .catalog-filter-dialog fieldset { padding:0; margin:0; border:0; flex:1; min-height:0; overflow:auto; }
    .catalog-filter-dialog legend { padding:0 0 14px; font-size:14px; font-weight:600; text-transform:uppercase; }
    .catalog-filter-dialog label { display:flex; align-items:center; gap:10px; min-height:46px; margin-bottom:2px; cursor:pointer; font-size:15px; color:var(--muted); }
    .catalog-filter-dialog input { appearance:none; width:24px; height:24px; flex:0 0 24px; margin:0; border:1px solid #879098; border-radius:2px; background:#fff; cursor:pointer; }
    .catalog-filter-dialog input:checked { background:#879098 url('../icons/filter-checked.svg') center/24px no-repeat; }
    .catalog-filter-dialog small { margin-left:auto; color:var(--soft); font-size:12px; }
    .catalog-filter-dialog form > .button { flex-shrink:0; }
}
