/* ===== Магазин пиломатериалов — единый дизайн нового сайта ===== */
:root{
  --ground:#F6F7F3; --surface:#FFFFFF; --surface-2:#EFF1E9;
  --ink:#151A14; --muted:#6A7165; --line:#DDE1D6; --line-strong:#C4CAB8;
  --accent:#5F7326; --accent-soft:#EBEFDC; --signal:#C2601F; --signal-ink:#FFFFFF;
  --shadow:0 1px 2px rgba(21,26,20,.05), 0 8px 24px -12px rgba(21,26,20,.18);
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --body:'IBM Plex Sans','Segoe UI',Arial,sans-serif;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --maxw:1180px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#11150F; --surface:#181D15; --surface-2:#1F2519;
    --ink:#E8EBE2; --muted:#9AA394; --line:#2B3225; --line-strong:#3C4534;
    --accent:#9CB44A; --accent-soft:#232B18; --signal:#E0803C; --signal-ink:#14180F;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --ground:#11150F; --surface:#181D15; --surface-2:#1F2519;
  --ink:#E8EBE2; --muted:#9AA394; --line:#2B3225; --line-strong:#3C4534;
  --accent:#9CB44A; --accent-soft:#232B18; --signal:#E0803C; --signal-ink:#14180F;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:0}
h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.015em;line-height:1.1}
p{margin:0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.wrap{width:min(var(--maxw),100% - 2.5rem);margin-inline:auto}
@media (max-width:640px){.wrap{width:min(var(--maxw),100% - 1.6rem)}}

.tape{height:13px;border-top:1px solid var(--line-strong);
  background-image:repeating-linear-gradient(to right,var(--line-strong) 0 1px,transparent 1px 16px);
  background-size:100% 6px;background-repeat:no-repeat;opacity:.85}

/* ——— верхняя полоса ——— */
.top{background:#0B0E09;color:#DDE2D5;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.top .wrap{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;padding:.5rem 0}
.top b{font-weight:600;color:#F2F5EC}
.top .sep{opacity:.35}

/* ——— шапка ——— */
header.bar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ground) 92%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.bar .wrap{display:flex;align-items:center;gap:1.1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.mark{width:34px;height:34px;flex:none;border-radius:4px;background:var(--accent);display:grid;place-items:center}
.mark svg{width:20px;height:20px;display:block}
.brand > span{display:flex;flex-direction:column;gap:1px}
.brand-name{display:block;font-family:var(--display);font-weight:800;font-size:15.5px;line-height:1.15}
.brand-sub{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;line-height:1.1}
nav.main{display:flex;gap:1.15rem;font-size:14.5px}
nav.main a{text-decoration:none;color:var(--muted);white-space:nowrap;padding-bottom:2px;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.tel-top{font-family:var(--display);font-weight:700;font-size:16.5px;text-decoration:none;
  white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:1000px){nav.main{display:none}}
@media (max-width:560px){.tel-top{display:none}}

/* ——— кнопки ——— */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--display);
  font-weight:700;font-size:15px;text-decoration:none;padding:.78rem 1.35rem;border-radius:3px;
  border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .12s ease}
.btn:active{transform:translateY(1px)}
.btn-signal{background:var(--signal);color:var(--signal-ink)}
.btn-signal:hover{background:color-mix(in srgb,var(--signal) 88%,black)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* ——— общие секции ——— */
section{padding:3rem 0}
@media (max-width:640px){section{padding:2.2rem 0}}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.eyebrow.line::after{content:"";flex:1;height:1px;background:var(--line-strong)}
.s-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
h2{font-size:clamp(1.5rem,3vw,2.05rem);font-weight:800}
.s-head p{color:var(--muted);font-size:15px;max-width:46ch}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--muted);padding:1rem 0 0}
.crumbs a{text-decoration:none;color:var(--accent)}

/* ——— герой главной ——— */
.hero{padding:3.2rem 0 2.5rem}
.hero .wrap{display:grid;grid-template-columns:1.25fr .85fr;gap:2.8rem;align-items:center}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:2rem}.hero{padding:2.2rem 0 1.6rem}}
.hero h1{font-size:clamp(2.2rem,5vw,3.7rem);font-weight:800}
.hero h1 em{font-style:normal;color:var(--accent)}
.lead{margin-top:1.1rem;font-size:17.5px;color:var(--muted);max-width:52ch}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.fact{font-family:var(--mono);font-size:12.5px;padding:.45rem .75rem;border:1px solid var(--line-strong);
  border-radius:3px;background:var(--surface);white-space:nowrap}
.fact b{color:var(--accent);font-weight:600}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;align-items:center}
.cta-note{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:.6rem}
.hero-img{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--ground);
  font-family:var(--mono);font-size:12px;padding:.5rem .8rem;letter-spacing:.03em}

/* ——— сетка каталога (карточки категорий) ——— */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--surface);border:1px solid var(--line);
  border-radius:5px;overflow:hidden;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}
