/*
Theme Name: Doggydog
Theme URI: https://doggydog.nl
Description: Volledig custom WordPress thema voor Doggydog hondenmanden webshop. WooCommerce ready.
Author: Doggydog
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: doggydog
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════════════ */
:root {
  --brand:        #3d7a5e;
  --brand-dark:   #2e5e47;
  --brand-ink:    #ffffff;
  --accent:       #f5a623;
  --accent-ink:   #1a1a1a;
  --ink:          #1a1a1a;
  --ink-muted:    #6b7280;
  --bg:           #fafaf8;
  --surface:      #ffffff;
  --surface-2:    #f3f3ef;
  --card:         #ffffff;
  --line:         #e5e5e0;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --r-sm:         8px;
  --r-md:         14px;
  --r-lg:         20px;
  --shadow-sm:    0 2px 8px rgba(20,30,25,.06);
  --shadow-md:    0 10px 32px rgba(20,30,25,.08);
  --shadow-lg:    0 12px 40px rgba(20,30,25,.18);
}

/* ═══════════════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: #fafaf8;
  color: #1a1a1a;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: #3d7a5e; text-decoration: none; }
a:hover { color: #2e5e47; }
button { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; cursor: pointer; }
ul { list-style: none; }

.screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════════════════ */
.dd-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

#page { display: flex; flex-direction: column; min-height: 100vh; }
#content { flex: 1; }

/* ═══════════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════════ */
#masthead {
  background: #ffffff;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 100;
}

/* ── Topbar ── */
.dd-topbar {
  background: #ffffff;
  border-bottom: 1px solid #e5e5e0;
}

.dd-topbar .dd-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 14px;
  padding-bottom: 14px;
}

/* Logo */
.dd-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.dd-logo-icon {
  width: 38px; height: 38px;
  border-radius: 12px;
  background: #3d7a5e;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dd-logo-name {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.02em;
  color: #1a1a1a;
}


/* Alle manden dropdown */
.dd-cat-dropdown { position: relative; flex-shrink: 0; }

.dd-cat-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #f3f3ef;
  color: #1a1a1a;
  border: 1px solid #e5e5e0;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: background .15s;
}
.dd-cat-btn:hover { background: #e5e5e0; }

.dd-cat-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #ffffff;
  border: 1px solid #e5e5e0;
  border-radius: 14px;
  box-shadow: 0 10px 32px rgba(20,30,25,.08);
  min-width: 220px;
  padding: 8px 0;
  z-index: 200;
}
.dd-cat-menu[hidden] { display: none; }

