/* ═══════════════════════════════════════
   3 MOONS MARKET — LAYOUTS + THEMES
   ═══════════════════════════════════════ */

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:var(--lh,1.6);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .5s,color .5s}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--heading);font-weight:var(--hw,700);text-transform:var(--ht,none);letter-spacing:var(--hls,0);line-height:1.15}
.container{max-width:var(--maxw,1200px);margin:0 auto;padding:0 2rem}
.logo-img{height:auto;filter:var(--logo-f,none);transition:filter .5s}
.page{animation:fadeUp .35s ease}
.page--404{text-align:center;padding:6rem 2rem}

/* ═══════════════════════════════════════
   NAV: TOP BAR (Classic + Magazine)
   ═══════════════════════════════════════ */
.nav-top{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:70px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;transition:background .5s,border-color .5s}
.nav-top__logo{display:flex;align-items:center;gap:.75rem;cursor:pointer}
.nav-top__img{width:40px}
.nav-top__brand{font-family:var(--heading);font-weight:var(--hw,700);font-size:1.1rem;letter-spacing:var(--hls,0);white-space:nowrap}
.nav-top__links{display:flex;gap:2rem}
.nav-top__link{font-size:.88rem;opacity:.7;transition:opacity .2s,color .2s}
.nav-top__link:hover,.nav-top__link.--on{opacity:1;color:var(--primary)}
.nav-top__cart{display:flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--btn-r,6px);font-size:.85rem;transition:border-color .3s}
.nav-top__cart:hover{border-color:var(--primary)}

/* ═══════════════════════════════════════
   NAV: SIDEBAR (Side Gallery)
   ═══════════════════════════════════════ */
.side-wrap{display:flex;min-height:100vh}
.nav-side{width:240px;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;padding:2rem 1.5rem;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;z-index:100;transition:background .5s}
.nav-side__logo{width:48px;margin-bottom:.75rem}
.nav-side__brand{font-family:var(--heading);font-weight:var(--hw,700);font-size:1rem;letter-spacing:var(--hls,0);margin-bottom:2rem}
.nav-side__links{display:flex;flex-direction:column;gap:.75rem;margin-bottom:auto}
.nav-side__link{font-size:.9rem;opacity:.7;transition:opacity .2s,color .2s;padding:.3rem 0}
.nav-side__link:hover,.nav-side__link.--on{opacity:1;color:var(--primary)}
.nav-side__vals{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:.4rem}
.nav-side__cart{margin-top:1.5rem;padding:.6rem;border:1px solid var(--border);border-radius:var(--btn-r,6px);font-size:.85rem;text-align:center;transition:border-color .3s}
.nav-side__cart:hover{border-color:var(--primary)}
.side-main{flex:1;margin-left:240px;padding:2.5rem 2rem;min-height:100vh}
.side-title{font-size:1.6rem;margin-bottom:1.5rem}
.side-sub{font-size:.88rem;color:var(--muted);margin-bottom:1.5rem;margin-top:-.75rem}

/* ═══════════════════════════════════════
   NAV: FLOATING (Showcase)
   ═══════════════════════════════════════ */
.nav-float{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem}
.nav-float__logo{width:40px;filter:brightness(10) drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.nav-float__links{display:flex;gap:1.5rem}
.nav-float__links a{font-size:.88rem;color:#fff;opacity:.8;transition:opacity .2s;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.nav-float__links a:hover{opacity:1}

/* ═══════════════════════════════════════
   NAV: CENTERED (Lookbook)
   ═══════════════════════════════════════ */
.nav-ctr{text-align:center;padding:3rem 2rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--surface);border-bottom:1px solid var(--border);transition:background .5s}
.nav-ctr__logo{width:56px;margin-bottom:.5rem}
.nav-ctr__brand{font-family:var(--heading);font-weight:var(--hw,700);font-size:1.5rem;letter-spacing:var(--hls,0)}
.nav-ctr__links{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--muted);margin-top:.5rem}
.nav-ctr__links a{opacity:.7;transition:opacity .2s,color .2s}
.nav-ctr__links a:hover{opacity:1;color:var(--primary)}
.nav-ctr__dot{opacity:.3}

/* ═══════════════════════════════════════
   HERO: CLASSIC (full-bleed image)
   ═══════════════════════════════════════ */
.hero-classic{position:relative;min-height:75vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-classic__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-classic__over{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 100%)}
.hero-classic__content{position:relative;z-index:2;padding:4rem;max-width:600px;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;width:100%;max-width:var(--maxw,1200px);margin:0 auto}
.hero-classic__logo{width:clamp(80px,12vw,120px)}
.hero-classic__title{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05}
.hero-classic__tag{font-size:clamp(.95rem,1.5vw,1.15rem);color:var(--muted);max-width:400px}
.hero-classic__cta{display:inline-flex;padding:.9rem 2.2rem;background:var(--primary);color:var(--cta-text,#fff);font-weight:600;border-radius:var(--btn-r,6px);transition:transform .25s,box-shadow .25s;margin-top:.5rem}
.hero-classic__cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 35%,transparent)}

/* ═══════════════════════════════════════
   VALUE PROPS
   ═══════════════════════════════════════ */
.vp-section{padding:var(--sec-gap,4rem) 0;background:var(--vp-bg,var(--surface-alt,var(--bg)));transition:background .5s}
.vp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.vp{text-align:center;padding:1.5rem 1rem}
.vp__t{font-size:.95rem;margin-bottom:.3rem}
.vp__d{font-size:.82rem;color:var(--muted)}

/* ═══════════════════════════════════════
   SECTION / TITLES
   ═══════════════════════════════════════ */
.sec{padding:var(--sec-gap,4rem) 0}
.sec__title{text-align:center;font-size:clamp(1.4rem,3vw,2rem);margin-bottom:2.5rem;position:relative}
.cta-w{text-align:center;margin-top:2.5rem}

/* ═══════════════════════════════════════
   PRODUCT GRID
   ═══════════════════════════════════════ */
.pgrid{display:grid;gap:var(--grid-gap,1.5rem)}
.pgrid--3{grid-template-columns:repeat(3,1fr)}
.pgrid--4{grid-template-columns:repeat(4,1fr)}
.pgrid--side{grid-template-columns:repeat(3,1fr);gap:1.25rem}

/* ═══════════════════════════════════════
   PRODUCT CARD (Standard — Classic/Sidebar)
   ═══════════════════════════════════════ */
.pcard{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--card-r,8px);overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:var(--card-sh,0 2px 12px rgba(0,0,0,.06))}
.pcard:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.12)}
.pcard__iw{aspect-ratio:1;overflow:hidden;background:var(--surface-alt,var(--bg))}
.pcard__img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard__img{transform:scale(1.05)}
.pcard__info{padding:1.1rem 1.2rem 1.3rem}
.pcard__cat{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}
.pcard__name{font-size:1.05rem;margin-bottom:.2rem;font-family:var(--heading)}
.pcard__sc{font-size:.8rem;color:var(--muted);margin-bottom:.35rem;font-style:italic}
.pcard__pr{font-size:.92rem;font-weight:600;color:var(--primary)}

/* ═══════════════════════════════════════
   PANEL CARD (Showcase — full-viewport)
   ═══════════════════════════════════════ */
.showcase-page{padding-bottom:0}
.panel-card{position:relative;height:100vh;display:flex;align-items:flex-end;overflow:hidden;cursor:pointer}
.panel-card__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s}
.panel-card:hover .panel-card__bg{transform:scale(1.04)}
.panel-card__over{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 40%,transparent 100%)}
.panel-card__content{position:relative;z-index:2;padding:4rem;max-width:600px}
.panel-card__cat{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-bottom:.5rem}
.panel-card__name{font-size:clamp(2rem,5vw,3.5rem);color:#fff;margin-bottom:.3rem;font-family:var(--heading);line-height:1.1}
.panel-card__sc{color:rgba(255,255,255,.65);font-size:1rem;font-style:italic;margin-bottom:.5rem}
.panel-card__pr{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:1.5rem}
.panel-card .btn{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.panel-card .btn:hover{background:rgba(255,255,255,.25)}

/* ═══════════════════════════════════════
   LOOKBOOK CARD (alternating 2-col rows)
   ═══════════════════════════════════════ */
.look-page{max-width:var(--maxw,1200px);margin:0 auto;padding-bottom:0}
.look-intro{padding:3rem 2rem;text-align:center;max-width:600px;margin:0 auto}
.look-intro__text{font-size:1.1rem;color:var(--muted);line-height:1.7;font-family:var(--accent-font,var(--body));font-style:italic}
.look-title{text-align:center;padding:2rem 0 1rem;font-size:1.8rem}
.look-card{display:grid;grid-template-columns:1fr 1fr;min-height:55vh;border-bottom:1px solid var(--border);cursor:pointer}
.look-card--flip .look-card__iw{order:2}
.look-card--flip .look-card__info{order:1}
.look-card__iw{overflow:hidden}
.look-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.look-card:hover .look-card__img{transform:scale(1.04)}
.look-card__info{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem);gap:.4rem}
.look-card__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.look-card__name{font-size:clamp(1.5rem,3vw,2.2rem);font-family:var(--heading);margin-bottom:.2rem}
.look-card__sc{font-size:.9rem;color:var(--muted);font-style:italic}
.look-card__desc{font-size:.88rem;color:var(--muted);line-height:1.6;margin:.5rem 0;max-width:380px}
.look-card__pr{font-size:1.1rem;font-weight:700;color:var(--primary);margin:.5rem 0}

/* ═══════════════════════════════════════
   MAGAZINE LAYOUT
   ═══════════════════════════════════════ */
.mag-feat{display:grid;grid-template-columns:1fr 1fr;min-height:65vh}
.mag-feat__img-w{overflow:hidden}
.mag-feat__img{width:100%;height:100%;object-fit:cover}
.mag-feat__info{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem);background:var(--surface);gap:.5rem}
.mag-feat__lab{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--primary)}
.mag-feat__name{font-size:clamp(2rem,5vw,3.5rem);font-family:var(--heading);line-height:1.1}
.mag-feat__sc{font-size:1rem;color:var(--muted);font-style:italic}
.mag-feat__pr{font-size:1.3rem;font-weight:700;color:var(--primary);margin:.5rem 0}
.mag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mag-card{position:relative;overflow:hidden;cursor:pointer}
.mag-card--big{grid-column:span 2;grid-row:span 2}
.mag-card__iw{aspect-ratio:1;overflow:hidden;position:relative}
.mag-card--big .mag-card__iw{aspect-ratio:auto;height:100%}
.mag-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mag-card:hover .mag-card__img{transform:scale(1.06)}
.mag-card__grad{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);pointer-events:none}
.mag-card__ov{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;z-index:2}
.mag-card__name{color:#fff;font-family:var(--heading);font-size:1.1rem}
.mag-card--big .mag-card__name{font-size:clamp(1.3rem,3vw,2rem)}
.mag-card__sc{color:rgba(255,255,255,.65);font-size:.8rem;font-style:italic}
.mag-card__pr{color:rgba(255,255,255,.9);font-weight:600;font-size:.95rem;margin-top:.2rem}
.mag-story{padding:5rem 0;text-align:center;background:var(--surface);transition:background .5s}
.mag-story__in{max-width:560px}
.mag-story h2{margin-bottom:1rem}
.mag-story p{color:var(--muted);line-height:1.7;margin-bottom:1.5rem}

/* ═══════════════════════════════════════
   PAGE HEADER
   ═══════════════════════════════════════ */
.pg-head{padding:3rem 0 2rem;background:var(--surface);border-bottom:1px solid var(--border);transition:background .5s}
.pg-head__t{font-size:clamp(1.8rem,4vw,2.8rem)}
.pg-head__s{font-size:.88rem;color:var(--muted);margin-top:.4rem}

/* ═══════════════════════════════════════
   BREADCRUMB
   ═══════════════════════════════════════ */
.bc{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);margin-bottom:.75rem}
.bc a:hover{color:var(--primary)}
.bc__s{opacity:.4}
.bc__c{color:var(--text)}

