/*
Theme Name: Een Open Hemel
Theme URI: https://eenopenhemel.nl
Author: Een Open Hemel
Author URI: https://eenopenhemel.nl
Description: Een warm, poëtisch WordPress-thema voor Een Open Hemel — een plek voor poëzie, literatuur, kunst, kaarten en digitale downloads. Klassiek thema met aparte pagina's, beheerbare Producten en Events, en WooCommerce-voorbereiding.
Version: 2.7.5
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: een-open-hemel
Tags: e-commerce, poetry, custom-logo, custom-menu, featured-images, translation-ready
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --cream:#EDD5C0;--taupe:#B8A090;--blush:#D9A8A0;
  --terra:#E07850;--rust:#B85A38;--wine:#6B1530;
  --aubergine:#2E0A28;--noir:#120008;--bg:#F7EEE6;--bg2:#F2E6DA;
  --serif:'Fraunces',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
  --r-sm:8px;--r-md:16px;--r-lg:22px;--r-pill:999px;
  --shadow:0 8px 40px rgba(46,10,40,.10);--shadow-sm:0 2px 16px rgba(46,10,40,.07);
  --max:1100px;--gap:clamp(16px,5vw,48px);
}
body{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--noir);background:var(--bg);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.2;}
p{color:rgba(18,0,8,.68);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
input,select,textarea,button{font-family:var(--sans);}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gap);}
.section-pad{padding:clamp(56px,8vw,96px) 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:36px;gap:16px;flex-wrap:wrap;}
.section-title{font-size:clamp(22px,3vw,30px);color:var(--aubergine);}
.see-all{font-size:13px;color:var(--rust);cursor:pointer;}
.see-all:hover{text-decoration:underline;}

.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:var(--r-pill);padding:13px 30px;font-size:13.5px;letter-spacing:.04em;cursor:pointer;transition:background .2s,transform .15s;text-align:center;}
.btn:active{transform:scale(.97);}
.btn--dark{background:var(--aubergine);color:var(--cream);}
.btn--dark:hover{background:var(--wine);}
.btn--terra{background:var(--terra);color:#fff;}
.btn--terra:hover{background:var(--rust);}
.btn--ghost{background:rgba(237,213,192,.15);color:#fff;border:1px solid rgba(237,213,192,.45);}
.btn--ghost:hover{background:rgba(237,213,192,.28);}
.btn--outline{background:transparent;color:var(--aubergine);border:1px solid rgba(46,10,40,.3);}
.btn--outline:hover{background:rgba(46,10,40,.05);}
.btn--wine{background:var(--wine);color:var(--cream);}
.btn--wine:hover{background:var(--aubergine);}
.btn--sm{padding:9px 20px;font-size:12.5px;}
.btn--full{width:100%;justify-content:center;}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:300;padding:12px var(--gap);display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(237,213,192,.1);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-bottom:.5px solid rgba(237,213,192,.22);transition:background .3s;}
.site-nav.scrolled{background:rgba(46,10,40,.72);}
.nav__logo{font-family:var(--serif);font-size:18px;font-style:italic;color:#fff;text-shadow:0 1px 12px rgba(18,0,8,.4);flex-shrink:0;cursor:pointer;}
.nav__logo img{max-height:34px;width:auto;}
.nav__pill{display:flex;align-items:center;gap:4px;background:rgba(237,213,192,.12);border:.5px solid rgba(237,213,192,.3);border-radius:var(--r-pill);padding:6px 16px;box-shadow:inset 0 .5px 0 rgba(255,255,255,.12);}
.nav__pill a{font-size:13px;color:rgba(255,255,255,.78);white-space:nowrap;cursor:pointer;padding:5px 10px;border-radius:var(--r-pill);transition:color .2s,background .2s;}
.nav__pill a:hover{color:#fff;background:rgba(255,255,255,.12);}
.nav__pill a.is-active{color:#fff;font-weight:500;background:rgba(255,255,255,.15);}
/* WordPress-menu (wp_nav_menu) in dezelfde stijl als de pill */
.nav__pill ul.nav__menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.nav__pill ul.nav__menu li{list-style:none;margin:0;padding:0;}
.nav__pill ul.nav__menu li a{font-size:13px;color:rgba(255,255,255,.78);white-space:nowrap;cursor:pointer;padding:5px 10px;border-radius:var(--r-pill);transition:color .2s,background .2s;display:block;}
.nav__pill ul.nav__menu li a:hover{color:#fff;background:rgba(255,255,255,.12);}
.nav__pill ul.nav__menu li.current-menu-item>a,.nav__pill ul.nav__menu li.current_page_item>a,.nav__pill ul.nav__menu li.current-menu-parent>a,.nav__pill ul.nav__menu li.current-menu-ancestor>a{color:#fff;font-weight:500;background:rgba(255,255,255,.15);}
.nav__actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
/* Uitklapbare zoekbalk */
.nav__search{display:flex;align-items:center;}
.nav__search-toggle{position:relative;z-index:2;}
.nav__search-toggle .nav__search-close{display:none;}
.nav__search.is-open .nav__search-toggle .nav__search-ico{display:none;}
.nav__search.is-open .nav__search-toggle .nav__search-close{display:block;}
.nav__search-form{display:flex;align-items:center;width:0;opacity:0;overflow:hidden;transition:width .34s cubic-bezier(.76,0,.24,1),opacity .25s,margin .34s;margin-left:0;}
.nav__search.is-open .nav__search-form{width:min(260px,52vw);opacity:1;margin-left:6px;}
.nav__search-input{flex:1;min-width:0;height:36px;padding:0 14px;border:.5px solid rgba(237,213,192,.4);border-radius:var(--r-pill);background:rgba(237,213,192,.14);color:#fff;font-size:13px;outline:none;}
.nav__search-input::placeholder{color:rgba(237,213,192,.5);}
.nav__search-input:focus{border-color:rgba(237,213,192,.7);background:rgba(237,213,192,.2);}
.nav__search-submit{width:30px;height:30px;margin-left:-38px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav__search-submit svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.8;}
.nav__search-submit:hover svg{opacity:1;}
.nav__icon-btn{width:36px;height:36px;border-radius:50%;background:rgba(237,213,192,.15);border:.5px solid rgba(237,213,192,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;position:relative;}
.nav__icon-btn:hover{background:rgba(237,213,192,.28);}
.nav__icon-btn svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.cart-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--terra);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:500;}
.nav__hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.nav__hamburger span{display:block;width:22px;height:1.5px;background:#fff;border-radius:2px;}
.nav__mobile{display:none;position:fixed;inset:0;background:var(--aubergine);z-index:400;flex-direction:column;align-items:center;justify-content:center;gap:28px;}
.nav__mobile.is-open{display:flex;}
.nav__mobile a{font-family:var(--serif);font-size:clamp(24px,6vw,32px);font-style:italic;color:var(--cream);opacity:.85;cursor:pointer;}
.nav__mobile a:hover{opacity:1;}
/* WordPress-menu in het mobiele menu */
.nav__mobile ul.nav__mobile-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:28px;}
.nav__mobile ul.nav__mobile-menu li{list-style:none;}
.nav__mobile ul.nav__mobile-menu li a{font-family:var(--serif);font-size:clamp(24px,6vw,32px);font-style:italic;color:var(--cream);opacity:.85;cursor:pointer;}
.nav__mobile ul.nav__mobile-menu li a:hover{opacity:1;}
.nav__mobile-close{position:absolute;top:20px;right:24px;background:none;border:none;cursor:pointer;}
.nav__mobile-close svg{width:28px;height:28px;stroke:var(--cream);fill:none;stroke-width:1.8;stroke-linecap:round;}
@media(max-width:900px){.nav__pill{display:none;}.nav__hamburger{display:flex;}}

/* BREADCRUMB */
.breadcrumb{padding:100px var(--gap) 0;font-size:13px;color:var(--taupe);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.breadcrumb a{cursor:pointer;transition:color .2s;}
.breadcrumb a:hover{color:var(--rust);}
.breadcrumb .sep{opacity:.4;}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(100px,16vw,140px) var(--gap) clamp(56px,8vw,80px);position:relative;overflow:hidden;}
.hero__bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 55% 50% at 100% 100%,rgba(224,120,80,.55) 0%,transparent 58%),radial-gradient(ellipse 40% 40% at 80% 20%,rgba(184,90,56,.25) 0%,transparent 55%),radial-gradient(ellipse 50% 55% at 0% 60%,rgba(107,21,48,.5) 0%,transparent 60%),radial-gradient(ellipse 65% 60% at 40% 100%,rgba(46,10,40,.6) 0%,transparent 65%),linear-gradient(160deg,#2E0A28 0%,#4a1020 55%,#1a0510 100%);}
.hero__eyebrow{position:relative;z-index:1;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(237,213,192,.6);margin-bottom:28px;}
.hero__carousel-wrap{position:relative;z-index:1;height:clamp(64px,10vw,96px);width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);}
.hero__carousel-track{display:flex;flex-direction:column;align-items:center;transition:transform .52s cubic-bezier(.76,0,.24,1);will-change:transform;}
.hero__word{flex-shrink:0;height:clamp(64px,10vw,96px);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(44px,8.5vw,82px);font-weight:400;color:#fff;white-space:nowrap;pointer-events:none;width:100%;}
.hero__tagline{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(20px,3.5vw,28px);font-style:italic;font-weight:300;color:rgba(237,213,192,.75);margin-top:14px;margin-bottom:44px;letter-spacing:.04em;}
.hero__ctas{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

/* HOME FEATURED */
.home-feat{background:var(--bg2);}
.home-feat__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center;}
@media(max-width:700px){.home-feat__grid{grid-template-columns:1fr;}}
.feat-img{width:100%;aspect-ratio:4/5;border-radius:var(--r-lg);background:linear-gradient(160deg,#7a9fbe 0%,#4a6e8a 40%,#2a4a62 100%);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:28px;font-style:italic;color:rgba(255,255,255,.88);box-shadow:var(--shadow);position:relative;overflow:hidden;background-size:cover;background-position:center;}
.feat-badge{position:absolute;bottom:-16px;right:-16px;width:54px;height:54px;border-radius:50%;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;letter-spacing:.06em;}
.feat-tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);background:rgba(224,120,80,.12);border-radius:var(--r-pill);padding:4px 14px;margin-bottom:16px;}
.feat-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--terra);}
.feat-title{font-size:clamp(28px,4.5vw,40px);color:var(--aubergine);margin-bottom:10px;}
.feat-quote{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--terra);margin-bottom:16px;}
.feat-desc{font-size:14px;line-height:1.8;margin-bottom:26px;}
.feat-meta{display:flex;gap:24px;margin-bottom:28px;flex-wrap:wrap;}
.feat-meta__item{display:flex;flex-direction:column;gap:3px;}
.feat-meta__label{font-size:11px;color:rgba(18,0,8,.4);letter-spacing:.1em;text-transform:uppercase;}
.feat-meta__val{font-size:15px;font-weight:500;color:var(--aubergine);}
.feat-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* CATS */
.home-cats{background:var(--aubergine);}
.home-cats__intro{text-align:center;margin-bottom:44px;}
.home-cats__intro h2{font-size:clamp(22px,3vw,30px);color:var(--cream);margin-bottom:8px;}
.home-cats__intro p{font-size:14px;color:rgba(237,213,192,.5);}
.home-cats__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
@media(max-width:800px){.home-cats__grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px){.home-cats__grid{grid-template-columns:repeat(2,1fr);}}
.cat-card{background:rgba(237,213,192,.07);border:.5px solid rgba(237,213,192,.18);border-radius:var(--r-lg);padding:28px 16px;text-align:center;cursor:pointer;transition:background .25s,transform .2s;display:block;}
.cat-card:hover{background:rgba(237,213,192,.14);transform:translateY(-3px);}
.cat-card__icon{width:48px;height:48px;border-radius:50%;background:rgba(237,213,192,.12);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;}
.cat-card__icon svg{width:24px;height:24px;stroke:var(--cream);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.cat-card__name{font-size:12.5px;color:var(--cream);letter-spacing:.08em;text-transform:uppercase;}
.cat-card__count{font-size:11px;color:rgba(237,213,192,.4);margin-top:4px;}

/* PRODUCT GRID */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:900px){.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.prod-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
.prod-card{cursor:pointer;display:block;}
.prod-card__thumb{width:100%;aspect-ratio:3/4;border-radius:var(--r-md);margin-bottom:13px;position:relative;transition:transform .25s;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:clamp(13px,2vw,16px);color:rgba(255,255,255,.85);text-align:center;padding:16px;overflow:hidden;background-size:cover;background-position:center;}
.prod-card:hover .prod-card__thumb{transform:translateY(-4px);}
.prod-card__add{position:absolute;bottom:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;}
.prod-card:hover .prod-card__add{opacity:1;transform:translateY(0);}
.prod-card__add svg{width:16px;height:16px;stroke:var(--aubergine);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.prod-card__cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);margin-bottom:4px;}
.prod-card__name{font-size:14.5px;color:var(--aubergine);margin-bottom:4px;line-height:1.3;}
.prod-card__price{font-size:13.5px;color:var(--rust);font-weight:500;}

