/*
Theme Name:   Jasmijn Bloembinders Child
Theme URI:    https://jasmijnbloembinders.nl
Description:  Divi 4 child theme voor Jasmijn Bloembinders. Strak, modern en zakelijk. Kleuren aanpassen via de CSS-variabelen bovenaan dit bestand.
Author:       Jasmijn Bloembinders
Template:     Divi
Version:      3.0.0
Text Domain:  jasmijn-child
*/

/* ================================================
   KLEUREN — HIER AANPASSEN
   Verander alleen de hex-waarden achter de dubbele punt.
   De rest van de site past zich automatisch aan.
   ================================================ */
:root {
  --accent:       #c47a5a;   /* hoofdkleur: knoppen, accenten, links */
  --accent-dark:  #a36040;   /* hover-staat van accent */
  --accent-light: #f0e8e2;   /* lichte achtergrond op basis van accent */
  --dark:         #1a1a1a;   /* navigatie, donkere knoppen */
  --dark-mid:     #2e2e2e;   /* hover navigatie */
  --text:         #1a1a1a;   /* bodytekst */
  --text-muted:   #6b5a50;   /* subtekst, beschrijvingen */
  --text-soft:    #9a8878;   /* placeholders, labels */
  --bg:           #ffffff;   /* witte achtergrond */
  --bg-warm:      #f5f2ef;   /* warme achtergrond (hero) */
  --bg-soft:      #f9f8f6;   /* lichtgrijze achtergrond (producten) */
  --bg-dark:      #111111;   /* footer achtergrond */
  --border:       #e8e2dc;   /* randen */
  --border-dark:  #2a2a2a;   /* randen op donkere achtergrond */
  --font-head:    'Cormorant Garamond', Georgia, serif;
  --font-body:    'Jost', 'Helvetica Neue', Arial, sans-serif;
  --radius:       4px;
  --radius-lg:    8px;
  --max-width:    1200px;
}

/* ================================================
   BASE
   ================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-body) !important;
  font-size: 15px;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head) !important;
  font-weight: 300;
  line-height: 1.2;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }
p { line-height: 1.75; }

/* ================================================
   DIVI 4 — NAVIGATIE
   Divi 4 gebruikt vaste, goed gedocumenteerde selectors
   ================================================ */

/* Header achtergrond */
#main-header,
#main-header.et-fixed-header {
  background-color: var(--dark) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--border-dark) !important;
}

/* Logo hoogte */
#main-header .logo_container a img {
  max-height: 50px !important;
}

/* Navigatielinks */
#top-menu > li > a,
#top-menu > li > a:visited {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.7) !important;
  padding: 0 16px !important;
  transition: color .2s !important;
}

#top-menu > li > a:hover,
#top-menu > li.current_page_item > a,
#top-menu > li.current-menu-item > a {
  color: #fff !important;
}

/* Winkelwagen in navigatie */
#top-menu > li.jb-nav-cart > a {
  background: var(--accent) !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: var(--radius) !important;
  margin-left: 8px !important;
}
#top-menu > li.jb-nav-cart > a:hover {
  background: var(--accent-dark) !important;
}

/* WooCommerce cart icoon */
#et-top-navigation .et-cart-info {
  color: rgba(255,255,255,.7) !important;
}
#et-top-navigation .et-cart-info span {
  background: var(--accent) !important;
}

/* Dropdown menu */
#top-menu .sub-menu {
  background-color: var(--dark) !important;
  border: 1px solid var(--border-dark) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.35) !important;
  padding: 8px 0 !important;
}
#top-menu .sub-menu li a {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.65) !important;
  padding: 9px 20px !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
}
#top-menu .sub-menu li a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}

/* Mobiel hamburger */
.mobile_menu_bar::before { color: #fff !important; }
#et_mobile_nav_menu,
.et_mobile_menu { background: var(--dark) !important; }
.et_mobile_menu li a {
  color: rgba(255,255,255,.75) !important;
  border-bottom-color: var(--border-dark) !important;
}
.et_mobile_menu li a:hover { color: #fff !important; }

/* Fixed header scroll */
#main-header.et-fixed-header {
  background-color: var(--dark) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,.3) !important;
}

/* ================================================
   TOPBAR (boven de nav)
   ================================================ */
