:root{
  --bg:#FAF8F5; --surface:#FFFFFF; --ink:#14130F; --muted:#7C766C; --line:#E7E2DA;
  --gold:#A98B5B; --gold-soft:#F2EADC; --dark:#14130F; --dark-ink:#F3EFE8;
  --r:2px; --wrap:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:15px;line-height:1.55;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;margin:0;letter-spacing:.01em}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sec{padding:52px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.sec-head h2{font-size:clamp(22px,3.4vw,30px)}
.sec-head a{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2px}
.sec-head a:hover{color:var(--gold);border-color:var(--gold)}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ---------- шапка ---------- */
.notice{background:var(--dark);color:var(--dark-ink);text-align:center;
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px}
header.top{position:sticky;top:0;z-index:40;background:rgba(250,248,245,.94);
  backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;gap:14px;padding:14px 20px;max-width:var(--wrap);margin:0 auto}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px;letter-spacing:.22em;
  line-height:1;padding-right:6px}
.brand small{display:block;font-family:"Inter",sans-serif;font-size:8.5px;letter-spacing:.3em;
  color:var(--muted);text-transform:uppercase;margin-top:4px;padding-left:4px}
nav.main{display:flex;gap:20px;margin-left:auto;font-size:13.5px}
nav.main a{padding:4px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a.on{border-bottom-color:var(--gold);color:var(--gold)}
.tools{display:flex;align-items:center;gap:8px;margin-left:12px}
.pill{border:1px solid var(--line);background:none;border-radius:40px;padding:5px 10px;
  font-size:12px;color:var(--muted);letter-spacing:.06em}
.pill:hover{border-color:var(--gold);color:var(--gold)}
.cartbtn{position:relative;border:0;background:var(--dark);color:var(--dark-ink);
  border-radius:40px;padding:7px 14px;font-size:12.5px;letter-spacing:.08em}
.cartbtn b{font-weight:600}
.burger{display:none;border:1px solid var(--line);background:none;border-radius:2px;padding:6px 9px}

@media (max-width:900px){
  nav.main{display:none;order:5;width:100%;margin:0;padding-top:10px;
    border-top:1px solid var(--line);flex-wrap:wrap;gap:14px}
  nav.main.open{display:flex}
  .burger{display:block;margin-left:auto}
  .tools{margin-left:8px}
  .topbar{flex-wrap:wrap}
}

/* ---------- первый экран ---------- */
.hero{position:relative;background:var(--dark);color:var(--dark-ink);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:clamp(380px,62vh,620px)}
.hero-text{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:48px 44px}
.hero-text h1{font-size:clamp(34px,5.4vw,64px);line-height:1.04}
.hero-text p{color:rgba(243,239,232,.72);max-width:38ch;margin:0;font-size:15.5px}
.hero-photo{position:relative;background:#0D0C0A}
.hero-photo img{width:100%;height:100%;object-fit:cover;opacity:.95}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{min-height:300px;order:-1}
  .hero-text{padding:34px 22px 40px}
}
.btn{display:inline-block;border:1px solid currentColor;background:none;color:inherit;
  padding:12px 26px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;border-radius:2px}
.btn:hover{background:var(--dark-ink);color:var(--dark);border-color:var(--dark-ink)}
.btn.solid{background:var(--dark);color:var(--dark-ink);border-color:var(--dark)}
.btn.solid:hover{opacity:.88;background:var(--dark);color:var(--dark-ink)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.gold:hover{opacity:.9;background:var(--gold);color:#fff}
.btn[disabled]{opacity:.45;pointer-events:none}

/* ---------- карточки товаров ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:14px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.rail>*{scroll-snap-align:start}
.grid-prod{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column}
.card .ph{position:relative;aspect-ratio:1/1;background:var(--gold-soft);overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .ph img{transform:scale(1.04)}
.card .ph .tag{position:absolute;top:8px;left:8px;background:var(--surface);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:2px}
.card .ph .none{display:flex;align-items:center;justify-content:center;height:100%;
  color:var(--muted);font-size:12px}
.card .body{padding:11px 12px 13px;display:flex;flex-direction:column;gap:3px;flex:1}
.card .nm{font-size:13.5px;line-height:1.35}
.card .cd{font-size:11px;color:var(--muted);letter-spacing:.06em}
.card .pr{font-family:"Cormorant Garamond",Georgia,serif;font-size:19px;margin-top:4px}
.card .add{margin-top:auto;border:1px solid var(--line);background:none;border-radius:2px;
  padding:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.card .add:hover{background:var(--dark);color:var(--dark-ink);border-color:var(--dark)}
.card .add.done{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}

/* ---------- категории ---------- */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cat{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);background:var(--dark)}
.cat img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);
  transition:transform .6s ease,filter .6s ease;opacity:.86}
.cat:hover img{transform:scale(1.05);filter:grayscale(.1);opacity:1}
.cat span{position:absolute;left:0;right:0;bottom:0;padding:16px 14px;color:#fff;
  font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}

