@charset "UTF-8";

/* =========================================================================
   Grandorf Shop вЂ” РіР»Р°РІРЅР°СЏ СЃС‚СЂР°РЅРёС†Р°
   РЎС‚РёР»РёСЃС‚РёРєР° РґРѕРЅРѕСЂР° grandorf.ru РІРѕСЃРїСЂРѕРёР·РІРµРґРµРЅР° РїРѕ Р·Р°РјРµСЂР°Рј DOM
   (СЃРј. _donor/spec-*.txt). Р’СЃРµ СЂР°Р·РјРµСЂС‹ РІ rem, РјР°СЃС€С‚Р°Р± Р·Р°РґР°С‘С‚ root font-size.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. РЁР РР¤РўР«
   ---------------------------------------------------------------------- */
@font-face {
    font-family: "Source Sans 3";
    src: url("../fonts/SourceSans3-Regular.woff2") format("woff2"),
         url("../fonts/SourceSans3-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Source Sans 3";
    src: url("../fonts/SourceSans3-Bold.woff2") format("woff2"),
         url("../fonts/SourceSans3-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Hypatia Sans Pro";
    src: url("../fonts/HypatiaSansPro-Bold.woff2") format("woff2"),
         url("../fonts/HypatiaSansPro-Bold.woff") format("woff");
    /* РЅР°С‡РµСЂС‚Р°РЅРёРµ РѕРґРЅРѕ (Bold) вЂ” РґРёР°РїР°Р·РѕРЅ СѓР±РёСЂР°РµС‚ СЃРёРЅС‚РµС‚РёС‡РµСЃРєРѕРµ СѓС‚РѕР»С‰РµРЅРёРµ */
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}

/* -------------------------------------------------------------------------
   2. РўРћРљР•РќР«
   ---------------------------------------------------------------------- */
:root {
    --c-brown: #432E25;
    --c-orange: #FE702C;
    --c-orange-dark: #E97935;
    --c-red: #E4342B;
    /* В«Р±РµСЃРїР»Р°С‚РЅРѕВ» Рё В«РїСЂРѕРјРѕРєРѕРґ РїСЂРёРјРµРЅС‘РЅВ»: РїРѕРґС‚РІРµСЂР¶РґРµРЅРёРµ РєСЂР°СЃРЅС‹Рј С‡РёС‚Р°Р»РѕСЃСЊ Р±С‹ РєР°Рє РѕС€РёР±РєР° */
    --c-green: #4C7A34;
    --c-black: #000000;
    --c-white: #FFFFFF;
    --c-light: #F6F6F6;
    --c-page: #F7F7F7;
    --c-card: #F8F8F8;
    --c-gray: #B5B5B5;
    --c-gray-text: #767676;
    --c-line: #E4E1DF;

    --font-text: "Source Sans 3", Arial, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    --font-head: "Hypatia Sans Pro", "Source Sans 3", Arial, sans-serif;

    --shadow-header: 0 2px 10px 0 rgba(196, 196, 196, .5);
    --shadow-card: 0 4px 24px 0 rgba(67, 46, 37, .09);
    --shadow-drawer: -8px 0 40px 0 rgba(67, 46, 37, .18);
    --shadow-drawer-left: 8px 0 40px 0 rgba(67, 46, 37, .18);

    --ease: .35s cubic-bezier(.4, 0, .2, 1);
    --ease-slow: .5s cubic-bezier(.4, 0, .2, 1);

    --topbar-h: 3.125rem;   /* 50px */
    --tabbar-h: 3.4375rem;  /* 55px вЂ” РІС‹СЃРѕС‚Р° РјРѕР±РёР»СЊРЅРѕР№ РїР°РЅРµР»Рё РґРµР№СЃС‚РІРёР№, Р·Р°РјРµСЂ @375 */
    --header-h: 3.375rem;   /* 54px */
    --header-top: 2.9375rem;/* 47px */
    --drawer-w: 26.875rem;  /* 430px */
}

/* -------------------------------------------------------------------------
   3. РљРћР РќР•Р’РћР™ РњРђРЎРЁРўРђР‘ (РіРёР±СЂРёРґ: СЏРєРѕСЂСЏ РґРѕРЅРѕСЂР° + РїР»Р°РІРЅС‹Р№ РїРµСЂРµС…РѕРґ)

   Р”РѕРЅРѕСЂ РїРµСЂРµРєР»СЋС‡Р°РµС‚ root СЃС‚СѓРїРµРЅСЏРјРё 16 -> 14 -> 12.5 -> 16 -> 15 -> 14 -> 13.
   Р—РґРµСЃСЊ СЃРѕС…СЂР°РЅРµРЅС‹ С‚РѕС‡РЅС‹Рµ Р·РЅР°С‡РµРЅРёСЏ РґРѕРЅРѕСЂР° РЅР° РєРѕРЅС‚СЂРѕР»СЊРЅС‹С… С€РёСЂРёРЅР°С…
   (>=1441, 1300..992, <=991, <=409, <=375, <=350), Р° В«РґРІРѕР№РЅР°СЏ СЃС‚СѓРїРµРЅСЊРєР°В»
   1490 -> 1400 -> 1300 Р·Р°РјРµРЅРµРЅР° РїР»Р°РІРЅРѕР№ РёРЅС‚РµСЂРїРѕР»СЏС†РёРµР№.
   ---------------------------------------------------------------------- */
html {
    font-size: 16px;
    height: 100%;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    /* РјРµСЃС‚Рѕ РїРѕРґ СЃРєСЂРѕР»Р»Р±Р°СЂ Р·Р°СЂРµР·РµСЂРІРёСЂРѕРІР°РЅРѕ РІСЃРµРіРґР° вЂ” РїР°РЅРµР»Рё РѕС‚РєСЂС‹РІР°СЋС‚СЃСЏ Р±РµР· СЃРґРІРёРіР° РІС‘СЂСЃС‚РєРё */
    scrollbar-gutter: stable;
}

@media screen and (min-width: 1301px) and (max-width: 1440px) {
    html {
        font-size: clamp(12.5px, calc(12.5px + 3.5 * ((100vw - 1300px) / 140)), 16px);
    }
}

@media screen and (max-width: 1300px) {
    html { font-size: 12.5px; }
}

@media screen and (max-width: 991px) {
    html { font-size: 16px; }
}

@media screen and (max-width: 409px) {
    html { font-size: 15px; }
}

@media screen and (max-width: 375px) {
    html { font-size: 14px; }
}

@media screen and (max-width: 350px) {
    html { font-size: 13px; }
}

/* -------------------------------------------------------------------------
   4. Р‘РђР—Рђ
   ---------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: inherit; }

/* Р°С‚СЂРёР±СѓС‚ hidden РґРѕР»Р¶РµРЅ РїРѕР±РµР¶РґР°С‚СЊ Р»СЋР±С‹Рµ display РёР· РєР»Р°СЃСЃРѕРІ */
[hidden] { display: none !important; }

.body {
    margin: 0;
    padding: 3.25rem 0 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    font-family: var(--font-text);
    font-size: 1.25rem;
    line-height: normal;
    color: var(--c-brown);
    background: var(--c-page);
    /* clip РІРјРµСЃС‚Рѕ hidden: hidden РґРµР»Р°РµС‚ РѕР±С‘СЂС‚РєСѓ РєРѕРЅС‚РµР№РЅРµСЂРѕРј РїСЂРѕРєСЂСѓС‚РєРё Рё
       Р»РѕРјР°РµС‚ position:sticky Сѓ РїР°РЅРµР»Рё С„РёР»СЊС‚СЂРѕРІ, clip С‚РѕР»СЊРєРѕ РѕР±СЂРµР·Р°РµС‚ */
    overflow-x: hidden;
    overflow-x: clip;
}

.body.is-locked {
    overflow: hidden;
}

h1, h2, h3, h4,
.h1, .h2, .h3 {
    margin: 0;
    padding: 0;
    font-weight: 400;
}

p { margin: 0; line-height: 1.5rem; }

ul, ol, li { margin: 0; padding: 0; list-style: none; }

img, svg, picture { max-width: 100%; }

img { border: 0; }

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--ease);
}

button {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    color: inherit;
    background: none;
    cursor: pointer;
}

input, select, textarea { font: inherit; color: inherit; }

blockquote { margin: 0; }

s { text-decoration: line-through; }

fieldset { margin: 0; padding: 0; border: 0; }

legend { padding: 0; }

:focus-visible {
    outline: 2px solid var(--c-orange);
    outline-offset: 2px;
}

.wrapper {
    flex: 1 0 auto;
    overflow-x: hidden;
    overflow-x: clip;
}

.main { display: block; }

/* -------------------------------------------------------------------------
   5. РЈРўРР›РРўР«
   ---------------------------------------------------------------------- */
.sprite { display: none; }

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 200;
    padding: .625rem 1.25rem;
    font-family: var(--font-head);
    font-size: .9375rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c-white);
    background: var(--c-brown);
    transform: translate(-50%, -110%);
    transition: transform var(--ease);
}

.skip-link:focus { transform: translate(-50%, 0); }

.container {
    width: 100%;
    max-width: 71.25rem;      /* 1140px */
    margin: 0 auto;
    padding: 0 .9375rem;      /* РєРѕРЅС‚РµРЅС‚РЅР°СЏ С€РёСЂРёРЅР° 1110px РєР°Рє Сѓ РґРѕРЅРѕСЂР° */
}

.text-center { text-align: center; }

.icon {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill var(--ease), stroke var(--ease);
}

.icon--14 { width: .875rem; height: .875rem; }
.icon--16 { width: 1rem; height: 1rem; }
.icon--18 { width: 1.125rem; height: 1.125rem; }
.icon--20 { width: 1.25rem; height: 1.25rem; }
.icon--22 { width: 1.375rem; height: 1.375rem; }
.icon--24 { width: 1.5rem; height: 1.5rem; }

/* -------------------------------------------------------------------------
   6. РўРРџРћР“Р РђР¤РРљРђ (Р·РЅР°С‡РµРЅРёСЏ РґРѕРЅРѕСЂР° РїСЂРё root 16px)
   ---------------------------------------------------------------------- */
.h1 {
    font-family: var(--font-head);
    font-size: 2rem;          /* 32px */
    line-height: 2.5rem;      /* 40px */
    letter-spacing: .03em;
    text-transform: uppercase;
}

.h2 {
    font-family: var(--font-head);
    font-size: 2.75rem;       /* 44px */
    line-height: 1.2;         /* 52.8px */
    letter-spacing: .03em;
    text-transform: uppercase;
}

.h3 {
    font-family: var(--font-head);
    font-size: 1.5rem;        /* 24px */
    line-height: 2rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.section {
    padding: 3.5625rem 0 4.375rem;
    margin-bottom: .5rem;     /* РґРѕРЅРѕСЂСЃРєРёР№ Р·Р°Р·РѕСЂ 8px С†РІРµС‚РѕРј СЃС‚СЂР°РЅРёС†С‹ */
}

.section--white { background: var(--c-white); }

.section__title { margin-bottom: 3.75rem; }

/* РќР°Рґ СЃРµС‚РєРѕР№ РєР°СЂС‚РѕС‡РµРє Р±РѕР»СЊС€РѕР№ РѕС‚СЃС‚СѓРї СѓРјРµСЃС‚РµРЅ, Р° РЅР°Рґ Р°Р±Р·Р°С†РµРј С‚РµРєСЃС‚Р° Р·Р°РіРѕР»РѕРІРѕРє
   РѕС‚ РЅРµРіРѕ РѕС‚СЂС‹РІР°РµС‚СЃСЏ. Р”РІР° РєР»Р°СЃСЃР° РІ СЃРµР»РµРєС‚РѕСЂРµ вЂ” С‡С‚РѕР±С‹ РїСЂР°РІРёР»Рѕ РЅРµ РїРµСЂРµР±РёРІР°Р»Рё
   Р°РґР°РїС‚РёРІРЅС‹Рµ Р·РЅР°С‡РµРЅРёСЏ .section__title РЅРёР¶Рµ РїРѕ С„Р°Р№Р»Сѓ. */
.section__title.section__title--text { margin-bottom: 1.5rem; }

.section__lead {
    max-width: 45.625rem;
    margin: -2.5rem auto 3.125rem;
    line-height: 1.5rem;
}

.section__cta {
    margin-top: 2.5rem;
    text-align: center;
}

/* -------------------------------------------------------------------------
   7. РљРќРћРџРљР
   ---------------------------------------------------------------------- */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.125rem;                  /* 50px */
    padding: 1rem 1.5625rem .75rem;        /* 16/25/12/25 */
    font-family: var(--font-head);
    font-size: .9375rem;                   /* 15px */
    letter-spacing: .08em;                 /* 1.2px */
    text-transform: uppercase;
    white-space: nowrap;
    border: .1rem solid transparent;       /* 1.6px */
    transition: background-color var(--ease-slow), color var(--ease-slow), border-color var(--ease-slow);
    cursor: pointer;
}

.button--braun {
    color: var(--c-brown);
    border-color: var(--c-brown);
}

.button--light {
    color: var(--c-light);
    border-color: var(--c-light);
}

.button--orange {
    color: var(--c-white);
    background: var(--c-orange);
    border-color: var(--c-orange);
}

.button--small {
    min-height: 2.25rem;
    padding: .5625rem 1.5625rem .3125rem;
}

.button--block {
    display: flex;
    width: 100%;
}

.button:disabled,
.button.is-disabled {
    opacity: .35;
    pointer-events: none;
}

@media (hover: hover) {
    .button--braun:hover,
    .button--light:hover {
        color: var(--c-light);
        background: var(--c-orange);
        border-color: var(--c-orange);
    }

    .button--orange:hover {
        background: var(--c-brown);
        border-color: var(--c-brown);
    }
}

.button--braun:active,
.button--light:active {
    color: var(--c-light);
    background: var(--c-orange);
    border-color: var(--c-orange);
}

/* -------------------------------------------------------------------------
   8. Р§РРџРЎР«, РџРћР›РЇ, Р Р•Р™РўРРќР“, Р¦Р•РќРђ
   ---------------------------------------------------------------------- */
.chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    min-height: 2.125rem;
    padding: .3125rem .875rem;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--c-brown);
    border: 1px solid var(--c-line);
    background: var(--c-white);
    transition: color var(--ease), border-color var(--ease), background-color var(--ease);
}

.chip.is-active {
    color: var(--c-white);
    background: var(--c-brown);
    border-color: var(--c-brown);
}

.chips--wide .chip { flex: 1 0 auto; justify-content: center; }

@media (hover: hover) {
    .chip:hover { border-color: var(--c-orange); color: var(--c-orange); }
    .chip.is-active:hover { color: var(--c-white); background: var(--c-orange); border-color: var(--c-orange); }
}

.input {
    display: block;
    width: 100%;
    height: 3.125rem;
    padding: 0 1.125rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    transition: border-color var(--ease);
}

.input::placeholder { color: var(--c-gray); opacity: 1; }
.input:focus { border-color: var(--c-orange); }

.rating {
    display: flex;
    align-items: center;
    gap: .5rem;
    line-height: 1;
}

.rating__stars {
    display: inline-flex;
    gap: .0625rem;
}

/* Р—РІРµР·РґР° РІ СЃРїСЂР°Р№С‚Рµ Р·Р°Р»РёС‚Р° currentColor, РїРѕСЌС‚РѕРјСѓ С†РІРµС‚ Р·Р°РґР°С‘Рј С‡РµСЂРµР· color:
   СЃРІРѕР№СЃС‚РІРѕ fill РЅР° СЃР°РјРѕРј svg РґРѕ Р°С‚СЂРёР±СѓС‚Р° РІРЅСѓС‚СЂРё СЃРёРјРІРѕР»Р° РЅРµ РґРѕСЃС‚Р°С‘С‚ */
.rating__stars .icon {
    color: var(--c-line);
    stroke: none;
}

.rating__stars .icon.is-on { color: var(--c-orange); }

.rating__value {
    font-family: var(--font-head);
    font-size: .9375rem;
}

.rating__count {
    font-size: .875rem;
    color: var(--c-gray-text);
}

.price {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    line-height: 1;
}

.price__now {
    font-family: var(--font-head);
    font-size: 1.5rem;
    letter-spacing: .02em;
    white-space: nowrap;
}

.price__old {
    font-size: .9375rem;
    color: var(--c-gray-text);
    white-space: nowrap;
}

/* -------------------------------------------------------------------------
   9. Р¤РћРќРћР’Р«Р• РљРђР РўРРќРљР РЎР•РљР¦РР™ (РґРѕРЅРѕСЂСЃРєРёР№ .picture_img)
   ---------------------------------------------------------------------- */
.picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.picture__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* -------------------------------------------------------------------------
   10. Р’Р•Р РҐРќРЇРЇ РџРћР›РћРЎРђ
   ---------------------------------------------------------------------- */
.topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 52;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--topbar-h);
    padding-right: 1.75rem;
    background: var(--c-black);
    color: var(--c-gray);
}

.topbar__brands {
    display: flex;
    align-items: center;
    height: 100%;
}

.topbar__home {
    display: flex;
    align-items: center;
    padding: 0 1.75rem;
    color: var(--c-gray);
}

.topbar__home-icon {
    display: block;
    width: .9375rem;
    height: 1.125rem;
    fill: currentColor;
}

.topbar__divider {
    width: .125rem;
    height: 1.625rem;
    background: var(--c-gray);
}

.topbar__brand {
    display: block;
    margin: 0 1.875rem;
    height: .75rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.topbar__brand--grandorf { width: 5.438rem; background-image: url("../img/grandorf-logo.svg"); }
.topbar__brand--fresh    { width: 8.3125rem; background-image: url("../img/grandorf-fresh-logo.svg"); }
.topbar__brand--vet      { width: 7.438rem; background-image: url("../img/grandorf-vet-logo.svg"); }
/* Знак Premier шире по пропорции: 216x31 против 93x13 у остальных. */
.topbar__brand--premier  { width: 5.25rem; background-image: url("../img/premier-logo.svg"); }

.topbar__brand--grandorf.is-active,
.topbar__brand--grandorf:hover { background-image: url("../img/grandorf-logo-active.svg"); }
.topbar__brand--fresh.is-active,
.topbar__brand--fresh:hover { background-image: url("../img/grandorf-fresh-logo-active.svg"); }
.topbar__brand--vet.is-active,
.topbar__brand--vet:hover { background-image: url("../img/grandorf-vet-logo-active.svg"); }
.topbar__brand--premier.is-active,
.topbar__brand--premier:hover { background-image: url("../img/premier-logo-active.svg"); }

.topbar__aside {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.75rem;
    font-size: .875rem;
}

.topbar__city,
.topbar__phone {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    color: var(--c-gray);
    white-space: nowrap;
}

.topbar__city .icon,
.topbar__phone .icon { stroke-width: 1.4; }

.topbar__nav { display: block; }

.topbar__list {
    display: flex;
    align-items: center;
    gap: 1.75rem;
}

.topbar__link { color: var(--c-gray); white-space: nowrap; }

@media (hover: hover) {
    .topbar__city:hover,
    .topbar__phone:hover,
    .topbar__link:hover { color: var(--c-white); }
}

/* -------------------------------------------------------------------------
   11. РЁРђРџРљРђ
   ---------------------------------------------------------------------- */
.header {
    position: fixed;
    top: var(--header-top);
    left: 0;
    right: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    width: 100%;
    min-height: var(--header-h);
    padding: .625rem 1.75rem;
    background: var(--c-white);
    box-shadow: var(--shadow-header);
    transition: transform var(--ease-slow);
}

.header.is-hidden { transform: translateY(-100%); }

.header__logo { display: block; flex: 0 0 auto; }

.header__logo-img {
    display: block;
    width: 10.731rem;    /* 171.7px */
    height: 1.375rem;    /* 22px */
    background-image: url("../img/logo.svg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
}

.nav { flex: 1 1 auto; display: flex; justify-content: flex-end; }

.nav__list {
    display: flex;
    align-items: center;
}

.nav__item { margin-right: 2.5rem; }
.nav__item:last-child { margin-right: 0; }

/* РњРµРЅСЋ С€Р°РїРєРё РєСЂСѓРїРЅРµРµ РѕСЃС‚Р°Р»СЊРЅРѕРіРѕ С‚РµРєСЃС‚Р°: СЌС‚Рѕ РіР»Р°РІРЅР°СЏ РЅР°РІРёРіР°С†РёСЏ, Рё РЅР° С€РёСЂРѕРєРѕРј
   СЌРєСЂР°РЅРµ РѕРЅР° С‡РёС‚Р°РµС‚СЃСЏ СЃ СЂР°СЃСЃС‚РѕСЏРЅРёСЏ. Р Р°Р·РјРµСЂ РІ rem, РїРѕСЌС‚РѕРјСѓ РµРґРµС‚ РІРјРµСЃС‚Рµ СЃ
   Р±Р°Р·РѕРІС‹Рј РєРµРіР»РµРј Рё РЅРµ Р»РѕРјР°РµС‚ С€Р°РїРєСѓ РЅР° СѓР·РєРѕРј РЅРѕСѓС‚Р±СѓРєРµ. РќРёР¶Рµ 992px РјРµРЅСЋ
   СЃРєСЂС‹С‚Рѕ вЂ” С‚Р°Рј РјРѕР±РёР»СЊРЅРѕРµ. */
.nav__link {
    display: inline-flex;
    align-items: center;
    gap: .3125rem;
    font-size: 1.1875rem;
    color: var(--c-brown);
    white-space: nowrap;
    transition: color .25s;
}

.nav__chevron { transition: transform var(--ease); }

.nav__link--drop[aria-expanded="true"] { color: var(--c-orange); }
.nav__link.is-active { color: var(--c-orange); }
.nav__link--drop[aria-expanded="true"] .nav__chevron { transform: rotate(180deg); }

@media (hover: hover) {
    .nav__link:hover { color: var(--c-orange); }
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 1.125rem;
    flex: 0 0 auto;
    margin-left: 1.25rem;
}

.action {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    color: var(--c-brown);
}

.action__count {
    position: absolute;
    top: -.125rem;
    right: -.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 .25rem;
    font-family: var(--font-head);
    font-size: .6875rem;
    line-height: 1;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 1rem;
}

.action.is-active { color: var(--c-orange); }

@media (hover: hover) {
    .action:hover { color: var(--c-orange); }
}

.burger { display: none; }

/* --- РјРµРіР°-РјРµРЅСЋ --- */
.mega {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--c-white);
    box-shadow: var(--shadow-header);
}

.mega__inner {
    display: grid;
    /* Колонок было четыре; с разделом Premier их пять, и жёсткое число
       отправило бы пятую колонку в отдельную строку. */
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 2rem;
    max-width: 71.25rem;
    margin: 0 auto;
    padding: 2.25rem .9375rem 2.5rem;
}

.mega__title {
    margin-bottom: 1.125rem;
    font-family: var(--font-head);
    font-size: 1.125rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    line-height: 1.4;
}

.mega__list { display: grid; gap: .625rem; }

.mega__list a { font-size: 1.0625rem; color: var(--c-brown); }

.mega__link--accent { color: var(--c-orange); }

@media (hover: hover) {
    .mega__title a:hover,
    .mega__list a:hover { color: var(--c-orange); }
}

/* --- РїРѕРёСЃРє --- */
.search {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 1.5rem .9375rem 1.75rem;
    background: var(--c-white);
    box-shadow: var(--shadow-header);
}

.search__inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: 69.375rem;
    margin: 0 auto;
}

.search__icon {
    position: absolute;
    left: 1rem;
    color: var(--c-gray-text);
    pointer-events: none;
}

