/*
Theme Name:  Cloud905 (Blocksy Child)
Theme URI:   https://cloud905.com
Description: Night-dispatch design system for Cloud905 same-day delivery. Child of Blocksy.
Author:      Cloud905
Template:    blocksy
Version:     2.0.0
Text Domain: cloud905
*/

/* =====================================================================
   CLOUD905 v2 — "Night dispatch over the 905"
   Tokens + components ported from approved mockup (cloud905-redesign-v2).
   Fonts enqueued in functions.php (Barlow Condensed + Karla).
   ===================================================================== */

:root{
  --ink:oklch(17% .035 275);
  --ink-deep:oklch(13% .03 275);
  --surface:oklch(23% .04 275);
  --surface-2:oklch(27% .045 275);
  --mist:oklch(94% .01 275);
  --dusk:oklch(75% .04 275);
  --gold:oklch(78% .13 80);
  --gold-deep:oklch(66% .13 75);
  --gold-ink:oklch(22% .05 80);
  --open:oklch(78% .14 155);
  --line:oklch(94% .01 275 / .1);
  --r:14px;
  --z-sticky:10; --z-nav:20; --z-mbar:30;

  /* Blocksy bridge — makes customizer-driven elements inherit the system */
  --theme-palette-color-1: #E8B34B;           /* gold fallback */
  --theme-palette-color-2: #131A2E;
  --theme-palette-color-3: #1A2138;
  --theme-palette-color-4: #E9ECF4;
  --theme-text-color: var(--mist);
  --theme-link-hover-color: var(--gold);
  --theme-headings-color: var(--mist);
  --theme-button-background-initial-color: var(--gold);
  --theme-button-background-hover-color: oklch(83% .13 82);
  --theme-button-text-initial-color: var(--gold-ink);
  --theme-button-text-hover-color: var(--gold-ink);
  --theme-form-field-border-initial-color: var(--line);
  font-variant-numeric: tabular-nums;
}

body{
  background: var(--ink);
  color: var(--mist);
  font-family: 'Karla', sans-serif;
  font-weight: 400;
  line-height: 1.65;
}

h1,h2,h3,h4,.c905-disp{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  letter-spacing:.005em;
  text-transform:uppercase;
  text-wrap:balance;
  color:var(--mist);
}
p{ text-wrap:pretty; }
a{ transition: color .18s; }

.c905-lab{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
}
.c905-gold{ color: var(--gold); }

/* ---------- buttons ---------- */
.c905-btn, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit, .single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;border-radius:8px;padding:13px 26px;font-size:1rem;
  background:var(--gold) !important;color:var(--gold-ink) !important;border:1px solid transparent;
  transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s;
}
.c905-btn:hover, .woocommerce a.button:hover, .single_add_to_cart_button:hover{
  transform:translateY(-2px);background:oklch(83% .13 82) !important;
}
.c905-btn:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.c905-btn--ghost{ background:transparent !important;color:var(--mist) !important;border-color:var(--line); }
.c905-btn--ghost:hover{ background:oklch(94% .01 275 / .07) !important; }

/* ---------- utility bar (injected via wp_body_open) ---------- */
.c905-util{background:var(--ink-deep);border-bottom:1px solid var(--line);font-size:.85rem}
.c905-util__in{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:8px clamp(20px,4vw,32px);gap:12px;flex-wrap:wrap}
.c905-status{display:flex;align-items:center;gap:9px;color:var(--dusk)}
.c905-dot{width:8px;height:8px;border-radius:50%;background:var(--open)}
.c905-dot--closed{background:oklch(65% .18 25)}
.c905-cutoff{display:flex;align-items:baseline;gap:8px;color:var(--gold)}
.c905-cutoff b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.04em}

/* ---------- header bridge ---------- */
header#header [data-row]{ background: oklch(17% .035 275 / .86); backdrop-filter: blur(14px); border-bottom:1px solid var(--line); }
.site-logo-container .site-title{ font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.03em; }
header#header .menu > li > a{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.1em;font-size:.92rem;color:var(--dusk);
}
header#header .menu > li > a:hover{ color:var(--gold); }

