header {position:relative;display:flex;width:100%;align-items:flex-end;
      /* Логотип и контакты — по краям колонки содержимого (space-evenly оставлял поля разной ширины) */justify-content:space-between;gap:2rem;padding:2rem max(2rem, calc((100vw - var(--frame)) / 2));background:var(--marble);background-size:cover;box-shadow:0 0 10px var(--baseDarkShadow50),
        0 5px 25px var(--baseDarkShadow10);transition:0.5s;z-index:1000;}header.sticky {position:fixed;inset:0;bottom:auto;padding:1em max(1em, calc((100vw - var(--frame)) / 2));gap:3em;justify-content:space-between;background:linear-gradient(to top, white, var(--baseLightGray)), var(--marble);background-blend-mode:multiply;box-shadow:0 0.2rem 2.5rem var(--baseDarkShadow50);}header.sticky .headerRow {flex-direction:row;gap:1em;}header.sticky .headerRow:nth-child(2) {flex:1;}header.sticky #headerContacts,
    header.sticky #themeSwitcher {margin:auto 0;}header.sticky #logoWrapper,
    header.sticky #headerContacts .workTime,
    header.sticky .hSeparator,
    header.sticky nav[data-role='header-middle-menu'],
    header.sticky nav[data-role='header-top-menu'] > .navItem {visibility:hidden;display:none;}header .headerRow {display:flex;flex-direction:column;gap:1rem;}header .headerRow:last-child {align-items:flex-end;}header nav[data-role='header-top-menu'],
    header nav[data-role='header-middle-menu'] {display:flex;gap:0.5rem;justify-content:center;letter-spacing:0.05em;align-items:center;}header nav[data-role='header-top-menu'] .navItem,
    header nav[data-role='header-middle-menu'] .navItem {display:flex;min-height:var(--touch-min);align-items:center;white-space:nowrap;}header nav[data-role='header-top-menu'] .navItem *,
    header nav[data-role='header-middle-menu'] .navItem * {display:flex;align-items:center;font-size:inherit;padding:0.2em 1em;border-radius:1em;}header nav[data-role='header-top-menu'] .navItem a,
    header nav[data-role='header-middle-menu'] .navItem a {text-decoration-style:dotted;text-underline-offset:0.3em;}header nav[data-role='header-top-menu'] {font-size:1.25rem;}

    /* Пункты главного меню плотнее (было 1em по бокам): шапка помещается в колонку и на 1366 px, где телефон
       уходил за край экрана */header nav[data-role='header-top-menu'] .navItem * {padding-inline:0.65em;}header nav[data-role='header-top-menu'] .navItem:first-of-type > a {font-weight:bold;}header nav[data-role='header-middle-menu'] {text-transform:uppercase;justify-content:flex-end;font-size:0.75rem;}header nav[data-role='header-middle-menu'] * {font-weight:bold;}header nav[data-role='header-middle-menu'] a,
    header nav[data-role='header-middle-menu'] a:visited {color:var(--baseDarkGray);}

    /* «Акции» — красным, как ярлык скидки в карточках */header nav[data-role='header-middle-menu'] a.accent,
    header nav[data-role='header-middle-menu'] a.accent:visited {color:#c4301f;}[data-theme='dark'] header nav[data-role='header-middle-menu'] a.accent {color:#ff8a7a;}header nav[data-role='header-middle-menu'] a:hover {color:var(--linkHoverColor);text-decoration:underline;text-decoration-thickness:2px;}header #logoWrapper {display:flex;flex-direction:column;align-items:center;gap:1rem;width:fit-content;align-self:center;text-decoration:none;}header #logoWrapper img {width:15rem;filter:grayscale(1) invert(1) brightness(0.1) drop-shadow(0 2px 3px #3333);}header #logoWrapper .slogan {display:flex;font-size:0.8rem;line-height:1.2;text-align:center;flex-direction:column;align-items:center;letter-spacing:0.05em;gap:0;text-shadow:0 1px 0 #0003;}header #logoWrapper .slogan > span {text-transform:uppercase;font-size:1.2em;font-weight:300;display:inline;width:fit-content;background:#13807c;color:var(--baseLight);padding:0.3em 0.75em;border-radius:0.5em;margin:-0.25em 0 0;white-space:nowrap;}header #headerContacts {display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-end;gap:0.5rem;}header #headerContacts .workTime {color:var(--baseDarkGray);display:flex;flex-direction:column;align-items:inherit;gap:0.2rem;font-size:0.9rem;}header #headerContacts + .actions {display:flex;gap:0.5rem;}

    /* Переключатель темы: дорожка с бледными солнцем и луной по краям, по ней ездит круглая ручка с активным значком */#themeSwitcher {--tsSun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c2620a' d='M6.34141 14C6.12031 13.3744 6 12.7013 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18V14H6.34141ZM6 20H15V22H6V20ZM1 11H4V13H1V11ZM2 16H10V18H2V16ZM11 1H13V4H11V1ZM3.51472 4.92893L4.92893 3.51472L7.05025 5.63604L5.63604 7.05025L3.51472 4.92893ZM16.9497 18.364L18.364 16.9497L20.4853 19.0711L19.0711 20.4853L16.9497 18.364ZM19.0711 3.51472L20.4853 4.92893L18.364 7.05025L16.9497 5.63604L19.0711 3.51472ZM23 11V13H20V11H23Z'/%3E%3C/svg%3E");--tsMoon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237fe3df' d='M9.8216 2.23796C9.29417 3.38265 9 4.65697 9 6C9 10.9706 13.0294 15 18 15C19.343 15 20.6174 14.7058 21.762 14.1784C20.7678 18.6537 16.7747 22 12 22C6.47715 22 2 17.5228 2 12C2 7.22532 5.3463 3.23221 9.8216 2.23796ZM18.1642 2.29104L19 2.5V3.5L18.1642 3.70896C17.4476 3.8881 16.8881 4.4476 16.709 5.16417L16.5 6H15.5L15.291 5.16417C15.1119 4.4476 14.5524 3.8881 13.8358 3.70896L13 3.5V2.5L13.8358 2.29104C14.5524 2.1119 15.1119 1.5524 15.291 0.835829L15.5 0H16.5L16.709 0.835829C16.8881 1.5524 17.4476 2.1119 18.1642 2.29104ZM23.1642 7.29104L24 7.5V8.5L23.1642 8.70896C22.4476 8.8881 21.8881 9.4476 21.709 10.1642L21.5 11H20.5L20.291 10.1642C20.1119 9.4476 19.5524 8.8881 18.8358 8.70896L18 8.5V7.5L18.8358 7.29104C19.5524 7.1119 20.1119 6.5524 20.291 5.83583L20.5 5H21.5L21.709 5.83583C21.8881 6.5524 22.4476 7.1119 23.1642 7.29104Z'/%3E%3C/svg%3E");position:relative;display:inline-block;box-sizing:border-box;width:3.6rem;height:1.9rem;min-width:0;min-height:0;padding:0;border:1px solid rgb(0 0 0 / 0.12);border-radius:2rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239aa5a3' d='M6.34141 14C6.12031 13.3744 6 12.7013 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18V14H6.34141ZM6 20H15V22H6V20ZM1 11H4V13H1V11ZM2 16H10V18H2V16ZM11 1H13V4H11V1ZM3.51472 4.92893L4.92893 3.51472L7.05025 5.63604L5.63604 7.05025L3.51472 4.92893ZM16.9497 18.364L18.364 16.9497L20.4853 19.0711L19.0711 20.4853L16.9497 18.364ZM19.0711 3.51472L20.4853 4.92893L18.364 7.05025L16.9497 5.63604L19.0711 3.51472ZM23 11V13H20V11H23Z'/%3E%3C/svg%3E") no-repeat 0.5rem center / 0.85rem,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a9796' d='M9.8216 2.23796C9.29417 3.38265 9 4.65697 9 6C9 10.9706 13.0294 15 18 15C19.343 15 20.6174 14.7058 21.762 14.1784C20.7678 18.6537 16.7747 22 12 22C6.47715 22 2 17.5228 2 12C2 7.22532 5.3463 3.23221 9.8216 2.23796ZM18.1642 2.29104L19 2.5V3.5L18.1642 3.70896C17.4476 3.8881 16.8881 4.4476 16.709 5.16417L16.5 6H15.5L15.291 5.16417C15.1119 4.4476 14.5524 3.8881 13.8358 3.70896L13 3.5V2.5L13.8358 2.29104C14.5524 2.1119 15.1119 1.5524 15.291 0.835829L15.5 0H16.5L16.709 0.835829C16.8881 1.5524 17.4476 2.1119 18.1642 2.29104ZM23.1642 7.29104L24 7.5V8.5L23.1642 8.70896C22.4476 8.8881 21.8881 9.4476 21.709 10.1642L21.5 11H20.5L20.291 10.1642C20.1119 9.4476 19.5524 8.8881 18.8358 8.70896L18 8.5V7.5L18.8358 7.29104C19.5524 7.1119 20.1119 6.5524 20.291 5.83583L20.5 5H21.5L21.709 5.83583C21.8881 6.5524 22.4476 7.1119 23.1642 7.29104Z'/%3E%3C/svg%3E") no-repeat calc(100% - 0.5rem) center / 0.8rem,
        linear-gradient(#e4e9e8, #f1f4f3);box-shadow:inset 0 1px 3px rgb(0 0 0 / 0.12);opacity:1;text-decoration:none;cursor:pointer;transition:background-color 0.3s ease-out,
        border-color 0.3s ease-out;}

    /* Цель нажатия больше самого переключателя */#themeSwitcher::after {content:'';position:absolute;inset:-0.6rem -0.4rem;}#themeSwitcher::before {content:'';position:absolute;top:0.17rem;left:0.17rem;width:1.45rem;height:1.45rem;border-radius:50%;background:#fff var(--tsSun) no-repeat center / 0.95rem;box-shadow:0 1px 2px rgb(0 0 0 / 0.18),
        0 2px 6px rgb(0 0 0 / 0.12);transition:transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.3s ease-out;}#themeSwitcher:hover::before {box-shadow:0 1px 2px rgb(0 0 0 / 0.22),
        0 3px 10px rgb(0 0 0 / 0.18);}#themeSwitcher[data-current='dark'] {border-color:#ffffff2e;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239aa5a3' d='M6.34141 14C6.12031 13.3744 6 12.7013 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18V14H6.34141ZM6 20H15V22H6V20ZM1 11H4V13H1V11ZM2 16H10V18H2V16ZM11 1H13V4H11V1ZM3.51472 4.92893L4.92893 3.51472L7.05025 5.63604L5.63604 7.05025L3.51472 4.92893ZM16.9497 18.364L18.364 16.9497L20.4853 19.0711L19.0711 20.4853L16.9497 18.364ZM19.0711 3.51472L20.4853 4.92893L18.364 7.05025L16.9497 5.63604L19.0711 3.51472ZM23 11V13H20V11H23Z'/%3E%3C/svg%3E") no-repeat 0.5rem center / 0.85rem,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a9796' d='M9.8216 2.23796C9.29417 3.38265 9 4.65697 9 6C9 10.9706 13.0294 15 18 15C19.343 15 20.6174 14.7058 21.762 14.1784C20.7678 18.6537 16.7747 22 12 22C6.47715 22 2 17.5228 2 12C2 7.22532 5.3463 3.23221 9.8216 2.23796ZM18.1642 2.29104L19 2.5V3.5L18.1642 3.70896C17.4476 3.8881 16.8881 4.4476 16.709 5.16417L16.5 6H15.5L15.291 5.16417C15.1119 4.4476 14.5524 3.8881 13.8358 3.70896L13 3.5V2.5L13.8358 2.29104C14.5524 2.1119 15.1119 1.5524 15.291 0.835829L15.5 0H16.5L16.709 0.835829C16.8881 1.5524 17.4476 2.1119 18.1642 2.29104ZM23.1642 7.29104L24 7.5V8.5L23.1642 8.70896C22.4476 8.8881 21.8881 9.4476 21.709 10.1642L21.5 11H20.5L20.291 10.1642C20.1119 9.4476 19.5524 8.8881 18.8358 8.70896L18 8.5V7.5L18.8358 7.29104C19.5524 7.1119 20.1119 6.5524 20.291 5.83583L20.5 5H21.5L21.709 5.83583C21.8881 6.5524 22.4476 7.1119 23.1642 7.29104Z'/%3E%3C/svg%3E") no-repeat calc(100% - 0.5rem) center / 0.8rem,
        linear-gradient(#141818, #1f2524);box-shadow:inset 0 1px 3px rgb(0 0 0 / 0.5);}#themeSwitcher[data-current='dark']::before {transform:translateX(1.7rem);background:#2b3332 var(--tsMoon) no-repeat center / 0.85rem;box-shadow:0 1px 2px rgb(0 0 0 / 0.5),
        0 0 0 1px #ffffff1f;}#themeSwitcher:focus-visible {outline:var(--focus-ring);outline-offset:3px;}

    @media (prefers-reduced-motion: reduce) {#themeSwitcher::before {transition:none;}
    }form#headerSearchForm {display:flex;position:relative;opacity:0.92;transition:0.25s;gap:0.5rem;}form#headerSearchForm:hover,
    form#headerSearchForm:focus-within {opacity:1;}form#headerSearchForm input[type='search'] {background-color:transparent;background-image:var(--iconSearch);color:var(--baseDark);background-repeat:no-repeat;background-position:1em center;background-size:1.5em;padding-left:3.25em;}form#headerSearchForm input[type='search']::placeholder {color:var(--textMuted);}form#headerSearchForm button {display:flex;padding:0;width:3em;align-items:center;justify-content:center;}form#headerSearchForm button img {height:1rem;}.floatMenuCaller {display:flex;font-size:inherit;line-height:1.25em;background:#13807c;border:0;font-family:inherit;font-weight:400;letter-spacing:normal;white-space:nowrap;flex-direction:row;align-items:center;padding:0.2em 1em;gap:0.25em;color:var(--baseLight);border-radius:1em;cursor:pointer;transition:0.5s;height:1.75em;text-shadow:0 1px 0 #1115;}.floatMenuCaller .glyph {display:flex;flex-direction:column;gap:0.2em;}.floatMenuCaller .glyph::before,
    .floatMenuCaller .glyph::after,
    .floatMenuCaller .glyph i {content:'';display:block;height:2px;width:1rem;background:var(--baseLight);transition:0.2s;box-shadow:0 1px 0 #1115;}.floatMenuCaller:hover {background:#0f6b68;}.floatMenuCaller:hover .glyph::before {
      animation: gabriel-swingLeft 1s infinite 0s;}.floatMenuCaller:hover .glyph i {
      animation: gabriel-swingLeft 1s infinite 0.2s;}.floatMenuCaller:hover .glyph::after {
      animation: gabriel-swingLeft 1s infinite 0.4s;}.floatMenuCaller.active .glyph::before {transform:rotate(45deg) translate(0em, 0.2em);
      animation: none;}.floatMenuCaller.active .glyph::after {transform:rotate(-45deg) translate(0em, -0.2em);
      animation: none;}.floatMenuCaller.active .glyph > i {display:none;}

    @keyframes gabriel-swingLeft {
      0% {
        transform: translate(0);
      }
      90% {
        transform: translate(5px);
      }
      to {
        transform: translate(0);
      }
    }[data-theme='dark'] header {background-color:var(--baseDark);background-blend-mode:color-burn;background-size:cover;}[data-theme='dark'] header #logoWrapper img {filter:var(--imgInverted);}[data-theme='dark'] header nav[data-role='header-middle-menu'] a,
    [data-theme='dark'] header nav[data-role='header-middle-menu'] a:visited {color:var(--baseLight);}[data-theme='dark'] header nav[data-role='header-middle-menu'] a:hover {color:var(--linkHoverColor);}[data-theme='dark'] form#headerSearchForm input[type='search'] {background-image:var(--iconSearchWhite);border-color:var(--baseDarkGray);color:var(--baseLight);}[data-theme='dark'] form#headerSearchForm button img {filter:var(--imgInverted);}

    @media screen and (max-width: 1500px) {header nav[data-role='header-middle-menu'] {justify-content:center;}
    }

    @media screen and (max-width: 1350px) {header nav[data-role='header-top-menu'] .navItem {display:none;visibility:hidden;}
    }

    @media screen and (max-width: 1000px) {header {flex-direction:column;align-items:center;}header nav[data-role='header-middle-menu'] {display:none;visibility:hidden;}header form#headerSearchForm {width:100%;max-width:24rem;}header #logoWrapper .slogan {display:none;visibility:hidden;}header #headerContacts,
      header .headerRow {align-items:center !important;}header #headerContacts + .actions {flex-direction:column;flex-wrap:nowrap;}
    }

    /* дополнения сайта */header .headerCall {display:none;}

    /* Закреплённая шапка на узком экране — одна строка: «Меню», поиск, кнопка звонка. Номер текстом и две кнопки
       в неё не помещались и уходили за край экрана. */
    @media screen and (max-width: 1180px) {header.sticky {display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:'menu search call';align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;}header.sticky .headerRow,
      header.sticky nav[data-role='header-top-menu'] {display:contents;}header.sticky .floatMenuCaller {grid-area:menu;height:2.75rem;border-radius:1.4rem;}header.sticky form#headerSearchForm {grid-area:search;width:auto;min-width:0;max-width:none;}header.sticky #themeSwitcher,
      header.sticky #headerContacts,
      header.sticky #headerContacts + .actions {display:none;}header.sticky .headerCall {grid-area:call;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:linear-gradient(#147f58, #0d5139);box-shadow:0 0.15rem 0.5rem var(--baseDarkShadow30);}header.sticky .headerCall img {filter:invert(1);}
    }

    /* Телефон и планшет: шапка короче — сетка «логотип · тема · меню», под ней поиск, телефон с часами и две кнопки
       в ряд (колонкой темы на 641–1000 px шапка занимала 350 px). */
    @media screen and (max-width: 1180px) {header:not(.sticky) {display:grid;grid-template-columns:1fr auto auto;grid-template-areas:'logo theme menu'
          'search search search'
          'contacts contacts contacts'
          'actions actions actions';align-items:center;gap:0.75rem;padding:0.75rem 1rem 1rem;}header:not(.sticky) .headerRow,
      header:not(.sticky) nav[data-role='header-top-menu'] {display:contents;}header:not(.sticky) #logoWrapper {grid-area:logo;justify-self:start;}header:not(.sticky) #themeSwitcher {grid-area:theme;}header:not(.sticky) .floatMenuCaller {grid-area:menu;height:2.75rem;border-radius:1.4rem;}header:not(.sticky) .hSeparator,
      header:not(.sticky) nav[data-role='header-middle-menu'],
      header:not(.sticky) #logoWrapper .slogan {display:none;}header:not(.sticky) form#headerSearchForm {grid-area:search;width:100%;max-width:40rem;justify-self:center;}header:not(.sticky) #headerContacts {grid-area:contacts;gap:0.2rem;}header:not(.sticky) #headerContacts + .actions {grid-area:actions;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;width:100%;max-width:32rem;justify-self:center;}header:not(.sticky) #headerContacts + .actions .button {width:100%;min-width:0;padding-inline:0.5em;letter-spacing:0.02em;}header #logoWrapper img {width:9.5rem;}
    }

    /* Телефон: статичная шапка — две строки (логотип · тема · меню / поиск · звонок). Телефон с часами и кнопки
       «Заказать звонок», «Отправить фото» — в верхней части меню: шапка в 265 px отодвигала название товара за экран. */
    @media screen and (max-width: 640px) {header:not(.sticky) {grid-template-columns:1fr auto auto;grid-template-areas:'logo theme menu'
          'search search call';padding:0.6rem 0.75rem 0.75rem;gap:0.6rem;}header:not(.sticky) #headerContacts,
      header:not(.sticky) #headerContacts + .actions {display:none;}header:not(.sticky) .headerCall {grid-area:call;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:linear-gradient(#147f58, #0d5139);box-shadow:0 0.15rem 0.5rem var(--baseDarkShadow30);}header:not(.sticky) .headerCall img {filter:invert(1);}header:not(.sticky) form#headerSearchForm {max-width:none;}
    }

    /* 320–360 px: логотип меньше, чтобы «Меню» помещалось в строку */
    @media screen and (max-width: 360px) {header #logoWrapper img {width:7.5rem;}header .floatMenuCaller {padding-inline:0.75em;}header .headerRow {gap:0.75rem;}header #headerContacts .workTime {flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:0.75em;font-size:0.8rem;}header #headerContacts + .actions {flex-direction:row;flex-wrap:wrap;justify-content:center;}header #headerContacts + .actions .button {padding-inline:0.9em;}
    }