/* ESEM boutique — product / category / quote pages */
.page{padding-top:28px;padding-bottom:20px}
.page h1{letter-spacing:-.01em}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.crumbs i{font-style:normal;opacity:.5}.crumbs span{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}
[dir=rtl] .crumbs i{transform:scaleX(-1);display:inline-block}
a.btn-add{display:inline-flex;align-items:center;justify-content:center;width:100%;height:44px;border-radius:var(--r-btn);background:var(--field);border:1px solid var(--glass-b);font-weight:700;transition:.2s}
a.btn-add:hover{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-color:transparent}
.card-art{display:block}
.card h4 a:hover{color:var(--accent)}
.subnav a.active{color:var(--ink);background:var(--field)}
.cat-tile{color:inherit}
.quote-btn .count{top:-4px}
.bottom-nav a{position:relative}

/* category page */
.cat-head{display:flex;align-items:center;gap:20px;padding:24px;border-radius:var(--r-lg);margin-bottom:18px;flex-wrap:wrap}
.cat-head>div{flex:1;min-width:240px}
.cat-head h1{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;margin:2px 0 6px}.cat-head h1 small{font-size:.55em;color:var(--muted);font-weight:600}
.cat-head .cat-ico{flex-shrink:0;width:72px;height:72px;font-size:2.4rem;border-radius:20px}
.cat-head p{max-width:62ch}
.toolbar-row{display:flex;align-items:center;gap:12px;margin:2px 0 18px;flex-wrap:wrap}
.toolbar-row .muted{margin-inline-start:auto;font-size:.86rem}
.catsearch{display:flex;align-items:center;gap:8px;padding:0 14px;height:42px;border-radius:12px;background:var(--field);border:1px solid var(--glass-b);flex:1;min-width:220px;max-width:420px}
.catsearch svg{width:17px;height:17px;opacity:.55;flex-shrink:0}.catsearch input{flex:1;min-width:0;background:none;border:0;outline:0}
.catsearch:focus-within{box-shadow:0 0 0 3px var(--ring)}
.empty{padding:40px 20px;text-align:center;border-radius:var(--r-md);display:flex;flex-direction:column;gap:16px;align-items:center}
.chips a.chip{display:inline-block}

/* product page */
.pp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:start}
.pp-gal{position:sticky;top:130px}
.pp-main{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;display:grid;place-items:center;background:var(--field)}
.pp-main img{width:100%;height:100%;object-fit:contain;background:#fff;cursor:zoom-in}
.pp-main .art{width:100%;height:100%}.pp-main .art-e{font-size:9rem}
.pp-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pp-th{width:78px;height:78px;border-radius:14px;overflow:hidden;border:2px solid transparent;background:#fff;padding:0;transition:.2s;opacity:.75}
.pp-th img{width:100%;height:100%;object-fit:cover;display:block}
.pp-th.on,.pp-th:hover{border-color:var(--accent);opacity:1}
.pp-info{display:flex;flex-direction:column;gap:12px}
.pp-info .kicker{margin:0}.pp-info .kicker a:hover{text-decoration:underline}
.pp-info h1{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;font-weight:800}
.pp-price{padding:20px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:10px}
.pp-price .note{margin:0}
.pp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin-top:4px}
.pp-actions .btn{height:48px;padding:0 20px}.pp-actions .btn svg{width:18px;height:18px}
.pp-actions .pp-buy{flex:1 1 180px;margin:0;padding:0}.pp-actions .pp-buy .stepper,.pp-actions .pp-buy .btn-add{height:48px}
.pp-actions .pp-buy .btn-add{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-color:transparent;font-size:1rem}
.hl{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.88rem;color:var(--muted)}
.hl li{display:flex;gap:6px}
.opts b{display:block;margin-bottom:8px;font-size:.9rem}
.opt-list{display:flex;flex-wrap:wrap;gap:8px}
.opt{padding:7px 13px;border-radius:999px;background:var(--field);border:1px solid var(--glass-b);font-size:.82rem;font-weight:600;transition:.2s}
.opt:hover{border-color:var(--accent);color:var(--accent)}
.pp-sections{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin:36px 0 12px;align-items:start}
.pp-box{padding:26px;border-radius:var(--r-lg)}
.pp-box h2{font-size:1.25rem;margin-bottom:14px}
.desc p{margin:0 0 .8em;line-height:1.65;color:var(--ink)}.desc ul{margin:0 0 .8em;padding-inline-start:1.2em}.desc li{margin:.2em 0;line-height:1.55}
.desc p:first-child{font-weight:600}
.spec{width:100%;border-collapse:collapse;font-size:.92rem}
.spec th,.spec td{padding:11px 0;border-bottom:1px solid var(--glass-b);text-align:start;vertical-align:top}
.spec th{color:var(--muted);font-weight:600;width:42%;padding-inline-end:12px}.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.spec a{color:var(--accent);font-weight:600}
.prod .sec-h{margin-top:44px}
.zoom{display:block;width:100%;max-height:80vh;object-fit:contain;background:#fff;border-radius:14px}
.modal-zoom{padding:14px}

/* quote */
.ph{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;margin:2px 0 8px}
.quote-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.qform{padding:26px;border-radius:var(--r-lg)}
.qform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qform textarea{resize:vertical;min-height:120px}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;pointer-events:none}
.err a{text-decoration:underline;font-weight:700}
.qbasket{padding:22px;border-radius:var(--r-lg);position:sticky;top:130px}
.qbasket h3{font-size:1.1rem;margin-bottom:6px}.qbasket h3 small{color:var(--muted)}
.qbasket .line{align-items:flex-start}.qbasket .line-art{display:block}
.qbasket .rm{width:30px;height:30px;border-radius:50%;background:var(--field);font-size:.8rem;flex-shrink:0;color:var(--muted)}.qbasket .rm:hover{background:#e5484d;color:#fff}
.qbasket .line-i strong a:hover{color:var(--accent)}
.pad-s{padding:14px 0}
.qb-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.qb-act .btn{height:42px;padding:0 16px;font-size:.88rem}
.qdone{padding:50px 24px;text-align:center;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;gap:10px}
.qdone .tick{margin:0 0 6px}
.quote-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:var(--r-lg);flex-wrap:wrap}
.quote-cta>div{max-width:620px}.quote-cta h2{margin:4px 0 6px}

@media(max-width:860px){
  .pp{grid-template-columns:1fr;gap:20px}.pp-gal{position:static}
  .pp-sections,.quote-grid{grid-template-columns:1fr}.qbasket{position:static}
  .hl{grid-template-columns:1fr}
  .cat-head{padding:18px}.cat-head .cat-ico{width:56px;height:56px;font-size:1.8rem}
  .toolbar-row .muted{margin-inline-start:0;order:3;width:100%}
  .pp-th{width:64px;height:64px}
}
@media(max-width:520px){.qform .two{grid-template-columns:1fr}.qform,.qbasket,.pp-box{padding:18px}}

/* category guide */
.guide{margin-top:44px;padding:28px;border-radius:var(--r-lg);max-width:900px}
.guide h2{font-size:1.4rem;margin-bottom:12px}.guide h3{margin:20px 0 8px;font-size:1.05rem}
.guide p{line-height:1.7;margin:0 0 .9em;color:var(--ink)}
.guide details{border-top:1px solid var(--glass-b);padding:12px 0}.guide summary{cursor:pointer;font-weight:700}.guide details p{margin:.6em 0 0;color:var(--muted)}
