@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=DM+Sans:wght@300;400&display=swap');

:root{--black:#0a0a0a;--off-white:#f0ebe0;--muted:#6b6760;--border:rgba(240,235,224,0.12)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--black);color:var(--off-white);font-family:'DM Sans',sans-serif;font-weight:300;cursor:none;min-height:100vh}
.cursor{width:8px;height:8px;background:var(--off-white);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:opacity .2s;mix-blend-mode:difference}
.cursor-ring{width:32px;height:32px;border:1px solid rgba(240,235,224,.4);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transition:width .2s ease,height .2s ease,border-color .2s ease;overflow:hidden}
.cursor-ring.magnify{width:120px;height:120px;border:1.5px solid var(--off-white)}
.magnify-canvas{position:absolute;inset:0;border-radius:50%;overflow:hidden;display:none;align-items:center;justify-content:center}
.cursor-ring.magnify .magnify-canvas{display:flex}
nav{display:flex;justify-content:space-between;align-items:center;padding:2rem 3rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--black);z-index:100}
.nav-logo{font-family:'Pirata One',sans-serif;font-size:1.1rem;letter-spacing:.25em;color:var(--off-white);text-decoration:none}
.nav-logo span{color:var(--muted);font-size:.9rem}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--off-white)}
.nav-cart{display:flex;align-items:center;gap:.5rem;cursor:none;padding:.5rem 1rem;border:1px solid var(--border);transition:border-color .2s}
.nav-cart:hover{border-color:rgba(240,235,224,.3)}
.cart-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cart-count{font-family:'Pirata One',sans-serif;font-size:1rem;color:var(--off-white);min-width:16px;text-align:center}
.hero{padding:5rem 3rem 3rem;border-bottom:1px solid var(--border)}
.hero-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-bottom:1.5rem}
.hero h1{font-family:'Pirata One',sans-serif;font-size:clamp(4rem,10vw,9rem);line-height:.9;letter-spacing:.02em;color:var(--off-white)}
.hero h1 em{font-style:normal;color:var(--muted)}
.hero-sub{margin-top:2rem;font-size:.85rem;color:var(--muted);letter-spacing:.05em;max-width:400px;line-height:1.6}
.filter-bar{display:flex;padding:0 3rem;border-bottom:1px solid var(--border);overflow-x:auto}
.filter-btn{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);background:none;border:none;padding:1.2rem 1.5rem;cursor:none;border-bottom:1px solid transparent;transition:all .2s;white-space:nowrap}
.filter-btn:hover{color:var(--off-white)}
.filter-btn.active{color:var(--off-white);border-bottom-color:var(--off-white)}
.grid{display:grid;grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.product-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .3s}
.product-card:nth-child(3n){border-right:none}
.product-card:hover{background:rgba(240,235,224,.02)}
.product-img{width:100%;aspect-ratio:1;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.product-img img{width:100%;height:100%;object-fit:cover;display:block}
.product-img-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem}
.placeholder-shape{width:60px;height:60px;border:1px solid #222}
.placeholder-icon{font-family:'Pirata One',sans-serif;font-size:.6rem;letter-spacing:.4em;color:#222;text-transform:uppercase}
.badge{position:absolute;top:1rem;left:1rem;font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .5rem}
.badge-new{background:var(--off-white);color:var(--black)}
.badge-sold,.badge-soon{background:transparent;color:var(--muted);border:1px solid var(--border)}
.product-info{padding:1.25rem 1.5rem;border-top:1px solid var(--border)}
.product-ref{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:.4rem}
.product-name{font-size:.9rem;color:var(--off-white);letter-spacing:.03em;margin-bottom:.75rem}
.product-bottom{display:flex;justify-content:space-between;align-items:center}
.product-price{font-family:'Pirata One',sans-serif;font-size:1.1rem;letter-spacing:.05em}
.product-price.sold-out{color:var(--muted)}
.product-sizes{display:flex;gap:.3rem}
.size-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}
.size-dot.available{background:var(--off-white)}
.cart-drawer{position:fixed;top:0;right:-420px;width:420px;height:100vh;background:#0f0f0f;border-left:1px solid var(--border);z-index:500;transition:right .35s ease;display:flex;flex-direction:column;padding:2rem;will-change:right}
.cart-drawer.open{right:0}
.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.cart-drawer-title{font-family:'Pirata One',sans-serif;font-size:1.5rem;letter-spacing:.1em}
.cart-close{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--muted);background:none;border:none;cursor:none;text-transform:uppercase;transition:color .2s}
.cart-close:hover{color:var(--off-white)}
.cart-items{flex:1;overflow-y:auto}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}
.cart-item-info{flex:1}
.cart-item-name{font-size:.85rem;color:var(--off-white);margin-bottom:.25rem}
.cart-item-size{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.cart-item-price{font-family:'Pirata One',sans-serif;font-size:1rem;margin-right:1rem}
.cart-item-remove{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--muted);background:none;border:none;cursor:none;transition:color .2s}
.cart-item-remove:hover{color:var(--off-white)}
.cart-footer{padding-top:1.5rem;border-top:1px solid var(--border)}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.cart-total-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cart-total-amount{font-family:'Pirata One',sans-serif;font-size:1.5rem}
.btn-checkout{width:100%;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;background:var(--off-white);color:var(--black);border:none;padding:1rem;cursor:none;transition:opacity .2s}
.btn-checkout:hover{opacity:.85}
.btn-checkout:disabled{opacity:.3}
.cart-empty{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-top:2rem;text-align:center}
.size-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:600;align-items:center;justify-content:center}
.size-modal-overlay.active{display:flex}
.size-modal{border:1px solid var(--border);background:#0f0f0f;padding:2.5rem;max-width:340px;width:90%}
.size-modal-label{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}
.size-modal-name{font-family:'Pirata One',sans-serif;font-size:1.8rem;letter-spacing:.05em;margin-bottom:2rem}
.size-options{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.size-option{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;padding:.6rem 1rem;border:1px solid var(--border);color:var(--off-white);background:none;cursor:none;transition:all .2s;text-transform:uppercase}
.size-option:hover{border-color:rgba(240,235,224,.3)}
.size-option.selected{background:var(--off-white);color:var(--black);border-color:var(--off-white)}
.size-option:disabled{opacity:.25;cursor:not-allowed}
.size-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-add{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;background:var(--off-white);color:var(--black);border:none;padding:.85rem;cursor:none;transition:opacity .2s}
.btn-add:hover{opacity:.85}
.btn-cancel{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;background:transparent;color:var(--muted);border:1px solid var(--border);padding:.85rem;cursor:none;transition:all .2s}
.btn-cancel:hover{color:var(--off-white)}
.page-center{min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;padding:3rem;text-align:center}
.page-center .big-title{font-family:'Pirata One',sans-serif;font-size:clamp(3rem,8vw,7rem);letter-spacing:.05em;line-height:1}
.page-center .sub{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.page-center a{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--muted);text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:.25rem;transition:color .2s}
.page-center a:hover{color:var(--off-white)}
footer{padding:2.5rem 3rem;border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center}
.footer-logo{font-family:'Pirata One',sans-serif;font-size:.9rem;letter-spacing:.3em;color:var(--muted)}
.footer-links{display:flex;gap:2rem}
.footer-links a{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s}
.footer-links a:hover{color:var(--off-white)}
.footer-copy{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted)}
.cart-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400}
.cart-overlay.active{display:block}
.product-page{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 80px)}
@media(max-width:768px){.product-page{grid-template-columns:1fr}}
.product-page-img{position:relative;background:#111;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-page-img img{width:100%;height:100%;object-fit:cover}
.product-placeholder-lg{display:flex;flex-direction:column;align-items:center;gap:1rem}
.placeholder-shape-lg{width:120px;height:120px;border:1px solid #222}
.product-page-info{padding:4rem 3rem;display:flex;flex-direction:column;gap:2rem;border-left:1px solid var(--border)}
.product-page-name{font-family:'Pirata One',sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:.02em}
.product-page-price{font-family:'Pirata One',sans-serif;font-size:2rem;letter-spacing:.05em}
.soon-label,.sold-label{color:var(--muted);font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.size-select-label{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}
.size-options-row{display:flex;gap:.5rem;flex-wrap:wrap}
.product-page-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-add-full{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;background:transparent;color:var(--off-white);border:1px solid var(--border);padding:1rem;cursor:none;transition:all .2s}
.btn-add-full:hover{border-color:rgba(240,235,224,.4)}
.btn-buy-now{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;background:var(--off-white);color:var(--black);border:none;padding:1rem;cursor:none;transition:opacity .2s}
.btn-buy-now:hover{opacity:.85}
.btn-buy-now:disabled{opacity:.3}
.product-page-meta{display:flex;flex-direction:column;gap:.5rem}
.product-page-meta p{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--muted)}
.product-back{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s;margin-top:auto}
.product-back:hover{color:var(--off-white)}

/* ── Hero Thermal ──────────────────────────────────────────── */
.hero-thermal{position:relative;overflow:hidden;min-height:65vh;display:flex;align-items:center;border-bottom:1px solid var(--border);background:#000}
.thermal-bg{position:absolute;inset:0;z-index:0}
.thermal-blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}

.blob1{width:65vw;height:65vw;max-width:680px;max-height:680px;
  background:radial-gradient(circle,#fff5c0 0%,#ffcc00 15%,#ff6600 35%,#cc1a00 55%,transparent 72%);
  top:-25%;left:-10%;opacity:.75;
  animation:blob1move 14s ease-in-out infinite alternate}

.blob2{width:50vw;height:50vw;max-width:550px;max-height:550px;
  background:radial-gradient(circle,#ff8800 0%,#dd2200 30%,#880033 55%,transparent 72%);
  bottom:-20%;right:-5%;opacity:.65;
  animation:blob2move 11s ease-in-out infinite alternate}

.blob3{width:35vw;height:35vw;max-width:420px;max-height:420px;
  background:radial-gradient(circle,#cc0044 0%,#6600aa 40%,#1a0066 65%,transparent 75%);
  top:15%;right:15%;opacity:.55;
  animation:blob3move 17s ease-in-out infinite alternate}

.blob4{width:28vw;height:28vw;max-width:320px;max-height:320px;
  background:radial-gradient(circle,#220055 0%,#00003a 55%,transparent 75%);
  bottom:0;left:30%;opacity:.7;
  animation:blob4move 13s ease-in-out infinite alternate}

@keyframes blob1move{0%{transform:translate(0,0) scale(1)}40%{transform:translate(7%,5%) scale(1.08)}100%{transform:translate(-4%,9%) scale(.93)}}
@keyframes blob2move{0%{transform:translate(0,0) scale(1)}60%{transform:translate(-9%,-7%) scale(1.12)}100%{transform:translate(4%,-10%) scale(.96)}}
@keyframes blob3move{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-7%,9%) scale(1.06)}100%{transform:translate(9%,4%) scale(.91)}}
@keyframes blob4move{0%{transform:translate(0,0) scale(1)}45%{transform:translate(9%,-7%) scale(1.1)}100%{transform:translate(-7%,5%) scale(.96)}}

.thermal-content{position:relative;z-index:1;padding:5rem 3rem 4rem;width:100%}
.hero-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.3em;color:rgba(240,235,224,.5);text-transform:uppercase;margin-bottom:1.5rem}
.thermal-title{font-family:'Pirata One',sans-serif;font-size:clamp(4rem,10vw,9rem);line-height:.88;letter-spacing:.02em;color:var(--off-white);text-shadow:0 0 100px rgba(255,100,0,.5),0 0 40px rgba(200,50,0,.3);margin-bottom:2rem}
.hero-sub{font-size:.85rem;color:rgba(240,235,224,.45);letter-spacing:.05em;max-width:400px;line-height:1.6}