.dd-cat-item {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  color: #1a1a1a;
  transition: background .1s, color .1s;
}
.dd-cat-item:hover { background: #f3f3ef; color: #3d7a5e; }

/* Zoekbalk */
.dd-search {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.dd-search-icon {
  position: absolute;
  left: 16px;
  color: #6b7280;
  pointer-events: none;
  display: flex;
  align-items: center;
}

.dd-search form { width: 100%; }

.dd-search input[type="search"] {
  width: 100%;
  padding: 12px 18px 12px 44px;
  border-radius: 12px;
  border: 1px solid #e5e5e0;
  background: #ffffff;
  color: #1a1a1a;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none;
}
.dd-search input[type="search"]:focus {
  border-color: #3d7a5e;
  box-shadow: 0 0 0 3px rgba(61,122,94,.12);
}
.dd-search input[type="search"]::placeholder { color: #6b7280; }

/* Rechter nav */
.dd-nav-right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
  flex-shrink: 0;
}

.dd-nav-link {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  white-space: nowrap;
}
.dd-nav-link:hover { color: #3d7a5e; }

.dd-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #1a1a1a;
  background: none;
  border: none;
  padding: 4px;
  transition: color .15s;
}
.dd-icon-btn:hover { color: #3d7a5e; }

.dd-cart-count {
  position: absolute;
  top: -4px; right: -6px;
  min-width: 18px; height: 18px;
  border-radius: 9px;
  background: #f5a623;
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}

/* ── Categorieënbalk ── */
.dd-catbar { border-bottom: 1px solid #e5e5e0; }

.dd-catbar .dd-wrap {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-
  padding-bottom: 0;
}
.dd-catbar .dd-wrap::-webkit-scrollbar { display: none; }

.dd-catbar-link {
  padding: 14px 0;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  color: #1a1a1a;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
  flex-shrink: 0;
}
.dd-catbar-link:hover { color: #3d7a5e; border-bottom-color: #3d7a5e; }
.dd-catbar-link.is-active { font-weight: 600; color: #3d7a5e; border-bottom-color: #3d7a5e; }

/* ── USP-balk ── */
.dd-usp { border-bottom: 1px solid #e5e5e0; }

.dd-usp .dd-wrap {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  padding-top: 12px;
  padding-bottom: 12px;
}

.dd-usp-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
}
.dd-usp-item svg { color: #3d7a5e; flex-shrink: 0; }
.dd-usp-item b { color: #1a1a1a; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════════ */

#content, #primary, .dd-hero, .dd-products, .dd-proof, .dd-categories, .dd-size-band {
  position: relative;
  z-index: 1;
}
.dd-hero {
  padding: 24px 0;
}

.dd-hero .dd-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.dd-hero-banner {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 5/4;
  background: #f3f3ef;
}

.dd-hero-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dd-hero-card {
  position: absolute;
  bottom: 28px;
  max-width: 340px;
  padding: 24px 26px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(20,30,25,.18);
}
.dd-hero-card.left  { left: 28px; }
.dd-hero-card.right { right: 28px; }

.dd-hero-eyebrow {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f5a623;
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 12px;
}

.dd-hero-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.025em;
  color: #1a1a1a;
}
.dd-hero-title .dot { color: #3d7a5e; }

.dd-hero-accent {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: 20px;
  color: #3d7a5e;
  margin-top: 4px;
}

.dd-hero-body {
  font-size: 13.5px;
  line-height: 1.5;
  color: #6b7280;
  margin: 12px 0 16px;
}

.dd-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3d7a5e;
  font-size: 14px;
  font-weight: 600;
}
.dd-hero-cta:hover { color: #2e5e47; }

/* ═══════════════════════════════════════════════════════════════
   SECTION HEADER
═══════════════════════════════════════════════════════════════ */
.dd-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 22px;
}

.dd-section-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 28px;
  letter-spacing: -.02em;
  color: #1a1a1a;
}

.dd-section-link {
  font-size: 14px;
  font-weight: 500;
  color: #3d7a5e;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ═══════════════════════════════════════════════════════════════
/* ═══════════════════════════════════════════════════════════════
   WOOCOMMERCE PRODUCTS
═══════════════════════════════════════════════════════════════ */
.dd-products { padding: 8px 0 32px; }

/* Grid — 3 kolommen */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #ffffff !important;
  border-radius: 14px !important;
  border: 1px solid #e5e5e0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  transition: box-shadow .15s, transform .15s;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 10px 32px rgba(20,30,25,.08) !important;
  transform: translateY(-2px);
}

/* De hoofd-link wraps afbeelding + titel + prijs */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Afbeelding */
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* Titel */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #1a1a1a !important;
  margin: 16px 20px 6px !important;
  padding: 0 !important;
}

/* Prijs */
.woocommerce ul.products li.product .price {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 20px 16px !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del {
  font-size: 13px !important;
  color: #6b7280 !important;
  font-weight: 400 !important;
  margin-left: 6px !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

/* Winkelwagen knop — staat BUITEN de link */
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  margin: 0 20px 20px !important;
  padding: 11px 18px !important;
  background: #3d7a5e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  transition: background .15s !important;
  cursor: pointer !important;
  width: calc(100% - 40px) !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product > .button:hover,
.woocommerce ul.products li.product > a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: #2e5e47 !important;
  color: #ffffff !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: #f5a623 !important;
  color: #1a1a1a !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  min-width: unset !important;
  min-height: unset !important;
  line-height: 1.4 !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
}

/* Star rating */
.woocommerce .star-rating { color: #e5e5e0; margin: 8px 20px 0; }
.woocommerce .star-rating span::before { color: #f5a623; }

/* Screen reader span na knop */
.woocommerce ul.products li.product .screen-reader-text {
  display: none !important;
}

/* ── Winkel pagina ── */
.woocommerce-page .dd-wrap,
.woocommerce .dd-wrap {
  padding-top: 32px;
  padding-bottom: 40px;
}

.woocommerce-ordering select {
  border: 1px solid #e5e5e0;
  border-radius: 8px;
  padding: 8px 12px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  color: #1a1a1a;
  background: #ffffff;
}

.woocommerce .woocommerce-breadcrumb {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 20px;
}
.woocommerce .woocommerce-breadcrumb a { color: #6b7280; }
.woocommerce .woocommerce-breadcrumb a:hover { color: #3d7a5e; }

/* ── Product single ── */
.woocommerce div.product .product_title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  margin-bottom: 12px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #1a1a1a;
}

.woocommerce div.product .cart .single_add_to_cart_button {
  background: #3d7a5e !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  border: none !important;
}

.woocommerce div.product .cart .single_add_to_cart_button:hover {
  background: #2e5e47 !important;
}

/* ── Cart & Checkout ── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #3d7a5e !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  border: none !important;
  padding: 11px 22px !important;
  transition: background .15s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: #2e5e47 !important;
  color: #ffffff !important;
}

.woocommerce #payment #place_order {
  background: #3d7a5e !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
}

/* ═══════════════════════════════════════════════════════════════
   SOCIAL PROOF
═══════════════════════════════════════════════════════════════ */
.dd-proof {
  border-top: 1px solid #e5e5e0;
  border-bottom: 1px solid #e5e5e0;
  padding: 36px 0;
}

.dd-proof .dd-wrap {
  display: flex;
  justify-content: center;
  gap: 56px;
  flex-wrap: wrap;
}

.dd-proof-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #6b7280;
}
.dd-proof-item svg { color: #3d7a5e; flex-shrink: 0; }
.dd-proof-item strong { color: #1a1a1a; font-size: 15px; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   CATEGORY GRID
═══════════════════════════════════════════════════════════════ */
.dd-categories { padding: 40px 0 24px; }

.dd-cat-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.dd-cat-tile {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e5e5e0;
  padding: 16px;
  display: block;
  transition: transform .15s, box-shadow .15s;
}
.dd-cat-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(20,30,25,.08);
}

.dd-cat-tile-img {
  aspect-ratio: 1/1;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  background: #f3f3ef;
}
.dd-cat-tile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dd-cat-tile-name {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
}

.dd-cat-tile-sub {
  font-size: 11px;
  color: #6b7280;
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   SIZE BAND
═══════════════════════════════════════════════════════════════ */
.dd-size-band { padding: 24px 0 0; }

.dd-size-band-inner {
  background: #3d7a5e;
  color: #ffffff;
  border-radius: 20px;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.dd-size-text { flex: 1 1 360px; }

.dd-size-eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  opacity: .7;
  margin-bottom: 10px;
}

.dd-size-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -.025em;
  margin: 0 0 12px;
  color: #ffffff;
}
.dd-size-title .accent { color: #f5a623; }

.dd-size-body {
  font-size: 14.5px;
  line-height: 1.55;
  opacity: .85;
  margin: 0 0 22px;
  max-width: 460px;
}

.dd-size-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f5a623;
  color: #1a1a1a;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  transition: opacity .15s;
}
.dd-size-cta:hover { opacity: .9; color: #1a1a1a; }

.dd-size-cards {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.dd-size-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px;
  padding: 16px 14px;
  min-width: 100px;
  color: #ffffff;
}

.dd-size-card-label {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 22px;
}

.dd-size-card-weight {
  font-size: 12px;
  opacity: .9;
  margin-top: 2px;
}

.dd-size-card-breeds {
  font-size: 11px;
  opacity: .6;
  margin-top: 8px;
  line-height: 1.35;
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
#colophon {
  background: #f3f3ef;
  border-top: 1px solid #e5e5e0;
  margin-top: 56px;
}

.dd-footer-widgets .dd-wrap {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 48px;
  padding-top: 56px;
  padding-bottom: 40px;
}

.dd-footer-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  margin-bottom: 16px;
}

.dd-footer-tagline {
  font-size: 13.5px;
  line-height: 1.55;
  color: #6b7280;
  max-width: 300px;
}

.dd-footer-col-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #1a1a1a;
  margin-bottom: 14px;
}

.dd-footer-links {
  display: grid;
  gap: 10px;
}

.dd-footer-links a,
#colophon .dd-footer-links a {
  font-size: 13px;
  color: #6b7280 !important;
  text-decoration: none !important;
}
.dd-footer-links a:hover,
#colophon .dd-footer-links a:hover { color: #3d7a5e !important; }

.dd-footer-bar { border-top: 1px solid #e5e5e0; }

.dd-footer-bar .dd-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 12px;
  color: #6b7280;
}

/* ═══════════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  border-radius: 999px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, opacity .15s;
  text-decoration: none;
}

.btn-primary {
  background: #3d7a5e;
  color: #ffffff;
  padding: 12px 22px;
  font-size: 14px;
}
.btn-primary:hover { background: #2e5e47; color: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   TOAST
═══════════════════════════════════════════════════════════════ */
#dd-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #1a1a1a;
  color: #fff;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
  z-index: 9999;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
  white-space: nowrap;
}
#dd-toast.show { opacity: 1; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .dd-hero .dd-wrap { grid-template-columns: 1fr; }
  .dd-cat-grid { grid-template-columns: repeat(3, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .dd-size-cards { grid-template-columns: repeat(2, 1fr); }
  .dd-footer-widgets .dd-wrap { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .dd-wrap { padding: 0 16px; }
  .dd-hero-card { max-width: 260px; padding: 16px 18px; }
  .dd-hero-title { font-size: 22px; }
  .dd-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .dd-proof .dd-wrap { gap: 24px; flex-direction: column; align-items: flex-start; }
  .dd-size-band-inner { padding: 28px 24px; }
  .dd-nav-link { display: none; }
}

@media (max-width: 600px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .dd-size-cards { grid-template-columns: repeat(2, 1fr); }
  .dd-footer-widgets .dd-wrap { grid-template-columns: 1fr; }
  .dd-footer-bar .dd-wrap { flex-direction: column; gap: 6px; text-align: center; }
  .dd-cat-dropdown { display: none; }
}

/* ─── Product grid fix: geen lege kolommen ───────────────────── */
.woocommerce ul.products li.product:first-child:nth-last-child(1) {
  grid-column: 1 / -1;
  max-width: 380px;
}

.woocommerce ul.products.columns-3 {
  justify-items: stretch;
}

/* ─── Grid forceer fix ───────────────────────────────────────── */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none !important; }

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Reset de "eerste kind" maximale breedte fix */
.woocommerce ul.products li.product:first-child:nth-last-child(1) {
  grid-column: auto !important;
  max-width: none !important;
}

/* ─── Sticky header via JS ───────────────────────────────────── */
#masthead.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  box-shadow: 0 2px 16px rgba(20,30,25,.08);
}

body.has-sticky-header {
  padding-top: var(--header-height, 0px);
}





/* ═══════════════════════════════════════════════════════════════
   PRODUCT DETAIL PAGINA (PDP)
═══════════════════════════════════════════════════════════════ */

/* 2-koloms grid: gallery links, alles rechts */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
  align-items: start !important;
  padding-top: 24px;
}

.woocommerce div.product .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.woocommerce div.product .summary.entry-summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

/* dd-pdp-details, reviews en gerelateerd: volle breedte */
.woocommerce div.product .dd-pdp-details,
.woocommerce div.product .dd-pdp-reviews,
.woocommerce div.product .dd-pdp-related {
  grid-column: 1 / -1 !important;
}

/* Binnen dd-pdp-details: verhaal links, specs rechts */
.dd-pdp-details {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 56px !important;
  padding-top: 40px;
  border-top: 1px solid #e5e5e0;
  margin-top: 8px;
  align-items: start;
}

.dd-pdp-details .dd-pdp-story { }
.dd-pdp-details .dd-pdp-specs { border-top: none; padding-top: 0; }

/* Gallery */
.woocommerce-product-gallery {
  border-radius: 18px;
  overflow: hidden;
}

.woocommerce-product-gallery img {
  border-radius: 18px;
  width: 100% !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li { margin: 0; }

.woocommerce-product-gallery .flex-control-thumbs img {
  border-radius: 10px;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  cursor: pointer;
  opacity: .65;
  transition: opacity .15s, box-shadow .15s;
}

.woocommerce-product-gallery .flex-control-thumbs .flex-active {
  opacity: 1;
  box-shadow: 0 0 0 2px #3d7a5e;
}

/* Titel */
.dd-pdp-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -.025em;
  color: #1a1a1a;
  margin: 0 0 6px;
}

.dd-pdp-dot { color: #3d7a5e; }

/* Tagline */
.dd-pdp-tagline {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: 20px;
  color: #3d7a5e;
  margin-bottom: 16px;
}
.dd-pdp-tagline p { margin: 0; }

/* Rating */
.dd-pdp-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.dd-pdp-meta .star-rating { color: #e5e5e0; }
.dd-pdp-meta .star-rating span::before { color: #f5a623; }
.dd-pdp-rating-text { font-size: 13px; color: #6b7280; }

/* Voorraad */
.dd-pdp-stock { font-size: 13px; font-weight: 500; display: block; margin-bottom: 16px; }
.dd-pdp-stock.in-stock { color: #3d7a5e; }
.dd-pdp-stock.out-of-stock { color: #a00; }

/* Prijs */
.dd-pdp-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e0;
  margin-bottom: 20px;
}

.dd-pdp-price {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 36px;
  color: #1a1a1a;
}

.dd-pdp-price .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
.dd-pdp-price del { font-size: 20px; color: #6b7280; font-weight: 400; }
.dd-pdp-price ins { text-decoration: none; }
.dd-pdp-price-note { font-size: 13px; color: #6b7280; }

/* Add to cart */
.woocommerce div.product .cart {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
}

.woocommerce div.product .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #e5e5e0;
  border-radius: 12px;
  padding: 4px 8px;
  background: #fff;
}

.woocommerce div.product input.qty {
  width: 40px;
  text-align: center;
  border: none;
  outline: none;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 16px;
  color: #1a1a1a;
  background: transparent;
  -moz-appearance: textfield;
}

.woocommerce div.product input.qty::-webkit-inner-spin-button,
.woocommerce div.product input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

.woocommerce div.product .single_add_to_cart_button {
  flex: 1 !important;
  padding: 14px 20px !important;
  border-radius: 12px !important;
  background: #3d7a5e !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background: #2e5e47 !important;
}

/* Variaties */
.woocommerce div.product .variations { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.woocommerce div.product .variations td { padding: 0 0 12px; border: none; }
.woocommerce div.product .variations label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: #6b7280; display: block; margin-bottom: 6px; }
.woocommerce div.product .variations select { width: 100%; padding: 10px 14px; border: 1px solid #e5e5e0; border-radius: 10px; font-family: 'Inter', sans-serif; font-size: 14px; color: #1a1a1a; background: #fff; cursor: pointer; }
.woocommerce div.product .variations select:focus { outline: none; border-color: #3d7a5e; }

/* USPs */
.dd-pdp-usps {
  padding: 18px;
  background: #f3f3ef;
  border-radius: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.dd-pdp-usp {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #1a1a1a;
}

.dd-pdp-usp svg { color: #3d7a5e; flex-shrink: 0; }

/* Beschrijving + specs naast elkaar */
.dd-pdp-description,
.dd-pdp-specs {
  margin-top: 0;
}

.woocommerce div.product .dd-pdp-description,
.woocommerce div.product .dd-pdp-specs {
  grid-column: auto !important;
}

/* Wrapper voor beschrijving + specs in 2 kolommen */
.woocommerce div.product {
  --desc-col: 1.4fr 1fr;
}

.dd-pdp-description {
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}
.dd-pdp-description p { margin: 0 0 16px; }
.dd-pdp-description p:last-child { margin-bottom: 0; }

/* Specificaties */
.dd-pdp-specs {
  padding-top: 0;
  border-top: none;
}

.dd-pdp-specs-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 24px;
  color: #1a1a1a;
  margin: 0 0 16px;
}

.dd-pdp-specs-table { width: 100%; border-collapse: collapse; }
.dd-pdp-specs-table tr { border-bottom: 1px solid #e5e5e0; }
.dd-pdp-specs-table tr:first-child { border-top: 1px solid #e5e5e0; }
.dd-spec-label, .dd-spec-value { padding: 14px 0; font-size: 14px; }
.dd-spec-label { color: #6b7280; width: 40%; }
.dd-spec-value { color: #1a1a1a; font-weight: 500; }

/* Reviews */
.dd-pdp-reviews {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid #e5e5e0;
}

.dd-pdp-reviews-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 28px;
  color: #1a1a1a;
  margin: 0 0 24px;
}

.woocommerce-Reviews ol.commentlist {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 0 0 32px;
}

.woocommerce-Reviews ol.commentlist li.review {
  background: #fff;
  border: 1px solid #e5e5e0;
  border-radius: 16px;
  padding: 24px;
}

.woocommerce-Reviews .star-rating { margin-bottom: 12px; }
.woocommerce-Reviews .description p { font-size: 13.5px; line-height: 1.6; color: #6b7280; }

/* Gerelateerd */
.dd-pdp-related {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid #e5e5e0;
  padding-bottom: 64px;
}

.dd-pdp-related-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 28px;
  color: #1a1a1a;
  margin: 0 0 20px;
}

.dd-pdp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.dd-pdp-related-card {
  background: #fff;
  border: 1px solid #e5e5e0;
  border-radius: 14px;
  padding: 16px;
  text-decoration: none;
  display: block;
  transition: transform .15s, box-shadow .15s;
}

.dd-pdp-related-card:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(20,30,25,.08); }

.dd-pdp-related-img { aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #f3f3ef; margin-bottom: 14px; }
.dd-pdp-related-img img { width: 100%; height: 100%; object-fit: cover; }
.dd-pdp-related-name { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 15px; color: #1a1a1a; margin-bottom: 6px; line-height: 1.3; }
.dd-pdp-related-price { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 15px; color: #1a1a1a; }

/* Responsive */
@media (max-width: 860px) {
  .woocommerce div.product { grid-template-columns: 1fr !important; }
  .woocommerce div.product .summary.entry-summary { grid-column: 1 !important; }
  .dd-pdp-related-grid { grid-template-columns: repeat(2, 1fr); }
  .woocommerce-Reviews ol.commentlist { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 580px) {
  .dd-pdp-title { font-size: 30px; }
  .dd-pdp-usps { grid-template-columns: 1fr; }
  .woocommerce-Reviews ol.commentlist { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   WINKELWAGEN & AFREKENEN
═══════════════════════════════════════════════════════════════ */

/* ── Winkelwagen tabel ────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
  max-width: 100%;
}

.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  background: #fff;
  border: 1px solid #e5e5e0;
  border-radius: 14px;
  overflow: hidden;
}

/* Header rij */
.woocommerce-cart table.cart thead tr th {
  padding: 14px 20px;
  border-bottom: 1px solid #e5e5e0;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-align: left;
  background: #fafaf8;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Verberg lege kolom koppen */
.woocommerce-cart table.cart thead th.product-remove,
.woocommerce-cart table.cart thead th.product-thumbnail {
  width: 40px;
}

/* Tabel cellen */
.woocommerce-cart table.cart tbody td {
  padding: 16px 20px;
  border-bottom: 1px solid #e5e5e0;
  font-size: 14px;
  vertical-align: middle;
  color: #1a1a1a;
}

.woocommerce-cart table.cart tbody tr:last-child td {
  border-bottom: none;
}

/* Verwijder knop */
.woocommerce-cart table.cart td.product-remove {
  width: 40px;
  padding-right: 0;
  text-align: center;
}

.woocommerce-cart table.cart td.product-remove a {
  color: #6b7280;
  font-size: 18px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transition: background .15s, color .15s;
}

.woocommerce-cart table.cart td.product-remove a:hover {
  background: #fee2e2;
  color: #a00;
}

/* Productafbeelding */
.woocommerce-cart table.cart td.product-thumbnail {
  width: 80px;
  padding: 16px 8px 16px 0;
}

.woocommerce-cart table.cart td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

/* Productnaam */
.woocommerce-cart table.cart td.product-name {
  font-weight: 600;
}

.woocommerce-cart table.cart td.product-name a {
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 600;
}

.woocommerce-cart table.cart td.product-name a:hover { color: #3d7a5e; }

.woocommerce-cart table.cart td.product-name .variation {
  font-size: 12px;
  color: #6b7280;
  font-weight: 400;
  margin-top: 4px;
}

/* Prijs en subtotaal */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
  font-size: 15px;
  color: #1a1a1a;
}

.woocommerce-cart table.cart td.product-subtotal {
  font-weight: 600;
}

/* Aantal */
.woocommerce-cart table.cart td.product-quantity .qty {
  width: 64px !important;
  padding: 8px 12px !important;
  border: 1px solid #e5e5e0 !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  color: #1a1a1a !important;
}

.woocommerce-cart table.cart td.product-quantity .qty:focus {
  outline: none !important;
  border-color: #3d7a5e !important;
}

/* Coupon + update knoppen — naast elkaar */
.woocommerce-cart .actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding: 16px 0 !important;
}

.woocommerce-cart .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 !important;
}

.woocommerce-cart .coupon input#coupon_code {
  padding: 10px 14px !important;
  border: 1px solid #e5e5e0 !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  outline: none !important;
  width: 200px !important;
}

.woocommerce-cart .coupon input#coupon_code:focus {
  border-color: #3d7a5e !important;
}

.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"] {
  background: #3d7a5e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.woocommerce-cart button[name="update_cart"] {
  background: #f3f3ef !important;
  color: #1a1a1a !important;
}

.woocommerce-cart button[name="update_cart"]:not(:disabled):hover {
  background: #e5e5e0 !important;
}

/* Totalen */
.woocommerce-cart .cart_totals h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 16px;
}

.woocommerce-cart .cart_totals .shop_table {
  border: 1px solid #e5e5e0;
  border-radius: 12px;
  overflow: hidden;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
  padding: 14px 20px;
}

/* Doorgaan naar afrekenen knop */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 16px !important;
  background: #3d7a5e !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-top: 16px !important;
  transition: background .15s !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #2e5e47 !important;
  color: #fff !important;
}

/* Afrekenpagina */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 16px;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border: 1px solid #e5e5e0 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  width: 100% !important;
  outline: none !important;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: #3d7a5e !important;
  box-shadow: 0 0 0 3px rgba(61,122,94,.12) !important;
}

.woocommerce-checkout #payment #place_order {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  background: #3d7a5e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}

.woocommerce-checkout #payment #place_order:hover {
  background: #2e5e47 !important;
}

/* ── Winkelwagen fixes ───────────────────────────────────────── */

/* border-separate zodat border-radius op thead werkt */
table.shop_table.cart {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Thead afgerond */
table.shop_table.cart thead tr th:first-child { border-top-left-radius: 13px; }
table.shop_table.cart thead tr th:last-child  { border-top-right-radius: 13px; }

/* Verwijder knop kolom smaller */
table.shop_table.cart th.product-remove,
table.shop_table.cart td.product-remove {
  width: 32px !important;
  padding: 16px 8px 16px 16px !important;
}

/* Thumbnail dichter bij naam */
table.shop_table.cart th.product-thumbnail,
table.shop_table.cart td.product-thumbnail {
  width: 80px !important;
  padding: 16px 8px !important;
}

/* Actions rij als flex */
table.shop_table.cart tr.woocommerce-cart-form__cart-item + tr td.actions,
table.shop_table.cart td.actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 16px 20px !important;
  border-bottom: none !important;
}

table.shop_table.cart td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ── WooCommerce standaard stijlen overschrijven ─────────────── */

/* Notices (blauwe/groene balken) — hoge specificiteit */
body .woocommerce-info,
body .woocommerce-message,
body .woocommerce-error,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-message {
  border-top-color: #3d7a5e !important;
  background: #f3f3ef !important;
  color: #1a1a1a !important;
}

body .woocommerce-info::before,
body .woocommerce-message::before { color: #3d7a5e !important; }

/* Links in notices */
body .woocommerce-info a,
body .woocommerce-message a {
  color: #3d7a5e !important;
}

body .woocommerce-info a:hover,
body .woocommerce-message a:hover {
  color: #2e5e47 !important;
}

/* Checkout: waardebon link */
.woocommerce-form-coupon-toggle .woocommerce-info a,
.showcoupon {
  color: #3d7a5e !important;
}

/* Formulier velden focus — blauw vervangen door groen */
.woocommerce .input-text:focus,
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  border-color: #3d7a5e !important;
  box-shadow: 0 0 0 3px rgba(61,122,94,.12) !important;
  outline: none !important;
}

/* Checkout stappen indicator */
.woocommerce ol.progess-steps li.active,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border-color: #3d7a5e !important;
}

/* Payment radio buttons */
.woocommerce-checkout #payment .payment_methods li input[type="radio"]:checked {
  accent-color: #3d7a5e;
}

/* Algemene links blauw → groen */
.woocommerce a:not(.button):not(.dd-pdp-related-card):not(.dd-catbar-link) {
  color: #3d7a5e;
}

.woocommerce a:not(.button):not(.dd-pdp-related-card):not(.dd-catbar-link):hover {
  color: #2e5e47;
}

/* ═══════════════════════════════════════════════════════════════
   BLOG OVERZICHT
═══════════════════════════════════════════════════════════════ */

/* Page header */
.dd-blog-header {
  padding-top: 56px;
  padding-bottom: 28px;
}

.dd-blog-eyebrow {
  font-size: 12px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 14px;
}

.dd-blog-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #1a1a1a;
  margin: 0 0 20px;
  max-width: 880px;
}

.dd-blog-dot { color: #3d7a5e; }

.dd-blog-intro {
  font-size: 17px;
  line-height: 1.55;
  color: #6b7280;
  margin: 0;
  max-width: 640px;
}

/* Categorie chips */
.dd-blog-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 32px;
}

.dd-chip {
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid #e5e5e0;
  background: #ffffff;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all .15s;
  white-space: nowrap;
}

.dd-chip:hover { border-color: #3d7a5e; color: #3d7a5e; }
.dd-chip.is-active { background: #3d7a5e; border-color: #3d7a5e; color: #ffffff; }

/* Featured artikel */
.dd-blog-featured { padding-bottom: 32px; }

.dd-featured-card {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #e5e5e0;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .15s;
}

.dd-featured-card:hover { box-shadow: 0 12px 40px rgba(20,30,25,.1); }

.dd-featured-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f3f3ef;
}

.dd-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.dd-featured-card:hover .dd-featured-img img { transform: scale(1.03); }
.dd-featured-img-placeholder { width: 100%; height: 100%; background: #f3f3ef; }

.dd-featured-body {
  padding: 48px 48px 48px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dd-featured-meta-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.dd-featured-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: #f5a623;
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.dd-featured-cat {
  font-size: 12px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.dd-featured-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.025em;
  color: #1a1a1a;
  margin: 0 0 16px;
}

.dd-featured-excerpt {
  font-size: 15.5px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0 0 24px;
}

.dd-featured-author {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #6b7280;
  flex-wrap: wrap;
}

.dd-author-avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.dd-author-name { font-size: 13px; font-weight: 600; color: #1a1a1a; }
.dd-author-role { font-size: 11px; color: #6b7280; }
.dd-featured-divider { width: 1px; height: 14px; background: #e5e5e0; }

.dd-featured-readtime {
  display: flex;
  align-items: center;
  gap: 4px;
}

.dd-featured-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3d7a5e;
  font-size: 14px;
  font-weight: 600;
  margin-top: 24px;
}

/* Artikel grid */
.dd-blog-grid-wrap { padding-bottom: 64px; }

.dd-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

/* Post card */
.dd-post-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e5e5e0;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: transform .15s, box-shadow .15s;
}

.dd-post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(20,30,25,.08);
}

.dd-post-card-img {
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #f3f3ef;
}

.dd-post-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.dd-post-card:hover .dd-post-card-img img { transform: scale(1.04); }
.dd-post-card-img-placeholder { width: 100%; height: 100%; background: #f3f3ef; }

.dd-post-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.dd-post-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.dd-post-card-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #6b7280;
}

.dd-post-card-time {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #6b7280;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}

.dd-post-card-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1a1a1a;
  margin: 0 0 10px;
}

.dd-post-card-excerpt {
  font-size: 13.5px;
  line-height: 1.55;
  color: #6b7280;
  margin: 0;
  flex: 1;
}

.dd-post-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e5e5e0;
  font-size: 12px;
  color: #6b7280;
}

.dd-post-card-read {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #3d7a5e;
  font-weight: 600;
}

/* Newsletter blok */
.dd-blog-newsletter {
  margin: 0 0 40px;
}

.dd-newsletter-inner {
  background: #3d7a5e;
  border-radius: 20px;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.dd-newsletter-eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(255,255,255,.7);
  margin-bottom: 8px;
}

.dd-newsletter-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.2;
  color: #ffffff;
  margin: 0 0 6px;
}

.dd-newsletter-sub {
  font-size: 14px;
  color: rgba(255,255,255,.7);
  margin: 0;
}

.dd-newsletter-form {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.dd-newsletter-form input[type="email"] {
  padding: 12px 16px;
  border-radius: 10px;
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  width: 260px;
  outline: none;
  color: #1a1a1a;
}

.dd-newsletter-form button {
  padding: 12px 20px;
  border-radius: 10px;
  border: none;
  background: #f5a623;
  color: #1a1a1a;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity .15s;
}

.dd-newsletter-form button:hover { opacity: .9; }

/* Blog empty */
.dd-blog-empty {
  text-align: center;
  padding: 48px;
  color: #6b7280;
  font-size: 15px;
}

/* Paginering */
.dd-blog-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}

.dd-blog-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  border: 1px solid #e5e5e0;
  text-decoration: none;
  transition: all .15s;
}

.dd-blog-pagination .page-numbers:hover { border-color: #3d7a5e; color: #3d7a5e; }
.dd-blog-pagination .page-numbers.current { background: #3d7a5e; border-color: #3d7a5e; color: #ffffff; }

/* Trust band */
.dd-blog-trust {
  border-top: 1px solid #e5e5e0;
  border-bottom: 1px solid #e5e5e0;
  padding: 40px 0;
  margin-bottom: 0;
}

.dd-blog-trust .dd-wrap {
  display: flex;
  justify-content: center;
  gap: 64px;
  flex-wrap: wrap;
}

.dd-trust-item { text-align: center; }

.dd-trust-value {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 28px;
  color: #1a1a1a;
  letter-spacing: -.02em;
}

.dd-trust-label {
  font-size: 13px;
  color: #6b7280;
  margin-top: 4px;
}

/* Responsive */
@media (max-width: 1024px) {
  .dd-featured-card { grid-template-columns: 1fr; }
  .dd-featured-body { padding: 32px; }
  .dd-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .dd-blog-title { font-size: 40px; }
}

@media (max-width: 680px) {
  .dd-blog-title { font-size: 30px; }
  .dd-blog-grid { grid-template-columns: 1fr; }
  .dd-newsletter-inner { padding: 28px 24px; }
  .dd-newsletter-form { flex-direction: column; width: 100%; }
  .dd-newsletter-form input[type="email"] { width: 100%; }
  .dd-blog-trust .dd-wrap { gap: 32px; }
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE BLOG POST
═══════════════════════════════════════════════════════════════ */

/* Leesvoortgang balk */
.dd-reading-progress {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 3px;
  background: #e5e5e0;
}

.dd-reading-progress-bar {
  height: 100%;
  width: 0%;
  background: #3d7a5e;
  transition: width .08s linear;
}

/* Article hero */
.dd-article-hero {
  padding-top: 48px;
  padding-bottom: 0;
}

.dd-article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 20px;
}

.dd-article-breadcrumb a { color: #6b7280; }
.dd-article-breadcrumb a:hover { color: #3d7a5e; }
.dd-article-breadcrumb span { opacity: .5; }
.dd-article-breadcrumb-cat { color: #3d7a5e !important; }

.dd-article-cat {
  font-size: 12px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 14px;
}

.dd-article-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 48px;
  line-height: 1.08;
  letter-spacing: -.025em;
  color: #1a1a1a;
  margin: 0;
}

.dd-article-subtitle {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.45;
  color: #6b7280;
  margin: 20px 0 0;
}

.dd-article-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 32px 0 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e5e5e0;
}

.dd-article-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dd-article-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
}

.dd-article-author-name { font-size: 14px; font-weight: 600; color: #1a1a1a; }
.dd-article-author-role { font-size: 12px; color: #6b7280; }

.dd-article-meta-right {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: #6b7280;
}

.dd-article-readtime {
  display: flex;
  align-items: center;
  gap: 6px;
}

.dd-article-hero-img {
  aspect-ratio: 16/9;
  border-radius: 18px;
  overflow: hidden;
  background: #f3f3ef;
  margin-bottom: 8px;
}

.dd-article-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 3-koloms body */
.dd-article-body {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 40px !important;
  padding-top: 32px;
  padding-bottom: 0;
  align-items: start;
}

/* TOC */
.dd-article-toc {
  position: sticky;
  top: 80px;
}

.dd-toc-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #6b7280;
  margin-bottom: 14px;
}

.dd-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.dd-toc-list li a {
  font-size: 13.5px;
  line-height: 1.4;
  color: #6b7280;
  text-decoration: none;
  font-weight: 400;
  border-left: 2px solid transparent;
  padding-left: 12px;
  display: block;
  transition: all .15s;
}

.dd-toc-list li a:hover { color: #3d7a5e; }
.dd-toc-list li a.is-active { color: #3d7a5e; font-weight: 600; border-left-color: #3d7a5e; }

/* Artikel content */
.dd-article-content { min-width: 0; }

/* Key takeaways */
.dd-takeaways {
  background: #f3f3ef;
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 32px;
  border-left: 3px solid #3d7a5e;
}

.dd-takeaways-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #3d7a5e;
  margin-bottom: 12px;
}

.dd-takeaways-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.dd-takeaways-list li {
  display: flex;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.55;
  color: #1a1a1a;
}

.dd-takeaways-list li svg { color: #3d7a5e; flex-shrink: 0; margin-top: 2px; }

/* Artikel tekst typografie */
.dd-article-text { font-size: 16.5px; line-height: 1.7; color: #1a1a1a; }

.dd-article-text p { margin: 0 0 18px; }

.dd-article-text h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -.02em;
  color: #1a1a1a;
  margin: 40px 0 16px;
  line-height: 1.15;
  scroll-margin-top: 100px;
}

.dd-article-text h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 22px;
  color: #1a1a1a;
  margin: 28px 0 12px;
}

.dd-article-text ul, .dd-article-text ol {
  padding-left: 22px;
  margin: 0 0 18px;
}

.dd-article-text li { margin-bottom: 8px; }

.dd-article-text blockquote {
  margin: 36px 0;
  padding: 0 0 0 20px;
  border-left: 3px solid #f5a623;
}

.dd-article-text blockquote p {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: 26px;
  line-height: 1.35;
  color: #1a1a1a;
  margin: 0;
}

.dd-article-text a { color: #3d7a5e; text-decoration: underline; }
.dd-article-text a:hover { color: #2e5e47; }

.dd-article-text strong { font-weight: 600; }

/* Inline product callout */
.dd-article-text .wp-block-group,
.dd-inline-product {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 20px;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e5e5e0;
  border-radius: 16px;
  padding: 20px;
  margin: 32px 0;
  text-decoration: none;
  color: inherit;
}

/* Auteur bio */
.dd-author-bio {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  background: #f3f3ef;
  border-radius: 16px;
  padding: 24px;
  margin: 40px 0 0;
}

.dd-author-bio-img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
}

.dd-author-bio-label {
  font-size: 11px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 4px;
}

.dd-author-bio-name {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  color: #1a1a1a;
  letter-spacing: -.015em;
  margin-bottom: 4px;
}

.dd-author-bio-text {
  font-size: 14px;
  line-height: 1.55;
  color: #6b7280;
  margin: 8px 0 0;
}

/* Deel knoppen */
.dd-article-share {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 32px 0;
  padding: 16px 0;
  border-top: 1px solid #e5e5e0;
  border-bottom: 1px solid #e5e5e0;
  font-size: 13.5px;
  color: #6b7280;
}

.dd-share-buttons { display: flex; gap: 8px; }

.dd-share-btn {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #e5e5e0;
  background: #ffffff;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color .15s;
}

.dd-share-btn:hover { border-color: #3d7a5e; color: #3d7a5e; }

/* Product sidebar */
.dd-article-sidebar { position: sticky; top: 80px; }

.dd-sidebar-product {
  background: #ffffff;
  border: 1px solid #e5e5e0;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
}

.dd-sidebar-product-label {
  font-size: 11px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 12px;
}

.dd-sidebar-product-img {
  aspect-ratio: 4/3;
  border-radius: 10px;
  overflow: hidden;
  background: #f3f3ef;
  margin-bottom: 14px;
}

.dd-sidebar-product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.dd-sidebar-product-name {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 18px;
  color: #1a1a1a;
  margin-bottom: 6px;
}

.dd-sidebar-product-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  font-size: 12px;
  color: #6b7280;
}

.dd-sidebar-product-rating .star-rating { color: #e5e5e0; font-size: 13px; }
.dd-sidebar-product-rating .star-rating span::before { color: #f5a623; }

.dd-sidebar-product-usps {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: grid;
  gap: 8px;
}

.dd-sidebar-product-usps li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #1a1a1a;
}

.dd-sidebar-product-usps li svg { color: #3d7a5e; }

.dd-sidebar-product-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 14px;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 22px;
  color: #1a1a1a;
}

.dd-sidebar-product-price span {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
}

.dd-sidebar-product-price .woocommerce-Price-amount { font-size: inherit; }

.dd-sidebar-product-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 10px;
  background: #3d7a5e;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}

.dd-sidebar-product-btn:hover { background: #2e5e47; color: #ffffff; }

.dd-sidebar-size-tip {
  padding: 18px;
  background: #f3f3ef;
  border-radius: 14px;
}

.dd-sidebar-size-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 15px;
  color: #1a1a1a;
  margin-bottom: 6px;
}

.dd-sidebar-size-tip p {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 12px;
}

.dd-sidebar-size-tip a {
  font-size: 13px;
  font-weight: 600;
  color: #3d7a5e;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Newsletter in artikel */
.dd-article-newsletter {
  margin-top: 64px;
  padding-bottom: 0;
}

/* Gerelateerde artikelen */
.dd-article-related {
  margin-top: 64px;
  padding-bottom: 0;
}

.dd-related-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 28px;
  letter-spacing: -.02em;
  color: #1a1a1a;
  margin: 0 0 24px;
}

/* Finale CTA */
.dd-article-final-cta {
  margin-top: 64px;
  padding-bottom: 64px;
}

.dd-final-cta-inner {
  background: #3d7a5e;
  color: #ffffff;
  border-radius: 20px;
  padding: 48px 56px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.dd-final-cta-eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  opacity: .7;
  margin-bottom: 10px;
}

.dd-final-cta-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 34px;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0 0 14px;
  color: #ffffff;
}

.dd-final-cta-accent { color: #f5a623; }

.dd-final-cta-text p {
  font-size: 14.5px;
  line-height: 1.55;
  opacity: .85;
  margin: 0;
  max-width: 460px;
}

.dd-final-cta-text { flex: 1 1 380px; }

.dd-final-cta-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.dd-final-cta-primary {
  padding: 14px 22px;
  border-radius: 12px;
  background: #f5a623;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: opacity .15s;
}

.dd-final-cta-primary:hover { opacity: .9; color: #1a1a1a; }

.dd-final-cta-secondary {
  padding: 14px 22px;
  border-radius: 12px;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.25);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .15s;
}

.dd-final-cta-secondary:hover { border-color: rgba(255,255,255,.5); color: #ffffff; }

/* Sticky bottom bar */
.dd-sticky-bar {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%) translateY(80px);
  background: #1a1a1a;
  color: #ffffff;
  padding: 10px 12px 10px 18px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  z-index: 100;
  font-size: 13.5px;
  transition: transform .3s;
  white-space: nowrap;
}

.dd-sticky-bar.is-visible { transform: translateX(-50%) translateY(0); }

.dd-sticky-bar .woocommerce-Price-amount { font-size: inherit; color: inherit; }

.dd-sticky-bar-btn {
  background: #f5a623;
  color: #1a1a1a;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Responsive */
@media (max-width: 860px) {
  .dd-article-body { grid-template-columns: 1fr !important; }
  .dd-article-toc { display: none; }
}

@media (max-width: 768px) {
  .dd-article-body { grid-template-columns: 1fr !important; }
  .dd-article-title { font-size: 34px; }
  .dd-final-cta-inner { padding: 28px 24px; }
  .dd-sticky-bar { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   BLOG HEADER & JOURNAL HOME
═══════════════════════════════════════════════════════════════ */

/* Blog nav link actief */
.dd-nav-link-active { color: #3d7a5e !important; font-weight: 600 !important; }

/* Abonneer CTA knop */
.dd-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 10px;
  background: #3d7a5e;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.dd-nav-cta:hover { background: #2e5e47; color: #ffffff; }

/* Rubriekenbalk */
.dd-rubriek-bar {
  border-bottom: 1px solid #e5e5e0;
  background: #ffffff;
}

.dd-rubriek-bar .dd-wrap {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
  padding-top: 0;
  padding-bottom: 0;
}

.dd-rubriek-bar .dd-wrap::-webkit-scrollbar { display: none; }

.dd-rubriek-link {
  padding: 13px 16px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
  flex-shrink: 0;
}

.dd-rubriek-link:hover { color: #3d7a5e; }
.dd-rubriek-link.is-active { color: #3d7a5e; font-weight: 600; border-bottom-color: #3d7a5e; }

/* Journal intro */
.dd-journal-intro {
  padding-top: 48px;
  padding-bottom: 0;
}

.dd-journal-eyebrow {
  font-size: 12px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 14px;
}

.dd-journal-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #1a1a1a;
  margin: 0 0 20px;
  max-width: 100%;
}

.dd-journal-sub {
  font-size: 17px;
  line-height: 1.55;
  color: #6b7280;
  margin: 0;
  max-width: 640px;
}

/* Lead story */
.dd-lead-story { padding-top: 48px; padding-bottom: 0; }

.dd-lead-card {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  text-decoration: none;
  color: inherit;
  align-items: center;
}

.dd-lead-img {
  aspect-ratio: 4/3;
  border-radius: 18px;
  overflow: hidden;
  background: #f3f3ef;
}

.dd-lead-img img { width: 100%; height: 100%; object-fit: cover; }
.dd-lead-img-placeholder { width: 100%; height: 100%; background: #f3f3ef; }

.dd-lead-meta-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.dd-lead-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: #f5a623;
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.dd-lead-cat {
  font-size: 12px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.dd-lead-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -.025em;
  color: #1a1a1a;
  margin: 0 0 18px;
}

.dd-lead-excerpt {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0 0 24px;
}

.dd-lead-author {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #6b7280;
}

.dd-lead-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
}

.dd-lead-author-name { font-size: 13px; font-weight: 600; color: #1a1a1a; }
.dd-lead-author-meta { font-size: 12px; color: #6b7280; }

/* Secondary row */
.dd-secondary-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 56px;
}

.dd-secondary-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  text-decoration: none;
  color: inherit;
  align-items: flex-start;
}

.dd-secondary-img {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  background: #f3f3ef;
}

.dd-secondary-img img { width: 100%; height: 100%; object-fit: cover; }
.dd-secondary-img-placeholder { width: 100%; height: 100%; background: #f3f3ef; }

.dd-secondary-cat {
  font-size: 11px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 8px;
}

.dd-secondary-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1a1a1a;
  margin: 0 0 8px;
}

.dd-secondary-excerpt {
  font-size: 13.5px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0 0 10px;
}

.dd-secondary-meta { font-size: 12px; color: #6b7280; }

/* Section header */
.dd-journal-section-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 80px;
  margin-bottom: 24px;
}

.dd-journal-kicker {
  font-size: 11px;
  font-weight: 600;
  color: #3d7a5e;
  text-transform: uppercase;
  letter-spacing: .18em;
  white-space: nowrap;
}

.dd-journal-divider {
  flex: 1;
  height: 1px;
  background: #e5e5e0;
}

.dd-journal-section-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -.02em;
  color: #1a1a1a;
  margin: 0;
  white-space: nowrap;
}

/* Journal newsletter */
.dd-journal-newsletter {
  margin-top: 80px;
  padding-bottom: 0;
}

.dd-journal-nl-inner {
  background: #3d7a5e;
  color: #ffffff;
  border-radius: 24px;
  padding: 64px 56px;
  text-align: center;
}

.dd-journal-nl-eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .2em;
  opacity: .7;
  margin-bottom: 12px;
}

.dd-journal-nl-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: 40px;
  letter-spacing: -.025em;
  line-height: 1.05;
  margin: 0 auto 16px;
  max-width: 720px;
  color: #ffffff;
}

.dd-journal-nl-title em {
  font-style: italic;
  color: #f5a623;
}

.dd-journal-nl-sub {
  font-size: 15.5px;
  line-height: 1.55;
  opacity: .85;
  margin: 0 auto 28px;
  max-width: 540px;
}

.dd-journal-newsletter .dd-newsletter-form {
  justify-content: center;
  max-width: 480px;
  margin: 0 auto;
}

.dd-journal-newsletter .dd-newsletter-form input[type="email"] {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  color: #ffffff !important;
  text-align: center;
}

.dd-journal-newsletter .dd-newsletter-form input[type="email"]::placeholder {
  color: rgba(255,255,255,.6);
}

.dd-journal-nl-social {
  font-size: 12px;
  opacity: .7;
  margin-top: 18px;
}

/* Author band */
.dd-author-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding-bottom: 80px;
}

.dd-author-card {
  background: #f3f3ef;
  border-radius: 14px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.dd-author-card-avatar {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  flex-shrink: 0;
}

.dd-author-card-name {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 16px;
  color: #1a1a1a;
}

.dd-author-card-role { font-size: 12px; color: #6b7280; }
.dd-author-card-count { font-size: 11px; color: #3d7a5e; font-weight: 600; margin-top: 2px; }

/* Responsive */
@media (max-width: 1024px) {
  .dd-lead-card { grid-template-columns: 1fr; }
  .dd-author-band { grid-template-columns: repeat(2, 1fr); }
  .dd-journal-nl-title { font-size: 32px; }
}

@media (max-width: 768px) {
  .dd-journal-title { font-size: 36px; }
  .dd-secondary-row { grid-template-columns: 1fr; }
  .dd-secondary-card { grid-template-columns: 120px 1fr; }
  .dd-author-band { grid-template-columns: 1fr 1fr; }
  .dd-journal-nl-inner { padding: 40px 24px; }
}

@media (max-width: 480px) {
  .dd-author-band { grid-template-columns: 1fr; }
}

/* ── Simpele footer ───────────────────────────────────────────── */
.dd-footer-simple {
  border-top: 1px solid #e5e5e0;
  padding: 24px 0;
  margin-top: 64px;
}

.dd-footer-simple .dd-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dd-footer-copy {
  font-size: 12px;
  color: #6b7280;
}