/*
Theme Name: Siora
Theme URI: https://siorafragrances.nl
Description: Custom monochrome-editorial theme for Siora Fragrances (Design D). Built for WooCommerce. Anti-template, premium niche-perfume identity.
Author: Siora
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: siora
WC requires at least: 8.0
WC tested up to: 9.9
*/

/* ============================================================
   DESIGN TOKENS — Siora "Monochrome Editorial" (Design D)
   ============================================================ */
:root{
  --ink:#0E0E0E; --ink-2:#1A1A1A; --ink-3:#2A2A28;
  --paper:#FFFFFF; --paper-2:#F4F4F2; --paper-3:#ECECE9;
  --grey:#7C7C78; --grey-2:#9A9A96; --line:#E4E4E0; --line-2:#D6D6D2;
  --powder:#C8D8F2; --powder-deep:#5E86C8; --powder-ink:#1F3A66;
  --ok:#2F7D5B; --warn:#9A5326; --bad:#A23A3A;

  --font-disp:"Bricolage Grotesque", "Hanken Grotesk", sans-serif;
  --font-body:"Hanken Grotesk", system-ui, sans-serif;

  --maxw:1300px; --gut:44px;
  --r:0px;                /* sharp corners — editorial */
  --r-soft:3px;
  --shadow:0 18px 40px rgba(14,14,14,.10);
  --ease:cubic-bezier(.2,.6,.2,1);
}

/* ============================================================ RESET */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--font-disp);font-weight:700;letter-spacing:-.02em;line-height:1.04}
:focus-visible{outline:2px solid var(--powder-deep);outline-offset:3px}

/* ============================================================ UTILITIES */
.disp{font-family:var(--font-disp)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--grey)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.section{padding-block:clamp(40px,6vw,72px)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:15px 34px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;transition:.22s var(--ease)}
.btn:hover{background:transparent;color:var(--ink)}
.btn--light{background:#fff;color:var(--ink);border-color:#fff}
.btn--light:hover{background:transparent;color:#fff}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--line-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn--line-w:hover{background:#fff;color:var(--ink)}
.btn--block{width:100%}
.link-ul{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px;transition:.2s}
.link-ul:hover{color:var(--powder-deep)}

/* ============================================================ TOP BAR */
.topbar{background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:10px;font-weight:500}
.topbar b{color:var(--powder);font-weight:600}
.topbar .sep{opacity:.4;margin:0 14px}

/* ============================================================ HEADER */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.3) blur(6px);border-bottom:1px solid var(--line)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:var(--maxw);margin:0 auto;padding:14px var(--gut)}
.main-nav{display:flex;gap:30px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.main-nav>li{position:relative}
.main-nav a{display:inline-block;padding:6px 0}
.main-nav>li>a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);transition:.25s var(--ease)}
.main-nav>li:hover>a:after{width:100%}
.submenu{position:absolute;top:100%;left:-18px;min-width:230px;background:#fff;border:1px solid var(--line);padding:14px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s var(--ease);box-shadow:var(--shadow)}
.main-nav>li:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:9px 22px;font-size:12px;letter-spacing:.06em;color:var(--ink-2)}
.submenu a:hover{background:var(--paper-2)}
.brand{font-family:var(--font-disp);font-weight:800;font-size:27px;letter-spacing:.18em;text-align:center;display:inline-flex;justify-content:center}
.brand small{display:block;font-family:var(--font-body);font-size:8.5px;letter-spacing:.42em;font-weight:600;color:var(--grey);margin-top:3px}
.site-header .brand-logo{height:72px;width:auto}
.footer-grid .brand-logo--footer{height:70px;width:auto}
.header-tools{display:flex;justify-content:flex-end;gap:20px;align-items:center;font-size:12.5px;letter-spacing:.04em;font-weight:600;text-transform:uppercase}
.header-tools a,.header-tools .tool-btn{display:flex;align-items:center;gap:7px}
.header-tools .tool-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.header-tools svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.6}
.cart-count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;background:var(--ink);color:#fff;border-radius:50%;font-size:10px;padding:0 5px}
.nav-toggle{display:none}

/* ============================================================ HERO (front) */
.hero{position:relative;height:clamp(520px,76vh,760px);overflow:hidden;background:#000}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:brightness(.8) contrast(1.02) saturate(1.03);transform:scale(1.02)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.40) 48%,rgba(0,0,0,.60) 100%)}
/* desktop: de liggende foto heeft vage zijkanten (bron is staand) — vignet ze weg naar donker, focus op het midden */
@media(min-width:769px){.hero__scrim{background:linear-gradient(90deg,rgba(12,12,12,.62) 0%,rgba(12,12,12,0) 27%,rgba(12,12,12,0) 73%,rgba(12,12,12,.62) 100%),linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.58) 100%)}}
.hero__inner{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 24px}
.hero__inner .eyebrow{color:rgba(255,255,255,.72)}
.hero h1{font-size:clamp(40px,7vw,80px);font-weight:800;margin:18px 0 0;letter-spacing:-.025em}
.hero h1 .lt{display:block;font-weight:400;letter-spacing:-.01em}
.hero p{max-width:520px;margin:24px auto 0;font-size:clamp(15px,2vw,17px);color:rgba(255,255,255,.84)}
.hero__cta{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}

/* ============================================================ USP STRIP */
.usp{border-bottom:1px solid var(--line)}
.usp__grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--maxw);margin:0 auto}
.usp__i{display:flex;align-items:center;justify-content:center;gap:13px;padding:22px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.usp__i+.usp__i{border-left:1px solid var(--line)}
.usp__i svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.5}

/* ============================================================ SECTION HEAD */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;gap:20px}
.sec-head h2{font-size:clamp(30px,4.5vw,46px);font-weight:500}
.sec-head h2 b{font-weight:800}
.sec-head .link-ul{white-space:nowrap}

/* ============================================================ PRODUCT CARD */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pgrid--3{grid-template-columns:repeat(3,1fr)}
.pcard{position:relative;display:flex;flex-direction:column}
.pcard__media-wrap{position:relative}
.pcard__media{position:relative;aspect-ratio:1/1.14;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.3s var(--ease)}
.pcard:hover .pcard__media{border-color:var(--line-2)}
.pcard__media img{height:94%;width:auto;object-fit:contain;transition:.45s var(--ease)}
.pcard:hover .pcard__media img{transform:translateY(-7px) scale(1.02)}
.pcard__badge{position:absolute;top:12px;left:12px;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;font-weight:600}
.pcard__badge--out{background:var(--grey)}
.pcard__add{position:absolute;left:14px;right:14px;bottom:14px;opacity:0;transform:translateY(8px);transition:.25s var(--ease)}
.pcard:hover .pcard__add{opacity:1;transform:none}
.pcard__body{padding:12px 2px 0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.pcard__no{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--powder-deep);font-weight:700}
.pcard__title{font-family:var(--font-disp);font-size:18px;font-weight:600;margin:5px 0 3px;line-height:1.12}
.pcard__insp{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--grey)}
.pcard__price{font-family:var(--font-disp);font-size:18px;font-weight:700;white-space:nowrap}
.pcard__price del{color:var(--grey-2);font-weight:500;margin-right:6px}
.pcard__price{margin-top:1px}

/* ============================================================ CATEGORY TILES */
.cats{background:var(--paper-2)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.ctile{position:relative;display:block;height:400px;overflow:hidden;background:var(--ink);isolation:isolate}
.ctile__pic{position:absolute;inset:0;z-index:0}
.ctile__pic img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s var(--ease)}
.ctile:hover .ctile__pic img{transform:scale(1.05)}
.ctile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,18,16,.04) 28%,rgba(18,18,16,.66) 100%)}
.ctile__num{position:absolute;top:20px;left:22px;z-index:2;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.82);font-weight:700}
.ctile h3{position:absolute;left:22px;bottom:46px;z-index:2;font-size:30px;font-weight:700;color:#fff;margin:0;line-height:1}
.ctile__go{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:flex;justify-content:space-between;align-items:center;color:#fff;opacity:.92}

/* ============================================================ FEATURE BAND (discovery) */
.band{position:relative;height:clamp(440px,55vw,520px);overflow:hidden;background:#000}
.band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.66)}
.band__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.18) 62%)}
.band__inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff}
.band h2{font-size:clamp(34px,5vw,56px);font-weight:800;max-width:540px;line-height:.97}
.band h2 .lt{font-weight:400;display:block}
.band p{max-width:400px;margin-top:20px;font-size:16px;color:rgba(255,255,255,.85)}
.band__price{margin-top:18px;font-family:var(--font-disp);font-size:20px;font-weight:700}
.band .btn{margin-top:28px;align-self:flex-start}