/* TESTIMONIALS */
.testi-section{background:rgba(237,213,192,.3);}
.testi-section h2{text-align:center;font-size:clamp(22px,3vw,30px);color:var(--aubergine);margin-bottom:40px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:700px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{background:#fff;border-radius:var(--r-lg);padding:24px;border:.5px solid rgba(184,160,144,.25);box-shadow:var(--shadow-sm);}
.testi-card__stars{color:var(--terra);font-size:14px;margin-bottom:12px;letter-spacing:2px;}
.testi-card__text{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.7;margin-bottom:16px;}
.testi-card__name{font-size:12px;color:var(--taupe);letter-spacing:.1em;text-transform:uppercase;}

/* NEWSLETTER */
.newsletter{background:var(--aubergine);text-align:center;padding:clamp(56px,8vw,80px) var(--gap);}
.newsletter h2{font-size:clamp(22px,3.5vw,32px);color:var(--cream);margin-bottom:10px;}
.newsletter p{font-size:14px;color:rgba(237,213,192,.55);margin-bottom:28px;}
.newsletter__form{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.newsletter__input{flex:1;min-width:200px;padding:13px 20px;border:.5px solid rgba(237,213,192,.3);border-radius:var(--r-pill);background:rgba(255,255,255,.1);color:var(--cream);font-size:13.5px;outline:none;}
.newsletter__input::placeholder{color:rgba(237,213,192,.4);}

/* SHOP */
.shop-hero{background:var(--aubergine);padding:clamp(100px,14vw,130px) var(--gap) clamp(40px,6vw,64px);text-align:center;}
.shop-hero h1{font-size:clamp(32px,6vw,56px);color:var(--cream);margin-bottom:12px;}
.shop-hero p{font-size:15px;color:rgba(237,213,192,.6);max-width:480px;margin:0 auto;}
.shop-filters{border-bottom:1px solid rgba(184,160,144,.2);padding:20px 0;background:#fff;position:sticky;top:60px;z-index:10;}
.shop-filters__wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.filter-btn{padding:7px 18px;border-radius:var(--r-pill);border:1px solid rgba(184,160,144,.35);background:transparent;font-size:13px;color:var(--aubergine);cursor:pointer;transition:all .2s;display:inline-block;}
.filter-btn:hover{background:rgba(46,10,40,.07);border-color:var(--aubergine);}
.filter-btn.is-active{background:var(--aubergine);color:var(--cream);border-color:var(--aubergine);}
.shop-count{font-size:13px;color:var(--taupe);margin-left:auto;}
.shop-sort{position:relative;display:inline-flex;align-items:center;}
.shop-sort select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid rgba(184,160,144,.35);border-radius:var(--r-pill);padding:7px 34px 7px 16px;font-size:13px;color:var(--aubergine);cursor:pointer;font-family:var(--sans);transition:border-color .2s,background .2s;outline:none;}
.shop-sort select:hover{border-color:var(--aubergine);background:rgba(46,10,40,.05);}
.shop-sort svg{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:13px;height:13px;stroke:var(--taupe);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
@media(max-width:560px){.shop-count{margin-left:0;}.shop-sort{margin-left:auto;}}
.shop-body{background:var(--bg);}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
@media(max-width:900px){.shop-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
.no-results{text-align:center;padding:64px 24px;color:var(--taupe);font-family:var(--serif);font-style:italic;font-size:18px;}

/* PRODUCT DETAIL */
.pdp{background:var(--bg);}
.pdp__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start;}
@media(max-width:700px){.pdp__grid{grid-template-columns:1fr;}}
.pdp__main-img{width:100%;aspect-ratio:1/1;border-radius:var(--r-lg);background:linear-gradient(160deg,#7a9fbe,#2a4a62);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:32px;color:rgba(255,255,255,.88);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden;background-size:cover;background-position:center;}
.pdp__thumbs{display:flex;gap:10px;}
.pdp__thumb{width:72px;height:72px;border-radius:var(--r-sm);background:var(--bg2);border:2px solid transparent;cursor:pointer;flex-shrink:0;background-size:cover;background-position:center;}
.pdp__thumb.is-active{border-color:var(--aubergine);}
.pdp__cat{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--terra);margin-bottom:10px;}
.pdp__title{font-size:clamp(26px,4vw,38px);color:var(--aubergine);margin-bottom:8px;}
.pdp__quote{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--rust);margin-bottom:20px;}
.pdp__price{font-size:26px;color:var(--aubergine);margin-bottom:20px;}
.pdp__format-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);margin-bottom:10px;}
.pdp__formats{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
.format-btn{padding:10px 20px;border-radius:var(--r-md);border:1px solid rgba(184,160,144,.4);background:transparent;font-size:13px;color:var(--aubergine);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;}
.format-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;}
.format-btn.is-active{border-color:var(--aubergine);background:var(--aubergine);color:var(--cream);}
.pdp__actions{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;}
.pdp__perks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;}
.pdp__perk{display:flex;gap:10px;align-items:flex-start;}
.pdp__perk-icon{width:36px;height:36px;border-radius:50%;background:rgba(224,120,80,.1);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.pdp__perk-icon svg{width:18px;height:18px;stroke:var(--terra);fill:none;stroke-width:1.8;stroke-linecap:round;}
.pdp__perk-title{font-size:13px;font-weight:500;color:var(--aubergine);}
.pdp__perk-desc{font-size:12px;color:var(--taupe);}
.pdp__desc{font-size:14px;line-height:1.85;border-top:1px solid rgba(184,160,144,.2);padding-top:24px;}
.pdp-preview{background:var(--bg2);}
.pdp-preview h2{font-size:clamp(20px,3vw,26px);color:var(--aubergine);text-align:center;margin-bottom:10px;}
.pdp-preview__sub{text-align:center;font-size:14px;color:var(--taupe);margin-bottom:36px;}
.pdp-preview__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:600px){.pdp-preview__grid{grid-template-columns:1fr 1fr;}}
.preview-img{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--bg);border:1px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);background-size:cover;background-position:center;}