.search__input {
    flex: 1 1 auto;
    height: 3.125rem;
    padding: 0 1rem 0 3.125rem;
    border: 1px solid var(--c-line);
    background: var(--c-white);
    transition: border-color var(--ease);
}

.search__input::placeholder { color: var(--c-gray); }
.search__input:focus { border-color: var(--c-orange); outline: none; }

/* РљРЅРѕРїРєР° СЂРѕРІРЅРѕ РїРѕ РІС‹СЃРѕС‚Рµ РїРѕР»СЏ: СЂР°Р·РЅР°СЏ РІС‹СЃРѕС‚Р° Сѓ СЃРѕСЃРµРґРЅРёС… СЌР»РµРјРµРЅС‚РѕРІ СЃС‚СЂРѕРєРё
   С‡РёС‚Р°РµС‚СЃСЏ РєР°Рє РЅРµРґРѕРґРµР»РєР° */
.search__submit {
    flex: 0 0 auto;
    height: 3.125rem;
    padding: 0 2rem;
}

/* --- Р±С‹СЃС‚СЂС‹Рµ СЂРµР·СѓР»СЊС‚Р°С‚С‹ --- */
.search__results {
    max-width: 69.375rem;
    margin: .75rem auto 0;
    border: 1px solid var(--c-line);
    background: var(--c-white);
}

.search__result {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .625rem 1rem;
    border-bottom: 1px solid var(--c-card);
    color: var(--c-brown);
}

.search__result:last-of-type { border-bottom: 0; }

.search__result-media {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
    background: var(--c-card);
}

.search__result-media img { max-width: 100%; max-height: 100%; }

.search__result-info { display: grid; gap: .125rem; min-width: 0; }

.search__result-name {
    font-weight: 700;
    line-height: 1.3;
}

.search__result-name mark {
    color: var(--c-orange);
    background: none;
}

.search__result-meta {
    overflow: hidden;
    font-size: .875rem;
    color: var(--c-gray-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search__result-price { font-family: var(--font-head); font-size: 1.125rem; }

.search__result.is-cursor { background: var(--c-card); }

.search__all {
    display: block;
    width: 100%;
    padding: .75rem 1rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
    text-align: center;
    border-top: 1px solid var(--c-card);
    transition: color var(--ease);
}

.search__empty {
    padding: 1.125rem 1rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
    text-align: center;
}

@media (hover: hover) {
    .search__result:hover { background: var(--c-card); }
    .search__all:hover { color: var(--c-orange); }
}

.search__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--c-brown);
}

.search__hints {
    max-width: 69.375rem;
    margin: .875rem auto 0;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.search__hints a {
    margin-left: .75rem;
    color: var(--c-brown);
    border-bottom: 1px dashed var(--c-gray);
}

@media (hover: hover) {
    .search__hints a:hover { color: var(--c-orange); border-color: var(--c-orange); }
    .search__close:hover { color: var(--c-orange); }
}

/* --- РјРѕР±РёР»СЊРЅРѕРµ РјРµРЅСЋ --- */
.menu-mob {
    position: fixed;
    top: calc(var(--topbar-h) + var(--header-h));
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 49;
    padding: 1.75rem 1.25rem 2.5rem;
    overflow-y: auto;
    background: var(--c-white);
}

.menu-mob__search {
    position: relative;
    display: flex;
    margin-bottom: 1.5rem;
}

.menu-mob__city {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    margin-bottom: 1.5rem;
    padding: .875rem 1rem;
    font-size: 1rem;
    text-align: left;
    color: var(--c-brown);
    background: var(--c-card);
    border: 1px solid var(--c-line);
    transition: border-color var(--ease);
}

.menu-mob__city .icon { flex: 0 0 auto; stroke-width: 1.4; }
.menu-mob__city-name { font-weight: 700; }

.menu-mob__city-action {
    margin-left: auto;
    font-size: .875rem;
    color: var(--c-orange);
}

@media (hover: hover) {
    .menu-mob__city:hover { border-color: var(--c-orange); }
}

.menu-mob__search-input {
    flex: 1 1 auto;
    height: 3rem;
    padding: 0 3rem 0 1rem;
    border: 1px solid var(--c-line);
    background: var(--c-white);
    transition: border-color var(--ease);
}

.menu-mob__search-input::placeholder { color: var(--c-gray); }
.menu-mob__search-input:focus { border-color: var(--c-orange); outline: none; }

.menu-mob__search-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: var(--c-brown);
}

.menu-mob__search-btn:hover { color: var(--c-orange); }

.menu-mob__list {
    display: grid;
    gap: .125rem;
    margin-bottom: 1.75rem;
}

.menu-mob__link {
    display: block;
    padding: .875rem 0;
    font-family: var(--font-head);
    font-size: 1.125rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--c-card);
}

.menu-mob__call { margin-top: .5rem; }

/* -------------------------------------------------------------------------
   12. HERO
   ---------------------------------------------------------------------- */
.section-hero { display: block; }

.hero {
    position: relative;
    width: 100%;
    height: 70.75rem;      /* 1132px @1920 */
    padding-top: 9rem;     /* 144px */
}

.hero .container {
    position: relative;
    z-index: 10;
}

.hero__content {
    max-width: 33.75rem;   /* 540px вЂ” РґРѕРЅРѕСЂСЃРєР°СЏ РєРѕР»РѕРЅРєР° col-lg-6 */
}

/* Заголовок и подзаголовок первого экрана — два соседних блока, а не один
   заголовок с вложенной строкой: поиску нужен h1 с одной мыслью. */
.hero__title {
    display: block;
    margin-bottom: 1.25rem;
    font-family: var(--font-head);
    font-size: 2.75rem;    /* 44px */
    line-height: 3.3rem;   /* 52.8px */
    letter-spacing: .03em;
    text-transform: uppercase;
}

.hero__title-sub {
    display: block;
    margin-bottom: 1.7rem;
    font-family: var(--font-text);
    font-weight: 700;
    font-size: 1.375rem;   /* 22px */
    line-height: 1.5rem;
    text-transform: none;
    letter-spacing: normal;
}

.hero__buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.hero__button { min-width: 9.125rem; }

.hero__desc {
    max-width: 20.9375rem;  /* 335px */
    margin-top: 1.8rem;
    line-height: 1.5rem;
}

.trust {
    display: flex;
    align-items: flex-start;
    margin-top: 1.7rem;
}

.trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 6.39375rem;      /* 102.3px */
    margin-right: 2.5rem;
    text-align: center;
}

.trust__item:last-child { margin-right: 0; }

.trust__flag {
    display: block;
    width: 1.875rem;    /* 30px вЂ” РєР°Рє С„Р»Р°Рі РІ hero РґРѕРЅРѕСЂР° */
    height: 1.4375rem;  /* 23px */
    margin-bottom: .625rem;
    object-fit: contain;
}

.trust__icon {
    width: 1.75rem;
    height: 1.4375rem;
    margin-bottom: .625rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.trust__text {
    font-family: var(--font-head);
    font-size: .875rem;
    line-height: normal;
    letter-spacing: .02em;
    text-transform: uppercase;
    /* РїРµСЂРµРЅРѕСЃС‹ Р·Р°РґР°РЅС‹ <br> РІ СЂР°Р·РјРµС‚РєРµ вЂ” Р°РІС‚РѕСЂР°Р·СЂС‹РІ Р»РѕРјР°РµС‚ РІС‹СЃРѕС‚Сѓ Р±Р»РѕРєР° */
    white-space: nowrap;
}

/* --- РїРѕР»РѕСЃР° РїСЂРµРёРјСѓС‰РµСЃС‚РІ --- */
.badges {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    margin-top: -7.5rem;    /* -120px, РЅР°РµР·Рґ РЅР° РЅРёР¶РЅРёР№ РєСЂР°Р№ hero */
}

.badges__item { flex: 0 0 auto; }

.badges__img {
    display: block;
    width: 7.5rem;          /* 120px */
    height: 7.5rem;
}

/* -------------------------------------------------------------------------
   13. РљРђРўР•Р“РћР РР
   ---------------------------------------------------------------------- */
.cats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.875rem;
}

.cats__item,
.products__item,
.reviews__item,
.posts__item { display: flex; }

.cats__item > *,
.products__item > *,
.reviews__item > *,
.posts__item > * { width: 100%; }

.cat {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--c-card);
    transition: box-shadow var(--ease), transform var(--ease);
}

.cat__media {
    display: flex;
    align-items: center;
    justify-content: center;
    /* РІС‹СЃРѕС‚Р° Р·Р°РґР°РЅР° СЏРІРЅРѕ: РїСЂРё aspect-ratio РїСЂРѕС†РµРЅС‚РЅС‹Р№ max-height РєР°СЂС‚РёРЅРєРё
       РЅРµ СЂР°Р·СЂРµС€Р°РµС‚СЃСЏ Рё РІС‹СЃРѕРєРёРµ РёР»Р»СЋСЃС‚СЂР°С†РёРё СЂР°СЃС‚СЏРіРёРІР°СЋС‚ РїР»Р°С€РєСѓ */
    height: 12.5rem;
    padding: 1.75rem 1.125rem .625rem;
}

.cat__img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.cat__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 0 1.5rem 1.75rem;
    text-align: center;
}

.cat__title {
    display: block;
    margin-bottom: .375rem;
    font-family: var(--font-head);
    font-size: 1.5rem;
    line-height: 1.875rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cat__count {
    display: block;
    margin-bottom: 1.125rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.cat__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: auto;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-orange);
}

.cat__more .icon { transition: transform var(--ease); }

@media (hover: hover) {
    .cat:hover { box-shadow: var(--shadow-card); transform: translateY(-.25rem); }
    .cat:hover .cat__more .icon { transform: translateX(.25rem); }
}

/* -------------------------------------------------------------------------
   13a. ПОЛКА КАТАЛОГА: ВКЛАДКИ РАЗДЕЛОВ

   Вкладка на раздел, внутри — витрина раздела, плитки подразделов и колонки
   ссылок на подборки. Панели всех вкладок лежат в разметке сразу, неактивные
   закрыты атрибутом hidden: робот видит все ссылки, а на печати разделы
   разворачиваются подряд.
   ---------------------------------------------------------------------- */
.section-shelf { padding: 4.375rem 0 4.6875rem; }

.shelf__lead {
    max-width: 40rem;
    margin: 0 auto 2.5rem;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--c-gray-text);
    text-align: center;
}

/* ----- вкладки ----- */
.shelf__nav {
    display: flex;
    gap: .625rem;
    margin-bottom: 1.875rem;
}

.shelf__tab {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    min-width: 0;
    padding: 1rem 1.25rem;
    font: inherit;
    text-align: center;
    color: var(--c-brown);
    background: var(--c-card);
    border: 1px solid var(--c-line);
    border-radius: .625rem;
    cursor: pointer;
    transition: color var(--ease), background-color var(--ease), border-color var(--ease), box-shadow var(--ease);
}

.shelf__tab-icon {
    flex: 0 0 auto;
    width: 1.625rem;
    height: 1.625rem;
    color: var(--c-orange);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: color var(--ease);
}

.shelf__tab-title {
    display: block;
    overflow: hidden;
    font-family: var(--font-head);
    font-size: 1.125rem;
    line-height: 1.25;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shelf__tab.is-active {
    color: var(--c-white);
    background: var(--c-brown);
    border-color: var(--c-brown);
    box-shadow: var(--shadow-card);
}

@media (hover: hover) {
    .shelf__tab:hover { border-color: var(--c-orange); }
    .shelf__tab.is-active:hover { border-color: var(--c-brown); }
}

/* ----- витрина раздела ----- */
.shelf__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.15fr);
    gap: .9375rem;
}

.shelf__feature {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.75rem 1.75rem 1.875rem;
    overflow: hidden;
    color: var(--c-white);
    text-decoration: none;
    background: var(--c-brown);
    border-radius: .875rem;
}

/* тёплое пятно в углу: без него плашка выглядит плоским прямоугольником */
.shelf__feature::after {
    content: "";
    position: absolute;
    top: -35%;
    right: -30%;
    width: 22rem;
    height: 22rem;
    pointer-events: none;
    background: radial-gradient(circle, rgba(254, 112, 44, .5), rgba(254, 112, 44, 0) 70%);
}

.shelf__feature-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11.25rem;
    margin-bottom: 1.375rem;
}

.shelf__feature-img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    filter: drop-shadow(0 1rem 1.5rem rgba(0, 0, 0, .35));
    transition: transform var(--ease);
}

.shelf__feature-body {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.shelf__feature-title {
    display: block;
    margin-bottom: .5rem;
    font-family: var(--font-head);
    font-size: 1.75rem;
    line-height: 1.15;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.shelf__feature-text {
    display: block;
    margin-bottom: 1.25rem;
    font-size: .9375rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, .78);
}

.shelf__feature-more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: auto;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-orange);
}

.shelf__feature-more .icon { transition: transform var(--ease); }

@media (hover: hover) {
    .shelf__feature:hover .shelf__feature-img { transform: translateY(-.375rem) scale(1.03); }
    .shelf__feature:hover .shelf__feature-more .icon { transform: translateX(.25rem); }
}

/* ----- плитки подразделов ----- */
.shelf__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shelf__grid-item { display: flex; }

.shelf__tile {
    display: flex;
    align-items: center;
    gap: .875rem;
    width: 100%;
    padding: .875rem 1rem .875rem .875rem;
    color: var(--c-brown);
    text-decoration: none;
    background: var(--c-card);
    border: 1px solid transparent;
    border-radius: .75rem;
    transition: background-color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease);
}

.shelf__tile-media {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    background: var(--c-white);
    border-radius: .5rem;
}

.shelf__tile-img {
    display: block;
    width: auto;
    max-width: 86%;
    height: auto;
    max-height: 86%;
}

.shelf__tile-body {
    flex: 1 1 auto;
    min-width: 0;
}

.shelf__tile-title {
    display: block;
    font-family: var(--font-head);
    font-size: 1.0625rem;
    line-height: 1.2;
    letter-spacing: .02em;
    /* «Стерилизованным» в одно слово шире колонки: без переноса оно наезжало
       на стрелку у правого края плитки */
    overflow-wrap: anywhere;
}

.shelf__tile-count {
    display: block;
    margin-top: .25rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.shelf__tile-arrow {
    flex: 0 0 auto;
    color: var(--c-orange);
    opacity: .45;
    transition: opacity var(--ease), transform var(--ease);
}

@media (hover: hover) {
    .shelf__tile:hover {
        background: var(--c-white);
        border-color: var(--c-line);
        box-shadow: var(--shadow-card);
        transform: translateY(-.125rem);
    }
    .shelf__tile:hover .shelf__tile-arrow { opacity: 1; transform: translateX(.25rem); }
}

/*
 * Вкладка, где подразделов мало (ветдиеты — их три), одной строкой плиток
 * оставляла пустоту рядом с высокой витриной. Такие плитки разворачиваются в
 * вертикальные карточки и занимают всю высоту строки.
 */
.shelf__panel--few .shelf__grid { grid-auto-rows: minmax(0, 1fr); }

.shelf__panel--few .shelf__tile {
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem 1.25rem;
    text-align: center;
}

.shelf__panel--few .shelf__tile-media {
    width: 7.5rem;
    height: 7.5rem;
}

.shelf__panel--few .shelf__tile-body { flex: 0 0 auto; }

.shelf__panel--few .shelf__tile-title { font-size: 1.125rem; }

/* ----- колонки ссылок на подборки ----- */
.shelf__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem 2.5rem;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--c-line);
}

.shelf__group-title {
    margin: 0 0 .75rem;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-gray-text);
}

.shelf__group-list {
    display: grid;
    gap: .0625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shelf__link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .625rem;
    padding: .3125rem 0;
    font-size: .9375rem;
    line-height: 1.35;
    color: var(--c-brown);
    text-decoration: none;
    transition: color var(--ease);
}

.shelf__link-count {
    flex: 0 0 auto;
    font-size: .8125rem;
    font-variant-numeric: tabular-nums;
    color: var(--c-gray);
    transition: color var(--ease);
}

@media (hover: hover) {
    .shelf__link:hover,
    .shelf__link:hover .shelf__link-count { color: var(--c-orange); }
}

/* ----- планшет ----- */
@media screen and (max-width: 991px) {
    .section-shelf { padding: 3.75rem 0; }
    .shelf__lead { margin: -1.5rem auto 1.875rem; }

    /* вкладок четыре и больше: в строку они не встают, уводим в прокрутку */
    .shelf__nav {
        margin-right: -1rem;
        margin-left: -1rem;
        padding: 0 1rem .25rem;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .shelf__nav::-webkit-scrollbar { display: none; }
    .shelf__tab { flex: 0 0 auto; }
    .shelf__tab-title { font-size: 1rem; }

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

    .shelf__feature {
        flex-direction: row;
        align-items: center;
        gap: 1.5rem;
        padding: 1.5rem;
    }

    .shelf__feature-media {
        flex: 0 0 auto;
        width: 9rem;
        height: 9rem;
        margin-bottom: 0;
    }

    .shelf__feature-title { font-size: 1.5rem; }
    .shelf__feature-text { margin-bottom: .875rem; }
    .shelf__feature-more { margin-top: 0; }

    .shelf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shelf__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ----- телефон ----- */
@media screen and (max-width: 575px) {
    .section-shelf { padding: 2.5rem 0; }

    .shelf__tab { padding: .75rem 1rem; }
    .shelf__tab-icon { width: 1.375rem; height: 1.375rem; }

    .shelf__feature {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .shelf__feature-media {
        width: 100%;
        height: 9.5rem;
        margin-bottom: 1.125rem;
    }

    .shelf__grid,
    .shelf__links { grid-template-columns: minmax(0, 1fr); }

    .shelf__tile-media { width: 3.5rem; height: 3.5rem; }
    .shelf__tile-title { font-size: 1rem; }
}

/* -------------------------------------------------------------------------
   14. РўРћР’РђР Р«
   ---------------------------------------------------------------------- */
.section-products { padding: 5.5625rem 0 3.75rem; }

.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.875rem;
}

.product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;      /* РґРѕРЅРѕСЂСЃРєР°СЏ РїР»Р°С€РєР° 350x350 */
    padding: 1.9375rem 1.125rem 1.25rem;
    background: var(--c-card);
    overflow: hidden;
}

/* РЎСЃС‹Р»РєР° Р·Р°РЅРёРјР°РµС‚ РІСЃСЋ РїР»Р°С€РєСѓ: РЅР°Р¶Р°С‚РёРµ РІ Р»СЋР±СѓСЋ С‚РѕС‡РєСѓ С„РѕС‚РѕРіСЂР°С„РёРё РІРµРґС‘С‚ РІ РєР°СЂС‚РѕС‡РєСѓ */
.product__media-link {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.9375rem 1.125rem 1.25rem;
}

.product__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    transition: transform var(--ease-slow);
}

.product__img--1 { width: 17.3125rem; height: 12.5rem; }
.product__img--2 { width: 15.9375rem; height: 12.5rem; }
.product__img--3 { width: 17rem; height: 15.3125rem; }
.product__img--4 { width: 16.8125rem; height: 14.3125rem; }
.product__img--5 { width: 17.9375rem; height: 13.5625rem; }
.product__img--6 { width: 16.125rem; height: 14.25rem; }

.product__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    padding: .25rem .625rem .1875rem;
    font-family: var(--font-head);
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-brown);
}

.product__badge--new { background: var(--c-orange); }
.product__badge--sale { background: var(--c-red); }

.product__fav {
    position: absolute;
    top: .625rem;
    right: .625rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--c-brown);
}

.product__fav .icon { fill: none; transition: fill var(--ease), stroke var(--ease), transform var(--ease); }

.product__fav[aria-pressed="true"] { color: var(--c-red); }
.product__fav[aria-pressed="true"] .icon { fill: currentColor; }
.product__fav.is-bump .icon { transform: scale(1.25); }

@media (hover: hover) {
    .product__fav:hover { color: var(--c-red); }
    .product:hover .product__img { transform: scale(1.04); }
}

.product__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.25rem 0 0;
}

.product__title {
    margin-bottom: .375rem;
    font-family: var(--font-text);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.5rem;
    letter-spacing: normal;
    text-transform: none;
}

@media (hover: hover) {
    .product__link:hover { color: var(--c-orange); }
}

.product__meta {
    /* РґРІРµ СЃС‚СЂРѕРєРё РїРѕРґ РѕРїРёСЃР°РЅРёРµ вЂ” РёРЅР°С‡Рµ СЂРµР№С‚РёРЅРі Рё С„Р°СЃРѕРІРєРё РІ СЃРѕСЃРµРґРЅРёС…
       РєР°СЂС‚РѕС‡РєР°С… РІСЃС‚Р°СЋС‚ РЅР° СЂР°Р·РЅРѕР№ РІС‹СЃРѕС‚Рµ */
    min-height: 2.5rem;
    margin-bottom: .75rem;
    font-size: .9375rem;
    line-height: 1.25rem;
    color: var(--c-gray-text);
}

.product .rating { margin-bottom: 1rem; }

.product .chips { margin-bottom: 1.125rem; }

.product__buy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
}

.product__add { padding: 1rem 1.25rem .75rem; }

/* -------------------------------------------------------------------------
   15. РџРћР§Р•РњРЈ GRANDORF
   ---------------------------------------------------------------------- */
.section-why { padding: 2.25rem 0 1rem; }

.why {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}

.why__block {
    position: relative;
    z-index: 10;
    padding-right: 4rem;
}

.why__list {
    margin-top: 4.3125rem;
    margin-left: -1.6875rem;
}

.why__item {
    display: flex;
    align-items: center;
    min-width: 0;
    margin-bottom: 1.6875rem;
}

.why__item:last-child { margin-bottom: 0; }

.why__link {
    display: flex;
    align-items: center;
    min-width: 0;
    font-family: var(--font-head);
    letter-spacing: .03em;
    text-transform: uppercase;
}

