/* ==========================================================
   Sander Wielemaker theme — fonts + component styles
   Zelfde visuele taal als het draaiboek "24 uur weg met je kind"
   ========================================================== */

@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/fraunces-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/fraunces-latin-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/fraunces-latin-900-normal.woff2') format('woff2'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/fraunces-latin-400-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/fraunces-latin-600-italic.woff2') format('woff2'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/work-sans-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/work-sans-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/work-sans-latin-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:Arial,Helvetica,sans-serif; src:url('../fonts/work-sans-latin-700-normal.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }

/* ---------- basics ---------- */
body { background:#fffaf2; }
a { text-decoration underline; text-underline-offset:0.15em; }
::selection { background:#f87932; color:#fffaf2; }

/* Skip link (keyboard / a11y) */
.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
  z-index:100000; padding:12px 18px;
  font-family:Arial,Helvetica,sans-serif; font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase;
  background:#153747; color:#fffaf2; text-decoration:none; border-radius:2px;
}
.skip-link:focus{
  left:24px; top:16px; width:auto; height:auto; overflow:visible;
  outline:2px solid #f87932; outline-offset:2px;
}

.site-header{
  display:flex; align-items:center; justify-content:space-between;
  max-width:1100px; margin:0 auto; padding:22px 24px;
  font-family:Arial,Helvetica,sans-serif; font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase;
}
.site-header a{ text-decoration:none; }
.site-header .brand{ color:#153747; font-weight:600; }
.site-header nav ul{ list-style:none; display:flex; gap:22px; margin:0; padding:0; }
.site-header nav a{ color:#153747; }
.site-header nav a:hover{ color:#f87932; }

.site-footer{
  max-width:1100px; margin:0 auto; padding:34px 24px 46px 24px;
  font-family:Arial,Helvetica,sans-serif; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase;
  color:#6b6250; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:18px 32px;
  border-top:1px solid rgba(42,38,32,0.15); margin-top:40px;
}
.site-footer a{ color:#6b6250; text-decoration:none; }
.site-footer a:hover{ color:#f87932; }
.site-footer__details{
  display:flex; flex-direction:column; gap:6px; line-height:1.45;
}
.site-footer__name{
  color:#153747; font-weight:600;
}
.site-footer__legal{
  margin-top:4px;
}
.site-footer__legal a{ color:#6b6250; }
.site-footer__legal a:hover{ color:#f87932; }
.site-footer__nav{ flex:1 1 auto; }
.site-footer__menu{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:6px; line-height:1.45;
}
.site-footer__menu a{ color:#6b6250; }
.site-footer__menu a:hover{ color:#f87932; }
.site-footer__copy{ flex:0 0 auto; }

/* Ruimte bovenaan als de site-header uitstaat */
body.sw-no-header #main{
  padding-top:48px;
}

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.site-header a:focus-visible,
.site-footer a:focus-visible,
.sander-contact-form input:focus-visible,
.sander-contact-form textarea:focus-visible,
.sander-contact-form button:focus-visible{
  outline:2px solid #f87932;
  outline-offset:2px;
}

/* ---------- eyebrow / mono labels ---------- */
.is-style-eyebrow{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  color:#f87932;
}
.is-style-eyebrow.brass{ color:#267bc1; }
.is-style-eyebrow.ember{ color:#b34313; }

/* ---------- dark hero / cover card ---------- */
.is-style-dark-card{
  background:#153747 !important;
  color:#fffaf2;
  border:1px solid rgba(215,179,106,0.45);
  border-radius:3px;
}
.is-style-dark-card h1,
.is-style-dark-card h2,
.is-style-dark-card h3{ color:#fffaf2 !important; }
.is-style-dark-card p{ color:#526873; }
.is-style-dark-card .wp-block-button__link{
  background:#f87932; color:#fffaf2; border-radius:2px;
}
.is-style-dark-card .wp-block-button__link:hover{
  background:#b34313;
}
.is-style-dark-card .is-style-outline .wp-block-button__link{
  border:1.5px solid #fffaf2 !important;
  color:#fffaf2 !important;
  background:transparent !important;
}
.is-style-dark-card .is-style-outline .wp-block-button__link:hover{
  border-color:#f87932 !important;
  color:#f87932 !important;
}
.is-style-dark-card .is-style-beat{
  color:#fffaf2;
  border-left-color:#f87932;
}
.is-style-dark-card .sw-checklist li{
  color:#526873;
}
.is-style-dark-card .wp-block-separator.is-style-ember{
  border-top-color:#f87932;
}

/* VIP price card accent */
.sw-order-card--vip{
  border-color:rgba(232,120,42,0.55);
  box-shadow:0 10px 28px rgba(232,120,42,0.12);
}
.sw-price-grid{
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
  align-items:stretch;
}
.sw-price-grid .sw-order-card{
  height:100%;
  text-align:left;
}
.sw-price-grid .sw-order-card .has-text-align-center,
.sw-price-grid .sw-order-card > .is-style-eyebrow,
.sw-price-grid .sw-order-card h3,
.sw-price-grid .sw-order-card .sw-order-price,
.sw-price-grid .sw-order-card .sw-order-price-note,
.sw-price-grid .sw-order-card .sw-cta-note{
  text-align:center;
}
.sw-price-grid .sw-checklist{
  text-align:left;
  margin-top:1.2em;
}

/* Methodiek: 4 stappen naast elkaar */
.sw-method-steps{
  max-width:1100px;
  margin:28px auto 8px;
  gap:16px !important;
}
.sw-method-step{
  background:#fffaf2;
  border-top:3px solid #f87932;
  border-radius:2px;
  padding:22px 14px 18px;
  height:100%;
  box-sizing:border-box;
}
.sw-method-step h3{
  font-size:1.05rem;
  margin:0;
}

/* FluentCart knoppen in prijsblokken */
.sw-order-card .wp-block-fluent-cart-buy-now-button,
.sw-order-card .fluent-cart-checkout-button,
.sw-order-card [class*="fluent_cart"] button,
.sw-order-card [class*="fluent-cart"] button,
.sw-order-card .wp-block-shortcode,
.sw-order-card .sw-fc-fallback{
  display:block;
  width:100%;
  margin-top:1rem;
}
.sw-order-card .wp-block-fluent-cart-buy-now-button a,
.sw-order-card .fluent-cart-checkout-button,
.sw-order-card [class*="fluent_cart"] button,
.sw-order-card [class*="fluent-cart"] button,
.sw-order-card .sw-fc-fallback .wp-block-button__link{
  display:block;
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:0.04em;
  text-transform:uppercase;
  background:#f87932 !important;
  color:#fffaf2 !important;
  border:none !important;
  border-radius:2px !important;
  padding:0.9em 1.4em !important;
  font-size:0.85rem !important;
  cursor:pointer;
  text-decoration:none !important;
}
.sw-order-card .wp-block-fluent-cart-buy-now-button a:hover,
.sw-order-card [class*="fluent_cart"] button:hover,
.sw-order-card .sw-fc-fallback .wp-block-button__link:hover{
  background:#b34313 !important;
}

@media (max-width:781px){
  .sw-method-steps{
    flex-wrap:wrap !important;
  }
  .sw-method-steps > .wp-block-column{
    flex-basis:100% !important;
  }
  .sw-order-card .wp-block-fluent-cart-buy-now-button a,
  .sw-order-card [class*="fluent_cart"] button,
  .sw-order-card .sw-fc-fallback .wp-block-button__link{
    min-height:52px;
    font-size:0.9rem !important;
  }
}

/* ---------- accent / paper panel ---------- */
.is-style-panel{
  background:#fffaf2 !important;
  border-left:3px solid #267bc1;
  padding:18px 22px;
  border-radius:2px;
}
.is-style-panel.ember{ border-left-color:#b34313; }
.is-style-panel.mandarin{ border-left-color:#f87932; }

/* ---------- waypoint numbered badge (heading style) ---------- */
.is-style-waypoint{
  display:flex; align-items:flex-start; gap:16px; margin-bottom:0.4em;
}
.is-style-waypoint::before{
  counter-increment: waypoint;
  content: counter(waypoint, decimal-leading-zero);
  flex:0 0 auto;
  width:44px; height:44px; border-radius:50%;
  background:#153747; color:#fffaf2; border:1.5px solid #f87932;
  font-family:Arial,Helvetica,sans-serif; font-size:0.95rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.waypoint-list{ counter-reset: waypoint; }

/* ---------- buttons ---------- */
.wp-block-button__link{
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:0.04em; text-transform:uppercase; text-decoration:none !important;
  padding:0.9em 1.6em !important;
  box-sizing:border-box;
}
.is-style-outline .wp-block-button__link{
  border:1.5px solid #153747 !important; color:#153747 !important; background:transparent !important;
}
.is-style-outline .wp-block-button__link:hover{
  border-color:#f87932 !important; color:#f87932 !important;
}

/* ---------- pull quote / beat line ---------- */
.is-style-beat{
  font-family:Arial,Helvetica,sans-serif;
  font-style:italic; font-weight:600;
  font-size:1.35rem !important;
  color:#153747;
  border-left:3px solid #f87932;
  padding-left:16px;
  margin:0.6em 0;
}

/* ---------- separators ---------- */
.wp-block-separator{ border-top:1.5px solid rgba(42,38,32,0.2); }
.wp-block-separator.is-style-ember{ border-top:2.5px solid #f87932; max-width:60px; margin-left:0; }

/* ---------- contact form ---------- */
.sander-contact-form{ max-width:520px; margin-top:1em; }
.sander-contact-form p{ margin:0 0 14px 0; }
.sander-contact-form label{
  display:block; font-family:Arial,Helvetica,sans-serif; font-size:0.78rem;
  letter-spacing:0.06em; text-transform:uppercase; color:#267bc1; margin-bottom:5px;
}
.sander-contact-form input[type="text"],
.sander-contact-form input[type="email"],
.sander-contact-form textarea{
  width:100%; padding:11px 12px; border:1.4px solid rgba(42,38,32,0.3);
  background:#fffaf2; color:#153747; font-family:Arial,Helvetica,sans-serif; font-size:1rem;
  border-radius:2px;
}
.sander-contact-form textarea{ min-height:130px; resize:vertical; }
.sander-contact-form button{
  font-family:Arial,Helvetica,sans-serif; letter-spacing:0.04em; text-transform:uppercase;
  background:#f87932; color:#fffaf2; border:none; padding:0.9em 1.8em;
  border-radius:2px; cursor:pointer; font-size:0.85rem;
}
.sander-contact-form button:hover{ background:#b34313; }
.sander-contact-form .hp-field{ position:absolute; left:-9999px; }
.sander-contact-notice{
  padding:12px 16px; margin-bottom:18px; border-radius:2px; font-size:0.95rem;
}
.sander-contact-notice.success{ background:#e4ecdf; color:#153747; border-left:3px solid #153747; }
.sander-contact-notice.error{ background:#f3ded7; color:#7a2c14; border-left:3px solid #b34313; }

/* ---------- responsive ---------- */
@media (max-width:600px){
  .site-header{ flex-direction:column; align-items:flex-start; gap:10px; }
  .is-style-waypoint::before{ width:36px; height:36px; font-size:0.8rem; }
}

/* ---------- standaard content-breedte ---------- */
.sw-content{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}
/* Blokken die je in de editor op "brede breedte" zet, mogen breder dan de standaard container */
.sw-content .alignwide{
  max-width:1100px;
}
/* Blokken op "volle breedte" (bijv. een hero met achtergrondfoto) breken uit de container */
.sw-content .alignfull{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Voorkom horizontale scroll door 100vw + scrollbar */
html{
  overflow-x:clip;
}
img, svg, video, iframe{
  max-width:100%;
  height:auto;
}

/* ---------- layout utilities (used by the block patterns) ---------- */
.sw-section{ max-width:1100px; margin:0 auto; padding:64px 24px; }
.sw-section.narrow{ max-width:740px; }
.sw-pad-lg{ padding:72px 32px; }
.sw-pad-md{ padding:40px 28px; }

/* ---------- salespage photos ---------- */
.sw-photo img{ border-radius:2px; border:1px solid rgba(42,38,32,0.12); }
.sw-photo-dark img{ border-color:rgba(215,179,106,0.45); }
.sw-hero-cover{ border-radius:0; }
.sw-hero-cover .wp-block-cover__inner-container{ max-width:760px; margin:0 auto; padding:0 24px; }

/* Lichte hero: crème + subtiel veldgids-patroon (geen foto) */
.sw-hero-light{
  background-color:#fffaf2;
  background-image:
    radial-gradient(rgba(31,51,39,0.06) 1px, transparent 1px),
    linear-gradient(180deg, #fffaf2 0%, #fffaf2 100%);
  background-size: 18px 18px, 100% 100%;
  padding:72px 24px 64px;
  text-align:center;
  border-bottom:1px solid rgba(42,38,32,0.1);
}
.sw-hero-light > *{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.sw-hero-light h1{
  color:#153747;
  margin-top:0.35em;
  margin-bottom:0.45em;
}
.sw-hero-light__lead{
  color:#153747;
  font-size:1.15rem;
  line-height:1.5;
  max-width:36em;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:1.4em;
}
.sw-hero-light .wp-block-buttons{
  justify-content:center;
}
@media (max-width:600px){
  .sw-hero-light{ padding:48px 16px 44px; }
}

/* ---------- FluentCart Buy Now-knop centreren ---------- */
.wp-block-fluent-cart-buy-now-button{
  display:table;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- FluentCart order bump ---------- */
.fct_order_promotions_wrap{
  margin-top:1.25rem;
}
.fct_order_promotions_wrap .fct_form_section_header{
  margin-bottom:10px;
}
.fct_order_promotions_wrap .fct_form_section_header_label{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0 !important;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#f87932 !important;
  font-weight:600 !important;
  margin:0;
}
.fct_order_promotions_wrap .fct_form_section_header_label::before{
  content:"Voeg toe aan je bestelling";
  font-size:0.78rem;
  line-height:1.4;
  display:inline-block;
}
.fct_order_promotions_wrap .fct_form_section_header_label[data-sw-localized]{
  font-size:0.78rem !important;
  line-height:1.4;
}
.fct_order_promotions_wrap .fct_form_section_header_label[data-sw-localized]::before{
  content:none;
  display:none;
}

.fct_order_promotions_wrap .fct_order_promotion{
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:#fffaf2;
  border:1.5px dashed rgba(232,120,42,0.65);
  border-radius:3px;
  padding:18px 16px;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.fct_order_promotions_wrap .fct_order_promotion:has(.fct_order_promotion_input:checked){
  border-style:solid;
  border-color:#f87932;
  background:#FFF6ED;
  box-shadow:0 0 0 1px rgba(232,120,42,0.25);
}

.fct_order_promotions_wrap .fct_order_promotion_checkbox{
  flex:0 0 auto;
  padding-top:3px;
}
.fct_order_promotions_wrap .fct_order_promotion_input{
  width:18px;
  height:18px;
  accent-color:#f87932;
  cursor:pointer;
}

.fct_order_promotions_wrap .fct_bump_details{
  flex:1 1 auto;
  min-width:0;
}
.fct_order_promotions_wrap .fct_order_promotion_label{
  cursor:pointer;
  display:block;
}

.fct_order_promotions_wrap .fct_order_promotion_title{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:1.15rem;
  line-height:1.25;
  color:#153747;
  margin:0 0 6px;
}

.fct_order_promotions_wrap .fct_order_promotion_product_title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#6b6250;
  margin:0 0 8px;
}

.fct_order_promotions_wrap .fct_order_promotion_price,
.fct_order_promotions_wrap span.fct_order_promotion_price{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900 !important;
  font-size:1.45rem !important;
  color:#f87932 !important;
  display:inline-block;
  margin:0 0 10px;
}

.fct_order_promotions_wrap .fct_order_promotion_description{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.92rem;
  line-height:1.55;
  color:#153747;
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid rgba(42,38,32,0.12);
}
.fct_order_promotions_wrap .fct_order_promotion_description strong{
  color:#153747;
}
.fct_order_promotions_wrap .fct_order_promotion_description br{
  display:block;
  content:"";
  margin-top:0.35em;
}

@media (max-width:600px){
  .fct_order_promotions_wrap .fct_order_promotion{
    padding:14px 12px;
    gap:10px;
  }
  .fct_order_promotions_wrap .fct_order_promotion_title{
    font-size:1.05rem;
  }
}

/* ---------- Betaalpagina: Wat je kind onthoudt ---------- */
.sw-checkout-hero{
  background:#fffaf2;
  padding:56px 24px 48px;
  border-bottom:1px solid rgba(42,38,32,0.1);
}
.sw-checkout-hero > .wp-block-columns,
.sw-checkout-hero .wp-block-columns{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  align-items:flex-start;
  gap:48px;
}

/* Productcover-mockup (tot er een echte cover staat) */
.sw-product-cover{
  aspect-ratio:3/4;
  max-width:340px;
  margin:0 auto;
  background:#153747;
  color:#fffaf2;
  border:1.5px solid rgba(232,120,42,0.55);
  border-radius:2px;
  padding:36px 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:12px 16px 0 rgba(31,51,39,0.12);
}
.sw-product-cover__eyebrow{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#f87932;
}
.sw-product-cover__title{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  line-height:1.15;
  color:#fffaf2;
  margin:18px 0 12px;
}
.sw-product-cover__sub{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.95rem;
  line-height:1.45;
  color:#526873;
}
.sw-product-cover__foot{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(247,242,230,0.55);
  border-top:1px solid rgba(215,179,106,0.35);
  padding-top:14px;
  margin-top:24px;
}

.sw-checkout-copy h1{
  font-size:clamp(2rem, 4vw, 2.75rem);
  margin-top:0.15em;
  margin-bottom:0.35em;
}
.sw-checkout-copy .sw-lead{
  font-size:1.2rem;
  line-height:1.45;
  color:#153747;
  font-weight:500;
  margin-bottom:1.1em;
}

.sw-topic-list{
  list-style:none;
  margin:1em 0 1.4em;
  padding:0;
}
.sw-topic-list li{
  margin:0 0 0.85em;
  padding-left:0;
  line-height:1.45;
}
.sw-topic-list strong{
  display:inline-block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#f87932;
  margin-right:0.35em;
}

.sw-checklist{
  list-style:none;
  margin:1em 0 1.5em;
  padding:0;
}
.sw-checklist li{
  position:relative;
  padding-left:1.55em;
  margin:0 0 0.65em;
  line-height:1.5;
}
.sw-checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#f87932;
  font-weight:700;
}

.sw-moment-list{
  list-style:none;
  margin:0.8em 0 1.2em;
  padding:0;
  border-left:3px solid #f87932;
  padding-left:16px;
}
.sw-moment-list li{
  font-family:Arial,Helvetica,sans-serif;
  font-style:italic;
  font-weight:600;
  font-size:1.15rem;
  color:#153747;
  margin:0 0 0.35em;
  line-height:1.35;
}

/* Bestelzone onder de marketing */
.sw-checkout-zone{
  background:#fffaf2;
  padding:48px 24px 64px;
}
.sw-order-card{
  max-width:420px;
  margin:0 auto;
  background:#fffaf2;
  border:1px solid rgba(42,38,32,0.12);
  border-radius:3px;
  padding:32px 28px 28px;
  box-shadow:0 10px 28px rgba(42,38,32,0.08);
  text-align:center;
}
.sw-order-card h2{
  margin-top:0;
  margin-bottom:0.35em;
  font-size:1.55rem;
}
.sw-order-meta{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#267bc1;
  margin:0 0 1.2em;
}
.sw-order-price{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  font-size:2.6rem;
  line-height:1;
  color:#153747;
  margin:0 0 0.15em;
}
.sw-order-price-note{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#6b6250;
  margin:0 0 1.4em;
}
.sw-order-card .wp-block-buttons{
  justify-content:center;
  width:100%;
  max-width:100%;
}
.sw-order-card .wp-block-button,
.sw-order-card .wp-block-button.has-custom-width{
  width:100% !important;
  max-width:100%;
}
.sw-order-card .wp-block-button__link{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  background:#f87932 !important;
  color:#fffaf2 !important;
}
.sw-order-card .wp-block-button__link:hover{
  background:#b34313 !important;
}
.sw-order-card .wp-block-fluent-cart-buy-now-button{
  width:100%;
  max-width:100%;
  display:block;
  margin:0;
  box-sizing:border-box;
}
.sw-cta-note{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#6b6250;
  margin:14px 0 0;
}

/* ---------- Gids-salespage: Wat je kind onthoudt ---------- */
.sw-gids-hero{
  background:#fffaf2;
}
.sw-gids-cover{
  margin:0;
}
.sw-gids-cover img{
  width:100%;
  max-width:420px;
  height:auto;
  margin:0 auto;
  display:block;
}
.sw-gids-promise{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:clamp(1.45rem, 2.5vw, 1.95rem);
  line-height:1.25;
  color:#153747;
  margin:0.15em 0 0.75em;
}
.sw-gids-meta{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#267bc1;
  margin:0.2em 0 1.1em;
}
.is-style-dark-card p.sw-gids-meta{
  color:#f87932;
}
.sw-way-row{
  gap:12px !important;
  margin-top:1.4em;
}
.sw-way-card{
  background:#fffaf2;
  border-top:3px solid #f87932;
  border-radius:2px;
  padding:16px 14px 14px;
  height:100%;
  box-sizing:border-box;
}
@media (max-width:1100px) and (min-width:782px){
  .sw-way-row{
    flex-wrap:wrap !important;
  }
  .sw-way-row > .wp-block-column{
    flex-basis:calc(50% - 12px) !important;
    flex-grow:0;
  }
}
.sw-way-card h3{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#f87932;
  margin:0 0 0.45em;
}
.sw-way-card p{
  font-size:0.95rem;
  line-height:1.45;
  margin:0;
}
.sw-gids-peeks{
  gap:18px !important;
  margin-top:1.2em;
  align-items:start;
}
.sw-gids-page{
  margin:0;
}
.sw-gids-page img{
  border:1px solid rgba(42,38,32,0.12);
  border-radius:2px;
  box-shadow:8px 12px 0 rgba(31,51,39,0.08);
}
.sw-gids-page figcaption{
  font-size:0.92rem;
  line-height:1.4;
  color:#153747;
  margin-top:0.7em;
}
.sw-order-card--guide{
  max-width:480px;
}
.sw-order-card .sw-checklist{
  text-align:left;
  display:inline-block;
  margin-left:auto;
  margin-right:auto;
}

@media (max-width:781px){
  .sw-content{
    padding-left:16px;
    padding-right:16px;
    width:100%;
    max-width:100%;
  }
  /* Geen 100vw op mobiel — dat is vaak een fractie te breed */
  .sw-content .alignfull{
    width:calc(100% + 32px);
    max-width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
  }
  .sw-way-row{
    flex-wrap:wrap !important;
  }
  .sw-way-row > .wp-block-column{
    flex-basis:100% !important;
  }
  .sw-gids-cover img{
    max-width:280px;
  }
  .sw-checkout-hero{ padding:36px 16px 32px; box-sizing:border-box; }
  .sw-product-cover{ max-width:280px; margin-bottom:12px; }
  .sw-checkout-zone{ padding:36px 16px 48px; box-sizing:border-box; }
  .sw-order-card{ padding:26px 20px 22px; }

  /* FluentCart checkout: houd alles binnen het scherm */
  .fct_checkout_form_section,
  .fct_order_promotions_wrap,
  .fct_order_promotion,
  .fct_bump_details,
  .fct_form_section_body,
  [class*="fct_checkout"],
  [class*="fluent-cart"]{
    max-width:100%;
    box-sizing:border-box;
  }
  .fct_order_promotions_wrap .fct_order_promotion_description,
  .fct_order_promotions_wrap .fct_order_promotion_title{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  input, select, textarea, button{
    max-width:100%;
    box-sizing:border-box;
  }
}

/* ---------- CrossFit woordenlijst: opt-in ---------- */
.sw-crossfit-hero .sw-photo img{
  width:100%;
  max-height:760px;
  object-fit:cover;
  object-position:center top;
}
.sw-crossfit-slot .sw-optin{
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
}
.sw-optin-note{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.75rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#6b6250;
  margin-top:0.8em;
}
.is-style-dark-card .sw-optin-note{
  color:#526873;
  text-align:center;
}
.sw-optin .fluentform .ff-el-group{
  margin-bottom:14px;
}
.sw-optin .fluentform .ff-el-input--label,
.sw-optin .fluentform label{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#267bc1;
  margin-bottom:6px;
}
.is-style-dark-card .sw-optin .fluentform .ff-el-input--label,
.is-style-dark-card .sw-optin .fluentform label{
  color:#f87932;
}
.sw-optin .fluentform .ff-el-form-control,
.sw-optin .fluentform input[type="text"],
.sw-optin .fluentform input[type="email"]{
  width:100%;
  padding:11px 12px;
  border:1.4px solid rgba(42,38,32,0.3);
  background:#fffaf2;
  color:#153747;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1rem;
  border-radius:2px;
  box-sizing:border-box;
}
.sw-optin .fluentform .ff-btn-submit,
.sw-optin .fluentform button[type="submit"]{
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:0.04em;
  text-transform:uppercase;
  background:#f87932;
  color:#fffaf2;
  border:none;
  border-radius:2px;
  padding:0.9em 1.6em;
  font-size:0.85rem;
  cursor:pointer;
  width:100%;
}
.sw-optin .fluentform .ff-btn-submit:hover,
.sw-optin .fluentform button[type="submit"]:hover{
  background:#b34313;
}


/* Stroom: shared visual system for existing Gutenberg pages and forms. */
body{background:#fffaf2;color:#153747;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}
.sw-content{max-width:1180px;padding:0 32px;margin:0 auto;min-height:45vh}
.sw-content h1,.sw-content h2,.sw-content h3,.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3{font-family:Arial,Helvetica,sans-serif!important;font-weight:800;letter-spacing:-.045em;color:#153747;line-height:1.12}
.sw-content h1{font-size:clamp(38px,4.8vw,64px)}.sw-content h2{font-size:clamp(30px,3.3vw,44px)}.sw-content h3{font-size:clamp(23px,2.4vw,30px)}
.sw-section{max-width:1180px;padding:65px 28px}.sw-section.narrow{max-width:760px}.sw-pad-lg{padding:65px 36px}.sw-pad-md{padding:35px 28px}
.is-style-dark-card{background:#e6f3fa!important;color:#153747;border:0;border-radius:55px 16px 55px 16px}
.is-style-dark-card h1,.is-style-dark-card h2,.is-style-dark-card h3{color:#153747!important}.is-style-dark-card p,.is-style-dark-card .sw-checklist li{color:#153747}
.is-style-panel{background:#fff0df;border:0;border-left:0;padding:26px 30px;border-radius:25px 48px 25px 25px}
.is-style-panel.ember,.is-style-panel.mandarin{border-left:0;background:#e6f3fa}
.is-style-eyebrow{font-family:Arial,Helvetica,sans-serif!important;font-weight:800;color:#b34313;letter-spacing:.14em;font-size:12px}
.is-style-beat{font-family:Arial,Helvetica,sans-serif!important;font-style:normal;font-weight:700;color:#153747;font-size:1.3rem;border-left-color:#f87932}
.is-style-dark-card .is-style-beat{color:#153747}.sw-moment-list li{font-family:Arial,Helvetica,sans-serif;font-style:normal;color:#153747}
.wp-block-button__link{font-family:Arial,Helvetica,sans-serif!important;text-transform:none;letter-spacing:0!important;border-radius:999px!important;background:#f87932;color:#153747!important;padding:15px 25px!important;font-weight:700;line-height:1.4;text-decoration:none}
.wp-block-button__link:hover{background:#ffa56a;color:#153747!important}.is-style-outline .wp-block-button__link,.is-style-dark-card .is-style-outline .wp-block-button__link{border:1px solid #15374755!important;color:#153747!important;background:transparent!important}
.sw-photo img{border:0;border-radius:38px 65px 38px 38px}.sw-hero-cover{overflow:hidden;border-radius:0 0 65px 65px}.sw-hero-cover .wp-block-cover__inner-container h1{color:white!important}.sw-hero-cover p{color:white!important}
.sw-hero-light{background:#e6f3fa;background-image:none;border:0;border-radius:0 0 65px 65px;padding:75px 28px}.sw-hero-light h1{font-size:clamp(40px,5.3vw,68px)!important}.sw-hero-light__lead{color:#153747}
.sw-checkout-hero{background:#e6f3fa;border-radius:0 0 55px 55px;border:0}.sw-product-cover{border-radius:30px;background:#267bc1;border-color:#267bc1}.sw-gids-cover img{border-radius:28px;box-shadow:0 15px 35px #15374718}.sw-gids-promise{font-family:Arial,Helvetica,sans-serif!important;font-weight:700;color:#153747}
.sw-way-card,.sw-method-step,.sw-order-card{background:#fff0df;border:0;border-radius:28px;padding:30px;color:#153747}.sw-way-card h3{color:#153747}.sw-order-price{font-family:Arial,Helvetica,sans-serif!important;font-weight:800;color:#153747}.sw-order-card--vip{background:#e6f3fa}.sw-order-card h2{color:#153747}
.sw-order-card .wp-block-button__link,.sw-order-card .fluent-cart-checkout-button,.sw-order-card .wp-block-fluent-cart-buy-now-button a,.sw-order-card [class*="fluent_cart"] button,.sw-order-card [class*="fluent-cart"] button{border-radius:999px!important;font-family:Arial,Helvetica,sans-serif!important;background:#f87932!important;color:#153747!important;text-transform:none!important;letter-spacing:0!important}
.sander-contact-form input,.sander-contact-form textarea,.sw-optin .fluentform .ff-el-form-control,.fluentform .ff-el-form-control{border-radius:13px!important;border:1px solid #15374730;background:white;color:#153747}
.sander-contact-form button,.sw-optin .fluentform .ff-btn-submit,.fluentform .ff-btn-submit{border-radius:999px!important;font-family:Arial,Helvetica,sans-serif!important;background:#f87932!important;color:#153747!important;text-transform:none!important;letter-spacing:0!important}
.fls_login_wrapper{border:1px solid #15374715;border-radius:35px;background:white;box-shadow:0 15px 45px #15374708;padding:35px;margin:50px auto}
.fls_login_wrapper button,.fls_login_wrapper input[type=submit],.fls_login_wrapper .button{border-radius:999px!important;background:#f87932!important;color:#153747!important;border:0}.fls_login_wrapper input:not([type=checkbox]):not([type=submit]){border-radius:12px;border-color:#15374735}
.fct-product-card{border-radius:24px!important;overflow:hidden;background:white}.fct-product-card-image-wrap{border-radius:24px 24px 0 0}.fctcr-wrap{background:white;border-radius:30px;padding:30px;margin:40px auto}.fctcr-btn-primary,.continue-shopping-link,.fct-not-found-button{border-radius:999px!important}
/* Existing custom sales pages: retain copy and structure; update all design rules. */
.ah-sales{color:#153747!important;font-family:Arial,Helvetica,sans-serif!important}.ah-sales h1,.ah-sales h2,.ah-sales h3,.ah-sales .ah-price{font-family:Arial,Helvetica,sans-serif!important;color:#153747!important;font-weight:800!important;letter-spacing:-.045em}
.ah-sales .ah-button{background:#f87932!important;color:#153747!important;border-radius:999px!important;font-weight:700}.ah-sales .ah-button:hover{background:#ffa56a!important}.ah-sales .ah-offer{background:#e6f3fa!important;border:0!important;border-radius:55px 16px 55px 16px!important}.ah-sales .ah-bonuses strong{color:#b34313!important}.ah-sales .ah-testimonial img{border-radius:26px!important}.ah-sales .ah-copy{border-color:#15374720!important}
.tip-v2{--ink:#153747!important;--paper:#fffaf2!important;--muted:#526873!important;--line:#15374720!important;--accent:#f87932!important;--white:#ffffff!important;font-family:Arial,Helvetica,sans-serif!important;background:#fffaf2!important}
.tip-v2 h1,.tip-v2 h2,.tip-v2 h3,.tip-v2 .quote,.tip-v2 .price,.tip-v2 .num{font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;color:#153747!important;letter-spacing:-.045em}
.tip-v2 header{display:none!important}.tip-v2 .button{background:#f87932!important;color:#153747!important;border-radius:999px!important;font-weight:700}.tip-v2 .hero-card,.tip-v2 .author-card,.tip-v2 .example{background:#e6f3fa!important;border-radius:38px 65px 38px 38px!important}.tip-v2 .hero-card:before{color:#a9d8ee!important}.tip-v2 .band{background:#e6f3fa!important;color:#153747!important;border-radius:25px}.tip-v2 .soft{background:#eef5f8!important;border-radius:35px}.tip-v2 .offer{background:#e6f3fa!important;color:#153747!important;border-radius:55px 16px 55px 16px!important}.tip-v2 .offer h2,.tip-v2 .offer .small,.tip-v2 .check li:before{color:#153747!important}.tip-v2 .num{color:#b34313!important}.tip-v2 .statement{border-color:#f87932!important}.tip-v2 footer{display:none!important}
body.page-id-288 > footer{display:block!important}
@media(max-width:650px){.sw-content{padding:0 20px}.sw-section{padding:45px 20px}.sw-pad-lg{padding:45px 25px}.sw-hero-light{padding:50px 20px;border-radius:0 0 35px 35px}.sw-hero-cover{border-radius:0 0 35px 35px}.tip-v2 .wrap{padding:0 20px!important}.fls_login_wrapper{padding:25px 20px}.ah-sales h1{font-size:38px!important}.tip-v2 .offer{padding:30px 22px!important}}

/* Commerce plugin pages: presentation only, preserve native payment layout. */
body.sw-checkout-page{background:#fffaf2!important;color:#153747!important;font-family:Arial,Helvetica,sans-serif!important}
body.sw-checkout-page h1,body.sw-checkout-page h2,body.sw-checkout-page h3,body.sw-checkout-page .sw-checkout-brand,body.sw-checkout-page .sw-pay-price{font-family:Arial,Helvetica,sans-serif!important;color:#153747!important;font-weight:800!important;letter-spacing:-.04em}
body.sw-checkout-page .sw-checkout-brand{font-size:21px}body.sw-checkout-page .sw-checkout-secure,body.sw-checkout-page .sw-checkout-eyebrow{font-family:Arial,Helvetica,sans-serif!important;font-weight:800;color:#b34313}
body.sw-checkout-page .sw-step{background:#267bc1!important;font-family:Arial,Helvetica,sans-serif!important;color:white}
body.sw-checkout-page .sw-pay-card{border-radius:28px!important;border-color:#15374725!important;color:#153747!important}
body.sw-checkout-page .sw-pay-card.is-selected{background:#e6f3fa!important;border-color:#267bc1!important;box-shadow:0 0 0 2px #267bc115!important}
body.sw-checkout-page .is-selected .sw-pay-indicator{border-color:#267bc1!important;background:white!important}
body.sw-checkout-page .sw-vader-checkout [data-fluent-cart-checkout-page]{font-family:Arial,Helvetica,sans-serif!important;color:#153747}
body.sw-checkout-page .sw-vader-checkout .fct_summary{border-radius:25px!important;background:white!important;border-color:#15374720!important}
body.sw-checkout-page .sw-vader-checkout .fct_checkout_form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.sw-checkout-page .sw-vader-checkout .fct_checkout_form select,body.sw-checkout-page .sw-vader-checkout .fct_checkout_form textarea{border-radius:12px!important;border-color:#15374730!important}
body.sw-checkout-page .sw-vader-checkout [data-fluent-cart-checkout-page-checkout-button],body.sw-checkout-page .sw-reload{background:#f87932!important;color:#153747!important;border-radius:999px!important;font-family:Arial,Helvetica,sans-serif!important}
body.sw-checkout-page .sw-vader-checkout .sw-native-checkout .sw-checkout-payment .fct_order_promotions,body.sw-checkout-page .sw-vader-checkout .sw-native-checkout .sw-checkout-payment .fct_order_promotion{background:#fff0df!important;border-color:#f87932!important;border-radius:24px!important}
body.sw-checkout-page .sw-vader-checkout .sw-native-checkout .sw-checkout-payment .fct_order_promotion_title,body.sw-checkout-page .sw-vader-checkout .sw-native-checkout .sw-checkout-payment .fct_order_promotion_price>span{color:#153747!important}
body.sw-checkout-page .sw-term-consent{border-radius:20px;background:#e6f3fa;border-color:#267bc135}

/* Shop width stays inside the shared page shell. */
.sw-content .fct-products-wrapper{width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box!important}
.sw-content .fct-products-wrapper-inner,.sw-content .fct-products-container{min-width:0;max-width:100%}
.sw-content .fct-product-card-image{object-fit:contain!important;background:#fffaf2}
.sw-content .fct-product-card .fluent-cart-add-to-cart-button{background:#f87932!important;color:#153747!important;border-radius:999px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700;text-transform:none}
.sw-flow .menutoggle{flex-shrink:0;white-space:nowrap;line-height:1.4}
@media(max-width:650px){body .sw-flow .brand small{font-size:9px;letter-spacing:.08em}body .sw-flow .menutoggle{font-size:14px;padding:8px 13px}}
