/* =================================================================
   Bevallingscursus – theme.css
   Zelfde ontwerp als Bevallingscursus Online. Kleuren, fonts en
   basis-typografie staan in theme.json; dit bestand regelt layout,
   de hero, kaarten en de footer.
   ================================================================= */

:root {
	--bc-navy: var(--wp--preset--color--navy);
	--bc-inkt: var(--wp--preset--color--inkt);
	--bc-grijs: var(--wp--preset--color--grijs);
	--bc-roze: var(--wp--preset--color--roze);
	--bc-roze-d: var(--wp--preset--color--roze-donker);
	--bc-poeder: var(--wp--preset--color--poeder);
	--bc-blush: var(--wp--preset--color--blush);
	--bc-creme: var(--wp--preset--color--creme);
	--bc-schaduw: var(--wp--preset--shadow--zacht);
	--bc-radius: 28px;
	--bc-sectie: clamp(3.5rem, 8vw, 6.5rem);
	--bc-overlap: 100px; /* hoeveel de pakketfoto's over de hero vallen */
	--bc-header-hoogte: 88px;
}

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { height: auto; }
::selection { background: var(--bc-poeder); color: var(--bc-navy); }
:focus-visible { outline: 3px solid var(--bc-roze-d); outline-offset: 3px; }

/* Secties sluiten naadloos op elkaar aan (geen standaard block-gap ertussen). */
body .wp-site-blocks > * + * { margin-block-start: 0; }
body .bc-main > * + * { margin-block-start: 0; }
body .wp-block-template-part > * { margin-block: 0; }

.bc-sectie { padding-block: var(--bc-sectie); }
.bc-intro { max-width: 640px; margin-inline: auto !important; color: var(--bc-grijs); font-size: var(--wp--preset--font-size--large); line-height: 1.6; }
.bc-bovenkop { margin-bottom: 0.25rem !important; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bc-roze-d); }
.bc-accentregel { font-family: var(--wp--preset--font-family--accent); font-size: clamp(1.5rem, 3vw, 1.95rem); line-height: 1.3; color: var(--bc-navy); font-weight: 400; }
.bc-sterren { margin: 0; color: var(--bc-roze-d); letter-spacing: 0.18em; font-size: 1rem; line-height: 1; }

/* ---------- Knoppen ---------- */
.wp-element-button,
.wp-block-button__link { transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--bc-navy);
	box-shadow: inset 0 0 0 2px var(--bc-navy);
	padding: 0.9rem 1.7rem;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--bc-navy); color: #fff; }
.wp-block-button.is-style-bc-licht > .wp-block-button__link { background: #fff; color: var(--bc-navy); }

/* ---------- Lijst met vinkjes ---------- */
.is-style-bc-vink { list-style: none; padding-left: 0; }
.is-style-bc-vink > li { position: relative; padding-left: 2rem; margin-block: 0.6rem; }
.is-style-bc-vink > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.28em;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: var(--bc-roze) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B132B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat;
}

/* =================================================================
   HEADER
   ================================================================= */
.bc-header-wrap {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: rgba(255, 255, 255, 0.97);
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.bc-gescrold .bc-header-wrap { box-shadow: 0 6px 24px -12px rgba(11, 19, 43, 0.25); }

/* Voorpagina: header ligt transparant over de headerfoto. */
.home .bc-header-wrap { position: fixed; left: 0; right: 0; background: transparent; }
.home.bc-gescrold .bc-header-wrap,
.bc-gescrold .home .bc-header-wrap { background: rgba(255, 255, 255, 0.97); }

.bc-header { padding-block: 0.9rem; }
.bc-header__balk { gap: 1.5rem; }
.bc-logo { margin: 0; flex-shrink: 0; }
.bc-logo img { width: clamp(150px, 16vw, 200px) !important; display: block; }

.bc-nav { gap: 0.2rem 1.4rem; font-weight: 500; color: var(--bc-navy); }
.bc-nav .wp-block-navigation-item__content { text-decoration: none; padding-block: 0.4rem; }
.bc-nav .wp-block-navigation-item__content:hover { color: var(--bc-roze-d); }
.bc-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--bc-roze-d); }
.bc-nav .bc-nav__login > .wp-block-navigation-item__content,
.bc-nav .bc-nav__bestel > .wp-block-navigation-item__content {
	padding: 0.55rem 1.2rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.bc-nav .bc-nav__login > .wp-block-navigation-item__content { box-shadow: inset 0 0 0 2px var(--bc-navy); }
.bc-nav .bc-nav__bestel > .wp-block-navigation-item__content { background: var(--bc-roze); color: var(--bc-navy); }
.bc-nav .bc-nav__login > .wp-block-navigation-item__content:hover,
.bc-nav .bc-nav__bestel > .wp-block-navigation-item__content:hover { background: var(--bc-navy); color: #fff; }

/* Submenu */
.bc-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-radius: 16px;
	padding: 0.5rem !important;
	background: #fff !important;
	box-shadow: var(--bc-schaduw);
	min-width: 230px !important;
}
.bc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 0.8rem !important; border-radius: 10px; }
.bc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--bc-blush); }

/* Tot 1100px: hamburger (het menu is te lang voor één regel). */
@media (max-width: 1099px) {
	.bc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.bc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.bc-nav .wp-block-navigation__responsive-container-open svg,
.bc-nav .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.bc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--bc-blush) !important;
	color: var(--bc-navy) !important;
	padding: 1.5rem clamp(1.25rem, 5vw, 3rem) 2rem;
}
.bc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; gap: 0.9rem !important; }
.bc-nav .is-menu-open .wp-block-navigation-item { font-size: 1.35rem; }
.bc-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none; padding: 0.25rem 0 0 1rem !important; }
.bc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { font-size: 1.05rem; }
.bc-nav .is-menu-open .bc-nav__login,
.bc-nav .is-menu-open .bc-nav__bestel { font-size: 1rem; margin-top: 0.5rem; }

/* =================================================================
   HERO
   ================================================================= */