/* ---------- hero band ---------- */
.c905-hero{
  position:relative;overflow:hidden;color:var(--mist);
  padding:clamp(64px,9vw,110px) 0 clamp(120px,14vw,170px);
  background:
   radial-gradient(1100px 480px at 78% -12%, oklch(28% .06 280) 0%, transparent 60%),
   radial-gradient(800px 400px at 6% 112%, oklch(24% .05 275) 0%, transparent 55%),
   var(--ink);
}
.c905-hero--short{ padding:clamp(48px,6vw,72px) 0; }
.c905-hero h1{ font-size:clamp(3rem,7vw,5.6rem);font-weight:800;line-height:.95;margin:0 0 22px; }
.c905-hero h1 em{ font-style:normal;color:var(--gold); }
.c905-hero .c905-sub{ color:var(--dusk);font-size:1.15rem;max-width:48ch;font-weight:300; }
.c905-kicker{ display:flex;align-items:center;gap:12px;color:var(--gold);margin-bottom:22px; }
.c905-kicker::before{ content:"";width:34px;height:2px;background:var(--gold); }
.c905-facts{ display:flex;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px; }
.c905-fact{ padding:14px 26px 0 0;margin-right:26px; }
.c905-fact b{ font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.35rem;display:block;line-height:1.1;letter-spacing:.02em; }
.c905-fact span{ color:var(--dusk);font-size:.82rem; }
.c905-skyline{ position:absolute;bottom:-2px;left:0;width:100%;pointer-events:none; }
.c905-cloud{ position:absolute;left:-10%;width:120%;height:220px;filter:blur(2px);opacity:.5;pointer-events:none; }
.c905-cloud svg{ width:200%;height:100%; }
.c905-cloud--1{ top:8%;animation:c905drift 80s linear infinite; }
.c905-cloud--2{ top:40%;opacity:.28;animation:c905drift 120s linear infinite reverse; }
@keyframes c905drift{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* hero load choreography (content visible by default) */
.c905-in{ animation:c905rise .7s cubic-bezier(.16,1,.3,1) both; }
.c905-in.d1{animation-delay:.08s}.c905-in.d2{animation-delay:.16s}
.c905-in.d3{animation-delay:.24s}.c905-in.d4{animation-delay:.32s}
@keyframes c905rise{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }

/* ---------- order card ---------- */
.c905-ordercard{background:linear-gradient(165deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,30px);box-shadow:0 30px 70px oklch(0% 0 0/.4)}
.c905-step{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.c905-step:last-of-type{border-bottom:none}
.c905-step__n{font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--gold);font-size:1.05rem;min-width:28px}
.c905-step h4{font-size:1.05rem;letter-spacing:.04em;margin:0}
.c905-step p{color:var(--dusk);font-size:.87rem;margin:0}

/* ---------- menu board ---------- */
.c905-board{ border-top:1px solid var(--line); }
.c905-brow{
  display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;
  gap:clamp(12px,3vw,28px);padding:18px 6px;border-bottom:1px solid var(--line);
  position:relative;transition:background .18s;
}
.c905-brow:hover{ background:oklch(94% .01 275/.04); }
.c905-brow__idx{ font-family:'Barlow Condensed',sans-serif;font-weight:600;color:var(--dusk);font-size:.95rem;letter-spacing:.08em; }
.c905-brow h3{ font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:700;line-height:1;margin:0;transition:color .18s,transform .25s cubic-bezier(.16,1,.3,1); }
.c905-brow:hover h3{ color:var(--gold);transform:translateX(8px); }
.c905-brow__desc{ color:var(--dusk);font-size:.9rem;text-align:right; }
.c905-brow__go{ font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--gold);font-size:1.2rem;opacity:0;transition:opacity .18s; }
.c905-brow:hover .c905-brow__go{ opacity:1; }
.c905-brow a.c905-cover{ position:absolute;inset:0; }

/* ---------- section heads ---------- */
.c905-sechead{ display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px); }
.c905-sechead h2{ font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;line-height:.95;margin:0; }
.c905-sechead h2 span{ color:var(--gold); }
.c905-seclink{ font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--dusk);font-size:.95rem;border-bottom:2px solid var(--line);padding-bottom:3px; }
.c905-seclink:hover{ color:var(--gold);border-color:var(--gold); }

/* ---------- WooCommerce product grid ---------- */
.woocommerce ul.products li.product, .wc-block-grid__product{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s;
  padding:0 !important;display:flex;flex-direction:column;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-5px);border-color:oklch(78% .13 80/.45); }
