/* ==========================================================================
   Bevallingswijzer Academy · aanvullende stijlen
   --------------------------------------------------------------------------
   Kleuren, lettertypes, groottes en ruimte staan in theme.json. Dit bestand
   bevat alleen wat theme.json niet kan: componenten uit het HTML-ontwerp
   V4_1 (assets/css/style.css), vertaald naar Gutenberg-blokken en blokstijlen.
   Inhoud
   01 Tokens (aliassen op de presets uit theme.json)
   02 Basis
   03 Layout en secties
   04 Header en accountnavigatie
   05 Footer
   06 Knoppen
   07 Tekstcomponenten (bovenkop, accentwoorden, placeholders)
   08 Kaarten en meldingen
   09 Lijsten (vinkjes, tijdlijn)
   10 Veelgestelde vragen
   11 Beeld
   12 Patronen (paginahero, download, voorbeeldtekst, reviews, garantie, bedankt)
   13 Salespagina met checkout
   14 Responsief en beweging
   ========================================================================== */

/* 01 TOKENS -------------------------------------------------------------- */
:root {
	--bw-paper: var(--wp--preset--color--paper);
	--bw-cream: var(--wp--preset--color--cream);
	--bw-blush-soft: var(--wp--preset--color--blush-soft);
	--bw-sage-soft: var(--wp--preset--color--sage-soft);
	--bw-rose: var(--wp--preset--color--rose);
	--bw-rose-hover: #C9A193;
	--bw-taupe: var(--wp--preset--color--taupe);
	--bw-ink: var(--wp--preset--color--ink);
	--bw-ink-strong: var(--wp--preset--color--ink-strong);
	--bw-ink-muted: var(--wp--preset--color--ink-muted);
	--bw-accent: var(--wp--preset--color--accent);
	--bw-accent-soft: var(--wp--preset--color--accent-soft);
	--bw-sage-deep: var(--wp--preset--color--sage-deep);
	--bw-line: var(--wp--preset--color--line);
	--bw-line-soft: #F2E7E2;
	--bw-input-line: #DCC9C1;
	--bw-error: var(--wp--preset--color--error);
	--bw-display: var(--wp--preset--font-family--display);
	--bw-body: var(--wp--preset--font-family--body);
	--bw-r-sm: var(--wp--custom--radius--sm);
	--bw-r-md: var(--wp--custom--radius--md);
	--bw-r-lg: var(--wp--custom--radius--lg);
	--bw-r-xl: var(--wp--custom--radius--xl);
	--bw-r-arch: var(--wp--custom--radius--arch);
	--bw-shadow-sm: var(--wp--preset--shadow--sm);
	--bw-shadow: var(--wp--preset--shadow--md);
	--bw-shadow-lg: var(--wp--preset--shadow--lg);
	--bw-ease: var(--wp--custom--ease);
	--bw-header-h: var(--wp--custom--header-height);
}

/* 02 BASIS --------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--bw-header-h) + 20px); -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--blush); color: var(--bw-ink); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--bw-sage-deep); outline-offset: 3px; border-radius: 4px; }
:where(h1, h2, h3, h4) { text-wrap: balance; margin-top: 0; }
:where(p) { text-wrap: pretty; }
strong, b { font-weight: 600; }
/* Een cursief woord in een kop wordt het warme accent uit het ontwerp ("Nog één stap.") */
:where(h1, h2, h3) em { font-style: italic; color: var(--bw-accent-soft); font-weight: 500; }
:where(.entry-content, .wp-block-post-content) a:not(.wp-element-button):not(.wp-block-button__link) {
	text-decoration-color: var(--bw-rose); text-underline-offset: 3px; text-decoration-thickness: 1.5px;
}
:where(.entry-content, .wp-block-post-content) a:not(.wp-element-button):not(.wp-block-button__link):hover { text-decoration-color: var(--bw-ink); }
.has-small-font-size, .has-x-small-font-size { line-height: 1.6; }

