/* Aanvulling op theme.json: alles wat daar niet in kan. */

.wp-site-blocks { position: relative; }
/* Geen witruimte tussen header, inhoud en footer; secties regelen hun eigen ruimte. */
.wp-site-blocks > * + * { margin-block-start: 0; }
html { scroll-behavior: smooth; }

:where(.wp-block-heading) + * { margin-block-start: 1.1rem; }

/* Gekleurde woorden (Markeren → tekstkleur) zonder gele markeerstift. Nodig omdat
   WordPress de transparante achtergrond weghaalt bij opslaan (DISALLOW_UNFILTERED_HTML). */
:where(mark.has-inline-color) { background-color: transparent; }

/* ---------- Sierletters (blokstijl) ---------- */
.is-style-display {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--huge);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: .01em;
	text-transform: uppercase;
}
/* Tweede regel springt in, net als in het ontwerp */
h1.is-style-display { box-sizing: border-box; padding-left: 1.85em; text-indent: -1.85em; }

/* ---------- Header en menu ---------- */
.site-header {
	position: relative;
	z-index: 10;
	padding-top: 30px;
	padding-bottom: 14px;
}
.home .site-header { position: absolute; inset: 0 0 auto 0; }

.main-nav .wp-block-navigation__container { gap: 0; }
.main-nav .wp-block-navigation-item__content {
	font-size: clamp(1.1rem, .6rem + 1.4vw, 1.6rem);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.main-nav .wp-block-navigation-item__content::first-letter { color: var(--wp--preset--color--olive); }
.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--salmon); }

.home .main-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
	text-shadow: 0 1px 8px rgba(60, 40, 40, .25);
}
.home .main-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--salmon); }

@media (min-width: 600px) {
	.main-nav .wp-block-navigation-item + .wp-block-navigation-item::before {
		content: "|";
		margin: 0 clamp(8px, 2vw, 24px);
		color: var(--wp--preset--color--salmon);
		font-size: clamp(1.1rem, .6rem + 1.4vw, 1.6rem);
	}
}

/* Hamburgerknop en uitklapmenu (mobiel) */
.main-nav .wp-block-navigation__responsive-container-open {
	width: 48px; height: 48px;
	margin-left: auto;
	align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(207, 134, 120, .92);
	color: var(--wp--preset--color--white);
}
.main-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px clamp(20px, 5vw, 48px);
	background: var(--wp--preset--color--white);
}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgba(142, 114, 19, .15);
}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child { border-bottom: 0; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 12px 0;
	font-size: 1.35rem;
	color: var(--wp--preset--color--ink);
	text-shadow: none;
}

/* ---------- Hero en beeld met citaat (Cover-blok) ---------- */
.wp-block-cover.hero { min-height: clamp(520px, 58vw, 720px); padding-bottom: 20px; }
.wp-block-cover.quote-image { min-height: clamp(420px, 56vw, 700px); padding-bottom: clamp(20px, 3vw, 36px); }
.wp-block-cover.hero::after,
.wp-block-cover.quote-image::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(40, 30, 35, .28), rgba(40, 30, 35, 0) 55%);
	pointer-events: none;
}
.wp-block-cover.hero .wp-block-cover__inner-container,
.wp-block-cover.quote-image .wp-block-cover__inner-container {
	z-index: 2;
	color: var(--wp--preset--color--white);
}
.hero .wp-block-buttons { margin-top: 1.4rem; }
.hero .tagline {
	margin-top: 1.1rem;
	text-align: center;
	font-size: clamp(1.3rem, .9rem + 1.5vw, 2rem);
	font-weight: 700;
	line-height: 1.35;
}
.quote-image .is-style-display { font-size: clamp(2.2rem, 1rem + 4.2vw, 4rem); }