.woocommerce ul.products li.product a img{ aspect-ratio:1/1;object-fit:cover;margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.35rem;line-height:1.05;
  text-transform:uppercase;color:var(--mist);padding:14px 18px 4px;
}
.woocommerce ul.products li.product .price{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem;color:var(--mist);padding:0 18px 6px;
}
.woocommerce ul.products li.product .price del{ color:var(--dusk);font-size:1rem;opacity:.8; }
.woocommerce ul.products li.product .price ins{ color:var(--gold);text-decoration:none; }
.woocommerce ul.products li.product .button{ margin:auto 18px 18px;align-self:flex-start; }
.woocommerce span.onsale{
  background:var(--gold);color:var(--gold-ink);border-radius:5px;min-width:0;min-height:0;line-height:1;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;top:12px;left:12px;
}
/* grade plate via product tag output (see functions.php c905_grade_plate) */
.c905-plate{ position:absolute;top:12px;left:12px;z-index:2;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.1em;background:var(--gold);color:var(--gold-ink);border-radius:5px;padding:4px 10px;text-transform:uppercase; }

/* single product */
.single-product div.product .product_title{ font-size:clamp(2rem,4vw,3rem);font-weight:800; }
.single-product div.product p.price{ font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;color:var(--gold); }
.single-product div.product .woocommerce-product-details__short-description{ color:var(--dusk); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:var(--surface);border-color:var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:var(--surface-2); }

/* cart / checkout surfaces */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container .select2-selection{
  background:var(--ink-deep);border:1px solid var(--line);color:var(--mist);border-radius:8px;padding:12px 14px;
}
.woocommerce form .form-row input.input-text:focus{ border-color:var(--gold);outline:none; }

/* ---------- neighbourhood chips / map ---------- */
.c905-hoods{ display:flex;flex-wrap:wrap;gap:8px;margin-top:26px; }
.c905-hood{ border:1px solid var(--line);border-radius:6px;padding:7px 14px;font-size:.85rem;color:var(--dusk);transition:border-color .18s,color .18s; }
.c905-hood:hover{ border-color:oklch(78% .13 80/.5);color:var(--mist); }
.c905-hood--free{ border-color:oklch(78% .14 155/.45);color:var(--open);font-weight:500; }
.c905-map{ background:var(--surface);border:1px solid var(--line);border-radius:20px;aspect-ratio:4/3;position:relative;overflow:hidden;display:grid;place-items:center; }
.c905-ring{ position:absolute;border:1px dashed oklch(78% .13 80/.35);border-radius:50%; }
.c905-ring--1{width:66%;aspect-ratio:1}.c905-ring--2{width:42%;aspect-ratio:1}
.c905-ring--3{width:19%;aspect-ratio:1;background:oklch(78% .13 80/.08)}
.c905-pin{ position:absolute;width:14px;height:14px;background:var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg); }
.c905-maplabel{ position:absolute;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.16em;color:var(--dusk);text-transform:uppercase; }

/* ---------- reviews signage grid ---------- */
.c905-revwrap{ display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line); }
.c905-rev{ border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(24px,3.4vw,36px);display:flex;flex-direction:column;gap:16px; }
.c905-stars{ color:var(--gold);letter-spacing:4px;font-size:.85rem; }
.c905-rev p{ font-size:1.05rem;font-weight:300;line-height:1.55; }
.c905-rev footer{ color:var(--dusk);font-size:.85rem;margin-top:auto; }
.c905-rev footer b{ font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--mist); }

/* ---------- FAQ ---------- */
.c905-faq{ max-width:740px;margin:0 auto; }
.c905-faq details{ border-bottom:1px solid var(--line); }
.c905-faq summary{ cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.2rem;text-transform:uppercase;letter-spacing:.04em; }
.c905-faq summary::-webkit-details-marker{ display:none; }
.c905-faq summary::after{ content:"+";color:var(--gold);font-size:1.5rem;transition:transform .2s cubic-bezier(.16,1,.3,1); }
.c905-faq details[open] summary::after{ transform:rotate(45deg); }
.c905-faq details p{ color:var(--dusk);padding:0 4px 22px;font-size:.97rem;max-width:62ch; }