.why__link::before {
    content: "";
    width: 1.375rem;
    min-width: 1.375rem;
    height: .9375rem;
    margin-right: .375rem;
    margin-top: -.375rem;
    background-image: url("../img/check-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.why__link--accent { color: var(--c-orange); }

@media (hover: hover) {
    .why__link:hover { color: var(--c-orange); }
}

.why__media { display: block; }

.why__img--desktop {
    display: block;
    /* Сѓ РґРѕРЅРѕСЂР° РєР°СЂС‚РёРЅРєР° С€РёСЂРµ СЃРІРѕРµР№ РєРѕР»РѕРЅРєРё Рё РІС‹С…РѕРґРёС‚ РІРїСЂР°РІРѕ РІРЅСѓС‚СЂРё РєРѕРЅС‚РµР№РЅРµСЂР° */
    max-width: none;
    width: 41.4375rem;      /* 663px */
    height: 35.6875rem;     /* 571px */
    margin-left: -7.8125rem;
    margin-top: -1.0625rem;
    object-fit: contain;
}

.why__img--mobile { display: none; }

/* -------------------------------------------------------------------------
   16. РљРђР›Р¬РљРЈР›РЇРўРћР 
   ---------------------------------------------------------------------- */
.calc {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.875rem;
    align-items: stretch;
}

.calc__controls {
    display: grid;
    align-content: start;
    gap: 2rem;
    padding: 2.5rem;
    background: var(--c-card);
}

.calc__field { display: block; }

.calc__legend {
    display: block;
    margin-bottom: .875rem;
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.calc__output {
    font-family: var(--font-head);
    color: var(--c-orange);
}

.calc__range {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 1.5rem;
    margin: 0;
    background: transparent;
    cursor: pointer;
}

.calc__range::-webkit-slider-runnable-track {
    height: .375rem;
    background: linear-gradient(var(--c-orange), var(--c-orange)) 0 / var(--fill, 20%) 100% no-repeat, var(--c-line);
}

.calc__range::-moz-range-track {
    height: .375rem;
    background: var(--c-line);
}

.calc__range::-moz-range-progress {
    height: .375rem;
    background: var(--c-orange);
}

.calc__range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -.5625rem;
    background: var(--c-white);
    border: .1875rem solid var(--c-orange);
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(67, 46, 37, .25);
}

.calc__range::-moz-range-thumb {
    width: 1.5rem;
    height: 1.5rem;
    background: var(--c-white);
    border: .1875rem solid var(--c-orange);
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(67, 46, 37, .25);
}

.calc__scale {
    display: flex;
    justify-content: space-between;
    margin-top: .375rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.calc__result {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    color: var(--c-light);
    background: var(--c-brown);
}

.calc__result-main {
    margin-bottom: 1.5rem;
    font-family: var(--font-head);
    font-size: 3.25rem;
    line-height: 1;
    letter-spacing: .02em;
}

.calc__result-unit { font-size: 1.25rem; letter-spacing: .06em; text-transform: uppercase; }

.calc__facts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.25rem;
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
    border-top: 1px solid rgba(246, 246, 246, .25);
}

.calc__fact { display: block; }

.calc__fact-value {
    display: block;
    margin-bottom: .25rem;
    font-family: var(--font-head);
    font-size: 1.75rem;
    line-height: 1.2;
    color: var(--c-orange);
}

.calc__fact-label {
    display: block;
    font-size: .875rem;
    line-height: 1.25rem;
}

.calc__note {
    margin-bottom: 1.75rem;
    font-size: .875rem;
    line-height: 1.25rem;
    color: rgba(246, 246, 246, .7);
}

.calc__cta { margin-top: auto; align-self: flex-start; }

/* -------------------------------------------------------------------------
   17. Р‘РђРќРќР•Р  РРќР“Р Р•Р”РР•РќРўРћР’
   ---------------------------------------------------------------------- */
.section-ingredients { display: block; }

.ingredients {
    position: relative;
    width: 100%;
    height: 67.25rem;      /* 1076px */
}

.ingredients .container { position: relative; z-index: 10; }

.ingredients__content {
    max-width: 45.625rem;   /* 730px */
    margin: 0 auto;
    padding-top: 21.3125rem;/* 341px */
    text-align: center;
    color: var(--c-light);
}

.ingredients__title { margin-bottom: 1.25rem; }

.ingredients__text {
    margin-bottom: 2.6875rem;
    padding: 0 3.8125rem;
    line-height: 1.5rem;
}

/* -------------------------------------------------------------------------
   17a. МЯСО В ОСНОВЕ КОРМОВ (схема с выносками)

   Раскладка донорского блока scheme-meet повторена по замерам: две колонки по
   половине контентной ширины, снимок шириной 40.5rem с отрицательным левым
   отступом и шесть подписей в абсолютных координатах. Снимок нарочно шире
   своей колонки — пунктирные стрелки на нём уходят под текст справа, так же
   как у донора.
   ---------------------------------------------------------------------- */
.section-meat { padding: 7.5rem 0 8.4375rem; }

/* колонки повторяют сетку донора: row -15px и по 15px в каждой половине */
.meat {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 -.9375rem;
}

.meat > * { padding: 0 .9375rem; }

.meat__scheme {
    position: relative;
    width: 40.5rem;
    height: 29.8125rem;
    margin-left: -2.5rem;
}

.meat__scheme picture,
.meat__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.meat__label {
    position: absolute;
    margin: 0;
    font-weight: 700;
    line-height: 1.5rem;
}

/* Обход по кругу: слева сверху и дальше по часовой стрелке. */
.meat__label--1 { top: -.6875rem; left: 11.375rem; text-align: right; }
.meat__label--2 { top: 22.1875rem; left: 41.1875rem; }
.meat__label--3 { top: 26.1875rem; left: 39.125rem; }
.meat__label--4 { top: 29.0625rem; left: 30.1875rem; }
.meat__label--5 { top: 26.9375rem; left: 10.4375rem; text-align: right; }
.meat__label--6 { top: 4.375rem; left: 1.375rem; text-align: right; }

.meat__title { margin: 0 0 .9375rem; }

.meat__text { margin: 0 0 1rem; }

.meat__text:last-child { margin-bottom: 0; }

/* ----- планшет: текст выше схемы, схема по центру ----- */
@media screen and (max-width: 991px) {
    .section-meat { padding: 7.5rem 0 8.4375rem; }

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

    .meat__title,
    .meat__text { text-align: center; }

    /* у донора колонки переставлены: сначала текст, потом схема */
    .meat__body { order: 1; }

    .meat__scheme {
        order: 2;
        width: 26rem;
        height: 26.3125rem;
        margin: 6.25rem auto 0;
    }

    .meat__label--1 { top: -3.0625rem; left: 5.75rem; }
    .meat__label--2 { top: -.6875rem; left: 17.375rem; text-align: right; }
    .meat__label--3 { top: 26.5625rem; left: 6.5625rem; text-align: right; }
    .meat__label--4 { top: 21.875rem; left: 15.4375rem; text-align: right; }
    .meat__label--5 { top: 19.9375rem; left: 2.8125rem; }
    .meat__label--6 { top: 2.3125rem; left: 2.3125rem; text-align: left; }
}

@media screen and (max-width: 767px) {
    .section-meat { padding: 5.1875rem 0 9.9375rem; }
    .meat__scheme { margin-top: 7.3125rem; }
}

@media screen and (max-width: 450px) {
    .meat__scheme { margin-left: -1.25rem; }
}

/*
 * На самых узких телефонах схема шире экрана, и правая подпись выходит за край.
 * Двигать подписи по одной нельзя: выносные стрелки нарисованы в снимке.
 * Поэтому уменьшаем схему целиком — пропорции и стрелки остаются на месте,
 * а отрицательный отступ снизу убирает пустоту от масштабирования.
 */
@media screen and (max-width: 375px) {
    .meat__scheme {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: -2.5rem;
        transform: scale(.9);
        transform-origin: top center;
    }
}

@media screen and (max-width: 350px) {
    .meat__scheme {
        margin-bottom: -4rem;
        transform: scale(.82);
    }
}

/* -------------------------------------------------------------------------
   18. РЎР•Р РўРР¤РРљРђРўР«
   ---------------------------------------------------------------------- */
.section-certs { padding: 0 0 5rem; }

.certs {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.certs__flag { line-height: 0; }

.certs__flag-img {
    display: block;
    width: 2.5rem;
    height: 1.875rem;
    margin-bottom: .875rem;
    object-fit: contain;
}

.certs__title {
    font-family: var(--font-head);
    font-size: 1.25rem;
    line-height: 2rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.certs__desc {
    margin-top: .875rem;
    margin-bottom: .8125rem;
    line-height: normal;
}

.certs__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.5rem;
    height: auto;
    min-height: 4.375rem;
}

.certs__item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 4.375rem;   /* 70px */
}

.certs__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    opacity: .85;
    transition: opacity var(--ease);
}

@media (hover: hover) {
    .certs__item:hover .certs__img { opacity: 1; }
}

/* -------------------------------------------------------------------------
   19. РћРўР—Р«Р’Р«
   ---------------------------------------------------------------------- */
.reviews__summary {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin: -2.5rem 0 3.125rem;
}

.reviews__score {
    font-family: var(--font-head);
    font-size: 2rem;
    line-height: 1;
}

.reviews__count { color: var(--c-gray-text); font-size: .9375rem; }

.reviews {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.875rem;
}

.review {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem 1.875rem;
    background: var(--c-card);
}

.review .rating { margin-bottom: 1.125rem; }

.review__text {
    flex: 1 1 auto;
    margin-bottom: 1.5rem;
    line-height: 1.5rem;
}

.review__footer {
    display: flex;
    align-items: center;
    gap: .875rem;
}

.review__avatar {
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    object-fit: cover;
    background: var(--c-line);
}

.review__who {
    display: grid;
    gap: .125rem;
    min-width: 0;
}

.review__author {
    font-family: var(--font-text);
    font-weight: 700;
    font-size: 1.0625rem;
}

.review__meta { font-size: .875rem; color: var(--c-gray-text); }

/* -------------------------------------------------------------------------
   20. РЎРўРђРўРРЎРўРРљРђ
   ---------------------------------------------------------------------- */
.section-stats { display: block; }

.stats {
    position: relative;
    width: 100%;
    height: 69.375rem;     /* 1110px @1920 */
    text-align: center;
}

.stats .container { position: relative; z-index: 10; }

.stats__head { padding-top: 3.375rem; }

.stats__title {
    max-width: 45.625rem;
    margin: 0 auto 1.25rem;
}

.stats__list {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 45.625rem;
    margin: 0 auto 2.625rem;
}

.stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.stats__value {
    font-family: var(--font-head);
    font-size: 2rem;
    line-height: 2.5rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.stats__label { line-height: 1.5rem; }

/* -------------------------------------------------------------------------
   21. РЎРўРђРўР¬Р
   ---------------------------------------------------------------------- */
.posts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.875rem;
}

.post {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem 1.875rem 1.875rem;
    background: var(--c-card);
    transition: box-shadow var(--ease);
}

.post__tag {
    margin-bottom: 1rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-orange);
}

.post__title {
    margin-bottom: .75rem;
    font-family: var(--font-head);
    font-size: 1.3125rem;
    line-height: 1.75rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.post__excerpt {
    flex: 1 1 auto;
    margin-bottom: 1.25rem;
    font-size: 1.0625rem;
    line-height: 1.5rem;
}

.post__meta { font-size: .875rem; color: var(--c-gray-text); }

@media (hover: hover) {
    .post:hover { box-shadow: var(--shadow-card); }
    .post__link:hover { color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   22. РџРћР”РџРРЎРљРђ
   ---------------------------------------------------------------------- */
.section-subscribe {
    padding: 3.125rem 0;
    margin-bottom: .5rem;
    color: var(--c-light);
    background: var(--c-brown);
}

.subscribe {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 2.5rem;
    align-items: center;
}

.subscribe__title { margin-bottom: .625rem; color: var(--c-light); }

.subscribe__desc { line-height: 1.5rem; }

.subscribe__row {
    display: flex;
    gap: .75rem;
}

.subscribe__input {
    flex: 1 1 auto;
    color: var(--c-light);
    background: transparent;
    border-color: rgba(246, 246, 246, .5);
}

.subscribe__input::placeholder { color: rgba(246, 246, 246, .6); }
.subscribe__input:focus { border-color: var(--c-orange); }

.subscribe__error,
.subscribe__ok {
    margin-top: .625rem;
    font-size: .875rem;
}

.subscribe__error { color: #FFB4A2; }
.subscribe__ok { color: #B8E986; }

.subscribe__policy {
    margin-top: .875rem;
    font-size: .8125rem;
    line-height: 1.25rem;
    color: rgba(246, 246, 246, .6);
}

.subscribe__policy a { border-bottom: 1px solid rgba(246, 246, 246, .4); }

@media (hover: hover) {
    .subscribe__policy a:hover { color: var(--c-orange); border-color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   23. РџРћР”Р’РђР›
   ---------------------------------------------------------------------- */
.footer {
    flex: 0 0 auto;
    position: relative;
    z-index: 10;
    padding: 3.0625rem 0;
    color: var(--c-gray);
    background: var(--c-black);
}

.footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2.5rem;
    padding-bottom: 2.6875rem;
    border-bottom: 1px solid rgba(181, 181, 181, .25);
}

.footer__logo { display: inline-block; margin-bottom: 1.125rem; }

.footer__logo-img {
    display: block;
    width: 10.731rem;
    height: 1.375rem;
    background-image: url("../img/logo-footer.svg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
}

.footer__about {
    margin-bottom: 1.5rem;
    font-size: .9375rem;
    line-height: 1.375rem;
}

.footer__brands {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.footer__brand {
    display: block;
    height: .75rem;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .7;
    transition: opacity var(--ease);
}

.footer__brand--grandorf { width: 5.9375rem; background-image: url("../img/grandorf-logo.svg"); }
.footer__brand--fresh    { width: 8.3125rem; background-image: url("../img/grandorf-fresh-logo.svg"); }
.footer__brand--vet      { width: 7.438rem; background-image: url("../img/grandorf-vet-logo.svg"); }
.footer__brand--premier  { width: 5.25rem; background-image: url("../img/premier-logo.svg"); }

.footer__brand.is-active,
.footer__brand:hover { opacity: 1; }

.footer__brand--grandorf.is-active,
.footer__brand--grandorf:hover { background-image: url("../img/grandorf-logo-active.svg"); }
.footer__brand--fresh:hover { background-image: url("../img/grandorf-fresh-logo-active.svg"); }
.footer__brand--vet:hover { background-image: url("../img/grandorf-vet-logo-active.svg"); }
.footer__brand--premier:hover { background-image: url("../img/premier-logo-active.svg"); }

.footer__title {
    margin-bottom: 1.125rem;
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-white);
}

.footer__list { display: grid; gap: .75rem; font-size: .9375rem; }

.footer__list--contacts { line-height: 1.375rem; }

.footer__phone {
    font-family: var(--font-head);
    font-size: 1.25rem;
    color: var(--c-white);
}

.footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    margin-top: 1.25rem;
}

.footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--c-white);
    border: 1px solid rgba(181, 181, 181, .4);
    border-radius: 50%;
    transition: color var(--ease), border-color var(--ease);
}

/* Р—РЅР°Рє СЃРѕС†СЃРµС‚Рё РєСЂСѓРїРЅРµРµ РїР»Р°С‚С‘Р¶РЅРѕРіРѕ: РїСЂР°РІРёР»Рѕ .brandmark РёРґС‘С‚ РЅРёР¶Рµ РїРѕ С„Р°Р№Р»Сѓ,
   РїРѕСЌС‚РѕРјСѓ РІС‹РёРіСЂС‹РІР°РµРј СЃРїРµС†РёС„РёС‡РЅРѕСЃС‚СЊСЋ, Р° РЅРµ РїРѕСЂСЏРґРєРѕРј. */
.footer__social .footer__social-icon { height: 1.25rem; }

.footer__bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem 2.5rem;
    padding-top: 1.75rem;
    font-size: .875rem;
}

.footer__pay {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

/* Р›РѕРіРѕС‚РёРїС‹ РїР»Р°С‚С‘Р¶РЅС‹С… СЃРёСЃС‚РµРј СЃС‚РѕСЏС‚ РЅР° Р±РµР»С‹С… РїР»Р°С€РєР°С…: РЅР° С‡С‘СЂРЅРѕРј С„РѕРЅРµ Р·РµР»С‘РЅС‹Р№
   В«РњРёСЂВ» Рё С†РІРµС‚Р° РЎР‘Рџ С‚РµСЂСЏСЋС‚СЃСЏ, Р° РїРµСЂРµРєСЂР°С€РёРІР°С‚СЊ С‡СѓР¶РёРµ РјР°СЂРєРё РЅРµР»СЊР·СЏ. */
.footer__pay-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    height: 1.75rem;
    padding: 0 .5rem;
    color: var(--c-gray-text);
    background: var(--c-white);
    border-radius: .25rem;
}

.footer__pay-item--text {
    font-size: .75rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--c-white);
    background: none;
    border: 1px solid rgba(181, 181, 181, .35);
}

/* Р—РЅР°Рє РјР°СЂРєРё: Р·Р°РґР°С‘Рј С‚РѕР»СЊРєРѕ РІС‹СЃРѕС‚Сѓ вЂ” С€РёСЂРёРЅСѓ Р±СЂР°СѓР·РµСЂ Р±РµСЂС‘С‚ РёР· viewBox. */
.brandmark {
    display: block;
    width: auto;
    height: .875rem;
}

/* РЈ РЎР‘Рџ Р·РЅР°Рє РІС‹С‚СЏРЅСѓС‚ РІРІРµСЂС…, Сѓ Mastercard РєСЂСѓРіР»С‹Р№ вЂ” РїСЂРё РѕРґРЅРѕР№ РІС‹СЃРѕС‚Рµ РѕРЅРё
   СЃРјРѕС‚СЂСЏС‚СЃСЏ РјРµР»СЊС‡Рµ РѕСЃС‚Р°Р»СЊРЅС‹С…, РїРѕСЌС‚РѕРјСѓ РїРѕРґРЅСЏС‚С‹ РїРѕС€С‚СѓС‡РЅРѕ. */
.brandmark--sbp { height: 1.25rem; }
.brandmark--mastercard { height: 1.25rem; }
.brandmark--cash { height: 1rem; }

.footer__legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.footer__copy { margin-left: auto; }

@media (hover: hover) {
    .footer a:hover { color: var(--c-orange); }
    .footer__social:hover { color: var(--c-orange); border-color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   24. РћР’Р•Р Р›Р•Р™ Р Р’Р«Р•Р—Р–РђР®Р©РР• РџРђРќР•Р›Р
   ---------------------------------------------------------------------- */
.overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(30, 20, 16, .5);
    opacity: 0;
    transition: opacity var(--ease);
}

.overlay.is-visible { opacity: 1; }

.drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: var(--drawer-w);
    max-width: 100%;
    background: var(--c-white);
    box-shadow: var(--shadow-drawer);
    transform: translateX(100%);
    transition: transform var(--ease-slow);
}

.drawer.is-open { transform: translateX(0); }

.drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex: 0 0 auto;
    padding: 1.5rem 1.75rem;
    border-bottom: 1px solid var(--c-card);
}

.drawer__title {
    display: flex;
    align-items: center;
    gap: .625rem;
    font-family: var(--font-head);
    font-size: 1.375rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.drawer__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .375rem;
    font-size: .8125rem;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 1rem;
}

.drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--c-brown);
}

@media (hover: hover) {
    .drawer__close:hover { color: var(--c-orange); }
}

.drawer__progress {
    flex: 0 0 auto;
    padding: .875rem 1.75rem;
    font-size: .875rem;
    background: var(--c-card);
}

.drawer__progress-text { display: block; margin-bottom: .5rem; }

/* СЃРѕРѕР±С‰РµРЅРёРµ СЃРµСЂРІРµСЂР°: РїРѕС‡РµРјСѓ С‚РѕРІР°СЂ РЅРµ РґРѕР±Р°РІРёР»СЃСЏ РёР»Рё РїРѕС‡РµРјСѓ РµРіРѕ РјРµРЅСЊС€Рµ, С‡РµРј РїСЂРѕСЃРёР»Рё */
.drawer__note {
    flex: 0 0 auto;
    margin: 0;
    padding: .75rem 1.75rem;
    font-size: .875rem;
    color: var(--c-red);
    background: var(--c-card);
}

.drawer__progress-bar {
    display: block;
    height: .25rem;
    background: rgba(67, 46, 37, .15);
    overflow: hidden;
}

.drawer__progress-fill {
    display: block;
    height: 100%;
    width: 0;
    background: var(--c-orange);
    transition: width var(--ease);
}

.drawer__body {
    flex: 1 1 auto;
    padding: 1.25rem 1.75rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.drawer__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 3.125rem 1.25rem;
    text-align: center;
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

.drawer__empty-icon {
    width: 3.5rem;
    height: 3.5rem;
    fill: none;
    stroke: var(--c-line);
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.drawer__foot {
    flex: 0 0 auto;
    padding: 1.5rem 1.75rem;
    border-top: 1px solid var(--c-card);
}

.drawer__sum {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1rem;
    font-size: 1.125rem;
}

.drawer__sum strong {
    font-family: var(--font-head);
    font-size: 1.75rem;
    font-weight: 400;
}

.drawer__link {
    display: block;
    width: 100%;
    margin-top: .875rem;
    font-size: .875rem;
    color: var(--c-gray-text);
    text-align: center;
    transition: color var(--ease);
}

@media (hover: hover) {
    .drawer__link:hover { color: var(--c-red); }
}

/* --- РїРѕР·РёС†РёРё РІ РїР°РЅРµР»Рё --- */
.cart { display: grid; gap: 1.25rem; }

.cart__item {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: 1rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--c-card);
}

.cart__item:last-child { padding-bottom: 0; border-bottom: 0; }

.cart__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    padding: .375rem;
    background: var(--c-card);
}

.cart__img { display: block; max-width: 100%; max-height: 100%; }

.cart__info { display: flex; flex-direction: column; gap: .375rem; }

.cart__name {
    font-family: var(--font-text);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.25rem;
}

.cart__weight { font-size: .8125rem; color: var(--c-gray-text); }

.cart__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .25rem;
}

.stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--c-line);
}

.stepper__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--c-brown);
}

.stepper__value {
    min-width: 2rem;
    font-family: var(--font-head);
    font-size: 1rem;
    text-align: center;
}

@media (hover: hover) {
    .stepper__btn:hover { color: var(--c-orange); }
}

.cart__price {
    font-family: var(--font-head);
    font-size: 1.125rem;
    white-space: nowrap;
}

.cart__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--c-gray);
}

.cart__actions { display: flex; align-items: center; gap: .5rem; }

@media (hover: hover) {
    .cart__remove:hover { color: var(--c-red); }
}

.cart__add {
    padding: .4375rem 1rem .3125rem;
    min-height: 2.25rem;
    font-size: .8125rem;
}

/* -------------------------------------------------------------------------
   25. РњРћР”РђР›Р¬РќР«Р• РћРљРќРђ (РѕР±С‰РёР№ РєР°СЂРєР°СЃ)
   ---------------------------------------------------------------------- */
.modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    /* РєР»РёРєРё РїРѕ В«РїРѕР»СЏРјВ» РґРѕР»Р¶РЅС‹ РґРѕС…РѕРґРёС‚СЊ РґРѕ РѕРІРµСЂР»РµСЏ Рё Р·Р°РєСЂС‹РІР°С‚СЊ РѕРєРЅРѕ */
    pointer-events: none;
}

.modal__dialog {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 34rem;
    max-height: min(86vh, 52rem);
    background: var(--c-white);
    box-shadow: 0 1.5rem 5rem rgba(30, 20, 16, .28);
    opacity: 0;
    transform: translateY(1.25rem) scale(.985);
    transition: opacity var(--ease), transform var(--ease);
    pointer-events: auto;
}

.modal.is-open .modal__dialog { opacity: 1; transform: none; }

.modal--region .modal__dialog { max-width: 64rem; }
.modal--quick .modal__dialog { max-width: 53rem; }

.modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex: 0 0 auto;
    padding: 1.75rem 1.75rem 1.125rem;
}

.modal__title {
    font-family: var(--font-head);
    font-size: 1.5rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.modal__sub {
    margin-top: .3125rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--c-brown);
    transition: color var(--ease);
}

.modal__close--float {
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 3;
    background: rgba(255, 255, 255, .8);
}