/* ---------- фильтры каталога ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{border:1px solid var(--line);background:none;border-radius:40px;
  padding:7px 15px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.filters button.on{background:var(--dark);border-color:var(--dark);color:var(--dark-ink)}

/* ---------- товар ---------- */
.prod{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
@media (max-width:820px){.prod{grid-template-columns:1fr;gap:22px}}
.prod .big{aspect-ratio:1/1;background:var(--gold-soft);border-radius:var(--r);overflow:hidden}
.prod .big img{width:100%;height:100%;object-fit:cover}
.prod h1{font-size:clamp(26px,4vw,40px);line-height:1.1}
.prod .price{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;margin:14px 0 4px}
.prod .alt{font-size:12.5px;color:var(--muted)}
.prod .meta{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;display:grid;gap:7px;font-size:13.5px}
.prod .meta div{display:flex;justify-content:space-between;gap:12px}
.prod .meta span{color:var(--muted)}

/* ---------- корзина ---------- */
.cart-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-row .th{width:68px;height:68px;flex:0 0 auto;border-radius:2px;overflow:hidden;background:var(--gold-soft)}
.cart-row .th img{width:100%;height:100%;object-fit:cover}
.cart-row .nm{flex:1;min-width:0;font-size:14px}
.cart-row .nm small{display:block;color:var(--muted);font-size:11.5px;letter-spacing:.06em}
.qty{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:2px}
.qty button{border:0;background:none;padding:5px 10px;color:var(--muted);font-size:14px}
.qty button:hover{color:var(--ink)}
.qty b{min-width:26px;text-align:center;font-weight:500;font-size:13.5px}
.cart-row .sum{font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;min-width:94px;text-align:right}
.cart-row .rm{border:0;background:none;color:var(--muted);font-size:12px;padding:4px}
.cart-row .rm:hover{color:#A6544C}
.totals{margin-top:20px;display:grid;gap:8px;font-size:14px;max-width:360px;margin-left:auto}
.totals div{display:flex;justify-content:space-between;gap:16px}
.totals .big{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;
  border-top:1px solid var(--ink);padding-top:10px;margin-top:4px}

/* ---------- формы ---------- */
.form{display:grid;gap:14px;max-width:520px}
.f label{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:5px}
.f input,.f textarea,.f select{width:100%;background:var(--surface);color:var(--ink);
  border:1px solid var(--line);border-radius:2px;padding:11px 12px;font:inherit;font-size:15px}
.f textarea{min-height:78px;resize:vertical}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:var(--gold)}
.pay-opts{display:grid;gap:8px}
.pay-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);
  border-radius:2px;padding:11px 12px;cursor:pointer}
.pay-opt.on{border-color:var(--gold);background:var(--gold-soft)}
.pay-opt input{margin-top:3px}
.pay-opt .t{font-size:14px}
.pay-opt .d{font-size:12px;color:var(--muted)}
.err{color:#A6544C;font-size:13px}
.ok-box{background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--r);
  padding:20px;display:grid;gap:10px}
.ok-box .no{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px}

/* ---------- подвал ---------- */
footer{background:var(--dark);color:var(--dark-ink);margin-top:40px;padding:44px 0 26px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px}
footer h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;
  color:rgba(243,239,232,.6);font-weight:500}
footer a,footer p{color:rgba(243,239,232,.86);font-size:13.5px;margin:0 0 7px;display:block}
footer a:hover{color:var(--gold)}
.fbot{border-top:1px solid rgba(243,239,232,.14);margin-top:30px;padding-top:16px;
  display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;
  font-size:12px;color:rgba(243,239,232,.5)}

/* ---------- служебное ---------- */
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:60;
  background:var(--dark);color:var(--dark-ink);border-radius:2px;padding:12px 18px;font-size:13.5px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:min(560px,92vw)}
.load{padding:60px 0;text-align:center;color:var(--muted);font-size:13px}

/* ---------- админка ---------- */
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px}
.kpi .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px;line-height:1.15;margin-top:3px}
.bars{display:flex;align-items:flex-end;gap:5px;height:120px;margin:10px 0 4px}
.bars .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-width:0}
.bars .b{background:var(--gold);border-radius:1px}
.bars .b.ord{background:var(--dark)}
.bars .lab{font-size:9.5px;color:var(--muted);text-align:center;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
table.adm{width:100%;border-collapse:collapse;font-size:13.5px}
table.adm th,table.adm td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.adm th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
table.adm td.num{text-align:right;font-variant-numeric:tabular-nums}
.tabs2{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs2 button{border:1px solid var(--line);background:none;border-radius:40px;padding:7px 15px;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tabs2 button.on{background:var(--dark);border-color:var(--dark);color:var(--dark-ink)}
.status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;
  border-radius:40px;border:1px solid var(--line);color:var(--muted)}
.status.new{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
