/* ==========================================================================
   Aan het Fornuis — main stylesheet
   Design tokens and the homepage component set below are carried over verbatim
   from the approved mockup (aanhetfornuis-homepage-mockup.html) so the live
   site matches it exactly. Everything from "EXTENDED SITE" onward is new
   work built in the same system for the pages the mockup didn't cover:
   story, collection archives, single product, cart/checkout/account, mobile nav.
   ========================================================================== */

:root{
  --ink:#0d0c0a;
  --ink-2:#161512;
  --paper:#f6f1e7;
  --paper-dim:#cfc6b0;
  --gold:#b98a4a;
  --gold-light:#e3c893;
  --line: rgba(246,241,231,0.14);
  --danger:#c65b4a;
  --success:#7a9a72;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--ink);color:var(--paper);font-family:'Jost',sans-serif;font-weight:300;font-size:16px;line-height:1.5;}
.voice{font-family:'Cormorant Garamond',serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
.screen-reader-text{position:absolute;left:-9999px;}

/* ---- header ---- */
header.site-header{position:relative;z-index:50;padding:30px 0 0;}
.headerrow{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.14em;text-transform:uppercase;}
.brand span{color:var(--gold-light);}
nav.primary-nav{display:flex;align-items:center;gap:36px;}
nav.primary-nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);border-bottom:1px solid transparent;padding-bottom:4px;white-space:nowrap;}
nav.primary-nav a:hover,nav.primary-nav a.current{color:var(--paper);border-color:var(--gold);}
.header-tools{display:flex;align-items:center;gap:20px;}
.langswitch{display:flex;gap:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.langswitch a,.langswitch button{background:none;border:none;color:var(--paper-dim);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.1em;padding:8px 12px;cursor:pointer;border-right:1px solid var(--line);display:inline-block;}
.langswitch a:last-child,.langswitch button:last-child{border-right:none;}
.langswitch a.active,.langswitch button.active{background:var(--paper);color:var(--ink);}
.cart-link{font-size:11px;letter-spacing:.1em;color:var(--paper-dim);white-space:nowrap;}
.cart-link:hover{color:var(--paper);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--paper);width:40px;height:40px;border-radius:2px;align-items:center;justify-content:center;font-size:18px;}

/* ---- hero ---- */
.hero{position:relative;min-height:640px;display:flex;align-items:flex-end;padding:120px 0 90px;overflow:hidden;}
.hero-plate{position:absolute;top:-120px;right:-160px;width:760px;height:760px;border-radius:50%;background: radial-gradient(circle at 34% 30%, #4a3a24 0%, #241d13 42%, #0d0c0a 70%);border:1px solid rgba(227,200,147,0.18);}
.hero-plate:before{content:"";position:absolute;inset:70px;border-radius:50%;border:1px solid rgba(227,200,147,0.12);}
.hero-inner{position:relative;z-index:2;max-width:640px;}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:22px;}
h1.voice{font-size:64px;line-height:1.04;font-weight:500;color:var(--paper);margin-bottom:26px;}
h1.voice em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-size:17px;line-height:1.7;color:var(--paper-dim);max-width:480px;margin-bottom:38px;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}
.btn{display:inline-block;padding:15px 30px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;border:1px solid transparent;background:none;color:var(--paper);}
.btn-solid{background:var(--gold-light);color:var(--ink);}
.btn-solid:hover{background:var(--gold);}
.btn-outline{border:1px solid var(--line);color:var(--paper);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-light);}
.btn[disabled],.btn.disabled{opacity:.5;cursor:not-allowed;}
.btn-block{display:block;width:100%;text-align:center;}

