/* ==========================================================
   Wat kan wél – thema-stijlen
   Speels, maar rustig. Geen scheve elementen, geen beweging
   die vanzelf start. Versiering verdwijnt in de Rustige stand.
   ========================================================== */

:root {
	--wkw-blauw: var(--wp--preset--color--blauw, #30367A);
	--wkw-koraal: var(--wp--preset--color--koraal, #FE7649);
	--wkw-wit: var(--wp--preset--color--wit, #FFFFFF);
	--wkw-pruim: var(--wp--preset--color--pruim, #850052);
	--wkw-perzik: var(--wp--preset--color--perzik, #FFCDBC);
	--wkw-lavendel: var(--wp--preset--color--lavendel, #C0C4F7);
	--wkw-golf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C240 90 480 0 720 40 C960 80 1200 10 1440 40 L1440 80 L0 80 Z'/%3E%3C/svg%3E");
}

/* Rechte cijfers (lining figures) voor Raleway */
body,
.editor-styles-wrapper {
	font-variant-numeric: lining-nums;
	-webkit-font-smoothing: antialiased;
}

/* Geen witte kieren tussen gekleurde secties */
.wp-site-blocks > * { margin-block-start: 0; }
.wkw-main { margin-block-start: 0; }
.wkw-main > .wp-block-post-content > .alignfull,
.wkw-main > .alignfull,
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-post-content > .alignfull:first-child { margin-block-start: 0 !important; }

/* Ruimte in secties */
.wkw-sectie {
	padding-top: clamp(3.5rem, 7vw, 5.5rem) !important;
	padding-bottom: clamp(3.5rem, 7vw, 5.5rem) !important;
}
.wkw-geen-boven { padding-top: 0 !important; }
.wkw-sectie-klein {
	padding-top: clamp(2rem, 4vw, 3rem) !important;
	padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}

.wkw-kruimel a { color: inherit; }

/* Focus altijd goed zichtbaar */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wkw-koraal);
	outline-offset: 3px;
}

/* Lijstjes met een koraal bolletje */
li::marker { color: var(--wkw-koraal); }

/* ---------- Golvende bovenrand (blokstijl "Golf" op een groep) ---------- */
.is-style-golf {
	position: relative;
}
.is-style-golf::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -59px;
	height: 60px;
	background: inherit;
	-webkit-mask: var(--wkw-golf) center bottom / 100% 100% no-repeat;
	mask: var(--wkw-golf) center bottom / 100% 100% no-repeat;
	pointer-events: none;
}
@media (max-width: 600px) {
	.is-style-golf::before { top: -35px; height: 36px; }
}

/* ---------- Labels in Pacifico ---------- */
.is-style-label {
	font-family: var(--wp--preset--font-family--pacifico) !important;
	font-weight: 400 !important;
	font-size: clamp(1.5rem, 2.5vw, 1.75rem);
	line-height: 1.4 !important;
	margin-bottom: 0.25rem !important;
}
.is-style-label + :is(h1, h2, h3) { margin-block-start: 0.25rem; }

/* Accent in een kop of zin: knop "Accent (Pacifico)" in de editor */
.wkw-accent {
	font-family: var(--wp--preset--font-family--pacifico);
	font-weight: 400;
	color: var(--wkw-pruim);
}
.has-blauw-background-color .wkw-accent,
.has-pruim-background-color .wkw-accent { color: var(--wkw-koraal); }
.has-koraal-background-color .wkw-accent { color: var(--wkw-blauw); }

/* ---------- Ronde sticker (recht, vaste plek) ---------- */
p.is-style-sticker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 7rem;
	height: 7rem;
	padding: 0.5rem;
	border-radius: 999px;
	background: var(--wkw-koraal);
	color: var(--wkw-blauw) !important;
	font-family: var(--wp--preset--font-family--pacifico);
	font-size: 1.25rem;
	line-height: 1.1;
	text-align: center;
}

/* ---------- Kaarten ---------- */
.is-style-kaart {
	position: relative;
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	border: 3px solid var(--wkw-blauw);
	border-radius: 28px;
	padding: 28px !important;
}
.is-style-kaart:hover,
.is-style-kaart:focus-within { border-color: var(--wkw-pruim); }
.is-style-kaart :is(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}
.is-style-kaart :is(h2, h3, h4) a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 25px;
}
.is-style-kaart :is(h2, h3, h4) a:focus-visible { outline: none; }
.is-style-kaart:has(:is(h2, h3, h4) a:focus-visible) { outline: 3px solid var(--wkw-koraal); outline-offset: 3px; }
.is-style-kaart .wkw-meer {
	margin-top: auto;
	font-weight: 700;
	color: var(--wkw-pruim);
}
.is-style-kaart.is-layout-flex,
.is-style-kaart.is-layout-flow { display: flex; flex-direction: column; }

/* Blogkaart: foto bovenaan, tekst eronder */
.wkw-blogkaart { padding: 0 !important; overflow: hidden; gap: 0.75rem; }
.wkw-blogkaart > :not(.wp-block-post-featured-image) { margin-left: 26px !important; margin-right: 26px !important; }
.wkw-blogkaart > :last-child { margin-bottom: 28px !important; }
.wkw-blogkaart .wp-block-post-featured-image { margin: 0 0 0.5rem !important; }
.wkw-blogkaart .wp-block-post-featured-image img { border-radius: 0; }
.wkw-blogkaart .wp-block-post-title { font-size: var(--wp--preset--font-size--groot); line-height: 1.25; margin-top: 0; }
.wkw-blogkaart .wp-block-post-title a { color: inherit; text-decoration: none; }
.wkw-blogkaart .wp-block-post-featured-image a::after { display: none; }

/* Categorie als lavendel pilletje */
.wkw-label-pil a {
	display: inline-block;
	padding: 0.15rem 0.85rem;
	border-radius: 999px;
	background: var(--wkw-lavendel);
	color: var(--wkw-blauw) !important;
	text-decoration: none;
	position: relative;
	z-index: 1;
}
.wkw-label-pil .wp-block-post-terms__separator { display: none; }

/* ---------- Tipblok (pruim) ---------- */
.is-style-tipblok {
	background: var(--wkw-pruim) !important;
	color: var(--wkw-wit) !important;
	border-radius: 36px;
	padding: clamp(28px, 5vw, 48px) !important;
}
.is-style-tipblok a:not(.wp-block-button__link) { color: var(--wkw-wit); }
.is-style-tipblok .wp-block-button__link { background: var(--wkw-wit) !important; color: var(--wkw-pruim) !important; }
.is-style-tipblok .wp-block-button__link:hover { background: var(--wkw-perzik) !important; }

/* ---------- Kader (lavendel rand) ---------- */
.is-style-kader {
	border: 3px solid var(--wkw-lavendel);
	border-radius: 28px;
	padding: 24px 26px !important;
}

/* ---------- Wit vlak op een gekleurde achtergrond ---------- */
.is-style-wit-vlak {
	background: var(--wkw-wit) !important;
	color: var(--wkw-blauw) !important;
	border-radius: 28px;
	padding: 26px 28px !important;
}

/* ---------- Foto met zachte vlek erachter ---------- */
.wp-block-image.is-style-vlek,
.wp-block-image.is-style-vlek-lavendel {
	position: relative;
	isolation: isolate;
	padding: 22px;
}
.wp-block-image.is-style-vlek::before,
.wp-block-image.is-style-vlek-lavendel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wkw-koraal);
	border-radius: 52% 48% 46% 54% / 48% 55% 45% 52%;
}
.wp-block-image.is-style-vlek-lavendel::before { background: var(--wkw-lavendel); }
.wp-block-image.is-style-vlek img,
.wp-block-image.is-style-vlek-lavendel img,
.wp-block-image.wkw-foto img {
	border-radius: 40px 40px 40px 140px;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* ---------- Iconen met een vlek ---------- */
.wp-block-image.is-style-icoon-koraal,
.wp-block-image.is-style-icoon-lavendel {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin: 0 0 0.5rem;
}
.wp-block-image.is-style-icoon-koraal img,
.wp-block-image.is-style-icoon-lavendel img { width: 48px !important; height: 48px; }
.wp-block-image.is-style-icoon-koraal::before,
.wp-block-image.is-style-icoon-lavendel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wkw-koraal);
	border-radius: 55% 45% 50% 50% / 48% 52% 48% 52%;
}
.wp-block-image.is-style-icoon-lavendel::before { background: var(--wkw-lavendel); }
.wp-block-image.wkw-icoon-groot { width: 180px; height: 180px; }
.wp-block-image.wkw-icoon-groot img { width: 120px !important; height: 120px; }
.wkw-rustig .wp-block-image.wkw-icoon-groot { display: none; }