.bc-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: min(100svh, 980px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: calc(var(--bc-header-hoogte) + clamp(2.5rem, 7vh, 5rem));
	padding-bottom: calc(var(--bc-overlap) + clamp(3.5rem, 9vh, 6rem));
	border-bottom-right-radius: clamp(64px, 12vw, 190px);
	color: #fff;
	background: var(--bc-navy);
}
body .bc-hero > .bc-hero__foto {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0 !important;
	max-width: none !important;
	width: 100%;
	height: 100%;
}
.bc-hero__foto img { width: 100%; height: 100% !important; object-fit: cover; object-position: 68% 47%; }
.bc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 16%),
		linear-gradient(180deg, rgba(11, 19, 43, 0.12) 12%, rgba(11, 19, 43, 0.42) 55%, rgba(11, 19, 43, 0.55) 100%);
}
.bc-hero__titel {
	color: #fff;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.05;
	text-shadow: 0 2px 30px rgba(11, 19, 43, 0.35);
	margin-bottom: 0 !important;
}
.bc-hero__sub {
	margin-top: 0.3rem !important;
	font-family: var(--wp--preset--font-family--accent);
	font-size: clamp(1.9rem, 4.6vw, 3.3rem);
	line-height: 1.15;
	text-shadow: 0 2px 24px rgba(11, 19, 43, 0.45);
}
.bc-hero .wp-block-buttons { margin-top: 2rem; }
.bc-hero .wp-block-button__link { box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 14px 30px -12px rgba(11, 19, 43, 0.6); }
.bc-hero .wp-block-button__link:hover { background: #fff; color: var(--bc-navy); }
.bc-hero__usp { margin-top: 2.25rem !important; }
.bc-hero__usp-kop { margin-bottom: 0.5rem !important; font-size: 1.15rem; opacity: 0.95; }
.bc-hero__usp .is-style-bc-vink { text-align: left; font-size: 1.02rem; text-shadow: 0 1px 12px rgba(11, 19, 43, 0.5); }
.bc-hero__usp .is-style-bc-vink > li { margin-block: 0.45rem; }
.bc-hero a { color: #fff; text-decoration-color: var(--bc-roze); text-underline-offset: 3px; }

/* =================================================================
   CURSUSPAKKETTEN – de ronde foto's vallen over de hero heen
   ================================================================= */
.bc-pakketten {
	position: relative;
	z-index: 2;
	background: var(--bc-blush);
	padding-bottom: clamp(3rem, 7vw, 5rem);
}
body .bc-pakketten__rij {
	margin-top: 0 !important;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: stretch !important;
}
.bc-pakket {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--bc-radius);
	box-shadow: var(--bc-schaduw);
	padding: 0 clamp(1.25rem, 2.5vw, 2rem) 2rem;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bc-pakket:hover { transform: translateY(-6px); box-shadow: 0 28px 60px -22px rgba(11, 19, 43, 0.32); }
.bc-pakket > * { margin-block: 0; }
.bc-pakket > * + * { margin-top: 0.9rem !important; }
body .bc-pakket .bc-pakket__foto {
	width: 200px;
	margin: calc(-1 * var(--bc-overlap)) auto 0 !important;
}
.bc-pakket__foto img {
	display: block;
	width: 200px;
	height: 200px !important;
	object-fit: cover;
	border-radius: 50%;
	border: 6px solid #fff;
	box-shadow: 0 16px 40px -14px rgba(11, 19, 43, 0.45);
	transition: transform 0.35s ease;
}
.bc-pakket:hover .bc-pakket__foto img { transform: scale(1.04) rotate(-2deg); }
.bc-pakket__titel { margin-top: 1.25rem !important; font-size: 1.65rem; text-transform: uppercase; letter-spacing: 0.04em; }
.bc-pakket__toegang {
	width: fit-content;
	margin-inline: auto !important;
	margin-top: 0.5rem !important;
	padding: 0.3rem 0.95rem;
	border-radius: 999px;
	background: var(--bc-blush);
	color: var(--bc-roze-d);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bc-pakket__lijst { flex-grow: 1; font-size: 0.97rem; line-height: 1.5; }
.bc-pakket__extra { font-style: italic; color: var(--bc-grijs); font-size: 0.9rem; }
.bc-pakket__prijs {
	padding-top: 1rem;
	border-top: 1px solid #F3E1E1;
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.6rem;
	line-height: 1;
	color: var(--bc-navy);
}
.bc-pakket .wp-block-button__link { min-width: 180px; }

/* Bonus: grote foto met tekst en knop eronder */
body .bc-bonus {
	margin-top: clamp(3rem, 6vw, 4.5rem) !important;
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) clamp(1.75rem, 4vw, 2.5rem);
	background: #fff;
	border-radius: 32px;
	box-shadow: var(--bc-schaduw);
}
body .bc-bonus > * + * { margin-top: 1.25rem !important; }
.bc-bonus__foto { margin: 0 auto !important; }
.bc-bonus__foto img { display: block; width: 100%; height: auto; border-radius: 22px; }
.bc-bonus__tekst { font-size: 1.1rem; max-width: 620px; margin-inline: auto !important; }

/* =================================================================
   SECTIES
   ================================================================= */

/* Drie punten */
.bc-drie { padding-top: clamp(3rem, 6vw, 5rem); }
.bc-drie .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); }
.bc-drie__punt { border-top: 3px solid var(--bc-roze); padding-top: 1.25rem; }
.bc-drie__punt h3 { margin-top: 0; }
.bc-drie__punt p:last-child { color: var(--bc-grijs); }

/* Wat leer je */
.bc-leer { background: var(--bc-creme); }
body .bc-leer__raster { margin-block: 2.75rem 2.5rem !important; gap: 1.25rem; }
.bc-leer__item {
	position: relative;
	background: #fff;
	border-radius: 22px;
	padding: 1.75rem 1.75rem 1.5rem;
	box-shadow: 0 10px 30px -20px rgba(11, 19, 43, 0.25);
}
.bc-leer__item::before {
	content: "";
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--bc-blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 50% no-repeat;
}
.bc-leer__item h3 { font-size: 1.3rem; margin: 0 0 0.5rem; }
.bc-leer__item p { margin: 0; color: var(--bc-grijs); font-size: 0.98rem; }

/* Nuchter + uitgelichte recensie */
.bc-nuchter { background: var(--bc-blush); }
.bc-nuchter .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); }
.bc-nuchter .is-style-bc-vink { font-size: 1.08rem; }

/* Recensie-kaarten */
.wp-block-quote.bc-recensie,
.bc-recensie {
	position: relative;
	margin: 0;
	background: #fff;
	border-radius: 24px;
	padding: 2rem;
	box-shadow: var(--bc-schaduw);
}
.bc-recensie--groot { padding: clamp(2rem, 4vw, 2.75rem); margin-bottom: 1.75rem !important; }
.bc-recensie--groot::before {
	content: "“";
	position: absolute;
	top: -0.25em;
	right: 1.5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 7rem;
	line-height: 1;
	color: var(--bc-roze);
}
.bc-recensie--groot p:not(.bc-sterren) { font-size: 1.08rem; }
.bc-recensie cite { display: block; margin-top: 1rem; font-style: normal; font-weight: 700; color: var(--bc-navy); }
.bc-recensie cite::before { content: "— "; color: var(--bc-roze-d); }

.bc-recensies { background: var(--bc-creme); }
body .bc-recensies__rij { margin-block: 2.75rem 2rem !important; gap: 1.5rem; }
.bc-recensies .bc-recensie { display: flex; flex-direction: column; gap: 0.9rem; }
.bc-recensies .bc-recensie > * { margin: 0 !important; }
.bc-recensies .bc-recensie p:not(.bc-sterren):not(.bc-recensie__naam) { flex-grow: 1; font-size: 0.97rem; color: var(--bc-inkt); }
.bc-recensie__foto img, .is-style-bc-rond img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.bc-recensie__naam { font-weight: 700; color: var(--bc-navy); }