/* CART */
.cart-page{background:var(--bg);}
.cart-page__grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;}
@media(max-width:800px){.cart-page__grid{grid-template-columns:1fr;}}
.cart-items{display:flex;flex-direction:column;gap:16px;}
.cart-item{background:#fff;border-radius:var(--r-lg);padding:20px;display:flex;gap:16px;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);}
.cart-item__img{width:80px;height:100px;border-radius:var(--r-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:11px;color:rgba(255,255,255,.7);}
.cart-item__info{flex:1;}
.cart-item__cat{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);margin-bottom:3px;}
.cart-item__name{font-size:15px;color:var(--aubergine);margin-bottom:4px;}
.cart-item__variant{font-size:13px;color:var(--taupe);}
.cart-item__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.cart-item__qty{display:flex;align-items:center;gap:10px;}
.qty-btn{width:28px;height:28px;border-radius:50%;border:1px solid rgba(184,160,144,.35);background:transparent;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--aubergine);}
.cart-item__price{font-size:15px;font-weight:500;color:var(--aubergine);}
.cart-item__remove{font-size:12px;color:var(--taupe);cursor:pointer;background:none;border:none;}
.cart-item__remove:hover{color:var(--rust);}
.cart-summary{background:#fff;border-radius:var(--r-lg);padding:28px;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);position:sticky;top:80px;}
.cart-summary h3{font-size:18px;color:var(--aubergine);margin-bottom:20px;}
.summary-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px;color:rgba(18,0,8,.65);}
.summary-row.total{font-size:16px;font-weight:500;color:var(--aubergine);border-top:1px solid rgba(184,160,144,.2);padding-top:14px;margin-top:4px;}
.summary-note{font-size:12px;color:var(--taupe);margin:14px 0;}
.coupon-row{display:flex;gap:8px;margin-bottom:20px;}
.coupon-input{flex:1;padding:10px 16px;border:1px solid rgba(184,160,144,.35);border-radius:var(--r-pill);font-size:13px;outline:none;}