/* Coming soon */
.wp-block-cover.coming-soon { min-height: 100svh; padding-bottom: clamp(24px, 5vw, 56px); }
.coming-soon .coming-soon-label {
	display: inline-block;
	margin-bottom: 1rem;
	padding: .45em 1.1em .3em;
	border-radius: 999px;
	background: var(--wp--preset--color--salmon);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.coming-soon .coming-soon-book { margin-top: 1.4rem; font-size: clamp(1.15rem, .9rem + .8vw, 1.5rem); }

/* ---------- Secties ---------- */
.section {
	padding-top: var(--wp--preset--spacing--section);
	padding-bottom: var(--wp--preset--spacing--section-lg);
}
.text-justify p { text-align: justify; }
.band p:last-child { margin-bottom: 0; }
.outro p { color: var(--wp--preset--color--ink); }

.wp-block-image.photo-wide img { width: 100%; aspect-ratio: 825 / 335; object-fit: cover; }
.wp-block-image.photo-portrait img { width: 100%; aspect-ratio: 215 / 371; object-fit: cover; }
.wp-block-image.photo-wide { margin-top: 3rem; }

.wp-block-columns.split { gap: clamp(28px, 7vw, 70px); }
.wp-block-columns.split .photo-portrait { margin-top: 1.2rem; }

/* Knoppen */
.wp-element-button { transition: background-color .2s, color .2s, transform .2s; }
.wp-element-button:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--olive);
	color: var(--wp--preset--color--white);
}
:where(.wp-element-button, .wp-block-navigation-item__content, a):focus-visible {
	outline: 3px solid var(--wp--preset--color--salmon);
	outline-offset: 3px;
}

/* ---------- Gewone pagina's en blog ---------- */
.site-main.is-page { padding-top: clamp(20px, 4vw, 48px); padding-bottom: var(--wp--preset--spacing--section-lg); }
.blog-list .wp-block-post { padding-bottom: 2.4rem; border-bottom: 1px solid rgba(142, 114, 19, .2); }
.blog-list .wp-block-post:last-child { border-bottom: 0; }
.blog-list .wp-block-post-title { font-family: var(--wp--preset--font-family--sans); text-transform: none; font-size: var(--wp--preset--font-size--large); font-weight: 700; line-height: 1.2; }
.wp-block-post-date { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--salmon-dark); }

/* ---------- Footer ---------- */
.site-footer {
	padding-top: 28px;
	padding-bottom: 24px;
	border-top: 1px solid rgba(142, 114, 19, .2);
	font-size: var(--wp--preset--font-size--small);
}
.site-footer p { margin: 0; }
.site-footer a { color: inherit; }
.site-footer a:hover { color: var(--wp--preset--color--salmon-dark); }

/* ---------- Winkel ---------- */
.product-hero { padding-top: 0; }
.product-hero .wp-block-post-title { font-size: clamp(1.9rem, 1rem + 2.6vw, 2.8rem); }
.product-hero .wc-block-components-product-price,
.product-hero .price { font-size: 1.5rem; font-weight: 700; color: var(--wp--preset--color--olive); }
.product-hero form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 1rem; }
.product-hero form.cart .quantity input.qty {
	width: 4.2em; padding: .55em .4em .4em;
	border: 1.5px solid rgba(142, 114, 19, .4); border-radius: 999px;
	font: inherit; text-align: center; color: var(--wp--preset--color--ink);
}
.annerieke-preorder {
	margin: 1rem 0 0;
	padding: 1rem 1.2rem .8rem;
	border-radius: 16px;
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
	line-height: 1.6;
}
.annerieke-preorder strong { color: var(--wp--preset--color--salmon-dark); }
.annerieke-verzendinfo { margin: .9rem 0 0; font-size: .95rem; line-height: 1.6; color: var(--wp--preset--color--ink); }

.wc-block-components-product-badge,
.wc-block-grid__product-onsale { border-radius: 999px; }

/* ---------- Mobiel ---------- */
@media (max-width: 860px) {
	.site-header { padding-top: 18px; }
	.wp-block-cover.hero { min-height: 88svh; }
	.wp-block-cover.hero .wp-block-cover__image-background { object-position: 68% 50% !important; }
	.wp-block-cover.quote-image .wp-block-cover__image-background { object-position: 62% 50% !important; }
	.wp-block-cover.hero::after { background: linear-gradient(to top, rgba(40, 30, 35, .5), rgba(40, 30, 35, 0) 60%); }
	h1.is-style-display { padding-left: 0; text-indent: 0; }
	.hero .tagline { text-align: left; }
	.text-justify p { text-align: left; }
	.wp-block-columns.split .photo-portrait { max-width: 300px; }
	.wp-block-columns.split .photo-portrait img { aspect-ratio: 3 / 4; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.wp-element-button { transition: none; }
}

/* =====================================================================
   Pagina's met een grote foto bovenaan (template "Pagina met grote foto")
   ===================================================================== */
.page-template-pagina-met-foto .site-header,
.blog .site-header { position: absolute; inset: 0 0 auto 0; }
.page-template-pagina-met-foto .main-nav .wp-block-navigation-item__content,
.blog .main-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
	text-shadow: 0 1px 8px rgba(60, 40, 40, .3);
}
/* Lichte illustratie bovenaan: donkere menuletters */
body:has(.hero-licht) .main-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--navy); text-shadow: none; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--ink) !important; text-shadow: none !important; }

