@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; font-display: swap; src: url(/fonts/playfair-display-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; font-display: swap; src: url(/fonts/playfair-display-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/podkova-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/podkova-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Russo One'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/russo-one-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Russo One'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/russo-one-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/golos-text-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/golos-text-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/fonts/jetbrains-mono-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/fonts/jetbrains-mono-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/fonts/oswald-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/fonts/oswald-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root{
  --red:#AD190F; --red-l:#D8322A; --red-d:#7E120B;
  --cream:#FBF7F0; --cream-2:#F3ECE0; --white:#FFFFFF;
  --ink:#1E1A17; --muted:#6E6660; --line:#E4DBCD;
  --ok:#2E7D4F;
  --disp:"Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:16px}
.cap{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:11px}
.disp{font-family:var(--disp);text-transform:uppercase;letter-spacing:.01em;line-height:.95;text-wrap:balance}
@media (prefers-reduced-motion:reduce){*:not(.run){animation:none!important;transition:none!important}}


/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{width:44px;height:44px;border-radius:50%}
.brand b{font-family:var(--disp);font-size:24px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-size:10px;letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:3px}
.cartbtn{position:relative;display:flex;align-items:center;gap:8px;background:none;border:1.5px solid var(--ink);border-radius:999px;padding:8px 14px}
.cartbtn .n{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 5px}
.cartbtn svg{width:20px;height:20px}

/* hero */
.ctas{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 22px;font-weight:700;text-decoration:none;border:0;font-size:15px}
.btn.red{background:var(--red);color:#fff}
.btn.red:hover{background:var(--red-d)}
.btn.ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.hours{display:inline-flex;align-items:center;gap:10px;margin-top:20px;background:var(--white);border:1.5px solid var(--ink);border-radius:999px;padding:9px 16px;font-size:14px}
.hours .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none}
.facts{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:13px}
.facts b{color:var(--ink);font-family:var(--mono);font-weight:700}

/* category tiles */

/* chips nav */
.chips{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-height,65px));z-index:15;background:var(--cream);border-bottom:1px solid var(--line)}
.chips .wrap{display:flex;gap:8px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.chips .wrap::-webkit-scrollbar{display:none}
.chip{flex:none;text-decoration:none;color:var(--ink);border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:7px 14px;font-weight:600;font-size:13px;white-space:nowrap}
.chip.on{background:var(--ink);color:var(--cream)!important}

/* catalog */
section.sec{padding-block:28px 6px}
.sech{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.sech h2{font-size:clamp(34px,6vw,54px);color:var(--red);margin:0}
.sech .cap{color:var(--muted)}
.grid-p{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.card{display:flex;flex-direction:column;gap:8px;min-width:0}
.card .img{position:relative;aspect-ratio:1;background:var(--cream-2);overflow:hidden;border:0;padding:0;display:block;width:100%}
.card .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.card .img:hover img{transform:scale(1.03)}
.card .noimg{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:8px;background:#F1E8DA}
.card .noimg::after{content:'Фото скоро';font-family:var(--body);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9C7A3C}
.card .noimg img{width:48%;height:auto;opacity:.6;object-fit:contain}
.tag{position:absolute;top:8px;left:8px;background:var(--white);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px}
.tag.hot{background:var(--red);color:#fff;border-color:var(--red)}
.tag.hit{background:var(--ink);color:#fff;border-color:var(--ink)}
.card h3{font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:4px 0 0;line-height:1.3;text-wrap:balance}
.price{font-family:var(--disp);font-size:24px;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.price small{font-family:var(--body);font-size:12px;color:var(--muted);font-weight:500;margin-left:4px}
.price.na{font-size:16px;color:var(--muted)}
.good{display:flex;gap:8px;color:var(--ink)}
.good svg{width:20px;height:20px}
.buy{display:flex;align-items:center;gap:6px;margin-top:auto}
.step{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:999px;height:38px;flex:none}
.step button{width:30px;height:100%;background:none;border:0;font-size:18px;font-weight:600}
.step output{min-width:48px;text-align:center;font-family:var(--mono);font-size:13px;font-weight:700}
.add{flex:1;white-space:nowrap;height:38px;border-radius:999px;background:var(--red);color:#fff;border:0;font-weight:700;font-size:13px;padding:0 10px;min-width:0}
.add:hover{background:var(--red-d)}
.add.in{background:var(--ink)}

/* manifesto */

/* why */
.cmp{display:grid;grid-template-columns:1fr 92px 92px;align-items:stretch;max-width:760px}
.cmp .h{padding:10px 6px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cmp .h.me{background:var(--ink);color:#fff;border:2px solid var(--red);border-bottom:0}
.cmp .f{background:var(--cream-2);padding:14px 16px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--cream)}
.cmp .c{display:grid;place-items:center;border-bottom:1px solid var(--cream)}
.cmp .c.me{background:var(--ink);border-inline:2px solid var(--red)}
.cmp .c.me.last{border-bottom:2px solid var(--red)}
.ok,.meh{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px}
.ok{background:var(--red);color:#fff}
.meh{background:transparent;color:var(--muted);font-size:11px;font-weight:600;width:auto;text-align:center;line-height:1.2}
.pros{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px;margin-top:22px;max-width:760px}
.pro{display:flex;align-items:center;gap:14px;font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:.04em}
.pro i{width:52px;height:52px;background:var(--red);display:grid;place-items:center;flex:none}
.pro i svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.8}

/* boxes */


/* delivery */
.deliv{padding-block:44px}
.deliv .grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.deliv h2{font-size:clamp(36px,6vw,58px);color:var(--red);margin:0 0 14px}
.dl{display:grid;gap:0;border-top:1.5px solid var(--ink)}
.dl div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.dl dt{font-weight:600}
.dl dd{margin:0;font-family:var(--mono);font-size:13px;text-align:right}
.store{position:relative;overflow:hidden;max-width:100%}
.store img{width:100%;height:auto;display:block}
.store .lbl{position:absolute;left:0;bottom:0;background:var(--white);padding:12px 16px}
.store .lbl b{font-family:var(--disp);font-size:22px;text-transform:uppercase;display:block}

footer{background:var(--ink);color:#EDE5D8;padding-block:30px 110px;font-size:13px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
footer .x{display:flex;align-items:center;gap:10px}
footer svg{width:34px;height:34px}
footer .num{font-family:var(--mono);user-select:all}

/* bottom cart bar */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--cream) 70%,rgba(251,247,240,0))}
.bar button{width:100%;max-width:560px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;background:var(--red);color:#fff;border:0;border-radius:999px;padding:15px 22px;font-weight:700;font-size:15px}
.bar .t{font-family:var(--mono)}

/* sheets */
.scrim{position:fixed;inset:0;background:rgba(30,26,23,.5);z-index:40}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--cream);max-height:92%;overflow-y:auto;border-radius:14px 14px 0 0;padding:0 0 calc(24px + env(safe-area-inset-bottom,0px));max-width:720px;margin:0 auto}
.sheet .hd{position:sticky;top:0;background:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);z-index:2}
.sheet .hd b{font-family:var(--disp);font-size:22px;text-transform:uppercase}
.x-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ink);background:none;font-size:18px;line-height:1}
.sheet .in{padding:16px;display:grid;gap:18px}
.pd-img{aspect-ratio:1/1;overflow:hidden;background:var(--cream-2);width:100%;max-width:420px;margin:0 auto}
.pd-img img{width:100%;height:100%;object-fit:cover;display:block}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{border:1.5px solid var(--ink);border-radius:999px;padding:4px 11px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pd h2{font-family:var(--body);font-size:20px;letter-spacing:.1em;text-transform:uppercase;margin:0;line-height:1.25}
.wchips{display:flex;gap:8px;flex-wrap:wrap}
.wchip{border:1.5px solid var(--ink);background:var(--white);border-radius:999px;padding:9px 16px;font-family:var(--mono);font-weight:700;font-size:13px}
.wchip.on{background:var(--ink);color:var(--cream)}
.note{font-size:12px;color:var(--muted)}
.deliverline{display:flex;gap:10px;align-items:center;background:var(--white);border:1px solid var(--line);padding:10px 12px;font-size:13px}
.deliverline i{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none}
.goodfor .cap{color:var(--ink);margin-bottom:10px}
.goodfor .gl{display:flex;flex-wrap:wrap;gap:10px 22px}
.goodfor .gl div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600;letter-spacing:.14em;font-size:12px;text-transform:uppercase}
.goodfor svg{width:30px;height:30px;color:var(--ink)}
.label{background:var(--white);border:2px solid var(--ink);padding:10px 12px;max-width:340px;font-family:var(--body)}
.label .t{font-family:var(--disp);font-size:30px;line-height:1;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.label .s{font-size:12px;border-bottom:8px solid var(--ink);padding:4px 0}
.label .kc{display:flex;justify-content:space-between;align-items:end;border-bottom:4px solid var(--ink);padding:4px 0}
.label .kc b{font-family:var(--disp);font-size:26px;line-height:1}
.label .r{display:flex;justify-content:space-between;border-bottom:1px solid #B9B0A4;padding:4px 0;font-size:13px}
.label .r:last-of-type{border-bottom:0}
.label .r b{font-weight:700}
.label .foot{font-size:10.5px;color:var(--muted);margin-top:6px}
.sheet:has(.sticky-buy){padding-bottom:0}
.sticky-buy{position:sticky;bottom:0;background:var(--cream);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;gap:10px;align-items:center}
.sticky-buy .add{height:48px;font-size:15px}
.ci{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}
.ci img{width:56px;height:56px;object-fit:cover}
.ci .nm{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.ci .sm{font-family:var(--mono);font-size:12px;color:var(--muted)}
.ci .rm{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:12px;padding:0}
.tot{display:grid;gap:6px;font-size:14px}
.tot div{display:flex;justify-content:space-between}
.tot .big{font-family:var(--disp);font-size:26px;color:var(--red)}
.meter{height:6px;background:var(--cream-2);border-radius:3px;overflow:hidden}
.meter i{display:block;height:100%;background:var(--red);transition:width .3s}
form.co{display:grid;gap:12px}
form.co label{display:grid;gap:5px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
form.co input,form.co select,form.co textarea{font:inherit;font-size:16px;text-transform:none;letter-spacing:0;font-weight:400;border:1.5px solid var(--ink);background:var(--white);border-radius:8px;padding:11px 12px;width:100%;color:var(--ink)}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.seg button{border:0;background:var(--white);padding:10px;font-weight:700;font-size:13px}
.seg button.on{background:var(--ink);color:var(--cream)}
.chk{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-size:13px!important}
.chk input{width:20px!important;height:20px;flex:none;margin-top:2px}
.empty,.done{text-align:center;display:grid;justify-items:center;gap:10px;padding:18px 0}
.empty img,.done img{width:120px;height:auto}
.done h3{font-family:var(--disp);font-size:34px;text-transform:uppercase;color:var(--red);margin:0}
.err{color:var(--red);font-size:13px;font-weight:600}

.more{display:inline-block;margin-top:18px;font-weight:700;color:var(--red);text-decoration:none;border-bottom:2px solid var(--red)}
.how{padding-block:44px 30px}
.how h2{font-size:clamp(34px,6vw,54px);color:var(--red);margin:0 0 16px;text-shadow:3px 3px 0 rgba(30,26,23,.9)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:s}
.steps li{counter-increment:s;background:var(--white);border:1.5px solid var(--ink);padding:18px 16px;display:grid;gap:6px}
.steps li::before{content:counter(s);font-family:var(--disp);font-size:40px;line-height:1;color:var(--red)}
.steps b{font-family:var(--disp);text-transform:uppercase;font-size:22px;font-weight:600}
.steps span{font-size:14px;color:#3a332e}
.cb{background-color:var(--red);color:#fff;padding-block:44px}
.cb-in{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
.cb h2{font-size:clamp(38px,6vw,64px);margin:0 0 10px;text-shadow:4px 4px 0 var(--ink)}
.cb p{margin:0;font-size:16px;max-width:30em}
.cbf{display:grid;gap:12px;background:var(--cream);color:var(--ink);padding:18px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.cbf label{display:grid;gap:5px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.cbf input:not([type=checkbox]){font:inherit;font-size:16px;border:1.5px solid var(--ink);background:var(--white);border-radius:8px;padding:11px 12px;width:100%;color:var(--ink);text-transform:none;letter-spacing:0}
.cbf .lp-btn{border:0;background:var(--red);color:#fff;cursor:pointer}
.cbf .cbdone{color:var(--ok);font-weight:700}
.lp-btn{display:inline-block;font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;font-size:17px;padding:13px 28px;text-decoration:none}
.flash{animation:flash 1.6s ease}
@keyframes flash{0%,40%{box-shadow:0 0 0 4px var(--red)}100%{box-shadow:0 0 0 0 transparent}}

/* hero with banner */
@media (max-width:820px){
  .h2-img{width:170%;max-width:none;margin-left:-35%;margin-top:-112px}
}
/* engraving tiles */
footer{background-color:var(--ink)}
/* cut diagram */
/* photo frame */

/* motion */
.cartbtn.bump{animation:bump .5s ease}
@keyframes bump{30%{transform:scale(1.15)}60%{transform:scale(.95)}}
.add.in{animation:pop .35s ease}
@keyframes pop{50%{transform:scale(1.06)}}

@media (max-width:820px){
  .hero .grid{grid-template-columns:1fr}
  .hero .ph{aspect-ratio:16/11;order:-1}
  .grid-p{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}
  .card .buy{flex-wrap:wrap}
  .card .step{flex:1 1 100%;justify-content:space-between}
  .card .add{flex:1 1 100%}
  .pros{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .cb-in{grid-template-columns:1fr}
  .card .buy{flex-wrap:wrap}
  .card .step{flex:1 1 100%;justify-content:space-between}
  .card .add{flex:1 1 100%}
}
@media (max-width:420px){
  .cartbtn .cap{display:none}
  .sech{flex-wrap:wrap}
  .cmp{grid-template-columns:1fr 74px 74px}
  .cmp .f{font-size:11.5px;padding:12px 10px}
  .step output{min-width:40px}
  .step button{width:26px}
}

/* Anchor offsets follow the measured sticky header and navigation. */
main[id],main section[id]{scroll-margin-top:var(--anchor-offset,140px)}
.chip{min-height:44px;display:inline-flex;align-items:center}

.main-pages{display:flex;gap:20px;overflow:auto}.main-pages a{color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap;min-height:44px;display:flex;align-items:center;font-size:12px}.main-contacts{display:flex;flex-wrap:wrap;gap:8px}.main-contacts .contact-link{padding:10px 14px;border:1px solid var(--line);display:flex;gap:18px;min-height:44px}

/* 3 колонки на телефоне: узкие названия переносятся и не залезают на соседей */
@media (max-width:820px){
  .card h3{font-size:12px;letter-spacing:.04em}
}
@media (max-width:600px){.grid-p{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.card h3{font-size:13px;letter-spacing:.05em}.card .price{font-size:26px}.card .add{height:44px;font-size:14px}.step{height:44px}.step button{width:36px}}
@media (max-width:360px){
  .card .step{padding-inline:4px;gap:0}
  .card .step button{width:22px}
  .card .step output{min-width:32px;font-size:13px}
}
@media (max-width:820px){.card .price small{display:block;margin-left:0}}
footer .legal{flex:1 0 100%;margin:0;font-size:12px;opacity:.75}
.fz{font-size:12px;color:var(--muted)}.pdinfo{margin:14px 0;font-size:13px;line-height:1.5}.pdinfo b{margin-right:4px}.pdinfo .ln{color:var(--muted);font-size:12px;margin-top:6px}
.vch{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.vch button{min-height:44px;padding:0 14px;border:1.5px solid var(--ink);border-radius:999px;background:none;font-weight:700;font-size:13px;color:var(--ink)}.vch button.on{background:var(--ink);color:var(--cream)}
.shopst{font-size:12px;line-height:1.4;text-align:center;padding:8px 16px;background:var(--cream-2);color:var(--ink);border-bottom:1px solid var(--line)}.shopst .d{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:var(--muted);vertical-align:1px}.shopst.open .d{background:var(--ok)}.shopst.paused .d{background:var(--red)}.shopst b{font-weight:700}.paused{border:1.5px solid var(--ink);padding:12px 14px}.paused p{margin:0 0 8px}
.foot-pages{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px 20px}.foot-pages a{color:#EDE5D8;font-size:13px;min-height:32px;display:flex;align-items:center}
.acc{border-top:1.5px solid var(--line)}.acc>summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;min-height:48px}.acc>summary::-webkit-details-marker{display:none}.acc>summary::after{content:'+';font-size:22px;font-weight:500}.acc[open]>summary::after{content:'−'}.acc[open]{padding-bottom:14px}.acc .gl{display:flex;flex-wrap:wrap;gap:10px 22px}.acc .gl div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600;letter-spacing:.14em;font-size:12px;text-transform:uppercase}.acc .gl svg{width:30px;height:30px;color:var(--ink)}
.strip{background:var(--red);color:var(--white);overflow:hidden;white-space:nowrap}.strip .run{display:inline-flex;gap:40px;padding:8px 20px 8px 0;animation:run 38s linear infinite}.strip span{font-family:var(--body);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:11px}@keyframes run{to{transform:translateX(-50%)}}

.card .img{background:#EFE6D8}
.card .img img{mix-blend-mode:multiply}
.card{gap:10px}.card .price{margin-top:-2px}
/* категории: текстовые вкладки вместо «облачков» */
.chips .wrap{gap:24px;padding-block:0}
.chip{border:0;border-radius:0;background:none;padding:0 2px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;min-height:52px}
.chip.on{background:none;color:var(--ink)!important;border-bottom-color:var(--red)}

/* без синей/серой вспышки при нажатии на телефоне */
button,a,summary{-webkit-tap-highlight-color:transparent}
.step button:focus,.step button:focus-visible,.plus:focus,.plus:focus-visible{outline:0}
/* вкладки категорий похожи на кнопки */
.chips .wrap{gap:8px;padding-block:8px}
.chip{background:var(--cream-2);border-radius:10px;border-bottom:0;padding:0 14px;min-height:40px;color:var(--ink);letter-spacing:.06em;transition:transform .12s}
.chip:active{transform:scale(.96)}
.chip.on{background:var(--ink);color:#fff!important;border-bottom:0}

/* первый экран: заголовок на стене, стол с мясом внизу на всю ширину, без пустых мест */

/* одна липкая панель (категории); шапка уезжает при прокрутке: нет двух панелей и пропаданий на телефоне */
header.top{position:static}
.chips{top:env(safe-area-inset-top,0px)}

/* первый экран, вариант 2: заголовок слева в две строки, кнопки на стыке фото и светлой полосы */

/* Ассортимент: заголовок красным блоком, карточки как у Graza */
.as-title{background:var(--red);color:#fff;padding:34px 0 30px}
.as-title h1{font-size:clamp(44px,14.2vw,130px);margin:0;line-height:.9;color:#fff;letter-spacing:.005em}
.as-title p{margin:14px 0 0;font-size:16px;max-width:30em;opacity:.95}
.card{gap:6px}
.card .img{border-radius:18px;overflow:hidden;background:#EFE6D8}
.card .img .tag{left:10px;top:10px;background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.card .img .tag.hot{background:var(--red);color:#fff;border-color:var(--red)}
.card .img .tag.hit{background:var(--ink);color:#fff}
.pchip{position:absolute;right:10px;top:10px;background:#fff;color:var(--red);font-family:var(--disp);font-size:18px;line-height:1;padding:7px 11px 6px;border-radius:999px;box-shadow:0 2px 8px rgba(30,26,23,.14)}
.pchip.na{font-family:var(--body);font-size:11px;font-weight:700;color:var(--muted)}
.cap2{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.card h3{font-family:var(--disp);font-weight:600;font-size:21px;letter-spacing:.015em;line-height:1.05;margin:0}
.card .buy{margin-top:8px}
.card .add{height:48px;width:100%;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.step.big{height:48px;width:100%;justify-content:space-between;background:#fff}.step.big button{width:52px}
.card h3{min-height:2.1em}.card .buy{margin-top:auto;padding-top:8px}

/* Главная: огромный логотип, стол с мясом, сплошные цветные блоки */
.hm{position:relative;background:#DCD4CB;display:flex;flex-direction:column;min-height:calc(100svh - 92px);overflow:hidden}
.hm-top{padding:22px 16px 0;text-align:center;position:relative;z-index:2}
.hm-logo{font-family:var(--disp);font-weight:700;text-transform:uppercase;color:var(--red);font-size:clamp(80px,33vw,300px);line-height:.86;margin:0;letter-spacing:.01em}
.hm-slogan{font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:clamp(20px,6vw,38px);letter-spacing:.06em;margin:8px 0 2px;color:var(--ink)}
.hm-addr{margin:0;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8C6D3A}
.hm-ph{position:relative;flex:1;min-height:200px}
.hm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24%);mask-image:linear-gradient(to bottom,transparent 0,#000 24%)}
.hm-cta{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;height:56px;font-size:16px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 20px rgba(30,26,23,.3);max-width:520px;margin:0 auto}
.blk{padding:46px 0 44px}
.blk h2{font-size:clamp(46px,13vw,110px);margin:0 0 14px;line-height:.92}
.blk h2 em{font-style:normal;display:block}
.blk p{font-size:17px;margin:0 0 22px;max-width:30em}
.blk-red{background:var(--red);color:#fff}.blk-red h2 em{color:var(--cream)}
.blk-cream{background:var(--cream);color:var(--ink)}.blk-cream h2{color:var(--red)}
.blk-ink{background:var(--ink);color:#fff}.blk-ink h2{color:#fff}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cat{display:block;text-decoration:none;color:var(--ink)}
.cat .ci{display:block;aspect-ratio:1;border-radius:18px;background:#EFE6D8;overflow:hidden}
.cat .ci img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;display:block}
.cat b{display:block;margin-top:8px;font-family:var(--disp);font-weight:600;font-size:22px;line-height:1.05;text-transform:uppercase}
.how{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px;counter-reset:s}
.how li{counter-increment:s;border-top:1.5px solid rgba(255,255,255,.35);padding-top:14px;display:grid;gap:4px}
.how li::before{content:counter(s);font-family:var(--disp);font-size:48px;line-height:1;color:var(--red-l)}
.how b{font-family:var(--disp);font-weight:600;text-transform:uppercase;font-size:26px}
.how span{opacity:.85}
.btn.white{background:#fff;color:var(--red);height:54px;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.blk-ink .btn.white{color:var(--ink)}
.deliv .dl{margin:0 0 20px}.deliv .store{margin:0 0 20px;border-radius:18px;overflow:hidden}
@media (min-width:760px){.tiles{grid-template-columns:repeat(4,1fr)}.cats{grid-template-columns:repeat(4,1fr)}.how{grid-template-columns:repeat(3,1fr)}}

.hm{min-height:0}
.hm-logo{font-size:26.5vw}
@media (min-width:760px){.hm-logo{font-size:clamp(120px,22vw,300px)}}
.hm-ph{flex:none;min-height:0;aspect-ratio:1800/750;margin-top:-18px}
.hm-ph img{object-fit:cover;object-position:50% 100%}
.hm-cta{bottom:14px}

.hm-logo{font-size:23.6vw}
@media (min-width:760px){.hm-logo{font-size:clamp(120px,19vw,260px)}}
.hm-top .hm-cta{position:static;display:flex;margin:18px auto 0;width:100%;box-shadow:0 8px 20px rgba(173,25,15,.28)}
.hm-ph{margin-top:-6px}
footer .contact-link{color:#EDE5D8;text-decoration:none;border-color:rgba(255,255,255,.35);border-radius:999px}

/* стиль из Pinterest «Визуал»: мраморность мяса, бирки, редакционные подписи, метки обрезки, красная печать */
.blk-red,.cb,.as-title{background-image:url("/img/marble-red.svg");background-size:cover;background-position:center}
.blk-cream{background-image:url("/img/marble-cream.svg");background-size:cover;background-position:center}
.kick{display:flex;align-items:center;gap:12px;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;opacity:.9}
.kick::after{content:'';flex:1;height:1.5px;background:currentColor;opacity:.4}
.blk-cream .kick{color:var(--red)}
.pchip{right:8px;top:12px;border-radius:4px 0 0 4px;padding:8px 10px 7px 22px;clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);box-shadow:none;background:#fff}
.pchip::before{content:'';position:absolute;left:9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#EFE6D8;box-shadow:inset 0 0 0 1px rgba(30,26,23,.25)}
.cat .ci{position:relative}
.cat .ci::after{content:'';position:absolute;inset:9px;pointer-events:none;opacity:.55;background:
 linear-gradient(var(--ink),var(--ink)) left top/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right top/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) left bottom/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1.5px 12px no-repeat}

/* Tony's: диагональные края блоков, белые карточки с наклоном, плакатная полоса, подложки по категориям */
:root{--cut:24px}
.blk,.cb{margin-top:calc(var(--cut) * -1);padding-top:calc(46px + var(--cut));padding-bottom:calc(44px + var(--cut));clip-path:polygon(0 0,100% var(--cut),100% 100%,0 calc(100% - var(--cut)));position:relative}
.cb{padding-block:calc(44px + var(--cut))}
.blk-red{z-index:1}.blk-cream{z-index:2}.blk-ink{z-index:3}.deliv{z-index:4}.cb{z-index:5}
footer{margin-top:calc(var(--cut) * -1);padding-top:calc(30px + var(--cut));clip-path:polygon(0 0,100% var(--cut),100% 100%,0 100%);position:relative;z-index:6}
.how li{background:#fff;color:var(--ink);border:0;border-radius:6px;padding:16px 16px 18px;box-shadow:0 6px 16px rgba(0,0,0,.3);transform:rotate(-1.2deg)}
.how li:nth-child(even){transform:rotate(1.1deg)}
.how li::before{color:var(--red)}.how span{opacity:.8}
.cat[data-s="c-meat"] .ci,#c-meat .card .img{background:#F2D9D1}
.cat[data-s="c-cook"] .ci,#c-cook .card .img{background:#EFE2C4}
.cat[data-s="c-deli"] .ci,#c-deli .card .img{background:#E9D6C9}
.cat[data-s="c-ready"] .ci,#c-ready .card .img{background:#E6DCC6}

.blk h2{font-family:'Russo One','Oswald',sans-serif;font-weight:400;font-size:clamp(34px,9.6vw,80px);letter-spacing:0;line-height:1.02;text-transform:uppercase}
.as-title h1{font-family:'Russo One','Oswald',sans-serif;font-weight:400;font-size:clamp(34px,10.2vw,100px);letter-spacing:0;line-height:1}

/* выравнивание: одинаковые поля 16 px, кнопки в блоках на всю ширину колонки как главная кнопка */
.blk .btn,.deliv .btn{display:flex;width:100%;max-width:520px}
.blk-red .btn,.blk-ink .btn,.deliv .btn{margin-top:4px}
@media (min-width:760px){.blk .btn,.deliv .btn{display:inline-flex;width:auto}}
.how,.tiles,.cats{margin-inline:0}
.hm-top,.blk .wrap,.cb-in,footer .wrap{padding-inline:16px}
.hm-top{padding-inline:16px}
.cb h2{font-family:'Russo One','Oswald',sans-serif;font-weight:400;font-size:clamp(34px,9.6vw,80px);line-height:1.02;letter-spacing:0;text-shadow:none;text-transform:uppercase}

/* слово «МЯСОЕД»: Podkova ExtraBold */
.hm-logo{font-family:'Podkova','Oswald',serif;font-weight:800;letter-spacing:0;font-size:19.4vw;line-height:.95}
@media (min-width:760px){.hm-logo{font-size:clamp(110px,16vw,230px)}}
.brand b{font-family:'Podkova','Oswald',serif;font-weight:800;font-size:22px;letter-spacing:.01em}
.hm-slogan{font-family:'Russo One','Oswald',sans-serif;font-weight:400;font-size:clamp(15px,4.4vw,30px);letter-spacing:.04em;margin:10px 0 4px}
.hm-slogan{font-family:'Playfair Display','Podkova',serif;font-weight:900;font-size:clamp(17px,5.2vw,34px);letter-spacing:.02em}
.hm-slogan{font-size:clamp(22px,6.6vw,40px);line-height:1.08;letter-spacing:.01em;text-wrap:balance;max-width:11em;margin:12px auto 6px}
/* большие заголовки: Playfair Display Black */
.blk h2,.cb h2{font-family:'Playfair Display','Podkova',serif;font-weight:900;font-size:clamp(30px,8.8vw,72px);line-height:1.04;letter-spacing:0}
.as-title h1{font-family:'Playfair Display','Podkova',serif;font-weight:900;font-size:clamp(30px,9.2vw,92px);line-height:1;letter-spacing:0}
.sech h2{font-family:'Playfair Display','Podkova',serif;font-weight:900;font-size:clamp(28px,8vw,56px);line-height:1.05;letter-spacing:0;text-transform:uppercase}

/* читаемость: прожилки на красном приглушены, мелкие заголовки плотным шрифтом */
.blk-red,.cb,.as-title{background-image:linear-gradient(rgba(150,20,12,.62),rgba(150,20,12,.62)),url("/img/marble-red.svg")}
.as-title h1,.blk-red h2,.cb h2{text-shadow:0 2px 0 rgba(90,8,4,.35)}
.as-title p,.blk-red p,.cb p{font-weight:500;text-shadow:0 1px 0 rgba(90,8,4,.3)}
.kick{opacity:1}
.sech h2{font-family:'Podkova','Playfair Display',serif;font-weight:800;font-size:clamp(26px,7.4vw,46px);letter-spacing:.005em}
/* слово «МЯСОЕД» картинкой: буквы из мраморного мяса, кремовый фон гасится multiply на сером */
.hm-logo{font-size:0;line-height:0;margin:0 0 6px}
.hm-logo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.hm-top{z-index:auto}
.hm-logo img{mix-blend-mode:normal}

/* читаемость надписи: светлая стена под ней, лёгкая тень у букв, чище кремовый фон блоков */
.hm{background:linear-gradient(to bottom,#FBF7F0 0,#F1EBE1 38%,#DCD4CB 78%)}
.hm-logo img{filter:drop-shadow(0 2px 0 rgba(30,26,23,.28))}
.blk-cream{background-image:linear-gradient(rgba(251,247,240,.55),rgba(251,247,240,.55)),url("/img/marble-cream.svg")}

.hm-slogan{margin:16px auto 22px}
.hm-addr{margin-bottom:6px}
/* слоган красным штампом (картинка с прозрачным фоном), чуть наклонён */
.hm-slogan{padding:0;background:none;border:0;box-shadow:none;font-size:0;line-height:0;width:min(78%,420px);margin:10px auto 14px;transform:rotate(-2deg)}
.hm-slogan img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 0 rgba(255,255,255,.55))}

/* слоган: просто текст */
.hm-slogan{display:block;width:auto;max-width:11em;margin:12px auto 10px;padding:0;background:none;border:0;box-shadow:none;transform:none;font-family:'Playfair Display','Podkova',serif;font-weight:900;font-size:clamp(22px,6.6vw,40px);line-height:1.08;letter-spacing:.01em;text-transform:uppercase;text-wrap:balance;color:var(--ink)}


/* штампы вместо плиток в блоке «Почему Мясоед»: раскиданы внахлёст */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);align-items:start;margin:30px 0 22px}
.stamp{position:relative}
.stamp img{display:block;width:100%;height:auto}
.stamp:nth-child(1){grid-area:1/1/2/7;transform:rotate(-4deg);margin-top:6px}
.stamp:nth-child(2){grid-area:1/7/2/13;margin-top:38px;transform:rotate(3.5deg)}
.stamp:nth-child(3){grid-area:2/1/3/7;margin-top:6px;transform:rotate(2.5deg)}
.stamp:nth-child(4){grid-area:2/7/3/13;margin-top:34px;transform:rotate(-3deg)}

.blk-red h2{font-size:clamp(26px,7.4vw,60px)}

/* вкладки страниц под шапкой (уезжают при прокрутке, липкая только панель категорий) */
.pgtabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px 10px;background:var(--cream)}
.pgtabs a{display:flex;align-items:center;justify-content:center;min-height:46px;border:2px solid var(--red);outline:2px solid var(--red);outline-offset:3px;border-radius:4px;color:var(--red);font:700 17px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.page-home .pgtabs a[data-p=home],.page-assortment .pgtabs a[data-p=assortment]{background:var(--red);color:var(--cream)}
.pgtabs{grid-template-columns:1fr 1.5fr 1.15fr;gap:10px;padding-inline:14px}
.pgtabs a{font-size:13.5px;letter-spacing:.06em;min-height:44px;padding:0 2px}

/* блок «Контакты»: ряд из трёх кнопок с иконками, фото со статусом и адресом, условия списком */
.cst{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.store .cst{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:6px;background:#fff;padding:6px 10px 6px 9px;border-radius:999px;font:700 11.5px/1 var(--disp);letter-spacing:.08em;box-shadow:0 4px 12px rgba(30,26,23,.3)}
.store .cst::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px rgba(46,125,79,.25)}
.store .cst.closed::before,.store .cst.paused::before{background:var(--red);box-shadow:0 0 0 2px rgba(173,25,15,.22)}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;border:2px solid var(--red);border-radius:6px;text-decoration:none;font:700 13px/1 var(--disp);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.act svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.act-call{background:var(--red);color:#fff}
.act:active{transform:scale(.97)}
.deliv .store{margin:0 0 6px}
.deliv .store .lbl{padding:8px 12px}
.deliv .store .lbl .cap{font-size:9px}
.deliv .store .lbl b{font-size:16px;margin-top:2px}
.deliv .store .lbl .adr{font-size:11px;line-height:1.25;display:block;margin-top:2px}
.dl a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--red)}
/* компьютер: две колонки, слева текст и кнопки, справа большое фото */
@media (min-width:900px){
  .deliv .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:56px;align-items:start;padding-block:12px}
  .deliv .kick{grid-area:1/1}
  .deliv h2{grid-area:2/1;font-size:clamp(44px,5vw,64px);margin:6px 0 22px}
  .deliv .acts{grid-area:3/1;gap:12px;margin-bottom:26px}
  .deliv .dl{grid-area:4/1;margin:0}
  .deliv .store{grid-area:1/2/5/3;align-self:stretch;margin:0;min-height:460px}
  .deliv .store img{height:100%;object-fit:cover;position:absolute;inset:0}
  .act{min-height:84px;font-size:15px;transition:background-color .15s,color .15s}
  .act svg{width:26px;height:26px}
  .act:hover{background:var(--red);color:#fff}
  .act-call:hover{background:var(--red-d);border-color:var(--red-d)}
  .dl div{padding:15px 0}
  .dl dt{font-size:17px}.dl dd{font-size:15px}
  .store .cst{left:18px;top:18px;padding:9px 16px 9px 13px;font-size:14px}
  .store .cst::before{width:10px;height:10px}
  .deliv .store .lbl{padding:14px 20px}
  .deliv .store .lbl .cap{font-size:11px}.deliv .store .lbl b{font-size:24px}.deliv .store .lbl .adr{font-size:13px}
}

/* штампы на широком экране: один ряд из четырёх, умеренного размера */
@media (min-width:760px){
  .tiles{display:flex;align-items:center;justify-content:center;gap:28px;margin:30px 0 30px}
  .stamp{flex:0 1 250px;margin:0!important}
  .stamp:nth-child(n){grid-area:auto}
  .stamp:nth-child(even){translate:0 14px}
}

/* первый экран и вкладки на широком экране: собранная колонка по центру, фото ниже ограничено по высоте */
@media (min-width:760px){
  .pgtabs{max-width:560px;margin-inline:auto;padding-inline:0}
  .hm-top{max-width:720px;margin-inline:auto}
  .hm-top .hm-cta{width:min(100%,340px)}
  .hm-ph{aspect-ratio:auto;height:clamp(240px,30vw,400px)}
}

/* «Наши правила»: компактнее на телефоне и компьютере */
.blk-red{padding-top:calc(22px + var(--cut));padding-bottom:calc(20px + var(--cut))}
.blk-red .btn{margin-top:0}
.tiles{max-width:300px;margin:16px auto 14px}
.stamp:nth-child(1),.stamp:nth-child(3){margin-top:0}
.stamp:nth-child(2){margin-top:20px}.stamp:nth-child(4){margin-top:18px}
@media (min-width:760px){
  .tiles{max-width:none;margin:18px 0 16px}
  .stamp{flex:0 1 215px}
  /* фото столов: без обрезки сверху и без размытия мясорубки и стопки */
  .hm-ph{width:100%;height:auto;aspect-ratio:1800/750;max-width:1400px;margin-inline:auto}
  .hm-ph img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%);mask-image:linear-gradient(to bottom,transparent 0,#000 6%)}
}

/* кнопка «Весь ассортимент» переехала в «Что берут»; «Наши правила» ещё компактнее */
.blk-red{padding-bottom:calc(10px + var(--cut))}
.blk-red .tiles{margin-bottom:6px}
.blk-cream .btn{margin-top:20px}


/* переход по «Контакты»: блок встаёт почти к верху экрана, а не на 140 px ниже */
#deliv{scroll-margin-top:-44px}

/* подвал с косым верхом не должен задевать последний ряд карточек */
.page-assortment #catalog{padding-bottom:calc(var(--cut) + 28px)}

/* кнопки покупки: прямоугольные со скруглением 6 px, как в блоке «Контакты» */
.add,.step,.step.big{border-radius:6px}
.card .add,.sticky-buy .add{text-transform:uppercase;letter-spacing:.1em}

.bar button{border-radius:6px}

/* карточка: цена строкой под названием (без бирки на фото и без повтора «BYN за кг»), кнопки компактнее */
.card .pr{font:600 14px/1 var(--disp);letter-spacing:.04em;color:var(--muted);margin-top:2px}
.card .pr b{font:700 22px/1 var(--disp);color:var(--red);letter-spacing:.01em}
.card .pr.na{font-size:13px;color:var(--muted)}
.card h3{min-height:2.1em}
.card .buy{padding-top:6px}
.card .add{height:36px;font-size:12px;letter-spacing:.1em}
.card .step,.card .step.big{height:36px}
.card .step button{font-size:16px}
@media (max-width:600px){.card .add{height:36px;font-size:12px}.card .step,.card .step.big{height:36px}}

/* название и цена на бирке под фото (на фото ничего не лежит); тот же шрифт в окне товара и корзине */
.tagc{position:relative;display:flex;flex-direction:column;gap:7px;background:#fff;margin-top:6px;padding:10px 10px 9px 24px;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}
.tagc::before,.pd h2::before{content:"";position:absolute;left:10px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#EFE6D8;box-shadow:inset 0 0 0 1px rgba(30,26,23,.28)}
.tagc h3{font:600 17px/1.08 var(--disp);letter-spacing:.02em;text-transform:uppercase;min-height:2.16em;margin:0}
.tagc .pr{margin:0;padding-top:7px;border-top:1.5px dashed #DCD2C3}
.pd h2{position:relative;font:600 25px/1.06 var(--disp);letter-spacing:.02em;background:#fff;padding:12px 12px 12px 28px;clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%)}
.pd h2::before{left:12px;width:8px;height:8px;margin-top:-4px}
.ci .nm{font:600 17px/1.1 var(--disp);letter-spacing:.02em}

.tagc{padding:9px 8px 8px 22px}
.tagc h3{font-size:16px;letter-spacing:.01em;text-wrap:wrap;min-height:2.16em}

/* бирка: название по центру своей области (одна и две строки смотрятся ровно), цена по центру */
.tagc{text-align:center;padding:10px 8px 9px 22px}
.tagc h3{display:flex;align-items:center;justify-content:center;min-height:2.16em;text-align:center}
.tagc .pr{text-align:center}

/* бирка компактнее: меньше отступы, названия 15 px, цена в одну плотную строку */
.card{gap:4px}
.tagc{gap:3px;margin-top:2px;padding:6px 6px 6px 20px}
.tagc h3{font-size:15px;line-height:1.05;min-height:2.1em}
.tagc .pr{padding-top:4px;border-top-width:1px;line-height:1}
.tagc .pr b{font-size:19px}
.card .buy{padding-top:2px}
.card .add,.card .step,.card .step.big{height:34px}

/* бирка = сгенерированная рамка-штамп (tag-frame.webp), текст по центру */
.tagc,.pd h2{background:url(/img/brand/tag-frame.webp) center/100% 100% no-repeat;clip-path:none}
.tagc::before,.pd h2::before{display:none}
.tagc{margin-top:4px;padding:10px 14px 9px;gap:3px}
.tagc h3{font-size:14.5px;min-height:2.1em}
.tagc .pr{border-top:1px solid rgba(173,25,15,.35);padding-top:3px}
.pd h2{padding:14px 20px;text-align:center}

/* бирка: содержимое по центру рамки, равные поля сверху и снизу, цена не касается нижней линии */
.tagc{justify-content:center;gap:4px;padding:14px 14px 14px;min-height:84px}
.tagc h3{font-size:14px;min-height:2.1em;margin:0}
.tagc .pr{padding-top:4px;margin:0}
.tagc .pr b{font-size:18px}
.pd h2{padding:16px 20px}

/* тонкая одинарная рамка бирки (tag-frame-thin.webp): меньше места по краям */
.tagc,.pd h2{background-image:url(/img/brand/tag-frame-thin.webp)}
.tagc{padding:9px 10px;min-height:68px;gap:3px}
.tagc h3{font-size:14.5px}
.tagc .pr{padding-top:3px}
.tagc .pr b{font-size:19px}
.pd h2{padding:12px 16px}

/* карточка одним блоком: фото и название с ценой на общей подложке категории, без рамки и линии между ними */
.card{gap:0}
.card .img{border-radius:16px 16px 0 0}
.card .tagc{margin:0;background:#EFE6D8;background-image:none;border-radius:0 0 16px 16px;padding:2px 10px 12px;min-height:0;gap:3px}
#c-meat .card .tagc{background:#F2D9D1}
#c-cook .card .tagc{background:#EFE2C4}
#c-deli .card .tagc{background:#E9D6C9}
#c-ready .card .tagc{background:#E6DCC6}
.card .tagc .pr{border-top:0;padding-top:0}
.card .buy{margin-top:8px;padding-top:0}

/* карточка: белая подложка вместо цветных, уголки на фото как на плитках главной, общая тонкая обводка */
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img{background:#fff;border:1px solid #E8DFD0;border-bottom:0}
.card .tagc,#c-meat .card .tagc,#c-cook .card .tagc,#c-deli .card .tagc,#c-ready .card .tagc{background:#fff;border:1px solid #E8DFD0;border-top:0}
.card .img::after{content:'';position:absolute;inset:9px;pointer-events:none;opacity:.5;background:
 linear-gradient(var(--ink),var(--ink)) left top/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right top/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) left bottom/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/1.5px 12px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1.5px 12px no-repeat}
/* окно товара: фото на белом, блоки раскрыты и разделены линиями */
.pd-img{background:#fff}
.pd>.pds,.pd>.deliverline,.pd>.pdinfo{border-top:1.5px solid var(--ink);padding-top:14px}
.pd>.deliverline{background:none;border-left:0;border-right:0;border-bottom:0;padding-left:0;padding-right:0}
.pds h4{margin:0 0 10px;font:600 18px/1 var(--disp);letter-spacing:.06em;text-transform:uppercase}
.pds .gl{display:flex;flex-wrap:wrap;gap:10px 22px}
.pds .gl div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600;letter-spacing:.14em;font-size:12px;text-transform:uppercase}

/* окно товара: красный мраморный верх, фото белой карточкой с уголками выступает за его край */
#pd .hd{background:#8F160D url("/img/marble-red.svg") center/cover;border-bottom:0;color:#fff}
#pd .hd .cap{color:#fff}
#pd .hd .x-btn{background:transparent;border:1.5px solid #fff;color:#fff}
.pd-top{margin:-16px -16px 36px;padding:14px 16px 0;background:linear-gradient(rgba(150,20,12,.62),rgba(150,20,12,.62)),url("/img/marble-red.svg") center/cover}
.pd-top .pd-img{position:relative;margin:0 auto -36px;background:#fff;border:1px solid #E8DFD0;box-shadow:0 10px 24px rgba(30,26,23,.3)}
.pd-top .pd-img::after{content:'';position:absolute;inset:10px;pointer-events:none;opacity:.5;background:
 linear-gradient(var(--ink),var(--ink)) left top/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1.5px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right top/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/1.5px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) left bottom/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/1.5px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1.5px 14px no-repeat}
.pd-top .pd-img img{mix-blend-mode:multiply}


/* окно товара на весь экран на телефоне: сверху не остаётся кусок страницы */
@media (max-width:720px){
  #pd{top:0;max-height:none;height:100%;border-radius:0;max-width:none}
  #pd .hd{padding-top:calc(14px + env(safe-area-inset-top,0px))}
}
/* фон квадратов с фото: светлый мрамор с красными прожилками вместо плоской подложки */
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img,.pd-top .pd-img{background:linear-gradient(rgba(251,247,240,.5),rgba(251,247,240,.5)),url("/img/marble-cream.svg") center/cover}
.card .tagc,#c-meat .card .tagc,#c-cook .card .tagc,#c-deli .card .tagc,#c-ready .card .tagc{background:#FBF7F0}
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img,.pd-top .pd-img{background:linear-gradient(rgba(251,247,240,.12),rgba(251,247,240,.12)),url("/img/marble-cream.svg") center/cover}

/* вкладки страниц: больше воздуха вокруг и между кнопками */
.pgtabs{padding:16px 20px 16px;gap:14px}

/* компьютер: фото поднято под текст (пустая стена за кнопкой), затухание сверху мягче, без резкой границы */
@media (min-width:760px){
  .hm-top{position:relative;z-index:2}
  .hm-ph{margin-top:-70px}
  .hm-ph img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.55) 6%,#000 11.5%);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.55) 6%,#000 11.5%)}
}

/* окно товара: фото меньше и товар в нём отдалён */
.pd-top .pd-img{max-width:340px}
.pd-top .pd-img img{object-fit:contain;padding:12%;box-sizing:border-box}

/* фон фото без прожилок: чистый белый, уголки остаются */
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img,.pd-top .pd-img{background:#fff}
.card .tagc,#c-meat .card .tagc,#c-cook .card .tagc,#c-deli .card .tagc,#c-ready .card .tagc{background:#fff}

/* открытый товар: фон квадрата с фото красноватый, светлее в центре и плотнее к краям (виньетка) */
.pd-top .pd-img{background:radial-gradient(circle at 50% 46%,#F7E3DA 0%,#EBC3B6 62%,#DDA595 100%)}
/* открытый товар: под мясом чистый белый (красноватую виньетку убрали), по краю позже ляжет рамка из специй */
.pd-top .pd-img{background:#fff}

/* ассортимент: компактный заголовок, категории текстом с подчёркиванием (не похожи на вкладки-штампы) */
.as-title{padding:14px 0 12px}
.as-title h1{font-size:clamp(26px,8vw,40px)}
.as-title p{margin:4px 0 0;font-size:12.5px;line-height:1.3}
.chips .wrap{gap:22px;padding-block:0;align-items:flex-end}
.chip{background:none;border:0;border-radius:0;border-bottom:3px solid transparent;padding:0 1px;min-height:42px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.chip.on{background:none;color:var(--ink)!important;border-bottom-color:var(--red)}
.chip:active{transform:none}

/* категории: снова кнопки-плашки, крупнее (44 px), с заметной рамкой и нажатием */
.chips .wrap{gap:8px;padding-block:8px;align-items:center}
.chip{background:#fff;color:var(--ink)!important;border:1.5px solid var(--ink);border-radius:10px;min-height:44px;padding:0 16px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;box-shadow:0 2px 0 rgba(30,26,23,.9)}
.chip:active{transform:translateY(2px);box-shadow:none}
.chip.on{background:var(--ink);color:#fff!important;border-color:var(--ink);border-bottom-color:var(--ink)}

/* вкладки страниц: кнопки со штамп-подписями, нижняя «толстая» тень, нажимаются вниз */
.pgtabs{grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 16px 18px;max-width:none}
.pgtabs a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 6px;border:2px solid var(--red);outline:0;border-radius:8px;background:#fff;box-shadow:0 4px 0 var(--red);transition:transform .1s,box-shadow .1s}
.pgtabs a:active{transform:translateY(3px);box-shadow:0 1px 0 var(--red)}
.pgtabs .tc{display:block;height:14px;width:auto}
.page-home .pgtabs a[data-p=home],.page-assortment .pgtabs a[data-p=assortment]{background:var(--red);box-shadow:0 4px 0 var(--red-d)}
.page-home .pgtabs a[data-p=home] img,.page-assortment .pgtabs a[data-p=assortment] img{filter:brightness(0) invert(1)}
@media (min-width:760px){.pgtabs{max-width:560px;margin-inline:auto}.pgtabs a:hover{background:#FBEDE9}.page-home .pgtabs a[data-p=home]:hover,.page-assortment .pgtabs a[data-p=assortment]:hover{background:var(--red-d)}}


/* вкладки ниже: кнопка 38 px, меньше отступы, тень 3 px */
.pgtabs{padding:8px 16px 10px;gap:10px}
.pgtabs a{min-height:38px;border-width:1.5px;box-shadow:0 3px 0 var(--red)}
.pgtabs a:active{transform:translateY(2px);box-shadow:0 1px 0 var(--red)}
.page-home .pgtabs a[data-p=home],.page-assortment .pgtabs a[data-p=assortment]{box-shadow:0 3px 0 var(--red-d)}
.pgtabs .tc{height:12px}

/* открытый товар: белый фон под мясом, тёмно-красный ободок рассеивается от краёв квадрата к центру */
.pd-top .pd-img{background:radial-gradient(circle at 50% 50%,#fff 0,#fff 48%,rgba(214,140,126,.9) 72%,#9B1A10 100%)}
.pd-top .pd-img::after{filter:invert(1);opacity:.7}

/* открытый товар: белый квадрат чуть меньше, неровная чёрная рамка-штамп по контуру (9-slice), уголки остаются */
.pd-top .pd-img{max-width:300px;box-sizing:border-box;background:#fff;border:14px solid transparent;border-image:url(/img/brand/photo-frame.webp) 36 / 14px stretch;box-shadow:0 10px 24px rgba(30,26,23,.3)}
.pd-top .pd-img::after{filter:none;opacity:.5;inset:6px}
.pd-top .pd-img img{padding:10%}
/* рамка квадрата с фото на 2 px толще */
.pd-top .pd-img{border-width:16px;border-image:url(/img/brand/photo-frame.webp) 36 / 16px stretch;max-width:304px}
.pd-top .pd-img::after{inset:4px}

/* «Мясо / Фасовка / Срок / Состав»: ячейки-плашки вместо строки текста */
.pdinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0;font-size:13px}
.pdinfo>div{background:#fff;border:1.5px solid var(--ink);border-radius:6px;padding:8px 12px 9px;font:600 17px/1.15 var(--disp);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.pdinfo>div b{display:block;margin:0 0 4px;font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pdinfo>div:nth-child(n+3){grid-column:1/-1;text-transform:none;font:500 14px/1.35 var(--body);letter-spacing:0}

/* штучные товары: один крупный переключатель вместо ряда цифр */
.pdstep{display:grid;grid-template-columns:64px 1fr 64px;align-items:stretch;height:56px;background:#fff;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}
.pdstep button{background:none;border:0;font:500 30px/1 var(--disp);color:var(--ink);cursor:pointer}
.pdstep button:active{background:#F1E8DA}
.pdstep button:first-child{border-right:1.5px solid var(--ink)}
.pdstep button:last-child{border-left:1.5px solid var(--ink)}
.pdstep output{display:grid;place-items:center;font:600 26px/1 var(--disp);letter-spacing:.03em}

/* компьютер: вкладки страниц крупнее */
@media (min-width:760px){
  .pgtabs{max-width:760px;gap:16px;padding:14px 0 18px}
  .pgtabs a{min-height:54px;border-width:2px;box-shadow:0 4px 0 var(--red)}
  .pgtabs a:active{box-shadow:0 1px 0 var(--red)}
  .page-home .pgtabs a[data-p=home],.page-assortment .pgtabs a[data-p=assortment]{box-shadow:0 4px 0 var(--red-d)}
  .pgtabs .tc{height:17px}
}


/* название в открытом товаре: сгенерированная чёрная рамка-штамп (9-slice) на белом */
.pd h2{background:#fff;clip-path:none;border:12px solid transparent;border-image:url(/img/brand/title-frame.webp) 30 / 12px stretch;padding:6px 10px;text-align:center}
/* подписи «Подходит для» в одну строку; пять вариантов веса в один ряд */
.pds .gl div{white-space:nowrap;letter-spacing:.1em}
.wchips{gap:6px}
.wchip{padding-inline:11px}

/* белый фон не выходит за скруглённые углы рамок; рамка названия тоньше */
.pd-top .pd-img{border-radius:14px;background-clip:padding-box}
.pd h2{border-radius:12px;background-clip:padding-box;border-width:8px;border-image:url(/img/brand/title-frame.webp) 30 / 8px stretch;padding:8px 10px}

/* «Подходит для»: гравюрные иконки с подписью под ними */
.pds .gl{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px 8px}
.pds .gl div{flex-direction:column;align-items:center;gap:4px;text-align:center;color:var(--ink);font:600 12px/1.1 var(--disp);letter-spacing:.1em;text-transform:uppercase;white-space:normal}
.pds .gl .gi{display:block;width:76px;height:76px;object-fit:contain}

.pds .gl{grid-template-columns:repeat(auto-fill,92px);gap:12px 14px;justify-content:start}

/* квадрат с фото: сгенерированная рамка (чёрная, красная заливка, чёрная), толщина 16 px, белое строго по внутренней линии */
.pd-top .pd-img{max-width:304px;border:16px solid transparent;border-image:url(/img/brand/photo-frame2.webp) 52 / 16px stretch;border-radius:19px;background:#fff;background-clip:padding-box;box-shadow:0 10px 24px rgba(30,26,23,.3)}
.pd-top .pd-img::after{filter:none;opacity:.5;inset:4px}
/* рамка квадрата тоньше: 11 px */
.pd-top .pd-img{border-width:11px;border-image:url(/img/brand/photo-frame2.webp) 52 / 11px stretch;border-radius:14px}
.pd-top .pd-img::after{inset:3px}

/* фон под фото везде кремовый, как на странице; белый фон снимков растворяется (multiply) */
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img,.pd-top .pd-img{background-color:var(--cream)}
.card .tagc,#c-meat .card .tagc,#c-cook .card .tagc,#c-deli .card .tagc,#c-ready .card .tagc{background:var(--cream)}
.card .img img,.pd-top .pd-img img{mix-blend-mode:multiply}

/* карточки каталога: без тонкой обводки */
.card .img,#c-meat .card .img,#c-cook .card .img,#c-deli .card .img,#c-ready .card .img,.card .tagc,#c-meat .card .tagc,#c-cook .card .tagc,#c-deli .card .tagc,#c-ready .card .tagc{border:0}

/* карточки каталога: минимальная тень вместо обводки */
.card .img,.card .tagc{filter:drop-shadow(0 1px 3px rgba(30,26,23,.11))}

/* больше воздуха между карточками */
.grid-p{gap:30px 18px}
@media (max-width:820px){.grid-p{gap:30px 16px}}
@media (max-width:600px){.grid-p{gap:32px 16px}}
@media (min-width:1000px){.grid-p{gap:36px 24px}}

/* ===== открытый товар: единая типографика и отступы ===== */
/* шапка товара: бейджи, название, цена */
.in.pd{gap:16px;padding-bottom:24px}
.pd .badges{gap:8px}
.pd .badge{font:600 12px/1 var(--disp);letter-spacing:.1em;padding:6px 12px 5px;border-width:1.5px}
.pdp{display:grid;gap:4px}
.pdp1{display:flex;align-items:baseline;gap:8px}
.pdp1 b{font:700 40px/1 var(--disp);color:var(--red);letter-spacing:.01em}
.pdp1 span{font:600 14px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pdp2{font:500 14px/1.3 var(--body);color:var(--muted)}
.pdp.na{font:600 18px/1.2 var(--disp);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
/* блоки: линия сверху, заголовок Oswald, содержимое */
.pd>.pds{border-top:1.5px solid var(--ink);padding-top:16px}
.pds h4{margin:0 0 12px;font:600 18px/1 var(--disp);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.pds .note{margin:10px 0 0;font:500 13px/1.35 var(--body);color:var(--muted)}
/* кнопки веса и вид: прямоугольные 6 px, Oswald */
.wchips,.vch{display:flex;flex-wrap:wrap;gap:8px}
.wchip,.vch button{min-height:44px;padding:0 13px;border:1.5px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink);font:600 17px/1 var(--disp);letter-spacing:.03em;cursor:pointer}
.wchip.on,.vch button.on{background:var(--ink);color:#fff}
/* доставка: выровненный список */
.pdl{margin:0;display:grid}
.pdl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.pdl>div:first-child{border-top:1px solid var(--line)}
.pdl dt{font:500 15px/1.2 var(--body);color:var(--muted)}
.pdl dd{margin:0;font:600 18px/1 var(--disp);letter-spacing:.03em}
/* «О товаре» */
.pdinfo{margin:0}
.pdinfo>div:nth-child(n+3){font:500 14px/1.4 var(--body)}

/* пять вариантов веса: ровная сетка в одну строку */
.wchips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.wchip{padding:0 4px;font-size:16px;text-align:center}

/* «Что берут» на главной: один кремовый фон под фото, как в ассортименте (без цветных подложек категорий) */
.cat .ci,.cat[data-s] .ci{background:var(--cream)}

/* «Что берут»: ровный кремовый фон блока без прожилок и плитки без собственной подложки (никаких оттенков и теней) */
.blk-cream:has(#cats){background:var(--cream)}
.cat .ci,.cat[data-s] .ci{background:transparent;box-shadow:none;filter:none}
/* белый фон снимков доводится до чистого белого, чтобы на кремовом не оставалось контура «коробки» */
.cat .ci img,.card .img img,.pd-top .pd-img img{filter:brightness(1.025)}
.cat .ci{border-radius:0;overflow:visible}
.cat .ci img{border-radius:0}
.cat .ci{overflow:hidden}
.cat .ci img{transform:scale(1.03)}
/* класс .ci общий с корзиной: убираем её нижнюю линию и отступ у плиток «Что берут» */
.cat .ci{border:0;padding:0}
.cat .ci img{transform:none}

/* «Наши правила»: верхний край красного блока прямой, не заходит на фото столов (скос остаётся только снизу) */
.blk-red{margin-top:0;padding-top:28px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--cut)))}

/* подпись адреса на фото магазина: цвет фона сайта, тонкая чёрная обводка */
.deliv .store .lbl{background:var(--cream);border:1px solid var(--ink);left:10px;bottom:10px}
@media (min-width:900px){.deliv .store .lbl{left:18px;bottom:18px}}
/* подпись адреса на фото магазина: скруглённые углы */
.deliv .store .lbl{border-radius:12px}

/* корзина: сколько не хватает до минимума и до бесплатной доставки */
.nudge{margin:6px 0 0;font-size:14px}
.nudge b{color:var(--red);white-space:nowrap}
.freebar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.freebar i{display:block;height:100%;background:var(--red)}

/* товар закончился: фото приглушено, кнопка неактивна */
.card.out .img img{opacity:.45}
.add[disabled]{background:var(--line);color:var(--muted);cursor:default}

/* текст, пока скрипт рисует каталог (и если скрипт не загрузился) */
.catfb{padding:32px 0;font-size:16px}
.catfb a{color:var(--red);font-weight:700}

/* зоны нажатия не меньше 44 px: корзина, галочки согласия, ссылки подвала */
#cart .cstep{height:44px}
#cart .cstep button{width:44px}
.ci .rm{min-height:44px;display:inline-flex;align-items:center;padding:0 16px 0 0}
.chk{min-height:44px;align-items:center!important}
.chk input{width:24px!important;height:24px;margin-top:0}
footer .main-contacts a,footer .foot-pages a{min-height:44px;display:inline-flex;align-items:center}

/* заглушка: плашка «Онлайн-заказ скоро» под вкладками, кнопки-ссылки на звонок */
.phbanner{padding:10px 16px 0;background:var(--cream)}
.phbanner .phb{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 10px;border:2px solid var(--red);border-radius:6px;padding:8px 12px;text-align:center;color:var(--ink);font-size:14px;line-height:1.35}
.phbanner b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;color:var(--red);font-size:16px}
.phbanner a{color:var(--red);font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;min-height:32px}
a.add{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.mode-phone .card .add{white-space:normal;line-height:1.15;font-size:12px;letter-spacing:.06em}
/* кнопка первого экрана: прямоугольная 6 px, как остальные кнопки */
.hm-cta{border-radius:6px}

/* баннер согласия на cookie: небольшая карточка внизу через 1,5 с; «Отклонить» и «Принять» одного размера,
   «Принять» справа (под большой палец), фирменный красный с нижней тенью как у вкладок; подробности по «Подробнее» */
.ckb{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:35;max-width:420px;margin:0 auto;background:var(--cream);color:var(--ink);border:1.5px solid var(--ink);border-radius:6px;box-shadow:0 8px 22px rgba(30,26,23,.24);padding:10px 12px 12px;font-size:13px;line-height:1.35;max-height:75vh;overflow-y:auto;animation:ckIn .2s ease-out}
.ckb.out{opacity:0;transform:translateY(10px);transition:opacity .18s,transform .18s}
@keyframes ckIn{from{transform:translateY(8px)}to{transform:none}}
.ck-q{margin:0}
.ck-q b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:600;margin-right:2px}
.ck-q span{color:var(--muted)}
.ck-more{background:none;border:0;padding:10px 0;margin:-10px 0;color:var(--ink);text-decoration:underline;text-underline-offset:2px;font:inherit;cursor:pointer}
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ck-btns button{height:42px;border-radius:6px;font-weight:700;font-size:14px;cursor:pointer}
.ck-no{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.ck-yes{background:var(--red);color:#fff;border:0;box-shadow:0 3px 0 var(--red-d)}
.ck-yes:active{transform:translateY(2px);box-shadow:0 1px 0 var(--red-d)}
.ck-opts{display:none;gap:10px;padding-top:10px;font-size:12.5px}
.ckb.full .ck-opts{display:grid}
.ckb.full .ck-more{display:none}
.ck-opts p{margin:0;color:var(--muted)}
.ck-opts label{display:flex;gap:10px;align-items:flex-start}
.ck-opts input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--red)}
.ck-opts b{display:block}
.ck-save{height:40px;border:1.5px solid var(--ink);border-radius:6px;background:transparent;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer}
.cookie-link{background:none;border:0;color:inherit;text-decoration:underline;font:inherit;padding:0;min-height:44px;cursor:pointer}

/* список товаров из HTML для поиска и медленной сети; скрипт заменяет его карточками */
.seo-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px;font-size:15px}
.seo-list a{color:var(--ink);font-weight:700}

/* страница 404 */
.nf-acts{display:flex;gap:12px;flex-wrap:wrap;padding:24px 16px 48px}
.nf-acts .btn{border-radius:6px}
footer .num a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.nf-acts .btn{height:54px;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.co-note{margin:0;font-size:12px;text-align:center}
