/* Ретро-клетка — оформление сайта.
   Акцент снят с самой ткани F13: красный тартана и его же синий.
   Нейтральные тона тёплые, под цвет некрашеной шерсти. */

:root{
  --paper:#F7F4EE; --surface:#FFFFFF; --surface-2:#F0EBE1;
  --ink:#181613; --ink-2:#453F37; --muted:#6E675C;
  --line:#E3DCD0; --line-strong:#CFC5B4;
  --accent:#B4232A; --accent-deep:#8E1A20; --accent-soft:#FBEDEC;
  --navy:#25344F; --ok:#2F7D57;
  --shadow:0 1px 2px rgba(24,22,19,.05), 0 10px 28px -18px rgba(24,22,19,.35);
  --radius:3px;
  --wrap:1140px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#17150F; --surface:#201D17; --surface-2:#2A261E;
    --ink:#F0EBE1; --ink-2:#CFC7B8; --muted:#9A9184;
    --line:#332E25; --line-strong:#463F33;
    --accent:#E0625F; --accent-deep:#F08A85; --accent-soft:#2B1D1B;
    --navy:#93A7C6; --ok:#63BC8D;
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 12px 32px -20px rgba(0,0,0,.9);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.65 "Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-deep);text-underline-offset:2px}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:760px}

h1,h2,h3,h4{font-family:"Fraunces","Georgia",serif;font-weight:600;line-height:1.15;
  letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(29px,4.6vw,46px)}
h2{font-size:clamp(23px,3vw,31px);margin-top:1.6em}
h3{font-size:clamp(19px,2.2vw,22px);margin-top:1.4em}
p{margin:0 0 1em;max-width:68ch}
.lead{font-size:clamp(18px,2.1vw,21px);color:var(--ink-2);line-height:1.55}
.mono{font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin:0 0 12px}

/* ---------- шапка ---------- */
.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;gap:18px;min-height:66px;flex-wrap:wrap}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1.05}
.logo b{font-family:"Fraunces",serif;font-size:22px;letter-spacing:.02em}
.logo span{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);margin-top:3px}
.top nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto;font-size:15px}
.top nav a{color:var(--ink-2);text-decoration:none}
.top nav a:hover,.top nav a[aria-current]{color:var(--accent);text-decoration:underline}
.tel{font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ink)}
.lang{display:flex;gap:6px;font-size:13px;font-family:"IBM Plex Mono",monospace}
.lang a{padding:3px 7px;border:1px solid var(--line-strong);border-radius:var(--radius);
  text-decoration:none;color:var(--muted)}
.lang a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- хлебные крошки ---------- */
.crumbs{font-size:13.5px;color:var(--muted);padding:16px 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li::after{content:"›";margin-left:6px;color:var(--line-strong)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--muted)}

/* ---------- главный экран ---------- */
.hero{padding:44px 0 8px}
.hero .lead{max-width:60ch}
.facts{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);background:var(--surface);
  margin:28px 0 0}
.facts div{flex:1 1 160px;padding:14px 18px;border-right:1px solid var(--line)}
.facts div:last-child{border-right:0}
.facts dt{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:0 0 5px}
.facts dd{margin:0;font-family:"Fraunces",serif;font-size:25px;font-weight:600;line-height:1}
.facts dd small{display:block;font-family:"Instrument Sans",sans-serif;font-size:13px;
  font-weight:400;color:var(--muted);margin-top:5px;line-height:1.4}

/* ---------- сетка товаров ---------- */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  margin:26px 0 0;padding:0;list-style:none}
.card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;
  text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s}
.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}
.card .ph{aspect-ratio:1;overflow:hidden;background:var(--surface-2)}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .b{padding:13px 15px 15px;display:flex;flex-direction:column;gap:7px;flex:1}
.chip{align-self:flex-start;font-family:"IBM Plex Mono",monospace;font-size:12.5px;
  font-weight:600;background:var(--accent-soft);color:var(--accent-deep);padding:2px 7px}
.card h3{font-size:16.5px;margin:0;line-height:1.3;font-family:"Instrument Sans",sans-serif;
  font-weight:600;letter-spacing:0}
.card .price{margin-top:auto;padding-top:9px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.card .price b{font-family:"Fraunces",serif;font-size:19px}
.stock{font-size:13px;color:var(--ok)}
.stock.low{color:var(--accent)}

/* ---------- разделы ---------- */
.sections{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  margin:26px 0 0;padding:0;list-style:none}
.sec{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);
  padding:16px;text-decoration:none;color:inherit}
.sec:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.sec img{width:88px;height:88px;object-fit:cover;flex:none}
.sec h3{margin:0 0 5px;font-size:19px}
.sec p{margin:0;font-size:14.5px;color:var(--muted);max-width:none}