@media (hover: hover) {
    .modal__close:hover { color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   26. Р’Р«Р‘РћР  Р“РћР РћР”Рђ
   ---------------------------------------------------------------------- */
.region__search {
    position: relative;
    flex: 0 0 auto;
    margin: 0 1.75rem;
}

.region__search-icon {
    position: absolute;
    top: 50%;
    left: 1.125rem;
    margin-top: -.625rem;
    color: var(--c-gray);
    pointer-events: none;
}

.region__input {
    display: block;
    width: 100%;
    min-height: 3.5rem;
    padding: .5rem 3rem .5rem 3.25rem;
    font-family: var(--font-text);
    font-size: 1.0625rem;
    color: var(--c-brown);
    background: var(--c-card);
    border: 1px solid var(--c-line);
    transition: border-color var(--ease), background-color var(--ease);
}

.region__input:focus {
    outline: none;
    background: var(--c-white);
    border-color: var(--c-orange);
}

.region__input::-webkit-search-cancel-button,
.region__input::-webkit-search-decoration { display: none; }

.region__clear {
    position: absolute;
    top: 50%;
    right: .8125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    margin-top: -.9375rem;
    color: var(--c-gray-text);
    transition: color var(--ease);
}

.region__popular {
    flex: 0 0 auto;
    padding: 1.25rem 1.75rem 0;
}

.region__caption {
    margin-bottom: .625rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-gray-text);
}

.region__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.region__chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: .3125rem .875rem;
    font-size: .9375rem;
    white-space: nowrap;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    transition: color var(--ease), border-color var(--ease), background-color var(--ease);
}

.region__chip.is-active {
    color: var(--c-white);
    background: var(--c-brown);
    border-color: var(--c-brown);
}

.region__rail {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: .125rem;
    padding: 1.25rem 1.75rem .875rem;
}

.region__letter {
    min-width: 1.75rem;
    height: 1.75rem;
    font-family: var(--font-head);
    font-size: .875rem;
    color: var(--c-gray-text);
    transition: color var(--ease), background-color var(--ease);
}

.region__letter[disabled] {
    color: var(--c-line);
    cursor: default;
}

.region__body {
    flex: 1 1 auto;
    padding: .25rem 1.75rem 1.75rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid var(--c-line);
}

.region__status {
    padding: 1.75rem 0;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.region__group { padding-top: 1.5rem; }

.region__group-title {
    margin-bottom: .625rem;
    padding-bottom: .4375rem;
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--c-line);
}

.region__cities {
    columns: 4 11rem;
    column-gap: 1.5rem;
}

.region__city {
    display: block;
    width: 100%;
    padding: .3125rem 0;
    font-size: .9375rem;
    text-align: left;
    color: var(--c-brown);
    transition: color var(--ease);
}

.region__results { display: grid; }

.region__result {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: .625rem .75rem;
    font-size: 1rem;
    text-align: left;
    color: var(--c-brown);
    transition: background-color var(--ease), color var(--ease);
}

.region__result-region {
    flex: 0 0 auto;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.region__result.is-cursor { background: var(--c-card); }

.region__city.is-active,
.region__result.is-active { color: var(--c-orange); }

.region__city mark,
.region__result mark {
    color: var(--c-orange);
    background: none;
}

@media (hover: hover) {
    .region__clear:hover { color: var(--c-red); }
    .region__chip:hover { color: var(--c-orange); border-color: var(--c-orange); }
    .region__chip.is-active:hover { color: var(--c-white); }
    .region__letter:hover:not([disabled]) { color: var(--c-white); background: var(--c-brown); }
    .region__city:hover { color: var(--c-orange); }
    .region__result:hover { background: var(--c-card); }
}

/* -------------------------------------------------------------------------
   27. Р‘Р«РЎРўР Р«Р™ РџР РћРЎРњРћРўР 
   ---------------------------------------------------------------------- */
.product__quick {
    position: absolute;
    left: 50%;
    bottom: .875rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .5rem 1rem .4375rem;
    font-family: var(--font-head);
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--c-brown);
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 .25rem 1rem rgba(67, 46, 37, .16);
    opacity: 0;
    transform: translate(-50%, .625rem);
    transition: opacity var(--ease), transform var(--ease), color var(--ease);
}

.product__quick:focus-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

/* РЅР° С‚Р°С‡-СѓСЃС‚СЂРѕР№СЃС‚РІР°С… РЅР°РІРµРґРµРЅРёСЏ РЅРµС‚ вЂ” РєРЅРѕРїРєР° РІРёРґРЅР° СЃСЂР°Р·Сѓ */
@media (hover: none) {
    .product__quick { opacity: 1; transform: translate(-50%, 0); }
}

@media (hover: hover) {
    .product:hover .product__quick { opacity: 1; transform: translate(-50%, 0); }
    .product__quick:hover { color: var(--c-orange); }
}

.quick {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    min-height: 0;
}

.quick__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    background: var(--c-card);
}

.quick__img {
    display: block;
    max-width: 100%;
    height: auto;
}

.quick__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: .25rem .625rem .1875rem;
    font-family: var(--font-head);
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-brown);
}

.quick__badge--new { background: var(--c-orange); }
.quick__badge--sale { background: var(--c-red); }

.quick__body {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    overflow-y: auto;
}

.quick__title {
    font-family: var(--font-head);
    font-size: 1.75rem;
    letter-spacing: .02em;
}

.quick__meta {
    margin-top: .5rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.quick__rating {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .75rem;
}

.quick__features {
    display: grid;
    gap: .5rem;
    margin: 1.5rem 0;
}

.quick__features li {
    position: relative;
    padding-left: 1.375rem;
    font-size: .9375rem;
    line-height: 1.375rem;
}

.quick__features li::before {
    content: "";
    position: absolute;
    top: .5rem;
    left: 0;
    width: .4375rem;
    height: .4375rem;
    background: var(--c-orange);
}

.quick__label {
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-gray-text);
}

.quick__chips { margin: .625rem 0 1.375rem; }

.quick__price { margin-bottom: 1.375rem; }
.quick__price .price__now { font-size: 2rem; }

.quick__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.quick__add { flex: 1 1 auto; }

.quick__fav {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex: 0 0 auto;
    padding: .5rem;
    font-size: .875rem;
    color: var(--c-gray-text);
    transition: color var(--ease);
}

.quick__fav .icon { fill: none; transition: fill var(--ease); }
.quick__fav[aria-pressed="true"] { color: var(--c-red); }
.quick__fav[aria-pressed="true"] .icon { fill: currentColor; }

.quick__more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: .375rem;
    margin-top: 1.375rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-brown);
    border-bottom: 1px solid var(--c-line);
    transition: color var(--ease), border-color var(--ease);
}

@media (hover: hover) {
    .quick__fav:hover { color: var(--c-red); }
    .quick__more:hover { color: var(--c-orange); border-color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   28. Р”РћР‘РђР’РљР Рљ Р—РђРљРђР—РЈ Р’ РљРћР Р—РРќР•
   ---------------------------------------------------------------------- */
.cross {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--c-card);
}

.cross__title {
    margin-bottom: .875rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-gray-text);
}

.cross__list { display: grid; gap: .75rem; }

.cross__item {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
}

.cross__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    padding: .25rem;
    background: var(--c-card);
}

.cross__img { display: block; max-width: 100%; max-height: 100%; }

.cross__name {
    display: block;
    font-family: var(--font-text);
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1.125rem;
    color: var(--c-brown);
}

.cross__price {
    display: block;
    margin-top: .1875rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.cross__add {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    color: var(--c-brown);
    border: 1px solid var(--c-line);
    transition: color var(--ease), border-color var(--ease), background-color var(--ease);
}

@media (hover: hover) {
    .cross__name:hover { color: var(--c-orange); }
    .cross__add:hover { color: var(--c-white); background: var(--c-orange); border-color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   29. РќР•Р”РђР’РќРћ РџР РћРЎРњРћРўР Р•РќРќР«Р•
   ---------------------------------------------------------------------- */
/* РєРѕРјРїР°РєС‚РЅР°СЏ РїРѕР»РѕСЃР°: Р±Р»РѕРє РІСЃРїРѕРјРѕРіР°С‚РµР»СЊРЅС‹Р№ Рё РЅРµ РґРѕР»Р¶РµРЅ СЃРїРѕСЂРёС‚СЊ СЃ РєР°С‚Р°Р»РѕРіРѕРј */
.recent {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.25rem;
}

.recent__card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.recent__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: .875rem;
    background: var(--c-card);
    overflow: hidden;
}

.recent__img {
    display: block;
    max-width: 82%;
    height: auto;
    transition: transform var(--ease);
}

.recent__name {
    display: block;
    margin-top: .75rem;
    font-family: var(--font-text);
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.125rem;
    color: var(--c-brown);
}

/* auto СЃРІРµСЂС…Сѓ РІС‹СЂР°РІРЅРёРІР°РµС‚ С†РµРЅС‹ РїРѕ РЅРёР¶РЅРµР№ РєСЂРѕРјРєРµ, РґР°Р¶Рµ РєРѕРіРґР° РЅР°Р·РІР°РЅРёСЏ
   Р·Р°РЅРёРјР°СЋС‚ СЂР°Р·РЅРѕРµ С‡РёСЃР»Рѕ СЃС‚СЂРѕРє */
.recent__price {
    display: block;
    margin-top: auto;
    padding-top: .25rem;
    font-family: var(--font-head);
    font-size: 1rem;
}

@media (hover: hover) {
    .recent__card:hover .recent__img { transform: scale(1.05); }
    .recent__card:hover .recent__name { color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   30. Р§РђРЎРўР«Р• Р’РћРџР РћРЎР«
   ---------------------------------------------------------------------- */
.faq {
    max-width: 51.875rem;
    margin: 0 auto;
    border-top: 1px solid var(--c-line);
}

.faq__item { border-bottom: 1px solid var(--c-line); }

.faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.375rem 0;
    list-style: none;
    cursor: pointer;
    font-family: var(--font-head);
    font-size: 1.125rem;
    line-height: 1.5rem;
    color: var(--c-brown);
    transition: color var(--ease);
}

.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }

.faq__chevron {
    flex: 0 0 auto;
    color: var(--c-gray-text);
    transition: transform var(--ease), color var(--ease);
}

.faq__item[open] > .faq__q { color: var(--c-orange); }
.faq__item[open] .faq__chevron { transform: rotate(180deg); color: var(--c-orange); }

.faq__a { overflow: hidden; }

.faq__a p {
    max-width: 46rem;
    padding-bottom: 1.5rem;
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

@media (hover: hover) {
    .faq__q:hover { color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   31. РњРћР‘РР›Р¬РќРђРЇ РџРђРќР•Р›Р¬ Р”Р•Р™РЎРўР’РР™
   ---------------------------------------------------------------------- */
.tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    display: none;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255, 255, 255, .88);
    backdrop-filter: saturate(180%) blur(1.25rem);
    -webkit-backdrop-filter: saturate(180%) blur(1.25rem);
    border-top: 1px solid var(--c-line);
    transition: transform var(--ease);
}

/* РїР°РЅРµР»СЊ РЅРµ РґРѕР»Р¶РЅР° РѕСЃС‚Р°РІР°С‚СЊСЃСЏ РЅР°Рґ РѕС‚РєСЂС‹С‚РѕР№ РєРѕСЂР·РёРЅРѕР№ РёР»Рё РјРµРЅСЋ */
.body.is-locked .tabbar { transform: translateY(100%); }

.tabbar__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .1875rem;
    padding: .5rem .25rem .5625rem;
    color: var(--c-brown);
    transition: color var(--ease);
}

.tabbar__icon {
    position: relative;
    display: block;
    line-height: 0;
}

.tabbar__label {
    font-family: var(--font-head);
    font-size: .625rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tabbar__count {
    position: absolute;
    top: -.375rem;
    right: -.5rem;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 .25rem;
    font-family: var(--font-text);
    font-size: .6875rem;
    line-height: 1.125rem;
    text-align: center;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 1rem;
}

.tabbar__item.is-active,
.tabbar__item:active { color: var(--c-orange); }

/* =========================================================================
   РђР”РђРџРўРР’
   ========================================================================= */

/* ----- <= 1550px: РґРѕРЅРѕСЂСЃРєР°СЏ РІС‹СЃРѕС‚Р° hero ----- */
@media screen and (max-width: 1550px) {
    .hero { height: 60.75rem; }   /* 972px */
    .stats { height: 71.625rem; } /* 1146px */
}

/* ----- 1200..1300: РґРѕРЅРѕСЂ СѓРјРµРЅСЊС€Р°РµС‚ Р±Р°Р·РѕРІС‹Р№ РєРµРіР»СЊ ----- */
@media screen and (min-width: 1200px) and (max-width: 1300px) {
    .body { font-size: 1.125rem; }
}

/* ----- <= 1199px ----- */
@media screen and (max-width: 1199px) {
    .nav__item { margin-right: 1.5rem; }
    .header { padding: .625rem 1.25rem; }
    .topbar { padding-right: 1.25rem; }
    .topbar__home { padding: 0 1.25rem; }
    .topbar__brand { margin: 0 1.125rem; }
    .topbar__aside { gap: 1.25rem; }
    .why__block { padding-right: 2rem; }
}

/* ----- <= 991px: РїР»Р°РЅС€РµС‚, РґРѕРЅРѕСЂ СЃР±СЂР°СЃС‹РІР°РµС‚ root РЅР° 16px ----- */
@media screen and (max-width: 991px) {
    .container { max-width: none; padding: 0 1.25rem; }

    .topbar { padding-right: 1.25rem; }
    .topbar__aside { gap: 1rem; font-size: .8125rem; }
    .topbar__nav { display: none; }

    .header { top: var(--header-top); }
    .nav { display: none; }
    .burger {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        color: var(--c-brown);
    }
    .mega { display: none !important; }

    .hero { height: 68.75rem; padding-top: 8rem; }   /* 1100px */
    .hero__content { max-width: 100%; }
    .hero__title { font-size: 1.9375rem; line-height: 2.5rem; }
    .hero__title-sub { font-size: 1.125rem; line-height: 1.875rem; margin-bottom: 1.375rem; }
    .hero__desc { max-width: 17.9375rem; font-size: .9375rem; line-height: 1.125rem; margin-top: 1.25rem; }
    /* 768вЂ“991: С†РµРЅС‚СЂ Р±Р°РЅРЅРµСЂР° РѕР±СЂРµР·Р°РµС‚СЃСЏ С‚Р°Рє, С‡С‚Рѕ СѓРїР°РєРѕРІРєРё Р·Р°С…РѕРґСЏС‚ РїРѕРґ С‚РµРєСЃС‚.
       РџРѕРґРїРёСЃРё СѓРІРѕРґРёРј РІ РѕРґРёРЅ СЃС‚РѕР»Р±РµС†, С‡С‚РѕР±С‹ РѕСЃС‚Р°С‚СЊСЃСЏ РІ СЃРІРµС‚Р»РѕР№ Р·РѕРЅРµ СЃР»РµРІР°. */
    .trust {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
        max-width: 17.9375rem;
        margin-top: 1.5rem;
    }
    .trust__item {
        flex-direction: row;
        align-items: center;
        gap: .625rem;
        width: auto;
        margin-right: 0;
        text-align: left;
    }
    .trust__flag,
    .trust__icon { flex: 0 0 auto; margin-bottom: 0; }
    .trust__text { font-size: .8125rem; line-height: 1.15rem; }

    .button {
        min-height: 2.25rem;
        padding: .4375rem 1.125rem;
        font-size: .75rem;
        letter-spacing: .08em;
    }
    .hero__buttons { gap: .8125rem; }
    .hero__button { min-width: 8rem; }

    .badges { margin-top: -6.25rem; }
    .badges__img { width: 5.625rem; height: 5.625rem; }

    .h2 { font-size: 1.9375rem; line-height: 2.375rem; }
    .section__title { margin-bottom: 2.5rem; }
    .section { padding: 3.75rem 0; }
    .section-products { padding: 3.75rem 0; }
    .section-why { padding: 3.75rem 0; }

    .cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reviews { grid-template-columns: minmax(0, 1fr); }
    .posts { grid-template-columns: minmax(0, 1fr); }

    .why { grid-template-columns: minmax(0, 1fr); }
    .why__block { padding-right: 0; }
    .why__list { margin-top: 2.5rem; margin-left: 0; }
    .why__media { display: none; }
    .why__img--mobile {
        display: block;
        width: 32rem;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        object-fit: contain;
    }

    .calc { grid-template-columns: minmax(0, 1fr); }
    .calc__controls, .calc__result { padding: 1.875rem; }
    .calc__result-main { font-size: 2.75rem; }

    .ingredients { height: 67.25rem; }
    .ingredients__content { padding-top: 21.3125rem; max-width: 100%; }
    .ingredients__text { padding: 0 1.25rem; }

    /* РґРѕРЅРѕСЂ РЅР° РїР»Р°РЅС€РµС‚Рµ РґРµСЂР¶РёС‚ Р»РѕРіРѕС‚РёРїС‹ РѕРґРЅРѕР№ СЃС‚СЂРѕРєРѕР№ Рё СЂР°Р·РіРѕРЅСЏРµС‚ РёС…
       РїРѕ С€РёСЂРёРЅРµ, Р° РЅРµ РїРµСЂРµРЅРѕСЃРёС‚ вЂ” РјРµР¶РєРѕР»РѕРЅРѕС‡РЅС‹Р№ gap Р·Р°РјРµРЅСЏРµС‚ space-between */
    .certs__list {
        align-self: stretch;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0;
    }
    .certs__item { flex: 0 1 auto; }

    .recent { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .region__cities { columns: 3 10rem; }

    .stats { height: 73.625rem; }
    .stats__title { font-size: 1.9375rem; line-height: 2.375rem; }
    .stats__list { flex-wrap: wrap; justify-content: center; gap: 1.5rem 2.5rem; max-width: 100%; }

    .subscribe { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }

    .footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
    .footer__copy { margin-left: 0; width: 100%; }
}

/* ----- <= 767px: РјРѕР±РёР»СЊРЅС‹Рµ ----- */
@media screen and (max-width: 767px) {
    /* СЃРЅРёР·Сѓ РјРµСЃС‚Рѕ РїРѕРґ РїР°РЅРµР»СЊ РґРµР№СЃС‚РІРёР№, РёРЅР°С‡Рµ РѕРЅР° РїРµСЂРµРєСЂС‹РІР°РµС‚ РїРѕРґРІР°Р» */
    .body {
        padding-top: var(--header-h);
        padding-bottom: calc(4.25rem + env(safe-area-inset-bottom));
    }

    .tabbar { display: grid; }

    .topbar { display: none; }
    .header { top: 0; padding: .625rem .9375rem; gap: .625rem; }
    .menu-mob { top: var(--header-h); }

    /* РїРѕРёСЃРє РїРµСЂРµРµР·Р¶Р°РµС‚ РІ РјРѕР±РёР»СЊРЅРѕРµ РјРµРЅСЋ вЂ” РёРЅР°С‡Рµ РёРєРѕРЅРєРё РЅРµ РІР»РµР·Р°СЋС‚ РІ 320вЂ“375px */
    .action--search { display: none; }
    .header__logo-img { width: 9.375rem; }
    .header__actions { gap: .625rem; margin-left: .625rem; }
    .action { width: 2rem; height: 2rem; }
    .burger { width: 2rem; height: 2rem; }

    .button {
        min-height: 3.125rem;
        padding: .625rem 1.25rem;
        font-size: .875rem;
    }

    /* Р”РѕРЅРѕСЂСЃРєР°СЏ РїРѕРґР°С‡Р°: РїРѕСЂС‚СЂРµС‚РЅС‹Р№ Р±Р°РЅРЅРµСЂ 410x681 РёРґС‘С‚ РѕС‚РґРµР»СЊРЅРѕР№ РїРѕР»РѕСЃРѕР№,
       Р° Р·Р°РіРѕР»РѕРІРѕРє Р·Р°С…РѕРґРёС‚ РЅР° РµРіРѕ РЅРёР¶РЅСЋСЋ С‡РµС‚РІРµСЂС‚СЊ вЂ” С‚Р°Рј Сѓ РєР°СЂС‚РёРЅРєРё РїСѓСЃС‚РѕР№
       СЃРІРµС‚Р»С‹Р№ СЃС‚РѕР». Р”РѕРЅРѕСЂ РґРѕР±РёРІР°РµС‚СЃСЏ СЌС‚РѕРіРѕ РґСѓР±Р»РµРј Р±Р»РѕРєР° СЃ margin-top: -10.125rem;
       Р·РґРµСЃСЊ С…РІР°С‚Р°РµС‚ РІС‹РІРµСЃС‚Рё РєР°СЂС‚РёРЅРєСѓ РІ РїРѕС‚РѕРє Рё РїРѕРґРЅСЏС‚СЊ РєРѕРЅС‚РµР№РЅРµСЂ. */
    .hero {
        height: auto;
        padding-top: 0;
        text-align: center;
    }
    .hero .picture {
        position: relative;
        inset: auto;
        height: auto;
    }
    .hero .picture__img {
        height: auto;
        /* РЅР° РєСЂСѓРїРЅС‹С… С‚РµР»РµС„РѕРЅР°С… РїРѕСЂС‚СЂРµС‚ РёРЅР°С‡Рµ СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РЅР° 1200px+:
           РїРѕРґСЂРµР·Р°РµРј СЃРІРµСЂС…Сѓ, С‡РёСЃС‚Р°СЏ РїРѕР»РѕСЃР° РїРѕРґ Р·Р°РіРѕР»РѕРІРєРѕРј СЃРѕС…СЂР°РЅСЏРµС‚СЃСЏ */
        max-height: 46.875rem;
        object-position: 50% 100%;
    }
    .hero .container { margin-top: -10.125rem; }

    .hero__title { font-size: 1.9375rem; line-height: 2.5rem; }
    .hero__title-sub { font-size: 1.25rem; line-height: 1.5rem; }
    .hero__buttons { justify-content: center; }
    .hero__desc { max-width: 100%; margin-top: 2.5rem; font-size: 1.25rem; line-height: 1.5rem; }

    /* РІРѕР·РІСЂР°С‰Р°РµРј РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅС‹Р№ СЂСЏРґ РїРѕСЃР»Рµ РїР»Р°РЅС€РµС‚РЅРѕРіРѕ СЃС‚РѕР»Р±С†Р° */
    .trust {
        flex-direction: row;
        justify-content: center;
        gap: 0;
        max-width: 100%;
        margin-top: 2rem;
    }
    .trust__item {
        flex-direction: column;
        align-items: center;
        gap: 0;
        /* С€РёСЂРёРЅСѓ Р·Р°РґР°С‘С‚ РїРѕРґРїРёСЃСЊ: nowrap-С‚РµРєСЃС‚ РІС‹Р»РµР·Р°Р» РёР· С„РёРєСЃРёСЂРѕРІР°РЅРЅРѕР№ РєРѕР»РѕРЅРєРё */
        width: auto;
        margin-right: .9375rem;
        text-align: center;
    }
    .trust__flag,
    .trust__icon { margin-bottom: .625rem; }
    .trust__text { font-size: .8125rem; line-height: normal; }

    .badges {
        flex-wrap: wrap;
        justify-content: center;
        gap: .0625rem;
        margin-top: 2.0625rem;
    }

    .section { padding: 2.5rem 0; }
    .section-products { padding: 2.5rem 0; }
    .section-why { padding: 2.5rem 0; }
    .section__title { margin-bottom: 1.875rem; }
    .section__lead { margin: -1rem auto 1.875rem; }

    .cats { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .products { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .product__media { max-width: 21.5rem; margin: 0 auto; }
    .product__body { text-align: left; }

    .why__item { margin-bottom: 1.25rem; }
    .why__link { text-align: left; }

    .calc__facts { grid-template-columns: minmax(0, 1fr); }
    .calc__result-main { font-size: 2.5rem; }

    .ingredients { height: 92.75rem; }
    .ingredients__content { padding-top: 31.5625rem; }
    .ingredients__text { padding: 0; margin-bottom: 2.5rem; }

    .certs { padding: 0 .625rem; }
    .certs__list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.25rem .75rem;
    }

    .reviews__summary { margin: -1rem 0 1.875rem; }

    .stats { height: 73.75rem; }
    .stats__head { padding-top: 3.125rem; }
    .stats__title { font-size: 2.75rem; line-height: 3.6875rem; }
    .stats__list { margin-bottom: 2rem; }

    .subscribe__row { flex-direction: column; }
    .subscribe__submit { width: 100%; }

    .footer { padding: 2.5rem 0; }
    .footer__top { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
    .footer__bottom { gap: 1rem; }
    .footer__legal { gap: 1rem; }

    .drawer { --drawer-w: 100%; }
    .drawer__head, .drawer__foot { padding: 1.25rem; }
    .drawer__body { padding: 1rem 1.25rem; }
    .drawer__progress { padding: .75rem 1.25rem; }

    /* РјРѕРґР°Р»РєРё РЅР° С‚РµР»РµС„РѕРЅРµ Р·Р°РЅРёРјР°СЋС‚ РІРµСЃСЊ СЌРєСЂР°РЅ вЂ” С‚Р°Рє РёС… СѓРґРѕР±РЅРµРµ СЃРєСЂРѕР»Р»РёС‚СЊ */
    .modal { padding: 0; }
    .modal__dialog {
        max-width: none;
        height: 100%;
        max-height: none;
    }
    .modal--region .modal__dialog,
    .modal--quick .modal__dialog { max-width: none; }

    .modal__head { padding: 1.25rem 1.25rem 1rem; }
    .modal__title { font-size: 1.25rem; }

    .region__search { margin: 0 1.25rem; }
    .region__popular { padding: 1rem 1.25rem 0; }
    .region__rail { padding: 1rem 1.25rem .75rem; }
    .region__body { padding: .25rem 1.25rem 1.5rem; }
    .region__cities { columns: 2 8rem; }

    .quick { grid-template-columns: minmax(0, 1fr); }
    .quick__media { padding: 2rem 1.5rem; }
    .quick__body { padding: 1.5rem 1.25rem 2rem; }
    .quick__title { font-size: 1.5rem; }
    .quick__price .price__now { font-size: 1.75rem; }

    /* РєР°СЂСѓСЃРµР»СЊ РІРјРµСЃС‚Рѕ СЃРµС‚РєРё: РЅР° СѓР·РєРѕРј СЌРєСЂР°РЅРµ РєРѕР»РѕРЅРєРё РЅРµС‡РёС‚Р°РµРјС‹ */
    .recent {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 9.5rem;
        gap: .875rem;
        padding-bottom: .5rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
    }
    .recent__item { scroll-snap-align: start; }

    /* 15 С‡РёРїСЃРѕРІ РІ 5 СЃС‚СЂРѕРє СѓРІРѕРґРёР»Рё СЃРїРёСЃРѕРє РіРѕСЂРѕРґРѕРІ Р·Р° РїСЂРµРґРµР»С‹ СЌРєСЂР°РЅР° */
    .region__chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding-bottom: .25rem;
    }
    .region__chip { flex: 0 0 auto; }

    .faq__q { font-size: 1rem; padding: 1.125rem 0; }

    /* РЅР°РІРµРґРµРЅРёСЏ РЅР° С‚РµР»РµС„РѕРЅРµ РЅРµС‚, Р° С‡Р°СЃС‚СЊ СѓСЃС‚СЂРѕР№СЃС‚РІ РІСЃС‘ СЂР°РІРЅРѕ СЃРѕРѕР±С‰Р°РµС‚
       hover: hover вЂ” РїРѕСЌС‚РѕРјСѓ РєРЅРѕРїРєСѓ РѕС‚РєСЂС‹РІР°РµРј Рё РїРѕ С€РёСЂРёРЅРµ СЌРєСЂР°РЅР° */
    .product__quick { opacity: 1; transform: translate(-50%, 0); }
}

/* ----- <= 575px ----- */
@media screen and (max-width: 575px) {
    .stats__list { gap: 1.25rem 2rem; }
}

/* ----- <= 409px ----- */
@media screen and (max-width: 409px) {
    .badges__img { width: 5.625rem; height: 5.625rem; }
    .trust__item { margin-right: .625rem; }
    .stats { height: 78.625rem; }
    .ingredients { height: 92.75rem; }
}

/* -------------------------------------------------------------------------
   32. РљРђРўРђР›РћР“: РљР РћРЁРљР, Р—РђР“РћР›РћР’РћРљ, Р‘Р«РЎРўР Р«Р™ РџРћР”Р‘РћР 

   Р‘Р»РѕРєРё РєР°С‚Р°Р»РѕРіР° РѕРїРёСЃР°РЅС‹ РїРѕСЃР»Рµ Р°РґР°РїС‚РёРІРЅС‹С… СЃРµРєС†РёР№ СЃРїРµС†РёР°Р»СЊРЅРѕ: РїСЂР°РІРёР»Р°
   .products.catalog__list РґРѕР»Р¶РЅС‹ РїРµСЂРµРєСЂС‹РІР°С‚СЊ РѕР±С‰РёРµ .products РёР· РјРµРґРёР°Р·Р°РїСЂРѕСЃРѕРІ.
   ---------------------------------------------------------------------- */
.container--wide { max-width: 82.5rem; }   /* 1320px */

/* РІРµСЂС…РЅРёР№ РѕС‚СЃС‚СѓРї СЂР°СЃСЃС‡РёС‚Р°РЅ РЅР° С„РёРєСЃРёСЂРѕРІР°РЅРЅСѓСЋ С€Р°РїРєСѓ: С‚РµР»Рѕ СЃРґРІРёРЅСѓС‚Рѕ РЅР° 52px,
   С€Р°РїРєР° Р·Р°РЅРёРјР°РµС‚ РїРѕР»РѕСЃСѓ 47..101px вЂ” Р·Р°РіРѕР»РѕРІРѕРє РЅРµ РґРѕР»Р¶РµРЅ СѓС…РѕРґРёС‚СЊ РїРѕРґ РЅРµС‘ */
.section-catalog { padding: 4.5rem 0 4.375rem; }

.crumbs { margin-bottom: 1.5rem; }

.crumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem;
    font-size: .8125rem;
}

.crumbs__item {
    display: flex;
    align-items: center;
    gap: .375rem;
}

.crumbs__link { color: var(--c-gray-text); }
.crumbs__sep { color: var(--c-gray); transform: rotate(-90deg); }
.crumbs__current { color: var(--c-brown); }

@media (hover: hover) {
    .crumbs__link:hover { color: var(--c-orange); }
}

.catalog__intro {
    max-width: 47.5rem;
    margin-bottom: 2rem;
}

.catalog__title { margin-bottom: .875rem; }

.catalog__lead {
    font-size: 1rem;
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

.presets {
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    margin-bottom: 2rem;
}

.presets__btn {
    display: inline-flex;
    align-items: center;
    gap: .4375rem;
    padding: .625rem 1rem;
    font-size: .875rem;
    line-height: 1;
    text-decoration: none;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    cursor: pointer;
    transition: color var(--ease), background var(--ease), border-color var(--ease);
}

.presets__btn .icon { width: 1.125rem; height: 1.125rem; }

.presets__btn.is-active {
    color: var(--c-white);
    background: var(--c-brown);
    border-color: var(--c-brown);
}

.presets__btn--sale { color: var(--c-red); border-color: rgba(228, 52, 43, .35); }

.presets__btn--sale.is-active {
    color: var(--c-white);
    background: var(--c-red);
    border-color: var(--c-red);
}

@media (hover: hover) {
    .presets__btn:hover { color: var(--c-orange); border-color: var(--c-orange); }
    .presets__btn.is-active:hover { color: var(--c-white); background: var(--c-orange); border-color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   33. РљРђРўРђР›РћР“: РЎР•РўРљРђ Р РџРђРќР•Р›Р¬ Р¤РР›Р¬РўР РћР’
   ---------------------------------------------------------------------- */
.catalog {
    --filters-w: 18.75rem;
    display: grid;
    grid-template-columns: var(--filters-w) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
}

.catalog__main { min-width: 0; }

/* РєРѕР»РѕРЅРѕРє СЃС‚РѕР»СЊРєРѕ, СЃРєРѕР»СЊРєРѕ РІР»РµР·Р°РµС‚ РєР°СЂС‚РѕС‡РµРє РїРѕ 230px: РѕРґРЅР° С„РѕСЂРјСѓР»Р° РІРјРµСЃС‚Рѕ
   Р»РµСЃС‚РЅРёС†С‹ РјРµРґРёР°Р·Р°РїСЂРѕСЃРѕРІ, РїРѕСЌС‚РѕРјСѓ СЂР°Р·РјРµСЂ С€Р°РіР° Р·Р°РґР°РЅ РІ РїРёРєСЃРµР»СЏС…, РЅРµ РІ rem */
.products.catalog__list {
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1.875rem;
}

.filters {
    position: sticky;
    top: calc(var(--header-top) + var(--header-h) + 1.25rem);
    z-index: 40;
}

.filters__inner {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - var(--header-top) - var(--header-h) - 2.5rem);
    background: var(--c-white);
    border: 1px solid var(--c-line);
}

.filters__head {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex: 0 0 auto;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid var(--c-line);
}

.filters__title {
    flex: 1 1 auto;
    font-family: var(--font-head);
    font-size: 1.0625rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.filters__reset {
    font-size: .8125rem;
    color: var(--c-gray-text);
    border-bottom: 1px dashed currentColor;
    cursor: pointer;
}

.filters__close { display: none; }

.filters__body {
    flex: 1 1 auto;
    padding: 0 1.25rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--c-line) transparent;
}

.filters__body::-webkit-scrollbar { width: .375rem; }
.filters__body::-webkit-scrollbar-track { background: transparent; }
.filters__body::-webkit-scrollbar-thumb { background: var(--c-line); }

.filters__note {
    padding: 1rem 0 1.25rem;
    font-size: .8125rem;
    line-height: 1.25rem;
    color: var(--c-gray-text);
    border-top: 1px solid var(--c-card);
}

.filters__note a { color: var(--c-brown); white-space: nowrap; }

.filters__foot {
    display: none;
    flex: 0 0 auto;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--c-line);
}

@media (hover: hover) {
    .filters__reset:hover { color: var(--c-orange); }
    .filters__close:hover { color: var(--c-orange); }
    .filters__note a:hover { color: var(--c-orange); }
}

/* -------------------------------------------------------------------------
   34. Р¤РђРЎР•РўР«, Р§Р•РљР‘РћРљРЎР«, Р¦Р•РќРћР’РћР™ Р”РРђРџРђР—РћРќ
   ---------------------------------------------------------------------- */
.facet { border-bottom: 1px solid var(--c-card); }

.facet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1rem 0;
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1.25rem;
    list-style: none;
    cursor: pointer;
}

.facet__head::-webkit-details-marker { display: none; }
.facet__head::marker { content: ""; }

.facet__marks {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex: 0 0 auto;
}

.facet__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 .3125rem;
    font-weight: 400;
    font-size: .75rem;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 1rem;
}

.facet__chevron {
    color: var(--c-gray);
    transition: transform var(--ease), color var(--ease);
}

.facet[open] > .facet__head .facet__chevron { transform: rotate(180deg); }

.facet__list { padding: 0 0 .625rem; }

.facet__count {
    margin-left: auto;
    flex: 0 0 auto;
    font-size: .8125rem;
    color: var(--c-gray);
    font-variant-numeric: tabular-nums;
}

@media (hover: hover) {
    .facet__head:hover { color: var(--c-orange); }
    .facet__head:hover .facet__chevron { color: var(--c-orange); }
}

.check {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: .4375rem 0;
    font-size: .9375rem;
    line-height: 1.25rem;
    cursor: pointer;
    transition: color var(--ease);
}

.check__input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.check__box {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    color: transparent;
    background: var(--c-white);
    border: 1px solid var(--c-gray);
    transition: color var(--ease), background var(--ease), border-color var(--ease);
}

.check__box .icon { stroke-width: 2.8; }

.check__input:checked + .check__box {
    color: var(--c-white);
    background: var(--c-orange);
    border-color: var(--c-orange);
}

.check__input:focus-visible + .check__box {
    outline: 2px solid var(--c-orange);
    outline-offset: 2px;
}

@media (hover: hover) {
    .check:hover { color: var(--c-orange); }
    .check:hover .check__box { border-color: var(--c-orange); }
}

/* РІР°СЂРёР°РЅС‚, РїРѕРґ РєРѕС‚РѕСЂС‹Р№ РІ С‚РµРєСѓС‰РµР№ РІС‹Р±РѕСЂРєРµ РЅРµС‚ РЅРё РѕРґРЅРѕРіРѕ С‚РѕРІР°СЂР° */
.facet__row.is-off .check { cursor: default; color: var(--c-gray); }
.facet__row.is-off .check__box { background: var(--c-light); border-color: var(--c-line); }
.facet__row.is-off .facet__count { color: var(--c-line); }

@media (hover: hover) {
    .facet__row.is-off .check:hover { color: var(--c-gray); }
    .facet__row.is-off .check:hover .check__box { border-color: var(--c-line); }
}

.facet--flags .facet__list { padding: 1rem 0; }

.range { padding-bottom: 1.375rem; }

.range__fields {
    display: flex;
    align-items: center;
    gap: .625rem;
    margin-bottom: 1.125rem;
}

.range__field {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .375rem;
    padding: .5rem .625rem;
    background: var(--c-white);
    border: 1px solid var(--c-line);
    transition: border-color var(--ease);
}

.range__field:focus-within { border-color: var(--c-orange); }

.range__cap {
    flex: 0 0 auto;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.range__num {
    width: 100%;
    min-width: 0;
    font: inherit;
    font-size: .9375rem;
    color: var(--c-brown);
    background: transparent;
    border: 0;
    outline: none;
    font-variant-numeric: tabular-nums;
}

.range__slider {
    position: relative;
    height: 1.5rem;
}

.range__track {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: .25rem;
    margin-top: -.125rem;
    background: var(--c-line);
}

.range__fill {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--from, 0%);
    width: calc(var(--to, 100%) - var(--from, 0%));
    background: var(--c-orange);
}

/* РґРІР° РїРѕР»Р·СѓРЅРєР° Р»РµР¶Р°С‚ РґСЂСѓРі РЅР° РґСЂСѓРіРµ: СЃРѕР±С‹С‚РёСЏРјРё СѓРїСЂР°РІР»СЏСЋС‚ С‚РѕР»СЊРєРѕ Р±РµРіСѓРЅРєРё */
.range__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1.5rem;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
}

/* РєРѕРіРґР° Р±РµРіСѓРЅРєРё СЃС…РѕРґСЏС‚СЃСЏ Сѓ РїСЂР°РІРѕРіРѕ РєСЂР°СЏ, РЅРёР¶РЅРёР№ РЅР°РґРѕ РїРѕРґРЅСЏС‚СЊ РЅР°Рґ РІРµСЂС…РЅРёРј,
   РёРЅР°С‡Рµ РµРіРѕ РЅРµС‡РµРј СѓС…РІР°С‚РёС‚СЊ */
.range__input--min { z-index: 2; }
.range__input--max { z-index: 3; }
.range__input--min.is-top { z-index: 4; }

.range__input::-webkit-slider-runnable-track { height: 1.5rem; background: transparent; }
.range__input::-moz-range-track { height: 1.5rem; background: transparent; }

.range__input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    pointer-events: auto;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: .1875rem;
    background: var(--c-white);
    border: .1875rem solid var(--c-orange);
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(67, 46, 37, .25);
    cursor: pointer;
}

.range__input::-moz-range-thumb {
    pointer-events: auto;
    width: 1.125rem;
    height: 1.125rem;
    background: var(--c-white);
    border: .1875rem solid var(--c-orange);
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(67, 46, 37, .25);
    cursor: pointer;
}

.range__input:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--c-brown); outline-offset: 2px; }
.range__input:focus-visible::-moz-range-thumb { outline: 2px solid var(--c-brown); outline-offset: 2px; }