/* ---- trust strip ---- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
.trust .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;}
.trust-item{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);}
.trust-item b{color:var(--gold-light);font-weight:500;}

/* ---- story teaser (homepage) + full story page share this block ---- */
.story{padding:130px 0;display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
.story-visual{aspect-ratio:4/5;border-radius:2px;position:relative;overflow:hidden;background:linear-gradient(155deg,#3a2c18,#151009 60%);border:1px solid var(--line);}
.story-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.story-visual .ring{position:absolute;inset:26px;border:1px solid rgba(227,200,147,0.25);border-radius:2px;pointer-events:none;}
.story-visual .cap{position:absolute;bottom:0;left:0;right:0;padding:50px 26px 20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);z-index:2;background:linear-gradient(to top,rgba(13,12,10,.92),rgba(13,12,10,.55) 55%,rgba(13,12,10,0));text-shadow:0 1px 3px rgba(0,0,0,.5);}
.kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:20px;}
.story h2.voice{font-size:42px;font-weight:500;line-height:1.15;margin-bottom:24px;}
.story p{font-size:16px;line-height:1.85;color:var(--paper-dim);margin-bottom:18px;max-width:540px;}

/* ---- collection grid (homepage teaser + full family archive pages) ---- */
.collection{padding:0 0 130px;}
.collection-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:24px;flex-wrap:wrap;}
.collection h2.voice{font-size:40px;font-weight:500;}
.collection-head p{font-size:13px;color:var(--paper-dim);max-width:280px;text-align:right;line-height:1.6;}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid.grid-3{grid-template-columns:repeat(3,1fr);}
.card{background:var(--ink-2);border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:.2s;display:flex;flex-direction:column;}
.card:hover{border-color:var(--gold);}
.card-cover{aspect-ratio:3/4;position:relative;overflow:hidden;background:#161512;}
.card-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s ease;}
.card:hover .card-cover img{transform:scale(1.03);}
.cs{background:linear-gradient(155deg,#5c4426,#211a10 65%);}
.cz{background:linear-gradient(155deg,#3f5233,#171d12 65%);}
.ch{background:linear-gradient(155deg,#6b3b28,#251510 65%);}
.cw{background:linear-gradient(155deg,#33404f,#12161c 65%);}
.card-cover .band{position:absolute;top:0;left:0;right:0;height:5px;background:var(--gold);z-index:2;}
.card-cover .num{position:absolute;top:18px;left:18px;font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.14em;color:var(--gold-light);z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.card-cover .title{position:absolute;bottom:20px;left:18px;right:18px;font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;line-height:1.1;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.card-cover .sub{position:absolute;bottom:8px;left:18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,241,231,0.75);z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.card-cover.has-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(13,12,10,.88) 0%, rgba(13,12,10,.15) 45%, rgba(13,12,10,0) 65%);z-index:1;}
.card-body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column;justify-content:space-between;}
.card-body .meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:10px;}
.card-body .price{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.card-body .price b{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--paper);}
.card-body .price a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);border-bottom:1px solid var(--gold);white-space:nowrap;}

/* ---- bundle callout (family pages: "Complete X Collection"; homepage: "Full Collection") ---- */
.ahf-bundle-callout{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:center;background:var(--ink-2);border:1px solid var(--line);padding:28px;margin-top:36px;text-decoration:none;transition:border-color .15s;}
.ahf-bundle-callout:hover{border-color:var(--gold);}
.ahf-bundle-callout img{width:100%;height:auto;display:block;}
.ahf-bundle-callout-body .kicker{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;}
.ahf-bundle-callout-body h3.voice{font-size:24px;margin-bottom:8px;}
.ahf-bundle-callout-body p{font-size:13.5px;color:var(--paper-dim);margin-bottom:16px;}
@media(max-width:640px){
  .ahf-bundle-callout{grid-template-columns:1fr;text-align:center;}
  .ahf-bundle-callout img{max-width:160px;margin:0 auto;}
}

/* ---- three-family band ---- */
.families{padding:0 0 130px;}
.fam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.fam{background:var(--ink);padding:44px 34px;}
.fam .n{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--gold-light);letter-spacing:.14em;margin-bottom:14px;}
.fam h3.voice{font-size:26px;font-weight:500;margin-bottom:12px;}
.fam p{font-size:13.5px;line-height:1.7;color:var(--paper-dim);margin-bottom:20px;}
.fam a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid var(--gold);}

/* ---- footer ---- */
footer.site-footer{border-top:1px solid var(--line);padding:50px 0 40px;}
.foot-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
.foot-brand{font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:.1em;}
.foot-links{display:flex;gap:26px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);flex-wrap:wrap;}
.foot-links a:hover{color:var(--paper);}
.foot-copy{font-size:11px;color:var(--paper-dim);margin-top:26px;letter-spacing:.04em;}
.footer-widget-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin-bottom:10px;}