/* ---------- gold CTA drench ---------- */
.c905-band{
  background:var(--gold);color:var(--gold-ink);border-radius:22px;
  padding:clamp(40px,7vw,72px) clamp(24px,5vw,56px);
  display:grid;grid-template-columns:1.3fr auto;align-items:center;gap:28px;
}
.c905-band h2{ color:var(--gold-ink);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:.92;margin:0; }
.c905-band p{ margin:12px 0 0;font-weight:500;max-width:44ch; }
.c905-band code{ font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;background:oklch(22% .05 80/.12);padding:2px 10px;border-radius:5px;color:inherit; }
.c905-band .c905-btn{ background:var(--gold-ink) !important;color:var(--gold) !important;font-size:1.15rem;padding:18px 36px;white-space:nowrap; }

/* ---------- footer bridge ---------- */
footer.ct-footer [data-row]{ background:var(--ink-deep);border-top:1px solid var(--line); }
footer.ct-footer .widget-title{ font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dusk); }
footer.ct-footer a:hover{ color:var(--gold); }

/* ---------- sticky mobile order bar (wp_footer inject) ---------- */
.c905-mbar{
  position:fixed;bottom:0;left:0;right:0;z-index:var(--z-mbar);display:none;
  background:oklch(13% .03 275/.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);
  padding:12px 18px;gap:12px;align-items:center;justify-content:space-between;
}
.c905-mbar__info{ font-size:.8rem;color:var(--dusk); }
.c905-mbar__info b{ display:block;color:var(--mist);font-size:.92rem;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em; }

/* ---------- age gate restyle (works with common age-gate plugins) ---------- */
.age-gate-wrapper, #age-gate{ background:var(--ink) !important;color:var(--mist) !important; }
.age-gate-submit-yes, .age-gate button[type=submit]{ background:var(--gold) !important;color:var(--gold-ink) !important; }

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .c905-band{ grid-template-columns:1fr; }
  .c905-brow{ grid-template-columns:44px 1fr auto; }
  .c905-brow__desc{ display:none; }
}
@media(max-width:640px){
  .c905-mbar{ display:flex; }
  body.woocommerce-checkout .c905-mbar{ display:none; } /* never cover checkout */
}
@media (prefers-reduced-motion:reduce){
  .c905-cloud--1,.c905-cloud--2{ animation:none; }
  .c905-in{ animation:none; }
  *{ transition-duration:.01ms !important; }
}

/* =====================================================================
   v2.1 — SHOP ARCHIVE + SINGLE PRODUCT (per approved mockups)
   Hook-rendered elements come from functions.php sections 9–14.
   ===================================================================== */

/* ---------- shop header + filter rail ---------- */
.c905-shophead{background:radial-gradient(900px 360px at 80% -20%,oklch(28% .06 280),transparent 60%),var(--ink);padding:clamp(36px,5vw,56px) 0 0;border-bottom:1px solid var(--line)}
.c905-shophead h1{font-size:clamp(2.6rem,5.4vw,4rem);font-weight:800;line-height:.95}
.c905-shophead h1 span{color:var(--gold)}
.c905-rail{display:flex;gap:8px;overflow-x:auto;padding:22px 0 18px;scrollbar-width:none}
.c905-rail::-webkit-scrollbar{display:none}
.c905-fchip{flex:0 0 auto;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;border:1px solid var(--line);border-radius:8px;padding:9px 18px;color:var(--dusk);background:transparent;transition:all .18s}
.c905-fchip:hover{color:var(--mist);border-color:oklch(78% .13 80/.5)}
.c905-fchip.on{background:var(--gold);color:var(--gold-ink);border-color:transparent}
.woocommerce .woocommerce-result-count{color:var(--dusk);font-size:.85rem}
.woocommerce .woocommerce-ordering select{background:var(--surface);border:1px solid var(--line);color:var(--mist);border-radius:6px;padding:7px 10px}