/* -------------------------------------------------------------------------
   35. РџРђРќР•Р›Р¬ Р Р•Р—РЈР›Р¬РўРђРўРћР’: РЎР§РЃРўР§РРљ, РЎРћР РўРР РћР’РљРђ, Р’РР”, Р§РРџР«
   ---------------------------------------------------------------------- */
.toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 1.125rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--c-line);
}

.toolbar__filters {
    display: none;
    align-items: center;
    gap: .5rem;
    padding: .625rem .875rem;
    font-size: .875rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-brown);
    cursor: pointer;
}

.toolbar__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 .3125rem;
    font-size: .75rem;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 1rem;
}

.toolbar__found {
    display: flex;
    align-items: baseline;
    gap: .375rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.toolbar__found-num {
    font-family: var(--font-head);
    font-size: 1.375rem;
    color: var(--c-brown);
    font-variant-numeric: tabular-nums;
}

.toolbar__aside {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
}

.sorter {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.sorter__wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.sorter__select {
    -webkit-appearance: none;
    appearance: none;
    padding: .5625rem 2.125rem .5625rem .75rem;
    font: inherit;
    font-size: .875rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    cursor: pointer;
    transition: border-color var(--ease);
}

.sorter__select:focus { border-color: var(--c-orange); outline: none; }

.sorter__chevron {
    position: absolute;
    right: .6875rem;
    color: var(--c-gray);
    pointer-events: none;
}

.viewer {
    display: flex;
    flex: 0 0 auto;
    border: 1px solid var(--c-line);
}

.viewer__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.375rem;
    height: 2.375rem;
    color: var(--c-gray);
    cursor: pointer;
    transition: color var(--ease), background var(--ease);
}

.viewer__btn + .viewer__btn { border-left: 1px solid var(--c-line); }
.viewer__btn.is-active { color: var(--c-white); background: var(--c-brown); }

@media (hover: hover) {
    .toolbar__filters:hover { color: var(--c-orange); border-color: var(--c-orange); }
    .sorter__select:hover { border-color: var(--c-orange); }
    .viewer__btn:hover { color: var(--c-orange); }
    .viewer__btn.is-active:hover { color: var(--c-white); background: var(--c-orange); }
}

.applied {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    margin-bottom: 1.5rem;
}

.applied__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.applied__chip {
    display: inline-flex;
    align-items: center;
    gap: .4375rem;
    padding: .375rem .5rem .375rem .75rem;
    font-size: .8125rem;
    line-height: 1.125rem;
    color: var(--c-brown);
    background: var(--c-light);
    border: 1px solid var(--c-line);
}

.applied__x {
    display: flex;
    flex: 0 0 auto;
    color: var(--c-gray-text);
    cursor: pointer;
}

.applied__clear {
    font-size: .8125rem;
    color: var(--c-gray-text);
    border-bottom: 1px dashed currentColor;
    cursor: pointer;
}

@media (hover: hover) {
    .applied__x:hover { color: var(--c-red); }
    .applied__clear:hover { color: var(--c-orange); }
}

.empty {
    padding: 3.75rem 1.25rem;
    text-align: center;
    background: var(--c-card);
}

.empty__icon {
    display: block;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 auto 1.25rem;
    color: var(--c-gray);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
}

.empty__title {
    margin-bottom: .5rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.empty__text {
    margin-bottom: 1.5rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .875rem;
    margin-top: 3.125rem;
}

.more__stat {
    font-size: .875rem;
    color: var(--c-gray-text);
}

.more__track {
    display: block;
    width: 11.25rem;
    height: .1875rem;
    background: var(--c-line);
}

.more__fill {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--c-orange);
    transition: width var(--ease);
}

.more__btn { min-width: 15rem; }

/* -------------------------------------------------------------------------
   36. РљРђРўРђР›РћР“ РЎРџРРЎРљРћРњ
   ---------------------------------------------------------------------- */
.products.catalog__list.is-rows {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

.catalog__list.is-rows .product {
    flex-direction: row;
    align-items: stretch;
    gap: 1.5rem;
    padding: 1rem;
    border: 1px solid var(--c-line);
}

.catalog__list.is-rows .product__media {
    flex: 0 0 11.875rem;
    width: 11.875rem;
    aspect-ratio: auto;
    padding: .75rem;
}

.catalog__list.is-rows .product__img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 8.125rem;
}

.catalog__list.is-rows .product__body { padding: .25rem 0; }
.catalog__list.is-rows .product__meta { min-height: 0; }

/* РІ СЃС‚СЂРѕРєРµ РІС‹СЃРѕС‚Сѓ Р·Р°РґР°С‘С‚ СЃРѕРґРµСЂР¶РёРјРѕРµ, РїРѕСЌС‚РѕРјСѓ С†РµРЅСѓ РЅРµ РїСЂРёР¶РёРјР°РµРј Рє РЅРёР·Сѓ */
.catalog__list.is-rows .product__buy { margin-top: 1.125rem; }

/* РІ РѕР±С‰РµРј СЃРїРёСЃРєРµ СЂСЏРґРѕРј СЃС‚РѕСЏС‚ РѕРґРЅРѕРёРјС‘РЅРЅС‹Рµ СЂР°С†РёРѕРЅС‹ РґР»СЏ СЃРѕР±Р°Рє Рё РґР»СЏ РєРѕС€РµРє вЂ”
   РЅР°РґСЃС‚СЂРѕС‡РЅР°СЏ РїРѕРґРїРёСЃСЊ СЂР°Р·РІРѕРґРёС‚ РёС… Р±РµР· СѓРґР»РёРЅРµРЅРёСЏ Р·Р°РіРѕР»РѕРІРєР° */
.product__for {
    margin-bottom: .3125rem;
    font-size: .6875rem;
    line-height: 1rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-gray);
}

/* -------------------------------------------------------------------------
   37. РљРђРўРђР›РћР“: РђР”РђРџРўРР’
   ---------------------------------------------------------------------- */
@media screen and (max-width: 991px) {
    .section-catalog { padding: 3.75rem 0 3.125rem; }

    .catalog {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .toolbar__filters { display: inline-flex; }

    /* РЅР° СѓР·РєРёС… СЌРєСЂР°РЅР°С… РїР°РЅРµР»СЊ РІС‹РµР·Р¶Р°РµС‚ СЃР»РµРІР° вЂ” СЃ С‚РѕР№ СЃС‚РѕСЂРѕРЅС‹, РіРґРµ РѕРЅР° СЃС‚РѕРёС‚
       РЅР° С€РёСЂРѕРєРёС…; РѕС‚РєСЂС‹РІР°РµС‚ РµС‘ С‚Р° Р¶Рµ РјРµС…Р°РЅРёРєР°, С‡С‚Рѕ РєРѕСЂР·РёРЅСѓ (data-drawer) */
    .filters {
        position: fixed;
        top: 0;
        left: 0;
        right: auto;
        bottom: 0;
        z-index: 100;
        width: 22.5rem;
        max-width: 100%;
        transform: translateX(-100%);
        transition: transform var(--ease-slow);
    }

    .filters.is-open { transform: translateX(0); }

    .filters__inner {
        height: 100%;
        max-height: none;
        border: 0;
        box-shadow: var(--shadow-drawer-left);
    }

    .filters__close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        margin-right: -.625rem;
        color: var(--c-brown);
    }

    .filters__foot { display: block; }
}