/* Foto's met organische vorm */
.bc-foto-boog { position: relative; isolation: isolate; margin: 0; }
.bc-foto-boog img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 28px 28px clamp(80px, 12vw, 170px) 28px;
}
.bc-foto-boog--links img { border-radius: 28px 28px 28px clamp(80px, 12vw, 170px); }
.bc-foto-boog::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 42%;
	aspect-ratio: 1;
	right: -1.25rem;
	bottom: -1.25rem;
	border-radius: 50%;
	background: var(--bc-blush);
}
.bc-foto-boog--links::after { right: auto; left: -1.25rem; }
/* Partnerfoto: hele foto zichtbaar, niet bijsnijden */
body .bc-partner .bc-foto-boog img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }
/* Bijgesneden foto's: bovenkant (gezichten) in beeld houden */
.bc-foto-boog img { object-position: 50% 20%; }

/* Herken je dit */
.bc-herken .wp-block-columns,
.bc-partner > .wp-block-columns,
.bc-krijgt > .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); }
.bc-herken__lijst { list-style: none; padding: 0; font-size: 1.1rem; }
.bc-herken__lijst li { position: relative; padding: 0.85rem 0 0.85rem 1.75rem; border-bottom: 1px solid #F3E1E1; }
.bc-herken__lijst li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--bc-roze);
}

/* Cijfers */
.bc-cijfers { background: var(--bc-navy); padding-block: clamp(2.75rem, 6vw, 4rem); }
.bc-cijfers__rij { gap: 1.5rem; }
.bc-cijfers__rij > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, 0.14); }
.bc-cijfer { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(2.6rem, 6vw, 3.8rem); line-height: 1; color: var(--bc-roze); }
.bc-cijfer__label { margin: 0.5rem 0 0 !important; color: rgba(255, 255, 255, 0.8); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }

/* Partner */
.bc-partner__lijsten { gap: 1.5rem; margin-top: 1.5rem !important; }
.bc-partner__lijsten h4 { font-size: 1.15rem; margin-bottom: 0.25rem; }
.bc-partner__lijsten .is-style-bc-vink { font-size: 0.97rem; }

/* Wat je krijgt + op locatie */
body .bc-locatie {
	margin-top: clamp(3rem, 6vw, 4.5rem) !important;
	gap: 1rem 2rem;
	padding: 1.25rem 1.25rem 1.25rem 2rem;
	background: var(--bc-blush);
	border-radius: 999px;
}
.bc-locatie__tekst { margin: 0; font-size: 1.05rem; }

/* Suzan */
.bc-suzan { background: var(--bc-blush); }
body .bc-suzan__kaart {
	gap: clamp(2rem, 5vw, 4rem);
	background: #fff;
	border-radius: 36px;
	padding: clamp(1.5rem, 4vw, 3rem);
	box-shadow: var(--bc-schaduw);
}
.bc-suzan__foto { margin: 0; }
.bc-suzan__foto img { width: 100%; aspect-ratio: 483 / 554; object-fit: cover; border-radius: 999px 999px 28px 28px; }
.bc-suzan h2 { margin-top: 0.25rem; }

/* FAQ */
.bc-faq h2 { margin-bottom: 2rem; }
.bc-vraag { border: 0; padding-block: 0.25rem; }
.bc-vraag summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 1.1rem 3rem 1.1rem 0;
	font-weight: 700;
	font-size: 1.12rem;
	color: var(--bc-navy);
}
.bc-vraag summary::-webkit-details-marker { display: none; }
.bc-vraag summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--bc-blush);
	color: var(--bc-roze-d);
	font-size: 1.3rem;
	font-weight: 400;
	transition: transform 0.25s ease, background-color 0.25s ease;
}
.bc-vraag[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--bc-roze); color: var(--bc-navy); }
.bc-vraag p { margin-top: 0; padding-bottom: 1rem; color: var(--bc-grijs); }
.bc-faq .wp-block-buttons { margin-top: 2.5rem; }