/* ---------- Knoppen ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 3px solid currentColor;
	padding-top: calc(0.85rem - 3px);
	padding-bottom: calc(0.85rem - 3px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.12); }
.wp-block-button.is-style-pil > .wp-block-button__link {
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	padding: 0.55rem 1.25rem;
}
.wp-block-button.is-style-pil > .wp-block-button__link:hover { background: var(--wkw-lavendel); color: var(--wkw-blauw); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Kop (header) ---------- */
.wkw-kop {
	border-bottom: 3px solid var(--wkw-lavendel);
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}
.wkw-kop .wkw-logo { margin: 0; }
.wkw-kop .wkw-logo img { width: 230px; height: auto; display: block; }
@media (max-width: 600px) { .wkw-kop .wkw-logo img { width: 180px; } }
.wkw-kop .wp-block-navigation a { text-decoration: none; }
.wkw-kop .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 3px; }
.wkw-kop .wp-block-navigation .current-menu-item > a {
	color: var(--wkw-pruim);
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 3px;
}
.wkw-kop-acties { gap: 12px; }

/* Knop Rustige stand */
.wkw-rustig-knop {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 8px 18px;
	border: 2px solid var(--wkw-blauw);
	border-radius: 999px;
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	cursor: pointer;
}
.wkw-rustig-knop:hover { background: var(--wkw-lavendel); }
.wkw-schakel {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 44px;
	height: 26px;
	padding: 3px;
	border-radius: 999px;
	background: var(--wkw-lavendel);
}
.wkw-schakel::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	background: var(--wkw-blauw);
}
.wkw-rustig-knop[aria-pressed="true"] .wkw-schakel { justify-content: flex-end; background: var(--wkw-blauw); }
.wkw-rustig-knop[aria-pressed="true"] .wkw-schakel::after { background: var(--wkw-wit); }