.wp-block-cover.page-hero {
	min-height: clamp(460px, 52vw, 700px);
	padding-top: 120px;
	padding-bottom: clamp(28px, 4vw, 56px);
}
.wp-block-cover.page-hero.hero-laag { min-height: clamp(340px, 38vw, 480px); }
.wp-block-cover.page-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(40, 30, 35, .35), rgba(40, 30, 35, 0) 55%);
}
.wp-block-cover.page-hero.hero-licht::after { background: none; }
.wp-block-cover.page-hero .wp-block-cover__inner-container { z-index: 2; color: var(--wp--preset--color--white); }
.wp-block-cover.page-hero.hero-licht .wp-block-cover__inner-container { color: var(--wp--preset--color--olive); }
.page-hero h1.is-style-display { padding-left: 0; text-indent: 0; font-size: clamp(2.2rem, 1rem + 4.4vw, 4.6rem); }
.page-hero .hero-subtitle { margin-top: 1rem; font-size: clamp(1.25rem, .9rem + 1.2vw, 1.9rem); font-weight: 700; line-height: 1.35; }
.page-hero .hero-intro { margin-top: .4rem; font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); font-weight: 700; line-height: 1.5; }
.page-hero .hero-buttons { margin-top: clamp(2rem, 8vw, 7rem); justify-content: flex-end; }
.hero-midden .wp-block-cover__inner-container { text-align: center; }
.hero-midden h1.is-style-display { margin-bottom: clamp(2rem, 10vw, 9rem); }

/* =====================================================================
   Secties
   ===================================================================== */
.section.is-white { color: var(--wp--preset--color--navy); }
.section.is-white :is(h2, h3),
.section:is(.has-cream-background-color, .has-blush-background-color, .has-lilac-background-color, .has-bluegrey-background-color) :is(h2, h3) {
	color: var(--wp--preset--color--olive);
}
.section h3 { font-size: 1.1rem; margin-top: 1rem; }
.section :where(p) { font-size: 1.05rem; }

.wp-block-columns.split-wide { gap: clamp(28px, 6vw, 64px); }
.wp-block-image.photo-circle img { aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.wp-block-image.photo-tall img { aspect-ratio: 3 / 4; object-fit: cover; }
.wp-block-image.kaart-beeld img { aspect-ratio: 5 / 7; object-fit: cover; width: 100%; }

.wp-block-columns.kaarten-rij { gap: clamp(16px, 2.5vw, 28px); margin-top: 2rem; }
.kaarten-rij h3 { margin-bottom: .2rem; }
.kaarten-rij p { font-size: .98rem; line-height: 1.6; }

/* Ervaringen (coaching): twee per rij, tekstkaartje schuift rechtsonder over de foto */
.section.ervaringen-sectie h2 { color: var(--wp--preset--color--salmon-dark); }
.wp-block-columns.ervaringen {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(44px, 6vw, 64px) clamp(28px, 5vw, 52px);
	margin-top: 2.2rem;
}
.wp-block-image.ervaring-beeld { margin: 0; }
.wp-block-image.ervaring-beeld img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 30%; border-radius: 28px; }
.ervaringen .ervaring {
	position: relative;
	margin: -18% 0 0 20%;
	padding: 1rem 1.25rem .9rem;
	border-radius: 18px;
	background: var(--wp--preset--color--salmon-dark);
	color: var(--wp--preset--color--white);
	font-size: 1rem;
	line-height: 1.55;
}
.ervaringen > .wp-block-column:nth-child(4n+2) .ervaring { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--navy); }
.ervaringen > .wp-block-column:nth-child(4n+3) .ervaring { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--olive); }
.ervaringen > .wp-block-column:nth-child(4n+4) .ervaring { background: var(--wp--preset--color--salmon); color: var(--wp--preset--color--ink); }

