/*
Theme Name: BioOogst
Theme URI: https://biooogst.nl
Author: BioOogst
Author URI: https://biooogst.nl
Description: Een warm, natuurlijk WooCommerce-thema voor BioOogst — biologische thee, koffie, kruiden en natuurproducten. Crème achtergrond, botanisch groen en warm bruin met gouden accenten.
Version: 1.2.6
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: biooogst
WC requires at least: 7.0
WC tested up to: 8.5
*/

:root{
  --cream:#F5F0E8; --cream-light:#FAF7F2;
  --green:#3D5A2E; --green-mid:#4F6E3A; --green-soft:#6B8A55;
  --brown:#5C3D2E; --gold:#A8884A;
  --text:#2A2217; --text-mid:#4A4236; --text-muted:#8A7D6E;
  --line:#DDD4C0; --star:#E8A020;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--cream-light); color:var(--text);
  font-family:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px; line-height:1.6;
}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.2;color:var(--text);}
a{text-decoration:none;color:inherit;cursor:pointer;}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px;}

/* ---------- TOPBAR ---------- */
.bo-topbar{background:var(--green);color:rgba(255,255,255,0.92);font-size:0.74rem;padding:8px 0;}
.bo-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.bo-topbar-items{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.bo-topbar-item{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.bo-topbar-item svg{width:13px;height:13px;opacity:0.85;flex-shrink:0;}

/* ---------- HEADER ---------- */
.bo-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
.bo-header-inner{display:flex;align-items:center;gap:20px;padding:12px 28px;}
.bo-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.bo-logo img{width:48px;height:48px;}
.bo-logo-text .brand{font-family:'Playfair Display',serif;font-size:1.35rem;letter-spacing:0.06em;line-height:1;}
.bo-logo-text .brand .bio{color:var(--green);}
.bo-logo-text .brand .oogst{color:var(--brown);}
.bo-logo-text .sub{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-muted);margin-top:2px;}
.bo-nav{flex-grow:1;}
.bo-nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;}
.bo-nav li{position:relative;}
.bo-nav li a{display:flex;align-items:center;gap:4px;padding:10px 13px;font-size:0.85rem;color:var(--text-mid);transition:color 0.2s;white-space:nowrap;}
.bo-nav .sub-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-top:2px solid var(--green);min-width:180px;padding:8px 0;box-shadow:0 8px 24px rgba(0,0,0,0.1);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 0.18s,transform 0.18s;z-index:200;}
.bo-nav .sub-menu li a{padding:9px 18px;}
@media (hover: hover) and (pointer: fine) {
  .bo-nav li a:hover,.bo-nav li.current-menu-item>a{color:var(--green);}
  .bo-nav li:hover>.sub-menu{opacity:1;pointer-events:auto;transform:translateY(0);}
  .bo-nav .sub-menu li a:hover{background:var(--cream);}
}
.bo-nav li.current-menu-item>a{color:var(--green);}
.bo-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.bo-icon-btn{background:none;border:none;padding:9px;color:var(--text-mid);cursor:pointer;position:relative;border-radius:50%;display:inline-flex;}
.bo-icon-btn:hover{color:var(--green);background:var(--cream);}
.bo-icon-btn svg{width:20px;height:20px;}
.bo-cart-badge{position:absolute;top:2px;right:2px;background:var(--green);color:#fff;font-size:0.6rem;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;}

/* ---------- HERO ---------- */
.bo-hero{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:center;background:linear-gradient(135deg,#c4b894 0%,#ccc4a8 40%,#a8bb92 100%);}
.bo-hero-deco{position:absolute;inset:0;pointer-events:none;}
.bo-hero-deco::before{content:'';position:absolute;left:-60px;top:-40px;width:360px;height:440px;background:radial-gradient(ellipse 60% 80% at 40% 50%,rgba(170,190,140,0.5) 0%,transparent 70%),radial-gradient(circle at 60% 80%,rgba(200,170,110,0.4) 0%,transparent 50%);}
.bo-hero-deco::after{content:'';position:absolute;right:-40px;top:0;bottom:0;width:420px;background:radial-gradient(ellipse 70% 80% at 50% 40%,rgba(130,160,110,0.45) 0%,transparent 65%),radial-gradient(circle at 30% 70%,rgba(200,180,130,0.4) 0%,transparent 50%);}
.bo-hero-content{position:relative;z-index:2;text-align:center;padding:64px 24px;max-width:600px;margin:0 auto;}
.bo-hero-content h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.15;margin:0 0 16px;}
.bo-hero-content p{color:var(--text-mid);font-size:1rem;max-width:430px;margin:0 auto 26px;}
.bo-btn{display:inline-block;background:var(--green);color:#fff;border:none;padding:14px 32px;border-radius:3px;font-size:0.9rem;font-weight:600;letter-spacing:0.04em;cursor:pointer;transition:background 0.2s,transform 0.2s;}
.bo-btn:hover{background:var(--green-mid);color:#fff;transform:translateY(-2px);}

/* ---------- USP STRIP ---------- */
.bo-usp{background:#fff;border-bottom:1px solid var(--line);padding:22px 0;}
.bo-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bo-usp-item{display:flex;align-items:flex-start;gap:12px;}
.bo-usp-icon{width:34px;height:34px;flex-shrink:0;border:1.5px solid var(--green-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--green);}
.bo-usp-icon svg{width:15px;height:15px;}
.bo-usp-text strong{display:block;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--green);margin-bottom:1px;}
.bo-usp-text span{font-size:0.78rem;color:var(--text-muted);}

/* ---------- CATEGORY TILES ---------- */
.bo-cats{padding:44px 0 32px;}
.bo-cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.bo-cat-tile{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:flex-end;}
.bo-cat-bg{position:absolute;inset:0;transition:transform 0.4s ease;}
.bo-cat-tile:hover .bo-cat-bg{transform:scale(1.05);}
.bo-cat-tile.t-thee .bo-cat-bg{background:linear-gradient(145deg,#d4e0c4 0%,#b8cca0 40%,#8aa878 100%);}
.bo-cat-tile.t-koffie .bo-cat-bg{background:linear-gradient(145deg,#c8a878 0%,#a07848 40%,#6a4828 100%);}
.bo-cat-tile.t-kruiden .bo-cat-bg{background:linear-gradient(145deg,#c8d4a8 0%,#a8c080 40%,#7a9050 100%);}
.bo-cat-tile.t-natuur .bo-cat-bg{background:linear-gradient(145deg,#e0d0b0 0%,#c8b080 40%,#a08858 100%);}
.bo-cat-svg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0.45;}
.bo-cat-svg svg{width:80px;height:80px;}
.bo-cat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.55) 0%,rgba(0,0,0,0) 60%);}
.bo-cat-content{position:relative;z-index:2;padding:16px 14px;width:100%;}
.bo-cat-content h3{color:#fff;font-size:1.28rem;margin:0 0 8px;}
.bo-cat-btn{display:inline-block;background:rgba(255,255,255,0.9);color:var(--text);padding:6px 14px;border-radius:2px;font-size:0.78rem;font-weight:600;}

/* ---------- SECTION HEADS ---------- */
.bo-section{padding:40px 0 48px;}
.bo-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.bo-section-head h2{font-size:1.6rem;margin:0;}
.bo-see-all{font-size:0.85rem;color:var(--green);font-weight:500;display:inline-flex;align-items:center;gap:5px;}

/* ---------- WOOCOMMERCE PRODUCT GRID ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 !important;padding:0 !important;list-style:none;}
/* WooCommerce voegt standaard ::before/::after clearfix toe; in een grid tellen die als lege cellen. Verbergen: */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{display:none !important;content:none !important;}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{width:auto !important;margin:0 !important;float:none !important;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;padding:0 !important;transition:transform 0.22s,box-shadow 0.22s;text-align:left;}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,0.1);}
.woocommerce ul.products li.product a img{margin:0;background:var(--cream);aspect-ratio:1;object-fit:cover;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Work Sans',sans-serif !important;font-size:0.9rem !important;font-weight:500 !important;color:var(--text) !important;padding:12px 13px 2px !important;}
.woocommerce ul.products li.product .bo-loop-excerpt{font-size:0.78rem !important;color:var(--text-muted) !important;padding:0 13px !important;margin:0 0 8px !important;line-height:1.5 !important;}
.woocommerce ul.products li.product .price{color:var(--text) !important;font-weight:600 !important;font-size:1rem !important;padding:0 13px !important;display:block;}
.woocommerce ul.products li.product .price del{color:var(--text-muted) !important;font-weight:400;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .star-rating{margin:6px 13px !important;font-size:0.8em;}
.woocommerce .star-rating span::before{color:var(--star);}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:8px 13px 14px !important;background:var(--green) !important;color:#fff !important;
  border-radius:4px !important;font-size:0.82rem !important;padding:9px 14px !important;
  display:inline-block;transition:background 0.2s;font-weight:500;
}
.woocommerce ul.products li.product .button:hover{background:var(--green-mid) !important;}

/* ---------- WOOCOMMERCE BUTTONS (algemeen) ---------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  background:var(--green) !important;color:#fff !important;border-radius:4px !important;
  font-weight:600 !important;padding:12px 24px !important;text-transform:none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--green-mid) !important;}
.woocommerce span.onsale{background:var(--gold) !important;color:#fff !important;}

/* ---------- WOOCOMMERCE SINGLE PRODUCT ---------- */
.single-product div.product .product_title{font-size:1.85rem;}
.single-product div.product p.price,
.single-product div.product span.price{color:var(--text) !important;font-size:1.6rem !important;font-weight:700;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--green);}

/* ---------- BREADCRUMB ---------- */
.woocommerce .woocommerce-breadcrumb{font-size:0.82rem;color:var(--text-muted);padding:16px 0;}
.woocommerce .woocommerce-breadcrumb a{color:var(--text-muted);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--green);}

/* ---------- PAGE TITLE (shop/archive) ---------- */
.bo-page-header{background:linear-gradient(135deg,#c4b894 0%,#ccc4a8 40%,#a8bb92 100%);padding:40px 0 36px;text-align:center;position:relative;overflow:hidden;margin-bottom:0;}
.bo-page-header-inner{position:relative;z-index:2;}
.bo-page-header h1{font-size:clamp(1.8rem,4vw,2.4rem);margin:0;}
.bo-page-header p{color:var(--text-mid);font-size:0.94rem;max-width:480px;margin:10px auto 0;}

/* ---------- ABOUT BANNER ---------- */
.bo-banner{background:var(--cream);border-radius:8px;margin:0 0 52px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:200px;}
.bo-banner-text{padding:40px 44px;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.bo-banner-text h2{font-size:1.85rem;margin:0;max-width:320px;line-height:1.25;}
.bo-banner-text p{color:var(--text-muted);font-size:0.9rem;max-width:360px;margin:0;}
.bo-banner-img{background:linear-gradient(135deg,#c8d4b0 0%,#b0c490 50%,#d8c8a0 100%);display:flex;align-items:center;justify-content:center;padding:28px;position:relative;overflow:hidden;}
.bo-banner-circles{position:relative;z-index:2;display:flex;align-items:center;gap:18px;}
.bo-b-circle{border-radius:50%;background:rgba(255,255,255,0.38);display:flex;align-items:center;justify-content:center;}

/* ---------- FOOTER USP ---------- */
.bo-footer-usp{background:var(--cream-light);border-top:1px solid var(--line);padding:34px 0;}
.bo-footer-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.bo-footer-usp-item{display:flex;align-items:flex-start;gap:12px;}
.bo-fusp-icon{color:var(--green-soft);flex-shrink:0;}
.bo-fusp-icon svg{width:26px;height:26px;}
.bo-fusp-text strong{display:block;font-size:0.85rem;color:var(--text);margin-bottom:2px;}
.bo-fusp-text span{font-size:0.78rem;color:var(--text-muted);}

/* ---------- FOOTER ---------- */
.bo-footer{background:var(--green);color:rgba(255,255,255,0.85);padding:42px 0 24px;}
.bo-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
.bo-footer h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:#fff;margin:0 0 12px;font-weight:500;}
.bo-footer p{font-size:0.82rem;line-height:1.75;margin:0;}
.bo-footer ul{list-style:none;margin:0;padding:0;}
.bo-footer ul li{margin-bottom:7px;}
.bo-footer ul a{font-size:0.82rem;opacity:0.8;}
.bo-footer ul a:hover{opacity:1;}
.bo-footer-bottom{border-top:1px solid rgba(255,255,255,0.2);padding-top:18px;font-size:0.76rem;opacity:0.6;text-align:center;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr);}
  .bo-cats-grid{grid-template-columns:repeat(2,1fr);}
  .bo-usp-grid{grid-template-columns:repeat(2,1fr);}
  .bo-footer-grid{grid-template-columns:1fr 1fr;}
  .bo-footer-usp-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:782px){
  .bo-nav{display:none;}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}
  .bo-banner{grid-template-columns:1fr;}
  .bo-footer-grid{grid-template-columns:1fr;}
}

/* mobile menu toggle */
.bo-menu-toggle{display:none;background:none;border:none;padding:9px;color:var(--text-mid);cursor:pointer;}
.bo-menu-toggle svg{width:24px;height:24px;}
@media(max-width:782px){
  .bo-menu-toggle{display:inline-flex;}
  .bo-nav.bo-mobile-open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 20px rgba(0,0,0,0.08);z-index:50;}
  .bo-nav.bo-mobile-open a{pointer-events:auto;}
  .bo-nav.bo-mobile-open ul{flex-direction:column;align-items:stretch;padding:8px 0;}
  .bo-nav.bo-mobile-open .sub-menu{position:static;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border:none;border-top:none;padding-left:16px;}
}

/* ================= BIOOOGST — HERONTWORPEN PRODUCTPAGINA ================= */
.bo-pd-wrap{padding-top:8px;padding-bottom:60px;}
.bo-breadcrumb{font-size:0.82rem;color:var(--text-muted);padding:14px 0 6px;}
.bo-breadcrumb a{color:var(--text-muted);}
.bo-breadcrumb a:hover{color:var(--green);}
.bo-crumb-sep{margin:0 2px;}

.bo-pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-top:10px;}

.bo-pd-image{aspect-ratio:1;background:var(--cream);border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.bo-pd-image img{width:100%;height:100%;object-fit:cover;}
.bo-pd-noimg{color:var(--text-muted);font-size:0.9rem;text-align:center;padding:20px;}
.bo-bio-badge{position:absolute;top:18px;left:18px;z-index:2;width:44px;height:44px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;letter-spacing:0.04em;}

.bo-pd-title{font-size:1.85rem;margin-bottom:6px;color:var(--text);}
.bo-pd-tagline{color:var(--green-soft);font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:14px;display:inline-block;}

.bo-pd-rating{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:0.86rem;color:var(--text-muted);}
.bo-pd-rating .star-rating{font-size:0.9em;}
.bo-pd-rating .star-rating span::before{color:#E8A020;}

.bo-pd-price{font-size:1.85rem;font-weight:700;color:var(--text);margin-bottom:18px;font-family:'Work Sans',sans-serif;}
.bo-pd-price ins{text-decoration:none;}
.bo-pd-price del{font-size:1.1rem;color:var(--text-muted);margin-right:8px;}

.bo-pd-shortdesc{
  background:var(--cream);border-left:3px solid var(--green);border-radius:6px;
  padding:14px 16px;margin-bottom:22px;color:var(--text-mid);font-size:0.95rem;line-height:1.8;
}
.bo-pd-shortdesc p{margin-bottom:8px;}
.bo-pd-shortdesc p:last-child{margin-bottom:0;}
.bo-pd-shortdesc strong{color:var(--green);}

/* WooCommerce cart-formulier (quantity + button) in onze stijl */
.bo-pd-cart{margin-bottom:22px;}
.bo-pd-cart form.cart{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.bo-pd-cart .quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff;}
.bo-pd-cart .quantity input.qty{
  width:70px;height:44px;text-align:center;border:none;font-family:'Work Sans',sans-serif;
  font-size:0.95rem;font-weight:600;color:var(--text);background:transparent;
}
.bo-pd-cart button.single_add_to_cart_button{
  background:var(--green) !important;color:#fff !important;border:none !important;
  border-radius:4px !important;padding:13px 30px !important;font-size:0.95rem !important;
  font-weight:600 !important;flex-grow:1;min-width:200px;transition:background 0.2s;text-transform:none !important;
}
.bo-pd-cart button.single_add_to_cart_button:hover{background:var(--green-mid) !important;}

.bo-pd-meta{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--line);margin-bottom:26px;}
.bo-pd-meta-item{display:flex;align-items:center;gap:10px;font-size:0.86rem;color:var(--text-mid);}
.bo-pd-meta-item svg{width:17px;height:17px;color:var(--green-soft);flex-shrink:0;}
.bo-pd-sku{color:var(--text-muted);font-size:0.78rem;padding-left:27px;}

.bo-pd-fulldesc h3{font-size:1.05rem;color:var(--text);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--green);display:inline-block;}
.bo-pd-fulldesc p{color:var(--text-mid);font-size:0.94rem;line-height:1.85;margin-bottom:12px;}
.bo-pd-fulldesc strong{color:var(--text);}

/* Gerelateerde producten - hergebruikt WooCommerce's eigen ul.products styling */
.bo-related{margin-top:60px;padding-top:30px;border-top:1px solid var(--line);}
.bo-related > h2{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:20px;color:var(--text);}

@media(max-width:782px){
  .bo-pd-grid{grid-template-columns:1fr;gap:28px;}
}

/* ---------- SUBCATEGORIE-CHIPS op categoriepagina ---------- */
.bo-subcat-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;}
.bo-subcat-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:8px 16px;font-size:0.88rem;color:var(--text-mid);transition:all 0.18s;}
.bo-subcat-chip:hover{background:var(--green);color:#fff;border-color:var(--green);}
.bo-subcat-chip span{color:var(--text-muted);font-size:0.8rem;}
.bo-subcat-chip:hover span{color:rgba(255,255,255,0.8);}

/* ---------- UITKLAPBARE ZOEKBALK ---------- */
.bo-search-bar{max-height:0;overflow:hidden;background:var(--cream);border-bottom:1px solid var(--line);transition:max-height 0.28s ease;}
.bo-search-bar.bo-search-open{max-height:120px;}
.bo-search-form{display:flex;align-items:center;gap:12px;padding:16px 0;}
.bo-search-form svg{width:20px;height:20px;color:var(--green-soft);flex-shrink:0;}
.bo-search-form input[type="search"]{flex-grow:1;border:1px solid var(--line);border-radius:6px;padding:12px 16px;font-size:0.95rem;font-family:'Work Sans',sans-serif;background:#fff;color:var(--text);}
.bo-search-form input[type="search"]:focus{outline:none;border-color:var(--green);}
.bo-search-submit{background:var(--green);color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:0.92rem;font-weight:600;cursor:pointer;transition:background 0.2s;flex-shrink:0;}
.bo-search-submit:hover{background:var(--green-mid);}
.bo-search-toggle{background:none;border:none;cursor:pointer;padding:9px;}
@media(max-width:600px){
  .bo-search-form{flex-wrap:wrap;}
  .bo-search-form input[type="search"]{min-width:0;}
}

/* ---------- SHOP: resultaat-teller + sorteer-dropdown netjes uitlijnen ---------- */
.woocommerce .woocommerce-result-count{float:none !important;margin:0 !important;font-size:0.85rem;color:var(--text-muted);line-height:40px;}
.woocommerce .woocommerce-ordering{float:none !important;margin:0 !important;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line);border-radius:6px;padding:9px 14px;font-family:'Work Sans',sans-serif;font-size:0.88rem;background:#fff;color:var(--text-mid);}
/* zet teller links en dropdown rechts op één regel */
.woocommerce-notices-wrapper + .woocommerce-result-count,
.woocommerce .woocommerce-result-count{display:inline-block;}
.bo-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}

/* ================= CHECKOUT / AFREKENEN ================= */
.woocommerce-checkout .wrap,
body.woocommerce-checkout .site-main{max-width:1100px;margin:0 auto;}

/* Titel */
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--text);margin-bottom:8px;}

/* Coupon-balk */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:24px;}
.woocommerce-checkout .woocommerce-info{background:var(--cream) !important;border-top:3px solid var(--green) !important;border-radius:6px;padding:16px 18px !important;color:var(--text-mid) !important;font-size:0.9rem;}
.woocommerce-checkout .woocommerce-info a{color:var(--green) !important;font-weight:600;}
.woocommerce-checkout .woocommerce-info::before{color:var(--green) !important;}

/* Kolom-indeling */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:auto !important;float:none !important;}

/* Sectiekoppen */
.woocommerce-checkout h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--text);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--green);}