/* ==========================================================================
   EXTENDED SITE — pages beyond the homepage mockup
   ========================================================================== */

/* Generic page header used on story + collection pages: shorter than the full hero,
   same visual language (radial "plate" motif, eyebrow, voice heading). */
.page-hero{position:relative;padding:80px 0 60px;overflow:hidden;border-bottom:1px solid var(--line);}
.page-hero .hero-plate{width:520px;height:520px;top:-220px;right:-140px;}
.page-hero h1.voice{font-size:48px;margin-bottom:14px;max-width:760px;overflow-wrap:break-word;word-break:break-word;}
.page-hero p{font-size:16px;color:var(--paper-dim);max-width:600px;line-height:1.7;}
.breadcrumb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:18px;position:relative;z-index:2;}
.breadcrumb a:hover{color:var(--gold-light);}
.breadcrumb .sep{margin:0 8px;color:var(--line);}

/* ---- story / about page ---- */
.story-page-body{padding:70px 0 120px;max-width:760px;}
.story-page-body p{font-size:17px;line-height:1.9;color:var(--paper-dim);margin-bottom:26px;}
.story-page-body p:first-of-type{font-family:'Cormorant Garamond',serif;font-size:23px;font-style:italic;color:var(--paper);line-height:1.6;}

/* ---- collection / family archive pages ---- */
.family-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.family-filter a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line);padding:8px 16px;border-radius:2px;}
.family-filter a.active,.family-filter a:hover{border-color:var(--gold);color:var(--paper);}
.family-section-title{font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.1em;color:var(--gold-light);text-transform:uppercase;margin:60px 0 24px;padding-top:36px;border-top:1px solid var(--line);}
.family-section-title:first-child{margin-top:0;padding-top:0;border-top:none;}
.archive-body{padding-bottom:120px;}
.empty-notice{color:var(--paper-dim);padding:40px 0;}

/* ---- single product page ---- */
.product-page{padding:60px 0 40px;}
.product-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:start;}
.product-gallery{position:sticky;top:24px;}
.product-cover-frame{aspect-ratio:3/4;border-radius:2px;overflow:hidden;border:1px solid var(--line);position:relative;background:var(--ink-2);}
.product-cover-frame img{width:100%;height:100%;object-fit:cover;}
.ahf-family-badge{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin-bottom:14px;}
.product-summary h1.voice,.product_title{font-size:38px;font-weight:500;line-height:1.15;margin-bottom:16px;}
.product-dish-count{font-size:13px;color:var(--paper-dim);margin-bottom:22px;letter-spacing:.04em;}
.product-summary .price,.woocommerce-Price-amount{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--paper);font-weight:500;}
.product-summary .price ins{text-decoration:none;}
.product-summary .price del{color:var(--paper-dim);font-size:22px;margin-right:10px;}
.product-description{font-size:15.5px;line-height:1.85;color:var(--paper-dim);margin:22px 0 30px;max-width:520px;}
.ahf-copyright-note{font-size:12px;color:var(--paper-dim);border-top:1px solid var(--line);padding-top:18px;margin-top:28px;line-height:1.6;}

/* variation form */
.variations_form.cart{margin-top:10px;}
table.variations{width:100%;border-collapse:collapse;margin-bottom:20px;}
table.variations tr{display:block;margin-bottom:18px;}
table.variations label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:10px;}
table.variations td.value{display:block;}
.ahf-attr-buttons{display:flex;gap:10px;flex-wrap:wrap;}
.ahf-attr-buttons button,.ahf-attr-buttons a.ahf-attr-button{background:var(--ink-2);border:1px solid var(--line);color:var(--paper);padding:12px 18px;border-radius:2px;font-size:13px;letter-spacing:.02em;text-decoration:none;display:inline-block;}
.ahf-attr-buttons button.selected,.ahf-attr-buttons a.ahf-attr-button.active{border-color:var(--gold);color:var(--gold-light);background:rgba(185,138,74,.08);}
.ahf-attr-buttons button[disabled]{opacity:.35;cursor:not-allowed;}