.card-img{aspect-ratio:4/3;overflow:hidden;background:var(--surface-2)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:.85rem .95rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.card-body b{font-family:var(--display);font-weight:700;font-size:15.5px}
.card-body span{font-size:13px;color:var(--muted)}
.card-price{margin-top:auto;padding-top:.5rem;font-family:var(--mono);font-size:13px;color:var(--accent);font-weight:600}

/* ——— группа каталога ——— */
.catgroup{margin-bottom:2.5rem}
.catgroup > h3{font-size:1.25rem;font-weight:800;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.catgroup > h3::before{content:"";width:22px;height:3px;background:var(--accent);border-radius:2px}

/* ——— страница категории ——— */
.prodhead{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;padding-top:1.5rem}
@media (max-width:820px){.prodhead{grid-template-columns:1fr;gap:1.4rem}}
.gallery{display:flex;flex-direction:column;gap:.7rem}
.gallery .main{border-radius:6px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--surface-2)}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.thumbs img{border-radius:4px;aspect-ratio:1;object-fit:cover;cursor:pointer;border:2px solid transparent;background:var(--surface-2)}
.thumbs img:hover{border-color:var(--accent)}
.prodinfo h1{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800}
.prodinfo .desc{margin-top:1rem;color:var(--muted);font-size:15.5px;display:flex;flex-direction:column;gap:.7rem}
.prodinfo .cta-row{margin-top:1.5rem}

/* ——— прайс-таблица ——— */
.ptable{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-top:1.5rem}
.ptable > h3{font-family:var(--display);font-weight:700;font-size:15px;padding:.8rem 1.1rem;background:var(--ink);
  color:var(--ground);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.ptable > h3 code{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.65;letter-spacing:.06em}
.scroller{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
thead th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);text-align:right;padding:.6rem .7rem;border-bottom:1px solid var(--line-strong);
  white-space:nowrap;background:var(--surface-2)}
thead th:first-child{text-align:left;position:sticky;left:0;background:var(--surface-2)}
tbody th{font-weight:500;text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line);
  position:sticky;left:0;background:var(--surface);white-space:nowrap;font-size:14px}
tbody td{padding:.6rem .7rem;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;
  font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13.5px}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody tr:hover th,tbody tr:hover td{background:var(--accent-soft)}
td.none{color:var(--line-strong)}
td.deal{color:var(--muted)}
.ptable-f{padding:.65rem 1.1rem;border-top:1px solid var(--line);background:var(--surface-2);
  font-family:var(--mono);font-size:11.5px;color:var(--muted)}

/* характеристики */
.specs{margin:1.2rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.4rem}
@media (max-width:520px){.specs{grid-template-columns:1fr}}
.specs > div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted);font-size:13.5px}
.specs dd{margin:0;font-weight:500;font-size:13.5px;text-align:right}

/* мини-прайс на странице категории */
.pricelist{list-style:none;margin:1.2rem 0 0;padding:0;border:1px solid var(--line);border-radius:5px;
  background:var(--surface);overflow:hidden}
.pricelist li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.62rem .95rem;
  border-bottom:1px dashed var(--line)}
.pricelist li:last-child{border-bottom:0}
.pricelist .v{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent)}

/* ——— инфо-панели ——— */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:820px){.duo{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1.5rem}
.panel h3{font-size:1.15rem;font-weight:700;margin-bottom:.6rem}
.panel p{color:var(--muted);font-size:15px}
.panel ul{margin:.9rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:14.5px}
.panel li{margin-bottom:.35rem}
.panel li b{color:var(--ink);font-weight:600}
.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;margin-top:1.5rem}
.feature{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:4px;padding:1.1rem 1.2rem}
.feature b{font-family:var(--display);display:block;margin-bottom:.3rem;font-size:15.5px}
.feature span{color:var(--muted);font-size:14px}

/* ——— документы ——— */
.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,180px));gap:1.1rem}
.doc{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;text-align:center}
.doc .thumb{background:var(--surface-2);padding:14px;display:flex;justify-content:center}
.doc .thumb img{width:125px;height:auto;border:1px solid var(--line);box-shadow:var(--shadow)}
.doc span{display:block;padding:.7rem .9rem;font-size:13px;color:var(--muted)}

/* ——— форма ——— */
.callback{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1.6rem;
  display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}
@media (max-width:700px){.callback{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem}
.field label{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input{font-family:var(--body);font-size:16px;padding:.7rem .85rem;border:1px solid var(--line-strong);
  border-radius:3px;background:var(--surface);color:var(--ink)}
.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.form-msg{grid-column:1/-1;font-family:var(--mono);font-size:12.5px;color:var(--accent)}

/* ——— реквизиты / подвал ——— */
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem;font-family:var(--mono);font-size:13px}
.meta div span{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.meta a{text-decoration:none}
footer{border-top:1px solid var(--line);padding:2rem 0 6rem;color:var(--muted);font-size:13.5px;margin-top:1rem}
footer .fcols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
@media (max-width:720px){footer .fcols{grid-template-columns:1fr 1fr}}
footer h4{font-family:var(--display);font-size:14px;margin-bottom:.6rem;color:var(--ink)}
footer a{color:var(--muted);text-decoration:none;display:block;padding:.15rem 0}
footer a:hover{color:var(--accent)}
.fbar{border-top:1px solid var(--line);padding-top:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

/* ——— мобильная панель звонка ——— */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:.6rem;padding:.6rem .9rem;
  background:color-mix(in srgb,var(--ground) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.callbar .btn{flex:1}
@media (max-width:700px){.callbar{display:flex}footer{padding-bottom:5.5rem}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