@media screen and (max-width: 767px) {
    .catalog__intro { margin-bottom: 1.5rem; }

    .presets {
        gap: .5rem;
        margin: 0 -.9375rem 1.5rem;
        padding: 0 .9375rem .25rem;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .presets::-webkit-scrollbar { display: none; }
    .presets__btn { flex: 0 0 auto; white-space: nowrap; }

    .toolbar {
        gap: .75rem;
        padding-bottom: .875rem;
        margin-bottom: 1.25rem;
    }

    .toolbar__found { order: 3; width: 100%; }
    .toolbar__aside { gap: .625rem; }
    .sorter__label { display: none; }

    .catalog__list.is-rows .product { flex-direction: column; gap: 0; padding: 0; border: 0; }

    .catalog__list.is-rows .product__media {
        flex: 0 0 auto;
        width: 100%;
        aspect-ratio: 1 / 1;
        padding: 1.9375rem 1.125rem 1.25rem;
    }

    .catalog__list.is-rows .product__img { max-height: none; }
    .catalog__list.is-rows .product__body { padding: 1.25rem 0 0; }
}

@media screen and (max-width: 575px) {
    .viewer { display: none; }
    .more__btn { min-width: 100%; }
}

/* -------------------------------------------------------------------------
   38. РќР•Р”РћРЎРўРЈРџРќР«Р™ РўРћР’РђР  Р РўР•РљРЎРў Рћ Р›РРќР•Р™РљР•
   ---------------------------------------------------------------------- */
.button[disabled] {
    color: var(--c-gray);
    background: var(--c-light);
    border-color: var(--c-line);
    cursor: default;
    pointer-events: none;
}

.section-seotext { padding: 3.75rem 0 4.375rem; }

.seotext {
    max-width: 51.25rem;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.625rem;
    color: var(--c-gray-text);
}

.seotext__title {
    margin-bottom: 2rem;
    color: var(--c-brown);
    text-align: center;
}

.seotext__sub {
    margin: 2rem 0 .75rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: .03em;
    color: var(--c-brown);
    text-transform: uppercase;
}

.seotext p + p { margin-top: 1rem; }

.seotext a {
    color: var(--c-brown);
    border-bottom: 1px solid var(--c-line);
}

.seotext__foot {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--c-line);
}

@media (hover: hover) {
    .seotext a:hover { color: var(--c-orange); border-color: var(--c-orange); }
}

@media screen and (max-width: 767px) {
    .section-seotext { padding: 2.5rem 0 3.125rem; }
    .seotext { font-size: .9375rem; line-height: 1.5rem; }
    .seotext__sub { font-size: 1.125rem; line-height: 1.5rem; }
}

/* -------------------------------------------------------------------------
   39. РЎРўР РђРќРР¦Рђ РўРћР’РђР Рђ: Р РђРЎРљР›РђР”РљРђ Р Р“РђР›Р•Р Р•РЇ
   ---------------------------------------------------------------------- */
/* РІРµСЂС…РЅРёР№ РѕС‚СЃС‚СѓРї РєР°Рє Сѓ РєР°С‚Р°Р»РѕРіР°: С€Р°РїРєР° С„РёРєСЃРёСЂРѕРІР°РЅРЅР°СЏ, РєСЂРѕС€РєРё РЅРµ РґРѕР»Р¶РЅС‹
   СѓРµР·Р¶Р°С‚СЊ РїРѕРґ РЅРµС‘ */
.section-product { padding: 4.5rem 0 3.75rem; }

.card {
    display: grid;
    grid-template-columns: minmax(0, 45%) minmax(0, 1fr);
    gap: 3.75rem;
    align-items: start;
    margin-bottom: 4.375rem;
}

/* РіР°Р»РµСЂРµСЏ РѕСЃС‚Р°С‘С‚СЃСЏ РЅР° РјРµСЃС‚Рµ, РїРѕРєР° С‡РёС‚Р°СЋС‚ РїР°РЅРµР»СЊ РїРѕРєСѓРїРєРё */
.card__gallery {
    position: sticky;
    top: calc(var(--header-top) + var(--header-h) + 1.25rem);
}

.card__figure {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 25rem;
    padding: 2.5rem;
    background: var(--c-card);
}

.card__img {
    width: auto;
    max-width: 100%;
    height: auto;
    mix-blend-mode: multiply;
}

/* РіСЂР°РІСЋСЂС‹ СЂР°Р·РЅРѕРіРѕ С„РѕСЂРјР°С‚Р° РїСЂРёРІРѕРґРёРј Рє РѕРґРЅРѕРјСѓ РѕРїС‚РёС‡РµСЃРєРѕРјСѓ СЂР°Р·РјРµСЂСѓ */
.card__img--1 { max-height: 20rem; }
.card__img--2 { max-height: 20rem; }
.card__img--3 { max-height: 23rem; }
.card__img--4 { max-height: 22rem; }
.card__img--5 { max-height: 21rem; }
.card__img--6 { max-height: 22.5rem; }

.card__badge {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 2;
    padding: .4375rem .75rem .3125rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-brown);
}

.card__badge--new { background: var(--c-orange); }
.card__badge--sale { background: var(--c-red); }

.card__caption {
    margin-top: .75rem;
    font-size: .8125rem;
    line-height: 1.125rem;
    color: var(--c-gray);
    text-align: center;
}

/* РґРѕРїРѕР»РЅРёС‚РµР»СЊРЅС‹Рµ СЃРЅРёРјРєРё СѓРїР°РєРѕРІРєРё РїРѕРґ РѕСЃРЅРѕРІРЅРѕР№ С„РѕС‚РѕРіСЂР°С„РёРµР№ */
.thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    margin-top: .75rem;
}

.thumbs__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    padding: .375rem;
    background: var(--c-card);
    border: 1px solid transparent;
    cursor: pointer;
    transition: border-color .2s ease;
}

.thumbs__item:hover,
.thumbs__item:focus-visible {
    border-color: var(--c-braun);
}

.thumbs__item.is-active {
    border-color: var(--c-orange);
}

.thumbs__img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    mix-blend-mode: multiply;
}

.card__pills {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1.25rem;
}

.card__pill {
    padding: .375rem .6875rem .25rem;
    font-family: var(--font-head);
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--c-gray-text);
    border: 1px solid var(--c-line);
}

/* -------------------------------------------------------------------------
   40. РЎРўР РђРќРР¦Рђ РўРћР’РђР Рђ: РџРђРќР•Р›Р¬ РџРћРљРЈРџРљР
   ---------------------------------------------------------------------- */
.card__panel .product__for { margin-bottom: .625rem; }

.card__title { margin-bottom: .75rem; }

.card__lead {
    max-width: 32rem;
    margin-bottom: 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.625rem;
    color: var(--c-gray-text);
}

.card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--c-line);
}

.rating__link {
    font-size: .875rem;
    color: var(--c-gray-text);
    border-bottom: 1px dashed currentColor;
    cursor: pointer;
}

.card__sku {
    font-size: .875rem;
    color: var(--c-gray);
}

.card__stock {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 1.25rem 0 1.5rem;
    font-size: .9375rem;
}

.card__stock--in { color: var(--c-brown); }
.card__stock--in .icon { color: var(--c-orange); }
.card__stock--out { color: var(--c-gray-text); }
.card__stock--out .icon { color: var(--c-gray); }

.card__label {
    margin-bottom: .625rem;
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-gray);
}

.card__packs .chip { min-width: 4.5rem; }

.card__pricebox { margin: 1.75rem 0; }

.price--lg { flex-wrap: wrap; }
.price--lg .price__now { font-size: 2.25rem; letter-spacing: .01em; }
.price--lg .price__old { font-size: 1.0625rem; }

.price__save {
    padding: .3125rem .5625rem .1875rem;
    font-family: var(--font-head);
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-red);
}

.card__perkg {
    margin-top: .625rem;
    font-size: .875rem;
    color: var(--c-gray-text);
}

.card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}

.qty {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    height: 3.125rem;
    border: 1px solid var(--c-line);
}

.qty__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 100%;
    color: var(--c-brown);
    cursor: pointer;
    transition: color var(--ease);
}

.qty__btn:disabled { color: var(--c-gray); cursor: default; }

.qty__input {
    width: 2.75rem;
    height: 100%;
    font-family: var(--font-head);
    font-size: 1.0625rem;
    text-align: center;
    color: var(--c-brown);
    background: transparent;
    border: 0;
    border-left: 1px solid var(--c-line);
    border-right: 1px solid var(--c-line);
}

.card__add { flex: 1 1 11.25rem; }

.card__fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex: 0 0 auto;
    height: 3.125rem;
    padding: 0 1.125rem;
    font-size: .875rem;
    color: var(--c-brown);
    border: 1px solid var(--c-line);
    cursor: pointer;
    transition: color var(--ease), border-color var(--ease);
}

.card__fav[aria-pressed="true"] { color: var(--c-red); border-color: var(--c-red); }
.card__fav[aria-pressed="true"] .icon { fill: currentColor; }

.card__service {
    margin-top: 2rem;
    border-top: 1px solid var(--c-line);
}

.card__service-item {
    display: flex;
    align-items: flex-start;
    gap: .875rem;
    padding: 1rem 0;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
    border-bottom: 1px solid var(--c-line);
}

.card__service-item .icon { flex: 0 0 auto; color: var(--c-brown); }
.card__service-item b { color: var(--c-brown); font-weight: 400; }

@media (hover: hover) {
    .rating__link:hover { color: var(--c-orange); }
    .qty__btn:hover:not(:disabled) { color: var(--c-orange); }
    .card__fav:hover { color: var(--c-orange); border-color: var(--c-orange); }
    .card__fav[aria-pressed="true"]:hover { color: var(--c-red); border-color: var(--c-red); }
}

/* -------------------------------------------------------------------------
   41. РЎРўР РђРќРР¦Рђ РўРћР’РђР Рђ: Р’РљР›РђР”РљР
   ---------------------------------------------------------------------- */
.tabs { border-top: 1px solid var(--c-line); }

.tabs__nav {
    display: flex;
    gap: 2.5rem;
    border-bottom: 1px solid var(--c-line);
}

.tabs__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: 1.375rem 0 1.25rem;
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--c-gray-text);
    white-space: nowrap;
    border-bottom: .125rem solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: color var(--ease), border-color var(--ease);
}

.tabs__btn.is-active {
    color: var(--c-brown);
    border-color: var(--c-orange);
}

.tabs__num {
    font-size: .75rem;
    color: var(--c-gray);
}

.tabs__btn.is-active .tabs__num { color: var(--c-orange); }

.tabs__panel { padding: 2.5rem 0 .625rem; }

.tabs__sub {
    margin: 2.5rem 0 1rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--c-brown);
}

.tabs__panel > .tabs__sub:first-of-type { margin-top: 0; }

.tabs__note {
    max-width: 51.25rem;
    margin-top: 1.5rem;
    font-size: .875rem;
    line-height: 1.375rem;
    color: var(--c-gray);
}

.tabs__hint {
    max-width: 51.25rem;
    margin-top: .75rem;
    padding: 1rem 1.25rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-brown);
    background: var(--c-card);
}

@media (hover: hover) {
    .tabs__btn:hover { color: var(--c-brown); }
}

/* -------------------------------------------------------------------------
   42. РџР РћР—Рђ, Р”РћР’РћР”Р«, РўРђР‘Р›РР¦Р« РҐРђР РђРљРўР•Р РРЎРўРРљ
   ---------------------------------------------------------------------- */
.prose {
    max-width: 51.25rem;
    font-size: 1rem;
    line-height: 1.625rem;
    color: var(--c-gray-text);
}

.prose__p + .prose__p { margin-top: 1rem; }
.prose .tabs__sub + .prose__p { margin-top: 0; }

/* РЎРѕРґРµСЂР¶РёРјРѕРµ СЂРµРґР°РєС‚РѕСЂР°: СЃС‚Р°С‚СЊСЏ Р±Р»РѕРіР° Рё С‚РµРєСЃС‚РѕРІС‹Рµ СЃС‚СЂР°РЅРёС†С‹. РўРµРіРё РїСЂРёС…РѕРґСЏС‚ РёР·
   СЂРµРґР°РєС‚РѕСЂР° Р±РµР· РєР»Р°СЃСЃРѕРІ, РїРѕСЌС‚РѕРјСѓ РѕС„РѕСЂРјР»РµРЅРёРµ Р·Р°РґР°С‘С‚СЃСЏ РїРѕ СЃР°РјРёРј С‚РµРіР°Рј. */
.prose > * + * { margin-top: 1rem; }

.prose h2,
.prose h3,
.prose h4 {
    font-family: var(--font-head);
    letter-spacing: .02em;
    color: var(--c-brown);
}

.prose h2 {
    margin-top: 2.5rem;
    font-size: 1.375rem;
    line-height: 1.75rem;
    text-transform: uppercase;
}

.prose h3 {
    margin-top: 2rem;
    font-size: 1.1875rem;
    line-height: 1.625rem;
}

.prose h4 {
    margin-top: 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.5rem;
}

.prose h2 + *,
.prose h3 + *,
.prose h4 + * { margin-top: .75rem; }

.prose a {
    color: var(--c-orange);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
}

.prose strong { color: var(--c-brown); }

/* РћР±С‰РёР№ СЃР±СЂРѕСЃ СѓР±РёСЂР°РµС‚ РјР°СЂРєРµСЂС‹ Сѓ РІСЃРµС… СЃРїРёСЃРєРѕРІ, Р° РІ С‚РµРєСЃС‚Рµ СЃС‚СЂР°РЅРёС†С‹ РѕРЅРё РЅСѓР¶РЅС‹:
   Р±РµР· РЅРёС… РїРµСЂРµС‡РёСЃР»РµРЅРёРµ С‡РёС‚Р°РµС‚СЃСЏ РєР°Рє РЅР°Р±РѕСЂ РѕР±РѕСЂРІР°РЅРЅС‹С… Р°Р±Р·Р°С†РµРІ. */
.prose ul > li { list-style: disc outside; }
.prose ol > li { list-style: decimal outside; }

.prose ul,
.prose ol { padding-left: 1.125rem; }

.prose li { padding-left: .25rem; }

.prose li + li { margin-top: .5rem; }
.prose li::marker { color: var(--c-orange); }

.prose blockquote {
    padding: .25rem 0 .25rem 1.25rem;
    border-left: 2px solid var(--c-orange);
    font-size: 1.0625rem;
    line-height: 1.625rem;
    color: var(--c-brown);
}

.prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9375rem;
}

.prose caption {
    margin-bottom: .5rem;
    font-size: .875rem;
    text-align: left;
    color: var(--c-gray-text);
}

.prose th,
.prose td {
    padding: .625rem .75rem;
    border-bottom: 1px solid var(--c-line);
    text-align: left;
    vertical-align: top;
}

.prose th {
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--c-brown);
}

.prose img {
    display: block;
    max-width: 100%;
    height: auto;
}

.prose figcaption {
    margin-top: .5rem;
    font-size: .875rem;
    color: var(--c-gray-text);
}

.prose hr {
    height: 1px;
    margin: 2rem 0;
    border: 0;
    background: var(--c-line);
}

/* Р—Р°РіРѕР»РѕРІРѕРє СЃС‚Р°С‚СЊРё Рё СЃС‚СЂРѕРєР° СЃ РґР°С‚РѕР№ СЃС‚РѕСЏС‚ РІРїР»РѕС‚РЅСѓСЋ РґСЂСѓРі Рє РґСЂСѓРіСѓ: РјРµР¶РґСѓ РЅРёРјРё
   РЅРµ РЅСѓР¶РµРЅ РѕС‚СЃС‚СѓРї СЃРµРєС†РёРё, РѕРЅ СЂР°Р·СЂС‹РІР°РµС‚ С€Р°РїРєСѓ СЃС‚Р°С‚СЊРё РїРѕРїРѕР»Р°Рј. */
.article__title { margin-bottom: .75rem; }
.article__meta { margin-bottom: 2rem; }

/* РџРµСЂРІС‹Р№ Р°Р±Р·Р°С† СЃС‚Р°С‚СЊРё вЂ” РІРІРѕРґРЅС‹Р№: РєСЂСѓРїРЅРµРµ Рё С‚РµРјРЅРµРµ РѕСЃС‚Р°Р»СЊРЅРѕРіРѕ С‚РµРєСЃС‚Р°. */
.prose--article > .prose__p:first-child {
    font-size: 1.125rem;
    line-height: 1.75rem;
    color: var(--c-brown);
}

.prose--article > figure:first-child { margin-bottom: 1.75rem; }

.perks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.25rem;
    margin-top: 2.5rem;
}

.perks__item {
    padding: 1.5rem 1.5rem 1.625rem;
    background: var(--c-card);
}

.perks__icon { color: var(--c-orange); }

.perks__title {
    margin: .75rem 0 .5rem;
    font-family: var(--font-head);
    font-size: 1.0625rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--c-brown);
}

.perks__text {
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.spec {
    width: 100%;
    max-width: 40rem;
    border-collapse: collapse;
}

.spec__caption {
    margin-bottom: .75rem;
    font-size: .8125rem;
    color: var(--c-gray);
    text-align: left;
}

.spec tr { border-bottom: 1px solid var(--c-line); }
.spec tr:first-child { border-top: 1px solid var(--c-line); }

.spec th,
.spec td {
    padding: .8125rem .5rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    text-align: left;
    vertical-align: top;
}

.spec th:first-child { padding-left: 0; }
.spec td:last-child { padding-right: 0; }

.spec__key {
    width: 55%;
    font-weight: 400;
    color: var(--c-gray-text);
}

.spec__val { color: var(--c-brown); }

.spec--norms thead th {
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--c-brown);
}

.spec--norms .spec__key { width: 50%; }

/* -------------------------------------------------------------------------
   43. РћР¦Р•РќРљР Р РћРўР—Р«Р’Р« РќРђ РЎРўР РђРќРР¦Р• РўРћР’РђР Рђ
   ---------------------------------------------------------------------- */
.score {
    display: grid;
    grid-template-columns: max-content minmax(0, 22.5rem);
    justify-content: start;
    gap: 2.5rem 3.75rem;
    align-items: center;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid var(--c-line);
}

.score__main { text-align: center; }

.score__value {
    font-family: var(--font-head);
    font-size: 3.5rem;
    line-height: 1;
    letter-spacing: .01em;
    color: var(--c-brown);
}

.score__main .rating__stars { margin-top: .625rem; }

.score__count {
    margin-top: .5rem;
    font-size: .875rem;
    color: var(--c-gray-text);
}

.score__row + .score__row { margin-top: .5rem; }

/* РЎС‚СЂРѕРєР° СЂР°СЃРїСЂРµРґРµР»РµРЅРёСЏ вЂ” РєРЅРѕРїРєР° РѕС‚Р±РѕСЂР°: РЅР°Р¶Р°С‚РёРµ РЅР° В«4 Р·РІРµР·РґС‹В» РїРѕРєР°Р·С‹РІР°РµС‚ С‚РѕР»СЊРєРѕ
   С‚Р°РєРёРµ РѕС‚Р·С‹РІС‹, Рё СЌС‚Рѕ С‚РѕС‚ Р¶РµСЃС‚, РєРѕС‚РѕСЂРѕРіРѕ РѕС‚ РїРѕР»РѕСЃРєРё Рё Р¶РґСѓС‚ */
.score__row-btn {
    display: grid;
    width: 100%;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.5rem;
    align-items: center;
    gap: .625rem;
    text-align: left;
    transition: opacity var(--ease);
}

.score__row-btn:disabled { opacity: .45; }

.score__row-btn:not(:disabled):hover .score__fill { background: var(--c-orange-dark); }

.score__mark {
    display: inline-flex;
    align-items: center;
    gap: .1875rem;
    font-size: .875rem;
    color: var(--c-gray-text);
}

.score__mark .icon { color: var(--c-orange); }

.score__track {
    display: block;
    height: .375rem;
    background: var(--c-light);
}

.score__fill {
    display: block;
    width: var(--share, 0%);
    height: 100%;
    background: var(--c-orange);
}

.score__num {
    font-size: .8125rem;
    color: var(--c-gray);
    text-align: right;
}

.score__cta {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.25rem;
}

.score__cta-note {
    flex: 1 1 16rem;
    font-size: .8125rem;
    line-height: 1.25rem;
    color: var(--c-gray-text);
}

/* ---------------------------------------- СЃРїРёСЃРѕРє РѕС‚Р·С‹РІРѕРІ Рё РІРѕРїСЂРѕСЃРѕРІ */
.thread {
    display: grid;
    gap: 1.25rem;
}

.thread__tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    margin-bottom: 1.5rem;
}

.thread__tools--qa { align-items: flex-start; }

.thread__hint {
    flex: 1 1 18rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.thread__select {
    height: 2.375rem;
    padding: 0 .625rem;
    font-family: inherit;
    font-size: .9375rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
}

.thread__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.thread__chip {
    min-height: 2.375rem;
    padding: .375rem .875rem;
    font-family: var(--font-head);
    font-size: .8125rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--c-gray-text);
    background: var(--c-card);
    border: 1px solid transparent;
    transition: color var(--ease), border-color var(--ease), background var(--ease);
}

.thread__chip:hover { color: var(--c-brown); }

.thread__chip.is-active {
    color: var(--c-brown);
    background: var(--c-white);
    border-color: var(--c-brown);
}

.thread__empty,
.thread__start-text {
    font-size: .9375rem;
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

.thread__start {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 2rem;
    background: var(--c-card);
}

.thread + [data-thread-more] { margin-top: 1.5rem; }

/* ------------------------------------------------ РєР°СЂС‚РѕС‡РєР° РѕС‚Р·С‹РІР° */
.review--full {
    display: grid;
    gap: .875rem;
    height: auto;
    padding: 1.625rem 1.75rem;
}

.review__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .875rem;
}

.review__who {
    display: grid;
    gap: .125rem;
}

.review__author {
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .01em;
    color: var(--c-brown);
}

.review__meta {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.review__side {
    display: grid;
    justify-items: end;
    gap: .375rem;
}

.review__badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .1875rem .5rem;
    font-size: .75rem;
    color: var(--c-green);
    background: rgba(76, 122, 52, .1);
}

.review__badge .icon { color: var(--c-green); }

/* Р”РѕСЃС‚РѕРёРЅСЃС‚РІР° Рё РЅРµРґРѕСЃС‚Р°С‚РєРё: С†РІРµС‚РЅР°СЏ РїРѕР»РѕСЃР° СЃР»РµРІР°, С‡С‚РѕР±С‹ РёС… Р±С‹Р»Рѕ РІРёРґРЅРѕ, РЅРµ С‡РёС‚Р°СЏ
   РїРѕРґРїРёСЃРё, вЂ” РїРѕ РЅРёРј Рё РїСЂРѕР±РµРіР°СЋС‚ РіР»Р°Р·Р°РјРё РІ РїРµСЂРІСѓСЋ РѕС‡РµСЂРµРґСЊ */
.review__side-note {
    padding-left: .75rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    border-left: 2px solid var(--c-line);
}

.review__side-note--pro { border-left-color: var(--c-green); }
.review__side-note--con { border-left-color: var(--c-red); }

.review__side-label {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--c-gray-text);
}

.review--full .review__text {
    margin: 0;
    line-height: 1.5rem;
}

.review__avatar--letter {
    display: grid;
    place-items: center;
    font-family: var(--font-head);
    font-size: 1.25rem;
    color: var(--c-brown);
    background: var(--c-light);
}