/* ---------- archive card v2.1 (hook-rendered extras) ---------- */
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product .c905-batch{position:absolute;z-index:2;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:oklch(13% .03 275/.8);backdrop-filter:blur(4px);color:var(--dusk);border:1px solid var(--line);border-radius:5px;padding:3px 8px;margin:-34px 10px 0 auto;display:inline-block;float:right;transform:translateY(-6px)}
.woocommerce ul.products li.product .c905-batch b{color:var(--open);font-weight:600}
.woocommerce ul.products li.product .c905-ctype{color:var(--dusk);font-size:.72rem;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;padding:14px 18px 0;display:block}
.woocommerce ul.products li.product .c905-cmeta{color:var(--dusk);font-size:.84rem;padding:0 18px}
.c905-weights{display:flex;gap:6px;margin:10px 18px 0;position:relative;z-index:3}
.c905-wpill{flex:1;border:1px solid var(--line);border-radius:7px;padding:7px 4px;text-align:center;cursor:pointer;background:transparent;transition:all .15s;text-decoration:none !important}
.c905-wpill small{display:block;font-size:.64rem;color:var(--dusk);letter-spacing:.06em;text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-weight:600}
.c905-wpill b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.02rem;color:var(--mist)}
.c905-wpill.on{border-color:var(--gold);background:oklch(78% .13 80/.1)}
.c905-wpill.on b{color:var(--gold)}
.c905-pergram{color:var(--dusk);font-size:.74rem;padding:8px 18px 0;display:block}
/* sold-out state (Woo adds .outofstock) */
.woocommerce ul.products li.product.outofstock img{filter:grayscale(.9) brightness(.6)}
.woocommerce ul.products li.product.outofstock .c905-plate{background:var(--surface-2);color:var(--dusk);border:1px solid var(--line)}
.woocommerce ul.products li.product.outofstock .button{border:1.5px solid var(--line);background:transparent !important;color:var(--dusk) !important}
/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:none}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0 4px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{font-family:'Barlow Condensed',sans-serif;font-weight:700;border:1px solid var(--line);border-radius:8px;min-width:44px;padding:10px 0;color:var(--dusk);background:transparent}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gold);color:var(--gold-ink);border-color:transparent}
.woocommerce nav.woocommerce-pagination ul li a:hover{color:var(--gold);border-color:oklch(78% .13 80/.5)}

/* ---------- single product ---------- */
.single-product div.product .woocommerce-product-gallery{position:relative}
.single-product div.product .woocommerce-product-gallery img{border-radius:18px;border:1px solid var(--line)}
.c905-batchbar{display:flex;justify-content:space-between;align-items:center;background:oklch(13% .03 275/.82);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:10px}
.c905-batchbar .t{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--open)}
.c905-batchbar .d{font-size:.78rem;color:var(--dusk)}
.single-product .c905-ptype{color:var(--dusk);font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}
.single-product div.product .product_title{font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:800;line-height:.95;margin:6px 0 10px}
.c905-tagsrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.c905-tag{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:5px;padding:4px 10px;color:var(--dusk)}
.c905-tag--gold{border-color:oklch(78% .13 80/.5);color:var(--gold)}
.c905-aroma{display:flex;gap:18px;margin:18px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.c905-anote{flex:1}
.c905-anote small{display:block;color:var(--dusk);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-family:'Barlow Condensed',sans-serif;font-weight:600;margin-bottom:2px}
.c905-anote b{font-weight:500;font-size:.95rem;color:var(--mist)}
/* variation table restyled as pills */
.single-product table.variations{margin-bottom:8px}
.single-product table.variations td.label{display:none}
.single-product table.variations select{background:var(--surface);border:1px solid var(--line);color:var(--mist);border-radius:8px;padding:12px 14px;width:100%;font-family:'Karla',sans-serif}
.c905-vhint{color:var(--dusk);font-size:.8rem;margin:4px 0 12px;display:block}
.c905-vhint b{color:var(--open);font-family:'Barlow Condensed',sans-serif;letter-spacing:.04em}
/* qty + add */
.single-product div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.single-product div.product form.cart div.quantity{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.single-product div.product form.cart div.quantity .qty{width:64px;text-align:center;background:transparent;border:none;color:var(--mist);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem}
.single-product div.product form.cart .single_add_to_cart_button{flex:1;font-size:1.05rem;padding:14px 28px}
.single-product div.product form.cart .woocommerce-variation-add-to-cart{display:flex;gap:12px;width:100%}
/* ETA + trust grid */
.c905-eta{background:oklch(78% .14 155/.09);border:1px solid oklch(78% .14 155/.35);border-radius:10px;padding:12px 16px;font-size:.9rem;color:var(--open);margin:14px 0 8px}
.c905-eta b{font-family:'Barlow Condensed',sans-serif;letter-spacing:.03em}
.c905-trust{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:10px}
.c905-titem{background:var(--surface);padding:12px 16px}
.c905-titem b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;display:block;letter-spacing:.03em;text-transform:uppercase;color:var(--mist)}
.c905-titem b.g{color:var(--gold)}
.c905-titem span{color:var(--dusk);font-size:.78rem}
/* details dl */
.c905-details{max-width:520px}
.c905-details h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:12px}
.c905-details h2 span{color:var(--gold)}
.c905-dl{border-top:1px solid var(--line)}
.c905-dl>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:.92rem}
.c905-dl dt{color:var(--dusk);font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;padding-top:3px}
.c905-dl dd{color:var(--mist);margin:0}
/* tabs + reviews */
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dusk)}
.woocommerce #reviews #comments ol.commentlist li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--gold)}
/* related */
.single-product section.related > h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800}
/* sticky mobile buy bar */
.c905-buybar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-mbar);display:none;background:oklch(13% .03 275/.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 18px;gap:12px;align-items:center;justify-content:space-between}
.c905-buybar .info b{display:block;color:var(--mist);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase}
.c905-buybar .info span{font-size:.78rem;color:var(--gold)}
@media(max-width:640px){
  .single-product .c905-buybar{display:flex}
  .single-product .c905-mbar{display:none} /* buy bar replaces generic bar on product pages */
}