/* CHECKOUT */
.checkout-page{background:var(--bg);}
.checkout-page__grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;}
@media(max-width:800px){.checkout-page__grid{grid-template-columns:1fr;}}
.checkout-form{background:#fff;border-radius:var(--r-lg);padding:32px;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);}
.form-section{margin-bottom:28px;}
.form-section h3{font-size:16px;color:var(--aubergine);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(184,160,144,.2);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:500px){.form-row{grid-template-columns:1fr;}}
.form-row--full{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);}
.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1px solid rgba(184,160,144,.35);border-radius:var(--r-sm);font-size:14px;color:var(--noir);outline:none;background:#fff;transition:border-color .2s;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--aubergine);}
.payment-options{display:flex;flex-direction:column;gap:12px;}
.payment-opt{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(184,160,144,.3);border-radius:var(--r-md);cursor:pointer;transition:border-color .2s;}
.payment-opt.is-active{border-color:var(--aubergine);}
.payment-opt input[type=radio]{accent-color:var(--aubergine);}
.payment-opt span{font-size:14px;color:var(--aubergine);}
.checkout-summary{background:#fff;border-radius:var(--r-lg);padding:28px;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);position:sticky;top:80px;}
.checkout-summary h3{font-size:18px;color:var(--aubergine);margin-bottom:20px;}
.order-item{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(184,160,144,.15);}
.order-item:last-of-type{border-bottom:none;}
.order-item__img{width:56px;height:72px;border-radius:var(--r-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;color:rgba(255,255,255,.7);font-family:var(--serif);font-style:italic;}
.order-item__name{font-size:13px;color:var(--aubergine);flex:1;}
.order-item__price{font-size:13px;font-weight:500;color:var(--aubergine);}

/* CONFIRM */
.confirm-page{background:var(--bg);min-height:80vh;display:flex;align-items:center;justify-content:center;padding:clamp(80px,12vw,120px) var(--gap);}
.confirm-box{background:#fff;border-radius:var(--r-lg);padding:clamp(32px,5vw,56px);max-width:600px;width:100%;text-align:center;box-shadow:var(--shadow);}
.confirm-icon{width:72px;height:72px;border-radius:50%;background:rgba(224,120,80,.12);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;}
.confirm-icon svg{width:36px;height:36px;stroke:var(--terra);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.confirm-box h1{font-size:clamp(24px,4vw,32px);color:var(--aubergine);margin-bottom:12px;}
.confirm-ordernr{font-size:13px;color:var(--taupe);background:var(--bg);padding:10px 20px;border-radius:var(--r-pill);display:inline-block;margin:16px 0 28px;}
.confirm-items{text-align:left;border:1px solid rgba(184,160,144,.2);border-radius:var(--r-md);padding:16px;margin-bottom:28px;}
.confirm-item{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;border-bottom:1px solid rgba(184,160,144,.12);}
.confirm-item:last-child{border-bottom:none;}

/* OVER */
.over-hero{background:var(--aubergine);padding:clamp(100px,14vw,130px) var(--gap) clamp(56px,8vw,80px);text-align:center;}
.over-hero h1{font-size:clamp(32px,6vw,56px);color:var(--cream);margin-bottom:16px;}
.over-hero p{font-size:16px;font-style:italic;font-family:var(--serif);color:rgba(237,213,192,.65);max-width:560px;margin:0 auto;}
.over-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center;}
@media(max-width:700px){.over-grid{grid-template-columns:1fr;}}
.over-portrait{width:100%;aspect-ratio:3/4;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--blush),var(--rust));display:flex;align-items:flex-end;padding:24px;box-shadow:var(--shadow);overflow:hidden;background-size:cover;background-position:center;}
.over-portrait-caption{font-family:var(--serif);font-style:italic;font-size:15px;color:rgba(255,255,255,.75);}
.over-content h2{font-size:clamp(22px,3.5vw,30px);color:var(--aubergine);margin-bottom:16px;}
.over-content p{font-size:15px;line-height:1.9;margin-bottom:16px;}
.over-quote{background:var(--bg2);border-radius:var(--r-lg);padding:40px;text-align:center;}
.over-quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(18px,3vw,24px);color:var(--aubergine);line-height:1.6;margin-bottom:16px;}
.over-quote cite{font-size:13px;color:var(--taupe);letter-spacing:.1em;text-transform:uppercase;}
.over-values{background:var(--aubergine);}
.over-values h2{font-size:clamp(22px,3vw,28px);color:var(--cream);text-align:center;margin-bottom:40px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:700px){.values-grid{grid-template-columns:1fr;}}
.value-card{background:rgba(237,213,192,.07);border:.5px solid rgba(237,213,192,.15);border-radius:var(--r-lg);padding:28px 24px;}
.value-card h3{font-size:17px;color:var(--cream);margin-bottom:10px;}
.value-card p{font-size:13.5px;color:rgba(237,213,192,.55);line-height:1.7;}