/* Cross-language note — deliberately as quiet as the copyright note beside it, not a badge. */
.ahf-lang-note{font-size:12px;color:var(--paper-dim);margin-top:10px;line-height:1.5;}
.ahf-lang-note a{color:var(--paper-dim);text-decoration:underline;text-underline-offset:2px;}
.ahf-lang-note a:hover{color:var(--gold-light);}
.card .ahf-lang-note{margin-top:8px;font-size:11px;}

/* Bundle product page — "what's included" breakdown + format switch. */
.ahf-bundle-contents{margin-top:56px;padding-top:40px;border-top:1px solid var(--line);}
.ahf-bundle-contents h2.voice{font-size:26px;margin-bottom:18px;}
.ahf-bundle-book-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.ahf-bundle-book-list li{border-bottom:1px solid var(--line);padding:14px 0;}
.ahf-bundle-book-list a{color:var(--paper);text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:19px;}
.ahf-bundle-book-list a:hover{color:var(--gold-light);}
.ahf-bundle-format-switch{margin:18px 0;}

/* Bundle cards in a grid — same .card shell, no season colour-wash needed since the cover
   image itself (a real fanned stack of the contained covers) already reads as a collection. */
.card-bundle .card-cover{background:var(--ink-2);}
.card-bundle .meta{color:var(--gold-light);}
select.ahf-native-select{display:none;} /* visually replaced by the button UI in main.js; kept in DOM+functional for no-JS/accessibility fallback */
/* Belt-and-braces: if main.js hasn't run yet (slow load) or fails to run at all (script
   error, no-JS, an ad/script blocker), the display:none above never gets a chance to apply
   and this raw <select> falls back to the browser/OS's own default styling — on a dark page
   like this one that's often a near-black box with barely-visible grey placeholder text
   ("Kies een optie"), exactly the illegible state reported live on a desktop browser (worked
   fine on an iPhone, where mobile Safari's own default select styling happened to read fine —
   classic case of a bug that only shows up once real device/script-timing variety hits it).
   Styling it properly here, matching the same dark-theme select treatment already used on the
   checkout page (see ".woocommerce form .form-row select" above), means it's legible any time
   it's actually visible, instead of relying entirely on JS to hide it in time. */
table.variations select{width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--paper);padding:13px 14px;border-radius:2px;font-family:inherit;font-size:14.5px;}
.woocommerce-variation-price{margin:16px 0;font-size:20px;}
.woocommerce-variation-description{font-size:13.5px;color:var(--paper-dim);margin-bottom:14px;}
.quantity{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-right:12px;vertical-align:middle;}
.quantity input.qty{width:56px;background:none;border:none;color:var(--paper);text-align:center;padding:14px 0;font-family:inherit;}
.single_add_to_cart_button{background:var(--gold-light);color:var(--ink);border:none;padding:16px 34px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;vertical-align:middle;}
.single_add_to_cart_button:hover{background:var(--gold);}
.single_add_to_cart_button.disabled{opacity:.4;cursor:not-allowed;}
.ahf-choose-notice{font-size:12px;color:var(--paper-dim);margin-top:10px;}
.woocommerce-variation-add-to-cart{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}