.review__photos {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.review__photo-img {
    width: 5rem;
    height: 5rem;
    object-fit: cover;
}

.review__reply {
    padding: .875rem 1rem;
    background: var(--c-white);
    border-left: 2px solid var(--c-orange);
}

.review__reply-who {
    display: flex;
    align-items: center;
    gap: .375rem;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .02em;
    color: var(--c-brown);
}

.review__reply-who .icon { color: var(--c-orange); }

.review__reply-date {
    margin-left: auto;
    font-family: var(--font-text);
    font-size: .75rem;
    color: var(--c-gray);
}

.review__reply-text {
    margin-top: .375rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.review__foot {
    display: flex;
    align-items: center;
    gap: .875rem;
}

.review__vote {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    font-size: .875rem;
    color: var(--c-gray-text);
    transition: color var(--ease);
}

.review__vote .icon { stroke: currentColor; }

.review__vote:not(:disabled):hover { color: var(--c-brown); }

.review__vote.is-voted { color: var(--c-green); }

.review__vote-num {
    min-width: 1.125rem;
    padding: 0 .25rem;
    font-size: .75rem;
    text-align: center;
    background: var(--c-white);
}

/* ------------------------------------------------ РІРѕРїСЂРѕСЃ Рё РѕС‚РІРµС‚ */
.qa {
    display: grid;
    gap: .625rem;
    padding: 1.5rem 1.75rem;
    background: var(--c-card);
}

.qa__head {
    display: flex;
    align-items: baseline;
    gap: .625rem;
}

.qa__author {
    font-family: var(--font-head);
    font-size: 1rem;
    color: var(--c-brown);
}

.qa__date {
    font-size: .8125rem;
    color: var(--c-gray);
}

.qa__text {
    font-size: 1rem;
    line-height: 1.5rem;
    color: var(--c-brown);
}

.qa__answer {
    padding: .875rem 1rem;
    background: var(--c-white);
    border-left: 2px solid var(--c-orange);
}

.qa__answer-who {
    display: flex;
    align-items: center;
    gap: .375rem;
    font-family: var(--font-head);
    font-size: .875rem;
    color: var(--c-brown);
}

.qa__answer-who .icon { color: var(--c-orange); }

.qa__answer-text {
    margin-top: .375rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.qa__wait {
    font-size: .8125rem;
    color: var(--c-gray);
}

@media (max-width: 40rem) {
    .review--full,
    .qa { padding: 1.25rem; }

    .review__head {
        grid-template-columns: auto minmax(0, 1fr);
        row-gap: .625rem;
    }

    .review__side {
        grid-column: 1 / -1;
        justify-items: start;
        grid-auto-flow: column;
        align-items: center;
        gap: .625rem;
    }

    .thread__tools { justify-content: flex-start; }
}

/* -------------------------------------------------------------------------
   44. Р›РРџРљРђРЇ РџРђРќР•Р›Р¬ РџРћРљРЈРџРљР
   ---------------------------------------------------------------------- */
.buybar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 55;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: saturate(180%) blur(1.25rem);
    -webkit-backdrop-filter: saturate(180%) blur(1.25rem);
    border-top: 1px solid var(--c-line);
    transform: translateY(100%);
    transition: transform var(--ease);
}

.buybar.is-visible { transform: translateY(0); }

/* РїР°РЅРµР»СЊ РЅРµ РґРѕР»Р¶РЅР° РїРµСЂРµРєСЂС‹РІР°С‚СЊ РѕС‚РєСЂС‹С‚СѓСЋ РєРѕСЂР·РёРЅСѓ РёР»Рё РјРµРЅСЋ */
.body.is-locked .buybar { transform: translateY(100%); }

.buybar__inner {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.buybar__img {
    width: auto;
    max-width: 3.75rem;
    max-height: 2.75rem;
    height: auto;
    mix-blend-mode: multiply;
}

.buybar__name {
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--c-brown);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buybar__pack {
    margin-left: .625rem;
    font-family: var(--font-text);
    font-size: .875rem;
    letter-spacing: 0;
    text-transform: none;
    color: var(--c-gray-text);
}

.buybar__price {
    flex: 0 0 auto;
    font-family: var(--font-head);
    font-size: 1.375rem;
    white-space: nowrap;
    color: var(--c-brown);
}

.buybar__add { flex: 0 0 auto; }

.section-similar { padding: 3.75rem 0 4.375rem; }
.products--similar { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.875rem; }
.section__more { margin-top: 2.5rem; }

/* -------------------------------------------------------------------------
   45. РЎРўР РђРќРР¦Рђ РўРћР’РђР Рђ: РђР”РђРџРўРР’
   ---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
    .card { gap: 2.5rem; }
    .tabs__nav { gap: 1.875rem; }
}

@media screen and (max-width: 991px) {
    .section-product { padding: 3.75rem 0 2.5rem; }

    .card {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
        margin-bottom: 3.125rem;
    }

    .card__gallery { position: static; }
    .card__figure { min-height: 20rem; }
    .card__img { max-height: 17rem; }
    .card__lead { max-width: none; }

    .score { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 1.875rem; }
    .score__bars { width: 100%; max-width: 22.5rem; }

    /* РїСЏС‚СЊ Р·Р°РіРѕР»РѕРІРєРѕРІ РІ СЃС‚СЂРѕРєСѓ СѓР¶Рµ РЅРµ РІР»РµР·Р°СЋС‚: РїРѕР»РѕСЃР° РїСЂРѕРєСЂСѓС‡РёРІР°РµС‚СЃСЏ, Р° РЅРµ
       РїРµСЂРµРЅРѕСЃРёС‚СЃСЏ вЂ” РїРµСЂРµРЅРѕСЃ Р»РѕРјР°РµС‚ РѕС‰СѓС‰РµРЅРёРµ РѕРґРЅРѕР№ Р»РёРЅРёРё РїРѕРґ РІРєР»Р°РґРєР°РјРё */
    .tabs__nav {
        gap: 1.5rem;
        margin: 0 -.9375rem;
        padding: 0 .9375rem;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .tabs__nav::-webkit-scrollbar { display: none; }
}

@media screen and (max-width: 767px) {
    .tabs__btn { font-size: .9375rem; padding: 1.125rem 0 1rem; }
    .tabs__panel { padding-top: 1.875rem; }
    .tabs__sub { margin: 1.875rem 0 .875rem; font-size: 1.125rem; }

    .perks { gap: .9375rem; margin-top: 1.875rem; }
    .perks__item { padding: 1.25rem; }

    .reviews--product { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }

    .card__actions { gap: .625rem; }
    .card__add { flex: 1 1 100%; order: 3; }
    .card__fav { flex: 1 1 auto; }

    /* РїР°РЅРµР»СЊ РїРѕРєСѓРїРєРё РІСЃС‚Р°С‘С‚ РЅР°Рґ РјРѕР±РёР»СЊРЅРѕР№ РїР°РЅРµР»СЊСЋ РґРµР№СЃС‚РІРёР№ */
    .buybar { bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom)); }
    .buybar__img { display: none; }
    .buybar__inner { gap: .75rem; padding-top: .625rem; padding-bottom: .625rem; }
    .buybar__name { font-size: .875rem; }
    .buybar__pack { display: none; }
    .buybar__price { font-size: 1.125rem; }
    .buybar__add { min-height: 2.75rem; padding: .8125rem 1rem .5625rem; font-size: .8125rem; }

    .section-similar { padding: 2.5rem 0 3.125rem; }
}

@media screen and (max-width: 575px) {
    .card__figure { min-height: 15rem; padding: 1.5rem; }
    .card__img { max-height: 13rem; }
    .price--lg .price__now { font-size: 1.875rem; }
    .score__value { font-size: 3rem; }
    .spec th, .spec td { font-size: .875rem; }
    .buybar__name { display: none; }
    .buybar__inner { justify-content: space-between; }
}

/* -------------------------------------------------------------------------
   46. РћР¤РћР РњР›Р•РќРР• Р—РђРљРђР—Рђ Р’ РџРђРќР•Р›Р РљРћР Р—РРќР«
   ---------------------------------------------------------------------- */
.drawer__back {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: -.5rem;
    color: var(--c-brown);
}

/* СЃС‚СЂРµР»РєР° В«РЅР°Р·Р°РґВ» вЂ” С‚Р° Р¶Рµ РіР°Р»РѕС‡РєР° РјРµРЅСЋ, РїРѕРІС‘СЂРЅСѓС‚Р°СЏ РЅР° С‡РµС‚РІРµСЂС‚СЊ */
.drawer__back .icon { transform: rotate(90deg); }

.drawer__head { position: relative; }

.steps {
    display: flex;
    flex: 0 0 auto;
    gap: .5rem;
    padding: .875rem 1.75rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
    border-bottom: 1px solid var(--c-card);
}

.steps__item {
    display: flex;
    align-items: center;
    gap: .4375rem;
    flex: 1 1 0;
    min-width: 0;
}

.steps__num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.375rem;
    height: 1.375rem;
    font-size: .75rem;
    color: var(--c-gray-text);
    background: var(--c-card);
    border-radius: 50%;
    transition: color var(--ease), background var(--ease);
}

.steps__item.is-current { color: var(--c-brown); }
.steps__item.is-current .steps__num { color: var(--c-white); background: var(--c-brown); }
.steps__item.is-done .steps__num { color: var(--c-white); background: var(--c-orange); }

.checkout { display: grid; align-content: start; gap: 1.75rem; }

.checkout__group { display: grid; gap: .875rem; }

.checkout__legend {
    font-family: var(--font-head);
    font-size: 1rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.checkout__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem; }

.field { display: grid; gap: .375rem; }

.field__label {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.field__hint { color: var(--c-gray); }

.field__input {
    width: 100%;
    height: 2.875rem;
    padding: 0 .875rem;
    font-size: 1rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    transition: border-color var(--ease);
}

.field__input:focus { border-color: var(--c-orange); outline: none; }
.field__input.is-invalid { border-color: var(--c-red); }

.field__error {
    font-size: .8125rem;
    color: var(--c-red);
}

/* --- РєР°СЂС‚РѕС‡РєРё РІС‹Р±РѕСЂР°: РґРѕСЃС‚Р°РІРєР° Рё РѕРїР»Р°С‚Р° --- */
.choices { display: grid; gap: .625rem; }

.choice {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .875rem 1rem;
    cursor: pointer;
    border: 1px solid var(--c-line);
    transition: border-color var(--ease), background var(--ease);
}

/* РќР°СЃС‚РѕСЏС‰РёР№ РїРµСЂРµРєР»СЋС‡Р°С‚РµР»СЊ РЅРµ СЂРёСЃСѓРµС‚СЃСЏ, РЅРѕ РѕСЃС‚Р°С‘С‚СЃСЏ РІ СЂР°Р·РјРµС‚РєРµ: РѕРЅ РґР°С‘С‚
   РєР»Р°РІРёР°С‚СѓСЂСѓ, СЃС‚СЂРµР»РєРё РІРЅСѓС‚СЂРё РіСЂСѓРїРїС‹ Рё РїРѕРґРїРёСЃСЊ РґР»СЏ СЃРєСЂРёРЅСЂРёРґРµСЂР° */
.choice__input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.choice__body { display: grid; gap: .1875rem; min-width: 0; }

.choice__title { font-weight: 700; line-height: 1.3; }

.choice__note {
    font-size: .8125rem;
    line-height: 1.35;
    color: var(--c-gray-text);
}

.choice__price {
    font-family: var(--font-head);
    font-size: 1.0625rem;
    white-space: nowrap;
}

.choice__price.is-free { color: var(--c-green); }

.choice__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    color: var(--c-white);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    border-radius: 50%;
    transition: background var(--ease), border-color var(--ease);
}

.choice.is-active { border-color: var(--c-brown); background: var(--c-card); }
.choice.is-active .choice__mark { background: var(--c-orange); border-color: var(--c-orange); }
.choice__input:focus-visible + .choice__body { outline: 2px solid var(--c-orange); outline-offset: .375rem; }

/* --- РїСЂРѕРјРѕРєРѕРґ --- */
.promo { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }

.promo__btn { height: 2.875rem; padding: 0 1.25rem; }

.promo__state { font-size: .8125rem; color: var(--c-green); }
.promo__state.is-bad { color: var(--c-red); }

/* --- СЃРІРѕРґРєР° --- */
.summary { display: grid; gap: .625rem; }

.summary__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    font-size: .9375rem;
    color: var(--c-gray-text);
}

.summary__row span:last-child { color: var(--c-brown); }

.summary__row--total {
    padding-top: .625rem;
    font-size: 1.0625rem;
    border-top: 1px solid var(--c-card);
}

.checkout__legal {
    font-size: .8125rem;
    line-height: 1.4;
    color: var(--c-gray);
}

.checkout__legal a { color: var(--c-gray-text); border-bottom: 1px solid var(--c-line); }

/* --- РїРѕРґС‚РІРµСЂР¶РґРµРЅРёРµ --- */
.done {
    display: grid;
    justify-items: center;
    gap: 1rem;
    padding: 1.5rem 0;
    text-align: center;
}

.done__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    color: var(--c-white);
    background: var(--c-orange);
    border-radius: 50%;
}

.done__title {
    font-family: var(--font-head);
    font-size: 1.5rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.done__note {
    font-size: .9375rem;
    line-height: 1.45;
    color: var(--c-gray-text);
}

.done .summary { width: 100%; margin-top: .5rem; text-align: left; }

.button.is-busy { opacity: .7; pointer-events: none; }

@media (hover: hover) {
    .drawer__back:hover { color: var(--c-orange); }
    .choice:hover { border-color: var(--c-brown); }
    .checkout__legal a:hover { color: var(--c-orange); border-color: var(--c-orange); }
}

@media screen and (max-width: 480px) {
    .checkout__row { grid-template-columns: minmax(0, 1fr); }
    .steps { padding: .75rem 1.25rem; font-size: .75rem; }
    .steps__item { gap: .3125rem; }
}

/* -------------------------------------------------------------------------
   47. РЎРўР РђРќРР¦Р« РљРћР Р—РРќР« Р РћР¤РћР РњР›Р•РќРРЇ
   РћСЃРЅРѕРІРЅРѕР№ СЃС†РµРЅР°СЂРёР№ вЂ” РїР°РЅРµР»СЊ РєРѕСЂР·РёРЅС‹, РЅРѕ РїСЂСЏРјР°СЏ СЃСЃС‹Р»РєР° РЅР° /checkout/ РґРѕР»Р¶РЅР°
   РѕС‚РєСЂС‹РІР°С‚СЊ РЅРµ С‡СѓР¶СѓСЋ С„РѕСЂРјСѓ, Р° С‚Сѓ Р¶Рµ РІРёС‚СЂРёРЅСѓ.
   ---------------------------------------------------------------------- */
.woo a { color: var(--c-orange); }

.woo h3 {
    margin-bottom: 1rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.woo .woocommerce-message,
.woo .woocommerce-info,
.woo .woocommerce-error {
    margin-bottom: 1.5rem;
    padding: .875rem 1.125rem;
    list-style: none;
    font-size: .9375rem;
    background: var(--c-card);
    border-left: 3px solid var(--c-orange);
}

.woo .woocommerce-error { border-left-color: var(--c-red); }

.woo .woocommerce-form-coupon-toggle { margin-bottom: 1.25rem; }

.woo .checkout_coupon {
    display: grid;
    grid-template-columns: minmax(0, 20rem) auto;
    gap: .625rem;
    align-items: end;
    margin-bottom: 2rem;
}

.woo .checkout_coupon p { margin: 0; }

/* --- РїРѕР»СЏ --- */
.woo .form-row { display: grid; gap: .375rem; margin-bottom: 1rem; }

.woo .form-row label {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

/* WooCommerce РѕР±РѕСЂР°С‡РёРІР°РµС‚ РїРѕР»Рµ РІ inline-span, РёР·-Р·Р° РЅРµРіРѕ input СЃР¶РёРјР°РµС‚СЃСЏ */
.woo .woocommerce-input-wrapper,
.woo .select2-container { display: block; width: 100% !important; }

.woo .required { color: var(--c-orange); text-decoration: none; }

.woo input[type="text"],
.woo input[type="tel"],
.woo input[type="email"],
.woo input[type="password"],
.woo input[type="number"],
.woo select,
.woo textarea {
    width: 100%;
    min-height: 2.875rem;
    padding: .625rem .875rem;
    font-family: var(--font-text);
    font-size: 1rem;
    color: var(--c-brown);
    background: var(--c-white);
    border: 1px solid var(--c-line);
    border-radius: 0;
    transition: border-color var(--ease);
}

.woo textarea { min-height: 6rem; resize: vertical; }

.woo input:focus,
.woo select:focus,
.woo textarea:focus { border-color: var(--c-orange); outline: none; }

.woo .woocommerce-billing-fields__field-wrapper,
.woo .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
}

.woo .form-row-wide,
.woo .woocommerce-additional-fields .form-row { grid-column: 1 / -1; }

/* --- СЂР°СЃРєР»Р°РґРєР° РѕС„РѕСЂРјР»РµРЅРёСЏ: СЃР»РµРІР° РїРѕР»СЏ, СЃРїСЂР°РІР° СЃРѕСЃС‚Р°РІ Р·Р°РєР°Р·Р° --- */
.woo form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    /* Р»РµРІР°СЏ РєРѕР»РѕРЅРєР° СЂР°СЃС‚СЏРЅСѓС‚Р° РЅР° РґРІРµ СЃС‚СЂРѕРєРё: Р±РµР· 1fr РµС‘ РІС‹СЃРѕС‚Р° СЂР°СЃС‚РµРєР°РµС‚СЃСЏ
       РїРѕ РѕР±РµРёРј СЃС‚СЂРѕРєР°Рј Рё РїРѕРґ Р·Р°РіРѕР»РѕРІРєРѕРј В«Р’Р°С€ Р·Р°РєР°Р·В» РїРѕСЏРІР»СЏРµС‚СЃСЏ РґС‹СЂР° */
    grid-template-rows: auto 1fr;
    gap: 0 3rem;
    align-items: start;
}

.woo #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woo #order_review_heading { grid-column: 2; grid-row: 1; }
.woo #order_review { grid-column: 2; grid-row: 2; }

/* РќР° РєРѕСЂР·РёРЅРµ Рё РѕС„РѕСЂРјР»РµРЅРёРё СЃС‚РёР»Рё WooCommerce РѕСЃС‚Р°СЋС‚СЃСЏ РїРѕРґРєР»СЋС‡С‘РЅРЅС‹РјРё, Р° РѕРЅРё
   СЂР°СЃРєР»Р°РґС‹РІР°СЋС‚ РєРѕР»РѕРЅРєРё Рё РїРѕР»СЏ С„Р»РѕР°С‚Р°РјРё СЃ РїСЂРѕС†РµРЅС‚РЅРѕР№ С€РёСЂРёРЅРѕР№ вЂ” Р·РґРµСЃСЊ СЌС‚Рё
   РїСЂР°РІРёР»Р° РїРµСЂРµР±РёРІР°СЋС‚СЃСЏ, РёРЅР°С‡Рµ РїРѕР»СЏ СЃС…Р»РѕРїС‹РІР°СЋС‚СЃСЏ РІРЅСѓС‚СЂРё grid-СЃС‚СЂРѕРє */
.woo .col2-set { display: grid; gap: 2rem; }
.woo .col2-set .col-1,
.woo .col2-set .col-2,
.woo form .form-row,
.woo form .form-row-first,
.woo form .form-row-last,
.woo form .form-row-wide { float: none; width: auto; }

.woo #order_review { padding: 1.5rem; background: var(--c-card); }

.woo .shop_table {
    width: 100%;
    margin-bottom: 1.25rem;
    border-collapse: collapse;
    font-size: .9375rem;
}

.woo .shop_table th,
.woo .shop_table td {
    padding: .625rem 0;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--c-line);
}

.woo .shop_table th { font-weight: 700; }

.woo .shop_table td:last-child,
.woo .shop_table th:last-child { text-align: right; white-space: nowrap; }

.woo .order-total td,
.woo .order-total th {
    padding-top: .875rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    border-bottom: 0;
}

.woo .woocommerce-shipping-methods { display: grid; gap: .375rem; list-style: none; }

.woo .woocommerce-shipping-methods label { font-size: .9375rem; color: var(--c-brown); }

/* --- РѕРїР»Р°С‚Р° --- */
.woo .wc_payment_methods {
    display: grid;
    gap: .625rem;
    margin-bottom: 1.25rem;
    list-style: none;
}

.woo .wc_payment_method {
    padding: .875rem 1rem;
    background: var(--c-white);
    border: 1px solid var(--c-line);
}

.woo .wc_payment_method label { font-weight: 700; color: var(--c-brown); }

.woo .payment_box {
    margin-top: .5rem;
    font-size: .875rem;
    color: var(--c-gray-text);
}

.woo .woocommerce-privacy-policy-text {
    font-size: .8125rem;
    line-height: 1.4;
    color: var(--c-gray);
}

/* --- РєРЅРѕРїРєРё --- */
.woo .button,
.woo a.button.alt,
.woo button.button.alt,
.woo .wc-proceed-to-checkout a.checkout-button,
.woo #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.125rem;
    padding: 0 1.75rem;
    font-family: var(--font-head);
    font-size: .9375rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-orange);
    border: 0;
    cursor: pointer;
    transition: background var(--ease);
}

.woo #place_order { width: 100%; }

/* --- СЃС‚СЂР°РЅРёС†Р° РєРѕСЂР·РёРЅС‹ --- */
.woo .woocommerce-cart-form .shop_table { table-layout: auto; }
.woo .woocommerce-cart-form .shop_table td { vertical-align: middle; }
.woo .woocommerce-cart-form .product-name { width: 99%; }
.woo .woocommerce-cart-form .product-thumbnail { width: 5rem; }
.woo .woocommerce-cart-form .product-price,
.woo .woocommerce-cart-form .product-quantity,
.woo .woocommerce-cart-form .product-subtotal { white-space: nowrap; text-align: right; }
/* РєРѕР»РѕРЅРєР° СЃ РЅР°Р·РІР°РЅРёРµРј Р·Р°Р±РёСЂР°РµС‚ РІСЃСЋ С€РёСЂРёРЅСѓ, РїРѕСЌС‚РѕРјСѓ РєР°СЂС‚РёРЅРєРµ РЅСѓР¶РµРЅ СЃРІРѕР№ СЂР°Р·РјРµСЂ:
   Р±РµР· max-width:none РѕРЅР° СЃР¶РёРјР°РµС‚СЃСЏ РґРѕ С€РёСЂРёРЅС‹ СЃС…Р»РѕРїРЅСѓС‚РѕР№ СЏС‡РµР№РєРё */
.woo table.shop_table .product-thumbnail img {
    display: block;
    width: 4rem;
    max-width: none;
    height: auto;
}
.woo .quantity input { width: 4.5rem; text-align: center; }
.woo .coupon #coupon_code { width: 100%; }

.woo .woocommerce-cart-form .actions { padding-top: 1.25rem; }

.woo .woocommerce-cart-form .coupon {
    display: inline-grid;
    grid-template-columns: minmax(0, 14rem) auto;
    gap: .625rem;
    vertical-align: top;
}

.woo .woocommerce-cart-form .actions > .button { float: right; }

.woo .cart-collaterals {
    max-width: 26rem;
    margin-top: 2rem;
    margin-left: auto;
    padding: 1.5rem;
    background: var(--c-card);
}

/* С‚Р°Р±Р»РёС†Р° РёС‚РѕРіРѕРІ Сѓ WooCommerce С‚СЏРЅРµС‚СЃСЏ РїРѕ СЃРѕРґРµСЂР¶РёРјРѕРјСѓ Рё РІС‹Р»РµР·Р°РµС‚ РёР· РєРѕР»РѕРЅРєРё */
.woo .cart-collaterals .cart_totals,
.woo .cart-collaterals .cross-sells { float: none; width: 100%; }

.woo .cart_totals table,
.woo .cart_totals .shop_table {
    width: 100%;
    table-layout: fixed;
}