/* Labels */
.woocommerce-checkout .form-row label{font-size:0.88rem;font-weight:500;color:var(--text-mid);margin-bottom:6px;display:block;}
.woocommerce-checkout .form-row label .required{color:var(--brown);}

/* Invoervelden */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout .form-row select,
.woocommerce-checkout #billing_country_field .woocommerce-input-wrapper{
  width:100%;border:1px solid var(--line) !important;border-radius:6px !important;
  padding:12px 14px !important;font-family:'Work Sans',sans-serif !important;font-size:0.95rem !important;
  background:#fff !important;color:var(--text) !important;box-sizing:border-box;min-height:46px;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{outline:none;border-color:var(--green) !important;}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:22px;padding:0;color:var(--text);}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{top:10px;}

/* Bestel-overzicht tabel */
.woocommerce-checkout #order_review{background:var(--cream);border-radius:10px;padding:24px;margin-top:10px;}
.woocommerce-checkout #order_review table.shop_table{border:none;background:transparent;}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{border:none;border-bottom:1px solid var(--line);padding:12px 0;font-size:0.92rem;color:var(--text-mid);}
.woocommerce-checkout #order_review table.shop_table thead th{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--text);border-bottom:2px solid var(--green);}
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td{font-weight:700;color:var(--text);font-size:1.05rem;border-bottom:none;}
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td{font-weight:600;}