/* 03 LAYOUT EN SECTIES --------------------------------------------------- */
/* Header, inhoud en footer sluiten naadloos op elkaar aan */
.wp-site-blocks > * { margin-block-start: 0; }
.bw-section { padding-block: var(--wp--preset--spacing--70); }
.bw-section--tight { padding-block: var(--wp--preset--spacing--60); }
.bw-section > :first-child { margin-top: 0; }
.bw-main { min-height: 50vh; }
.bw-muted, .bw-muted p { color: var(--bw-ink-muted); }
.bw-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.75; }

/* 04 HEADER EN ACCOUNTNAVIGATIE ------------------------------------------ */
.bw-header {
	position: sticky; top: 0; z-index: 90;
	background: rgba(255, 248, 247, .94);
	-webkit-backdrop-filter: saturate(1.2) blur(16px); backdrop-filter: saturate(1.2) blur(16px);
	border-bottom: 1px solid rgba(213, 179, 168, .24);
}
.admin-bar .bw-header { top: var(--wp-admin--admin-bar--height, 0px); }
.bw-header__inner { min-height: var(--bw-header-h); gap: 24px; }
.bw-logo { display: inline-flex; align-items: center; line-height: 0; }
.bw-logo img { width: 214px; height: auto; max-height: 68px; }
.bw-account-nav { font-size: .84rem; font-weight: 500; }
.bw-account-nav a { color: var(--bw-ink); text-decoration: none; }
.bw-account-nav__login { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border: 1px solid var(--bw-line); border-radius: 12px; background: rgba(255, 255, 255, .6); transition: background .25s, border-color .25s; }
.bw-account-nav__login:hover { background: #fff; border-color: var(--bw-taupe); }
/* Desktop: gewone lijst naast het logo; het mobiele uitklapmenu is verborgen */
.bw-account-nav__toggle { display: none; }
.bw-account-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 34px; }
.bw-account-nav__list a { position: relative; display: inline-block; padding: .5rem 0; white-space: nowrap; }
.bw-account-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--bw-rose); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--bw-ease); }
.bw-account-nav__list a:hover::after, .bw-account-nav__list a[aria-current="page"]::after { transform: scaleX(1); }
.bw-account-nav__list li:last-child a { color: var(--bw-ink-muted); }
.bw-account-nav__toggle > ul { list-style: none; margin: 0; padding: 0; }
/* Focusheader (salespagina en afrekenen): minder afleiding */
.bw-secure { display: inline-flex; align-items: center; gap: .45rem; font-size: .78rem; color: var(--bw-ink-muted); }
.bw-secure svg { flex: 0 0 auto; }

/* 05 FOOTER -------------------------------------------------------------- */
.bw-footer { background: var(--bw-cream); border-top: 1px solid var(--bw-line-soft); font-size: .86rem; color: var(--bw-ink-muted); }
.bw-footer a { color: var(--bw-ink-muted); text-decoration: none; }
.bw-footer a:hover { color: var(--bw-ink); text-decoration: underline; }
.bw-footer .bw-logo img { width: 190px; }
.bw-footer h2 { font-family: var(--bw-body); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--bw-accent); margin: 0 0 1rem; }
.bw-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.bw-footer__bottom { border-top: 1px solid var(--bw-line); padding-top: 1.5rem; font-size: .74rem; }
.bw-footer--mini { padding-block: 1.6rem; }
.bw-footer--mini p { margin: 0; font-size: .74rem; }