/* =====================================================================
   v2.1.0 — PIXEL-PARITY PATCH (mockup drift fixes)
   ===================================================================== */

/* Blocksy paints a light body background after our rule — reclaim it. */
body{ background:var(--ink) !important; color:var(--mist); }

/* We render our own signage nav + footer (§15/§16 functions.php). */
#header, .ct-header, footer.ct-footer{ display:none !important; }

/* Kill Blocksy container spacing on pages; sections manage their own. */
.page .site-main, .page .hentry, .page .entry-content{ margin-block:0 !important; padding-block:0 !important; }
.page .entry-content > *{ margin-block:0; }

/* Full-bleed night bands from inside the content column. */
.c905-hero, .c905-area{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }

/* ---------- signage nav (mockup .nav) ---------- */
.c905-nav{ position:sticky; top:0; z-index:20; background:oklch(17% .035 275 / .86); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.c905-nav__wrap{ max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px clamp(20px,4vw,32px); gap:16px; }
.c905-logo{ font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:1.6rem; letter-spacing:.03em; line-height:1; color:var(--mist); text-decoration:none; }
.c905-logo span{ color:var(--gold); }
.c905-logo small{ display:block; font-weight:600; font-size:.58rem; letter-spacing:.34em; color:var(--dusk); text-transform:uppercase; margin-top:2px; }
.c905-links{ display:flex; gap:28px; color:var(--dusk); }
.c905-links a{ font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.92rem; color:inherit; text-decoration:none; transition:color .18s; }
.c905-links a:hover, .c905-links a:focus-visible{ color:var(--gold); }
.c905-navcta{ display:flex; gap:12px; align-items:center; }
.c905-navcta .c905-btn{ padding:11px 22px; }
.c905-cartbtn{ position:relative; border:1px solid var(--line); border-radius:8px; padding:10px 15px; background:transparent; color:var(--mist); font-size:1rem; text-decoration:none; }
.c905-cartbtn em{ position:absolute; top:-7px; right:-6px; background:var(--gold); color:var(--gold-ink); font-style:normal; font-size:.68rem; font-weight:700; border-radius:50%; width:18px; height:18px; display:grid; place-items:center; font-family:'Barlow Condensed',sans-serif; }
@media(max-width:1020px){ .c905-links{ display:none; } }

/* ---------- hero star field (additive layer) ---------- */
.c905-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
   radial-gradient(1.5px 1.5px at 12% 22%,oklch(94% .01 275/.7),transparent),
   radial-gradient(1px 1px at 34% 12%,oklch(94% .01 275/.5),transparent),
   radial-gradient(1.5px 1.5px at 58% 30%,oklch(94% .01 275/.6),transparent),
   radial-gradient(1px 1px at 78% 8%,oklch(94% .01 275/.5),transparent),
   radial-gradient(1px 1px at 90% 26%,oklch(94% .01 275/.45),transparent),
   radial-gradient(1.5px 1.5px at 45% 6%,oklch(94% .01 275/.55),transparent);
}