.jb-topbar {
  background: var(--dark-mid);
  color: rgba(255,255,255,.6);
  font-family: var(--font-body);
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 40px;
  border-bottom: 1px solid var(--border-dark);
}
.jb-topbar__left { display: flex; gap: 20px; align-items: center; }
.jb-topbar__item { display: flex; align-items: center; gap: 6px; }
.jb-topbar a { color: rgba(255,255,255,.6); transition: color .2s; }
.jb-topbar a:hover { color: #fff; }
.jb-topbar__right { display: flex; gap: 16px; align-items: center; }

/* ================================================
   DIVI 4 LAYOUT OVERRIDES
   ================================================ */

/* Sectie padding uitschakelen zodat onze modules de ruimte bepalen */
.et_pb_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Maar herstel padding als Divi custom padding heeft */
.et_pb_section[style*="padding-top"] {
  padding-top: revert !important;
}

/* Row breedte */
.et_pb_row {
  max-width: var(--max-width) !important;
  width: 80% !important;
}
.et_pb_row.et_pb_row_fullwidth,
.et_pb_section.et_full_width_page .et_pb_row {
  width: 100% !important;
  max-width: 100% !important;
}

/* Divi tekst module */
.et_pb_text_inner {
  font-family: var(--font-body);
  color: var(--text);
  line-height: 1.75;
}
.et_pb_text_inner h1,
.et_pb_text_inner h2,
.et_pb_text_inner h3 {
  font-family: var(--font-head) !important;
  font-weight: 300;
}

/* Divi eigen knoppen */
.et_pb_button {
  font-family: var(--font-body) !important;
  background: var(--dark) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 13px 26px !important;
  transition: background .2s !important;
}
.et_pb_button:hover {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
}
.et_pb_button::after { display: none !important; }

/* ================================================
   KNOPPEN (eigen classes)
   ================================================ */
.jb-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all .2s;
  text-decoration: none !important;
  border: none;
  line-height: 1;
}
.jb-btn--dark  { background: var(--dark); color: #fff !important; padding: 13px 26px; }
.jb-btn--dark:hover { background: var(--dark-mid); color: #fff !important; }
.jb-btn--accent { background: var(--accent); color: #fff !important; padding: 13px 26px; }
.jb-btn--accent:hover { background: var(--accent-dark); color: #fff !important; }
.jb-btn--ghost { background: transparent; color: var(--dark) !important; padding: 12px 26px; border: 1.5px solid var(--border); }
.jb-btn--ghost:hover { border-color: var(--dark); }
.jb-btn--ghost-white { background: transparent; color: #fff !important; padding: 12px 26px; border: 1.5px solid rgba(255,255,255,.4); }
.jb-btn--ghost-white:hover { border-color: rgba(255,255,255,.8); }
.jb-btn--sm { padding: 8px 16px; font-size: 11px; }

/* ================================================
   SECTIE TITELS
   ================================================ */
.jb-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.jb-eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--accent);
  flex-shrink: 0;
}

.jb-section-title {
  font-family: var(--font-head) !important;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--dark);
  line-height: 1.15;
  margin-bottom: 8px;
}
.jb-section-title em { font-style: italic; color: var(--accent); }

.jb-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 8px;
}

.jb-section-link {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--accent);
  transition: color .2s;
  text-decoration: none !important;
}
.jb-section-link:hover { color: var(--accent-dark); }

/* ================================================
   WOOCOMMERCE — PRODUCTGRID
   ================================================ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
}

.woocommerce ul.products li.product {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow .25s, transform .25s !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.08) !important;
  transform: translateY(-3px) !important;
}

.woocommerce ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 4/5 !important;
  object-fit: cover !important;
  display: block !important;
}

.woocommerce ul.products li.product .onsale {
  background: var(--accent) !important;
  border-radius: var(--radius) !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  line-height: 1.4 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  padding: 14px 14px 4px !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .price {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--dark) !important;
  padding: 0 14px 12px !important;
  display: block !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  background: var(--dark) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
  border: none !important;
  padding: 12px 14px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  transition: background .2s !important;
  margin-top: auto !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: var(--accent) !important;
  color: #fff !important;
}

/* ================================================
   WOOCOMMERCE — SINGLE PRODUCT
   ================================================ */
.woocommerce div.product .product_title {
  font-family: var(--font-head) !important;
  font-size: 2.2rem !important;
  font-weight: 300 !important;
  color: var(--dark) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--dark) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
}
.woocommerce div.product .single_add_to_cart_button {
  background: var(--dark) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius) !important;
  border: none !important;
  padding: 14px 28px !important;
  transition: background .2s !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--accent) !important;
}

/* Product addon velden */
.jb-addon-group {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px;
  margin: 18px 0;
  background: var(--bg-soft);
}
.jb-addon-group__title {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-soft);
  margin-bottom: 14px;
}
.jb-addon-group label {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text);
  display: block;
  margin-bottom: 5px;
}
.jb-addon-group input[type="text"],
.jb-addon-group textarea,
.jb-addon-group select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 12px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text);
  background: var(--bg);
  transition: border-color .2s;
  -webkit-appearance: none;
}
.jb-addon-group input:focus,
.jb-addon-group textarea:focus,
.jb-addon-group select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(196,122,90,.1);
}
.jb-checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-family: var(--font-body);
  margin-bottom: 10px;
}
.jb-checkbox-row input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--accent);
  flex-shrink: 0;
}
.jb-checkbox-row label { margin: 0 !important; cursor: pointer; }

/* ================================================
   WOOCOMMERCE — CART & CHECKOUT
   ================================================ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  padding: 12px 14px !important;
  transition: border-color .2s !important;
  color: var(--text) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(196,122,90,.12) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce #payment #place_order,
.woocommerce .checkout_coupon .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--dark) !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  font-size: 13px !important;
  transition: background .2s !important;
  border: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--accent) !important;
  color: #fff !important;
}

/* ================================================
   FOOTER — DIVI 4
   ================================================ */
#main-footer { background: var(--bg-dark) !important; }

#footer-widgets .footer-widget h4 {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.35) !important;
  margin-bottom: 14px !important;
}

#footer-widgets .footer-widget li a,
#footer-widgets .footer-widget p,
#footer-widgets .footer-widget address {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 2 !important;
}
#footer-widgets .footer-widget li a:hover { color: #fff !important; }

.et_pb_footer_bottom_bar,
#footer-bottom {
  background: #0a0a0a !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
}
#footer-info {
  color: rgba(255,255,255,.25) !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
}
#footer-bottom .et-social-icons li a {
  color: rgba(255,255,255,.3) !important;
  transition: color .2s !important;
}
#footer-bottom .et-social-icons li a:hover { color: rgba(255,255,255,.7) !important; }

/* ================================================
   RESPONSIVE
   ================================================ */
@media (max-width: 980px) {
  .jb-topbar { padding: 7px 20px; flex-wrap: wrap; gap: 6px; font-size: 11px; }
  .jb-section-title { font-size: 1.8rem; }
  .et_pb_row { width: 90% !important; }
}
@media (max-width: 767px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .et_pb_row { width: 95% !important; }
}
