
:root {
  --white:#ffffff; --off:#F9F7F4; --cream:#F2EFE8;
  --gold:#C8A84B; --gold-dark:#8B6914; --gold-light:#F5E9C4;
  --black:#0A0A0A; --ink:#111111; --muted:#888880;
  --border:#E8E4DC; --border-dark:#D4CFC4;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0;height:64px;background:rgba(255,255,255,0.96);border-bottom:0.5px solid var(--border);backdrop-filter:blur(8px);}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo .cell{background:var(--gold);color:var(--black);font-family:'DM Sans';font-weight:500;font-size:15px;padding:2px 7px 3px;letter-spacing:-0.3px;}
.nav-logo .mind{color:var(--ink);font-family:'DM Sans';font-weight:500;font-size:15px;letter-spacing:-0.3px;padding-left:1px;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{text-decoration:none;font-size:13px;color:var(--muted);transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-cta{font-size:12px;font-weight:500;color:var(--gold-dark);border:0.5px solid var(--gold);padding:8px 18px;text-decoration:none;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.2s;}
.nav-cta:hover{background:var(--gold);color:var(--black);}

/* SHOP HEADER */
.shop-header{padding:48px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;}
.shop-header-left{}
.shop-tag{font-size:10px;letter-spacing:0.28em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.shop-tag::before{content:'';width:24px;height:0.5px;background:var(--gold);}
.shop-h1{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,56px);font-weight:900;color:var(--ink);letter-spacing:-2px;line-height:1;}
.shop-h1 em{font-style:italic;color:var(--gold-dark);}
.shop-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex-shrink:0;}
.shop-count{font-size:11px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;}
.shop-count span{color:var(--ink);font-weight:500;}

/* FILTERS */
.filters-bar{padding:0 0 40px;display:flex;gap:8px;align-items:center;border-bottom:0.5px solid var(--border);}
.filter-btn{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;padding:8px 18px;border:0.5px solid var(--border);color:var(--muted);background:var(--white);cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif;}
.filter-btn:hover{border-color:var(--border-dark);color:var(--ink);}
.filter-btn.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.filter-divider{width:1px;height:16px;background:var(--border);margin:0 4px;}

/* PRODUCT GRID */
.shop-grid-wrap{margin:0;padding:0 0 96px;}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:0.5px solid var(--border);margin-top:40px;}

/* PRODUCT CARD */
.prod-card{background:var(--white);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:background 0.2s;position:relative;}
.prod-card:hover{background:var(--off);}
.prod-card[data-hidden="true"]{display:none;}

/* Image area — default: fit inside with padding */
.prod-img{height:220px;background:var(--off);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-bottom:0.5px solid var(--border);}
.prod-img img{width:100%;height:100%;object-fit:contain;object-position:center;padding:24px;transition:transform 0.4s ease;}
.prod-card:hover .prod-img img{transform:scale(1.03);}

/* Fill box: full width & height (Customizer → WooCommerce → Product Images) */
.cellmind-shop-img-cover .prod-img{display:block;background:var(--white);}
.cellmind-shop-img-cover .prod-img img{padding:0;object-fit:cover;object-position:center;}
.cellmind-shop-img-cover .prod-card:hover .prod-img img{transform:scale(1.05);}
.prod-img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;}
.prod-img-icon{font-size:28px;color:var(--border-dark);}
.prod-img-lbl{font-size:9px;letter-spacing:0.18em;color:var(--border-dark);text-transform:uppercase;}
.prod-cat-badge{position:absolute;top:14px;left:14px;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-dark);background:var(--gold-light);padding:3px 10px;border:0.5px solid rgba(200,168,75,0.3);}

/* Card body */
.prod-body{padding:24px 24px 20px;flex:1;display:flex;flex-direction:column;}
.prod-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-0.3px;line-height:1.2;margin-bottom:6px;transition:color 0.2s;}
.prod-card:hover .prod-name{color:var(--gold-dark);}
.prod-mechanism{font-size:11px;letter-spacing:0.06em;color:var(--gold-dark);margin-bottom:10px;font-weight:500;}
.prod-desc{font-size:13px;font-weight:300;color:var(--muted);line-height:1.65;flex:1;}

/* Card footer */
.prod-footer{padding:16px 24px;border-top:0.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.prod-specs{display:flex;flex-direction:column;gap:2px;}
.prod-purity{font-size:10px;font-weight:500;color:var(--ink);letter-spacing:0.04em;}
.prod-mw{font-size:10px;color:var(--muted);}
.prod-arrow{font-size:18px;color:var(--border-dark);transition:all 0.2s;}
.prod-card:hover .prod-arrow{color:var(--gold-dark);transform:translateX(4px);}

/* QUALITY BAND */
.quality-band{background:var(--ink);padding:28px 64px;display:flex;gap:0;border-top:1px solid #1a1a1a;}
.quality-band-inner{max-width:var(--cellmind-container-max,1280px);margin:0 auto;width:100%;display:flex;padding-inline:var(--cellmind-container-padding,clamp(20px,4vw,48px));}
.qband-item{flex:1;display:flex;align-items:center;gap:12px;padding:0 28px;border-right:0.5px solid #1e1e1e;}
.qband-item:first-child{padding-left:0;}
.qband-item:last-child{border-right:none;}
.qband-icon{font-size:16px;color:var(--gold);}
.qband-text{}
.qband-val{font-size:13px;font-weight:500;color:var(--white);}
.qband-lbl{font-size:10px;color:#555;letter-spacing:0.1em;text-transform:uppercase;margin-top:1px;}

/* EMPTY STATE */
.no-results{display:none;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;background:var(--white);border:0.5px solid var(--border);margin-top:40px;}
.no-results.visible{display:flex;}
.no-results-title{font-family:'Playfair Display',serif;font-size:24px;color:var(--ink);margin-bottom:8px;}
.no-results-sub{font-size:13px;color:var(--muted);}

/* DISCLAIMER + FOOTER */
.disclaimer-bar{background:var(--off);border-top:0.5px solid var(--border);padding:20px 48px;}
.disclaimer-text{font-size:10px;color:#bbb;line-height:1.7;max-width:var(--cellmind-container-max,1280px);margin:0 auto;text-align:center;padding-inline:var(--cellmind-container-padding,clamp(20px,4vw,48px));}
footer{background:var(--ink);padding:64px var(--cellmind-container-padding,clamp(20px,4vw,48px)) 32px;}
.footer-inner{max-width:var(--cellmind-container-max,1280px);margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px;}
.footer-logo .cell{background:var(--gold);color:var(--black);font-family:'DM Sans';font-weight:500;font-size:15px;padding:2px 7px 3px;}
.footer-logo .mind{color:var(--white);font-family:'DM Sans';font-weight:500;font-size:15px;padding-left:1px;}
.footer-tagline{font-size:11px;letter-spacing:0.12em;color:#444;margin-top:8px;text-transform:uppercase;}
.footer-cols{display:flex;gap:48px;}
.footer-col-label{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#444;margin-bottom:16px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:13px;font-weight:300;color:#666;text-decoration:none;transition:color 0.2s;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{border-top:0.5px solid #1e1e1e;padding-top:24px;display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:11px;color:#333;}
.footer-legal{display:flex;gap:24px;}
.footer-legal a{font-size:11px;color:#333;text-decoration:none;}
.footer-legal a:hover{color:var(--gold);}
