:root{--ink:#15171A;--ink2:#4A4E55;--mute:#5B5F66;--bg:#F3F1EC;--card:#FFFFFF;--line:#DAD6CE;--acc:#FF5B1F;--acc-dark:#B23A0B;--ok:#1F8A4C;--ok-bg:#DDF0E3;--ord:#2F6FB7;--ord-bg:#E3EDF9;--warn-bg:#FFE6DA}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}
a{color:var(--ink)}a:hover{color:var(--acc-dark)}
h1,h2,h3{line-height:1.15}
.disp{font-family:Unbounded,Manrope,sans-serif;letter-spacing:-.02em}
.wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit}
/* top bar */
.topbar{background:var(--ink);color:#E9E6DF;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.topbar a{color:#E9E6DF}.topbar .tel{color:#FF7A45;font-weight:700;text-decoration:none}
/* header */
.hdr{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hdr .wrap{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{width:44px;height:44px;background:var(--acc);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:Unbounded,sans-serif;font-size:16px}
.logo span{font-family:Unbounded,sans-serif;font-weight:700;font-size:20px;letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:12px;border:2px solid var(--ink);background:var(--card);color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}
.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{color:#fff;background:#2a2d33}
.btn.acc{background:var(--acc);border-color:var(--acc);color:var(--ink)}.btn.acc:hover{color:var(--ink);background:#ff7440}
.btn.big{height:56px;padding:0 28px;font-size:17px;border-radius:14px}
.btn[disabled]{opacity:.5;cursor:default}
.search{flex:1 1 320px;display:flex;min-width:0}
.search input{flex:1;min-width:0;height:48px;border:2px solid var(--ink);border-right:0;border-radius:12px 0 0 12px;padding:0 16px;font-size:16px;background:#fff}
.search button{height:48px;padding:0 20px;border:0;border-radius:0 12px 12px 0;background:var(--acc);font-weight:700}
.cartbtn{position:relative;width:48px;height:48px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;text-decoration:none}
.cartbtn .n{position:absolute;top:-5px;right:-5px;background:var(--acc);font-size:12px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:none;align-items:center;justify-content:center;padding:0 5px}
.cartbtn .n.on{display:flex}
/* layout bits */
.crumbs{font-size:14px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;padding-top:22px}
.crumbs a{color:var(--mute)}
.pagehead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:10px 0 18px}
.pagehead h1{margin:0;font-size:clamp(30px,4vw,44px)}
.muted{color:var(--ink2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px}
.grid-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;min-height:130px}
.tile:hover{border-color:var(--ink)}
.tile b{font-size:18px}.tile small{color:var(--mute);font-size:14px}
.tile .cnt{margin-top:auto;font-size:13px;color:var(--ok);font-weight:700}
.tile.soon{opacity:.65}.tile.soon .cnt{color:var(--mute)}
.tile.hot{background:var(--acc);border-color:var(--acc)}
.tile.hot small,.tile.hot .cnt{color:var(--ink)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{height:40px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:600;text-decoration:none;color:var(--ink)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
section.block{padding:28px 0}
/* hero */
.hero{display:flex;flex-wrap:wrap;gap:28px;padding:44px 0 28px}
.hero .l{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:20px}
.hero h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.05}
.hero h1 em{font-style:normal;background:var(--acc);padding:0 10px;border-radius:10px}
.pill{align-self:flex-start;display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}
.dot{width:8px;height:8px;border-radius:4px;background:var(--ok);display:inline-block}
.quick{flex:1 1 400px;min-width:0;background:var(--ink);color:var(--bg);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:14px}
.quick textarea{width:100%;min-height:150px;border-radius:14px;border:0;background:#22252A;color:#E9E6DF;padding:14px;font-family:ui-monospace,Menlo,monospace;font-size:14px;line-height:1.7;resize:vertical}
.quick h2{margin:0;font-size:20px;font-weight:500}
.dark-band{background:var(--ink);color:var(--bg)}
.dark-band h2{color:#fff}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.steps div{background:#22252A;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px}
.steps span{font-family:Unbounded,sans-serif;font-size:32px;font-weight:700;color:#FF7A45}
.steps b{color:#fff}.steps small{color:#B9B5AD;font-size:15px}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.perks div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.perks b{display:block;font-size:17px;margin-bottom:4px}
/* listing */
.listing{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;padding-bottom:40px}
.filters{flex:1 1 230px;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:18px}
.filters .fgroup{display:flex;flex-direction:column;gap:8px}
.filters .fgroup b{font-size:15px}
.filters label{display:flex;gap:10px;align-items:center}
.filters input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchips button{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14px}
.fchips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.results{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.bar select{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.pc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px}
.pc .code{font-size:12px;color:var(--mute)}
.pc h3{margin:0;font-size:15px;font-weight:700;line-height:1.35;min-height:40px}
.pc h3 a{text-decoration:none}
.pc .price{display:flex;align-items:baseline;gap:6px;margin-top:auto}
.pc .price b{font-size:21px}
.st{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.st.in{color:#1F6B3D}.st.in::before{content:"";width:8px;height:8px;border-radius:4px;background:var(--ok)}
.st.order{color:#22578F}.st.order::before{content:"";width:8px;height:8px;border-radius:4px;background:var(--ord)}
.buy{display:flex;gap:8px;align-items:stretch}
.qty{display:flex;align-items:center;border:2px solid var(--ink);border-radius:12px;height:46px}
.qty button{width:38px;height:42px;border:0;background:transparent;font-size:20px}
.qty input{width:48px;border:0;text-align:center;font-weight:700;background:transparent;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.addbtn{flex:1;height:46px;border:0;border-radius:12px;background:var(--acc);font-weight:700}
.addbtn.done{background:var(--ink);color:#fff}
.empty{padding:40px;text-align:center;color:var(--mute)}
/* picker */
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:700;font-size:15px}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pick{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;padding:18px 0 40px}
.pick main{flex:999 1 620px;min-width:0;display:flex;flex-direction:column;gap:16px}
.pick .panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px}
.lbl{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.dchips{display:flex;gap:8px;flex-wrap:wrap}
.dchips button{min-width:84px;height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--bg);background:var(--bg);font-weight:700}
.dchips button.on{background:var(--acc);border-color:var(--acc)}
.lens{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.lens button{height:64px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:2px solid #D6E4F5}
.lens button.in{border-color:#CFE7D7}
.lens button b{font-size:18px}
.lens button i{width:8px;height:8px;border-radius:4px;background:var(--ord)}
.lens button.in i{background:var(--ok)}
.lens button.req i{background:#9AA0A8}
.lens button.req{border-color:#E3E1DC}
.lens button.on{background:#FFF1EA;border-color:var(--acc)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink2)}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend i{width:10px;height:10px;border-radius:5px;display:inline-block}
.matrix{display:flex;flex-direction:column;gap:8px;overflow-x:auto}
.mrow{display:flex;gap:6px;align-items:center}
.mrow span{flex:none;width:72px;font-weight:700;font-size:14px}
.mrow button{flex:none;min-width:52px;height:40px;border-radius:10px;font-weight:700;font-size:14px;border:2px solid transparent;background:var(--ord-bg)}
.mrow button.in{background:var(--ok-bg)}.mrow button.req{background:#EDEBE6;color:var(--mute)}
.mrow button.on{border-color:var(--acc)}
.sel{flex:1 1 340px;max-width:420px;position:sticky;top:96px;background:var(--ink);color:var(--bg);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.sel h2{margin:0;font-family:Unbounded,sans-serif;font-size:21px;line-height:1.25;color:#fff}
.sel .badge{align-self:flex-start;font-size:14px;font-weight:700;padding:6px 12px;border-radius:999px;background:#1F3D2A;color:#8FE0AA}
.sel .badge.order{background:#1E2F45;color:#9CC4F2}.sel .badge.req{background:#33363c;color:#d9d6cf}
.packs{display:flex;flex-direction:column;gap:8px}
.packs button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border-radius:12px;color:#fff;text-align:left;background:transparent;border:2px solid #3A3E45}
.packs button.on{background:#2A2D33;border-color:var(--acc)}
.packs small{display:block;opacity:.8;font-size:13px;font-weight:500}
.sel .qty{border-color:#F3F1EC;height:52px}.sel .qty button,.sel .qty input{color:#fff}
.sel .addbtn{height:52px}
.sel .note{font-size:13px;color:#B9B5AD}
/* product */
.prod{display:flex;flex-wrap:wrap;gap:24px;padding:10px 0 40px}
.prod .img{flex:1 1 360px;min-height:320px;border-radius:20px;background:#ECE9E2;display:flex;align-items:center;justify-content:center;color:#8A8D93}
.prod .info{flex:1 1 420px;display:flex;flex-direction:column;gap:14px}
.specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.specs div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}
.specs span{color:var(--mute);display:block}
/* cart & forms */
.two{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;padding-bottom:40px}
.two>.main{flex:999 1 560px;min-width:0}.two>.side{flex:1 1 320px;max-width:440px}
table.t{width:100%;border-collapse:collapse;font-size:15px;background:#fff}
table.t th{text-align:left;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:12px 14px;border-bottom:1px solid var(--line)}
table.t td{padding:12px 14px;border-bottom:1px solid #ECE9E2;vertical-align:middle}
.tbox{background:#fff;border:1px solid var(--line);border-radius:18px;overflow-x:auto}
.form{display:flex;flex-direction:column;gap:12px}
.form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--mute)}
.form input,.form textarea,.form select{height:48px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px;color:var(--ink);background:#fff}
.form textarea{height:auto;min-height:80px;padding:10px 12px}
.radio2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.radio2 label{flex-direction:row;align-items:flex-start;gap:8px;border:2px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);cursor:pointer}
.radio2 label.on{border-color:var(--ink)}
.total{display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.total b{font-family:Unbounded,sans-serif;font-size:26px}
.ok-box{background:#E3F1E8;color:#1F4D30;border-radius:14px;padding:14px;font-weight:600}
.err{color:#A3260B;font-weight:600}
.tag{font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;white-space:nowrap}
.tag.ok{background:#E3F1E8;color:#1F4D30}.tag.sim{background:var(--warn-bg);color:#6B2C0B}.tag.no{background:#ECE9E2;color:#3A3D42}
.drop{background:#fff;border:2px dashed #B9B5AD;border-radius:18px;padding:22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stats div{border-radius:16px;padding:14px}
.stats b{font-family:Unbounded,sans-serif;font-size:28px;display:block}
.sticky-cart{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;z-index:30;display:none}
.sticky-cart.on{display:block}
.sticky-cart .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
footer{background:#fff;border-top:1px solid var(--line);margin-top:30px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;padding-top:28px;padding-bottom:28px;font-size:15px;color:var(--ink2)}
/* каталог в стиле «меню слева + плитки с картинками» */
.cat-h1{margin:26px 0 8px;align-items:center}.cat-h1 h1{font-size:clamp(30px,4vw,44px)}.cat-h1 .btn{font-size:16px}
.catlay{display:flex;gap:32px;align-items:flex-start;padding-bottom:40px}
.sidenav{flex:0 0 240px;display:flex;flex-direction:column;position:sticky;top:96px}
.sidenav a{display:block;padding:6px 0;color:var(--ink2);text-decoration:none;font-size:15px;line-height:1.3}
.sidenav a:hover,.sidenav a.on{color:var(--ink)}.sidenav>a.on{font-weight:700}
.subnav{display:flex;flex-direction:column;padding:2px 0 8px 14px;border-left:2px solid var(--acc);margin:2px 0 6px}
.subnav a{font-size:14px;padding:4px 0}
.catmain{flex:1;min-width:0}
.catmain .crumbs{padding-top:4px;margin-bottom:14px}
.ptiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.ptile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 8px 16px;border-radius:16px;text-decoration:none;color:var(--ink);transition:background .15s}
.ptile:hover{background:#fff;color:var(--ink)}
.ptile img{width:110px;height:110px}
.ptile span{font-size:15px;line-height:1.25}
.ptile small{font-size:12px;color:var(--mute)}
.promo{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;border-radius:18px;padding:20px 22px;text-decoration:none}
.promo:hover{color:#fff}.promo b{font-size:20px}.promo span:not(.btn){color:#D8D4CC;flex:1 1 260px}
.fbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.fbar .fstock{display:flex;gap:8px;align-items:center;font-weight:700}
.fbar input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}
.fbar input[type=search]{flex:1 1 220px;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px}
.fbar select{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}
.fbar .fgroup{flex-basis:100%;display:flex;gap:10px;align-items:flex-start}
.fbar .fgroup b{flex:none;width:90px;padding-top:7px;font-size:14px}
@media (max-width:760px){
  .catlay{display:block}
  .sidenav{display:none}
  .ptiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
  .ptile{padding:10px 4px}
  .ptile img{width:76px;height:76px}
  .ptile span{font-size:13px}
  .fbar .fgroup{flex-direction:column}
  .wrap{padding:0 16px}
  .hdr{position:static}
  .topbar .wrap>span:last-child a:not(.tel){display:none}
  table.t.rsp{min-width:0!important}
  table.t.rsp thead{display:none}
  table.t.rsp tr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;border-bottom:1px solid #ECE9E2}
  table.t.rsp td{border:0;padding:0}
  table.t.rsp td:first-child{flex-basis:100%}
  table.t.rsp td:nth-child(2){flex-basis:100%}
  .topbar .addr{display:none}
  .hdr .catbtn,.hdr .upbtn{display:none}
  .search{order:5;flex-basis:100%}
  .logo span{font-size:17px}
  .filters{max-width:none}
  .sel{position:static;max-width:none}
  .plist{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .pc{padding:12px}
  .pc .price b{font-size:18px}
  .buy{flex-direction:column}
  .lens{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stats b{font-size:22px}
}
.catmain .plist{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
.addbtn{white-space:nowrap;padding:0 12px}
@media (max-width:760px){.pagehead .btn{flex:1 1 100%;min-width:0;max-width:100%;white-space:normal;box-sizing:border-box}}
/* фото товара в карточке */
.pc .pimg{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;margin:-6px -6px 2px;border-radius:12px;background:#F6F4EF;overflow:hidden}
.pc .pimg img{width:100%;height:100%;object-fit:contain}
.pc .pimg img.ic{width:56%;height:auto;opacity:.9}
.prod .img{overflow:hidden;flex-direction:column;gap:10px;background:#F6F4EF}
.prod .img img{max-width:100%;max-height:520px;object-fit:contain}
.prod .img img.ic{width:180px;opacity:.9}
.prod .img span{font-size:14px}
/* статус в «Моих заказах» */
.ost{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#FFE7DC;color:#7A2B08}
.ost.confirmed{background:#E1ECF8;color:#1C4673}.ost.done{background:#E3F1E8;color:#1F4D30}
/* админка */
.anav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;width:max-content;max-width:100%}
.anav a{padding:9px 16px;border-radius:10px;font-weight:700;text-decoration:none;color:var(--ink)}
.anav a.on{background:var(--ink);color:#fff}
.anav a i{font-style:normal;background:var(--acc);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:12px;margin-left:4px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.seg button{border:0;background:none;padding:8px 11px;font-weight:700;font-size:13px;color:var(--mute);cursor:pointer;white-space:nowrap}
.seg button+button{border-left:1px solid var(--line)}
.seg button.on[data-st=new]{background:var(--acc);color:var(--ink)}
.seg button.on[data-st=confirmed]{background:#22578F;color:#fff}
.seg button.on[data-st=done]{background:#1F6B3D;color:#fff}
.seg button:disabled{opacity:.6}
.aorders small.hist{display:block;margin-top:6px}
.aorders tr.os-done td{opacity:.72}.aorders tr.os-done td:last-child{opacity:1}
.afbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px}
.afbar input,.afbar select{height:44px;border:2px solid var(--line);border-radius:12px;padding:0 12px;font:inherit;background:#fff}
.afbar input{flex:1 1 260px;min-width:0}
.ahint{font-size:13px;margin:4px 0 12px}
.aprod td{vertical-align:middle}
.aprod tr.off td{background:#FAF9F6}
.aph{width:86px;position:relative}
.phbtn{width:72px;height:72px;border:2px dashed var(--line);border-radius:12px;background:#F6F4EF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:0;overflow:hidden}
.phbtn img{width:100%;height:100%;object-fit:cover}
.phbtn img.ic{width:36px;height:36px;opacity:.55}
.phbtn span{font-size:11px;font-weight:700;color:var(--mute)}
.phbtn:hover{border-color:var(--acc)}
.phdel{position:absolute;top:6px;left:62px;width:22px;height:22px;border-radius:11px;border:0;background:var(--ink);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.anm a{text-decoration:none}.anm b{font-size:15px}
.atags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.asv{font-size:12px;font-weight:700;color:#1F6B3D}
.afield{display:flex;flex-direction:column;gap:3px}
.afield span{font-size:11px;color:var(--mute);font-weight:600}
.afield input{width:110px;height:40px;border:2px solid var(--line);border-radius:10px;padding:0 10px;font:inherit;font-weight:700}
.afield input:focus{border-color:var(--ink);outline:none}
.afield.ch input{border-color:var(--acc);background:#FFF6F1}
.tgl{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:14px;white-space:nowrap}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl i{width:44px;height:26px;border-radius:13px;background:#CFCBC3;position:relative;transition:.15s}
.tgl i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:10px;background:#fff;transition:.15s}
.tgl input:checked+i{background:#1F6B3D}.tgl input:checked+i::after{left:21px}
.tgl input:focus-visible+i{outline:2px solid var(--ink);outline-offset:2px}
.tgl.ch span{color:var(--acc)}
.atoast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;z-index:99;max-width:calc(100% - 32px)}
.atoast.bad{background:#B3261E}
@media (max-width:760px){
  table.t.rsp.aprod tr{flex-wrap:wrap}
  table.t.rsp.aprod td.aph{flex-basis:auto;width:auto}
  table.t.rsp.aprod td.anm{flex:1 1 calc(100% - 100px);min-width:0}
  .afield input{width:100px}
  .seg button{padding:8px 9px}
}
[hidden]{display:none!important}
@media (max-width:760px){.pc .pimg{aspect-ratio:auto;height:150px}.pc .pimg img.ic{width:auto;height:70%}}
/* фото разделов */
.tile.wph .tph{display:block;margin:-20px -20px 8px;height:140px;border-radius:17px 17px 0 0;overflow:hidden;background:#fff}
.tile.wph .tph img{width:100%;height:100%;object-fit:cover;display:block}
.ptile img.ph{object-fit:cover;border-radius:14px;background:#fff}
.ah2{font-size:20px;margin:24px 0 12px}
.acats{display:flex;flex-wrap:wrap;gap:12px}
.acat{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:120px;text-align:center}
.acat .phbtn{width:110px;height:110px}
.acat.sm{width:96px}.acat.sm .phbtn{width:86px;height:86px}
.acat .phdel{left:auto;right:2px;top:-6px}
.acat.sm .phdel{right:0}
.acat .acn{font-size:13px;font-weight:600;line-height:1.25}
.acat.busy{opacity:.5;pointer-events:none}
.agrp{display:flex;gap:18px;align-items:flex-start;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px}
.agrp>.acat .acn{font-weight:800}
@media (max-width:760px){.agrp{flex-direction:column}.tile.wph .tph{height:110px}}
/* админка: добавление, удаление, УПД */
.btn.sm{height:38px;padding:0 14px;font-size:14px;border-radius:10px}
.ahead-btns{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.pagehead .ahead-btns .btn{flex:0 0 auto}
.delbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#8A8D93;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.delbtn:hover{color:#B3261E;border-color:#B3261E}
.adel{width:60px;text-align:right}
small.cost{display:block;margin-top:4px;font-size:11px;color:var(--mute)}
small.cost b{color:#1F6B3D}small.cost b.lo{color:#B3261E}
.aform{padding:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-width:860px}
.aform label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.aform .full{grid-column:1/-1}
.aform input,.aform select{height:46px;border:2px solid var(--line);border-radius:12px;padding:0 12px;font:inherit;font-weight:500;background:#fff}
.aform input[type=file]{height:auto;padding:10px}
.aform input:focus,.aform select:focus{border-color:var(--ink);outline:none}
label.chk{flex-direction:row!important;align-items:center;gap:10px!important;font-weight:600}
label.chk input{width:20px;height:20px;accent-color:var(--ink)}
.drop{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:2px dashed var(--line);cursor:pointer;margin-bottom:16px}
.drop:hover{border-color:var(--acc)}.drop b{font-size:18px}
.awarn{padding:14px 18px;background:var(--warn-bg);border-color:#F2B79A;margin-bottom:12px;font-weight:600}
.updok{padding:22px;display:flex;flex-direction:column;gap:10px}.updok b{font-size:20px}
.updhead{padding:16px 18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.updhead>div:first-child{display:flex;flex-direction:column;gap:4px}
.updctl{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.updctl .afield input{width:90px}
.uline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;background:#fff;border:1px solid var(--line);border-left:5px solid #1F6B3D;border-radius:14px;padding:14px;margin-bottom:8px}
.uline.new{border-left-color:var(--acc)}.uline.skip{border-left-color:#CFCBC3;opacity:.7}
.usrc{display:flex;gap:10px}.usrc>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.usrc small{font-size:12px}
.un{flex:0 0 26px;height:26px;border-radius:13px;background:#ECE9E2;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.uact{display:flex;flex-direction:column;gap:10px;min-width:0}
.upick{height:42px;border:2px solid var(--line);border-radius:10px;padding:0 8px;font:inherit;font-weight:600;background:#fff;max-width:100%}
.upick.new{border-color:var(--acc)}
.ufields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.ufields .afield select{height:40px;border:2px solid var(--line);border-radius:10px;padding:0 8px;font:inherit;background:#fff;max-width:220px}
.ufields .afield input{width:100px}
.ufields .ufull{flex-basis:100%}
.ufields .afield.ufull input{width:100%}
.ucost{display:flex;flex-direction:column;gap:3px;padding-bottom:9px}.ucost span{font-size:11px;color:var(--mute);font-weight:600}
.sgbtn{height:40px;border:1px dashed var(--acc);background:#FFF6F1;border-radius:10px;padding:0 10px;font-weight:700;font-size:13px;cursor:pointer}
b.warn{color:#B3261E}
.updfoot{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;margin-top:10px}
.updfoot b{color:var(--acc)}
@media (max-width:760px){
  .uline{grid-template-columns:1fr}
  table.t.rsp.aprod td.adel{margin-left:auto}
  .ahead-btns{margin-left:0;width:100%}.ahead-btns .btn{flex:1 1 0!important}
}
.unsure{font-size:12px;font-weight:700;color:#7A2B08;background:var(--warn-bg);padding:4px 10px;border-radius:8px;align-self:flex-start}

.ptile.soon img{opacity:.55}.ptile.soon small{color:var(--mute)}.sidenav a.soon{color:var(--mute)}
/* структура каталога и массовые действия (админка) */
.stlist{padding:8px 12px;margin-bottom:8px}
.strow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0}
.stlist .strow+.strow{border-top:1px solid var(--line)}
.strow input.stname,.strow input.sthint{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;min-width:0}
.strow input.stname{flex:1 1 220px;font-weight:700}.strow input.stname.big{font-size:17px}
.strow input.sthint{flex:2 1 260px}
.strow select{height:40px;border:1px solid var(--line);border-radius:10px;padding:0 8px;font:inherit;background:#fff;max-width:100%}
.strow .sticon{width:120px}
.stacts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:auto}
.stcnt{font-size:13px;white-space:nowrap}
.stsec{padding:6px 14px;margin-bottom:10px}
.stsec.off,.strow.sub.off{opacity:.6}
.stsubs{border-top:1px dashed var(--line);margin:0 0 8px 38px}
.strow.sub+.strow.sub{border-top:1px solid #f0eee9}
.sttog{width:30px;height:30px;border:0;background:none;font-size:18px;cursor:pointer}
.stimg{width:34px;height:34px}
.sthead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.stbar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;padding:10px 12px 10px 18px;border-radius:14px;z-index:50;max-width:calc(100% - 32px);flex-wrap:wrap;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.stbar .btn{border-color:#fff}
.abulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;padding:10px 12px;background:#fff;border:2px solid var(--acc);border-radius:14px;position:sticky;top:8px;z-index:5}
.abulk select{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 8px;font:inherit;max-width:100%;flex:1 1 220px}
.btn.bad{border-color:#B3261E;color:#B3261E}
.achk{width:34px;text-align:center}.achk input{width:18px;height:18px}
@media (max-width:760px){.stsubs{margin-left:0}.stacts{margin-left:0}.strow .sticon{width:100px}}
@media (max-width:760px){table.t.rsp.aprod td.achk{flex-basis:auto!important;width:auto}}