/* ---------- Voet (footer) ---------- */
.wkw-voet a { color: var(--wkw-wit); }
.wkw-voet a:hover { color: var(--wkw-perzik); }
.wkw-voet .wkw-logo img { width: 230px; height: auto; display: block; }
.wkw-voet .wkw-voet-kop { font-family: var(--wp--preset--font-family--archivo-black); font-size: 1.25rem; margin-bottom: 0.25rem; }
.wkw-voet .wkw-voet-lijst p { margin: 0.2rem 0; }
.wkw-voet-onder { border-top: 2px solid #4A5096; padding-top: 1.5rem; }
.wkw-hashtag { font-family: var(--wp--preset--font-family--pacifico); font-size: 1.625rem; color: var(--wkw-koraal); line-height: 1.3; }

/* ---------- Moed-o-meter ---------- */
.wkw-moed { display: flex; flex-direction: column; gap: 1.25rem; }
.wkw-moed-knoppen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 16px;
}
.wkw-moed-knop {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-height: 120px;
	padding: 18px 20px;
	border: 3px solid var(--wkw-blauw);
	border-radius: 22px;
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}
.wkw-moed-knop:hover { background: var(--wkw-perzik); }
.wkw-moed-knop[aria-pressed="true"] { background: var(--wkw-blauw); color: var(--wkw-wit); }
.wkw-moed-nr { font-family: var(--wp--preset--font-family--archivo-black); font-size: 1.875rem; line-height: 1; font-weight: 400; }
.wkw-moed-meter { display: flex; gap: 8px; }
.wkw-moed-meter span { flex: 1 1 0; height: 18px; border-radius: 999px; border: 2px solid var(--wkw-blauw); background: var(--wkw-wit); }
.wkw-moed-meter span.is-vol { background: var(--wkw-blauw); }
.wkw-moed-uitkomst {
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	border-radius: 28px;
	padding: 26px 30px;
}
.wkw-moed-uitkomst p { margin: 0; }
.wkw-moed-titel { font-family: var(--wp--preset--font-family--archivo-black); font-size: 1.625rem; line-height: 1.2; margin-bottom: 0.4rem !important; }
.wkw-moed-leeg { font-weight: 700; }

/* ---------- Reactieknoppen ---------- */
.wkw-reacties { display: flex; flex-direction: column; gap: 1rem; }
.wkw-reactie-knoppen { display: flex; flex-wrap: wrap; gap: 12px; }
.wkw-reactie-knop {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 8px 22px;
	border: 3px solid var(--wkw-blauw);
	border-radius: 999px;
	background: var(--wkw-wit);
	color: var(--wkw-blauw);
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 700;
	font-size: 1.125rem;
	cursor: pointer;
}
.wkw-reactie-knop:hover { background: var(--wkw-lavendel); }
.wkw-reactie-knop[aria-pressed="true"] { background: var(--wkw-blauw); color: var(--wkw-wit); }
.wkw-reactie-antwoord { font-weight: 700; margin: 0; min-height: 1.6em; }

/* ---------- Paginakop voor berichten en archieven ---------- */
.wkw-paginakop .wp-block-post-title,
.wkw-paginakop .wp-block-query-title { color: var(--wkw-wit); }
.wkw-paginakop a { color: var(--wkw-wit); }

/* ---------- Rustige stand: versiering uit, inhoud blijft ---------- */
.wkw-rustig .is-style-golf::before,
.wkw-rustig .wp-block-image.is-style-vlek::before,
.wkw-rustig .wp-block-image.is-style-vlek-lavendel::before,
.wkw-rustig .wp-block-image.is-style-icoon-koraal::before,
.wkw-rustig .wp-block-image.is-style-icoon-lavendel::before,
.wkw-rustig .wkw-versiering { display: none !important; }
.wkw-rustig p.is-style-sticker { display: none !important; }

/* Geen beweging, ook niet bij het apparaat-instelling "minder beweging" */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
html { scroll-behavior: auto; }

/* Uitgelichte afbeelding in een bericht */
.wp-block-post-featured-image.wkw-foto img { border-radius: 40px 40px 40px 140px; }