/* Blog (voorpagina + blogoverzicht) */
.bc-blogsectie { background: var(--bc-creme); }
.bc-sectiekop { margin-bottom: 2rem; }
.bc-sectiekop h2, .bc-sectiekop p { margin: 0; }
.bc-sectiekop a { text-decoration: none; }
.bc-blog .wp-block-post-template { gap: 1.5rem; }
.bc-blog .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); }
.bc-blog .wp-block-post {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 30px -20px rgba(11, 19, 43, 0.3);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bc-blog .wp-block-post:hover { transform: translateY(-4px); box-shadow: var(--bc-schaduw); }
.bc-blog .wp-block-post > * { margin: 0; }
.bc-blog .wp-block-post-featured-image img { transition: transform 0.4s ease; }
.bc-blog .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.bc-blog .wp-block-post-featured-image { overflow: hidden; }
.bc-blog .wp-block-post-title { padding: 1.25rem 1.35rem 0; font-size: 1.2rem; line-height: 1.25; }
.bc-blog .wp-block-post-title a { text-decoration: none; }
.bc-blog .wp-block-post-excerpt { padding: 0.6rem 1.35rem 1.4rem; font-size: 0.93rem; color: var(--bc-grijs); flex-grow: 1; display: flex; flex-direction: column; }
.bc-blog .wp-block-post-excerpt__excerpt { margin: 0 0 0.75rem; }
.bc-blog .wp-block-post-excerpt__more-text { margin-top: auto; margin-bottom: 0; }
.bc-blog .wp-block-post-excerpt__more-link { font-weight: 700; color: var(--bc-roze-d); text-decoration: none; }
.bc-blog .wp-block-query-pagination { margin-top: 3rem; gap: 0.5rem; }
.bc-blog .page-numbers { display: inline-grid; place-items: center; min-width: 2.5rem; height: 2.5rem; border-radius: 50%; text-decoration: none; }
.bc-blog .page-numbers.current { background: var(--bc-roze); color: var(--bc-navy); }

/* =================================================================
   PAGINA'S & BERICHTEN
   ================================================================= */
.bc-paginakop {
	background: var(--bc-blush);
	padding-block: clamp(3rem, 7vw, 5rem);
	border-bottom-right-radius: clamp(48px, 8vw, 120px);
	margin-bottom: 0;
}
.bc-paginakop > * + * { margin-top: 0.75rem; }
.bc-meta { color: var(--bc-roze-d); font-weight: 700; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; }
.bc-inhoud { padding-block: clamp(2.5rem, 6vw, 4rem); }
.bc-inhoud--vol { padding-block: 0; }
.bc-inhoud h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.5rem; }
.bc-inhoud h3 { font-size: var(--wp--preset--font-size--large); margin-top: 2rem; }
.bc-inhoud :where(img) { border-radius: 18px; } /* lage prioriteit: eigen vormen (rond, boog) gaan voor */
.bc-uitgelicht { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.bc-uitgelicht img { border-radius: var(--bc-radius); }

.is-style-bc-kaart,
.bc-cursusblok {
	background: var(--bc-blush);
	border-radius: var(--bc-radius);
	padding: clamp(1.75rem, 4vw, 2.5rem);
}
body .bc-cursusblok { margin-block: 1rem 3rem !important; }
.bc-cursusblok h3 { margin-top: 0; }
.bc-berichtnav { padding-bottom: 3rem; gap: 1rem; font-weight: 700; }
.bc-berichtnav a { text-decoration: none; }

/* =================================================================
   FORMULIEREN (Contact Form 7 en WPForms; Amelia houdt zijn eigen stijl)
   ================================================================= */
:is(.wpcf7, .wpforms-container) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], select, textarea) {
	width: 100%;
	max-width: 100%;
	padding: 0.85rem 1rem;
	border: 1.5px solid #EAD6D6;
	border-radius: 14px;
	background: #fff;
	color: var(--bc-inkt);
	font: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
:is(.wpcf7, .wpforms-container) :is(input, select, textarea):focus { outline: none; border-color: var(--bc-roze-d); box-shadow: 0 0 0 4px var(--bc-blush); }
:is(.wpcf7, .wpforms-container) label { font-weight: 700; color: var(--bc-navy); font-size: 0.92rem; }
:is(.wpcf7, .wpforms-container) :is(input[type="submit"], button[type="submit"]) {
	display: inline-block;
	padding: 1rem 2rem;
	border: 0;
	border-radius: 999px;
	background: var(--bc-roze);
	color: var(--bc-navy);
	font: 700 0.95rem/1.2 var(--wp--preset--font-family--body);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
:is(.wpcf7, .wpforms-container) :is(input[type="submit"], button[type="submit"]):hover { background: var(--bc-navy); color: #fff; }

/* =================================================================
   CTA + FOOTER
   ================================================================= */
.bc-cta { position: relative; z-index: 1; padding-top: var(--bc-sectie); }
body .bc-cta__kaart {
	margin-bottom: -4.5rem !important;
	gap: 1.5rem 3rem;
	padding: clamp(2rem, 4vw, 3rem) clamp(1.75rem, 5vw, 3.75rem);
	border-radius: 32px;
	background: #fff;
	box-shadow: 0 30px 60px -30px rgba(11, 19, 43, 0.35);
}
.bc-cta__tekst { max-width: 560px; }
.bc-cta__tekst h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 0.5rem; }
.bc-cta__tekst p { margin: 0; color: var(--bc-grijs); }


.bc-footer {
	position: relative;
	background: linear-gradient(180deg, var(--bc-blush) 0%, #FCDDE2 100%);
	color: var(--bc-inkt);
	padding-top: calc(4.5rem + clamp(3rem, 6vw, 4.5rem));
	padding-bottom: 1.5rem;
	font-size: 0.94rem;
	line-height: 1.6;
}
body .bc-footer__kolommen {
	display: grid !important;
	grid-template-columns: 1.7fr repeat(4, 1fr);
	gap: 2.5rem 2rem;
}
.bc-footer__kolommen > .wp-block-column { flex-basis: auto !important; min-width: 0; }
.bc-footer__merk > * + * { margin-top: 1rem; }
.bc-footer__merk p { max-width: 330px; }
.bc-footer__logo { margin: 0; }
.bc-footer h4 {
	margin: 0 0 1.1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bc-roze-d);
}
.bc-footer .wp-block-list { list-style: none; padding: 0; margin: 0; }
.bc-footer .wp-block-list li { margin-block: 0 0.6rem; }
.bc-footer a { color: var(--bc-navy); text-decoration: none; transition: color 0.2s ease; }
.bc-footer a:hover { color: var(--bc-roze-d); }
.bc-footer__sterren span { color: var(--bc-roze-d); letter-spacing: 0.12em; margin-right: 0.25rem; }
.bc-footer__sterren strong { color: var(--bc-navy); }

.bc-social { gap: 0.6rem !important; }
.bc-social .wp-social-link {
	background: #fff !important;
	color: var(--bc-navy) !important;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.bc-social .wp-social-link a { padding: 0.55rem; }
.bc-social .wp-social-link svg { width: 1.1rem; height: 1.1rem; }
.bc-social .wp-social-link:hover { background: var(--bc-navy) !important; color: #fff !important; transform: translateY(-2px); }
.bc-social .wp-social-link:hover a { color: #fff; }

body .bc-footer__onder {
	margin-top: clamp(2.5rem, 5vw, 3.5rem) !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(11, 19, 43, 0.12);
	gap: 0.5rem 2rem;
	font-size: 0.82rem;
	color: var(--bc-grijs);
}
.bc-footer__onder p { margin: 0; }
.bc-footer__onder a { color: var(--bc-grijs); }

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width: 1023px) {
	body .bc-footer__kolommen { grid-template-columns: repeat(4, 1fr); }
	.bc-footer__merk { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
	:root { --bc-overlap: 90px; --bc-header-hoogte: 76px; }

	/* Pakketten onder elkaar: ruimte zodat elke ronde foto boven zijn kaart uitsteekt */
	body .bc-pakketten__rij { row-gap: calc(var(--bc-overlap) + 2rem) !important; }
	.bc-pakket__foto, .bc-pakket__foto img { width: 180px !important; }
	.bc-pakket__foto img { height: 180px !important; }

	body .bc-locatie { border-radius: 28px; padding: 1.5rem; text-align: center; justify-content: center; }
	.bc-cijfers__rij > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: 1.5rem; }
	.bc-foto-boog { margin-inline: 0.75rem; }
	body .bc-cta__kaart { text-align: left; }
	body .bc-footer__kolommen { grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* =================================================================
   PAGINA-ONDERDELEN (cursusaanbod, FAQ, extras, checklists)
   ================================================================= */

/* Pakketten bovenaan een gewone pagina: sluit aan op de roze paginakop */
.bc-inhoud:has(> .bc-pakketten:first-child) { padding-top: 0; }
.bc-inhoud > .bc-pakketten:first-child { padding-top: calc(var(--bc-overlap) + 2.5rem); margin-top: 0 !important; }

/* Kaarten in een raster */
body .bc-kaarten { gap: 1.25rem; margin-block: 2rem !important; }
.bc-kaart {
	background: #fff;
	border: 1px solid #F6E4E4;
	border-radius: 22px;
	padding: 1.6rem 1.75rem;
	box-shadow: 0 10px 30px -20px rgba(11, 19, 43, 0.28);
}
.bc-kaart > * { margin-block: 0; }
.bc-kaart > * + * { margin-top: 0.6rem !important; }
.bc-kaart h3 { font-size: 1.3rem; }
.bc-kaart .is-style-bc-vink { font-size: 0.97rem; }
.bc-kaart .is-style-bc-vink > li { margin-block: 0.4rem; }
.bc-kaart .wp-block-buttons { margin-top: 1.1rem !important; }

/* Genummerde stappen (echte volgorde: kiezen, betalen, starten) */
.bc-stappen { counter-reset: stap; }
.bc-stappen .bc-kaart { counter-increment: stap; }
.bc-stappen .bc-kaart::before {
	content: counter(stap);
	display: grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-bottom: 0.9rem;
	border-radius: 50%;
	background: var(--bc-roze);
	color: var(--bc-navy);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.15rem;
}

/* FAQ als pagina */
.bc-inhoud .bc-vraag h4 { margin-top: 1.5rem; font-size: 1.1rem; }
.bc-inhoud .bc-vraag ul { color: var(--bc-grijs); }

/* Oude Kubio-pagina's: alles op één brede kolom, tekst even breed als afbeeldingen */
.bc-kubio .bc-inhoud > :where(:not(.alignfull)) { max-width: var(--wp--style--global--wide-size) !important; }
.bc-kubio .bc-inhoud [class*="wp-block-kubio"] { max-width: 100%; }
.bc-kubio .bc-inhoud img { max-width: 100%; height: auto; }

/* =================================================================
   PAGINAKOP MET FOTO (contentpagina's, blog, afrekenen)
   Zelfde sfeer als de voorpagina, maar lager.
   ================================================================= */
body .bc-paginakop--foto {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(340px, 46vh, 480px);
	padding-top: calc(var(--bc-header-hoogte) + clamp(1.5rem, 4vh, 3rem));
	padding-bottom: clamp(2.5rem, 6vh, 4rem);
	background: var(--bc-navy);
	color: #fff;
	border-bottom-right-radius: clamp(56px, 10vw, 160px);
}
body .bc-paginakop--foto > .bc-hero__foto,
body .bc-paginakop--foto > .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0 !important;
	max-width: none !important;
	width: 100%;
	height: 100%;
}
.bc-paginakop--foto > .bc-hero__foto img,
.bc-paginakop--foto > .wp-block-post-featured-image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: 68% 42%;
}
.bc-paginakop--foto::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 22%),
		linear-gradient(180deg, rgba(11, 19, 43, 0.18) 20%, rgba(11, 19, 43, 0.5) 100%);
}
.bc-paginakop--foto h1,
.bc-paginakop--foto .wp-block-post-title {
	color: #fff;
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	line-height: 1.08;
	text-shadow: 0 2px 26px rgba(11, 19, 43, 0.45);
}
.bc-paginakop--foto p { color: rgba(255, 255, 255, 0.92); text-shadow: 0 1px 14px rgba(11, 19, 43, 0.5); }
.bc-paginakop--foto .bc-meta { color: var(--bc-roze); text-shadow: none; }
.bc-paginakop--foto .wp-block-buttons { margin-top: 1.5rem !important; }
.bc-paginakop--foto .wp-block-button__link {
	padding: 0.8rem 1.6rem;
	font-size: 0.85rem;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 14px 30px -12px rgba(11, 19, 43, 0.6);
}
.bc-paginakop--foto .wp-block-button__link:hover { background: #fff; color: var(--bc-navy); }

/* Menu transparant over de fotokop, wit zodra je scrolt (zoals de voorpagina) */
body:has(.bc-paginakop--foto) .bc-header-wrap { position: fixed; left: 0; right: 0; background: transparent; }
.bc-gescrold body:has(.bc-paginakop--foto) .bc-header-wrap { background: rgba(255, 255, 255, 0.97); }

/* Volle-breedte secties (pakketten, recensies, "wat leer je") ook binnen een gewone pagina */
body .bc-inhoud > .alignfull {
	width: 100vw;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
body .bc-inhoud .bc-pakket__foto img { border-radius: 50%; }

/* Oude pagina's (Kubio-inhoud): geen scheidingslijnen, vaste ruimte tussen vragen zoals live */
.bc-kubio .bc-inhoud .wp-block-separator,
.bc-kubio .bc-inhoud hr,
.bc-kubio .bc-inhoud .wp-block-kubio-spacer { display: none !important; }
.bc-kubio .bc-inhoud :is(h2, h3, h4) { margin-top: 82px !important; margin-bottom: 16px !important; }
.bc-kubio .bc-inhoud :is(h2, h3, h4) + * { margin-top: 0 !important; }
.bc-kubio .bc-inhoud > :is(h2, h3, h4):first-child,
.bc-kubio .bc-inhoud > .wp-block-kubio-spacer:first-child + :is(h2, h3, h4) { margin-top: 0 !important; }

/* Nieuwe FAQ (uitklapvragen) op een pagina: zachte vlakken in plaats van lijnen */
.bc-inhoud .bc-vraag {
	background: var(--bc-creme);
	border: 1px solid #F6E4E4;
	border-radius: 18px;
	padding: 0.35rem 1.4rem;
	margin-top: 16px !important;
}
.bc-inhoud .bc-vraag[open] { background: #fff; box-shadow: 0 10px 30px -20px rgba(11, 19, 43, 0.25); }

/* Gecentreerde afbeelding in paginatekst */
.bc-midden { margin-inline: auto !important; }
.bc-midden img { margin-inline: auto; display: block; border-radius: 0 !important; }
/* Blokken met ruimte ertussen op contentpagina's */
.bc-inhoud > .is-style-bc-kaart, .bc-inhoud > .bc-melding { margin-top: 2.5rem !important; }

/* Menuknop (hamburger) altijd zichtbaar: wit rondje, ook over een donkere fotokop */
.bc-nav .wp-block-navigation__responsive-container-open {
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: var(--bc-navy);
	box-shadow: 0 6px 18px -8px rgba(11, 19, 43, 0.45);
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.bc-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
.bc-gescrold .bc-nav .wp-block-navigation__responsive-container-open { background: var(--bc-blush); box-shadow: none; }


/* Menu wit over de foto/donkere kop (voorpagina en pagina's met fotokop) zolang je bovenaan bent.
   Na scrollen wordt de balk wit en het menu weer donkerblauw. */
html:not(.bc-gescrold) :is(body.home, body:has(.bc-paginakop--foto)) .bc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: #fff; text-shadow: 0 1px 10px rgba(11, 19, 43, 0.45); }
html:not(.bc-gescrold) :is(body.home, body:has(.bc-paginakop--foto)) .bc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--bc-roze); }
html:not(.bc-gescrold) :is(body.home, body:has(.bc-paginakop--foto)) .bc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle { color: #fff; }
html:not(.bc-gescrold) :is(body.home, body:has(.bc-paginakop--foto)) .bc-nav .bc-nav__login > .wp-block-navigation-item__content { box-shadow: inset 0 0 0 2px #fff; }
html:not(.bc-gescrold) :is(body.home, body:has(.bc-paginakop--foto)) .bc-nav .bc-nav__bestel > .wp-block-navigation-item__content { color: var(--bc-navy); text-shadow: none; }

/* =================================================================
   GOLVENDE OVERGANGEN tussen secties met een andere kleur (voorlopig alleen voorpagina)
   Elke sectie tekent bovenaan een golf in haar eigen kleur, die over
   de sectie erboven valt. Twee witte secties na elkaar: onzichtbaar.
   ================================================================= */
.home .bc-main > :is(.bc-sectie, .bc-cijfers),
.home .bc-footer { --golf: #fff; position: relative; }
.home .bc-main > :is(.bc-leer, .bc-recensies) { --golf: var(--bc-creme); }
.home .bc-main > .bc-blogsectie--donker { --golf: #0b132b; }
.home .bc-main > :is(.bc-nuchter, .bc-suzan) { --golf: var(--bc-blush); }
.home .bc-main > .bc-cijfers { --golf: var(--bc-navy); }
.home .bc-footer { --golf: var(--bc-blush); }
.home .bc-main > :is(.bc-sectie, .bc-cijfers)::before,
.home .bc-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% - 1px);
	height: clamp(22px, 3.6vw, 52px);
	background: var(--golf);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 6 540 26s360 32 540 14 270-30 360-22v48z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 6 540 26s360 32 540 14 270-30 360-22v48z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 3;
}
.home .bc-footer::before { z-index: 0; }
@media print { .home .bc-main > :is(.bc-sectie, .bc-cijfers)::before { display: none; } }

/* =================================================================
   BLOG OP DE VOORPAGINA: donkere band met 4 kaarten en leestijd
   ================================================================= */
.bc-blogsectie--donker { background: #0b132b; color: #fff; }
.bc-blogsectie--donker .bc-sectiekop h2 { color: #fff; }
.bc-blogsectie--donker .bc-sectiekop a { color: var(--bc-roze); }
.bc-blogsectie--donker .bc-sectiekop a:hover { color: #fff; }
body .bc-blog--kaarten .wp-block-post-template { gap: 1.75rem; }
.bc-blog--kaarten .wp-block-post {
	border-radius: 4px;
	box-shadow: none;
	min-height: 100%;
}
.bc-blog--kaarten .wp-block-post:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.6); }
.bc-blog--kaarten .wp-block-post-featured-image { position: relative; margin: 0; overflow: visible !important; }
.bc-blog--kaarten .wp-block-post-featured-image a { display: block; overflow: hidden; height: 100%; }
.bc-blog--kaarten .wp-block-post-featured-image img { border-radius: 0 !important; }
.bc-leestijd__label {
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateY(40%);
	padding: 0.45rem 0.9rem;
	background: var(--bc-roze);
	color: #0b132b;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	z-index: 1;
}
.bc-blog--kaarten .wp-block-post-title {
	padding: 1.9rem 1.5rem 0;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.35;
	flex-grow: 1;
}
.bc-blog--kaarten .wp-block-post-title a { color: #0b132b; }
.bc-blog--kaarten .wp-block-read-more {
	display: inline-block;
	margin: 1.5rem 1.5rem 1.6rem !important;
	color: var(--bc-roze-d);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.bc-blog--kaarten .wp-block-read-more:hover { color: #0b132b; }

/* Onderkant van de donkere blogband ook als golf (naar beneden gespiegeld) */
.home .bc-main > .bc-blogsectie--donker::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - 1px);
	height: clamp(22px, 3.6vw, 52px);
	background: #0b132b;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 6 540 26s360 32 540 14 270-30 360-22v48z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 6 540 26s360 32 540 14 270-30 360-22v48z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	transform: scaleY(-1);
	pointer-events: none;
	z-index: 3;
}

/* Voorpagina: geen dubbele golf onderaan. De donkere blogband golft direct in het roze;
   het blok "Klaar om te beginnen?" krijgt dezelfde roze achtergrond als de footer. */
.home .bc-cta { background: var(--bc-blush); }
.home .bc-footer::before { display: none; }

/* De Kubio-plugin (nog actief voor oude pagina's) zet alle pagina-inhoud op 840px
   via ".entry-content > *". Hier weer op de normale breedte van het thema (1180px). */
html body .bc-inhoud.entry-content > :not(.alignfull):not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--content-size, 1180px); }

/* =================================================================
   HOMEPAGE SPEELSER: iconen, foto's, tekstballonnen
   ================================================================= */
.bc-ico--euro { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 6.3A7 7 0 1 0 17 17.7'/%3E%3Cpath d='M4.5 10.5h8M4.5 13.5h8'/%3E%3C/svg%3E"); }
.bc-ico--video { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='M10 9.3v5.4l4.6-2.7z'/%3E%3C/svg%3E"); }
.bc-ico--hart { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.1 4.1 0 0 1 12 7.4a4.1 4.1 0 0 1 7.5 2.4C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E"); }
.bc-ico--baby { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13.5' r='7'/%3E%3Cpath d='M12 6.5c0-2 1.4-3.2 3.2-3'/%3E%3Cpath d='M9.4 12.6h.01M14.6 12.6h.01'/%3E%3Cpath d='M10 16.2c1.2 1 2.8 1 4 0'/%3E%3C/svg%3E"); }
.bc-ico--route { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='18' r='2.2'/%3E%3Ccircle cx='18' cy='6' r='2.2'/%3E%3Cpath d='M8.2 18H15a3 3 0 0 0 0-6H9a3 3 0 0 1 0-6h6.8'/%3E%3C/svg%3E"); }
.bc-ico--samen { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3.5 20a5.5 5.5 0 0 1 11 0'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M15.8 14.3A4.8 4.8 0 0 1 21 19'/%3E%3C/svg%3E"); }
.bc-ico--pil { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 20.5 3.5 13.5a4.95 4.95 0 0 1 7-7l7 7a4.95 4.95 0 0 1-7 7z'/%3E%3Cpath d='m8.5 8.5 7 7'/%3E%3C/svg%3E"); }
.bc-ico--plan { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h4l10 10h4'/%3E%3Cpath d='M3 17h4l3-3'/%3E%3Cpath d='M14 10l3-3h4'/%3E%3Cpath d='m18 4 3 3-3 3'/%3E%3Cpath d='m18 14 3 3-3 3'/%3E%3C/svg%3E"); }
.bc-ico--adem { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10.5a3 3 0 1 0-3-3'/%3E%3Cpath d='M3 12h15a3 3 0 1 1-3 3'/%3E%3Cpath d='M3 16h6.5'/%3E%3C/svg%3E"); }
.bc-ico--lach { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.6 14c1.9 2 4.9 2 6.8 0'/%3E%3Cpath d='M9 9.6h.01M15 9.6h.01'/%3E%3C/svg%3E"); }
.bc-ico--kalender { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.bc-ico--ster { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3.2 2.7 5.5 6 .9-4.35 4.25 1 6L12 17l-5.35 2.85 1-6L3.3 9.6l6-.9z'/%3E%3C/svg%3E"); }
.bc-ico--praat { --bc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H10l-5 4v-4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E"); }
/* Icoon in een roze rondje boven of naast een blok (klasse: bc-ico bc-ico--naam) */
.bc-ico { position: relative; }
.bc-ico::before {
	content: "";
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 50%;
	background: var(--bc-blush) var(--bc-ico) center / 52% no-repeat;
	transition: transform 0.3s ease;
}
.bc-ico:hover::before { transform: rotate(-8deg) scale(1.06); }

/* Drie punten: kaartjes met icoon, gecentreerd */
.bc-drie__punt { border-top: 0 !important; padding: 2rem 1.75rem 1.75rem !important; text-align: center; background: #fff; border-radius: 26px; box-shadow: 0 14px 34px -24px rgba(11, 19, 43, 0.35); }
.bc-drie__punt::before { margin: 0 auto 1rem; width: 4.25rem; height: 4.25rem; }
.bc-drie__punt h3 { margin: 0 0 0.5rem; font-size: 1.35rem; }
.bc-drie__punt p { margin: 0; }
.bc-drie__punt a { color: var(--bc-roze-d); font-weight: 700; }

/* Wat leer je: foto links, onderwerpen met icoon rechts */
.bc-leer__kolommen { gap: clamp(2rem, 5vw, 4.5rem) !important; }
body .bc-leer__raster { margin-block: 1.5rem 2rem !important; gap: 1.25rem 1.75rem; }
.bc-leer__item {
	display: grid;
	grid-template-columns: 3.1rem 1fr;
	column-gap: 1rem;
	align-items: start;
	background: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0;
}
.bc-leer__item::before { grid-row: span 2; width: 3.1rem; height: 3.1rem; margin: 0; background: #fff var(--bc-ico) center / 54% no-repeat; box-shadow: 0 8px 20px -12px rgba(231, 125, 152, 0.7); }
.bc-leer__item > * { grid-column: 2; }
.bc-leer__item h3 { font-size: 1.12rem; margin: 0.15rem 0 0.15rem; font-family: var(--wp--preset--font-family--body); font-weight: 700; }
.bc-leer__item p { font-size: 0.95rem; line-height: 1.45; }
.bc-foto-staand img { aspect-ratio: 4 / 5 !important; }
.bc-bovenkop { margin: 0 0 0.25rem !important; font-family: var(--wp--preset--font-family--accent); font-size: 1.35rem; color: var(--bc-roze-d); }

/* Nuchter: foto met zwevend recensiekaartje */
.bc-nuchter__beeld { position: relative; }
.bc-nuchter__beeld .bc-foto-boog img { aspect-ratio: 4 / 4.2; object-position: 50% 30%; }
body .wp-block-quote.bc-recensie--zwevend {
	position: relative;
	z-index: 2;
	max-width: 330px;
	margin: -4.5rem 0 0 -1.5rem !important;
	padding: 1.25rem 1.4rem;
	border-radius: 20px;
	transform: rotate(-2deg);
}
.bc-recensie--zwevend p { margin: 0 !important; font-size: 1rem; line-height: 1.45; }
.bc-recensie--zwevend .bc-sterren { margin-bottom: 0.35rem !important; }
.bc-recensie--zwevend cite { margin-top: 0.6rem; font-size: 0.9rem; }

/* Herken je dit: tekstballonnen */
.bc-herken__lijst { display: flex; flex-direction: column; gap: 0.85rem; }
.bc-herken__lijst li {
	align-self: flex-start;
	max-width: 30rem;
	padding: 0.9rem 1.25rem 0.9rem 3.3rem !important;
	border: 0 !important;
	border-radius: 22px 22px 22px 6px;
	background: var(--bc-blush);
	line-height: 1.4;
	box-shadow: 0 8px 22px -18px rgba(11, 19, 43, 0.4);
}
.bc-herken__lijst li:nth-child(even) { align-self: flex-end; border-radius: 22px 22px 6px 22px; background: #fff; border: 1.5px solid var(--bc-poeder) !important; }
.bc-herken__lijst li::before {
	top: 50% !important;
	left: 0.9rem !important;
	transform: translateY(-50%);
	width: 1.7rem !important;
	height: 1.7rem !important;
	border-radius: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E77D98' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H10l-5 4v-4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* Cijfers: icoon boven elk getal */
.bc-cijfers__rij > .bc-ico::before { margin: 0 auto 0.85rem; width: 3rem; height: 3rem; background-color: rgba(255, 255, 255, 0.08); }

/* Partner: ronde sticker "ook leuk voor mannen" */
.bc-partner__beeld { position: relative; }
body .bc-sticker {
	position: absolute;
	right: -0.5rem;
	bottom: -1.5rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	transform: rotate(6deg);
	transition: transform 0.3s ease;
}
.bc-sticker:hover { transform: rotate(0deg) scale(1.05); }
.bc-sticker > * { margin: 0 !important; }
.bc-sticker img { width: 120px !important; height: 120px; border: 5px solid #fff; box-shadow: 0 12px 28px -14px rgba(11, 19, 43, 0.55); }
.bc-sticker__tekst a { display: inline-block; padding: 0.35rem 0.85rem; border-radius: 999px; background: var(--bc-roze); color: var(--bc-navy); font-size: 0.85rem; font-weight: 700; text-decoration: none; white-space: nowrap; }

@media (max-width: 781px) {
	.bc-leer__kolommen > .wp-block-column:first-child { max-width: 420px; margin-inline: auto; }
	body .wp-block-quote.bc-recensie--zwevend { margin: -3.5rem auto 0 !important; }
	.bc-herken__lijst li, .bc-herken__lijst li:nth-child(even) { align-self: stretch; }
	body .bc-sticker { right: 0.5rem; bottom: -1rem; }
	.bc-sticker img { width: 96px !important; height: 96px; }
}
/* Lange woorden in koppen netjes afbreken op de telefoon (bv. "zwangerschapscursus") */
@media (max-width: 600px) { h1, h2, h3 { hyphens: auto; -webkit-hyphens: auto; } }

/* Vrijstaande (uitgesneden) foto's zonder kader, met een zachte roze vorm erachter */
.bc-foto-vrij { position: relative; isolation: isolate; margin: 0; }
.bc-foto-vrij img { width: 100%; height: auto !important; aspect-ratio: auto !important; border-radius: 0 !important; object-fit: contain !important; }
.bc-foto-vrij::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 8% 4% 2% 8%;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, #fff 0%, var(--bc-blush) 70%);
	transform: rotate(-6deg);
}
.bc-nuchter .bc-foto-vrij::before { background: radial-gradient(circle at 40% 40%, #fff 0%, #FDE0E6 70%); inset: 4% -2% -4% 6%; }
.bc-foto-vrij--rond::before { inset: 12% 6% 6% 10%; border-radius: 46% 54% 50% 50% / 52% 48% 52% 48%; }
.bc-foto-rechts img { object-position: 78% 50% !important; }

/* Nuchter: losse recensie onder de knop (niet aan de foto vast) */
body .wp-block-quote.bc-recensie--klein {
	max-width: 440px;
	margin: 2rem 0 0 !important;
	padding: 1.1rem 1.3rem;
	border-radius: 18px;
	transform: none;
}
.bc-recensie--klein p { margin: 0 !important; font-size: 0.98rem; line-height: 1.45; }
.bc-recensie--klein .bc-sterren { margin-bottom: 0.3rem !important; }
.bc-recensie--klein cite { margin-top: 0.5rem; font-size: 0.88rem; }

/* Hero-titel op de telefoon: iets kleiner zodat "krachtige" en "bevalling" heel blijven */
@media (max-width: 600px) {
	.bc-hero__titel { font-size: clamp(1.9rem, 10.5vw, 2.7rem); hyphens: manual; -webkit-hyphens: manual; text-wrap: balance; overflow-wrap: normal; }
}

/* Homepage: alle knoppen gecentreerd op de telefoon */
@media (max-width: 781px) {
	.home .bc-main .wp-block-buttons { justify-content: center; }
}


/* =================================================================
   BEVALLINGSCURSUS.NL
   Onderdelen die alleen op deze site voorkomen.
   ================================================================= */

/* Locatiekaarten: zes kaarten (3 x 2) met ronde foto; de eerste rij valt over de hero */
body .bc-locaties__raster {
	margin-top: 0 !important;
	column-gap: clamp(1.25rem, 2.5vw, 2rem);
	row-gap: calc(var(--bc-overlap) + 1.75rem);
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 1023px) { body .bc-locaties__raster { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { body .bc-locaties__raster { grid-template-columns: minmax(0, 1fr) !important; } }
.bc-locatiekaart { height: 100%; }
.bc-locatiekaart__tekst { flex-grow: 1; color: var(--bc-grijs); font-size: 0.97rem; }
.bc-locatiekaart .bc-pakket__titel { font-size: 1.55rem; }
.bc-locatiekaart .bc-pakket__toegang { text-transform: none; letter-spacing: 0.01em; font-size: 0.85rem; }
.bc-locaties .bc-locatie { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; background: #fff; box-shadow: var(--bc-schaduw); }

/* Hero: tweede knop wit */
.bc-hero .is-style-bc-licht > .wp-block-button__link { background: #fff; color: var(--bc-navy); }
.bc-hero .is-style-bc-licht > .wp-block-button__link:hover { background: var(--bc-roze); }

/* Foto's: gezichten in beeld houden */
.bc-foto-boven img { object-position: 50% 18% !important; }
body .bc-partner .bc-foto-boog img { aspect-ratio: 4 / 5 !important; object-fit: cover !important; object-position: 50% 30%; }
.bc-nuchter .bc-foto-boog img { aspect-ratio: 4 / 3.4; }

/* Opfriscursus */
.bc-opfris .bc-foto-vrij img { max-width: 520px; margin-inline: auto; display: block; }

/* Aanbod: programma (genummerde kaarten) en "alles op een rijtje" */
body .bc-inhoudcursus .bc-kaarten { margin-top: 2.5rem !important; gap: 1.25rem; }
.bc-inhoudcursus .bc-kaart p:not(:last-child) { color: var(--bc-grijs); font-size: 0.97rem; }
.bc-rijtje > .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); }
.bc-rijtje .is-style-bc-vink { font-size: 1.05rem; }
.bc-rijtje__kaart > * { margin-block: 0; }
.bc-rijtje__kaart > * + * { margin-top: 1rem !important; }

/* Locatiepagina's met de Amelia-agenda: geen "meld je aan"-knop in de kop (je bent er al) */
.bc-boeken .bc-paginakop--foto .wp-block-buttons { display: none; }
.bc-boeken .bc-inhoud { text-align: center; }
.bc-boeken .bc-inhoud :is(.amelia-app-booking, #amelia-app-booking, [class*="amelia"]) { text-align: left; }

/* Kubio-blokken die door het thema als gewone blokken worden getoond */
.bc-kubio .bc-inhoud > .wp-block-buttons { margin-block: 1.5rem; }
.bc-kubio .bc-inhoud > .wp-block-image.aligncenter img { border-radius: 18px; }
.bc-kubio-sectie { margin-block: 1.5rem; }

/* Oude klassieke inhoud (bv. "Kies je locatie"): plaatjes netjes gecentreerd */
.bc-inhoud center img, .bc-inhoud center figure { margin-inline: auto; }
.bc-inhoud center figure { margin-block: 1rem; }
.bc-kubio .bc-inhoud > .wp-block-image.aligncenter img { max-width: min(100%, 760px); }

/* =================================================================
   WISSELBALK: op locatie <-> online (staat op beide sites)
   ================================================================= */
:root { --bc-wissel-hoogte: 40px; }
.bc-wissel { background: var(--bc-navy); color: #fff; font-size: 0.82rem; }
.bc-wissel__rij { display: flex; align-items: center; gap: 0.25rem; min-height: var(--bc-wissel-hoogte); margin: 0 auto !important; }
.bc-wissel__tab {
	display: inline-flex; align-items: center; gap: 0.35rem;
	align-self: stretch;
	padding: 0 1rem;
	color: rgba(255, 255, 255, 0.75) !important;
	font-weight: 700; letter-spacing: 0.04em; text-decoration: none !important;
	border-radius: 12px 12px 0 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.bc-wissel__tab:hover { color: #fff !important; background: rgba(255, 255, 255, 0.08); }
.bc-wissel__tab.is-actief { background: var(--bc-roze); color: var(--bc-navy) !important; }
.bc-wissel__uitleg { margin-left: auto; color: rgba(255, 255, 255, 0.7); }
.bc-wissel__uitleg strong { color: var(--bc-roze); }
body:has(.bc-wissel) .bc-hero { padding-top: calc(var(--bc-header-hoogte) + var(--bc-wissel-hoogte) + clamp(2.5rem, 7vh, 5rem)); }
body:has(.bc-wissel) .bc-paginakop--foto { padding-top: calc(var(--bc-header-hoogte) + var(--bc-wissel-hoogte) + clamp(1.5rem, 4vh, 3rem)); }
@media (max-width: 781px) { .bc-wissel__uitleg { display: none; } .bc-wissel__tab { flex: 1; justify-content: center; padding: 0 0.5rem; } }

/* Online-kaart tussen de locaties: navy, zodat hij niet als zesde locatie leest */
.bc-locatiekaart--online { background: var(--bc-navy); color: #fff; }
.bc-locatiekaart--online .bc-pakket__titel { color: #fff; }
.bc-locatiekaart--online .bc-pakket__toegang { background: rgba(255, 255, 255, 0.12); color: var(--bc-roze); }
.bc-locatiekaart--online .bc-locatiekaart__tekst { color: rgba(255, 255, 255, 0.8); }
.bc-locatiekaart--online .wp-block-button__link:hover { background: #fff; color: var(--bc-navy); }

/* Wisselbalk alleen bovenaan: zodra je scrolt klapt hij in, de header blijft compact */
.bc-wissel { max-height: var(--bc-wissel-hoogte); overflow: hidden; transition: max-height 0.25s ease; }
.bc-gescrold .bc-wissel { max-height: 0; }
html.bc-gescrold .bc-header-wrap { background: #fff !important; }