/* Betaalmethoden */
.woocommerce-checkout #payment{background:transparent;}
.woocommerce-checkout #payment ul.payment_methods{border:none;padding:16px 0;}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:6px;}

/* Bestelknop */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order{
  background:var(--green) !important;color:#fff !important;border:none !important;
  border-radius:6px !important;padding:16px 32px !important;font-size:1.05rem !important;
  font-weight:600 !important;width:100%;margin-top:12px;transition:background 0.2s;text-transform:none !important;
}
.woocommerce-checkout #place_order:hover{background:var(--green-mid) !important;}

/* Privacy-tekst */
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:0.82rem;color:var(--text-muted);margin:16px 0;}

@media(max-width:782px){
  .woocommerce-checkout .col2-set{grid-template-columns:1fr;gap:24px;}
}


/* ============================================================
   v1.1.0 — Winkelwagen-styling + fixes (coupon-icoon & mobiele checkout)
   ============================================================ */

/* ---------- WINKELWAGEN (CART) in huisstijl ---------- */
.woocommerce-cart .wrap,
body.woocommerce-cart .site-main{max-width:1100px;margin:0 auto;}

.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--text);margin-bottom:20px;}

/* Cart-tabel */
.woocommerce-cart table.shop_table{
  border:1px solid var(--line) !important;border-radius:10px;overflow:hidden;
  border-collapse:separate !important;background:#fff;
}
.woocommerce-cart table.shop_table thead th{
  background:var(--cream) !important;font-family:'Playfair Display',serif;
  font-size:1rem;color:var(--text);border-bottom:2px solid var(--green);padding:16px !important;
}
.woocommerce-cart table.shop_table td{
  padding:16px !important;vertical-align:middle !important;
  border-top:1px solid var(--line);color:var(--text-mid);
}
.woocommerce-cart table.cart img{
  width:64px !important;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);
}
.woocommerce-cart table.cart td.product-name a{color:var(--text);font-weight:600;}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--green);}