/* EVENTS */
.events-hero{background:var(--aubergine);padding:clamp(100px,14vw,130px) var(--gap) clamp(56px,8vw,80px);text-align:center;}
.events-hero h1{font-size:clamp(32px,6vw,56px);color:var(--cream);margin-bottom:12px;}
.events-hero p{font-size:15px;color:rgba(237,213,192,.6);max-width:480px;margin:0 auto;}
.events-body{background:var(--bg);}
.event-card{background:#fff;border-radius:var(--r-lg);padding:28px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);margin-bottom:16px;}
@media(max-width:600px){.event-card{grid-template-columns:1fr;}}
.event-date{background:var(--aubergine);color:var(--cream);border-radius:var(--r-md);padding:14px 18px;text-align:center;min-width:70px;}
.event-date__day{font-family:var(--serif);font-size:28px;display:block;line-height:1;}
.event-date__month{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.65;}
.event-info h3{font-size:18px;color:var(--aubergine);margin-bottom:6px;}
.event-info p{font-size:14px;color:rgba(18,0,8,.6);margin-bottom:8px;}
.event-meta{display:flex;gap:16px;flex-wrap:wrap;}
.event-meta span{font-size:12px;color:var(--taupe);display:flex;align-items:center;gap:5px;}
.event-meta svg{width:14px;height:14px;stroke:var(--taupe);fill:none;stroke-width:1.8;stroke-linecap:round;}

/* CONTACT */
.contact-hero{background:var(--aubergine);padding:clamp(100px,14vw,130px) var(--gap) clamp(56px,8vw,80px);text-align:center;}
.contact-hero h1{font-size:clamp(32px,6vw,56px);color:var(--cream);margin-bottom:12px;}
.contact-hero p{font-size:15px;color:rgba(237,213,192,.6);max-width:480px;margin:0 auto;}
.contact-body{background:var(--bg);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,64px);}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;}}
.contact-form{background:#fff;border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-sm);border:.5px solid rgba(184,160,144,.2);}
.contact-form h2{font-size:20px;color:var(--aubergine);margin-bottom:20px;}
.contact-form textarea{width:100%;padding:12px 16px;border:1px solid rgba(184,160,144,.35);border-radius:var(--r-sm);font-size:14px;resize:vertical;min-height:130px;outline:none;}
.contact-form .form-group{margin-bottom:14px;}
.contact-info h2{font-size:20px;color:var(--aubergine);margin-bottom:20px;}
.contact-info-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.contact-info-item__icon{width:40px;height:40px;border-radius:50%;background:rgba(224,120,80,.1);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.contact-info-item__icon svg{width:18px;height:18px;stroke:var(--terra);fill:none;stroke-width:1.8;stroke-linecap:round;}
.contact-info-item h3{font-size:14px;font-weight:500;color:var(--aubergine);margin-bottom:3px;}
.contact-info-item p{font-size:13.5px;color:var(--taupe);}
.social-links{display:flex;gap:12px;margin-top:28px;}
.social-btn{width:40px;height:40px;border-radius:50%;background:var(--aubergine);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;}
.social-btn:hover{background:var(--wine);}
.social-btn svg{width:18px;height:18px;stroke:var(--cream);fill:none;stroke-width:1.8;stroke-linecap:round;}
.form-notice{padding:12px 16px;border-radius:var(--r-sm);font-size:13.5px;margin-bottom:16px;}
.form-notice--ok{background:rgba(31,138,91,.12);color:#1f6b4a;}
.form-notice--err{background:rgba(184,90,56,.12);color:var(--rust);}

/* FAQ */
.faq-wrap{max-width:720px;margin:0 auto;}
.faq-group{margin-bottom:40px;}
.faq-group-title{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:12px;padding-left:2px;}
.faq-item{background:#fff;border:1px solid rgba(184,160,144,.22);border-radius:var(--r-lg);margin-bottom:8px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.faq-item.is-open{border-color:rgba(46,10,40,.2);box-shadow:0 4px 20px rgba(46,10,40,.08);}
.faq-q{width:100%;background:none;border:none;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;gap:16px;transition:background .2s;}
.faq-q:hover{background:rgba(46,10,40,.025);}
.faq-q-text{font-size:15px;font-weight:500;color:var(--aubergine);line-height:1.4;}
.faq-icon{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(184,160,144,.45);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .32s;}
.faq-item.is-open .faq-icon{background:var(--aubergine);border-color:var(--aubergine);transform:rotate(45deg);}
.faq-icon svg{width:12px;height:12px;stroke:var(--taupe);fill:none;stroke-width:2.5;stroke-linecap:round;transition:stroke .25s;}
.faq-item.is-open .faq-icon svg{stroke:#fff;}
.faq-body{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.4,0,.2,1);}
.faq-body-inner{padding:0 22px 20px;border-top:1px solid rgba(184,160,144,.15);}
.faq-body-inner p{padding-top:16px;font-size:14px;line-height:1.85;color:rgba(18,0,8,.62);}

/* VERZENDING */
.info-card{background:#fff;border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-sm);border:.5px solid rgba(184,160,144,.2);margin-bottom:20px;}
.info-card h2{font-size:20px;color:var(--aubergine);margin-bottom:16px;}
.info-card p{font-size:14px;line-height:1.85;color:rgba(18,0,8,.65);}
.ship-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
.ship-item{background:var(--bg);border-radius:var(--r-md);padding:18px;}
.ship-item__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);margin-bottom:6px;}
.ship-item__val{font-size:18px;font-weight:500;color:var(--aubergine);}
.ship-item__sub{font-size:13px;color:var(--taupe);margin-top:4px;}

/* ZOEKEN — resultatenpagina */
.search-page-form{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap;}
.search-page-form input[type=search]{flex:1;min-width:200px;padding:13px 20px;border:1px solid rgba(184,160,144,.4);border-radius:var(--r-pill);font-size:14px;outline:none;background:#fff;color:var(--noir);}
.search-page-form input[type=search]:focus{border-color:var(--aubergine);}
.search-results{display:flex;flex-direction:column;gap:12px;}
.search-result{display:flex;align-items:center;gap:18px;background:#fff;border:.5px solid rgba(184,160,144,.22);border-radius:var(--r-lg);padding:16px 20px;transition:border-color .2s,box-shadow .2s,transform .15s;}
.search-result:hover{border-color:rgba(46,10,40,.22);box-shadow:0 6px 24px rgba(46,10,40,.09);transform:translateY(-1px);}
.search-result__thumb{width:56px;height:70px;border-radius:var(--r-sm);flex-shrink:0;background-size:cover;background-position:center;}
.search-result__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.search-result__type{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);}
.search-result__title{font-family:var(--serif);font-size:18px;color:var(--aubergine);line-height:1.25;}
.search-result__excerpt{font-size:13px;color:var(--taupe);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.search-result__arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(184,160,144,.4);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;}
.search-result:hover .search-result__arrow{background:var(--aubergine);border-color:var(--aubergine);}
.search-result__arrow svg{width:15px;height:15px;stroke:var(--taupe);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s;}
.search-result:hover .search-result__arrow svg{stroke:#fff;}
.search-empty{text-align:center;padding:48px 24px;background:#fff;border-radius:var(--r-lg);border:.5px solid rgba(184,160,144,.22);}
.search-empty__title{font-family:var(--serif);font-size:22px;color:var(--aubergine);margin-bottom:8px;}
.search-empty__text{font-size:14px;color:var(--taupe);margin-bottom:24px;}
.search-empty__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* PAGE (generieke WP-pagina / post) */
.page-hero{background:var(--aubergine);padding:clamp(100px,14vw,130px) var(--gap) clamp(56px,8vw,80px);text-align:center;}
.page-hero h1{font-size:clamp(32px,6vw,52px);color:var(--cream);}
.page-content{background:var(--bg);}
.entry{max-width:760px;margin:0 auto;font-size:16px;line-height:1.85;color:rgba(18,0,8,.78);}
.entry h2{font-size:clamp(22px,3vw,28px);color:var(--aubergine);margin:32px 0 14px;}
.entry h3{font-size:20px;color:var(--aubergine);margin:24px 0 10px;}
.entry p{margin-bottom:18px;}
.entry a{color:var(--rust);text-decoration:underline;}
.entry ul,.entry ol{margin:0 0 18px 22px;}
.entry li{margin-bottom:8px;}
.entry img{border-radius:var(--r-md);margin:18px 0;}
.entry blockquote{border-left:3px solid var(--terra);padding-left:20px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--aubergine);margin:24px 0;}
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.post-list{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.post-list{grid-template-columns:1fr;}}
.post-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;border:.5px solid rgba(184,160,144,.2);box-shadow:var(--shadow-sm);}
.post-card__thumb{aspect-ratio:16/10;background:var(--bg2);background-size:cover;background-position:center;}
.post-card__body{padding:22px;}
.post-card__date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px;}
.post-card__title{font-size:18px;color:var(--aubergine);margin-bottom:8px;line-height:1.3;}
.post-card__excerpt{font-size:13.5px;line-height:1.7;}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.pagination .page-numbers{padding:8px 14px;border-radius:var(--r-pill);border:1px solid rgba(184,160,144,.35);font-size:13px;color:var(--aubergine);}
.pagination .page-numbers.current{background:var(--aubergine);color:var(--cream);border-color:var(--aubergine);}

/* FOOTER */
.site-footer{background:var(--aubergine);padding:clamp(48px,7vw,80px) var(--gap) 0;}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,5vw,56px);padding-bottom:clamp(40px,6vw,64px);border-bottom:.5px solid rgba(237,213,192,.15);}
@media(max-width:800px){.footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer__grid{grid-template-columns:1fr;}}
.footer__logo{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--cream);margin-bottom:12px;display:block;cursor:pointer;}
.footer__desc{font-size:13px;line-height:1.75;color:rgba(237,213,192,.5);max-width:240px;}
.footer__col h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin-bottom:16px;font-weight:500;}
.footer__col a{display:block;font-size:13.5px;color:rgba(237,213,192,.55);margin-bottom:10px;cursor:pointer;transition:color .2s;}
.footer__col a:hover{color:var(--cream);}
.footer__bottom{text-align:center;padding:20px var(--gap);font-size:12px;color:rgba(237,213,192,.3);}