.woo .cart_totals th { width: 45%; white-space: normal; }
.woo .cart_totals td,
.woo .cart_totals td:last-child { white-space: normal; }
.woo .cart_totals .woocommerce-shipping-methods { margin-bottom: .5rem; }

.woo .cart_totals .woocommerce-shipping-destination,
.woo .cart_totals .shipping-calculator-button {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.woo .cart_totals h2 {
    margin-bottom: 1rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    text-transform: uppercase;
}

.woo .wc-proceed-to-checkout { margin-top: 1rem; }
.woo .wc-proceed-to-checkout .button { width: 100%; }

@media (hover: hover) {
    .woo .button:hover,
    .woo #place_order:hover { background: var(--c-orange-dark); }
}

@media screen and (max-width: 991px) {
    .woo form.checkout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .woo #customer_details,
    .woo #order_review_heading,
    .woo #order_review { grid-column: 1; grid-row: auto; }
}

@media screen and (max-width: 600px) {
    .woo .woocommerce-billing-fields__field-wrapper,
    .woo .woocommerce-shipping-fields__field-wrapper,
    .woo .checkout_coupon { grid-template-columns: minmax(0, 1fr); }
    .woo .cart-collaterals { max-width: none; }
}

/* ----- СѓРІР°Р¶РµРЅРёРµ Рє РЅР°СЃС‚СЂРѕР№РєР°Рј РґРІРёР¶РµРЅРёСЏ ----- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================================
   48. РЎР•Рћ-РџРћР”Р‘РћР РљР: РЎРЎР«Р›РљР Р’ Р¤РР›Р¬РўР Р• Р Р‘Р›РћРљ РџРћР”Р‘РћР РћРљ
   ========================================================================= */

/* РЎСЃС‹Р»РєР° РЅР°РєСЂС‹РІР°РµС‚ СЃС‚СЂРѕРєСѓ С„РёР»СЊС‚СЂР° С†РµР»РёРєРѕРј. Р’РёРґРёРјС‹Р№ С‚РµРєСЃС‚ РѕСЃС‚Р°С‘С‚СЃСЏ Сѓ РіР°Р»РѕС‡РєРё,
   Р° СЃСЃС‹Р»РєР° РґР°С‘С‚ СЂРѕР±РѕС‚Сѓ Р°РґСЂРµСЃ Рё С‡РµР»РѕРІРµРєСѓ РІРѕР·РјРѕР¶РЅРѕСЃС‚СЊ РѕС‚РєСЂС‹С‚СЊ РїРѕРґР±РѕСЂРєСѓ РІ РЅРѕРІРѕР№
   РІРєР»Р°РґРєРµ; РѕР±С‹С‡РЅС‹Р№ РєР»РёРє РїРµСЂРµС…РІР°С‚С‹РІР°РµС‚ catalog.js. */
.facet__row { position: relative; }

.facet__link {
    position: absolute;
    inset: 0;
    border-radius: .375rem;
}

.facet__link:focus-visible { outline: 2px solid var(--c-orange); outline-offset: 2px; }

.picks { margin-top: 2.5rem; }

.picks__title {
    margin: 0 0 1rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    line-height: 1.2;
    color: var(--c-brown);
}

.picks__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.picks__link {
    display: inline-flex;
    align-items: center;
    padding: .5rem .875rem;
    font-size: .875rem;
    line-height: 1.2;
    color: var(--c-brown);
    text-decoration: none;
    background: var(--c-light);
    border: 1px solid var(--c-line);
    border-radius: 2rem;
    transition: color .2s, background-color .2s, border-color .2s;
}

@media (hover: hover) {
    .picks__link:hover { color: var(--c-white); background: var(--c-brown); border-color: var(--c-brown); }
}

/* =========================================================================
   49. РЎРўР РђРќРР¦Рђ РЎР•Р РР: FRESH Р VET
   ========================================================================= */

/* РџРµСЂРІС‹Р№ СЌРєСЂР°РЅ: СЃР»РµРІР° СЂР°СЃСЃРєР°Р·, СЃРїСЂР°РІР° СЃРЅРёРјРѕРє СѓРїР°РєРѕРІРєРё. РћР±С‰Р°СЏ РїР°Р»РёС‚СЂР° СЃР°Р№С‚Р°,
   СЂР°Р·Р»РёС‡Р°РµС‚ СЃРµСЂРёРё СЃР°Рј С‚РѕРІР°СЂ вЂ” Р»РѕРіРѕС‚РёРї Рё СЃРЅРёРјРѕРє. */
/* Р’РµСЂС…РЅРёР№ РѕС‚СЃС‚СѓРї РЅРµ РјРµРЅСЊС€Рµ, С‡РµРј Сѓ РѕР±С‹С‡РЅРѕР№ СЃРµРєС†РёРё: С€Р°РїРєР° РїСЂРёРєР»РµРµРЅР° Рє РѕРєРЅСѓ Рё
   РЅР°РєСЂС‹РІР°РµС‚ РїРµСЂРІС‹Рµ 49px СЃС‚СЂР°РЅРёС†С‹. */
.brandhero { padding: 3.5625rem 0 3.75rem; }

.brandhero__inner {
    display: flex;
    align-items: center;
    gap: 3.75rem;
}

.brandhero__body { flex: 1 1 auto; min-width: 0; }

.brandhero__logo {
    display: block;
    height: 2rem;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
}

.brandhero__logo--grandorf { width: 14.5rem; background-image: url("../img/grandorf-logo-active.svg"); }
.brandhero__logo--fresh    { width: 22.1875rem; background-image: url("../img/grandorf-fresh-logo-active.svg"); }
.brandhero__logo--vet      { width: 19.875rem; background-image: url("../img/grandorf-vet-logo-active.svg"); }
/* Знак Premier вытянутый: 216×31 у исходника, при высоте 2rem это 13.9375rem. */
.brandhero__logo--premier  { width: 13.9375rem; background-image: url("../img/premier-logo-active.svg"); }

.brandhero__eyebrow {
    margin-bottom: 1rem;
    font-size: .875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-orange);
}

.brandhero__title { margin-bottom: 1.25rem; }

.brandhero__lead {
    max-width: 34rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    color: var(--c-gray-text);
}

.brandhero__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .9375rem;
    margin-top: 2.25rem;
}

.brandhero__media {
    flex: 0 0 26.25rem;      /* 420px */
    line-height: 0;
}

.brandhero__img {
    width: 100%;
    height: auto;
}

/* ----- РѕС‚Р»РёС‡РёСЏ СЃРµСЂРёРё ----- */
.brandfeats__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875rem;
}

.brandfeat {
    display: flex;
    flex-direction: column;
    padding: 1.875rem;
    background: var(--c-white);
}

.brandfeat__media {
    display: block;
    margin: -1.875rem -1.875rem 1.5rem;
    line-height: 0;
    background: var(--c-card);
}

/* Р’ РєР°СЂС‚РѕС‡РєР°С… СЃС‚РѕСЏС‚ С„РѕС‚РѕРіСЂР°С„РёРё, Р° РЅРµ СѓРїР°РєРѕРІРєРё РЅР° РїСЂРѕР·СЂР°С‡РЅРѕРј С„РѕРЅРµ: contain
   РѕСЃС‚Р°РІР»СЏР» Р±С‹ РїРѕР»СЏ РїРѕ Р±РѕРєР°Рј Рё СЂР°Р·РЅСѓСЋ РІРёРґРёРјСѓСЋ РІС‹СЃРѕС‚Сѓ СЃРЅРёРјРєРѕРІ РІ СЂСЏРґСѓ. */
.brandfeat__img {
    display: block;
    width: 100%;
    height: 15rem;
    object-fit: cover;
}

.brandfeat__title {
    margin-bottom: .75rem;
    font-family: var(--font-head);
    font-size: 1.25rem;
    line-height: 1.6875rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--c-brown);
}

.brandfeat__text {
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

/* ----- СЃС‚Р°С‚СЊСЏ РјРµР¶РґСѓ РѕС‚Р»РёС‡РёСЏРјРё Рё РІРёС‚СЂРёРЅРѕР№ ----- */
.brandtext { padding: 3.75rem 0; }

.brandtext .prose { max-width: 45.625rem; margin: 0 auto; }

/* ----- РІРёС‚СЂРёРЅР° СЃРµСЂРёРё ----- */
.brandprods { padding: 4.375rem 0 3.75rem; }

/* ----- РїРѕР»РѕСЃР° РїСЂРёР·С‹РІР° ----- */
.brandcta {
    position: relative;
    margin-bottom: .5rem;
    padding: 5rem 0;
    background: var(--c-brown);
    overflow: hidden;
}

.brandcta__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* РЎРЅРёРјРѕРє РїРѕРґ С‚РµРєСЃС‚РѕРј РїРѕС‡С‚Рё РІСЃРµРіРґР° РїС‘СЃС‚СЂС‹Р№, РїРѕСЌС‚РѕРјСѓ СЃРІРµС‚Р»С‹Рµ Р±СѓРєРІС‹ РєР»Р°РґС‘Рј РЅР°
   Р·Р°С‚РµРјРЅРµРЅРёРµ, Р° РЅРµ РїСЂСЏРјРѕ РЅР° С„РѕС‚РѕРіСЂР°С„РёСЋ. */
.brandcta::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(67, 46, 37, .62);
}

.brandcta .container { position: relative; z-index: 10; }

.brandcta__body {
    max-width: 45.625rem;
    margin: 0 auto;
    text-align: center;
    color: var(--c-light);
}

.brandcta__title { margin-bottom: 1.25rem; }

.brandcta__text {
    margin-bottom: 2.25rem;
    line-height: 1.5rem;
}

/* ----- Р°РґР°РїС‚РёРІ СЃС‚СЂР°РЅРёС†С‹ СЃРµСЂРёРё ----- */
@media screen and (max-width: 991px) {
    .brandhero__inner {
        flex-direction: column-reverse;
        gap: 2.5rem;
    }

    .brandhero__media { flex: 0 0 auto; max-width: 20rem; }

    .brandhero__lead { max-width: none; }

    .brandfeats__list { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 767px) {
    .brandhero { padding: 1.5rem 0 2.5rem; }

    .brandfeats__list { grid-template-columns: 1fr; }

    .brandfeat__img { height: 12.5rem; }

    .brandcta { padding: 3.5rem 0; }
}

@media screen and (max-width: 575px) {
    .brandhero__buttons .button { width: 100%; }
}

/* -------------------------------------------------------------------------
   50. Р¤РћР РњР« Р’ РњРћР”РђР›РљРђРҐ: РћРўР—Р«Р’ Р Р’РћРџР РћРЎ
   ---------------------------------------------------------------------- */
.modal--form .modal__dialog { max-width: 36rem; }

.wform {
    display: grid;
    gap: 1.125rem;
    padding: 1.5rem 1.875rem 1.875rem;
    overflow-y: auto;
}

.wform__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.wform__legend {
    margin-bottom: .5rem;
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.field__input--area {
    height: auto;
    min-height: 3.25rem;
    padding: .625rem .875rem;
    line-height: 1.375rem;
    resize: vertical;
}

.field__input--code {
    max-width: 9rem;
    font-family: var(--font-head);
    font-size: 1.5rem;
    letter-spacing: .35em;
    text-align: center;
}

.field__hint--under {
    display: block;
    font-size: .75rem;
    line-height: 1.125rem;
}

/* Р—РІС‘Р·РґС‹: СЂР°Р·РјРµС‚РєР° РёРґС‘С‚ РѕС‚ РїСЏС‚Рё Рє РѕРґРЅРѕР№, РїРѕСЌС‚РѕРјСѓ РїРѕРґСЃРІРµС‚РєСѓ В«РґРѕ РЅР°РІРµРґС‘РЅРЅРѕР№В»
   РґР°С‘С‚ СЃРѕСЃРµРґРЅРёР№ СЃРµР»РµРєС‚РѕСЂ, Р° РЅРµ :has() вЂ” С‚Р°Рє СЂР°Р±РѕС‚Р°РµС‚ Рё РІ СЃС‚Р°СЂС‹С… Р±СЂР°СѓР·РµСЂР°С… */
.stars {
    display: flex;
    flex-direction: row-reverse;
    /* РџРѕСЂСЏРґРѕРє РѕР±СЂР°С‚РЅС‹Р№, РїРѕСЌС‚РѕРјСѓ Рє Р»РµРІРѕРјСѓ РєСЂР°СЋ РїСЂРёР¶РёРјР°РµС‚ flex-end */
    justify-content: flex-end;
    gap: .25rem;
}

.stars__item {
    position: relative;
    display: block;
}

/* РџРµСЂРµРєР»СЋС‡Р°С‚РµР»СЊ РїСЂСЏС‡РµРј, РЅРѕ РѕСЃС‚Р°РІР»СЏРµРј РЅР° РјРµСЃС‚Рµ Р·РІРµР·РґС‹: РЅР°Р¶Р°С‚РёРµ Рё РїРµСЂРµС…РѕРґ
   С‚Р°Р±СѓР»СЏС†РёРµР№ РѕСЃС‚Р°СЋС‚СЃСЏ С€С‚Р°С‚РЅС‹РјРё, Р±РµР· РѕР±СЂР°Р±РѕС‚С‡РёРєРѕРІ РІ СЃРєСЂРёРїС‚Рµ */
.stars__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.stars__label {
    display: block;
    padding: .125rem;
    cursor: pointer;
}

.stars__label .icon {
    color: var(--c-line);
    stroke: none;
    transition: color var(--ease);
}

.stars__item:hover .icon,
.stars__item:hover ~ .stars__item .icon,
.stars__input:checked ~ .stars__label .icon,
.stars__item:has(.stars__input:checked) ~ .stars__item .icon {
    color: var(--c-orange);
}

.stars__input:focus-visible ~ .stars__label { outline: 2px solid var(--c-orange); }

.wform__photos { display: grid; gap: .625rem; }

.wform__upload {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    justify-self: start;
    min-height: 2.5rem;
    padding: .375rem 1rem;
    font-family: var(--font-head);
    font-size: .875rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--c-brown);
    background: var(--c-card);
    border: 1px dashed var(--c-line);
    cursor: pointer;
    transition: border-color var(--ease);
}

.wform__upload:hover { border-color: var(--c-brown); }

.wform__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.wform__thumb { position: relative; }

.wform__thumb-img {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    object-fit: cover;
}

.wform__thumb-drop {
    position: absolute;
    top: -.375rem;
    right: -.375rem;
    display: grid;
    place-items: center;
    width: 1.375rem;
    height: 1.375rem;
    color: var(--c-white);
    background: var(--c-brown);
    border-radius: 50%;
}

.wform__note,
.acc__legal {
    font-size: .75rem;
    line-height: 1.125rem;
    color: var(--c-gray);
}

.wform__state,
.acc__state {
    padding: .75rem .875rem;
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-green);
    background: rgba(76, 122, 52, .09);
}

/* -------------------------------------------------------------------------
   51. РљРђР‘РРќР•Рў Р’ РџРђРќР•Р›Р
   ---------------------------------------------------------------------- */
.action__dot,
.tabbar__dot {
    position: absolute;
    top: -.125rem;
    right: -.125rem;
    width: .4375rem;
    height: .4375rem;
    background: var(--c-green);
    border-radius: 50%;
}

.action { position: relative; }

/* РџСЏС‚Р°СЏ РєРЅРѕРїРєР° В«РљР°Р±РёРЅРµС‚В» СЃСѓР·РёР»Р° СЏС‡РµР№РєРё: РЅР° СѓР·РєРёС… С‚РµР»РµС„РѕРЅР°С… РїРѕРґРїРёСЃРё РёРЅР°С‡Рµ
   РїРµСЂРµРЅРѕСЃСЏС‚СЃСЏ Рё РїР°РЅРµР»СЊ СЃС‚Р°РЅРѕРІРёС‚СЃСЏ РґРІСѓС…СЌС‚Р°Р¶РЅРѕР№ */
@media screen and (max-width: 22.5rem) {
    .tabbar__item { padding-left: .125rem; padding-right: .125rem; }
    .tabbar__label { font-size: .5625rem; letter-spacing: .03em; }
}

.acc { display: grid; gap: 1.25rem; align-content: start; }

.acc__lead {
    font-size: .9375rem;
    line-height: 1.5rem;
    color: var(--c-gray-text);
}

.acc__perks {
    display: grid;
    gap: .625rem;
    margin-top: 1rem;
}

.acc__perks li {
    display: flex;
    align-items: center;
    gap: .625rem;
    font-size: .9375rem;
    color: var(--c-brown);
}

.acc__perks .icon { color: var(--c-orange); }

.acc__form { display: grid; gap: 1rem; }

.acc__again {
    justify-self: start;
    font-size: .8125rem;
    color: var(--c-gray-text);
    text-decoration: underline;
    text-underline-offset: .1875rem;
}

.acc__me {
    display: grid;
    gap: .1875rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--c-line);
}

.acc__name {
    font-family: var(--font-head);
    font-size: 1.25rem;
    color: var(--c-brown);
}

.acc__mail {
    font-size: .875rem;
    color: var(--c-gray-text);
}

.acc__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .625rem;
}

.acc__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .375rem;
    padding: .875rem .5rem;
    font-size: .8125rem;
    text-align: center;
    color: var(--c-brown);
    background: var(--c-card);
    transition: background var(--ease);
}

.acc__tab:hover { background: var(--c-light); }

/* Цветом, а не обводкой: звезда в спрайте залита currentColor */
.acc__tab .icon { width: 1.525rem; height: 1.525rem; color: var(--c-orange); }

.acc__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    font-size: .9375rem;
    line-height: 1.5rem;
    text-align: center;
    color: var(--c-gray-text);
}

.acc__empty .icon { color: var(--c-gray); }

.acc__orders { display: grid; gap: .625rem; }

.acc__order-btn {
    display: grid;
    gap: .375rem;
    width: 100%;
    padding: .875rem 1rem;
    text-align: left;
    background: var(--c-card);
    transition: background var(--ease);
}

.acc__order-btn:hover { background: var(--c-light); }

.acc__order-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .625rem;
}

.acc__order-num {
    font-family: var(--font-head);
    font-size: 1rem;
    color: var(--c-brown);
}

.acc__order-state {
    padding: .125rem .5rem;
    font-size: .75rem;
    color: var(--c-gray-text);
    background: var(--c-white);
}

.acc__order-state--processing { color: var(--c-orange); }
.acc__order-state--completed { color: var(--c-green); }
.acc__order-state--cancelled,
.acc__order-state--failed { color: var(--c-red); }

.acc__order-mid {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.acc__order-sum {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-head);
    font-size: 1rem;
    color: var(--c-brown);
}

.acc__order-chevron { transform: rotate(-90deg); }

.acc__out {
    justify-self: start;
    font-size: .8125rem;
    color: var(--c-gray-text);
    text-decoration: underline;
    text-underline-offset: .1875rem;
}

.acc__ohead { display: grid; gap: .1875rem; }

.acc__oname {
    font-family: var(--font-head);
    font-size: 1.25rem;
    color: var(--c-brown);
}

.acc__odate {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

/* РўР°Р№РјР»Р°Р№РЅ: РїСЂРѕР№РґРµРЅРЅС‹Рµ С€Р°РіРё СЃРѕРµРґРёРЅРµРЅС‹ Р»РёРЅРёРµР№, РїРѕСЌС‚РѕРјСѓ СЃРѕСЃС‚РѕСЏРЅРёРµ РІРёРґРЅРѕ С†РµР»РёРєРѕРј,
   Р° РЅРµ РѕРґРЅРёРј СЃР»РѕРІРѕРј В«РІ РѕР±СЂР°Р±РѕС‚РєРµВ» */
.acc__track {
    display: grid;
    gap: .875rem;
    padding: 1rem 0;
}

.acc__track-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .9375rem;
    color: var(--c-gray);
}

.acc__track-item.is-done { color: var(--c-brown); }

.acc__track-dot {
    display: grid;
    place-items: center;
    width: 1.375rem;
    height: 1.375rem;
    background: var(--c-light);
    border-radius: 50%;
}

.acc__track-item.is-done .acc__track-dot {
    color: var(--c-white);
    background: var(--c-green);
}

.acc__track-item.is-done .icon { color: var(--c-white); }

.acc__track-item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 1.375rem;
    left: .625rem;
    width: 1px;
    height: .875rem;
    background: var(--c-line);
}

.acc__items { display: grid; gap: .75rem; }

.acc__item {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
}

.acc__item-img {
    width: 3rem;
    height: 3rem;
    object-fit: contain;
    background: var(--c-card);
}

.acc__item-body { display: grid; gap: .125rem; }

.acc__item-name {
    font-size: .9375rem;
    line-height: 1.25rem;
    color: var(--c-brown);
}

.acc__item-meta,
.acc__item-sum {
    font-size: .8125rem;
    color: var(--c-gray-text);
}

.summary__row--total {
    padding-top: .625rem;
    font-family: var(--font-head);
    font-size: 1rem;
    color: var(--c-brown);
    border-top: 1px solid var(--c-line);
}

.acc__where {
    display: flex;
    gap: .5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    color: var(--c-gray-text);
}

.acc__where .icon {
    flex: 0 0 auto;
    stroke: var(--c-gray);
}

.acc__mine { display: grid; gap: .875rem; }

.acc__mine-item {
    display: grid;
    gap: .375rem;
    padding: .875rem 1rem;
    background: var(--c-card);
}

.acc__mine-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .625rem;
}

.acc__mine-name {
    font-size: .9375rem;
    color: var(--c-brown);
}

.acc__mine-wait {
    flex: 0 0 auto;
    padding: .125rem .5rem;
    font-size: .75rem;
    color: var(--c-orange);
    background: var(--c-white);
}

.acc__mine-kind {
    display: flex;
    align-items: center;
    gap: .375rem;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--c-gray);
}

.acc__mine-text {
    font-size: .9375rem;
    line-height: 1.375rem;
    color: var(--c-gray-text);
}

.acc__mine-reply {
    padding: .625rem .75rem;
    font-size: .875rem;
    line-height: 1.25rem;
    color: var(--c-gray-text);
    background: var(--c-white);
    border-left: 2px solid var(--c-orange);
}

.acc__mine-reply-who {
    display: block;
    font-family: var(--font-head);
    color: var(--c-brown);
}

@media (max-width: 40rem) {
    .wform { padding: 1.25rem; }
    .wform__row { grid-template-columns: minmax(0, 1fr); }
}

/* ----- РїРµС‡Р°С‚СЊ ----- */
@media print {
    .topbar, .header, .menu-mob, .drawer, .overlay, .search, .mega,
    .section-subscribe, .badges, .tabbar, .modal, .section-recent,
    .product__quick, .filters, .presets, .toolbar, .applied, .picks,
    .more, .buybar, .tabs__nav, .shelf__nav, .section-similar { display: none !important; }
    .catalog { display: block; }
    /* РЅР° Р±СѓРјР°РіРµ РІРєР»Р°РґРѕРє РЅРµС‚ вЂ” РїРµС‡Р°С‚Р°РµРј РІСЃРµ СЂР°Р·РґРµР»С‹ РїРѕРґСЂСЏРґ */
    .tabs__panel[hidden],
    .shelf__panel[hidden] { display: block !important; }
    .card { display: block; }
    .card__gallery { position: static; }
    .body { padding-top: 0; background: #fff; }
    .picture { display: none; }
    .hero, .ingredients, .stats { height: auto; padding-top: 0; }
    .ingredients__content { padding-top: 0; color: var(--c-brown); }
    .calc__result { color: var(--c-brown); background: #fff; border: 1px solid var(--c-line); }
}