/* Verwijder-kruisje */
.woocommerce-cart a.remove{
  color:var(--green) !important;font-size:20px;line-height:1.4;font-weight:400;border-radius:50%;
}
.woocommerce-cart a.remove:hover{background:var(--green) !important;color:#fff !important;}

/* Aantal-veld */
.woocommerce-cart .quantity input.qty{
  border:1px solid var(--line);border-radius:4px;padding:8px;min-height:42px;background:#fff;color:var(--text);
}

/* Waardebon-veld */
.woocommerce-cart .cart .actions .coupon input#coupon_code{
  border:1px solid var(--line) !important;border-radius:4px !important;padding:12px 14px !important;min-height:46px;
}

/* Totalen-blok */
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;}
.woocommerce-cart .cart_totals h2{
  font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--text);
  border-bottom:2px solid var(--green);padding-bottom:10px;margin-bottom:0;
}
.woocommerce-cart .cart_totals table.shop_table{
  background:var(--cream) !important;border:1px solid var(--line) !important;border-radius:10px;margin-top:16px;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border-bottom:1px solid var(--line) !important;padding:14px 18px !important;color:var(--text-mid);
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{font-weight:700;color:var(--text);font-size:1.05rem;}

/* Doorgaan-naar-afrekenen knop volle breedte */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block;text-align:center;width:100%;padding:16px 24px !important;
  font-size:1.05rem !important;border-radius:6px !important;
}

