/* PRODUCT CARD */
.pc{position:relative}
.pc-img{position:relative;overflow:hidden;background:var(--paper2);aspect-ratio:3/4;margin-bottom:18px}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);filter:saturate(.85)}
.pc:hover .pc-img img{transform:scale(1.05);filter:saturate(1)}
.pc-bdg{position:absolute;top:12px;left:12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;background:var(--white);color:var(--ink);border:1px solid var(--rule)}
.pc-bdg.rare{background:var(--ink);color:var(--white);border-color:var(--ink)}
.pc-bdg.sale{background:var(--accent2);color:var(--white);border:none}
.pc-add{display:block;width:100%;padding:10px;background:var(--ink);color:var(--white);font-size:9px;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-top:10px}
.pc-num{font-size:10px;letter-spacing:.06em;color:var(--ink-40);margin-bottom:8px}
.pc-name{font-family:var(--fd);font-size:20px;font-weight:300;letter-spacing:-.01em;line-height:1.2;margin-bottom:4px}
.pc-sci{font-family:var(--fs);font-style:italic;font-size:13px;color:var(--ink-40);margin-bottom:12px}
.pc-foot{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px}
.pc-price{font-family:var(--fd);font-size:22px;font-weight:300;letter-spacing:-.01em}
.pc-cmp{font-size:12px;color:var(--ink-40);text-decoration:line-through;margin-left:8px}
.pc-diff{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40)}

/* GALLERY GRID (home) */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:2px}
.gi{position:relative;overflow:hidden;background:var(--paper2)}
.gi:nth-child(1){grid-column:span 2;grid-row:span 2}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25,.46,.45,.94);filter:saturate(.82)}
.gi:hover img{transform:scale(1.06);filter:saturate(1)}
.gi-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.75) 0%,transparent 55%);opacity:0;transition:opacity .35s;display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.gi:hover .gi-ov{opacity:1}
.gi-sp{font-family:var(--fd);font-size:20px;font-weight:300;color:var(--white);margin-bottom:4px}
.gi-sc{font-family:var(--fs);font-style:italic;font-size:13px;color:rgba(250,249,247,.70);margin-bottom:12px}
.gi-pr{font-family:var(--fd);font-size:22px;font-weight:300;color:var(--white)}
.gi-tag{position:absolute;top:14px;left:14px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:3px 10px}
@media(max-width:580px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gi:nth-child(1){grid-column:span 2;grid-row:span 2}}

/* CATEGORY GRID (home) */
.cat-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
@media(max-width:640px){.cat-visual-grid{grid-template-columns:1fr 1fr}}

/* CAT STRIP */
.cat-strip{display:flex;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cat-strip::-webkit-scrollbar{display:none}
.cat-chip{flex-shrink:0;padding:16px 24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);border-right:1px solid var(--rule);transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:8px}
.cat-chip:hover,.cat-chip.active{color:var(--ink);background:var(--paper2)}
.cat-chip span{font-size:9px;color:var(--ink-40)}

/* CATALOG LAYOUT */
.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start;padding-top:40px}
.filter-col{position:sticky;top:88px}
.filter-sec{margin-bottom:32px}
.filter-sec-title{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-40);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.fopt{display:flex;align-items:center;gap:10px;padding:5px 0}
.fopt input{width:14px;height:14px;accent-color:var(--ink)}
.fopt label{font-family:var(--fs);font-size:14px;color:var(--ink-70);flex:1}
.price-inputs{display:flex;gap:12px;align-items:center}
.pinp{flex:1;background:none;border:none;border-bottom:1px solid var(--rule);padding:6px 0;font-size:13px;color:var(--ink);font-family:var(--fs);width:100%}
.pinp:focus{outline:none;border-color:var(--ink)}
.cat-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:12px;flex-wrap:wrap}
.sort-sel{background:none;border:none;border-bottom:1px solid var(--rule);padding:6px 0;font-size:12px;color:var(--ink-70);font-family:var(--fn);letter-spacing:.06em}
@media(max-width:900px){.cat-layout{grid-template-columns:1fr}.filter-col{position:relative;top:auto}}