/* look-inside preview gallery */
.ahf-preview-gallery{padding:70px 0;border-top:1px solid var(--line);margin-top:50px;}
.ahf-preview-gallery h2.voice{font-size:30px;margin-bottom:10px;}
.ahf-preview-notice{font-size:12.5px;color:var(--paper-dim);margin-bottom:26px;}
.ahf-preview-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;}
.ahf-preview-thumb{border:1px solid var(--line);border-radius:2px;overflow:hidden;padding:0;background:var(--ink-2);aspect-ratio:3/4;}
.ahf-preview-thumb:hover{border-color:var(--gold);}
.ahf-preview-thumb img{width:100%;height:100%;object-fit:cover;}
.ahf-lightbox{position:fixed;inset:0;background:rgba(13,12,10,.94);z-index:200;display:flex;align-items:center;justify-content:center;padding:40px;}
.ahf-lightbox[hidden]{display:none;}
.ahf-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border:1px solid var(--line);}
.ahf-lightbox-close,.ahf-lightbox-prev,.ahf-lightbox-next{position:absolute;background:none;border:1px solid var(--line);color:var(--paper);width:44px;height:44px;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;}
.ahf-lightbox-close{top:24px;right:24px;}
.ahf-lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
.ahf-lightbox-next{right:24px;top:50%;transform:translateY(-50%);}
.ahf-lightbox-close:hover,.ahf-lightbox-prev:hover,.ahf-lightbox-next:hover{border-color:var(--gold);color:var(--gold-light);}

/* related products */
.related.products{padding:60px 0 100px;border-top:1px solid var(--line);margin-top:20px;}
.related.products > h2{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500;margin-bottom:30px;}
.related.products ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;}

/* ---- WooCommerce flow pages: cart / checkout / my-account / order-received ---- */
.woocommerce-page-wrap{padding:60px 40px 120px;min-height:50vh;}
.woocommerce-page-wrap h1,.woocommerce-page-wrap > h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:500;margin-bottom:30px;}

table.shop_table{width:100%;border-collapse:collapse;margin-bottom:30px;}
table.shop_table th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);padding:14px 12px;border-bottom:1px solid var(--line);}
table.shop_table td{padding:16px 12px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:middle;}
table.shop_table td.product-name a{color:var(--paper);}
table.shop_table td.product-name a:hover{color:var(--gold-light);}
.product-remove a{color:var(--danger);font-size:18px;}
td.actions .coupon{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
td.actions .coupon input{background:var(--ink-2);border:1px solid var(--line);color:var(--paper);padding:12px 14px;border-radius:2px;font-family:inherit;}
.cart-collaterals{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px;}
.cart_totals{background:var(--ink-2);border:1px solid var(--line);padding:28px;border-radius:2px;}
.cart_totals h2{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:18px;}
.wc-proceed-to-checkout{margin-top:20px;}

.ahf-checkout-note{font-size:13.5px;line-height:1.6;color:var(--paper-dim);background:var(--ink-2);border:1px solid var(--line);border-left:2px solid var(--gold-light);padding:14px 18px;border-radius:2px;margin-bottom:26px;}

.woocommerce-checkout .col2-set,
.woocommerce-checkout-review-order{margin-bottom:20px;}
.woocommerce-billing-fields h3,.woocommerce-additional-fields h3,#order_review_heading{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;margin:26px 0 18px;}
.woocommerce form .form-row label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);display:block;margin-bottom:8px;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  padding:13px 14px;border-radius:2px;font-family:inherit;font-size:14.5px;
}
.select2-container .select2-selection__rendered{color:var(--paper) !important;line-height:44px !important;}
.select2-dropdown{background:var(--ink-2);border:1px solid var(--line);color:var(--paper);}
.select2-results__option{color:var(--paper);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gold);color:var(--ink);}
#payment{background:var(--ink-2);border:1px solid var(--line);border-radius:2px;padding:24px;margin-top:20px;}
#payment ul.payment_methods{list-style:none;}
#payment ul.payment_methods li{padding:12px 0;border-bottom:1px solid var(--line);}
#payment ul.payment_methods li:last-child{border-bottom:none;}
#place_order{width:100%;}