/* ---------- FIX 1: kapot icoontje vóór meldingen (waardebon-balk) ---------- */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-checkout .woocommerce-info::before{
  content:none !important;display:none !important;
}

/* ---------- FIX 2 (v1.1.2): afrekenpagina ALTIJD netjes onder elkaar ----------
   Eén kolom op elk scherm + velden binnen het kader (geen uitstekende
   Land/regio-lijst meer, dus geen horizontale overflow / uitzoomen). */
body.woocommerce-checkout form.checkout{
  display:block !important;max-width:820px;margin:0 auto !important;
}
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col2-set > .col-1,
body.woocommerce-checkout .col2-set > .col-2{
  display:block !important;width:100% !important;max-width:100% !important;
  float:none !important;grid-template-columns:1fr !important;
  margin-left:0 !important;margin-right:0 !important;
  padding-left:0 !important;padding-right:0 !important;
}
/* Alle velden + de Land/regio-keuzelijst netjes binnen de rand */
body.woocommerce-checkout .form-row,
body.woocommerce-checkout .woocommerce-input-wrapper,
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .select2,
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-container .select2-selection,
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100% !important;max-width:100% !important;box-sizing:border-box !important;
}
/* Elke rij als net blok met vaste tussenruimte → geen overlap meer */
body.woocommerce-checkout .form-row{
  display:block !important;width:100% !important;
  float:none !important;clear:both !important;position:static !important;
  margin:0 0 18px !important;padding:0 !important;
}
/* Land/regio-keuzelijst (select2) zelfde hoogte als de invoervelden */
body.woocommerce-checkout .select2-container{display:block !important;position:relative !important;}
body.woocommerce-checkout .select2-container .select2-selection--single{
  height:48px !important;display:flex !important;align-items:center !important;
  padding:0 14px !important;border:1px solid var(--line) !important;border-radius:6px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px !important;}