/* 06 KNOPPEN ------------------------------------------------------------- */
.wp-element-button, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	min-height: 52px; letter-spacing: .005em; text-decoration: none;
	transition: background-color .25s var(--bw-ease), border-color .25s, transform .25s var(--bw-ease), box-shadow .25s;
}
.wp-block-button__link:hover, .wp-element-button:hover { transform: translateY(-2px); }
.wp-block-button__link:active, .wp-element-button:active { transform: none; }
.wp-block-button.is-style-koop .wp-block-button__link { box-shadow: 0 10px 26px rgba(90, 70, 62, .18); }
.wp-block-button.is-style-rose .wp-block-button__link { background: var(--bw-rose); border-color: var(--bw-rose); color: var(--bw-ink); }
.wp-block-button.is-style-rose .wp-block-button__link:hover { background: var(--bw-rose-hover); border-color: var(--bw-rose-hover); }
.wp-block-button.is-style-licht .wp-block-button__link { background: #EADDD7; border-color: #EADDD7; color: var(--bw-ink); }
.wp-block-button.is-style-licht .wp-block-button__link:hover { background: #DFCCC3; border-color: #DFCCC3; }
.wp-block-button.is-style-ghost .wp-block-button__link { background: rgba(255, 255, 255, .45); border-color: #D4BFB5; color: var(--bw-ink); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: #fff; border-color: var(--bw-taupe); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: #D4BFB5; color: var(--bw-ink); }
.wp-block-button.has-custom-width .wp-block-button__link { width: 100%; }
.bw-cta-note { display: block; font-size: .72rem; color: var(--bw-ink-muted); margin-top: .6rem; letter-spacing: .01em; }
.bw-link-arrow { display: inline-flex; align-items: center; gap: .5rem; font-size: .86rem; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--bw-rose); padding-bottom: 3px; transition: gap .25s var(--bw-ease), border-color .25s; }
.bw-link-arrow:hover { gap: .8rem; border-color: var(--bw-ink); }
.bw-back-link { display: inline-flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 500; color: var(--bw-ink-muted); text-decoration: none; }
.bw-back-link:hover { color: var(--bw-ink); }

/* 07 TEKSTCOMPONENTEN ---------------------------------------------------- */
p.is-style-eyebrow, .bw-eyebrow {
	display: block; font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: var(--bw-accent); margin-bottom: 1.1rem; line-height: 1.6;
}
p.is-style-eyebrow::before, .bw-eyebrow::before { content: ""; display: inline-block; width: 22px; height: 1px; background: currentColor; vertical-align: middle; margin-right: 10px; }
p.is-style-eyebrow.has-text-align-center::before { display: none; }
/* Placeholder voor feiten die nog aangeleverd moeten worden: [INVULLEN: ...]. Vóór livegang verwijderen. */
mark.ph, .ph {
	background: repeating-linear-gradient(135deg, #FFF6D9 0 6px, #FFF1C7 6px 12px);
	color: #6A4A12; border-radius: 4px; padding: .05em .35em; font-weight: 500;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}

/* 08 KAARTEN EN MELDINGEN ------------------------------------------------ */
.wp-block-group.is-style-kaart {
	background: #fff; border: 1px solid var(--bw-line-soft); border-radius: var(--bw-r-lg);
	padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); box-shadow: var(--bw-shadow-sm);
}
.wp-block-group.is-style-kaart-zacht { background: var(--bw-cream); border-radius: var(--bw-r-lg); padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); }
.wp-block-group.is-style-formulierkaart {
	background: #fff; border: 1px solid var(--bw-line-soft); border-radius: var(--bw-r-xl);
	padding: clamp(1.6rem, 1.1rem + 2vw, 2.8rem); box-shadow: var(--bw-shadow-lg);
}
:where(.is-style-kaart, .is-style-kaart-zacht, .is-style-formulierkaart) > :first-child { margin-top: 0; }
.is-style-kaart :where(h3) { font-size: clamp(1.2rem, 1.1rem + .45vw, 1.45rem); }
.is-style-kaart :where(p:not([class*="has-text-color"])) { color: var(--bw-ink-muted); font-size: .92rem; }
.wp-block-group.is-style-melding, .wp-block-group.is-style-melding-rose {
	position: relative; background: var(--bw-sage-soft); border-radius: var(--bw-r-md);
	padding: 1.1rem 1.3rem 1.1rem 3.6rem; font-size: .86rem; line-height: 1.6;
}
.wp-block-group.is-style-melding-rose { background: var(--bw-blush-soft); }
.wp-block-group.is-style-melding::before, .wp-block-group.is-style-melding-rose::before {
	content: "i"; position: absolute; left: 1.2rem; top: 1.05rem; width: 26px; height: 26px; border-radius: 50%;
	background: #fff; color: var(--bw-sage-deep); display: grid; place-items: center;
	font-family: var(--bw-display); font-style: italic; font-weight: 600; line-height: 1;
}
.wp-block-group.is-style-melding-rose::before { color: var(--bw-accent); }
:where(.is-style-melding, .is-style-melding-rose) > * { margin-block: 0; }
:where(.is-style-melding, .is-style-melding-rose) > * + * { margin-top: .4rem; }

/* 09 LIJSTEN ------------------------------------------------------------- */
ul.is-style-vinkjes, ul.is-style-vinkjes-rose { list-style: none; padding: 0; margin-block: var(--wp--preset--spacing--30); display: grid; gap: .8rem; }
ul.is-style-vinkjes > li, ul.is-style-vinkjes-rose > li { position: relative; padding-left: 2.2rem; line-height: 1.55; }
ul.is-style-vinkjes > li::before, ul.is-style-vinkjes-rose > li::before {
	content: "✓"; position: absolute; left: 0; top: .05em; width: 24px; height: 24px; border-radius: 50%;
	background: var(--bw-sage-soft); color: var(--bw-sage-deep); display: grid; place-items: center; font-size: .78rem; font-weight: 600;
}
ul.is-style-vinkjes-rose > li::before { background: #F5E3DF; color: #67483E; }
ol.is-style-tijdlijn { list-style: none; padding: 0; margin: 0; counter-reset: bw-t; }
ol.is-style-tijdlijn > li { position: relative; padding: 0 0 1.8rem 3.6rem; counter-increment: bw-t; color: var(--bw-ink-muted); font-size: .9rem; }
ol.is-style-tijdlijn > li strong { display: block; color: var(--bw-ink); font-size: .98rem; margin-bottom: .15rem; }
ol.is-style-tijdlijn > li::before {
	content: counter(bw-t); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%;
	background: #fff; border: 1px solid var(--bw-line); display: grid; place-items: center;
	font-family: var(--bw-display); color: var(--bw-accent);
}
ol.is-style-tijdlijn > li::after { content: ""; position: absolute; left: 20px; top: 44px; bottom: 4px; width: 1px; background: var(--bw-line); }
ol.is-style-tijdlijn > li:last-child { padding-bottom: 0; }
ol.is-style-tijdlijn > li:last-child::after { display: none; }

/* 10 VEELGESTELDE VRAGEN ------------------------------------------------- */
.wp-block-details.is-style-faq { background: #fff; border: 1px solid var(--bw-line); border-radius: var(--bw-r-md); transition: border-color .25s, box-shadow .25s; }
.wp-block-details.is-style-faq + .wp-block-details.is-style-faq { margin-top: .8rem; }
.wp-block-details.is-style-faq[open] { border-color: var(--bw-rose); box-shadow: var(--bw-shadow-sm); }
.wp-block-details.is-style-faq > summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: 1.15rem 1.35rem; font-weight: 600; font-size: .92rem; line-height: 1.45;
}
.wp-block-details.is-style-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq > summary::after {
	content: "+"; flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--bw-cream);
	display: grid; place-items: center; font-weight: 400; font-size: 1.15rem; transition: transform .3s var(--bw-ease);
}
.wp-block-details.is-style-faq[open] > summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-faq > :not(summary) { padding-inline: 1.35rem; color: var(--bw-ink-muted); margin-top: 0; }
.wp-block-details.is-style-faq > :last-child:not(summary) { padding-bottom: 1.3rem; }

/* Kernpunten (citaatblok) in lessen */
.wp-block-quote.is-style-kernpunten {
	background: var(--bw-cream); border: 0; border-left: 3px solid var(--bw-rose); border-radius: 0 var(--bw-r-md) var(--bw-r-md) 0;
	padding: 1.2rem 1.4rem; font-family: var(--bw-body); font-size: .95rem; line-height: 1.65;
}
.wp-block-quote.is-style-kernpunten p:first-child strong { font-family: var(--bw-display); font-weight: 500; font-size: 1.15rem; }
.wp-block-quote.is-style-kernpunten ul { margin: .4rem 0 0; padding-left: 1.1rem; }

/* 11 BEELD --------------------------------------------------------------- */
.wp-block-image.is-style-boog { position: relative; isolation: isolate; }
.wp-block-image.is-style-boog img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; border-radius: var(--bw-r-arch); }
.wp-block-image.is-style-boog::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 1px solid var(--bw-rose); border-radius: var(--bw-r-arch); z-index: -1; }
.bw-rounded img { border-radius: var(--bw-r-xl); }