/* WordPress core / admin-bar compat */
.admin-bar .site-nav{top:32px;}
@media(max-width:782px){.admin-bar .site-nav{top:46px;}}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;}

/* NAV: leesbaar op alle pagina's behalve de homepage-hero */
body:not(.home) .site-nav{background:rgba(46,10,40,.85);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);}
body:not(.home) .site-nav.scrolled{background:rgba(46,10,40,.92);}

/* ---------------------------------------------------------------------------
 * WOOCOMMERCE (alleen actief als de plugin draait)
 * ------------------------------------------------------------------------- */
.woocommerce .wrap,.woocommerce-page .wrap{padding-top:0;}
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.woocommerce #respond input#submit,.woocommerce-page a.button,.woocommerce input.button{background:var(--terra);color:#fff;border-radius:var(--r-pill);padding:12px 26px;font-size:13.5px;letter-spacing:.04em;border:none;font-weight:400;transition:background .2s;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,.woocommerce input.button:hover{background:var(--rust);color:#fff;}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit.alt,.woocommerce input.button.alt{background:var(--aubergine);}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--wine);}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce div.product .product_title{font-family:var(--serif);color:var(--aubergine);}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rust);font-weight:500;}
.woocommerce ul.products li.product a img,.woocommerce div.product div.images img{border-radius:var(--r-md);box-shadow:var(--shadow-sm);}
.woocommerce .woocommerce-message{border-top-color:var(--terra);}
.woocommerce .woocommerce-message::before{color:var(--terra);}
.woocommerce .woocommerce-info{border-top-color:var(--aubergine);}
.woocommerce .woocommerce-info::before{color:var(--aubergine);}
.woocommerce .woocommerce-error{border-top-color:var(--rust);}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{color:var(--aubergine);}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--aubergine);color:var(--cream);border-radius:var(--r-pill);}
.woocommerce .woocommerce-ordering select,.woocommerce-cart table.cart td.actions .input-text{border:1px solid rgba(184,160,144,.4);border-radius:var(--r-sm);padding:8px 12px;}
.woocommerce-store-notice,p.demo_store{background:var(--aubergine);}
.woocommerce table.shop_table{border-radius:var(--r-md);overflow:hidden;}
.woocommerce .star-rating span{color:var(--terra);}