.woocommerce-MyAccount-navigation ul{list-style:none;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line);}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-MyAccount-navigation a{display:block;padding:14px 18px;font-size:13px;letter-spacing:.04em;color:var(--paper-dim);}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--ink-2);color:var(--paper);}
.woocommerce-MyAccount-content{margin-top:30px;}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:40px;}
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-Button,.button.wp-element-button{
  display:inline-block;background:var(--gold-light);color:var(--ink);padding:10px 20px;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;border:none;
}
.woocommerce-Button:hover{background:var(--gold);}
.woocommerce-message,.woocommerce-info,.woocommerce-noreviews,.woocommerce-error{
  background:var(--ink-2);border:1px solid var(--line);border-left:3px solid var(--gold);
  color:var(--paper);padding:16px 20px;border-radius:2px;margin-bottom:26px;list-style:none;font-size:14px;
}
.woocommerce-error{border-left-color:var(--danger);}
.woocommerce-thankyou-order-received{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold-light);margin-bottom:24px;}
ul.woocommerce-order-overview{list-style:none;display:flex;gap:30px;flex-wrap:wrap;border:1px solid var(--line);border-radius:2px;padding:20px;margin-bottom:30px;}
ul.woocommerce-order-overview li{font-size:13px;color:var(--paper-dim);}
ul.woocommerce-order-overview li strong{display:block;color:var(--paper);font-family:'Cormorant Garamond',serif;font-size:16px;margin-top:4px;}
.woocommerce-order-downloads table,.download-remaining,.download-expires{font-size:13.5px;}

/* download delivery emphasis: digital-download rows in the order table get a small
   gold "instant" tag so it's obvious to a buyer where their PDF link is. */
.ahf-instant-tag{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--gold-light);padding:3px 8px;border-radius:2px;margin-left:8px;vertical-align:middle;}

/* ---- mobile nav drawer ---- */
.mobile-nav{position:fixed;inset:0;background:var(--ink);z-index:100;display:none;flex-direction:column;padding:30px 40px;}
.mobile-nav.open{display:flex;}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px;}
.mobile-nav a{font-family:'Cormorant Garamond',serif;font-size:28px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--paper);}
.mobile-nav .langswitch{margin-top:30px;align-self:flex-start;}

/* ==========================================================================
   Responsive — mobile-first overrides. The mockup itself only defined one
   breakpoint (1000px); the rules below add the finer-grained mobile behaviour
   the brief explicitly asks for (mobile-first, fully responsive), without
   touching anything above 1000px so desktop stays pixel-identical to the mockup.
   ========================================================================== */
/* 4 family panels (added for the Refined Dining 4th family, alongside Season/BBQ/Kooktips)
   collapse 4 -> 2 -> 1 instead of straight to 1, so panels never get too narrow at
   in-between widths. */
@media(max-width:1100px){
  .fam-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:1000px){
  .story{grid-template-columns:1fr;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .grid.grid-3{grid-template-columns:repeat(2,1fr);}
  .fam-grid{grid-template-columns:1fr;}
  h1.voice{font-size:44px;}
  .product-layout{grid-template-columns:1fr;gap:36px;}
  .product-gallery{position:static;}
  .cart-collaterals{grid-template-columns:1fr;}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;}
  .related.products ul.products{grid-template-columns:repeat(2,1fr);}
  .ahf-preview-strip{grid-template-columns:repeat(4,1fr);}
}

@media(max-width:820px){
  nav.primary-nav{display:none;}
  .nav-toggle{display:flex;}
  .wrap{padding:0 24px;}
  .woocommerce-page-wrap{padding:40px 24px 80px;}
}

@media(max-width:640px){
  .hero{padding:90px 0 60px;min-height:auto;}
  .hero-plate{width:420px;height:420px;top:-160px;right:-140px;}
  h1.voice{font-size:34px;}
  .hero-sub{font-size:15.5px;}
  .cta-row{flex-direction:column;align-items:stretch;}
  .btn{text-align:center;}
  .trust .wrap{flex-direction:column;align-items:flex-start;gap:12px;}
  .story{padding:70px 0;}
  .story h2.voice{font-size:32px;}
  .collection-head{flex-direction:column;align-items:flex-start;}
  .collection-head p{text-align:left;}
  .grid{grid-template-columns:1fr 1fr;gap:14px;}
  .card-cover .title{font-size:20px;}
  .fam{padding:34px 24px;}
  .foot-row{flex-direction:column;align-items:flex-start;}
  .page-hero h1.voice{font-size:34px;}
  .product-summary h1.voice,.product_title{font-size:28px;}
  .ahf-preview-strip{grid-template-columns:repeat(3,1fr);}
  .related.products ul.products{grid-template-columns:1fr;}
  ul.woocommerce-order-overview{flex-direction:column;gap:14px;}
}