/* PRODUCT PAGE */
.pd-grid{display:grid;grid-template-columns:1fr 460px;gap:72px;padding-top:32px}
.pd-main{aspect-ratio:4/5;overflow:hidden;background:var(--paper2);margin-bottom:8px}
.pd-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.pd-bc{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:28px;flex-wrap:wrap}
.pd-bc a:hover{color:var(--ink)}
.pd-cat{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.pd-name{font-family:var(--fd);font-size:clamp(30px,4vw,52px);font-weight:300;letter-spacing:-.02em;line-height:.97;margin-bottom:10px}
.pd-sci{font-family:var(--fs);font-style:italic;font-size:17px;color:var(--ink-40);margin-bottom:28px}
.pd-rule{margin:24px 0;height:1px;background:var(--rule)}
.pd-rating{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.pd-stars{color:var(--accent2);letter-spacing:2px;font-size:13px}
.pd-rv-num{font-family:var(--fs);font-size:14px;color:var(--ink-40)}
.pd-price-block{margin-bottom:28px}
.pd-cmp{font-family:var(--fs);font-size:14px;color:var(--ink-40);text-decoration:line-through;margin-bottom:4px}
.pd-price{font-family:var(--fd);font-size:44px;font-weight:300;letter-spacing:-.03em;line-height:1;margin-bottom:6px}
.pd-stock{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.stk-ok{color:var(--accent)}.stk-low{color:var(--accent2)}.stk-out{color:var(--red)}
.qty-row{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.qty-ctrl{display:flex;align-items:center;border:1px solid var(--rule)}
.qnum{width:52px;text-align:center;font-family:var(--fs);font-size:16px;border:none;border-left:1px solid var(--rule);border-right:1px solid var(--rule);height:44px}
.qbtn{width:40px;height:44px;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--ink-70)}
.qbtn:hover{background:var(--paper2)}
.atc-btn{flex:1;min-width:180px;height:44px;background:var(--ink);color:var(--white);font-size:10px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink)}
.atc-btn:hover{background:transparent;color:var(--ink)}
.pd-guarantees{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.guarantee{padding:14px 16px;border:1px solid var(--rule);display:flex;gap:10px;align-items:flex-start}
.gt-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.gt-text{font-family:var(--fs);font-size:12px;color:var(--ink-40);line-height:1.5}
@media(max-width:960px){.pd-grid{grid-template-columns:1fr}}

/* PARAMS TABLE */
.params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:28px}
.param-cell{background:var(--paper);padding:18px 20px}
.pcell-lbl{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin-bottom:6px}
.pcell-val{font-family:var(--fd);font-size:20px;font-weight:300}
.pcell-unit{font-size:11px;color:var(--ink-40);margin-left:2px}
.compat-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.cbdg{font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--rule)}
.cbdg.ok{color:var(--accent);border-color:currentColor}
.cbdg.warn{color:var(--accent2);border-color:currentColor}
@media(max-width:640px){.params-grid{grid-template-columns:repeat(2,1fr)}}

/* CART */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:64px;padding-top:32px}
.cart-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule);align-items:center;flex-wrap:wrap}
.cart-item:last-child{border-bottom:none}
.ci-img{width:72px;height:88px;overflow:hidden;background:var(--paper2);flex-shrink:0}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-info{flex:1;min-width:160px}
.ci-name{font-family:var(--fd);font-size:19px;font-weight:300;margin-bottom:4px}
.ci-sci{font-family:var(--fs);font-style:italic;font-size:13px;color:var(--ink-40)}
.ci-price{font-family:var(--fd);font-size:22px;font-weight:300;flex-shrink:0;min-width:90px;text-align:right}
.sum-card{position:sticky;top:88px;border:1px solid var(--rule);padding:28px}
.sum-title{font-family:var(--fd);font-size:22px;font-weight:300;margin-bottom:24px}
.sum-line{display:flex;justify-content:space-between;padding:11px 0;font-family:var(--fs);font-size:15px;border-bottom:1px solid var(--rule)}
.sum-disc{color:var(--accent)}
.sum-total-row{display:flex;justify-content:space-between;padding:20px 0;align-items:baseline}
.sum-total-lbl{font-family:var(--fd);font-size:13px;font-weight:300;letter-spacing:.10em;text-transform:uppercase}
.sum-total-val{font-family:var(--fd);font-size:32px;font-weight:300;letter-spacing:-.02em}
.cpn-field{display:flex;border:1px solid var(--rule);margin-bottom:14px;margin-top:24px}
.cpn-input{flex:1;padding:11px 14px;background:none;border:none;font-family:var(--fs);font-size:14px;color:var(--ink);min-width:0}
.cpn-input:focus{outline:none}
.cpn-btn{padding:11px 18px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:var(--paper2);color:var(--ink-70);border-left:1px solid var(--rule)}
.cpn-btn:hover{background:var(--ink);color:var(--white)}
.free-ship{font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--accent);padding:10px 0;border-bottom:1px solid var(--rule);margin-bottom:10px}
@media(max-width:860px){.cart-layout{grid-template-columns:1fr}.sum-card{position:relative;top:auto}}

/* CHECKOUT */
.co-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;padding-top:32px}
.pay-opt{border:1px solid var(--rule);padding:16px 20px;margin-bottom:8px;display:flex;align-items:center;gap:14px}
.pay-opt input{width:16px;height:16px;accent-color:var(--ink)}
.pay-name{font-family:var(--fd);font-size:18px;font-weight:300}
.pay-desc{font-family:var(--fs);font-size:12px;color:var(--ink-40)}
.pix-box{border:1px solid var(--rule);padding:32px;text-align:center;margin-top:16px}
.qrcode{width:120px;height:120px;background:var(--paper2);margin:16px auto;display:flex;align-items:center;justify-content:center;font-size:52px}
@media(max-width:768px){.co-grid{grid-template-columns:1fr}}

/* ACCOUNT */
.acc-layout{display:grid;grid-template-columns:200px 1fr;gap:56px;padding-top:32px}
.acc-nav{position:sticky;top:88px}
.acc-nav-title{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-40);margin-bottom:24px}
.acc-nav-item{display:flex;align-items:center;gap:10px;padding:10px 0;font-family:var(--fs);font-size:15px;color:var(--ink-70);border-bottom:1px solid var(--rule)}
.acc-nav-item:hover,.acc-nav-item.active{color:var(--ink)}
.acc-panel-title{font-family:var(--fd);font-size:32px;font-weight:300;margin-bottom:32px}
.ord-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.ord-num{font-size:10px;letter-spacing:.08em;color:var(--ink-40);margin-bottom:3px}
.ord-desc{font-family:var(--fd);font-size:18px;font-weight:300}
.ord-st{font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;margin-left:auto;flex-shrink:0}
.ord-st.dlv{color:var(--accent);border:1px solid currentColor}
.ord-st.shp{color:var(--accent2);border:1px solid currentColor}
.ord-st.pag{color:var(--ink-70);border:1px solid currentColor}
.ord-st.esp{color:var(--ink-40);border:1px solid currentColor}
.ord-st.can{color:var(--red);border:1px solid currentColor}
.ord-total{font-family:var(--fd);font-size:20px;font-weight:300;flex-shrink:0;min-width:80px;text-align:right}
@media(max-width:768px){.acc-layout{grid-template-columns:1fr}.acc-nav{position:relative;top:auto}}
