/* LUM shop v2 — премиальный, но лёгкий (CWV-first). Бренд: золото + графит */
:root{--gold:#b8965a;--gold2:#c9a86c;--ink:#1a1814;--muted:#6b6558;--line:#e7e3da;
--bg:#faf9f7;--s1:#f5f4f0;--dark:#18160e;--ok:#2f7d3b;--red:#c0392b;
--sh:0 10px 34px rgba(26,24,20,.10);--r:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
.shw{max-width:none;margin:0 auto;padding:0 clamp(16px,3vw,24px)}
h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(28px,4.5vw,46px);line-height:1.08;margin:.3em 0 .3em;letter-spacing:-.01em}
h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(22px,3vw,30px);margin:1.3em 0 .5em}

/* header */
.shop-hdr{position:sticky;top:0;z-index:60;background:rgba(250,249,247,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.shop-hdr .shw{display:flex;align-items:center;gap:22px;height:68px}
.shop-logo img{height:31px;width:auto}
.shop-nav{display:flex;gap:22px;margin-left:12px;flex:1;font-size:14.5px}
.shop-nav a{padding:6px 0;position:relative}
.shop-nav a:hover{color:var(--gold)}
.shop-hdr-r{display:flex;align-items:center;gap:18px}
.shop-phone{font-weight:600;font-size:14px;white-space:nowrap}
.shop-cart-link{position:relative;display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.cart-badge{position:absolute;top:4px;right:2px;background:var(--gold);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}
@media(max-width:760px){.shop-nav{margin-left:0;gap:16px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.shop-nav::-webkit-scrollbar{display:none}.shop-phone{display:none}}

.shop-main{padding-block:18px 70px;min-height:60vh}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0 6px;font-size:13px;color:var(--muted)}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--line)}
.crumbs a:hover{color:var(--gold)}
.cat-intro{color:var(--muted);max-width:840px;font-size:16px}

/* reveal animation — только при включённом JS (без JS контент виден сразу) */
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

/* price */
.p-badge{background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;line-height:1.3}
.p-from{font-size:12px;color:var(--muted)}
.pc-price,.cat-count{margin-top:6px}
.pc-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.p-old{color:var(--muted);text-decoration:line-through;font-size:13px}
.p-new{font-weight:700;font-size:18px}

/* category hero */
.cat-hero{position:relative;border-radius:var(--r);overflow:hidden;margin:6px 0 18px;min-height:260px;display:flex;align-items:flex-end;background:var(--dark)}
.cat-hero .cat-cover-i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.cat-hero-b{position:relative;padding:clamp(18px,4vw,40px);color:#fff;max-width:760px}
.cat-hero-b h1{color:#fff;margin:0 0 6px}
.cat-hero-b p{color:rgba(255,255,255,.9);margin:0 0 10px}
.cat-count{font-size:13px;color:rgba(255,255,255,.8)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px;color:var(--muted);font-size:13px}
.chip{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--ink)}
.chip:hover{border-color:var(--gold);color:var(--gold)}

/* product grid + cards */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:20px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.pc-img{position:relative;aspect-ratio:4/3;background:var(--s1);overflow:hidden}
.pc-img .p-badge{position:absolute;top:10px;left:10px;z-index:1}
.pc-i{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pcard:hover .pc-i{transform:scale(1.05)}
.pc-b{padding:13px 15px 16px;display:flex;flex-direction:column;gap:5px;flex:1}
.pc-art{font-size:11px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.pc-t{font-size:14.5px;line-height:1.35;flex:1}

/* category tiles */
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-top:14px}
.ctile{position:relative;border-radius:var(--r);overflow:hidden;background:var(--dark);min-height:210px;display:flex;align-items:flex-end;color:#fff;transition:transform .2s,box-shadow .2s}
.ctile:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.ctile .ct-i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66);transition:transform .5s}
.ctile:hover .ct-i{transform:scale(1.05)}
.ct-ph{position:absolute;inset:0;background:linear-gradient(135deg,#2a271d,#18160e)}
.ct-b{position:relative;padding:18px 20px;z-index:1}
.ct-b h2{color:#fff;margin:0;font-size:23px}
.ct-b span{opacity:.85;font-size:13px}

/* product page */
.pd{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;margin-top:8px}
@media(max-width:820px){.pd{grid-template-columns:1fr;gap:22px}}
.pd-gal{position:relative;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;align-self:start}
.pd-gal .p-badge{position:absolute;top:14px;left:14px;z-index:1}
.pd-i{width:100%;object-fit:cover}
.pd-info{align-self:start}
@media(min-width:821px){.pd-info{position:sticky;top:84px}}
.pd-art{font-size:12px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.pd-info h1{margin:.15em 0 .25em}
.pd-avail{display:inline-block;margin:4px 0 2px;font-size:13px;color:var(--ok);font-weight:600}
.pd-price{display:flex;align-items:baseline;gap:12px;margin:12px 0 16px;flex-wrap:wrap}
.pd-old{color:var(--muted);text-decoration:line-through}
.pd-new{font-size:32px;font-weight:800}
.pd-vlabel{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
#pdVariant{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:15px;background:#fff;margin-bottom:16px}
.pd-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.pd-qty{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pd-qty button{width:46px;height:52px;border:0;background:var(--s1);font-size:22px;cursor:pointer}
.pd-qty button:hover{background:#eceae4}
.pd-qty input{width:56px;height:52px;border:0;text-align:center;font-size:16px}
.pd-add{flex:1;min-width:200px;min-height:52px;background:var(--gold);color:#fff;border:0;border-radius:12px;padding:15px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}
.pd-add:hover{background:#a37f45}
.pd-add.added{background:var(--ok)}
.pd-trust{list-style:none;padding:0;margin:18px 0 0;font-size:13px;color:var(--muted)}
.pd-trust li{padding:5px 0 5px 24px;position:relative}
.pd-trust li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
.pd-desc{margin-top:44px;max-width:900px}
.pspec{border-collapse:collapse;width:100%;max-width:600px;font-size:14.5px}
.pspec th,.pspec td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.pspec th{color:var(--muted);font-weight:500;width:44%}
.cat-seo{margin-top:40px;max-width:900px;color:#332f27}

/* FAQ */
.faq{margin-top:44px;max-width:900px}
.faq-i{border-bottom:1px solid var(--line)}
.faq-i summary{cursor:pointer;padding:15px 0;font-weight:600;list-style:none;position:relative;padding-right:30px}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";position:absolute;right:6px;top:13px;font-size:20px;color:var(--gold)}
.faq-i[open] summary::after{content:"–"}
.faq-i div{padding:0 0 16px;color:#3a362d;max-width:800px}
.rel{margin-top:48px}

/* footer */
.shop-foot{background:#0f0e09;color:rgba(250,249,247,.55);margin-top:44px;padding:44px 0 30px;font-size:14px}
.sf-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:26px}
@media(max-width:720px){.sf-cols{grid-template-columns:1fr 1fr}}
.sf-cols b{color:#fff;display:block;margin-bottom:8px}
.sf-cols a,.sf-cols span{display:block;color:rgba(250,249,247,.55);margin:4px 0}
.sf-cols a:hover{color:var(--gold2)}
.sf-bot{border-top:1px solid rgba(250,249,247,.08);margin-top:24px;padding-top:16px;font-size:12px}

/* cart (из v1, слегка обновлено) */
.cart-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;margin-top:14px}
@media(max-width:820px){.cart-wrap{grid-template-columns:1fr}}
.cart-item{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:84px;height:64px;object-fit:cover;border-radius:10px;background:var(--s1)}
.ci-v{font-size:12px;color:var(--muted)}
.ci-right{text-align:right;white-space:nowrap}
.ci-qty{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:6px}
.ci-qty button{width:32px;height:32px;border:0;background:var(--s1);cursor:pointer}
.ci-qty input{width:42px;border:0;text-align:center}
.ci-del{background:0;border:0;color:var(--muted);cursor:pointer;font-size:12px;text-decoration:underline;padding:4px}
.cart-sum{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;align-self:start;position:sticky;top:84px}
.cart-sum .row{display:flex;justify-content:space-between;margin:8px 0}
.cform label{display:block;font-size:13px;color:var(--muted);margin:10px 0 0}
.cform input,.cform select,.cform textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:15px;margin-top:5px;background:#fff}
.cform .fconsent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}
.cform .fconsent input{width:16px;height:16px;margin-top:2px;accent-color:var(--gold)}
.cform .fconsent a{color:var(--gold);text-decoration:underline}
.cform button{width:100%;min-height:52px;background:var(--gold);color:#fff;border:0;border-radius:12px;padding:15px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px}
.cart-empty,.cart-ok{text-align:center;padding:56px 20px;color:var(--muted)}
.cart-ok svg{width:56px;height:56px;color:var(--ok)}
.err{color:var(--red);font-size:13px;margin-top:10px}

/* ===== premium polish (redesign-skill) ===== */
h1,h2{text-wrap:balance}
p{text-wrap:pretty}
.shop-main{min-height:60dvh}
.cat-intro,.pd-desc p,.cat-seo p,.faq-i div{max-width:68ch}
/* табличные цифры — ровные колонки цен */
.p-new,.p-old,.pd-new,.pd-old,.pc-price,.pspec td,#cartTotal,.ci-right,.cart-sum b{font-variant-numeric:tabular-nums}
/* нажатые состояния (физичность) */
.pd-add:active,.cform button:active{transform:translateY(1px) scale(.995)}
.pd-qty button:active,.ci-qty button:active{transform:scale(.94)}
.chip:active,.pcard:active{transform:translateY(-1px)}
.pcard,.ctile,.chip,.pd-add,.cform button{transition-property:box-shadow,transform,background,border-color;transition-duration:.2s}
/* глубина: градиентный scrim вместо плоского затемнения */
.cat-hero .cat-cover-i{filter:none}
.cat-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(20,18,11,.28),rgba(20,18,11,.72) 78%);z-index:0}
.cat-hero-b{z-index:1}
.ctile .ct-i{filter:none}
.ctile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,11,.05),rgba(20,18,11,.78));z-index:0}
.ct-b{z-index:1}
/* мягкая тёплая тень для приподнятых карточек уже есть; добавим тонкую рамку-блик сверху плиток */
.ctile,.cat-hero{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

/* ===== сравнения (vs) ===== */
.answer-box{background:var(--s1);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:16px 20px;font-size:17px;max-width:820px;margin:6px 0 8px}
.vs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.vs{border-collapse:collapse;width:100%;max-width:820px;font-size:15px;margin-top:6px}
.vs th,.vs td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.vs thead th{font-family:"Cormorant Garamond",Georgia,serif;font-size:19px;font-weight:600}
.vs tbody th{color:var(--muted);font-weight:500;width:32%}
.vs .vs-a{background:rgba(184,150,90,.07)}
.vs td.vs-a{font-weight:600;color:#2f6b39}
.vs td.vs-b{color:var(--muted)}
.vs-when{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0 6px;max-width:820px}
@media(max-width:640px){.vs-when{grid-template-columns:1fr}}
.vs-when>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.vs-when h3{margin:0 0 6px;font-size:16px}
.vs-when p{margin:0;color:#3a362d}

/* ===== способы оплаты (Express Pay / ЕРИП) ===== */
.pay{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;margin:14px 0 2px;font-size:12.5px;color:var(--muted)}
.pay img{height:28px;width:auto;display:block}
.pay a{display:inline-flex;opacity:.92;transition:opacity .15s}
.pay a:hover{opacity:1}
.pay-dark{color:rgba(250,249,247,.5);margin:0;padding:16px 0 4px;border-top:1px solid rgba(250,249,247,.08)}

/* Фото в интерьере на карточке товара */
.pd-inter{margin-top:44px}
.pd-inter>h2{margin:0 0 16px}
.pd-inter-note{color:var(--muted);font-size:13px;margin-top:10px}
.pd-inter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:640px){.pd-inter-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.pd-inter-grid{grid-template-columns:repeat(4,1fr)}}
.pi{position:relative;border:0;padding:0;margin:0;background:var(--s1);border-radius:14px;overflow:hidden;cursor:zoom-in;display:block;width:100%;line-height:0;transition:transform .3s,box-shadow .3s}
.pi:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(24,22,14,.16)}
.pi img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}
.pi:hover img{transform:scale(1.05)}
.pi-lb{position:fixed;inset:0;z-index:130;background:rgba(24,22,14,.94);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.pi-lb.on{display:flex}
.pi-lb img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 12px 50px rgba(0,0,0,.5);background:#111}
.pi-lb .pi-x{position:absolute;top:12px;right:18px;color:#fff;font-size:30px;background:none;border:0;cursor:pointer;line-height:1;padding:4px 10px}
.pi-lb .pi-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:40px;background:none;border:0;cursor:pointer;padding:6px 16px;line-height:1}
.pi-lb .pi-prev{left:6px}.pi-lb .pi-next{right:6px}
@media(max-width:600px){.pi-lb .pi-nav{font-size:30px;padding:6px 10px}}

/* Калькулятор количества панелей */
.pd-calc{margin-top:16px;background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.pd-calc-h{font-weight:700;font-size:14px;color:var(--ink);margin-bottom:10px}
.pd-calc-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pd-calc-row input{flex:1;min-width:120px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;background:#fff;color:var(--ink)}
.pd-calc-row input:focus{outline:none;border-color:var(--gold)}
.pd-calc-out{font-weight:700;color:var(--green,#1e6e3c);font-size:16px;white-space:nowrap}
.pd-calc-out b{font-size:20px}
.pd-calc-note{font-size:11.5px;color:var(--muted);margin-top:8px}

.cat-rooms{margin-top:32px;font-size:13px;color:var(--muted)}
.cat-rooms .chip{font-size:12px;padding:4px 11px}

/* Сортировка на странице категории */
.cat-sort{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;color:var(--muted)}
.cat-sort label{font-weight:600;color:var(--ink)}
.cat-sort select{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px;cursor:pointer}
.cat-sort select:focus{outline:none;border-color:var(--gold)}

/* фильтр по типу профиля (кликабельные чипы) */
.cat-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.cf-chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:7px 15px;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent}
.cf-chip:hover{border-color:#9e7c3a;color:var(--ink)}
.cf-chip.on{background:#9e7c3a;color:#fff;border-color:#9e7c3a}
.cf-chip .c{opacity:.6;margin-left:3px;font-size:12px}

/* свотчи цветов-металлик у профилей */
.pd-colors{margin:16px 0 4px}
.pd-colors-h{font-weight:600;font-size:14px;margin-bottom:8px;color:var(--ink)}
.msw-row{display:flex;flex-wrap:wrap;gap:8px}
.msw{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 6px;font-size:13px;color:var(--muted)}
.msw i{width:16px;height:16px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.pd-colors-note{font-size:12px;color:var(--muted);margin-top:8px;opacity:.85}

/* нотка «в цвет панели» */
.pd-colors-panel{font-size:13px;color:#555;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.pd-colors-panel b{color:var(--ink)}

/* нотка «в цвет панели» без свотчей сверху */
.pd-colors-panel-solo{border-top:none;padding-top:0;margin-top:0}