/* ---------- карточка товара ---------- */
.prod{display:grid;gap:34px;grid-template-columns:minmax(0,1fr);margin:22px 0 0}
@media(min-width:860px){.prod{grid-template-columns:minmax(0,520px) minmax(0,1fr)}}
.shots{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.shots figure{margin:0}
.shots img{border:1px solid var(--line);width:100%}
.shots figcaption{font-size:12.5px;color:var(--muted);margin-top:5px}
.buy{background:var(--surface);border:1px solid var(--line);padding:20px;margin:0 0 22px}
.buy .p{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.buy .p b{font-family:"Fraunces",serif;font-size:34px;line-height:1}
.buy .p span{color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;
  padding:13px 24px;font-weight:600;border:0;border-radius:var(--radius);margin-top:14px}
.btn:hover{background:var(--accent-deep);color:#fff}
.btn.ghost{background:transparent;color:var(--accent-deep);border:1px solid var(--accent);
  margin-left:8px}
.btn.ghost:hover{background:var(--accent-soft);color:var(--accent-deep)}
table.spec{width:100%;border-collapse:collapse;font-size:15.5px;margin:0 0 20px}
table.spec th,table.spec td{text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--line);
  vertical-align:top}
table.spec th{font-weight:600;width:46%;color:var(--ink-2)}
table.spec td{font-variant-numeric:tabular-nums}

/* ---------- блоки текста ---------- */
.note{background:var(--surface-2);border-left:3px solid var(--accent);padding:14px 18px;margin:0 0 20px}
.note p:last-child{margin:0}
.usage{margin:0 0 20px;padding-left:20px}
.usage li{margin:0 0 7px}
.faq h3{font-size:19px;margin-top:1.5em}
.rel{margin:46px 0 0}
.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 20px}
.tags li a{display:inline-block;font-size:13.5px;border:1px solid var(--line-strong);
  padding:4px 10px;text-decoration:none;color:var(--ink-2);background:var(--surface)}
.tags li a:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- подвал ---------- */
footer{background:var(--surface);border-top:1px solid var(--line);margin-top:64px;
  padding:36px 0 28px;font-size:15px}
.fgrid{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer h4{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:0 0 8px}
footer a{color:var(--ink-2);text-decoration:none}
footer a:hover{color:var(--accent);text-decoration:underline}
.copy{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
  color:var(--muted);font-size:13.5px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
section{margin:0 0 10px}
.pad{padding:34px 0 0}

/* корзина */

.qtyrow{display:flex;gap:10px;align-items:center;margin:14px 0 0;flex-wrap:wrap}
.qty{display:flex;align-items:center;border:1px solid var(--line-strong);background:var(--surface)}
.qty button{width:38px;height:42px;border:0;background:none;font-size:20px;line-height:1;
  cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--surface-2)}
.qty input{width:64px;height:42px;border:0;text-align:center;font:600 16px/1 "IBM Plex Mono",monospace;
  background:none;color:var(--ink)}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty input[type=number]{-moz-appearance:textfield}
.qtyrow .unit{color:var(--muted);font-size:14px}
.cart-link{position:relative}
.cart-count{display:none;position:absolute;top:-7px;right:-12px;min-width:18px;height:18px;
  border-radius:9px;background:var(--accent);color:#fff;font:600 11px/18px "IBM Plex Mono",monospace;
  text-align:center;padding:0 5px}
.cart-count.on{display:block}
table.cart{width:100%;border-collapse:collapse;margin:0 0 22px}
table.cart th,table.cart td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);
  text-align:left;vertical-align:middle}
table.cart th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  font-weight:500;font-family:"IBM Plex Mono",monospace}
table.cart td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.cart img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line)}
.cart-line{display:flex;gap:12px;align-items:center}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;
  border-top:2px solid var(--ink);padding-top:14px;margin:0 0 24px}
.cart-total b{font-family:"Fraunces",serif;font-size:28px}
.rm{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px;text-decoration:underline}
.rm:hover{color:var(--accent)}
form.order{display:grid;gap:14px;max-width:560px}
form.order label{display:block;font-size:14px;color:var(--ink-2);margin:0 0 5px}
form.order input,form.order textarea{width:100%;padding:11px 13px;border:1px solid var(--line-strong);
  background:var(--surface);color:var(--ink);font:400 16px/1.4 inherit;border-radius:var(--radius)}
form.order textarea{min-height:88px;resize:vertical}
form.order input:focus,form.order textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.field-err{color:var(--accent);font-size:13px;margin:5px 0 0}
.okbox{background:var(--surface);border:1px solid var(--ok);border-left:4px solid var(--ok);
  padding:20px 22px;margin:0 0 22px}
.okbox h2{margin-top:0}