/* 12 PATRONEN ------------------------------------------------------------ */
/* Paginahero */
.bw-page-hero { padding-block: clamp(3.2rem, 2rem + 4vw, 5.5rem) clamp(3.5rem, 2rem + 5vw, 6rem); }
/* Kop en intro blijven links uitgelijnd met de bovenkop, maar krijgen een leesbare maximale breedte */
.bw-page-hero > :where(h1, .wp-block-heading, .bw-lead, .wp-block-post-excerpt) { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important; margin-right: auto !important; }
.bw-page-hero :where(h1) { max-width: 900px; }
.bw-page-hero .bw-lead, .bw-page-hero .wp-block-post-excerpt { max-width: 680px; }
.bw-page-hero--compact { padding-block: clamp(2.4rem, 1.6rem + 3vw, 4rem); }
/* Inhoud links uitgelijnd met de paginatitel en het logo (de "wide"-rand), met een leesbare breedte */
.bw-flow-left { --bw-flow-w: 760px; }
.bw-course .bw-flow-left { --bw-flow-w: 860px; }
.bw-flow-left > :not(.alignfull) {
	max-width: min(var(--bw-flow-w), 100%) !important;
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important;
	margin-right: auto !important;
}
.bw-page-hero--compact :where(h1) { font-size: var(--wp--preset--font-size--xxx-large); margin-bottom: .3em; }