@media(max-width:420px){
  .grid{grid-template-columns:1fr;}
}

/* --------------------------------------------------------------------------------------
 * Recipe index (page-recepten.php) — search bar, course filter chips, and the 423-row list.
 * -------------------------------------------------------------------------------------- */
.recipe-index-page{padding-top:60px;padding-bottom:90px;}
.recipe-intro{font-size:16px;line-height:1.75;color:var(--paper-dim);max-width:640px;margin-bottom:14px;}
.recipe-note{font-size:13px;line-height:1.6;color:var(--paper-dim);opacity:.75;font-style:italic;max-width:640px;margin-bottom:34px;}

.recipe-toolbar{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:22px 26px;background:var(--ink-2);border:1px solid var(--line);border-radius:2px;margin-top:20px;}
.recipe-search-wrap{flex:1 1 240px;min-width:220px;}
.recipe-search{width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper);padding:13px 16px;font-family:'Jost',sans-serif;font-size:14px;border-radius:2px;}
.recipe-search::placeholder{color:var(--paper-dim);}
.recipe-search:focus{outline:none;border-color:var(--gold);}

.recipe-filters{display:flex;flex-wrap:wrap;gap:8px;}
.recipe-filter{background:none;border:1px solid var(--line);color:var(--paper-dim);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 15px;border-radius:2px;white-space:nowrap;transition:.15s;}
.recipe-filter:hover{border-color:var(--gold);color:var(--paper);}
.recipe-filter.is-active{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink);}

.recipe-count{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);margin:22px 0 10px;}

.recipe-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.recipe-row{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);}
.recipe-row[hidden]{display:none;}
.recipe-row-main{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;flex:1 1 320px;}
.recipe-dish{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:500;color:var(--paper);}
.recipe-ingredient{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light);}
.recipe-row-meta{display:flex;align-items:center;gap:16px;flex:0 0 auto;}
.recipe-cat-tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line);padding:4px 10px;border-radius:2px;white-space:nowrap;}
.recipe-book-link{font-size:12px;letter-spacing:.04em;color:var(--paper-dim);border-bottom:1px solid var(--gold);white-space:nowrap;}
.recipe-book-link:hover{color:var(--gold-light);}
.recipe-book-link-plain{border-bottom:none;opacity:.7;}

.recipe-empty{padding:40px 0;text-align:center;color:var(--paper-dim);font-size:14px;}

@media(max-width:640px){
  .recipe-toolbar{flex-direction:column;align-items:stretch;}
  .recipe-row{flex-direction:column;align-items:flex-start;gap:8px;}
  .recipe-row-meta{width:100%;justify-content:space-between;}
}

/* --------------------------------------------------------------------------------------
 * Advies page (page-advies.php) — B2B consultancy service cards + CTA.
 * -------------------------------------------------------------------------------------- */
.advies-page{padding-top:60px;padding-bottom:90px;}
.advies-page .story-intro{font-size:16px;line-height:1.8;color:var(--paper-dim);max-width:640px;margin-bottom:50px;}

.advies-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px;}
.advies-service{background:var(--ink-2);border:1px solid var(--line);border-radius:2px;padding:30px 28px;}
.advies-service h3.voice{font-size:22px;color:var(--paper);margin-bottom:14px;}
.advies-service p{font-size:14px;line-height:1.7;color:var(--paper-dim);}

.advies-cta{border-top:1px solid var(--line);padding-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:22px;justify-content:space-between;}
.advies-cta p{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--paper);}

@media(max-width:820px){
  .advies-services{grid-template-columns:1fr;}
}
