/*
Theme Name: PinStack Labs (Storefront child)
Template: storefront
Version: 1.0
Description: Clean clinical lab theme for PinStack Labs.
*/
:root{--ps-dark:#0f172a;--ps-ink:#1e293b;--ps-muted:#64748b;--ps-line:#e2e8f0;--ps-soft:#f6f8fa;--ps-accent:#0b8f8c;}
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ps-ink);background:#fff;}
h1,h2,h3,h4{font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ps-dark);letter-spacing:-.01em;font-weight:700}
a{color:var(--ps-accent)}
.site-header{background:var(--ps-dark)!important;border-bottom:3px solid var(--ps-accent);padding-top:1.2em!important;margin-bottom:0!important}
.site-header .site-branding{margin-bottom:1em}
.ps-logo{display:inline-flex;align-items:center;gap:.6em;text-decoration:none!important}
.ps-logo .ps-mark{width:34px;height:34px;border:2px solid var(--ps-accent);border-radius:7px;display:grid;place-items:center;color:var(--ps-accent);font-weight:800;font-size:15px}
.ps-logo .ps-word{color:#fff;font-weight:800;font-size:1.55rem;letter-spacing:.02em}
.ps-logo .ps-word span{color:var(--ps-accent)}
.main-navigation ul li a,.site-header-cart .cart-contents,.site-header a{color:#e2e8f0!important}
.main-navigation ul li a:hover{color:var(--ps-accent)!important}
.storefront-primary-navigation{background:transparent}
.main-navigation ul.menu ul, .main-navigation ul.nav-menu ul{background:var(--ps-dark)}
.site-search,.storefront-handheld-footer-bar{display:none}
.storefront-breadcrumb{background:var(--ps-soft);margin-bottom:2em;padding:.7em 0;font-size:.85em}
button,.button,input[type=submit],.added_to_cart,.wc-block-components-button{background:var(--ps-dark)!important;color:#fff!important;border-radius:6px!important;border:none!important}
button:hover,.button:hover,input[type=submit]:hover{background:var(--ps-accent)!important}
.button.alt,#place_order,.single_add_to_cart_button{background:var(--ps-accent)!important}
.button.alt:hover,#place_order:hover,.single_add_to_cart_button:hover{background:var(--ps-dark)!important}
ul.products li.product{border:1px solid var(--ps-line);border-radius:10px;padding:14px!important;background:#fff}
ul.products li.product img{background:var(--ps-soft);border-radius:6px}
ul.products li.product .woocommerce-loop-product__title{font-size:1rem;color:var(--ps-dark);font-weight:600}
.price{color:var(--ps-muted)!important}
.ps-price-tbd{display:inline-block;font-size:.8em;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;padding:1px 8px}
.ps-ruo-box{border:1px solid var(--ps-line);border-left:4px solid var(--ps-accent);background:var(--ps-soft);padding:14px 16px;border-radius:6px;margin:1.2em 0;font-size:.9em}
.ps-ruo-box strong{color:var(--ps-dark)}
.ps-coa{border:1px dashed #94a3b8;padding:12px 16px;border-radius:6px;margin:1em 0;font-size:.9em;display:flex;gap:12px;align-items:center}
.ps-coa .ps-coa-icon{width:36px;height:44px;border:2px solid var(--ps-muted);border-radius:4px;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--ps-muted)}
.ps-review-flag{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:8px 12px;border-radius:6px;font-size:.85em;margin-bottom:1em}
.site-footer{background:var(--ps-dark)!important;color:#cbd5e1!important;border-top:3px solid var(--ps-accent)}
.site-footer a{color:#e2e8f0!important}
.site-footer .widget-title,.site-footer h2,.site-footer h3{color:#fff!important}
.ps-footer-disclaimer{border-top:1px solid #334155;margin-top:1.5em;padding-top:1.2em;text-align:center;font-weight:600;color:#fff;letter-spacing:.02em}
.ps-footer-links{text-align:center;font-size:.85em;margin-top:.6em}
.ps-footer-links a{margin:0 .6em}
.ps-footer-fine{text-align:center;font-size:.75em;color:#94a3b8;margin-top:.8em}
/* Hero */
.ps-hero{background:linear-gradient(135deg,#0f172a 0%,#13223f 100%);color:#e2e8f0;border-radius:14px;padding:64px 48px;margin:0 0 40px;position:relative;overflow:hidden}
.ps-hero h1{color:#fff;font-size:2.6rem;margin:0 0 .3em;max-width:16em}
.ps-hero p{color:#cbd5e1;max-width:40em;font-size:1.05rem}
.ps-hero .ps-kicker{color:var(--ps-accent);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.78rem}
.ps-hero .button{margin-right:10px;margin-top:10px}
.ps-hero .button.ghost{background:transparent!important;border:1px solid #475569!important}
.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0 0 40px}
.ps-card{border:1px solid var(--ps-line);border-radius:10px;padding:22px;background:#fff}
.ps-card h3{font-size:1.05rem;margin:0 0 .4em}
.ps-card p{margin:0;color:var(--ps-muted);font-size:.92em}
.ps-card .ps-num{color:var(--ps-accent);font-weight:800;font-size:.8rem;letter-spacing:.1em}
.ps-band{background:var(--ps-soft);border:1px solid var(--ps-line);border-radius:10px;padding:22px 26px;margin:0 0 40px}
/* Age gate */
#ps-age-gate{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.92);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}
#ps-age-gate .ps-gate-box{background:#fff;max-width:520px;width:100%;border-radius:14px;padding:36px 34px;text-align:center;border-top:5px solid var(--ps-accent)}
#ps-age-gate h2{margin:.4em 0 .3em;font-size:1.5rem}
#ps-age-gate p{color:var(--ps-muted);font-size:.93em}
#ps-age-gate .ps-gate-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}
#ps-age-gate .ps-gate-actions button{padding:.8em 1.6em}
#ps-age-gate .ps-exit{background:#e2e8f0!important;color:var(--ps-dark)!important}
html.ps-gate-open,html.ps-gate-open body{overflow:hidden}
/* Waiver */
.ps-waiver{border:1px solid var(--ps-line);border-left:4px solid var(--ps-accent);border-radius:8px;padding:18px 20px;margin:0 0 1.5em;background:var(--ps-soft)}
.ps-waiver h3{font-size:1.05rem;margin:0 0 .3em}
.ps-waiver .ps-waiver-intro{font-size:.85em;color:var(--ps-muted);margin-bottom:.8em}
.ps-waiver p.form-row{margin:0 0 .7em!important;padding:0!important}
.ps-waiver label.checkbox{font-size:.88em;line-height:1.45;display:flex!important;gap:10px;align-items:flex-start}
.ps-waiver label.checkbox input{margin-top:4px;flex:0 0 auto}
.ps-waiver .required{color:#b91c1c}
.ps-gate-note{background:var(--ps-soft);border:1px solid var(--ps-line);padding:14px 18px;border-radius:8px;margin-bottom:1.5em}
.home.page .entry-header,.page-template-default.home .entry-title{display:none}
.storefront-product-pagination{display:none}
.ps-waiver label.checkbox{display:block!important;position:relative;padding-left:26px}
.ps-waiver label.checkbox input{position:absolute;left:0;top:0}
.ps-waiver label.checkbox a{display:inline}
.ps-sales-final{font-size:.82em;color:#475569;margin:.4em 0 1em}
.ps-sales-final-checkout{background:#fff;border:1px solid var(--ps-line);border-radius:6px;padding:8px 12px;margin:.4em 0 .9em}
.ps-footer-final{text-align:center;font-size:.85em;color:#e2e8f0;margin-top:.5em}