/* ---------- delivery area band (mockup .area) ---------- */
.c905-area{ background:var(--ink-deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:clamp(64px,9vw,96px) 0; }
.c905-areagrid{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,32px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,64px); align-items:center; }
.c905-area h2{ font-size:clamp(2rem,4.4vw,3.2rem); font-weight:800; line-height:.95; margin-bottom:16px; }
.c905-area h2 span{ color:var(--gold); }
.c905-area .c905-lead{ color:var(--dusk); max-width:52ch; }
@media(max-width:1020px){ .c905-areagrid{ grid-template-columns:1fr; } }

/* ---------- signage footer (mockup footer.site) ---------- */
.c905-foot{ border-top:1px solid var(--line); padding:64px 0 120px; background:var(--ink-deep); }
.c905-foot__wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,32px); }
.c905-fgrid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.c905-fgrid h4{ font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:.82rem; letter-spacing:.22em; text-transform:uppercase; color:var(--dusk); margin-bottom:16px; }
.c905-fgrid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:.92rem; color:var(--dusk); }
.c905-fgrid ul a{ color:inherit; text-decoration:none; }
.c905-fgrid ul a:hover{ color:var(--gold); }
.c905-fnote{ color:var(--dusk); font-size:.85rem; margin-top:14px; max-width:36ch; }
.c905-legalrow{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:var(--dusk); font-size:.8rem; }
@media(max-width:1020px){ .c905-fgrid{ grid-template-columns:1fr 1fr; } }

/* ---------- age gate on-brand (easy-marijuana-age-verify) ---------- */
.av-overlay{ background:oklch(13% .03 275 / .93) !important; backdrop-filter:blur(10px); }
.av_verify_form{
  background:linear-gradient(165deg,var(--surface-2),var(--surface)) !important;
  border:1px solid var(--line) !important; border-radius:20px !important;
  color:var(--mist) !important; font-family:'Karla',sans-serif !important;
  box-shadow:0 30px 70px oklch(0% 0 0/.4) !important;
}
.av_verify_form h1, .av_verify_form h2, .av_verify_form h3, .av_verify_form p{
  color:var(--mist) !important; font-family:'Barlow Condensed',sans-serif !important;
  text-transform:uppercase; letter-spacing:.04em;
}
#emav_confirm_age{
  background:var(--gold) !important; color:var(--gold-ink) !important; border:none !important;
  font-family:'Barlow Condensed',sans-serif !important; font-weight:700 !important;
  text-transform:uppercase; letter-spacing:.08em; border-radius:8px !important; padding:13px 26px !important;
}
#emav_not_confirm_age{
  background:transparent !important; color:var(--dusk) !important;
  border:1px solid var(--line) !important; border-radius:8px !important; padding:13px 26px !important;
  font-family:'Barlow Condensed',sans-serif !important; text-transform:uppercase; letter-spacing:.08em;
}

/* ---------- single product: variation pills (mockup .vars/.vpill) ---------- */
.c905-vars{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:4px 0 16px; }
.c905-vpill{ border:1px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer; background:transparent; text-align:left; transition:all .15s; position:relative; color:var(--mist); }
.c905-vpill small{ display:block; font-size:.7rem; color:var(--dusk); letter-spacing:.1em; text-transform:uppercase; font-family:'Barlow Condensed',sans-serif; font-weight:600; }
.c905-vpill .c905-vp{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.6rem; color:var(--mist); line-height:1.15; display:block; }
.c905-vpill .c905-was{ color:var(--dusk); text-decoration:line-through; font-size:1rem; margin-right:8px; font-weight:500; }
.c905-vpill .c905-vg{ font-size:.74rem; color:var(--dusk); }
.c905-vpill.on{ border-color:var(--gold); background:oklch(78% .13 80/.09); }
.c905-vpill.on .c905-vp{ color:var(--gold); }
.c905-save{ position:absolute; top:-9px; right:10px; background:var(--open); color:oklch(20% .05 155); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.68rem; letter-spacing:.08em; border-radius:4px; padding:2px 8px; text-transform:uppercase; }
/* the raw select stays in the DOM for Woo but out of view */
.single-product .variations_form .variations{ display:none !important; }
/* product meta row (SKU/cats/tags) is not part of the design */
.single-product .product_meta{ display:none !important; }