/* ---------------------------------------------------------------------------
 * BLOK-EDITOR: eigen blokstijlen + on-brand opmaak van kernblokken
 * ------------------------------------------------------------------------- */
/* Knop-varianten */
.wp-block-button.is-style-eoh-terra .wp-block-button__link{background:var(--terra);color:#fff;border-radius:var(--r-pill);}
.wp-block-button.is-style-eoh-terra .wp-block-button__link:hover{background:var(--rust);}
.wp-block-button.is-style-eoh-aubergine .wp-block-button__link{background:var(--aubergine);color:var(--cream);border-radius:var(--r-pill);}
.wp-block-button.is-style-eoh-aubergine .wp-block-button__link:hover{background:var(--wine);}
.wp-block-button.is-style-eoh-outline .wp-block-button__link{background:transparent;color:var(--aubergine);border:1px solid rgba(46,10,40,.3);border-radius:var(--r-pill);}
.wp-block-button.is-style-eoh-outline .wp-block-button__link:hover{background:rgba(46,10,40,.05);}

/* Kaart-stijl voor groep/kolommen */
.wp-block-group.is-style-eoh-card,.wp-block-columns.is-style-eoh-card{background:#fff;border:.5px solid rgba(184,160,144,.25);border-radius:var(--r-lg);padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-sm);}

/* Zacht citaat */
.wp-block-quote.is-style-eoh-soft{border-left:3px solid var(--terra);padding-left:22px;}
.wp-block-quote.is-style-eoh-soft p{font-family:var(--serif);font-style:italic;font-size:clamp(18px,3vw,24px);color:var(--aubergine);}
.wp-block-quote.is-style-eoh-soft cite{font-style:normal;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);}

/* FAQ-uitklapblokken (core/details) in de stijl */
.wp-block-details{background:#fff;border:1px solid rgba(184,160,144,.22);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:8px;transition:border-color .2s,box-shadow .2s;}
.wp-block-details[open]{border-color:rgba(46,10,40,.2);box-shadow:0 4px 20px rgba(46,10,40,.08);}
.wp-block-details summary{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--aubergine);cursor:pointer;list-style:none;outline:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.wp-block-details summary::-webkit-details-marker{display:none;}
.wp-block-details summary::after{content:"+";font-size:22px;font-weight:300;color:var(--taupe);transition:transform .25s;line-height:1;}
.wp-block-details[open] summary::after{transform:rotate(45deg);color:var(--terra);}
.wp-block-details p{margin-top:14px;font-size:14px;line-height:1.85;color:rgba(18,0,8,.62);}

/* Afbeelding-kaderstijlen */
.wp-block-image.is-style-eoh-framed img{border-radius:var(--r-lg);box-shadow:var(--shadow);}
.wp-block-image.is-style-eoh-arch img{border-radius:999px 999px var(--r-md) var(--r-md);box-shadow:var(--shadow);}

/* Media & tekst — kaartstijl */
.wp-block-media-text.is-style-eoh-card{background:#fff;border:.5px solid rgba(184,160,144,.25);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.wp-block-media-text.is-style-eoh-card .wp-block-media-text__content{padding:clamp(24px,4vw,44px);}
.wp-block-media-text__content > *{margin-bottom:16px;}

/* ---------- Foto-carrousel (galerij-blok met stijl "Carrousel") ---------- */
.wp-block-gallery.is-style-eoh-carousel{position:relative;display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:4px 2px 18px;margin:0;scrollbar-width:thin;scrollbar-color:var(--taupe) transparent;}
.wp-block-gallery.is-style-eoh-carousel::-webkit-scrollbar{height:6px;}
.wp-block-gallery.is-style-eoh-carousel::-webkit-scrollbar-thumb{background:rgba(184,160,144,.5);border-radius:999px;}
.wp-block-gallery.is-style-eoh-carousel .wp-block-image{flex:0 0 auto;width:min(72%,420px);scroll-snap-align:center;margin:0;}
.wp-block-gallery.is-style-eoh-carousel .wp-block-image img{width:100%;height:clamp(260px,42vw,460px);object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow);display:block;}
.wp-block-gallery.is-style-eoh-carousel figcaption{text-align:center;font-family:var(--serif);font-style:italic;color:var(--taupe);font-size:13px;}
/* Carrousel-wrapper met pijltjes (via JS toegevoegd) */
.eoh-carousel-wrap{position:relative;}
.eoh-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid rgba(184,160,144,.3);box-shadow:var(--shadow);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:background .2s,transform .15s;}
.eoh-carousel-nav:hover{background:#fff;}
.eoh-carousel-nav:active{transform:translateY(-50%) scale(.92);}
.eoh-carousel-nav svg{width:20px;height:20px;stroke:var(--aubergine);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.eoh-carousel-nav--prev{left:10px;}
.eoh-carousel-nav--next{right:10px;}
.eoh-carousel-nav[disabled]{opacity:.35;cursor:default;pointer-events:none;}
@media(max-width:600px){.eoh-carousel-nav{display:none;}.wp-block-gallery.is-style-eoh-carousel .wp-block-image{width:84%;}}

/* Algemene blok-content op pagina's: serif koppen, nette breedte */
.entry .wp-block-group,.entry .wp-block-columns{margin-bottom:24px;}
.entry .wp-block-cover{border-radius:var(--r-lg);overflow:hidden;}
.entry h2.has-xx-large-font-size,.entry h1.has-xx-large-font-size{line-height:1.1;}

/* Wide/full uitlijning binnen de lees-kolom (.entry) */
.entry .alignwide{width:min(1280px,100%);margin-left:auto;margin-right:auto;}
.entry .alignfull{width:100%;}

/* ---------------------------------------------------------------------------
 * BLOK-CANVAS (.eoh-blocks): full-bleed secties + nette leesbreedte + mobiel
 * ------------------------------------------------------------------------- */
.eoh-blocks{background:var(--bg);width:100%;overflow-x:clip;}
.eoh-blocks--top{padding-top:0;}
/* Een eerste blok dat GEEN volle-breedte sectie is, krijgt ruimte onder de vaste nav. */
.eoh-blocks--top > :first-child:not(.alignfull){padding-top:clamp(96px,12vw,120px);}

/* Losse blokken die je direct op de pagina plaatst: centreren op leesbreedte,
   met side-padding zodat ze op mobiel niet tegen de rand plakken. */
.eoh-blocks > :not(.alignfull):not(.alignwide){
	max-width:var(--max);
	margin-left:auto;margin-right:auto;
	padding-left:var(--gap);padding-right:var(--gap);
}
.eoh-blocks > .alignwide{
	max-width:1280px;
	margin-left:auto;margin-right:auto;
	padding-left:var(--gap);padding-right:var(--gap);
}
/* Volledige breedte: vult de hele canvas (die zelf al schermbreed is). */
.eoh-blocks > .alignfull{
	max-width:none;width:auto;
	margin-left:0;margin-right:0;
}
/* Volle-breedte secties (group/columns) krijgen binnen-padding op kleinere schermen,
   WordPress centreert de binnenkant zelf op de contentbreedte (theme.json). */
.eoh-blocks > .alignfull.wp-block-group,
.eoh-blocks > .alignfull.wp-block-columns,
.eoh-blocks > .wp-block-cover.alignfull{
	padding-left:var(--gap);padding-right:var(--gap);
}
/* Een omslag/afbeelding-blok op volle breedte mag wél rand-tot-rand (geen padding). */
.eoh-blocks > .wp-block-cover.alignfull{padding-left:0;padding-right:0;}

/* Responsiviteit: kolommen stapelen netjes op mobiel (vangnet bovenop WP-core). */
@media(max-width:781px){
	.eoh-blocks .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap;}
	.eoh-blocks .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100% !important;}
}
/* Alle blok-afbeeldingen blijven binnen hun kolom. */
.eoh-blocks img,.entry img{max-width:100%;height:auto;}

/* Thema-secties (via shortcode-blokken) lopen rand-tot-rand binnen blok-pagina's,
   net als op de andere pagina's — niet op leesbreedte knijpen.
   De extra :not()'s geven deze regel meer gewicht dan de algemene knijp-regel. */
.eoh-blocks > .newsletter:not(.alignwide):not(.alignfull),
.eoh-blocks > .testi-section:not(.alignwide):not(.alignfull),
.eoh-blocks > .home-feat:not(.alignwide):not(.alignfull),
.eoh-blocks > .home-cats:not(.alignwide):not(.alignfull),
.eoh-blocks > .shop-body:not(.alignwide):not(.alignfull),
.eoh-blocks > .events-body:not(.alignwide):not(.alignfull){
	max-width:none !important;width:auto;
	margin-left:0;margin-right:0;
	padding-left:0 !important;padding-right:0 !important;
}

/* Event-datum zonder ingevulde datum: toon een kalender-icoon i.p.v. lege pil. */
.event-date--empty{display:flex;align-items:center;justify-content:center;}
.event-date__icon{width:26px;height:26px;stroke:var(--cream);}