/* Voornaam / Achternaam blijven netjes naast elkaar (2 velden) */
@media(min-width:520px){
  body.woocommerce-checkout .form-row-first{width:48% !important;float:left !important;clear:left !important;margin-right:4% !important;}
  body.woocommerce-checkout .form-row-last{width:48% !important;float:right !important;clear:right !important;margin-right:0 !important;}
}


/* ============================================================
   v1.1.1 — Mijn account in huisstijl
   ============================================================ */
.woocommerce-account .wrap,
body.woocommerce-account .site-main{max-width:1100px;margin:0 auto;}

.woocommerce-account h1.entry-title,
.woocommerce-account .page-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--text);margin-bottom:24px;}

/* Layout: menu links, inhoud rechts */
.woocommerce-account .woocommerce{display:flex;gap:36px;align-items:flex-start;flex-wrap:wrap;}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none !important;width:260px;flex:0 0 260px;}
.woocommerce-account .woocommerce-MyAccount-content{float:none !important;width:auto;flex:1 1 340px;min-width:0;}

/* Navigatie als net kaartje */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:8px;background:var(--cream);
  border:1px solid var(--line);border-radius:10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0;border:none;}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:block;padding:12px 16px;border-radius:6px;color:var(--text-mid);
  font-weight:500;transition:background .15s,color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:#fff;color:var(--green);}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
  background:var(--green);color:#fff;
}