/* ============================================================ WHY / COMPARISON (reusable) */
.why{background:var(--ink);color:#fff}
.why .eyebrow{color:var(--powder)}
.why h2{font-size:clamp(30px,4.5vw,50px);font-weight:500;margin:12px 0 6px}
.why h2 b{font-weight:800}
.why__intro{max-width:520px;color:#B6B6B2;font-size:15.5px;margin-bottom:44px}
.cmp{width:100%;border-collapse:collapse}
.cmp th{text-align:left;padding-bottom:20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--grey-2)}
.cmp th.c{text-align:center;width:200px}
.cmp th.c.s{color:var(--powder)}
.cmp td{padding:18px 0;border-top:1px solid rgba(255,255,255,.14);font-size:16px;font-weight:500}
.cmp td.c{text-align:center}
.mk{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%}
.mk.y{background:rgba(200,216,242,.18)} .mk.n{background:rgba(255,255,255,.05)}
.mk svg{width:14px;height:14px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mk.y svg{stroke:var(--powder)} .mk.n svg{stroke:#615F5B}
.why--light{background:var(--paper-2);color:var(--ink)}
.why--light .eyebrow{color:var(--powder-deep)}
.why--light h2{color:var(--ink)}
.why--light .cmp td{border-top-color:var(--line);color:var(--ink)}
.why--light .mk.y{background:rgba(94,134,200,.14)} .why--light .mk.y svg{stroke:var(--powder-deep)}
.why--light .mk.n svg{stroke:var(--grey-2)}

/* ============================================================ FOOTER */
.site-footer{background:var(--ink);color:#9A9A96;border-top:1px solid rgba(255,255,255,.1)}
.footer-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:40px;padding:74px var(--gut) 40px}
.footer-grid .brand{text-align:left;color:#fff}
.site-footer p{margin-top:16px;font-size:14px;max-width:300px}
.site-footer h4{color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.site-footer li{margin-bottom:10px;font-size:14px}
.site-footer a:hover{color:#fff}
.newsletter{display:flex;border:1px solid rgba(255,255,255,.22);margin-top:14px}
.newsletter input{flex:1;background:transparent;border:0;padding:13px 14px;color:#fff;font-size:13px;font-family:inherit}
.newsletter button{background:#fff;color:var(--ink);border:0;padding:0 18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom .in{max-width:var(--maxw);margin:0 auto;padding:18px var(--gut);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em;flex-wrap:wrap;gap:10px}

/* ============================================================ BREADCRUMB */
.crumb{padding:22px var(--gut) 0;font-size:12px;letter-spacing:.04em;color:var(--grey);max-width:var(--maxw);margin:0 auto}
.crumb a:hover{color:var(--ink)}

/* ============================================================ FREE-SHIP METER */
.shipmeter{background:var(--paper-2);border:1px solid var(--line);padding:14px 16px;font-size:13px}
.shipmeter__bar{height:5px;background:var(--paper-3);margin-top:9px;overflow:hidden}
.shipmeter__fill{height:100%;background:var(--powder-deep);transition:width .4s var(--ease)}
.shipmeter b{color:var(--ink)}

/* ============================================================ RESPONSIVE */
@media(max-width:1024px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .cgrid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:768px){
  :root{--gut:30px}
  .header-inner{grid-template-columns:auto 1fr auto}
  .main-nav{display:none}
  .nav-toggle{display:flex;background:none;border:0}
  .nav-toggle svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:1.6}
  .header-tools span.lbl{display:none}
  .usp__grid{grid-template-columns:1fr}
  .usp__i+.usp__i{border-left:0;border-top:1px solid var(--line)}
  .pgrid,.pgrid--3{grid-template-columns:repeat(2,1fr);gap:10px}
  .cgrid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .cmp th.c,.cmp td.c{width:90px}
  .sec-head{flex-direction:column;align-items:center;text-align:center;gap:10px}
  .sec-head>div{display:flex;flex-direction:column;align-items:center}
  .home .siora-faq{margin-left:auto;margin-right:auto}
  .home .siora-faq>h2{text-align:center}
}

/* ============================================================
   STATIC PAGES (policies, contact)
   ============================================================ */
.page-hero{border-bottom:1px solid var(--line);padding:54px 0 40px;background:var(--paper-2)}
.page-hero h1{font-size:clamp(34px,5vw,52px);font-weight:700;margin-top:10px}
.page-body{padding-top:54px;padding-bottom:90px;max-width:820px}
.entry-content{font-size:16.5px;color:#2A2A28;line-height:1.7}
.entry-content h2{font-size:26px;margin:38px 0 12px}
.entry-content h3{font-size:20px;margin:28px 0 10px}
.entry-content p{margin:0 0 18px}
.entry-content a{color:var(--powder-deep);border-bottom:1px solid var(--line-2)}
.entry-content ul{list-style:disc;padding-left:22px;margin:0 0 18px}
.entry-content li{margin-bottom:8px}

/* ============================================================
   WOOCOMMERCE — shared
   ============================================================ */
.wc-main{padding:0 0 90px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .wc-block-components-notice-banner{
  border:1px solid var(--line);background:#fff;padding:14px 18px;font-size:14px;margin:18px 0;list-style:none;border-radius:var(--r-soft)}
.woocommerce-message{border-left:3px solid var(--ok)}
.woocommerce-info{border-left:3px solid var(--powder-deep)}
.woocommerce-error{border-color:var(--bad);color:var(--bad)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;border-radius:0!important;
  padding:14px 30px!important;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;transition:.2s}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:transparent!important;color:var(--ink)!important}
.woocommerce .button.alt,.single_add_to_cart_button{background:var(--ink)!important}
.price ins{text-decoration:none}
.woocommerce del{color:var(--grey-2)}

/* archive header + toolbar */
.shop-hero{border-bottom:1px solid var(--line);background:var(--paper-2);padding:50px 0 38px;margin-bottom:40px}
.shop-hero .eyebrow{margin-bottom:8px}
.shop-hero h1{font-size:clamp(30px,4.5vw,46px);font-weight:700}
.shop-hero .count{color:var(--grey);font-size:14px;margin-top:8px}
.woocommerce-ordering{margin:0 0 26px}
.woocommerce-ordering select{font-family:inherit;border:1px solid var(--line-2);padding:11px 16px;background:#fff;font-size:13px;border-radius:0}

/* product grid (archives) — reuse pcard inside li.product */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 16px;margin:0;padding:0;list-style:none}
.woocommerce ul.products li.product{margin:0;width:auto;float:none}
.woocommerce ul.products li.product::before{display:none}
/* WooCommerce clearfix ::before/::after become stray GRID cells (empty first column) — remove them */
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;display:none}
.woocommerce nav.woocommerce-pagination{margin-top:54px;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:6px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line-2);padding:10px 15px;background:#fff;font-weight:600}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============================================================
   WOOCOMMERCE — single product (PDP)
   ============================================================ */
.single-product div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start;margin-top:34px}
/* WooCommerce core (woocommerce-layout.css) sets `div.product div.images / div.summary { float; width:48% }`.
   The gallery carries the `images` class, so reset both (!important + descendant) so the CSS grid controls sizing. */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.images,
.single-product div.product .summary,
.single-product div.product .entry-summary{float:none!important;width:auto!important;margin:0}
.single-product .woocommerce-product-gallery{position:sticky;top:96px}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery__image{background:#fff;border:1px solid var(--line)}
.single-product .woocommerce-product-gallery img{mix-blend-mode:multiply}
.single-product .flex-control-thumbs{display:flex;gap:10px;margin-top:12px;padding:0;list-style:none}
.single-product .flex-control-thumbs li{width:74px}
.single-product div.product .summary{margin:0}
.summary .siora-no{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--powder-deep);font-weight:700;margin-bottom:8px}
.single-product .product_title{font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.02;margin-bottom:6px}
.summary .siora-inspired{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:18px}
.single-product .price{font-family:var(--font-disp);font-size:28px;font-weight:700;margin:8px 0 4px;color:var(--ink)}
.single-product .woocommerce-product-details__short-description{font-size:16px;color:#33332F;margin:18px 0;line-height:1.65;max-width:48ch}
.single-product form.cart{display:flex;gap:14px;align-items:center;margin:22px 0 18px}
.single-product form.cart .quantity input{width:72px;height:52px;border:1px solid var(--line-2);text-align:center;font-family:inherit;font-size:15px}
.single-product .single_add_to_cart_button{height:52px}
.single-product .product_meta{font-size:12.5px;color:var(--grey);margin-top:20px;border-top:1px solid var(--line);padding-top:18px;letter-spacing:.02em}
.single-product .product_meta>span{display:block;margin-bottom:6px}
.pdp-ship{margin:14px 0 0;display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--grey)}
.pdp-ship span{display:inline-flex;align-items:center;gap:7px}
.pdp-ship svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.5}

/* notes pyramid */
.siora-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0}
.siora-notes .n{background:#fff;padding:16px 16px}
.siora-notes .n h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--powder-deep);margin-bottom:6px}
.siora-notes .n p{font-size:13.5px;color:#3A3A38;margin:0}

/* description / tabs as accordion-ish blocks */
.woocommerce-tabs{grid-column:1/-1;margin-top:64px;border-top:1px solid var(--line);padding-top:10px}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:30px;padding:0;margin:0 0 24px;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{display:block;padding:18px 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--grey);border-bottom:2px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-color:var(--ink)}
.woocommerce-tabs .panel{font-size:16px;line-height:1.7;color:#2A2A28;max-width:760px}
.woocommerce-tabs .panel h2{font-size:24px;margin-bottom:12px}

/* related products */
.related.products{grid-column:1/-1;margin-top:80px;border-top:1px solid var(--line);padding-top:50px}
.related.products>h2{font-size:30px;font-weight:700;margin-bottom:30px}

/* ============================================================
   WOOCOMMERCE — cart / checkout / account (clean monochrome)
   ============================================================ */
.woocommerce-cart .wc-main,.woocommerce-checkout .wc-main,.woocommerce-account .wc-main{padding-top:40px}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0}
.woocommerce table.shop_table th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.woocommerce .cart-collaterals .cart_totals{border:1px solid var(--line);padding:24px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{border:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:14px 18px;font-size:13px;letter-spacing:.04em;font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{font-size:15px}

@media(max-width:1024px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  /* stack the PDP as a plain block on mobile — the 1-col grid let the summary overlap the gallery thumbnails */
  .single-product div.product{display:block}
  /* relative (not static) so the absolute prev/next arrows stay anchored to the gallery; top:auto kills the sticky shift */
  .single-product div.product > .woocommerce-product-gallery{margin-bottom:34px;position:relative!important;top:auto!important}
  /* center the arrows on the main image (not the whole gallery incl. thumbs) on mobile */
  .single-product .flex-direction-nav a{top:40%}
}
@media(max-width:768px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:10px}
  .siora-notes{grid-template-columns:1fr}
}

/* mobile nav — slide-out sidebar from the left, with backdrop */
.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:110;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s}
body.nav-open .nav-backdrop{opacity:1;visibility:visible}
/* Header is position:sticky (own stacking context) so its z-index caps the slide-out menu.
   Lift it above the backdrop while the menu is open, else the backdrop swallows every tap on the links. */
body.nav-open .site-header{z-index:120}
.nav-close{display:none}
@media(min-width:769px){.nav-backdrop{display:none}}
@keyframes siora-slidein{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:768px){
  /* backdrop-filter makes .site-header a containing block for fixed children — kill it so the slide-out is viewport-fixed */
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none}
  .main-nav.is-open{display:flex;position:fixed;top:0;left:0;bottom:0;right:auto;width:min(82vw,340px);flex-direction:column;
    background:#fff;padding:78px 26px 26px;gap:0;z-index:120;box-shadow:0 0 60px rgba(0,0,0,.3);overflow-y:auto;animation:siora-slidein .3s var(--ease)}
  .main-nav.is-open>li{border-bottom:1px solid var(--line)}
  .main-nav.is-open>li:last-child{border-bottom:0}
  .main-nav.is-open a{display:block;padding:17px 2px;font-size:16px}
  .main-nav.is-open .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0}
  body.nav-open{overflow:hidden}
  body.nav-open .nav-close{display:flex;position:fixed;top:14px;left:min(82vw,340px);margin-left:-50px;z-index:130;width:40px;height:40px;
    align-items:center;justify-content:center;background:none;border:0;font-size:32px;line-height:1;color:var(--ink);cursor:pointer;padding:0}
}

/* cart count pulse */
.cart-count.pulse{animation:siora-pulse .5s var(--ease)}
@keyframes siora-pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}

/* ============================================================ CONTACT FORM */
.contact-intro{font-size:16px;line-height:1.7;color:#2A2A28;margin-bottom:34px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.siora-contact-form{max-width:640px;margin-top:18px}
.siora-contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.siora-contact-form label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--grey);margin-bottom:18px}
.siora-contact-form input,.siora-contact-form textarea{display:block;width:100%;margin-top:8px;padding:13px 15px;border:1px solid var(--line-2);background:#fff;font-family:inherit;font-size:15px;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}
.siora-contact-form input:focus,.siora-contact-form textarea:focus{border-color:var(--ink);outline:none}
.siora-contact-form button{margin-top:8px}
.siora-notice{background:var(--paper-2);border:1px solid var(--powder-deep);padding:14px 18px;margin-bottom:24px;font-size:14px}
.bis-form{display:flex;gap:10px;margin-top:14px;max-width:420px}
.bis-form input{flex:1;border:1px solid var(--line-2);padding:12px 14px;font-family:inherit}
@media(max-width:600px){.siora-contact-form .row{grid-template-columns:1fr}}

/* ============================================================ GDPR CONSENT */
.siora-consent{position:fixed;left:20px;right:auto;bottom:20px;z-index:200;max-width:400px;margin:0;
  background:var(--ink);color:#fff;padding:22px 24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.siora-consent[hidden]{display:none}
.siora-consent p{font-size:13.5px;line-height:1.55;color:#E5E5E2;margin:0}
.siora-consent a{color:var(--powder);border-bottom:1px solid rgba(200,216,242,.4)}
.siora-consent__btns{display:flex;gap:12px}
.siora-consent .btn{padding:12px 22px;font-size:11px}
.siora-consent .btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.siora-consent .btn--ghost:hover{background:#fff;color:var(--ink)}
@media(max-width:600px){.siora-consent{left:10px;right:10px;bottom:10px}.siora-consent__btns .btn{flex:1}}
/* On cart/checkout the 400px box sat on top of the billing fields — dock it as a
   full-width bar there so it covers page chrome instead of inputs. */
@media(min-width:601px){
  body.woocommerce-checkout .siora-consent,
  body.woocommerce-cart .siora-consent{left:20px;right:20px;bottom:0;max-width:none;
    flex-direction:row;align-items:center;justify-content:space-between;gap:28px;padding:16px 24px}
  body.woocommerce-checkout .siora-consent__btns,
  body.woocommerce-cart .siora-consent__btns{flex:none}
}

/* ============================================================ SEARCH OVERLAY */
.search-overlay{position:fixed;inset:0;z-index:120;background:rgba(255,255,255,.985);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center}
.search-overlay[hidden]{display:none}
.search-overlay__inner{width:min(720px,92vw);margin-top:17vh;position:relative}
.search-overlay__close{position:absolute;top:-12vh;right:0;background:none;border:0;font-size:40px;line-height:1;color:var(--ink);cursor:pointer;opacity:.75;transition:.2s}
.search-overlay__close:hover{opacity:1}
.search-form{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.search-form input{flex:1;border:0;background:transparent;font-family:var(--font-disp);font-size:clamp(26px,5vw,44px);font-weight:600;color:var(--ink);outline:none;min-width:0}
.search-form input::placeholder{color:var(--grey-2)}
.search-form button{background:none;border:0;cursor:pointer;display:flex;flex:none}
.search-form button svg{width:28px;height:28px;stroke:var(--ink);fill:none;stroke-width:1.6}
.search-hint{margin-top:18px;font-size:13px;color:var(--grey);letter-spacing:.02em}
.search-hint em{font-style:normal;color:var(--ink);border-bottom:1px solid var(--line-2)}
body.search-open{overflow:hidden}

/* search results page */
.search-count{font-size:13px;letter-spacing:.04em;color:var(--grey);text-transform:uppercase;font-weight:600;margin:0 0 22px}
.search-empty{font-size:16.5px;color:#33332F;line-height:1.6;margin:8px 0 22px;max-width:60ch}
.search-empty em{font-style:normal;font-weight:600}
.search-pages{margin-top:54px;border-top:1px solid var(--line);padding-top:26px}
.search-pages h2{font-size:22px;font-weight:700;margin-bottom:14px}
.search-pages ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin:0;padding:0}
.search-pages a{font-size:15px;border-bottom:1px solid var(--line-2);padding-bottom:2px}
.search-pages a:hover{border-color:var(--ink)}
@media(max-width:600px){.search-overlay__inner{margin-top:14vh}.search-overlay__close{top:-9vh}}

/* ============================================================ SEO: intro + FAQ + category intro */
.pdp-seo-intro{font-size:14px;color:var(--grey);font-style:italic;line-height:1.5;margin:0 0 16px}
.siora-faq{grid-column:1/-1;max-width:820px;margin:64px 0 0;border-top:1px solid var(--line);padding-top:36px}
.siora-faq>h2{font-size:28px;font-weight:700;margin-bottom:14px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;padding:22px 0;font-size:16.5px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .2s var(--ease)}
.faq-item summary:hover{color:var(--powder-deep)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:26px;font-weight:300;line-height:1;color:var(--grey-2);transition:.25s var(--ease);flex:none}
.faq-item[open] summary{color:var(--ink)}
.faq-item[open] summary::after{content:"\2013";color:var(--ink)}
.faq-a{padding:0 0 24px;font-size:15.5px;line-height:1.75;color:#33332F;max-width:72ch;animation:faq-in .28s var(--ease)}
@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq-a p{margin:0}
/* category/shop archive header — give the title real size + spacing so the intro can't overlap it */
.woocommerce-products-header{margin-bottom:4px}
.woocommerce-products-header__title,.woocommerce-products-header .page-title,h1.woocommerce-products-header__title{
  font-family:var(--font-disp);font-size:clamp(30px,4.5vw,44px);font-weight:700;line-height:1.05;margin:0 0 16px}
/* category archive intro (WooCommerce term description) — was margin-top:-14px which overlapped the title */
.term-description{max-width:760px;margin:0 0 32px;font-size:15.5px;line-height:1.7;color:#3A3A38}
.term-description p{margin:0 0 10px}

/* ============================================================ AUDIT FIXES (2026-07-11) */

/* B4 — remove broken WooCommerce-icon-font glyphs (tofu ▢) on notices */
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before,
.woocommerce-noreviews::before,.woocommerce-Reviews .commentlist::before,
.cart-empty.woocommerce-info::before,.woocommerce-checkout .woocommerce-info::before{content:none!important;display:none!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{padding:14px 18px!important}

/* B1 — Beoordelingen (review) form: match the site's input styling (was raw browser default) */
#reviews .comment-reply-title,#reviews #comments>h2{font-family:var(--font-disp);font-size:22px;font-weight:700;margin-bottom:14px}
#reviews #respond.comment-respond{margin-top:8px}
#review_form .comment-form{max-width:560px}
#review_form .comment-form p{margin:0 0 16px}
#review_form label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--grey);margin-bottom:6px}
#review_form input[type=text],#review_form input[type=email],#review_form input[type=url],#review_form textarea{
  display:block;width:100%;padding:13px 15px;border:1px solid var(--line-2);background:#fff;font-family:inherit;font-size:15px;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}
#review_form input:focus,#review_form textarea:focus{border-color:var(--ink);outline:none}
#reviews p.stars a{color:var(--powder-deep)}
#reviews p.stars a:hover{color:var(--ink)}
.woocommerce-Reviews .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.woocommerce-Reviews .comment-form-cookies-consent label{text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-3);font-weight:400;margin:0}

/* P2 — product-card format label (Mini / Parfumolie / Discovery) to disambiguate variants */
.pcard__fmt{display:inline-block;margin-top:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);padding:3px 8px}

/* B2 — 404 page styling */
.error-404__lead{font-size:16.5px;color:#2A2A28;line-height:1.7;max-width:60ch;margin-bottom:26px}
.error-404__search{display:flex;gap:12px;max-width:520px;margin-bottom:30px}
.error-404__search input{flex:1;min-width:0;padding:13px 15px;border:1px solid var(--line-2);background:#fff;font-family:inherit;font-size:15px;color:var(--ink);border-radius:0}
.error-404__search input:focus{border-color:var(--ink);outline:none}
.error-404__links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:34px}
.error-404__links a{font-size:14px;letter-spacing:.02em;border-bottom:1px solid var(--line-2);padding-bottom:3px;transition:.2s}
.error-404__links a:hover{border-color:var(--ink);color:var(--ink)}
.error-404__home{margin-top:6px}

/* PDP price rendered olive (WooCommerce --wc-highlight #958e09 bleeding through) — force brand ink */
.single-product div.product .price,
.single-product div.product .price .woocommerce-Price-amount,
.single-product div.product .price bdi{color:var(--ink)}

/* ============================================================
   PDP REDESIGN (2026-07-11) — editorial, wider, fewer lines, interactive
   ============================================================ */
/* cleaner gallery — drop the framing line */
.single-product .woocommerce-product-gallery__image{border:0}
/* inhoud (volume) + concentratie under the price */
.single-product .pdp-spec{display:flex;align-items:center;gap:9px;margin:4px 0 2px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--grey)}
.single-product .pdp-spec .dot{opacity:.45}

/* "Over deze geur" — description + pyramid, full content width */
.single-product .pdp-about{grid-column:1/-1;margin-top:72px;padding-top:56px;border-top:1px solid var(--line)}
.pdp-about__grid{display:grid;grid-template-columns:1.5fr .95fr;gap:clamp(40px,6vw,72px);align-items:start}
.pdp-about__grid--full{grid-template-columns:1fr}
.pdp-about__grid--full .pdp-about__body{max-width:74ch}
.pdp-about__text h2{font-size:clamp(26px,3vw,36px);font-weight:700;margin:8px 0 20px;line-height:1.05}
.pdp-about__body{font-size:16.5px;line-height:1.78;color:#2A2A28;max-width:62ch}
.pdp-about__body p{margin:0 0 16px}.pdp-about__body p:last-child{margin:0}
.pdp-about__body strong{font-weight:700;color:var(--ink)}

/* scent pyramid — vertical "journey", no boxes/harsh table lines */
.pdp-about__pyr{position:sticky;top:100px}
.pdp-about__pyr .eyebrow{margin-bottom:20px}
.pyramid{position:relative;padding-left:28px}
.pyramid__line{position:absolute;left:5px;top:7px;bottom:9px;width:1.5px;background:linear-gradient(180deg,var(--powder-deep),var(--line-2))}
.pyr-row{position:relative;padding:0 0 26px}
.pyr-row:last-child{padding-bottom:0}
.pyr-dot{position:absolute;left:-27px;top:3px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--powder-deep)}
.pyr-label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--powder-deep);margin-bottom:5px}
.pyr-notes{display:block;font-size:15.5px;line-height:1.55;color:var(--ink-3)}

/* trust band — oil concentration / longevity / inspired-by */
.single-product .pdp-trust{grid-column:1/-1;margin-top:64px;background:var(--paper-2);padding:clamp(30px,4vw,48px)}
.pdp-trust__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,48px)}
.pdp-trust__i{display:flex;flex-direction:column;gap:10px}
.pdp-trust__i svg{width:28px;height:28px;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pdp-trust__i strong{font-family:var(--font-disp);font-size:17.5px;font-weight:700;line-height:1.2}
.pdp-trust__i span{font-size:14px;line-height:1.6;color:var(--grey)}

/* shipping — clean trust rows (was a cramped inline row) */
.single-product .pdp-ship{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:13px}
.single-product .pdp-ship li{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink-3);letter-spacing:.01em}
.single-product .pdp-ship svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.5;flex:none}
.single-product .pdp-ship b{color:var(--ink);font-weight:700}

@media(max-width:900px){
  .pdp-about__grid{grid-template-columns:1fr;gap:38px}
  .pdp-about__pyr{position:static}
  .pdp-trust__grid{grid-template-columns:1fr;gap:24px}
}

/* ============================================================
   COCOMORA-STYLE REBUILD (2026-07-11) — trust bar · payment badges · carousels
   ============================================================ */
.trustbar{background:var(--ink);color:#fff}
.trustbar__in{max-width:var(--maxw);margin:0 auto;padding:8px var(--gut);display:flex;justify-content:center;align-items:center;gap:34px;font-size:12px;letter-spacing:.03em}
.trustbar .tb-i{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;position:relative}
.trustbar .tb-i+.tb-i::before{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.35)}
.trustbar .stars{color:#f5b642;letter-spacing:1.5px}
@media(max-width:768px){.trustbar__in{gap:0}.trustbar .tb-ship,.trustbar .tb-pay{display:none}.trustbar .tb-i+.tb-i::before{display:none}}

/* payment method badges */
.pay-badges{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.pay{height:24px;min-width:38px;padding:0 8px;background:#fff;border:1px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;letter-spacing:.01em;color:var(--ink);line-height:1}
.pay--ideal{color:#c06}.pay--ideal b{color:#0a0a0a}
.pay--later{color:#003087;font-size:9px}
.pay--visa{color:#1a1f71;font-style:italic;font-family:Georgia,"Times New Roman",serif;font-size:12.5px;letter-spacing:-.02em}
.pay--mc{gap:0;padding:0 9px}
.pay--mc i{width:13px;height:13px;border-radius:50%;display:inline-block}
.pay--mc i:first-child{background:#eb001b}
.pay--mc i:last-child{background:#f79e1b;margin-left:-6px;mix-blend-mode:multiply}
.pay--bc{color:#005498;font-size:9px}
.pay--pp{color:#003087;font-style:italic;font-size:11px}

/* horizontal product carousel */
.prow{position:relative}
.prow__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px 10px}
.prow__track::-webkit-scrollbar{display:none}
.prow__track>.pcard{flex:0 0 clamp(200px,22.5%,270px);scroll-snap-align:start}
.prow__nav{position:absolute;top:32%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow);font-size:24px;line-height:1;color:var(--ink);display:none;align-items:center;justify-content:center;cursor:pointer;transition:.2s var(--ease)}
.prow.is-scrollable .prow__nav{display:flex}
.prow__nav:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.prow__nav:disabled{opacity:0;pointer-events:none}
.prow__nav--prev{left:-16px}
.prow__nav--next{right:-16px}
@media(max-width:768px){.prow__track>.pcard{flex:0 0 76%}.prow__nav{width:38px;height:38px;font-size:20px}.prow__nav--prev{left:2px}.prow__nav--next{right:2px}}

/* shop: curated sections (Parfums / Parfum op olie basis) */
.shop-sec{margin:0 0 68px}
.shop-sec__head{margin-bottom:28px;align-items:baseline;flex-wrap:wrap;gap:6px 18px}
.shop-sec__sub{font-size:13.5px;color:var(--grey);letter-spacing:.02em}
.shop-sec .products{margin-top:0}

/* PDP savings badge */
.single-product .pdp-save{display:inline-block;margin:8px 0 2px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--ok);background:rgba(47,125,91,.08);border:1px solid rgba(47,125,91,.25);padding:5px 11px;border-radius:3px}

/* PDP buy-meta: trust bullets + payment icons */
.single-product .pdp-buymeta{margin:18px 0 0}
.single-product .pdp-usps{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:9px}
.single-product .pdp-usps li{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink-2)}
.single-product .pdp-usps svg{width:20px;height:20px;flex:none}
.single-product .pdp-pay{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.single-product .pdp-pay__label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--grey);font-weight:600}

/* PDP description/disclaimer accordions (cocomora-style) */
.single-product .pdp-acc{grid-column:1/-1;max-width:900px;margin-top:60px}
.pdp-acc .acc-item{border-bottom:1px solid var(--line)}
.pdp-acc .acc-item:first-child{border-top:1px solid var(--line)}
.pdp-acc summary{cursor:pointer;list-style:none;padding:22px 2px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color .2s var(--ease)}
.pdp-acc summary:hover{color:var(--powder-deep)}
.pdp-acc summary::-webkit-details-marker{display:none}
.pdp-acc summary::after{content:"";width:9px;height:9px;flex:none;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease);margin:-4px 4px 0 0}
.pdp-acc .acc-item[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.pdp-acc .acc-body{padding:2px 2px 30px;font-size:16px;line-height:1.75;color:#2A2A28;max-width:760px;animation:faq-in .28s var(--ease)}
.pdp-acc .acc-body p{margin:0 0 15px}
.pdp-acc .acc-lead{font-weight:700;color:var(--ink)}
.pdp-acc .acc-disclaimer{font-size:13.5px;color:var(--grey);line-height:1.7;margin:0}
.acc-pyr{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.acc-pyr__label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--powder-deep);font-weight:700;margin-bottom:16px}
/* PDP breder (punt 11): beschrijving + geurpiramide náást elkaar op volle breedte i.p.v. smal & lang */
.single-product .pdp-acc--2col{max-width:none;display:grid;grid-template-columns:1.5fr .82fr;gap:clamp(40px,5vw,70px);align-items:start}
.pdp-acc__main{min-width:0}
.pdp-acc--2col .pdp-acc__side{position:sticky;top:100px}
.pdp-acc--2col .acc-pyr{margin:0;padding:26px;border:1px solid var(--line);background:var(--paper-2)}
.single-product .siora-faq{max-width:none}
.single-product .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,5vw,70px);align-items:start}
@media(max-width:900px){
  .single-product .pdp-acc--2col{grid-template-columns:1fr;gap:0}
  .pdp-acc--2col .pdp-acc__side{position:static;margin-top:22px}
  .single-product .faq-list{grid-template-columns:1fr}
}

/* PDP bundle promo box — eye-catching dark box */
.single-product .pdp-bundle{display:flex;align-items:center;gap:16px;margin:22px 0 0;padding:20px 22px;background:var(--ink);color:#fff;position:relative;overflow:hidden;transition:.22s var(--ease)}
.single-product .pdp-bundle:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pdp-bundle__save{position:absolute;top:0;right:0;background:var(--powder);color:var(--ink);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;padding:5px 12px}
.pdp-bundle__body{display:flex;flex-direction:column;gap:3px;flex:1}
.pdp-bundle__tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--powder)}
.pdp-bundle__title{font-family:var(--font-disp);font-size:21px;font-weight:800;line-height:1}
.pdp-bundle__body small{font-size:12.5px;color:rgba(255,255,255,.72)}
.pdp-bundle__cta{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;white-space:nowrap;border:1px solid rgba(255,255,255,.5);padding:11px 15px;transition:.2s var(--ease)}
.single-product .pdp-bundle:hover .pdp-bundle__cta{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:520px){.single-product .pdp-bundle{flex-wrap:wrap}.pdp-bundle__cta{flex:1 0 100%;text-align:center}}

/* section subtitle (homepage split carousels) */
.sec-head__sub{display:block;font-size:13.5px;color:var(--grey);letter-spacing:.02em;margin-top:5px}

/* PDP gallery prev/next arrows (flexslider directionNav) */
.single-product .flex-direction-nav{list-style:none;margin:0;padding:0}
.single-product .flex-direction-nav a{position:absolute;top:38%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid var(--line-2);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;font-size:0;opacity:0;transition:.2s var(--ease)}
.single-product .woocommerce-product-gallery:hover .flex-direction-nav a{opacity:1}
.single-product .flex-direction-nav a::before{font-size:24px;line-height:1;color:var(--ink)}
.single-product .flex-direction-nav .flex-prev{left:14px}
.single-product .flex-direction-nav .flex-prev::before{content:"\2039"}
.single-product .flex-direction-nav .flex-next{right:14px}
.single-product .flex-direction-nav .flex-next::before{content:"\203A"}
.single-product .flex-direction-nav a.flex-disabled{opacity:0!important;pointer-events:none}
@media(max-width:768px){.single-product .flex-direction-nav a{opacity:1;width:40px;height:40px}}

/* mobile header: hamburger left, logo centered, tools right */
@media(max-width:768px){
  .header-inner{display:flex;align-items:center;justify-content:space-between;position:relative;gap:12px}
  .header-inner .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
  .site-header .brand-logo{height:50px}
}

/* social-proof reviews */
.reviews{background:var(--paper-2)}
.reviews .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.reviews .stars{color:#f5b642;letter-spacing:1.5px}
.rev-track{gap:20px}
.rev-track>.rev-card{flex:0 0 clamp(280px,31%,364px);scroll-snap-align:start}
.rev-card{background:#fff;border:1px solid var(--line);padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px;min-height:210px}
.rev-stars{color:#f5b642;letter-spacing:2px;font-size:15px}
.rev-text{font-size:15px;line-height:1.65;color:var(--ink-3);flex:1;margin:0}
.rev-who{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:14px}
.rev-name{font-weight:700;font-size:14px}
.rev-loc{font-size:11.5px;color:var(--grey)}
@media(max-width:768px){.rev-track>.rev-card{flex:0 0 82%}}

/* cart / checkout trust block */
.co-trust{margin:18px 0 0;padding:16px 0 0;background:transparent;border:0;border-top:1px solid var(--line)}
.co-trust{width:100%;box-sizing:border-box}
.co-trust__pay{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--line);width:100%}
.co-trust__usps{width:100%}
.co-trust__pay .pay-badges{display:flex;width:100%;gap:6px;flex-wrap:wrap}
.co-trust__label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--grey);font-weight:600}
.co-trust__usps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.co-trust__usps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.co-trust__usps svg{width:18px;height:18px;flex:none}

/* bundle promo band */
.bundleband{background:var(--ink);color:#fff}
.bundleband .wrap{padding:clamp(48px,7vw,82px) var(--gut);text-align:center}
.bundleband .eyebrow{color:var(--powder)}
.bundleband h2{font-size:clamp(30px,4.5vw,50px);font-weight:500;margin:12px 0 8px}
.bundleband h2 b{font-weight:800}
.bundleband p{max-width:540px;margin:0 auto 26px;color:#C7C7C3;font-size:16px}
.bundleband .btn{background:#fff;color:var(--ink);border-color:#fff}
.bundleband .btn:hover{background:transparent;color:#fff}

/* 3-set builder */
.page-hero__sub{font-size:16px;color:#2A2A28;margin-top:12px;max-width:60ch}
.page-hero__sub b{color:var(--ink)}
.setbuilder{max-width:var(--maxw)}
.setbuilder__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:8px 0 130px}
.setpick{position:relative;display:flex;flex-direction:column;cursor:pointer;border:1px solid var(--line);background:#fff;transition:.2s var(--ease)}
.setpick:hover{border-color:var(--line-2)}
.setpick.is-sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.setpick__cb{position:absolute;opacity:0;pointer-events:none}
.setpick__cb:disabled ~ .setpick__media{opacity:.4}
.setpick__media{position:relative;aspect-ratio:1/1.05;display:flex;align-items:center;justify-content:center;overflow:hidden}
.setpick__media img{height:82%;width:auto;object-fit:contain}
.setpick__check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:0;transform:scale(.6);transition:.2s var(--ease)}
.setpick.is-sel .setpick__check{opacity:1;transform:none}
.setpick__body{padding:0 16px 18px;display:flex;flex-direction:column;gap:2px}
.setpick__no{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--powder-deep);font-weight:700}
.setpick__title{font-family:var(--font-disp);font-size:16px;font-weight:600}
.setpick__insp{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--grey)}
.setbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.07);display:flex;align-items:center;gap:24px;justify-content:center;padding:15px var(--gut)}
.setbar__count{font-size:14px;color:var(--ink-3)}.setbar__count b{color:var(--ink);font-size:17px}
.setbar__price{font-family:var(--font-disp);font-size:20px;font-weight:700}
.setbar__btn{min-width:240px}
.setbar__btn:disabled{opacity:.4;pointer-events:none}
@media(max-width:900px){.setbuilder__grid{grid-template-columns:repeat(2,1fr)}.setbar{flex-wrap:wrap;gap:10px 18px}.setbar__btn{flex:1 0 100%;order:3;min-width:0}}

/* ============================================================ MINI-CART DRAWER */
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:130;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .34s var(--ease);
  box-shadow:-14px 0 50px rgba(0,0,0,.16);will-change:transform}
body.cart-open .cart-drawer{transform:translateX(0)}
.cart-drawer__scrim{position:fixed;inset:0;background:rgba(20,20,19,.44);z-index:125;opacity:0;visibility:hidden;
  transition:opacity .3s var(--ease),visibility .3s}
body.cart-open .cart-drawer__scrim{opacity:1;visibility:visible}
body.cart-open{overflow:hidden}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);flex:none}
.cart-drawer__title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.cart-drawer__close{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ink);padding:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}
.cart-drawer__close:hover{opacity:.55}
.cd-inner{flex:1;min-height:0;display:flex;flex-direction:column}
.cd-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 24px}
.cd-scroll .shipmeter{margin:0 0 20px}
.cd-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.cd-item{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:start}
.cd-item__img{display:block;background:#fff;border:1px solid var(--line);flex:none}
.cd-item__img img{display:block;width:100%;height:76px;object-fit:contain}
.cd-item__name{display:block;font-weight:600;font-size:13.5px;line-height:1.32;color:var(--ink)}
.cd-item__name:hover{color:var(--powder-deep)}
.cd-item__meta{font-size:13px;color:var(--grey);margin-top:4px}
.cd-item__picks{font-size:11.5px;color:var(--grey);margin-top:5px;line-height:1.45}
.cd-item__x{background:none;border:0;font-size:19px;line-height:1;color:var(--grey-2);cursor:pointer;padding:2px 0 2px 6px;transition:color .2s}
.cd-item__x:hover{color:var(--ink)}
.cd-foot{flex:none;border-top:1px solid var(--line);padding:20px 24px;background:#fff}
.cd-sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:15px}
.cd-sub span:first-child{font-size:13px;letter-spacing:.04em;color:var(--ink-2)}
.cd-sub__amt{font-weight:700;font-size:18px}
.cd-checkout{margin-bottom:11px}
.cd-viewcart{display:block;text-align:center;font-size:12.5px;letter-spacing:.04em;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.cd-viewcart:hover{color:var(--ink)}
.cd-empty{text-align:center;padding:56px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}
.cd-empty svg{width:40px;height:40px;color:var(--grey-2)}
.cd-empty p{color:var(--grey);font-size:15px;margin:0}
.cd-empty .btn{margin-top:4px}
.cart-drawer.cd-busy .cd-inner{opacity:.5;pointer-events:none;transition:opacity .2s}
.single_add_to_cart_button.loading{opacity:.7;cursor:progress}

/* ============================================================ CHECKOUT + CART (premium, conversion) */
.woocommerce-checkout .wc-main,.woocommerce-cart .wc-main{max-width:1180px;margin-left:auto;margin-right:auto;padding-top:8px}
/* slanke, schone paginakop op checkout/cart — geen zware grijze band */
body.woocommerce-checkout .page-hero,body.woocommerce-cart .page-hero{background:transparent;padding-block:6px 20px}
body.woocommerce-checkout .page-hero .eyebrow,body.woocommerce-cart .page-hero .eyebrow{color:var(--grey)}

/* coupon toggle — discreet inline link, geen grijze balk */
.woocommerce-form-coupon-toggle .woocommerce-info{background:transparent;border:0;padding:0;font-size:13.5px;color:var(--ink-2);margin:0 0 24px;display:flex;gap:6px;align-items:center}
.woocommerce-form-coupon-toggle .woocommerce-info::before{content:none!important}
.woocommerce-form-coupon-toggle a,.woocommerce-info a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
form.checkout_coupon{border:1px solid var(--line);padding:18px;margin:0 0 26px;border-radius:var(--r-soft);background:#fff}
form.checkout_coupon p:first-child{margin-top:0;font-size:13.5px;color:var(--ink-2)}
form.checkout_coupon .form-row{margin:0}
form.checkout_coupon .input-text{height:52px}
form.checkout_coupon .button{background:var(--ink);color:#fff;border:0;padding:14px 22px;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700;border-radius:var(--r-soft)}

/* express checkout — center + breathe */
#wc-stripe-express-checkout-element{max-width:460px;margin:4px auto 0}
#wc-stripe-express-checkout-button-separator{max-width:460px;margin:22px auto 32px;color:var(--grey-2);font-size:12px;letter-spacing:.06em}

/* 2-column layout: form left, sticky summary right */
@media(min-width:1000px){
  .checkout-cols{display:grid;grid-template-columns:minmax(0,1fr) 424px;gap:0 64px;align-items:start}
  .checkout-cols__side{position:sticky;top:96px}
}
.checkout-cols__main{min-width:0}

/* section headings */
.woocommerce-billing-fields > h3,.woocommerce-shipping-fields > h3,.woocommerce-additional-fields > h3,#order_review_heading,#ship-to-different-address label{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.woocommerce-billing-fields > h3,#order_review_heading{margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.woocommerce-shipping-fields{margin-top:26px}
.woocommerce-additional-fields{margin-top:30px}
.woocommerce-additional-fields > h3{margin:0 0 12px}
#ship-to-different-address{margin:0 0 6px}
#ship-to-different-address label{display:flex;align-items:center;gap:9px;cursor:pointer}
#ship-to-different-address input{width:17px;height:17px;accent-color:var(--ink)}

/* form fields */
.woocommerce-checkout .form-row{margin:0 0 15px;padding:0}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{overflow:hidden}
.woocommerce-checkout .form-row label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-2);margin-bottom:7px}
.woocommerce-checkout .form-row label .required{color:var(--powder-deep);border:0;text-decoration:none}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce form .form-row .input-text{
  width:100%;height:52px;padding:0 16px;border:1px solid var(--line-2);background:#fff;font-family:inherit;font-size:15px;color:var(--ink);border-radius:var(--r-soft);line-height:1.35;box-shadow:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.woocommerce-checkout textarea.input-text{height:auto;min-height:104px;padding:14px 16px;resize:vertical}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px rgba(94,134,200,.16)}
.woocommerce-checkout .input-text::placeholder{color:var(--grey-2)}
.woocommerce-checkout .form-row-first{float:left;width:calc(50% - 8px)}
.woocommerce-checkout .form-row-last{float:right;width:calc(50% - 8px)}
.woocommerce-checkout .form-row-wide,.woocommerce-checkout .form-row[class*=address_2]{clear:both}
/* select2 country */
.woocommerce-checkout .select2-container .select2-selection--single{height:52px;border:1px solid var(--line-2);border-radius:var(--r-soft)}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:52px;padding-left:16px;color:var(--ink)}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single{border-color:var(--ink);box-shadow:0 0 0 3px rgba(94,134,200,.16)}

/* ---- order summary card (rebuilt) ---- */
#order_review_heading{margin:0 0 16px}
.checkout-cols__side #order_review{border:1px solid var(--line);background:#fff;padding:24px;border-radius:var(--r-soft)}
.siora-review{display:block;border:0;margin:0;width:100%;font-size:14px}
.siora-review__items{list-style:none;margin:0;padding:0}
.siora-review__item{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.siora-review__item:first-child{padding-top:2px}
.siora-review__thumb{position:relative;width:54px;height:66px;flex:none}
.siora-review__thumb img{width:54px;height:66px;object-fit:contain;border:1px solid var(--line);background:#fff;display:block}
.siora-review__qty{position:absolute;top:-8px;right:-8px;min-width:21px;height:21px;padding:0 6px;border-radius:11px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.siora-review__meta{min-width:0}
.siora-review__name{display:block;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.32}
.siora-review__meta dl,.siora-review__meta .variation{font-size:11.5px;color:var(--grey);margin:5px 0 0;line-height:1.45}
.siora-review__meta dl dt,.siora-review__meta dl dd{display:inline;margin:0;font-weight:400}
.siora-review__meta dl dd p{display:inline;margin:0}
.siora-review__price{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.siora-review__totals{width:100%;border-collapse:collapse;margin:14px 0 0}
.siora-review__totals th,.siora-review__totals td{border:0;padding:7px 0;background:transparent;font-weight:500;font-size:14px;vertical-align:top}
.siora-review__totals th{text-align:left;color:var(--ink-2);text-transform:none;letter-spacing:0}
.siora-review__totals td{text-align:right;color:var(--ink)}
.siora-review__totals .order-total th,.siora-review__totals .order-total td{border-top:1px solid var(--line);padding-top:15px;margin-top:4px}
.siora-review__totals .order-total th{font-size:15px;font-weight:700}
.siora-review__totals .order-total .woocommerce-Price-amount{font-size:22px;font-weight:800;color:var(--ink)}
.siora-review__totals .includes_tax,.siora-review__totals small{color:var(--grey);font-weight:400;font-size:12px}
#order_review .shipping ul#shipping_method{margin:0;padding:0;list-style:none;text-align:right}
#order_review .shipping ul#shipping_method li{margin:0}

/* ---- payment ---- */
#payment{background:transparent!important;border-radius:0}
#payment ul.payment_methods{border:0!important;border-top:1px solid var(--line)!important;padding:18px 0 2px;margin:16px 0 0}
#payment ul.payment_methods li{margin:0 0 6px;line-height:1.5}
#payment ul.payment_methods li input[type=radio]{width:16px;height:16px;accent-color:var(--ink);margin-right:8px}
#payment ul.payment_methods li label{font-weight:600;font-size:14px;color:var(--ink)}
#payment ul.payment_methods li img{max-height:24px;width:auto;display:inline-block;vertical-align:middle;margin-left:6px}
/* WooCommerce's default .payment_box bg is lavender (#DCD7E2) — Stripe reads it as its element
   colorBackground, turning the whole card field purple. Force white so the Stripe element is white. */
.woocommerce #payment div.payment_box,.woocommerce-checkout #payment div.payment_box{background:#fff!important;border:1px solid var(--line);margin:8px 0 12px;padding:14px 16px;font-size:13.5px;line-height:1.6;border-radius:var(--r-soft)}
#payment div.payment_box::before{display:none!important}
#payment .woocommerce-terms-and-conditions-wrapper{margin:8px 0 16px;font-size:13px;color:var(--ink-2)}
#payment .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--grey);line-height:1.6}
#payment .form-row.place-order{padding:4px 0 0;margin:0;float:none}
#payment #place_order{width:100%;display:block;background:var(--ink);color:#fff;border:0;padding:19px 24px;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.22s var(--ease);border-radius:var(--r-soft)}
#payment #place_order:hover{background:var(--powder-deep)}
.checkout-cols__side .co-trust{margin-top:18px}

/* ---------------- CART page ---------------- */
.woocommerce-cart table.cart{border:0;margin:0 0 26px}
.woocommerce-cart table.cart thead th{border:0;border-bottom:1px solid var(--line);padding:0 12px 12px}
.woocommerce-cart table.cart td{padding:18px 12px;border:0;border-top:1px solid var(--line);vertical-align:middle;background:transparent}
.woocommerce-cart table.cart tr:last-child td{border-bottom:1px solid var(--line)}
.woocommerce-cart table.cart .product-thumbnail img{width:66px;height:82px;object-fit:contain;border:1px solid var(--line);background:#fff}
.woocommerce-cart table.cart .product-name a{font-weight:600;color:var(--ink)}
.woocommerce-cart table.cart .product-price,.woocommerce-cart table.cart .product-subtotal{color:var(--ink)}
.woocommerce-cart table.cart .product-remove a.remove{color:var(--grey-2)!important;font-size:20px;width:24px;height:24px;line-height:22px}
.woocommerce-cart table.cart .product-remove a.remove:hover{color:var(--ink)!important;background:none}
.woocommerce-cart table.cart .quantity input.qty{width:64px;height:44px;border:1px solid var(--line-2);text-align:center;font-family:inherit;border-radius:0}
.woocommerce-cart table.cart td.actions{padding-top:22px}
.woocommerce-cart .actions .coupon{display:flex;gap:10px}
.woocommerce-cart .actions .coupon .input-text{width:180px;max-width:50vw;padding:12px 14px;border:1px solid var(--line-2);border-radius:0;font-family:inherit}
.woocommerce-cart .actions .coupon .button,.woocommerce-cart .actions > .button{background:#fff;color:var(--ink);border:1px solid var(--ink);padding:12px 20px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;border-radius:0;transition:.2s var(--ease)}
.woocommerce-cart .actions .coupon .button:hover,.woocommerce-cart .actions > .button:hover{background:var(--ink);color:#fff}
.woocommerce-cart .cart-collaterals{width:100%;display:flex;justify-content:flex-end}
.woocommerce-cart .cart-collaterals .cart_totals{width:min(430px,100%)}
.woocommerce-cart .cart_totals > h2{font-size:20px;font-weight:800;margin:0 0 18px}
.woocommerce-cart .cart_totals table{border:0}
.woocommerce-cart .cart_totals table th{font-weight:500;color:var(--ink-2);border-top:1px solid var(--line);padding:14px 0}
.woocommerce-cart .cart_totals table td{border-top:1px solid var(--line);padding:14px 0;text-align:right}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total .amount{font-size:18px;font-weight:800;color:var(--ink)}
.woocommerce-cart .wc-proceed-to-checkout{padding:20px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--ink)!important;color:#fff!important;display:block;text-align:center;padding:17px 24px;font-size:13.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:0;transition:.22s var(--ease)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--powder-deep)!important}

/* mobile: stack checkout + cart cleanly */
@media(max-width:999px){
  .checkout-cols__side{margin-top:36px}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100%}
}
@media(max-width:600px){
  .woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{float:none;width:100%}
}
/* MOBILE CART — override WooCommerce's shop_table_responsive (hides thumb + shows "Product:" labels) */
@media(max-width:768px){
  body.woocommerce-cart table.cart.shop_table_responsive thead{display:none}
  body.woocommerce-cart table.cart.shop_table_responsive tbody tr.cart_item{
    display:grid!important;grid-template-columns:72px 1fr;column-gap:15px;row-gap:1px;align-items:start;
    padding:18px 0;border-top:1px solid var(--line);position:relative}
  body.woocommerce-cart table.cart.shop_table_responsive tbody tr.cart_item td{
    display:block!important;width:auto!important;text-align:left!important;padding:0!important;border:0!important;float:none!important;font-size:14px}
  body.woocommerce-cart table.cart.shop_table_responsive tbody tr.cart_item td::before{content:none!important;display:none!important}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail{grid-column:1;grid-row:1/span 4;display:block!important}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail img{width:72px!important;height:90px;object-fit:contain;border:1px solid var(--line);background:#fff;margin:0}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-name{grid-column:2;grid-row:1;font-weight:600}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-name a{color:var(--ink)}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-price{grid-column:2;grid-row:2;color:var(--grey);margin-top:3px!important}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-quantity{grid-column:2;grid-row:3;margin-top:9px!important}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-subtotal{display:none!important}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-remove{position:absolute;top:16px;right:0;width:24px!important;grid-row:1}
  body.woocommerce-cart table.cart.shop_table_responsive td.product-remove a.remove{margin:0}
  body.woocommerce-cart table.cart.shop_table_responsive tr:not(.cart_item) td{display:block!important;text-align:left!important}
  body.woocommerce-cart table.cart.shop_table_responsive tr:not(.cart_item) td::before{content:none!important;display:none!important}
  body.woocommerce-cart table.cart td.actions{padding-top:20px!important}
  .woocommerce-cart .actions .coupon{display:flex;gap:8px;margin-bottom:14px}
  .woocommerce-cart .actions .coupon .input-text{flex:1;width:auto!important;max-width:none}
}

/* ============================================================
   MODERN CHECKOUT / CART  (2026-07-20)
   The editorial hairline-box look read as bare HTML here, and the
   checkout was rendering inside .page-body's 820px reading width,
   squeezing the form column to 244px. Scoped to cart/checkout so the
   rest of Design D keeps its sharp editorial styling.
   ============================================================ */
body.woocommerce-checkout, body.woocommerce-cart{
  --co-r:16px; --co-r-sm:11px;
  --co-surface:#FAFAF9; --co-surface-2:#F3F3F1;
  --co-ring:0 0 0 3px rgba(94,134,200,.18);
  --co-shadow:0 1px 2px rgba(14,14,14,.04), 0 8px 24px rgba(14,14,14,.06);
  --co-shadow-lg:0 2px 4px rgba(14,14,14,.04), 0 18px 44px rgba(14,14,14,.09);
}

/* give the checkout real room — .page-body is sized for prose, not forms */
body.woocommerce-checkout .wrap.page-body,
body.woocommerce-cart .wrap.page-body{max-width:1240px}
@media(min-width:1000px){
  body.woocommerce-checkout .checkout-cols{grid-template-columns:minmax(0,1fr) 430px;gap:0 56px}
}

/* ---- form fields: filled surfaces, no hairlines ---- */
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .woocommerce form .form-row .input-text,
body.woocommerce-checkout .select2-container .select2-selection--single{
  height:54px;border:1px solid transparent;background:var(--co-surface);
  border-radius:var(--co-r-sm);font-size:15px;
  transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}
body.woocommerce-checkout textarea.input-text{height:auto;min-height:112px;padding:15px 17px}
body.woocommerce-checkout .input-text:hover,
body.woocommerce-checkout select:hover{background:var(--co-surface-2)}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single{
  background:#fff;border-color:var(--powder-deep);box-shadow:var(--co-ring)}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:54px}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:52px}
body.woocommerce-checkout .form-row{margin:0 0 16px}
body.woocommerce-checkout .form-row label{font-size:13px;color:var(--ink-2);margin-bottom:8px}

/* section headings lose the hard rule */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout #order_review_heading{border-bottom:0;padding-bottom:0;margin:0 0 18px}

/* ---- order summary: soft card, no outline ---- */
body.woocommerce-checkout .checkout-cols__side #order_review{
  border:0;background:#fff;padding:28px;border-radius:var(--co-r);box-shadow:var(--co-shadow-lg)}
body.woocommerce-checkout .siora-review__item{border-bottom:1px solid rgba(228,228,224,.7);padding:15px 0}
body.woocommerce-checkout .siora-review__item:last-child{border-bottom:0}
body.woocommerce-checkout .siora-review__thumb img{border:0;border-radius:9px;background:var(--co-surface)}
body.woocommerce-checkout .siora-review__totals .order-total th,
body.woocommerce-checkout .siora-review__totals .order-total td{border-top:1px solid rgba(228,228,224,.8)}

/* ---- payment methods as tappable cards ---- */
body.woocommerce-checkout #payment ul.payment_methods{
  border:0!important;border-top:1px solid rgba(228,228,224,.8)!important;padding:20px 0 4px;margin:18px 0 0}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method{
  margin:0 0 9px;background:var(--co-surface);border:1px solid transparent;border-radius:var(--co-r-sm);
  padding:14px 16px;transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:hover{background:var(--co-surface-2)}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:has(input:checked){
  background:#fff;border-color:var(--powder-deep);box-shadow:var(--co-ring)}
/* WooCommerce renders the radio and its label as SIBLINGS, so the row itself is the
   flex container. The PayPal plugin ships its own rules that reset some rows back to
   display:block and reorder label before input, so both are pinned explicitly here. */
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method{
  display:flex!important;flex-wrap:wrap;align-items:center;gap:0 11px}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type=radio]{
  order:1;flex:none;margin:0!important}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label{
  order:2;flex:1 1 auto;margin:0!important;cursor:pointer;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box{
  order:3;flex:0 0 100%}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img{margin:0}
body.woocommerce-checkout .woocommerce #payment div.payment_box,
body.woocommerce-checkout #payment div.payment_box{
  background:#fff!important;border:0;border-radius:var(--co-r-sm);margin:12px 0 2px;padding:2px 0 0}

/* ---- place order ---- */
body.woocommerce-checkout #payment #place_order{
  padding:20px 24px;border-radius:var(--co-r-sm);box-shadow:var(--co-shadow);
  transition:background .22s var(--ease),transform .12s var(--ease),box-shadow .22s var(--ease)}
body.woocommerce-checkout #payment #place_order:hover{background:var(--powder-deep);box-shadow:var(--co-shadow-lg)}
body.woocommerce-checkout #payment #place_order:active{transform:translateY(1px)}

/* ---- coupon + notices ---- */
body.woocommerce-checkout form.checkout_coupon{border:0;background:var(--co-surface);border-radius:var(--co-r);padding:22px}
body.woocommerce-checkout form.checkout_coupon .input-text{background:#fff}
body.woocommerce-checkout form.checkout_coupon .button{border-radius:var(--co-r-sm)}
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{border-radius:var(--co-r);box-shadow:var(--co-shadow)}

/* ---- trust block ---- */
body.woocommerce-checkout .checkout-cols__side .co-trust{
  margin-top:20px;background:var(--co-surface);border-radius:var(--co-r);padding:20px 22px;border-top:0}

/* ---- cart page: same softening ---- */
body.woocommerce-cart table.cart .product-thumbnail img{border:0;border-radius:9px;background:var(--co-surface)}
body.woocommerce-cart .cart_totals{background:#fff;border-radius:var(--co-r);box-shadow:var(--co-shadow-lg);padding:26px}
body.woocommerce-cart table.cart .quantity input.qty{border:1px solid transparent;background:var(--co-surface);border-radius:var(--co-r-sm);height:46px}
body.woocommerce-cart .actions .coupon .input-text{border:1px solid transparent;background:var(--co-surface);border-radius:var(--co-r-sm)}
body.woocommerce-cart .actions .coupon .button,
body.woocommerce-cart .actions > .button{border-radius:var(--co-r-sm)}

/* mobile: summary breathes, no sticky */
@media(max-width:999px){
  body.woocommerce-checkout .checkout-cols__side{position:static;margin-top:32px}
  body.woocommerce-checkout .checkout-cols__side #order_review{padding:22px}
}