/* Checklist downloaden */
.bw-download {
	display: grid !important; grid-template-columns: 56px 1fr; gap: 1.1rem; align-items: center;
	background: #fff; border: 1px dashed var(--bw-taupe); border-radius: var(--bw-r-lg); padding: 1.3rem 1.5rem !important;
}
.bw-download__icon { width: 56px; height: 56px; border-radius: 14px; background: var(--bw-blush-soft); display: grid; place-items: center; color: var(--bw-accent); }
.bw-download__icon svg { width: 26px; height: 26px; }
.bw-download__body > * { margin: 0; }
.bw-download__body > * + * { margin-top: .35rem; }
.bw-download__title { font-family: var(--bw-display); font-size: 1.15rem; font-weight: 500; line-height: 1.3; color: var(--bw-ink); }
.bw-download .wp-block-buttons { margin-top: .7rem; }
.bw-download .wp-block-button__link { min-height: 44px; padding: .55rem 1.1rem; font-size: .82rem; }

/* Voorbeeldtekst-melding bovenaan elke les */
.bw-voorbeeldtekst { border: 1px solid #F0D9A8; }
.bw-voorbeeldtekst p { color: #6A4A12; font-weight: 600; font-size: .8rem; letter-spacing: .02em; }

/* Review (alleen met echte, toegestane ervaringen) */
.bw-review { display: flex; flex-direction: column; gap: 1rem; }
.bw-review.is-placeholder { border-style: dashed !important; background: var(--bw-cream) !important; box-shadow: none !important; }
.bw-review :where(p:first-child) { font-family: var(--bw-display); font-size: 1.08rem; line-height: 1.6; color: var(--bw-ink) !important; }
.bw-review__who { font-size: .82rem !important; color: var(--bw-ink-muted); }

/* Garantie */
.wp-block-group.is-style-garantie {
	display: grid; grid-template-columns: 96px 1fr; gap: 1.6rem; align-items: center;
	background: #fff; border-radius: var(--bw-r-lg); padding: 1.6rem 1.8rem; border: 1px dashed var(--bw-taupe);
}
.wp-block-group.is-style-garantie > * { margin: 0; }
.bw-seal {
	width: 96px; height: 96px; border-radius: 50%; background: var(--bw-blush-soft);
	display: grid; place-items: center; text-align: center; font-family: var(--bw-display); font-size: .95rem; line-height: 1.15;
	color: var(--bw-ink); border: 6px double #fff; box-shadow: 0 0 0 1px var(--bw-rose); margin: 0 !important;
}
.bw-garantie-tekst > * { margin: 0; }
.bw-garantie-tekst > * + * { margin-top: .3rem; }
.bw-garantie-tekst p { font-size: .88rem; color: var(--bw-ink-muted); }

/* Bedankt */
.bw-thanks-seal { width: 84px; height: 84px; margin: 0 auto 1.6rem !important; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: 2rem; color: var(--bw-sage-deep); box-shadow: var(--bw-shadow); line-height: 1; }

/* Inlogpagina's */
.bw-auth { min-height: calc(100vh - var(--bw-header-h) - 80px); }
.bw-auth .wp-block-post-title { margin-bottom: .4em; }
.bw-auth .is-style-formulierkaart > .wp-block-post-content > :first-child { margin-top: 0; }

/* Formulieren (inloggen, wachtwoord, mijn account) - uit .form/.field van het ontwerp */
.bw-form { display: grid; gap: 1.05rem; margin: 0; }
.bw-form > p { margin: 0; }
.bw-form h3 { font-size: 1.2rem; margin: .8rem 0 0; }
.bw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bw-field { display: grid; gap: .4rem; margin: 0; }
.bw-field label { font-size: .82rem; font-weight: 600; color: var(--bw-ink); }
.bw-field__opt { font-weight: 400; color: var(--bw-ink-muted); }
.bw-field input[type="email"], .bw-field input[type="text"], .bw-field input[type="password"] {
	box-sizing: border-box; width: 100%; min-height: 52px; padding: .8rem 1rem; border: 1px solid var(--bw-input-line); border-radius: 12px;
	background: #fff; font: inherit; font-size: .95rem; color: var(--bw-ink); transition: border-color .2s, box-shadow .2s;
}
.bw-field input:focus { outline: none; border-color: var(--bw-sage-deep); box-shadow: 0 0 0 3px rgba(95, 122, 102, .18); }
.bw-field__hint, p.bw-field__hint { font-size: .76rem; color: var(--bw-ink-muted); line-height: 1.5; margin: 0; }
.bw-check label { display: inline-flex; align-items: center; gap: .6rem; font-size: .86rem; color: var(--bw-ink-muted); cursor: pointer; }
.bw-check input { width: 20px; height: 20px; accent-color: var(--bw-ink); margin: 0; }
.wp-element-button, .wp-block-button__link { box-sizing: border-box; }
.bw-button-block { width: 100%; }
button.wp-element-button { cursor: pointer; }
.wp-element-button.is-secondary { background: #fff; color: var(--bw-ink); border-color: #D4BFB5; }
.wp-element-button.is-secondary:hover { background: var(--bw-cream); color: var(--bw-ink); }
.bw-form-message { background: var(--bw-sage-soft); border-radius: var(--bw-r-md); padding: .9rem 1.1rem; font-size: .88rem; margin: 0 0 1.2rem; border-left: 3px solid var(--bw-sage-deep); }
.bw-form-message p { margin: 0; }
.bw-form-message--error { background: #FBEDEA; border-left-color: var(--bw-error); color: #6E2E25; }
.bw-auth-intro { color: var(--bw-ink-muted); margin: 0 0 1.4rem; }
.bw-auth-links { text-align: center; font-size: .84rem; color: var(--bw-ink-muted); margin: .4rem 0 0 !important; }
.bw-auth-links a { color: var(--bw-ink); text-decoration-color: var(--bw-rose); text-underline-offset: 3px; }
.bw-auth-foot { text-align: center; font-size: .84rem; color: var(--bw-ink-muted); margin: 1.6rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--bw-line-soft); }
.bw-auth .is-style-formulierkaart { margin-block: clamp(1rem, 4vw, 3rem); }
@media (max-width: 600px) { .bw-form__row { grid-template-columns: 1fr; } }

/* 404 */
.bw-404-num { font-family: var(--bw-display); font-size: clamp(5rem, 4rem + 6vw, 9rem); line-height: 1; color: var(--bw-rose); letter-spacing: -.05em; margin-bottom: 0; }

/* 13 SALESPAGINA MET CHECKOUT -------------------------------------------- */
.bw-sales { align-items: flex-start !important; gap: clamp(2rem, 1rem + 3vw, 4rem) !important; }
.bw-sales__checkout { position: sticky; top: calc(var(--bw-header-h) + 24px); }
.admin-bar .bw-sales__checkout { top: calc(var(--bw-header-h) + 24px + var(--wp-admin--admin-bar--height, 0px)); }
.bw-price { display: flex; align-items: baseline; gap: .6rem; margin: .4rem 0 0 !important; }
.bw-price strong { font-family: var(--bw-display); font-weight: 500; font-size: clamp(2.4rem, 2rem + 1.5vw, 3.2rem); line-height: 1; letter-spacing: -.04em; }
.bw-price span { font-size: .82rem; color: var(--bw-ink-muted); }
.bw-price strong mark.ph { font-family: var(--bw-body); font-size: .9rem; letter-spacing: 0; }
.bw-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1rem; font-size: .76rem; color: var(--bw-ink-muted); margin-top: .8rem !important; }
.bw-trust span { display: inline-flex; align-items: center; gap: .35rem; }
.bw-checkout-placeholder { border: 1px dashed var(--bw-taupe); border-radius: var(--bw-r-md); padding: 1.2rem; background: var(--bw-cream); font-size: .86rem; color: var(--bw-ink-muted); text-align: center; }

/* 14 RESPONSIEF EN BEWEGING ---------------------------------------------- */
@media (max-width: 781px) {
	.bw-logo img { width: 168px; }
	.bw-footer .bw-logo img { width: 170px; }
	/* Mobiel menu: inklapbaar achter een knop */
	.bw-account-nav__list { display: none; }
	.bw-account-nav__toggle { display: block; position: relative; }
	.bw-account-nav__toggle > summary {
		display: inline-flex; align-items: center; gap: .5rem; list-style: none; cursor: pointer;
		min-height: 46px; padding: 0 .9rem; border: 1px solid var(--bw-line); border-radius: 12px; background: #fff; font-size: .82rem;
	}
	.bw-account-nav__toggle > summary::-webkit-details-marker { display: none; }
	.bw-burger, .bw-burger::before, .bw-burger::after { display: block; width: 16px; height: 1.5px; background: var(--bw-ink); position: relative; transition: transform .3s, background .3s; }
	.bw-burger::before, .bw-burger::after { content: ""; position: absolute; left: 0; }
	.bw-burger::before { top: -5px; }
	.bw-burger::after { top: 5px; }
	.bw-account-nav__toggle[open] .bw-burger { background: transparent; }
	.bw-account-nav__toggle[open] .bw-burger::before { transform: translateY(5px) rotate(45deg); }
	.bw-account-nav__toggle[open] .bw-burger::after { transform: translateY(-5px) rotate(-45deg); }
	.bw-account-nav__toggle[open] > ul {
		position: absolute; right: 0; top: calc(100% + 10px); min-width: 220px; display: flex; flex-direction: column; align-items: stretch; gap: 0;
		background: #fff; border: 1px solid var(--bw-line-soft); border-radius: var(--bw-r-md); box-shadow: var(--bw-shadow); padding: .5rem;
	}
	.bw-account-nav__toggle[open] > ul a { display: block; padding: .75rem .9rem; border-radius: 10px; }
	.bw-account-nav__toggle[open] > ul a::after { display: none; }
	.bw-account-nav__toggle[open] > ul a:hover, .bw-account-nav__toggle[open] > ul a[aria-current="page"] { background: var(--bw-cream); }
	.bw-account-nav__login span { display: inline; }
	/* Salespagina: op mobiel eerst titel, prijs, kernvoordelen en formulier; daarna verkoopinformatie */
	.bw-sales { flex-direction: column-reverse; }
	.bw-sales__checkout { position: static; }
	.wp-block-group.is-style-garantie { grid-template-columns: 1fr; text-align: center; }
	.wp-block-group.is-style-garantie .bw-seal { margin-inline: auto !important; }
	.bw-download { grid-template-columns: 44px 1fr; padding: 1.1rem !important; }
	.bw-download__icon { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
	.bw-header, .bw-footer, .bw-lesbalk, .wp-block-buttons { display: none !important; }
	body { background: #fff; }
}