/* Inhoud */
.woocommerce-account .woocommerce-MyAccount-content{color:var(--text-mid);}
.woocommerce-account .woocommerce-MyAccount-content p{line-height:1.7;}
.woocommerce-account .woocommerce-MyAccount-content strong{color:var(--text);}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  font-family:'Playfair Display',serif;color:var(--text);
  border-bottom:2px solid var(--green);padding-bottom:8px;margin:0 0 18px;
}

/* Tabellen (bestellingen / adressen) */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-orders-table{
  border:1px solid var(--line) !important;border-radius:10px;overflow:hidden;
  border-collapse:separate !important;background:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content table th{
  background:var(--cream) !important;color:var(--text);font-weight:600;padding:14px !important;
}
.woocommerce-account .woocommerce-MyAccount-content table td{
  padding:14px !important;border-top:1px solid var(--line);
}

/* Formuliervelden (accountdetails / adressen) in dezelfde stijl als afrekenen */
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-input-wrapper input,
.woocommerce-account .woocommerce-MyAccount-content form input.input-text,
.woocommerce-account .woocommerce-MyAccount-content form select,
.woocommerce-account .woocommerce-MyAccount-content form textarea{
  width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px;
  min-height:48px;background:#fff;color:var(--text);box-sizing:border-box;
}
.woocommerce-account .woocommerce-MyAccount-content form input:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus,
.woocommerce-account .woocommerce-MyAccount-content form textarea:focus{
  outline:none;border-color:var(--green);
}
.woocommerce-account .woocommerce-MyAccount-content form label{
  font-size:.88rem;font-weight:500;color:var(--text-mid);margin-bottom:6px;display:block;
}

/* Stapelen op mobiel */
@media(max-width:768px){
  .woocommerce-account .woocommerce{flex-direction:column;gap:24px;}
  .woocommerce-account .woocommerce-MyAccount-navigation{width:100%;flex:1 1 100%;}
}


/* ============================================================
   v1.2.0 — Retourformulier ([bo_retourformulier])
   ============================================================ */
.bo-retour-form{
  max-width:640px;margin:0 auto;background:var(--cream);border:1px solid var(--line);
  border-radius:12px;padding:32px;box-sizing:border-box;
}
/* Honeypot-veld volledig verborgen voor mensen */
.bo-hp-field{position:absolute !important;left:-9999px !important;top:-9999px !important;}

.bo-form-row{margin-bottom:20px;width:100%;box-sizing:border-box;}
.bo-form-row label{display:block;font-weight:600;color:var(--text);margin-bottom:6px;font-size:.92rem;}
.bo-form-row input[type=text],
.bo-form-row input[type=email],
.bo-form-row textarea,
.bo-form-row select{
  width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px;
  min-height:48px;background:#fff;color:var(--text);box-sizing:border-box;
  font-family:inherit;font-size:1rem;
}
.bo-form-row textarea{min-height:90px;resize:vertical;}
.bo-form-row input:focus,
.bo-form-row textarea:focus,
.bo-form-row select:focus{outline:none;border-color:var(--green);}

@media(min-width:560px){
  .bo-retour-form{display:flex;flex-wrap:wrap;gap:0 20px;}
  .bo-retour-form .bo-form-row{flex:1 1 100%;}
  .bo-retour-form .bo-form-row-half{flex:1 1 calc(50% - 10px);}
}

.bo-retour-submit{
  background:var(--green) !important;color:#fff !important;border:none;border-radius:6px;
  padding:14px 28px;font-weight:600;font-size:1rem;cursor:pointer;width:100%;
  transition:background .15s ease;
}
.bo-retour-submit:hover{background:var(--green-mid) !important;}

.bo-retour-succes{
  max-width:640px;margin:0 auto;background:var(--cream);border:1px solid var(--line);
  border-left:4px solid var(--green);border-radius:12px;padding:32px;text-align:center;
}
.bo-retour-succes h3{font-family:'Playfair Display',serif;color:var(--text);margin-bottom:12px;font-size:1.4rem;}
.bo-retour-succes p{color:var(--text-mid);line-height:1.6;}


/* ============================================================
   v1.2.1 — Opmaak voor automatisch aangemaakte pagina's
   (Algemene voorwaarden, Privacybeleid, Verzending & Retour)
   ============================================================ */
.bo-page-content{color:var(--text-mid);line-height:1.7;}
.bo-page-content h2{
  font-family:'Playfair Display',serif;color:var(--text);font-size:1.35rem;
  margin:32px 0 12px;border-bottom:2px solid var(--green);padding-bottom:8px;
}
.bo-page-content h2:first-child{margin-top:0;}
.bo-page-content h3{
  font-family:'Playfair Display',serif;color:var(--text);font-size:1.1rem;margin:22px 0 8px;
}
.bo-page-content p{margin:0 0 14px;}
.bo-page-content ul{margin:0 0 14px;padding-left:22px;}
.bo-page-content li{margin-bottom:6px;}
.bo-page-content a{color:var(--green);font-weight:600;}
.bo-page-content a:hover{text-decoration:underline;}
.bo-page-content strong{color:var(--text);}