/* Blocksy's own hero band on Woo archives duplicates the c905 shop header */
.post-type-archive-product .hero-section, .tax-product_cat .hero-section, .tax-product_tag .hero-section{ display:none !important; }

/* =====================================================================
   v2.1.3 — LEGIBILITY / CONTRAST PASS (WCAG AA sweep, all templates)
   Root cause: Blocksy default palette (navy #192A3D headings, slate
   #3A4F66 text, blue #2872FA links) leaking onto dark surfaces, plus
   WooCommerce's light notice boxes inheriting light text.
   ===================================================================== */

/* Rewire Blocksy's palette + semantic color vars to the design tokens. */
:root{
  --theme-palette-color-1: var(--gold) !important;
  --theme-palette-color-2: oklch(83% .13 82) !important;
  --theme-palette-color-3: var(--mist) !important;
  --theme-palette-color-4: var(--mist) !important;
  --theme-palette-color-5: var(--dusk) !important;
  --theme-text-color: var(--mist) !important;
  --theme-headings-color: var(--mist) !important;
  --theme-link-initial-color: var(--gold) !important;
  --theme-link-hover-color: oklch(83% .13 82) !important;
}

/* Content links: gold, not stock blue (covers prose, breadcrumbs, tabs). */
.entry-content a:not(.c905-btn):not(.c905-hood):not(.c905-cover):not(.c905-seclink),
.woocommerce-breadcrumb a, .rank-math-breadcrumb a,
.woocommerce-privacy-policy-link, .woocommerce-terms-and-conditions-link,
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color: var(--gold);
}
.woocommerce-breadcrumb, .rank-math-breadcrumb, .rank-math-breadcrumb .separator,
.woocommerce-breadcrumb .breadcrumb-sep{ color: var(--dusk); }
.rank-math-breadcrumb .last, .woocommerce-breadcrumb .current{ color: var(--dusk); }

/* Product-card + single-product taxonomy links (the invisible slate ones). */
[class*="ct-term-"]{ color: var(--dusk) !important; }
[class*="ct-term-"]:hover{ color: var(--gold) !important; }

/* Woo tables: headers were near-invisible navy on dark. */
.woocommerce table.shop_table th, .woocommerce table.shop_table thead th{
  color: var(--mist) !important;
}
.woocommerce table.shop_table td, .woocommerce table.shop_table a{ color: var(--mist); }
.woocommerce table.shop_table a:hover{ color: var(--gold); }
.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th{
  border-color: var(--line) !important;
}

/* Woo notices: light band + light text = invisible. Re-skin to surface. */
.woocommerce-info, .woocommerce-message, .woocommerce-error,
.wc-block-components-notice-banner{
  background: var(--surface) !important;
  color: var(--mist) !important;
  border-top-color: var(--gold) !important;
}
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a{ color: var(--gold) !important; }
.woocommerce-info::before, .woocommerce-message::before{ color: var(--gold) !important; }
.woocommerce-error::before{ color: oklch(65% .18 25) !important; }

/* select2 (country/province pickers) on dark surfaces. */
.select2-container--default .select2-selection--single{
  background: var(--ink-deep) !important; border-color: var(--line) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color: var(--mist) !important;
}
/* the open dropdown paints on <body>: keep it light with dark text (legible), just tone the chrome */
.select2-dropdown{ border-color: var(--line) !important; }

/* Pagination (shop + blog). */
.page-numbers li .page-numbers, a.page-numbers, span.page-numbers{
  color: var(--dusk) !important;
}
.page-numbers li .page-numbers.current, span.page-numbers.current,
a.page-numbers:hover{ color: var(--gold) !important; }

/* Shipping calculator toggle + misc slate links in cart totals. */
.shipping-calculator-button, .woocommerce-remove-coupon{ color: var(--gold) !important; }

/* Quantity steppers + coupon input on dark. */
.woocommerce .quantity .qty, .woocommerce #coupon_code{
  background: var(--ink-deep); color: var(--mist); border:1px solid var(--line);
}

/* Order review card on checkout keeps its own surface; make totals readable. */
#order_review, .woocommerce-checkout-review-order-table{ color: var(--mist); }