/* ═══════════════════════════════════════
   RATING
   ═══════════════════════════════════════ */
.rating{display:flex;align-items:center;gap:.1rem;margin-bottom:.4rem}
.star{color:var(--border);font-size:.85rem}
.star--filled{color:var(--accent,var(--primary))}
.rcount{font-size:.75rem;color:var(--muted);margin-left:.3rem}

/* ═══════════════════════════════════════
   PRODUCT DETAIL VARIANTS
   ═══════════════════════════════════════ */
.dt{padding:3rem 0}
.dt__in{max-width:var(--maxw,1200px);margin:0 auto;padding:0 2rem;display:grid;gap:3rem;align-items:start}
.dt--side .dt__in{grid-template-columns:1fr 1fr}
.dt__frame{border-radius:var(--card-r,8px);overflow:hidden;background:var(--surface-alt,var(--bg))}
.dt__frame--full{border-radius:0}
.dt__img{width:100%;aspect-ratio:1;object-fit:cover}
.dt__name{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:.75rem}
.dt__scent{font-size:1rem;font-weight:600;color:var(--primary);margin-bottom:1rem}
.dt__desc{margin-bottom:1.5rem;line-height:1.7}
.dt__desc p{margin-bottom:.75rem}
.dt__ing{font-size:.85rem;color:var(--muted);margin-bottom:1rem;line-height:1.6}
.dt__tin{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem}
.dt__price{font-size:1.8rem;font-weight:700;font-family:var(--heading);color:var(--primary);margin-bottom:1.5rem}
.dt__szw{margin-bottom:2rem}
.dt__szl{display:block;font-size:.85rem;font-weight:600;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dt__act{margin-top:.5rem}

/* Stacked (sidebar) */
.dt--stack{padding:0}
.dt--stack .dt__infoc--stack{padding:1.5rem 0}

/* Fullbleed (showcase) */
.dt--full__hero{height:55vh;background-size:cover;background-position:center;background-color:var(--surface-alt,var(--bg))}
.dt--full__body{padding:3rem 0}
.dt--full__info{max-width:700px;margin:0 auto;padding:0 2rem}

/* Editorial (magazine) */
.dt--edl__hero{max-height:55vh;overflow:hidden}
.dt--edl__hero .dt__img{width:100%;height:55vh;object-fit:cover;aspect-ratio:auto}
.dt--edl__body{max-width:680px;margin:0 auto;padding:3rem 2rem}

/* Centered (lookbook) */
.dt--ctr{max-width:var(--maxw,1200px);margin:0 auto;padding:3rem 2rem}
.dt--ctr__img-w{max-width:500px;margin:0 auto;border-radius:var(--card-r,8px);overflow:hidden}
.dt--ctr__img-w .dt__img{aspect-ratio:1}
.dt--ctr__body{max-width:560px;margin:2rem auto 0}

/* ═══════════════════════════════════════
   SIZE SELECTOR
   ═══════════════════════════════════════ */
.sz-sel{display:flex;gap:.75rem;flex-wrap:wrap}
.sz{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.75rem 1.5rem;border:2px solid var(--border);border-radius:var(--btn-r,6px);transition:all .25s;background:transparent;min-width:100px}
.sz__l{font-weight:700;font-size:.95rem}
.sz__p{font-size:.8rem;color:var(--muted)}
.sz:hover{border-color:var(--primary);color:var(--primary)}
.sz--on{border-color:var(--primary);background:var(--primary);color:var(--cta-text,#fff)}
.sz--on .sz__p{color:var(--cta-text,#fff);opacity:.85}

/* ═══════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 2rem;font-weight:600;font-size:.95rem;border-radius:var(--btn-r,6px);letter-spacing:.03em;transition:all .25s}
.btn--primary{background:var(--primary);color:var(--cta-text,#fff)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 35%,transparent)}
.btn--lg{padding:1rem 3rem;font-size:1rem}
.btn--outline{border:2px solid var(--primary);color:var(--primary);background:transparent}
.btn--outline:hover{background:var(--primary);color:var(--cta-text,#fff)}

/* ═══════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════ */
.footer{background:var(--surface);border-top:1px solid var(--border);padding:4rem 0 0;margin-top:var(--sec-gap,4rem);transition:background .5s}
.footer__in{max-width:var(--maxw,1200px);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.footer__brand{display:flex;flex-direction:column;gap:1rem}
.footer__logo{width:48px}
.footer__tag{font-size:.82rem;color:var(--muted);max-width:260px;line-height:1.5}
.footer__col{display:flex;flex-direction:column;gap:.5rem}
.footer__col h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;color:var(--muted);font-family:var(--body);font-weight:600}
.footer__col a{font-size:.85rem;opacity:.7;transition:opacity .2s}
.footer__col a:hover{opacity:1;color:var(--primary)}
.footer__col p{font-size:.8rem;color:var(--muted)}
.footer__btm{margin-top:3rem;padding:1.5rem 2rem;border-top:1px solid var(--border);text-align:center;font-size:.78rem;color:var(--muted)}
.footer--min{border-top:1px solid var(--border);padding:0;margin-top:2rem}
.footer--min .footer__btm{margin-top:0;border:none}

/* ═══════════════════════════════════════
   THEME SWITCHER
   ═══════════════════════════════════════ */
.theme-sw{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.4;letter-spacing:0;text-transform:none;font-weight:400;font-style:normal;font-variant:normal;font-size:14px}
.tt{width:52px;height:52px;border-radius:50%;background:#1a1a2e;color:#e8e4f0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.3);transition:transform .3s;border:2px solid rgba(255,255,255,.1)}
.tt:hover{transform:scale(1.1)}
.tp{position:absolute;bottom:64px;right:0;width:340px;max-height:80vh;background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(12px) scale(.95);transition:all .3s;overflow:hidden;display:flex;flex-direction:column}
.tp--open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.tp__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}
.tp__head h3{font-family:inherit;font-size:15px;font-weight:600;color:#e8e4f0;letter-spacing:0;text-transform:none;line-height:1.4}
.tp__close{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#8882a0;font-size:1.2rem;transition:background .2s}
.tp__close:hover{background:rgba(255,255,255,.1);color:#e8e4f0}
.tp__body{overflow-y:auto;padding:.5rem;flex:1}
.tp__sec{margin-bottom:.25rem}
.tp__label{font-family:inherit;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#6a6a8a;padding:.5rem .75rem .3rem;line-height:1.4}

/* Layout options */
.lo{display:flex;flex-direction:column;width:100%;padding:.6rem .75rem;border-radius:8px;transition:background .2s;text-align:left;margin-bottom:1px}
.lo:hover{background:rgba(255,255,255,.06)}
.lo--on{background:rgba(255,255,255,.12)}
.lo__name{font-family:inherit;font-size:13px;font-weight:600;color:#e8e4f0;letter-spacing:0;text-transform:none;line-height:1.4}
.lo__desc{font-family:inherit;font-size:11px;color:#6a6a8a;text-transform:none;letter-spacing:0;line-height:1.4}

/* Theme options */
.to{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .75rem;border-radius:8px;transition:background .2s;text-align:left}
.to:hover{background:rgba(255,255,255,.06)}
.to--on{background:rgba(255,255,255,.1)}
.to__sw{display:flex;gap:2px;flex-shrink:0}
.to__dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.15)}
.to__name{font-family:inherit;font-size:12px;font-weight:500;color:#e8e4f0;letter-spacing:0;text-transform:none;line-height:1.4}

/* Pin UI */
.tp__head-actions{display:flex;align-items:center;gap:6px}
.pin-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6a6a8a;transition:color .2s,background .2s}
.pin-btn:hover{color:#e8c4f0;background:rgba(255,255,255,.08)}
.pin-btn--on{color:#f0c860}
.pin-row{display:flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border-radius:8px;transition:background .2s}
.pin-row:hover{background:rgba(255,255,255,.06)}
.pin-row--on{background:rgba(255,255,255,.1)}
.pin-apply{display:flex;align-items:center;gap:8px;flex:1;padding:5px 0;text-align:left}
.pin-label{font-size:11px;color:#e8e4f0;line-height:1.3}
.pin-rm{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6a6a8a;font-size:13px;transition:color .2s,background .2s;flex-shrink:0}
.pin-rm:hover{color:#ff6b6b;background:rgba(255,100,100,.1)}
.pin-custom{font-size:10px;color:#82c9c4;margin-left:4px;opacity:.7}

/* Image Editor */
.edit-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6a6a8a;transition:color .2s,background .2s}
.edit-btn:hover{color:#82c9c4;background:rgba(255,255,255,.08)}
.edit-btn--on{color:#82c9c4;background:rgba(130,201,196,.15)}
.img-edit{display:none;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.img-edit--open{display:block}
.img-edit__none{font-size:11px;color:#6a6a8a;padding:8px 12px}
.img-edit__resetall{padding:4px 8px}
.img-edit__resetbtn{font-size:10px;color:#ff6b6b;padding:4px 8px;border-radius:4px;transition:background .2s;width:100%;text-align:left}
.img-edit__resetbtn:hover{background:rgba(255,100,100,.1)}
.img-slot{margin-bottom:8px}
.img-slot__head{display:flex;align-items:center;justify-content:space-between;padding:2px 10px}
.img-slot__label{font-size:11px;color:#c0b8d0;font-weight:500}
.img-slot__reset{font-size:14px;color:#6a6a8a;padding:2px 4px;border-radius:4px;transition:color .2s,background .2s;line-height:1}
.img-slot__reset:hover{color:#ff6b6b;background:rgba(255,100,100,.1)}
.img-slot__opts{display:flex;gap:4px;padding:4px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.img-opt{width:38px;height:38px;border-radius:5px;overflow:hidden;border:2px solid transparent;flex-shrink:0;padding:0;transition:border-color .2s,transform .15s}
.img-opt--on{border-color:#82c9c4}
.img-opt:hover{border-color:rgba(255,255,255,.3);transform:scale(1.08)}
.img-opt__thumb{width:100%;height:100%;object-fit:cover}

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */
@media(max-width:1024px){
  .pgrid--4{grid-template-columns:repeat(3,1fr)}
  .footer__in{grid-template-columns:1fr 1fr;gap:2rem}
  .mag-feat{grid-template-columns:1fr}
  .mag-feat__img-w{height:40vh}
}
@media(max-width:768px){
  .nav-top__links{display:none}
  .hero-classic{min-height:50vh}
  .hero-classic__content{padding:2.5rem 2rem}
  .vp-grid{grid-template-columns:1fr;gap:1rem}
  .pgrid--3,.pgrid--4,.pgrid--side{grid-template-columns:repeat(2,1fr)}
  .dt--side .dt__in{grid-template-columns:1fr}
  .footer__in{grid-template-columns:1fr;gap:2rem}
  .tp{width:280px}
  .side-wrap{flex-direction:column}
  .nav-side{position:static;width:100%;flex-direction:row;flex-wrap:wrap;gap:1rem;padding:1rem;align-items:center;border-right:none;border-bottom:1px solid var(--border)}
  .nav-side__links{flex-direction:row;gap:1rem;margin-bottom:0}
  .nav-side__vals{display:none}
  .nav-side__brand{margin-bottom:0}
  .side-main{margin-left:0;padding:1.5rem}
  .look-card{grid-template-columns:1fr}
  .look-card--flip .look-card__iw{order:1}
  .look-card--flip .look-card__info{order:2}
  .mag-grid{grid-template-columns:repeat(2,1fr)}
  .mag-card--big{grid-column:span 2}
  .panel-card{height:70vh}
}
@media(max-width:480px){
  .pgrid--3,.pgrid--4,.pgrid--side{grid-template-columns:1fr}
  .nav-top{padding:0 1rem}
  .hero-classic__title{font-size:2rem}
  .mag-grid{grid-template-columns:1fr}
  .mag-card--big{grid-column:span 1;grid-row:span 1}
  .panel-card__name{font-size:1.8rem}
}


/* ═══════════════════════════════════════════════════════════════
   THEMES — color / font / decoration only
   ═══════════════════════════════════════════════════════════════ */

[data-theme="ember-hearth"]{--bg:#151010;--surface:#1e1814;--surface-alt:#28201a;--primary:#d4763a;--accent:#f0a868;--text:#ede0d4;--muted:#9a8878;--border:#382a20;--heading:'Playfair Display',serif;--body:'Source Sans 3',sans-serif;--accent-font:'Playfair Display',serif;--hw:700;--hls:.01em;--lh:1.65;--card-r:8px;--btn-r:8px;--maxw:1200px;--cta-text:#151010;--logo-f:none;--sec-gap:5rem;--grid-gap:1.5rem}
[data-theme="ember-hearth"] .sec__title::after{content:'';display:block;width:60px;height:2px;margin:.75rem auto 0;background:linear-gradient(90deg,transparent,var(--primary),var(--accent),transparent)}

[data-theme="midnight-apothecary"]{--bg:#0b0d18;--surface:#12152a;--surface-alt:#1a1e38;--primary:#9b8ec4;--accent:#d4af37;--text:#e0dce8;--muted:#7a7694;--border:#2a2848;--heading:'Cinzel',serif;--body:'Libre Baskerville',serif;--accent-font:'Cinzel',serif;--hw:700;--hls:.06em;--lh:1.75;--card-r:0;--btn-r:0;--maxw:1100px;--cta-text:#0b0d18;--logo-f:none;--sec-gap:5rem;--grid-gap:1.25rem}
[data-theme="midnight-apothecary"] .sec__title{font-variant:small-caps}
[data-theme="midnight-apothecary"] .sec__title::after{content:'\2726  \2726  \2726';display:block;font-size:.55rem;color:var(--accent);margin-top:.5rem;letter-spacing:1em}

[data-theme="velvet-cosmos"]{--bg:#0e0614;--surface:#160e20;--surface-alt:#201530;--primary:#c77dba;--accent:#e8c4f0;--text:#f0eaf4;--muted:#8a7a96;--border:#2d1e3d;--heading:'DM Serif Display',serif;--body:'Inter',sans-serif;--accent-font:'Space Mono',monospace;--hw:400;--hls:.01em;--lh:1.7;--card-r:16px;--btn-r:50px;--maxw:1100px;--cta-text:#0e0614;--logo-f:none;--sec-gap:6rem;--grid-gap:2rem}

[data-theme="moss-and-stone"]{--bg:#0e1610;--surface:#151f18;--surface-alt:#1e2e22;--primary:#7a9e7e;--accent:#c4a265;--text:#d5dfce;--muted:#7a8e76;--border:#2a3e2e;--heading:'Fraunces',serif;--body:'Work Sans',sans-serif;--accent-font:'Fraunces',serif;--hw:700;--hls:-.01em;--lh:1.65;--card-r:3px 18px 3px 18px;--btn-r:2px 14px 2px 14px;--maxw:1200px;--cta-text:#0e1610;--logo-f:none;--sec-gap:5rem;--grid-gap:1.5rem}

[data-theme="neon-ritual"]{--bg:#080808;--surface:#0e0e0e;--surface-alt:#161616;--primary:#ff3c78;--accent:#00f0ff;--text:#eaeaea;--muted:#5a5a5a;--border:#2a2a2a;--heading:'Space Grotesk',sans-serif;--body:'IBM Plex Sans',sans-serif;--accent-font:'Space Mono',monospace;--hw:700;--ht:uppercase;--hls:.08em;--lh:1.6;--card-r:0;--btn-r:0;--maxw:1200px;--cta-text:#080808;--logo-f:none;--sec-gap:4rem;--grid-gap:1px}
[data-theme="neon-ritual"] .sec__title::after{content:'';display:block;width:40px;height:1px;background:var(--primary);margin:.6rem auto 0;box-shadow:0 0 8px var(--primary)}

[data-theme="darkroom"]{--bg:#0a0808;--surface:#121010;--surface-alt:#1a1414;--primary:#e02020;--accent:#ff4040;--text:#d0c0b8;--muted:#6a5a52;--border:#2a1e1e;--heading:'Space Mono',monospace;--body:'IBM Plex Sans',sans-serif;--accent-font:'Space Mono',monospace;--hw:700;--ht:uppercase;--hls:.08em;--lh:1.6;--card-r:0;--btn-r:0;--maxw:1100px;--cta-text:#0a0808;--logo-f:none;--sec-gap:4rem;--grid-gap:1.5rem}

[data-theme="tokyo-drift"]{--bg:#0c0820;--surface:#141030;--surface-alt:#1c1640;--primary:#ff6b35;--accent:#e91e8c;--text:#f0e8ff;--muted:#7a70a0;--border:#2a2050;--heading:'Sora',sans-serif;--body:'Inter',sans-serif;--accent-font:'Space Mono',monospace;--hw:700;--hls:-.01em;--lh:1.6;--card-r:4px;--btn-r:4px;--maxw:1200px;--cta-text:#0c0820;--logo-f:none;--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="tokyo-drift"] .sec__title::after{content:'';display:block;width:50px;height:2px;margin:.6rem auto 0;background:linear-gradient(90deg,var(--primary),var(--accent))}

[data-theme="velvet-theater"]{--bg:#140810;--surface:#1e1018;--surface-alt:#2a1820;--primary:#c41e3a;--accent:#d4a847;--text:#f5e6d0;--muted:#8a7060;--border:#3a2028;--heading:'Playfair Display',serif;--body:'Libre Baskerville',serif;--accent-font:'Playfair Display',serif;--hw:700;--hls:.02em;--lh:1.7;--card-r:0;--btn-r:0;--maxw:1100px;--cta-text:#140810;--logo-f:none;--sec-gap:5rem;--grid-gap:1.5rem}
[data-theme="velvet-theater"] .sec__title::after{content:'\2014  \2734  \2014';display:block;font-size:.6rem;color:var(--accent);margin-top:.6rem;letter-spacing:.5em}

[data-theme="brutalist"]{--bg:#1a1a1a;--surface:#222;--surface-alt:#2c2c2c;--primary:#e0e0e0;--accent:#ff0;--text:#c0c0c0;--muted:#666;--border:#3a3a3a;--heading:'Space Grotesk',sans-serif;--body:'Work Sans',sans-serif;--accent-font:'Space Mono',monospace;--hw:700;--ht:uppercase;--hls:.1em;--lh:1.5;--card-r:0;--btn-r:0;--maxw:960px;--cta-text:#1a1a1a;--logo-f:none;--sec-gap:3rem;--grid-gap:0}

[data-theme="undersea"]{--bg:#030a14;--surface:#081420;--surface-alt:#0c1e30;--primary:#00c9b8;--accent:#0a68ff;--text:#c0dce8;--muted:#4a7a8a;--border:#122a3a;--heading:'DM Serif Display',serif;--body:'Inter',sans-serif;--accent-font:'DM Serif Display',serif;--hw:400;--hls:.01em;--lh:1.65;--card-r:16px;--btn-r:50px;--maxw:1200px;--cta-text:#030a14;--logo-f:none;--sec-gap:5rem;--grid-gap:1.5rem}
[data-theme="undersea"] .pcard{box-shadow:0 4px 20px rgba(0,201,184,.06)}
[data-theme="undersea"] .pcard:hover{box-shadow:0 0 30px rgba(0,201,184,.12),0 8px 32px rgba(0,0,0,.3)}

[data-theme="linen-and-sage"]{--bg:#f5f2ec;--surface:#fdfcfa;--surface-alt:#edeae3;--primary:#5e6e4e;--accent:#c4a36e;--text:#2a2a26;--muted:#7a7a70;--border:#ddd8ce;--heading:'Outfit',sans-serif;--body:'Outfit',sans-serif;--accent-font:'Newsreader',serif;--hw:700;--hls:-.01em;--lh:1.65;--card-r:6px;--btn-r:6px;--maxw:1100px;--cta-text:#fdfcfa;--logo-f:brightness(0) opacity(.75);--sec-gap:4.5rem;--grid-gap:1.75rem}

[data-theme="golden-hour"]{--bg:#fcf5ea;--surface:#fff;--surface-alt:#f5ead8;--primary:#c2703e;--accent:#e8b44c;--text:#3a2820;--muted:#8a7468;--border:#e8dcc8;--heading:'Lora',serif;--body:'Nunito',sans-serif;--accent-font:'Caveat',cursive;--hw:700;--lh:1.7;--card-r:12px;--btn-r:12px;--maxw:1140px;--cta-text:#fff;--logo-f:brightness(0) opacity(.7);--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="golden-hour"] .sec__title::after{content:'';display:block;width:100px;height:6px;margin:.5rem auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='6' viewBox='0 0 100 6'%3E%3Cpath d='M0,3 C10,0 20,6 30,3 C40,0 50,6 60,3 C70,0 80,6 90,3 C95,1.5 100,3 100,3' fill='none' stroke='%23c2703e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center}

[data-theme="salt-and-sky"]{--bg:#eef3f7;--surface:#fff;--surface-alt:#e2ecf2;--primary:#2e6b8a;--accent:#d4856a;--text:#1a2a34;--muted:#6a828e;--border:#cddbe4;--heading:'Sora',sans-serif;--body:'Sora',sans-serif;--accent-font:'DM Serif Display',serif;--hw:700;--hls:-.02em;--lh:1.65;--card-r:12px;--btn-r:10px;--maxw:1200px;--cta-text:#fff;--logo-f:brightness(0) opacity(.7);--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="salt-and-sky"] .sec__title::after{content:'';display:block;width:80px;height:3px;margin:.75rem auto 0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px}

[data-theme="pressed-flora"]{--bg:#f4f0e6;--surface:#faf8f2;--surface-alt:#ebe5d8;--primary:#5e6e4a;--accent:#c46a5e;--text:#2e2a22;--muted:#7a7468;--border:#c8c0b0;--heading:'Cormorant Garamond',serif;--body:'EB Garamond',serif;--accent-font:'Cormorant Garamond',serif;--hw:600;--hls:.02em;--lh:1.75;--card-r:0;--btn-r:0;--maxw:1040px;--cta-text:#faf8f2;--logo-f:brightness(0) opacity(.65);--sec-gap:4rem;--grid-gap:1.5rem}
[data-theme="pressed-flora"] .sec__title{font-variant:small-caps;font-weight:400;letter-spacing:.08em}
[data-theme="pressed-flora"] .sec__title::after{content:'\2767';display:block;font-size:1rem;color:var(--accent);margin-top:.5rem}

[data-theme="desert-adobe"]{--bg:#f2e8d8;--surface:#f8f2e8;--surface-alt:#e8dcc8;--primary:#b85c3a;--accent:#2e6b6b;--text:#2e2418;--muted:#7a6e58;--border:#d4c4a8;--heading:'Josefin Sans',sans-serif;--body:'Karla',sans-serif;--accent-font:'Josefin Sans',sans-serif;--hw:700;--ht:uppercase;--hls:.1em;--lh:1.65;--card-r:0;--btn-r:0;--maxw:1200px;--cta-text:#f8f2e8;--logo-f:brightness(0) opacity(.65);--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="desert-adobe"] .sec__title::after{content:'\25C6  \25C6  \25C6';display:block;font-size:.45rem;color:var(--accent);margin-top:.6rem;letter-spacing:.6em}
[data-theme="desert-adobe"] .pcard{border-top:3px solid var(--primary)}

[data-theme="paper-craft"]{--bg:#f0e8d8;--surface:#fff8f0;--surface-alt:#e8dcc8;--primary:#8b6914;--accent:#d4543c;--text:#3a3020;--muted:#7a6a50;--border:#c8b898;--heading:'Caveat',cursive;--body:'Karla',sans-serif;--accent-font:'Caveat',cursive;--hw:700;--lh:1.65;--card-r:0;--btn-r:4px;--maxw:1100px;--cta-text:#fff8f0;--logo-f:brightness(0) opacity(.6);--sec-gap:4rem;--grid-gap:2rem}
[data-theme="paper-craft"] .sec__title{font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem)}
[data-theme="paper-craft"] .sec__title::after{content:'';display:block;width:60px;height:3px;margin:.5rem auto 0;background:var(--accent)}

[data-theme="greenhouse"]{--bg:#eef6ee;--surface:#fff;--surface-alt:#dceede;--primary:#1a8a3e;--accent:#f5d442;--text:#1a3020;--muted:#5a7a5e;--border:#b8d8be;--heading:'Outfit',sans-serif;--body:'Nunito',sans-serif;--accent-font:'Outfit',sans-serif;--hw:700;--hls:-.01em;--lh:1.65;--card-r:12px;--btn-r:10px;--maxw:1200px;--cta-text:#fff;--logo-f:brightness(0) opacity(.7);--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="greenhouse"] .sec__title::after{content:'';display:block;width:20px;height:20px;margin:.6rem auto 0;background:var(--accent);border-radius:50%;opacity:.5}

[data-theme="white-cube"]{--bg:#fff;--surface:#fff;--surface-alt:#f5f5f5;--primary:#1a1a1a;--accent:#888;--text:#1a1a1a;--muted:#999;--border:#e0e0e0;--heading:'Josefin Sans',sans-serif;--body:'Karla',sans-serif;--accent-font:'Josefin Sans',sans-serif;--hw:300;--ht:uppercase;--hls:.15em;--lh:1.6;--card-r:0;--btn-r:0;--maxw:1000px;--cta-text:#fff;--logo-f:brightness(0) opacity(.8);--sec-gap:5rem;--grid-gap:3rem}
[data-theme="white-cube"] .pcard{border:none;box-shadow:none}
[data-theme="white-cube"] .pcard:hover{box-shadow:none;transform:none}
[data-theme="white-cube"] .pcard__name{font-weight:300;letter-spacing:.05em}

[data-theme="pastel-dream"]{--bg:#f8f0f6;--surface:#fff;--surface-alt:#f0e8f4;--primary:#a86bc4;--accent:#82c9c4;--text:#4a3a56;--muted:#8a7a9a;--border:#dcc8e8;--heading:'Nunito',sans-serif;--body:'Inter',sans-serif;--accent-font:'Nunito',sans-serif;--hw:700;--hls:-.01em;--lh:1.7;--card-r:20px;--btn-r:50px;--maxw:1140px;--cta-text:#fff;--logo-f:brightness(0) opacity(.5);--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="pastel-dream"] .btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent))}
[data-theme="pastel-dream"] .sec__title::after{content:'';display:block;width:24px;height:24px;margin:.6rem auto 0;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;opacity:.25}

[data-theme="newsprint"]{--bg:#f2efe8;--surface:#faf8f2;--surface-alt:#e8e4da;--primary:#1a1a1a;--accent:#c41e1e;--text:#2a2a2a;--muted:#6a6a60;--border:#c8c4b8;--heading:'Lora',serif;--body:'Source Sans 3',sans-serif;--accent-font:'Lora',serif;--hw:700;--lh:1.7;--card-r:0;--btn-r:0;--maxw:1100px;--cta-text:#faf8f2;--logo-f:brightness(0) opacity(.8);--sec-gap:3.5rem;--grid-gap:1rem}
[data-theme="newsprint"] .sec__title{text-align:left;font-style:italic;border-bottom:1px solid var(--border);padding-bottom:.4rem}
[data-theme="newsprint"] .pcard__cat{color:var(--accent);font-weight:700}
[data-theme="newsprint"] .pcard__pr{color:var(--accent)}

/* ═══════════════════════════════════════
   THEME CHARACTER — decorative overrides
   ═══════════════════════════════════════ */

/* Ember Hearth: warm glow hover, nav accent line */
[data-theme="ember-hearth"] .pcard:hover{box-shadow:0 12px 40px rgba(212,118,58,.2)}
[data-theme="ember-hearth"] .nav-top::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}
[data-theme="ember-hearth"] .vp{background:var(--surface);border:1px solid var(--border)}

/* Midnight Apothecary: starfield, gold ornaments, small-caps */
[data-theme="midnight-apothecary"] .hero--fullbleed::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(1.5px 1.5px at 12% 18%,rgba(212,175,55,.9),transparent),radial-gradient(1px 1px at 28% 62%,rgba(155,142,196,.6),transparent),radial-gradient(1.5px 1.5px at 42% 28%,rgba(212,175,55,.5),transparent),radial-gradient(1px 1px at 58% 72%,rgba(212,175,55,.7),transparent),radial-gradient(1px 1px at 72% 12%,rgba(155,142,196,.4),transparent),radial-gradient(1.5px 1.5px at 88% 42%,rgba(212,175,55,.6),transparent),radial-gradient(1px 1px at 18% 78%,rgba(155,142,196,.5),transparent),radial-gradient(1px 1px at 65% 48%,rgba(212,175,55,.4),transparent),radial-gradient(1.5px 1.5px at 92% 82%,rgba(155,142,196,.6),transparent),radial-gradient(1px 1px at 38% 42%,rgba(212,175,55,.8),transparent),radial-gradient(1px 1px at 82% 68%,rgba(155,142,196,.3),transparent),radial-gradient(1px 1px at 50% 8%,rgba(212,175,55,.6),transparent),radial-gradient(1px 1px at 75% 88%,rgba(155,142,196,.4),transparent)}
[data-theme="midnight-apothecary"] .hero__cta{background:var(--accent)}
[data-theme="midnight-apothecary"] .pcard::before,[data-theme="midnight-apothecary"] .pcard::after{position:absolute;font-size:.65rem;color:var(--accent);opacity:.4;z-index:3;pointer-events:none;transition:opacity .3s}
[data-theme="midnight-apothecary"] .pcard::before{content:'\2726';top:.5rem;left:.6rem}
[data-theme="midnight-apothecary"] .pcard::after{content:'\2726';bottom:.5rem;right:.6rem}
[data-theme="midnight-apothecary"] .pcard:hover::before,[data-theme="midnight-apothecary"] .pcard:hover::after{opacity:1}
[data-theme="midnight-apothecary"] .nav-top{border-bottom-color:var(--accent)}
[data-theme="midnight-apothecary"] .nav-top__link{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
[data-theme="midnight-apothecary"] .vp{border:1px solid var(--border)}

/* Velvet Cosmos: glassmorphism cards, noise overlay, glow divider */
[data-theme="velvet-cosmos"] .pcard{background:rgba(22,14,32,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(199,125,186,.1)}
[data-theme="velvet-cosmos"] .pcard:hover{border-color:rgba(199,125,186,.3);transform:translateY(-6px)}
[data-theme="velvet-cosmos"] .pcard__cat{font-family:'Space Mono',monospace;font-size:.68rem}
[data-theme="velvet-cosmos"] .sec__title::after{content:'';display:block;width:40px;height:40px;margin:1rem auto 0;background:radial-gradient(circle,var(--primary) 0%,transparent 70%);border-radius:50%;opacity:.3}
[data-theme="velvet-cosmos"] .vp{border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(32,21,48,.5);border:1px solid rgba(199,125,186,.08)}
[data-theme="velvet-cosmos"] body::after{content:'';position:fixed;inset:0;opacity:.02;pointer-events:none;z-index:999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}

/* Moss & Stone: organic card shapes, dot dividers */
[data-theme="moss-and-stone"] .pcard{border-radius:3px 20px 3px 20px}
[data-theme="moss-and-stone"] .pcard__iw{border-radius:2px 18px 0 0}
[data-theme="moss-and-stone"] .pcard:hover{border-color:var(--accent)}
[data-theme="moss-and-stone"] .vp{background:var(--surface);border:1px solid var(--border);border-radius:2px 14px 2px 14px}
[data-theme="moss-and-stone"] .dt__frame{border-radius:4px 24px 4px 24px}

/* Neon Ritual: grid lines, neon hover, glitch, mono prices */
[data-theme="neon-ritual"] .pgrid{background:var(--border);border:1px solid var(--border)}
[data-theme="neon-ritual"] .pcard{border:none}
[data-theme="neon-ritual"] .pcard:hover{box-shadow:inset 0 0 30px rgba(255,60,120,.08);background:#141418;transform:none}
[data-theme="neon-ritual"] .pcard:hover .pcard__name{text-shadow:0 0 12px rgba(255,60,120,.4);color:var(--primary)}
[data-theme="neon-ritual"] .pcard__pr{font-family:'Space Mono',monospace}
[data-theme="neon-ritual"] .dt__price{font-family:'Space Mono',monospace;color:var(--accent)}
[data-theme="neon-ritual"] .nav-top__link{font-family:'Space Grotesk',sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
[data-theme="neon-ritual"] .vp{border:1px solid var(--border)}
[data-theme="neon-ritual"] .btn--primary:hover{box-shadow:0 0 24px rgba(255,60,120,.4);transform:none}
@keyframes neonGlitch{0%,100%{text-shadow:2px 0 #ff3c78,-2px 0 #00f0ff}25%{text-shadow:-2px -1px #ff3c78,2px 1px #00f0ff}50%{text-shadow:1px 2px #ff3c78,-1px -2px #00f0ff}75%{text-shadow:-1px 1px #ff3c78,1px -1px #00f0ff}}
[data-theme="neon-ritual"] .hero__title:hover{animation:neonGlitch .3s ease infinite}

/* Linen & Sage: linen texture overlay, glass nav, Newsreader accents */
[data-theme="linen-and-sage"] .nav-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(253,252,250,.9)}
[data-theme="linen-and-sage"] .pcard__sc{font-family:'Newsreader',serif}
[data-theme="linen-and-sage"] .pcard__pr{font-family:'Newsreader',serif;font-style:italic}
[data-theme="linen-and-sage"] .pcard:hover{transform:translateY(-2px)}
[data-theme="linen-and-sage"] body::before{content:'';position:fixed;inset:0;opacity:.025;pointer-events:none;z-index:998;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-opacity='1'%3E%3Cpath d='M0 0h1v1H0zM10 10h1v1h-1zM20 0h1v1h-1zM30 10h1v1h-1zM0 20h1v1H0zM10 30h1v1h-1zM20 20h1v1h-1zM30 30h1v1h-1z'/%3E%3C/g%3E%3C/svg%3E");background-size:40px}

/* Golden Hour: Caveat accents, wavy SVG underline, warm VPs */
[data-theme="golden-hour"] .hero__tag{font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--primary)}
[data-theme="golden-hour"] .pcard__cat{font-family:'Caveat',cursive;font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--primary)}
[data-theme="golden-hour"] .pcard__pr{font-family:'Caveat',cursive;font-size:1.05rem}
[data-theme="golden-hour"] .dt__szl{font-family:'Caveat',cursive;font-size:1rem;text-transform:none;letter-spacing:0}
[data-theme="golden-hour"] .vp{background:var(--surface);border:1px solid var(--border);border-radius:12px}
[data-theme="golden-hour"] .footer{background:var(--surface-alt)}

/* Salt & Sky: wave divider, glass nav, strong card shadows */
[data-theme="salt-and-sky"] .nav-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.9)}
[data-theme="salt-and-sky"] .pcard{border:none;box-shadow:0 2px 8px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05)}
[data-theme="salt-and-sky"] .pcard:hover{box-shadow:0 12px 40px rgba(46,107,138,.12)}
[data-theme="salt-and-sky"] .vp{background:var(--surface);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
[data-theme="salt-and-sky"] .vp-section{padding-top:calc(var(--sec-gap,4rem) + 30px)}
[data-theme="salt-and-sky"] .vp-section::before{content:'';position:absolute;top:-1px;left:0;right:0;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 30' preserveAspectRatio='none'%3E%3Cpath d='M0,15 C180,30 360,0 540,15 C720,30 900,0 1080,15 C1260,30 1440,15 1440,15 V0 H0 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}

/* Pressed Flora: specimen numbering, sepia filter, double borders, small-caps */
[data-theme="pressed-flora"] .pgrid{counter-reset:specimen}
[data-theme="pressed-flora"] .pcard--dborder{counter-increment:specimen}
[data-theme="pressed-flora"] .pcard--dborder::before{content:'No.\00a0' counter(specimen,decimal-leading-zero);position:absolute;top:.6rem;right:.7rem;font-family:'Cormorant Garamond',serif;font-variant:small-caps;font-size:.72rem;color:var(--muted);z-index:2;background:rgba(250,248,242,.85);padding:.15rem .4rem;letter-spacing:.05em}
[data-theme="pressed-flora"] .pcard__img{filter:sepia(.1) saturate(.9);transition:filter .4s}
[data-theme="pressed-flora"] .pcard:hover .pcard__img{filter:sepia(0) saturate(1)}
[data-theme="pressed-flora"] .pcard__cat{font-variant:small-caps;font-family:'Cormorant Garamond',serif;font-size:.82rem;letter-spacing:.08em}
[data-theme="pressed-flora"] .pcard__name{font-weight:400;font-size:1.15rem}
[data-theme="pressed-flora"] .pcard__sc{font-family:'EB Garamond',serif}
[data-theme="pressed-flora"] .nav-top__brand{font-variant:small-caps;letter-spacing:.06em}
[data-theme="pressed-flora"] .nav-top__link{font-family:'Cormorant Garamond',serif;font-variant:small-caps;font-size:.92rem;letter-spacing:.06em}
[data-theme="pressed-flora"] .dt__frame{border:1px solid var(--border);outline:1px solid var(--border);outline-offset:4px;border-radius:0}
[data-theme="pressed-flora"] .vp{border:1px solid var(--border);outline:1px solid var(--border);outline-offset:3px}

/* Desert Adobe: terracotta top-border cards, zig-zag, turquoise accents */
[data-theme="desert-adobe"] .pcard{border-top:3px solid var(--primary)}
[data-theme="desert-adobe"] .pcard:hover{border-top-color:var(--accent)}
[data-theme="desert-adobe"] .pcard__pr{color:var(--accent)}
[data-theme="desert-adobe"] .dt__scent{color:var(--accent)}
[data-theme="desert-adobe"] .dt__price{color:var(--accent)}
[data-theme="desert-adobe"] .nav-top__link{font-family:'Josefin Sans',sans-serif;font-size:.75rem;letter-spacing:.12em;font-weight:400;text-transform:uppercase}
[data-theme="desert-adobe"] .vp{border:1px solid var(--border);border-top:2px solid var(--accent)}
[data-theme="desert-adobe"] .footer{border-top:3px solid var(--primary)}
[data-theme="desert-adobe"] .pg-head{border-bottom:2px solid var(--primary)}
[data-theme="desert-adobe"] .btn--primary,[data-theme="desert-adobe"] .btn--outline{text-transform:uppercase;letter-spacing:.08em}

/* Darkroom: red glow, mono everything */
[data-theme="darkroom"] .sec__title{font-family:'Space Mono',monospace;font-size:clamp(1rem,2vw,1.3rem);letter-spacing:.12em}
[data-theme="darkroom"] .pcard__name{font-family:'Space Mono',monospace;font-size:.88rem}
[data-theme="darkroom"] .pcard__pr{font-family:'Space Mono',monospace}
[data-theme="darkroom"] .dt__price{font-family:'Space Mono',monospace}
[data-theme="darkroom"] .nav-top{border-bottom-color:var(--primary)}
[data-theme="darkroom"] .nav-top__link{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}

/* Tokyo Drift: neon gradient nav accent, mono prices */
[data-theme="tokyo-drift"] .nav-top::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary))}
[data-theme="tokyo-drift"] .pcard__pr{font-family:'Space Mono',monospace}
[data-theme="tokyo-drift"] .dt__price{font-family:'Space Mono',monospace;color:var(--primary)}
[data-theme="tokyo-drift"] .pgrid{background:var(--border)}
[data-theme="tokyo-drift"] .pcard--tile{border:none}
[data-theme="tokyo-drift"] .btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent))}
[data-theme="tokyo-drift"] .btn--primary:hover{box-shadow:0 0 30px rgba(255,107,53,.3)}

/* Velvet Theater: curtain gradient, gold accents */
[data-theme="velvet-theater"] .hero__cta{background:var(--accent)}
[data-theme="velvet-theater"] .pcard:hover{border-color:var(--accent)}
[data-theme="velvet-theater"] .pcard__pr{color:var(--accent)}
[data-theme="velvet-theater"] .dt__price{color:var(--accent)}
[data-theme="velvet-theater"] .nav-top{border-bottom-color:var(--accent)}
[data-theme="velvet-theater"] .vp{border:1px solid var(--border)}

/* Brutalist: harsh, no curves, yellow accent */
[data-theme="brutalist"] .nav-top{border-bottom:2px solid var(--primary)}
[data-theme="brutalist"] .nav-top__link{font-family:'Space Grotesk',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}
[data-theme="brutalist"] .pcard{border:none;border-bottom:1px solid var(--border)}
[data-theme="brutalist"] .pcard__pr{font-family:'Space Mono',monospace;color:var(--accent)}
[data-theme="brutalist"] .dt__price{font-family:'Space Mono',monospace;color:var(--accent)}
[data-theme="brutalist"] .footer{border-top:3px solid var(--primary)}
[data-theme="brutalist"] .vp{border:1px solid var(--border)}

/* Undersea: glow cards, gradient ambience */
[data-theme="undersea"] .pcard{background:rgba(8,20,32,.8);box-shadow:0 4px 20px rgba(0,201,184,.06)}
[data-theme="undersea"] .pcard:hover{box-shadow:0 0 30px rgba(0,201,184,.12),0 8px 32px rgba(0,0,0,.3)}
[data-theme="undersea"] .vp{background:var(--surface);border:1px solid rgba(0,201,184,.1);border-radius:16px}
[data-theme="undersea"] body::before{content:'';position:fixed;top:30%;left:20%;width:400px;height:400px;background:radial-gradient(circle,rgba(0,201,184,.04) 0%,transparent 70%);pointer-events:none;z-index:-1}

/* Paper Craft: dashed borders, Caveat accents */
[data-theme="paper-craft"] .pcard__name{font-family:'Caveat',cursive;font-size:1.15rem}
[data-theme="paper-craft"] .pcard__pr{font-family:'Caveat',cursive;font-size:1rem;color:var(--accent)}
[data-theme="paper-craft"] .dt__name{font-weight:400;font-size:clamp(2rem,5vw,3rem)}
[data-theme="paper-craft"] .dt__price{font-family:'Caveat',cursive}
[data-theme="paper-craft"] .vp{border:1px dashed var(--border);background:var(--surface)}
[data-theme="paper-craft"] .footer{background:var(--surface-alt)}

/* Greenhouse: sunlit, vivid, clean */
[data-theme="greenhouse"] .nav-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.92)}
[data-theme="greenhouse"] .pcard{border:none;box-shadow:0 2px 10px rgba(0,0,0,.04)}
[data-theme="greenhouse"] .pcard:hover{box-shadow:0 8px 28px rgba(26,138,62,.1)}
[data-theme="greenhouse"] .vp{background:var(--surface);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.03)}
[data-theme="greenhouse"] .footer{background:var(--surface-alt)}

/* White Cube: extreme minimal */
[data-theme="white-cube"] .pcard{border:none;box-shadow:none}
[data-theme="white-cube"] .pcard:hover{box-shadow:none;transform:none}
[data-theme="white-cube"] .pcard__name{font-weight:300;letter-spacing:.05em}
[data-theme="white-cube"] .nav-top__link{font-family:'Josefin Sans',sans-serif;font-size:.72rem;letter-spacing:.15em;font-weight:300;text-transform:uppercase}
[data-theme="white-cube"] .nav-top__brand{font-weight:300;letter-spacing:.1em}
[data-theme="white-cube"] .btn--primary{border:1px solid var(--primary)}
[data-theme="white-cube"] .footer{border-top:1px solid #e8e8e8;background:#fafafa}

/* Pastel Dream: gradient button, soft shadows */
[data-theme="pastel-dream"] .btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent))}
[data-theme="pastel-dream"] .pcard{border:none;box-shadow:0 4px 16px rgba(168,107,196,.06)}
[data-theme="pastel-dream"] .nav-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.9);border-bottom:1px solid rgba(220,200,232,.5)}
[data-theme="pastel-dream"] .footer{background:var(--surface-alt)}

/* Newsprint: newspaper column rules, red accents, editorial feel */
[data-theme="newsprint"] .pcard{border:none;border-bottom:1px solid var(--border)}
[data-theme="newsprint"] .pcard:hover{background:var(--surface-alt);transform:none}
[data-theme="newsprint"] .nav-top{border-bottom:2px solid var(--primary)}
[data-theme="newsprint"] .vp{border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;padding:1.5rem 1rem}
[data-theme="newsprint"] .footer{background:var(--surface);border-top:3px double var(--primary)}
[data-theme="newsprint"] .pgrid--4{gap:1px;border:1px solid var(--border)}
[data-theme="newsprint"] .pgrid--4 .pcard{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}


/* ═══════════════════════════════════════
   TEXTURE BACKGROUNDS — throughout the page
   ═══════════════════════════════════════ */

/* Paper Craft: entire page on jute_2 burlap (bumped overlay — jute_2 is dark) */
[data-theme="paper-craft"] body{background:linear-gradient(rgba(240,232,216,.91),rgba(240,232,216,.91)),url('images/jute_2.jpg') center/cover fixed}
[data-theme="paper-craft"] .nav-top{background:linear-gradient(rgba(255,248,240,.93),rgba(255,248,240,.93)),url('images/jute_2.jpg') center/cover fixed}
[data-theme="paper-craft"] .pcard__polar-fr{box-shadow:0 4px 16px rgba(0,0,0,.2),2px 3px 0 rgba(0,0,0,.06)}

/* Pressed Flora: page on linen_1, framed hero on linen_1 */
[data-theme="pressed-flora"] body{background:linear-gradient(rgba(244,240,230,.88),rgba(244,240,230,.88)),url('images/linen_1.jpg') center/cover fixed}
[data-theme="pressed-flora"] .footer{background:linear-gradient(rgba(250,248,242,.92),rgba(250,248,242,.92)),url('images/linen_1.jpg') center/cover fixed}

/* Linen & Sage: page on linen_1 (replaces the tiny SVG dots) */
[data-theme="linen-and-sage"] body{background:linear-gradient(rgba(245,242,236,.9),rgba(245,242,236,.9)),url('images/linen_1.jpg') center/cover fixed}
[data-theme="linen-and-sage"] body::before{display:none}

/* Newsprint: page on linen_1, subtle cream paper feel */
[data-theme="newsprint"] body{background:linear-gradient(rgba(242,239,232,.92),rgba(242,239,232,.92)),url('images/linen_1.jpg') center/cover fixed}

/* Golden Hour: VP section on linen_3, footer on linen_2 */
[data-theme="golden-hour"] .vp-section{background:linear-gradient(rgba(252,245,234,.84),rgba(252,245,234,.84)),url('images/linen_3.jpg') center/cover}
[data-theme="golden-hour"] .footer{background:linear-gradient(rgba(245,234,216,.82),rgba(245,234,216,.82)),url('images/linen_2.jpg') center/cover}

/* Desert Adobe: VP section on jute_1 (golden mesh!), footer on linen_5 */
[data-theme="desert-adobe"] .vp-section{background:linear-gradient(rgba(242,232,216,.82),rgba(242,232,216,.82)),url('images/jute_1.jpg') center/cover}
[data-theme="desert-adobe"] .footer{background:linear-gradient(rgba(248,242,232,.82),rgba(248,242,232,.82)),url('images/linen_5.jpg') center/cover}

/* Moss & Stone: VP section and footer on jute_3 */
[data-theme="moss-and-stone"] .vp-section{background:linear-gradient(rgba(14,22,16,.82),rgba(14,22,16,.82)),url('images/jute_3.jpg') center/cover}
[data-theme="moss-and-stone"] .footer{background:linear-gradient(rgba(21,31,24,.85),rgba(21,31,24,.85)),url('images/jute_3.jpg') center/cover}

/* Darkroom: sections on linen_4 (dark charcoal crosshatch) */
[data-theme="darkroom"] .vp-section{background:linear-gradient(rgba(10,8,8,.82),rgba(10,8,8,.82)),url('images/linen_4.jpg') center/cover}
[data-theme="darkroom"] .footer{background:linear-gradient(rgba(18,16,16,.85),rgba(18,16,16,.85)),url('images/linen_4.jpg') center/cover}

/* Velvet Theater: footer on linen_4 */
[data-theme="velvet-theater"] .footer{background:linear-gradient(rgba(20,8,16,.85),rgba(20,8,16,.85)),url('images/linen_4.jpg') center/cover}
[data-theme="velvet-theater"] .vp-section{background:linear-gradient(rgba(30,16,24,.8),rgba(30,16,24,.8)),url('images/linen_4.jpg') center/cover}

/* Greenhouse: VP on linen_3 (golden/olive) */
[data-theme="greenhouse"] .vp-section{background:linear-gradient(rgba(238,246,238,.8),rgba(238,246,238,.8)),url('images/linen_3.jpg') center/cover}

/* Ember Hearth: VP on jute_1, footer on jute_2 */
[data-theme="ember-hearth"] .vp-section{background:linear-gradient(rgba(21,16,16,.88),rgba(21,16,16,.88)),url('images/jute_1.jpg') center/cover}
[data-theme="ember-hearth"] .footer{background:linear-gradient(rgba(30,24,20,.88),rgba(30,24,20,.88)),url('images/jute_2.jpg') center/cover}

/* Midnight Apothecary: VP on linen_4 */
[data-theme="midnight-apothecary"] .vp-section{background:linear-gradient(rgba(11,13,24,.85),rgba(11,13,24,.85)),url('images/linen_4.jpg') center/cover}

/* Undersea: footer on linen_4 */
[data-theme="undersea"] .footer{background:linear-gradient(rgba(3,10,20,.88),rgba(3,10,20,.88)),url('images/linen_4.jpg') center/cover}

/* Pastel Dream: VP on linen_5 (peach) */
[data-theme="pastel-dream"] .vp-section{background:linear-gradient(rgba(248,240,246,.78),rgba(248,240,246,.78)),url('images/linen_5.jpg') center/cover}

/* White Cube: VP on linen_3 (very subtle warmth) */
[data-theme="white-cube"] .vp-section{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url('images/linen_3.jpg') center/cover}

/* Salt & Sky: footer on linen_1 */
[data-theme="salt-and-sky"] .footer{background:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),url('images/linen_1.jpg') center/cover}

/* Brutalist: raw — no texture softening, just concrete */

/* ═══════════════════════════════════════
   SCRAPBOOK LAYOUT
   ═══════════════════════════════════════ */
.scrap-bg{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center}
.scrap-page{padding:2rem;max-width:1200px;margin:0 auto}
.scrap-title{text-align:center;font-size:clamp(2rem,5vw,3.5rem);margin:1rem 0 2rem;position:relative}
.scrap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:1rem}
.scrap-card{background:var(--surface);padding:.6rem .6rem 0;box-shadow:3px 4px 16px rgba(0,0,0,.2);cursor:pointer;transition:transform .3s,box-shadow .3s}
.scrap-card:nth-child(odd){transform:rotate(-1.5deg)}
.scrap-card:nth-child(even){transform:rotate(1.2deg)}
.scrap-card:nth-child(3n){transform:rotate(-0.8deg)}
.scrap-card:nth-child(4n){transform:rotate(2deg)}
.scrap-card:hover{transform:rotate(0deg) scale(1.04)!important;box-shadow:4px 6px 24px rgba(0,0,0,.3);z-index:2}
.scrap-card__iw{aspect-ratio:1;overflow:hidden}
.scrap-card__img{width:100%;height:100%;object-fit:cover}
.scrap-card__info{padding:.6rem .3rem .8rem;text-align:center}
.scrap-card__name{font-family:var(--heading);font-size:1rem;margin-bottom:.15rem}
.scrap-card__sc{font-size:.78rem;color:var(--muted);font-style:italic}
.scrap-card__pr{font-size:.88rem;font-weight:600;color:var(--primary);margin-top:.25rem}
/* Tape/pin decoration on some cards */
.scrap-card::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:40px;height:14px;background:rgba(200,180,140,.6);border-radius:1px;z-index:3}
.scrap-card:nth-child(even)::before{background:rgba(180,160,120,.5);transform:translateX(-50%) rotate(3deg)}

/* ═══════════════════════════════════════
   CATALOG LAYOUT
   ═══════════════════════════════════════ */
.cat-page{max-width:var(--maxw,1000px);margin:0 auto;padding:0 2rem}
.cat-head{padding:2rem 0;border-bottom:2px solid var(--border)}
.cat-head__t{font-size:1.5rem;margin-bottom:.3rem}
.cat-head__s{font-size:.85rem;color:var(--muted)}
.cat-table{width:100%;border-collapse:collapse;margin-top:1rem}
.cat-row{cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border)}
.cat-row:hover{background:var(--surface-alt,var(--surface))}
.cat-row td{padding:1rem .75rem;vertical-align:middle}
.cat-row__img{width:60px;height:60px;border-radius:var(--card-r,4px);object-fit:cover}
.cat-row__name{font-family:var(--heading);font-size:1rem;font-weight:var(--hw,700)}
.cat-row__sc{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:.15rem}
.cat-row__pr{font-weight:700;color:var(--primary);font-size:.95rem;white-space:nowrap}
.cat-row__sz{font-size:.78rem;color:var(--muted)}
.cat-hdr{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:2px solid var(--border);padding:.75rem;text-align:left}

/* ═══════════════════════════════════════
   SHELF LAYOUT
   ═══════════════════════════════════════ */
.shelf-page{max-width:var(--maxw,1200px);margin:0 auto;padding:0 1rem 3rem}
.shelf-header{text-align:center;padding:2.5rem 2rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.shelf-header--sm{padding:2rem 2rem 1rem}
.shelf-header__logo{width:64px;margin-bottom:.5rem}
.shelf-header__title{font-size:clamp(1.8rem,4vw,2.8rem)}
.shelf-header__tag{font-size:.9rem;color:var(--muted)}
.shelf-section{margin-bottom:1rem}
.shelf-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);padding:1rem 1rem .5rem;font-family:var(--body)}
.shelf-row{display:flex;gap:1.5rem;padding:0 1rem 0;overflow-x:auto;align-items:flex-end;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-height:200px}
.shelf-edge{height:4px;background:linear-gradient(180deg,var(--border),transparent);box-shadow:0 1px 3px rgba(0,0,0,.08);margin:0 1rem}
.shelf-item{flex:0 0 200px;cursor:pointer;transition:transform .3s;padding-bottom:.5rem}
.shelf-item:hover{transform:translateY(-6px)}
.shelf-item__img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--card-r,6px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.shelf-item__info{padding:.5rem .1rem;text-align:center}
.shelf-item__name{font-family:var(--heading);font-size:.92rem;margin-bottom:.1rem}
.shelf-item__sc{font-size:.75rem;color:var(--muted);font-style:italic}
.shelf-item__pr{font-size:.85rem;font-weight:600;color:var(--primary);margin-top:.2rem}

/* ═══════════════════════════════════════
   CAROUSEL LAYOUT
   ═══════════════════════════════════════ */
.car-page{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.car-slide{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}
.car-imgw{overflow:hidden;background:var(--surface-alt,var(--bg))}
.car-img{width:100%;height:100%;object-fit:cover;transition:opacity .4s}
.car-info{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,5rem);gap:.5rem;background:var(--surface);overflow-y:auto}
.car-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.car-name{font-size:clamp(2rem,4vw,3.5rem);font-family:var(--heading);line-height:1.1;margin-bottom:.25rem}
.car-sc{font-size:1rem;color:var(--primary);font-style:italic;margin-bottom:.5rem}
.car-desc{font-size:.9rem;color:var(--muted);line-height:1.6;max-width:400px;margin-bottom:.5rem}
.car-pr{font-size:1.6rem;font-weight:700;font-family:var(--heading);color:var(--primary);margin-bottom:1rem}
.car-nav{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.2rem;background:var(--surface);border-top:1px solid var(--border)}
.car-arr{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background .2s,border-color .2s}
.car-arr:hover{border-color:var(--primary);color:var(--primary)}
.car-dots{display:flex;gap:6px;align-items:center}
.car-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s}
.car-dot--on{background:var(--primary);transform:scale(1.3)}
.car-dot:hover{background:var(--primary)}

@media(max-width:768px){
  .car-slide{grid-template-columns:1fr;grid-template-rows:45vh 1fr}
  .shelf-row{gap:1rem}
  .shelf-item{flex:0 0 160px}
  .scrap-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}

/* ═══════════════════════════════════════
   THEME: GENERAL STORE
   ═══════════════════════════════════════ */
[data-theme="general-store"]{--bg:#ede4d4;--surface:#faf4e8;--surface-alt:#ddd0ba;--primary:#6b4226;--accent:#c8843c;--text:#2e1e10;--muted:#7a6040;--border:#c4aa80;--heading:'Playfair Display',serif;--body:'Karla',sans-serif;--accent-font:'Playfair Display',serif;--hw:700;--hls:.01em;--lh:1.65;--card-r:4px;--btn-r:4px;--maxw:1100px;--cta-text:#faf4e8;--logo-f:brightness(0) opacity(.6);--sec-gap:4rem;--grid-gap:1.5rem}
[data-theme="general-store"] body{background:linear-gradient(rgba(237,228,212,.88),rgba(237,228,212,.88)),url('images/jute_1.jpg') center/cover fixed}
[data-theme="general-store"] .nav-top{background:linear-gradient(rgba(250,244,232,.94),rgba(250,244,232,.94)),url('images/jute_1.jpg') center/cover fixed}
[data-theme="general-store"] .vp-section{background:linear-gradient(rgba(221,208,186,.75),rgba(221,208,186,.75)),url('images/linen_2.jpg') center/cover}
[data-theme="general-store"] .footer{background:linear-gradient(rgba(221,208,186,.82),rgba(221,208,186,.82)),url('images/jute_2.jpg') center/cover}
[data-theme="general-store"] .sec__title::after{content:'';display:block;width:80px;height:2px;margin:.6rem auto 0;background:var(--accent)}
[data-theme="general-store"] .shelf-edge{height:6px;background:linear-gradient(180deg,var(--accent),rgba(107,66,38,.2),transparent);box-shadow:0 2px 6px rgba(0,0,0,.12)}
[data-theme="general-store"] .pcard{border:1px solid var(--border);box-shadow:2px 3px 10px rgba(0,0,0,.08)}
[data-theme="general-store"] .vp{border:1px solid var(--border);background:rgba(250,244,232,.7)}

/* ═══════════════════════════════════════
   THEME: SPOTLIGHT
   ═══════════════════════════════════════ */
[data-theme="spotlight"]{--bg:#0a0a08;--surface:#141210;--surface-alt:#1e1a14;--primary:#d4a040;--accent:#f0c860;--text:#e8dcc4;--muted:#8a7a5a;--border:#2e2820;--heading:'DM Serif Display',serif;--body:'Inter',sans-serif;--accent-font:'DM Serif Display',serif;--hw:400;--hls:.01em;--lh:1.65;--card-r:4px;--btn-r:4px;--maxw:1100px;--cta-text:#0a0a08;--logo-f:none;--sec-gap:4.5rem;--grid-gap:1.5rem}
[data-theme="spotlight"] .vp-section{background:linear-gradient(rgba(10,10,8,.88),rgba(10,10,8,.88)),url('images/linen_4.jpg') center/cover}
[data-theme="spotlight"] .footer{background:linear-gradient(rgba(20,18,16,.88),rgba(20,18,16,.88)),url('images/linen_4.jpg') center/cover}
[data-theme="spotlight"] .hero--fullbleed .hero__over{background:radial-gradient(ellipse at 40% 50%,rgba(10,10,8,.3) 0%,rgba(10,10,8,.9) 70%)}
[data-theme="spotlight"] .sec__title::after{content:'';display:block;width:40px;height:1px;margin:.6rem auto 0;background:var(--primary);box-shadow:0 0 12px rgba(212,160,64,.3)}
[data-theme="spotlight"] .pcard:hover{box-shadow:0 8px 30px rgba(212,160,64,.12)}
[data-theme="spotlight"] .car-imgw{background:#0a0a08}
[data-theme="spotlight"] .car-img{opacity:.9}
[data-theme="spotlight"] .car-name{color:var(--accent)}


/* ═══════════════════════════════════════
   HERO VARIANTS (Classic layout, theme-driven)
   ═══════════════════════════════════════ */
.hero{position:relative;overflow:hidden;transition:background .5s}
.hero__ctr{position:relative;z-index:2;text-align:center;max-width:600px;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:0 auto}
.hero__title{font-size:clamp(2.2rem,6vw,4.5rem);line-height:1.05}
.hero__tag{font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--muted);max-width:480px}
.hero__cta{display:inline-flex;padding:.9rem 2.2rem;background:var(--primary);color:var(--cta-text,#fff);font-weight:600;border-radius:var(--btn-r,6px);transition:transform .25s,box-shadow .25s;margin-top:.5rem}
.hero__cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 35%,transparent)}
.hero__logo{width:clamp(80px,12vw,120px)}
.hero__tex{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;opacity:.15}
.hero--floating .hero__tex{opacity:.2}
.hero--framed .hero__tex{opacity:.08}
.hero--marquee .hero__tex{opacity:.06}
.hero__over{position:absolute;inset:0}
.hero__sub{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}
.hero__rule{width:50px;height:1px;background:var(--accent,var(--primary));margin:.5rem 0}

/* Fullbleed */
.hero--fullbleed{min-height:75vh;display:flex;align-items:center;justify-content:center}
.hero__bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero--fullbleed .hero__over{background:linear-gradient(to right,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 100%)}
.hero--fullbleed .hero__ctr{align-items:flex-start;text-align:left;max-width:none;padding:4rem;width:50%}
/* Split */
.hero--split{display:grid;grid-template-columns:1fr 1fr;min-height:70vh;background:var(--surface)}
.hero__txt{display:flex;flex-direction:column;justify-content:center;padding:4rem;gap:.75rem;align-items:flex-start}
.hero__imgside{overflow:hidden}
.hero__simg{width:100%;height:100%;object-fit:cover}
/* Text only */
.hero--textonly{min-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--surface)}
/* Floating */
.hero--floating{min-height:70vh;display:flex;align-items:center;background:var(--surface)}
.hero__float-inner{position:relative;z-index:2;max-width:var(--maxw,1200px);margin:0 auto;padding:4rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;width:100%}
.hero__float-prod{display:flex;justify-content:center}
.hero__fimg{width:65%;border-radius:50%;box-shadow:0 24px 64px rgba(0,0,0,.2);transition:transform .6s}
.hero__fimg:hover{transform:rotate(-3deg) scale(1.03)}
/* Framed */
.hero--framed{min-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--surface)}
.hero__frame{position:relative;z-index:2;text-align:center;border:1px solid var(--border);padding:3.5rem 4.5rem;max-width:540px;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:.5rem}
/* Banner */
.hero--banner{display:flex;flex-direction:column;background:var(--surface)}
.hero__strip{height:220px;overflow:hidden}
.hero__stripimg{width:100%;height:100%;object-fit:cover}
.hero__below{text-align:center;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}
/* Marquee */
.hero--marquee{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--surface)}
.hero__marquee{width:100%;overflow:hidden;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.hero__marquee-trk{white-space:nowrap;font-family:var(--accent-font,var(--heading));font-size:clamp(.75rem,1.2vw,.9rem);text-transform:uppercase;letter-spacing:.3em;color:var(--muted);animation:marquee 40s linear infinite}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-33.33%)}}
/* Collage */
.hero--collage{min-height:80vh;display:flex;align-items:center;justify-content:center}
.hero__collage-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
.hero__cimg{width:100%;height:100%;object-fit:cover}
.hero--collage .hero__over{background:rgba(0,0,0,.65)}

/* ═══════════════════════════════════════
   CARD VARIANTS (Classic layout, theme-driven)
   ═══════════════════════════════════════ */
.pgrid--1{grid-template-columns:1fr}
.pgrid--2{grid-template-columns:repeat(2,1fr)}

/* Overlay */
.pcard--overlay{border:none;overflow:hidden}
.pcard--overlay .pcard__iw{aspect-ratio:3/4;position:relative}
.pcard__grad{position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);pointer-events:none}
.pcard__ov{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;z-index:2}
.pcard--overlay .pcard__name{color:#fff;font-size:1.1rem}
.pcard--overlay .pcard__sc{color:rgba(255,255,255,.7)}
.pcard--overlay .pcard__pr{color:rgba(255,255,255,.9)}
/* Horizontal */
.pcard--horiz{display:grid;grid-template-columns:180px 1fr}
.pcard--horiz .pcard__iw{aspect-ratio:1}
.pcard--horiz .pcard__info{padding:1.25rem 1.5rem;display:flex;flex-direction:column;justify-content:center}
.pcard--horiz .pcard__name{font-size:1.15rem}
.pcard__desc{font-size:.82rem;color:var(--muted);margin:.4rem 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard__btm{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.4rem}
/* Double-border (framed) */
.pcard--dborder{border:1px solid var(--border);outline:1px solid var(--border);outline-offset:4px;margin:4px;border-radius:0}
.pcard--dborder:hover{outline-color:var(--accent,var(--primary));border-color:var(--accent,var(--primary))}
/* Polaroid */
.pcard--polar{background:transparent;border:none;box-shadow:none;overflow:visible}
.pcard--polar:hover{box-shadow:none;transform:none}
.pcard__polar-fr{background:var(--polaroid-bg,#fff);padding:.5rem .5rem 0;box-shadow:0 4px 16px rgba(0,0,0,.15);transition:transform .4s}
.pcard--polar:hover .pcard__polar-fr{transform:rotate(0deg) scale(1.03) !important}
.pcard--polar:nth-child(odd) .pcard__polar-fr{transform:rotate(-1.5deg)}
.pcard--polar:nth-child(even) .pcard__polar-fr{transform:rotate(1.2deg)}
.pcard--polar:nth-child(3n) .pcard__polar-fr{transform:rotate(-0.5deg)}
.pcard__info--ctr{text-align:center;padding:.6rem .25rem .8rem}
/* Tile (hover reveal) */
.pcard--tile{border:none;overflow:hidden;border-radius:var(--card-r,0)}
.pcard--tile .pcard__iw{aspect-ratio:1;position:relative}
.pcard__tile-hov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.pcard--tile:hover .pcard__tile-hov{opacity:1}
.pcard--tile .pcard__name{color:#fff}
.pcard--tile .pcard__sc{color:rgba(255,255,255,.7);font-size:.82rem}
.pcard--tile .pcard__pr{color:rgba(255,255,255,.9)}

/* ═══════════════════════════════════════
   THEME-SPECIFIC HERO/CARD OVERRIDES
   ═══════════════════════════════════════ */
[data-theme="velvet-cosmos"] .hero--split{background:radial-gradient(ellipse at 15% 25%,rgba(199,125,186,.18) 0%,transparent 50%),radial-gradient(ellipse at 85% 75%,rgba(123,79,138,.12) 0%,transparent 45%),var(--surface)}
[data-theme="velvet-cosmos"] .hero__imgside{background:var(--bg)}
[data-theme="velvet-cosmos"] .hero__simg{opacity:.85;mix-blend-mode:luminosity}
[data-theme="moss-and-stone"] .hero--banner{position:relative;padding-bottom:2rem}
[data-theme="moss-and-stone"] .hero__strip{height:250px}
[data-theme="moss-and-stone"] .hero--banner::after{content:'';position:absolute;bottom:-1px;left:-5%;right:-5%;height:50px;background:var(--bg);border-radius:50% 50% 0 0 / 100% 100% 0 0;z-index:2}
[data-theme="neon-ritual"] .hero--textonly::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 4px);pointer-events:none;z-index:3}
[data-theme="neon-ritual"] .hero__title{text-shadow:0 0 40px rgba(255,60,120,.3);font-size:clamp(3rem,8vw,6rem)}
[data-theme="darkroom"] .hero__marquee{border-color:var(--primary);opacity:.6}
[data-theme="darkroom"] .hero__marquee-trk{color:var(--primary);letter-spacing:.4em}
[data-theme="darkroom"] .hero__title{color:var(--primary)}
[data-theme="darkroom"] .hero--marquee::before{content:'';position:absolute;top:50%;left:50%;width:300px;height:300px;background:radial-gradient(circle,rgba(224,32,32,.12) 0%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none;z-index:1}
[data-theme="darkroom"] .pcard__polar-fr{background:var(--surface);border:1px solid var(--border)}
[data-theme="tokyo-drift"] .hero__title{background:linear-gradient(135deg,#ff6b35,#e91e8c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(2.5rem,7vw,5rem)}
[data-theme="tokyo-drift"] .hero--collage .hero__over{background:linear-gradient(135deg,rgba(12,8,32,.7) 0%,rgba(233,30,140,.15) 50%,rgba(12,8,32,.8) 100%)}
[data-theme="velvet-theater"] .hero--fullbleed::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,8,16,.9) 0%,transparent 20%,transparent 80%,rgba(20,8,16,.9) 100%);pointer-events:none;z-index:1}
[data-theme="undersea"] .hero__title{background:linear-gradient(135deg,#00c9b8,#0a68ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
[data-theme="undersea"] .hero--split{background:linear-gradient(135deg,#030a14,#081828,#0a1e38)}
[data-theme="golden-hour"] .hero--floating{background:linear-gradient(135deg,#fcf5ea,#f5ead8,#f0dcc4)}
[data-theme="golden-hour"] .hero__fimg{border-radius:12px}
[data-theme="salt-and-sky"] .hero--split{background:linear-gradient(180deg,#e2ecf2,#eef3f7)}
[data-theme="pressed-flora"] .hero__frame{outline:1px solid var(--border);outline-offset:6px;background:rgba(250,248,242,.9)}
[data-theme="desert-adobe"] .hero--floating{background:var(--surface-alt,var(--bg))}
[data-theme="desert-adobe"] .hero--floating::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:16px;background:linear-gradient(135deg,var(--bg) 33.33%,transparent 33.33%) 0 0,linear-gradient(225deg,var(--bg) 33.33%,transparent 33.33%) 0 0;background-size:24px 16px;z-index:3}
[data-theme="desert-adobe"] .hero__fimg{border-radius:0}
[data-theme="paper-craft"] .hero__stripimg{filter:sepia(.2) saturate(.8)}
[data-theme="greenhouse"] .hero--split{background:linear-gradient(135deg,#eef6ee,#dceede)}
[data-theme="greenhouse"] .hero__simg{filter:saturate(1.1) brightness(1.05)}
[data-theme="pastel-dream"] .hero--floating{background:linear-gradient(135deg,#f8f0f6,#f0e8f4,#e8f0f0)}
[data-theme="pastel-dream"] .hero__fimg{border-radius:24px}
[data-theme="newsprint"] .hero--banner .hero__strip{height:6px;background:var(--primary)}
[data-theme="newsprint"] .hero--banner .hero__stripimg{display:none}
[data-theme="newsprint"] .hero__below{border-bottom:3px double var(--primary);padding-bottom:2rem}
[data-theme="newsprint"] .hero__title{font-style:italic}

/* Hero responsive */
@media(max-width:768px){
  .hero--split{grid-template-columns:1fr;min-height:auto}
  .hero__txt{padding:3rem 2rem}
  .hero__imgside{height:300px}
  .hero--fullbleed{min-height:50vh}
  .hero--fullbleed .hero__ctr{width:100%;padding:2.5rem 2rem}
  .hero__float-inner{grid-template-columns:1fr;text-align:center}
  .hero__txt{align-items:center}
  .hero__fimg{width:50%;max-width:250px}
  .hero__frame{padding:2.5rem 2rem;margin:1rem}
  .pcard--horiz{grid-template-columns:140px 1fr}
}
@media(max-width:480px){
  .pcard--horiz{grid-template-columns:1fr}
  .pcard--horiz .pcard__iw{aspect-ratio:16/9}
}

/* ── ANIMATION ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