.wp-block-image.boek-titel { max-width: 640px; margin: clamp(2.5rem, 6vw, 4rem) auto 0; }
.wp-block-image.boek-titel img { border-radius: 0; mix-blend-mode: multiply; }
.quote-bron { color: var(--wp--preset--color--salmon-dark); }
.dank-titel.is-style-display { font-size: clamp(1.9rem, 1rem + 2.6vw, 3.2rem); color: var(--wp--preset--color--olive); }
.slotzin.is-style-display { font-size: clamp(1.6rem, 1rem + 2vw, 2.6rem); color: var(--wp--preset--color--olive); margin-top: 2rem; }

.wp-block-quote.citaat {
	margin: 0 auto;
	padding: 0;
	border: 0;
	text-align: center;
	font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem);
	line-height: 1.7;
}
.wp-block-quote.citaat cite { display: block; margin-top: 1rem; font-size: 1rem; font-style: normal; color: var(--wp--preset--color--salmon-dark); }
.wp-block-quote.citaat cite::before { content: "– "; }
.wp-block-quote.citaat cite::after { content: " ♡"; }

.wp-block-image.handtekening img { max-width: 240px; border-radius: 0; }

/* Knoppen: rand in de tekstkleur, olijf iets donkerder bij hover */
.wp-block-button.is-style-outline > .wp-block-button__link { border-color: currentColor; }
.wp-block-button.is-style-outline > .wp-block-button__link.has-white-color:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink) !important; }
.wp-block-button__link.has-olive-background-color:hover { background-color: #74600f !important; }

/* =====================================================================
   Kaarten in de winkel (Product Collection)
   ===================================================================== */
.kaarten-grid .wc-block-product { text-align: center; }
.kaarten-grid .wc-block-components-product-image img,
.kaarten-grid .wp-block-woocommerce-product-image img { aspect-ratio: 5 / 7; object-fit: cover; border-radius: 20px; }
.kaarten-grid .wp-block-post-title { margin: .8rem 0 .2rem; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .02em; }
.kaarten-grid .wp-block-post-title a { color: var(--wp--preset--color--olive); text-decoration: none; }
.kaarten-grid .wc-block-components-product-price { font-weight: 700; color: var(--wp--preset--color--navy); }
.kaarten-grid .wp-block-button__link,
.kaarten-grid .wc-block-components-product-button__button {
	background: var(--wp--preset--color--olive);
	color: var(--wp--preset--color--white);
	font-size: .95rem;
	text-transform: none;
}
.kaarten-grid .wc-block-components-product-button__button:hover { background: #74600f; }

/* Winkelwagentje in de header */
.site-header .header-cart { position: absolute; top: 24px; right: clamp(16px, 3vw, 40px); }
.site-header .wc-block-mini-cart__button { color: var(--wp--preset--color--olive); }
.home .site-header .wc-block-mini-cart__button,
.page-template-pagina-met-foto .site-header .wc-block-mini-cart__button,
.blog .site-header .wc-block-mini-cart__button { color: var(--wp--preset--color--white); filter: drop-shadow(0 1px 6px rgba(60, 40, 40, .35)); }
body:has(.hero-licht) .site-header .wc-block-mini-cart__button { color: var(--wp--preset--color--navy); filter: none; }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--salmon) !important; color: #fff !important; border-color: transparent !important; }

/* =====================================================================
   Contactformulier
   ===================================================================== */
.contactformulier label { display: block; margin-bottom: .3rem; font-weight: 700; color: var(--wp--preset--color--navy); }
.contactformulier input[type=text],
.contactformulier input[type=email],
.contactformulier textarea {
	box-sizing: border-box;
	width: 100%;
	padding: .75em .9em .6em;
	border: 1.5px solid rgba(48, 70, 85, .25);
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	font: inherit;
	color: var(--wp--preset--color--ink);
}
.contactformulier :is(input, textarea):focus { outline: 3px solid var(--wp--preset--color--salmon); outline-offset: 1px; border-color: transparent; }
.contactformulier p { margin: 0 0 1.1rem; }
.contactformulier .contact-privacy { font-size: .9rem; }
.contactformulier .wp-block-button__link { cursor: pointer; color: var(--wp--preset--color--olive); background: transparent; }
.contactformulier .wp-block-button__link:hover { background: var(--wp--preset--color--olive); color: var(--wp--preset--color--white); }
.contact-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-melding { padding: 1rem 1.2rem .8rem; border-radius: 12px; font-weight: 700; }
.contact-melding.is-ok { background: var(--wp--preset--color--white); color: var(--wp--preset--color--olive); }
.contact-melding.is-fout { background: #fff1ee; color: #a3392b; }

/* Blogoverzicht */
.blog-list .blog-item { gap: clamp(20px, 4vw, 40px); align-items: flex-start; }
.blog-list .wp-block-post { padding-bottom: 2.2rem; margin-bottom: 2.2rem; }

@media (max-width: 781px) {
	.wp-block-cover.page-hero { min-height: 72svh; padding-top: 96px; }
	.page-hero .hero-buttons { justify-content: flex-start; }
	.hero-midden h1.is-style-display { margin-bottom: 1.5rem; }
	.wp-block-image.photo-circle { max-width: 320px; margin-inline: auto; }
	.wp-block-image.photo-tall { max-width: 420px; }
	.wp-block-columns.ervaringen { grid-template-columns: minmax(0, 1fr); max-width: 440px; margin-inline: auto; }
	.site-header .header-cart { top: 18px; right: 84px; }
}

/* Blogs */
ul.diamanten { list-style: none; padding-left: 0; }
ul.diamanten li { margin-bottom: .4rem; }
ul.diamanten li::before { content: "💎 "; }
.single .wp-block-post-content { color: var(--wp--preset--color--navy); }

/* Secties sluiten naadloos op elkaar aan */
.site-main .wp-block-post-content > :is(.section, .wp-block-cover),
.site-main > :is(.section, .wp-block-cover) { margin-block-start: 0; margin-block-end: 0; }
/* Menu op een lichte illustratie: lichte gloed voor leesbaarheid */
body:has(.hero-licht) .main-nav .wp-block-navigation-item__content { text-shadow: 0 0 6px rgba(255, 255, 255, .95), 0 0 2px rgba(255, 255, 255, .9); }

/* Knop met witte rand op een lichte illustratie: donkere achtergrond voor leesbaarheid */
.hero-licht .wp-block-button.is-style-outline > .wp-block-button__link.has-white-color { background: rgba(48, 70, 85, .6); border-color: transparent; }
.hero-licht .wp-block-button.is-style-outline > .wp-block-button__link.has-white-color:hover { background: var(--wp--preset--color--white); }

@media (max-width: 781px) {
	/* Boek: op smalle schermen de lichte kant van de illustratie tonen */
	.hero-tekst-boven .wp-block-cover__image-background { object-position: 18% 50% !important; }
	/* Kaartjes met reacties/ervaringen twee naast elkaar */
	.wp-block-columns.kaarten-rij { flex-wrap: wrap !important; gap: 20px 14px; }
	.wp-block-columns.kaarten-rij > .wp-block-column { flex-basis: calc(50% - 7px) !important; flex-grow: 0; }
	.kaarten-rij h3 { font-size: 1rem; }
	.kaarten-rij p { font-size: .92rem; }
}
@media (max-width: 781px) {
	.wp-block-cover.page-hero.hero-licht::after { background: linear-gradient(to bottom, rgba(255, 255, 255, .78), rgba(255, 255, 255, .35) 55%, rgba(255, 255, 255, 0) 80%); }
}

/* =====================================================================
   Algemene voorwaarden: inhoud met ankers, genummerde leden, modelformulier
   ===================================================================== */
.voorwaarden { color: var(--wp--preset--color--navy); }
.voorwaarden :where(p) { font-size: 1rem; line-height: 1.75; }
.voorwaarden h2 { margin-top: 2.8rem; font-size: 1.3rem; color: var(--wp--preset--color--olive); }
.voorwaarden > .lid { margin-block-start: .9rem; }
.voorwaarden .voorwaarden-versie { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--salmon-dark); }
.voorwaarden p.lid { position: relative; box-sizing: border-box; padding-left: 3em; }
.voorwaarden p.lid > strong:first-child { position: absolute; left: 0; color: var(--wp--preset--color--olive); }

.voorwaarden-inhoud {
	columns: 2 240px;
	column-gap: 2.5rem;
	margin: 0;
	padding: 1.2rem 1.5rem;
	border-radius: 20px;
	background: var(--wp--preset--color--blush);
	list-style: none;
	font-size: .98rem;
	line-height: 1.45;
}
.voorwaarden-inhoud li { break-inside: avoid; padding: .25rem 0; }
.voorwaarden-inhoud a { color: var(--wp--preset--color--navy); text-decoration: none; }
.voorwaarden-inhoud a:hover { color: var(--wp--preset--color--salmon-dark); text-decoration: underline; }

.modelformulier { margin-top: 3.2rem; padding: clamp(20px, 4vw, 36px); border-radius: 20px; }
.modelformulier h2 { margin-top: 0; }
.modelformulier > * + * { margin-block-start: .9rem; }
.modelformulier .invulregel { display: flex; gap: .6em; }
.modelformulier .invulregel::after { content: ""; flex: 1; min-width: 6em; margin-bottom: .45em; border-bottom: 1px dotted currentColor; }
.modelformulier .voetnoot { font-size: var(--wp--preset--font-size--small); }

@media print {
	.site-header, .site-footer, .voorwaarden-inhoud { display: none; }
	.modelformulier { break-inside: avoid; }
}
/* Paginatitel even breed als de smalle tekstkolom eronder */
.site-main.is-page:has(.voorwaarden) > .wp-block-post-title { max-width: 760px; }

/* =====================================================================
   Signeren op de productpagina (mu-plugins/annerieke/signeren.php)
   ===================================================================== */
.product-hero form.cart .annerieke-signeren { flex-basis: 100%; }
.annerieke-signeren {
	margin: 0 0 .4rem;
	padding: 1.1rem 1.2rem 1rem;
	border-radius: 16px;
	background: var(--wp--preset--color--blush);
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
	line-height: 1.55;
}
.annerieke-signeren p { margin: 0 0 .8rem; }
.annerieke-signeren .signeren-titel { margin-bottom: .25rem; font-size: 1.15rem; font-weight: 700; color: var(--wp--preset--color--salmon-dark); }
.signeren-keuzes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0 0 1rem; padding: 0; border: 0; }
.signeren-keuzes legend { margin-bottom: .5rem; padding: 0; font-weight: 700; color: var(--wp--preset--color--navy); }
.signeren-keuzes label { position: relative; display: flex; cursor: pointer; }
.signeren-keuzes input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.signeren-keuzes span {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	padding: .62em .8em .45em;
	border: 1.5px solid rgba(185, 111, 98, .45);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	text-align: center;
	font-weight: 600;
	line-height: 1.25;
	transition: background-color .15s, border-color .15s, color .15s;
}
.signeren-keuzes label:hover span { border-color: var(--wp--preset--color--salmon-dark); }
.signeren-keuzes input:checked + span { border-color: var(--wp--preset--color--salmon-dark); background: var(--wp--preset--color--salmon-dark); color: var(--wp--preset--color--white); font-weight: 700; }
.signeren-keuzes input:focus-visible + span { outline: 3px solid var(--wp--preset--color--navy); outline-offset: 2px; }
.signeren-naam label { display: block; font-weight: 700; color: var(--wp--preset--color--navy); }
.signeren-optioneel { font-weight: 500; color: var(--wp--preset--color--ink); }
.signeren-uitleg { display: block; margin-bottom: .45rem; font-size: .92rem; }
.signeren-naam input {
	box-sizing: border-box;
	width: 100%;
	padding: .65em .9em .5em;
	border: 1.5px solid rgba(48, 70, 85, .25);
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	font: inherit;
	color: var(--wp--preset--color--ink);
}
.signeren-naam input:focus { outline: 3px solid var(--wp--preset--color--salmon); outline-offset: 1px; border-color: transparent; }
.annerieke-signeren .signeren-let-op { margin: 0; font-size: .92rem; font-weight: 700; color: var(--wp--preset--color--salmon-dark); }
@media (prefers-reduced-motion: reduce) { .signeren-keuzes span { transition: none; } }

/* Blog zonder uitgelichte afbeelding: tekst over de volle breedte in plaats van een leeg vak */
.blog-item > .wp-block-column:first-child:not(:has(img)) { display: none; }
