/* Huisstijl van de webshop op de hele site (site-style.php). Tokens uit design.css (:root --sad-*).
 * Divi-inhoud buiten de winkelsecties (.sad-shop) en buiten de hero (eerste sectie met foto); pagina's zonder
 * Divi-builder (events, berichten) via .entry-content, alleen als body niet .et_pb_pagebuilder_layout heeft. Divi zet
 * modulefonts als eigen CSS per module; daarom !important op het font. */

/* ---------- Hero (eerste sectie met foto): alleen de letter, de witte tekst blijft wit --------- *
 * Ook de hero uit een Theme Builder-body (/winkel/: et_pb_section_0_tb_body) en elke .sad-hero vallen erbuiten; anders
 * werd de witte titel donkergrijs met een gouden balk (slecht leesbaar op de foto, 22-10). */
.sad-site #main-content :is(.et_pb_section_0, .et_pb_section_0_tb_body, .sad-hero):not(.sad-shop) .et_pb_text :is(p, h1, h2, h3) { font-family: var(--sad-font) !important; }
/* Leesbaarheid op de foto (ook als het tekstvlak over licht water of lucht valt). */
.sad-site #main-content :is(.et_pb_section_0, .et_pb_section_0_tb_body, .sad-hero) .et_pb_text :is(p, h1, h2, h3) { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); }

/* ---------- Tekst ------------------------------------------------------- */
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text,
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text :is(p, li, td),
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_blurb_description,
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_post .post-content,
.sad-site:not(.et_pb_pagebuilder_layout) #main-content > article .entry-content,
.sad-site:not(.et_pb_pagebuilder_layout) #main-content > .container .entry-content {
  font-family: var(--sad-font) !important;
  color: var(--sad-text);
  font-size: 15px;
  line-height: 1.8;
}
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text :is(strong, b) { color: var(--sad-body); font-weight: 600; }
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_text a:not(.et_pb_button),
.sad-site:not(.et_pb_pagebuilder_layout) #main-content .entry-content a:not(.button) { color: var(--sad-primary); }
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_text a:not(.et_pb_button):hover { color: var(--sad-heading); }

/* ---------- Koppen: hoofdletters, gespatieerd, gouden balk (titleBlock van de winkel) ------------
 * Alleen koppen direct in een tekstmodule (niet de producttitels van een [products]-shortcode); geen eigen balk als
 * er al een Divi-scheidingslijn onder de tekstmodule staat (zoals op de homepage). */
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text_inner > :is(h1, h2, h3, h4),
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) :is(.et_pb_blurb, .et_pb_post_slider) :is(h2, h3, h4),
.sad-site:not(.et_pb_pagebuilder_layout) #main-content :is(.entry-title, .entry-content h2, .entry-content h3) {
  font-family: var(--sad-font) !important;
  color: var(--sad-heading);
  font-weight: 700;
  line-height: 1.3;
}
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text_inner > :is(h1, h2),
.sad-site:not(.et_pb_pagebuilder_layout) #main-content .entry-content h2 {
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-bottom: 0;
}
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text:not(:has(+ .et_pb_divider)) .et_pb_text_inner > :is(h1, h2)::after,
.sad-site:not(.et_pb_pagebuilder_layout) #main-content .entry-content h2::after {
  content: '';
  display: block;
  width: 80px;
  height: 3px;
  margin: 12px 0 18px;
  background: var(--sad-accent);
}
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text_align_center .et_pb_text_inner > :is(h1, h2)::after { margin-left: auto; margin-right: auto; }
.sad-site #main-content .et_pb_section:not(.sad-shop):not(.et_pb_section_0):not(.et_pb_section_0_tb_body):not(.sad-hero) .et_pb_text_inner > :is(h3, h4) { font-size: 17px; letter-spacing: 0.02em; }
.sad-site:not(.et_pb_pagebuilder_layout) #main-content .entry-title { font-size: 30px; text-transform: uppercase; letter-spacing: 0.1em; }

/* ---------- Knoppen: pill zoals in de winkel ---------------------------- */
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_button,
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_contact_submit,
.sad-site #main-content .et_pb_section:not(.sad-shop) .more-link,
.sad-site:not(.et_pb_pagebuilder_layout) #main-content > :is(article, .container) :is(.button, button[type='submit'], input[type='submit']) {
  display: inline-block;
  border-radius: var(--sad-pill) !important;
  padding: 14px 30px !important;
  font: 600 13px/1.2 var(--sad-font) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background: var(--sad-primary) !important;
  color: var(--sad-white) !important;
  border: 0 !important;
  transition: background 0.2s ease;
}
.sad-site #main-content .et_pb_section:not(.sad-shop) :is(.et_pb_button, .et_pb_contact_submit, .more-link):hover,
.sad-site:not(.et_pb_pagebuilder_layout) #main-content > :is(article, .container) :is(.button, button[type='submit'], input[type='submit']):hover {
  background: var(--sad-heading) !important;
}
.sad-site #main-content .et_pb_section:not(.sad-shop) :is(.et_pb_button, .et_pb_contact_submit)::after { display: none !important; }

/* ---------- Formulieren (Divi-contactformulier, events) ----------------- */
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_contact_form :is(input.input, textarea, select),
.sad-site:not(.et_pb_pagebuilder_layout) #main-content > :is(article, .container) :is(input[type='text'], input[type='email'], input[type='tel'], textarea, select) {
  font-family: var(--sad-font) !important;
  font-size: 15px !important;
  color: var(--sad-body) !important;
  background: var(--sad-white) !important;
  border: 1px solid var(--sad-field) !important;
  border-radius: var(--sad-radius) !important;
  padding: 13px 16px !important;
}
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_contact_form :is(input.input, textarea):focus { border-color: var(--sad-primary) !important; outline: 0; }
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_contact_form label,
.sad-site #main-content .et_pb_section:not(.sad-shop) .et_pb_contact_field_options_title { font-family: var(--sad-font); color: var(--sad-body); }

/* ---------- Footer: dezelfde letter, koppen als in de winkel ----------- */
.sad-site .et-l--footer :is(.et_pb_text, .et_pb_text p) { font-family: var(--sad-font) !important; color: var(--sad-body); }
.sad-site .et-l--footer .et_pb_text :is(h4) {
  font-family: var(--sad-font) !important;
  color: var(--sad-heading) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
}
.sad-site .et-l--footer a { color: var(--sad-primary); }

/* ---------- Nieuwspagina zonder berichten (site-style.php) ------------- */
.sad-news-empty { max-width: 640px; margin: 0 auto; padding: 32px 28px; text-align: center; background: var(--sad-soft); border-radius: var(--sad-radius); }
.sad-news-empty p { margin: 0; padding: 0; font: 400 16px/1.7 var(--sad-font); color: var(--sad-text); }
