/* ==========================================================================
   Coen Wissink – blokken. Patronen gebruiken dezelfde klassen als de
   templates (main.css); dit bestand vangt alleen de verschillen op die
   ontstaan doordat WordPress-blokken net andere HTML maken.
   ========================================================================== */

/* Losse blokken die je moeder toevoegt (zonder cw-klasse) krijgen ritme.
   Lage specificiteit, zodat de templateregels altijd voorgaan. */
.cw.wp-block-group :where(.wp-block-group:not([class*="cw-"]), .cw-wrap, .cw-hero__text) > :where(:not([class*="cw-"])) + :where(:not([class*="cw-"])) { margin-top: 16px; }
.cw .cw-blocks > :where(:not(.cw)) + :where(:not(.cw)) { margin-top: 16px; }
.cw-blocks > :not(.cw):not(.alignfull) { max-width: 860px; margin-inline: auto; padding-inline: 32px; }
.cw-blocks > :not(.cw):first-child { margin-top: 64px; }
.cw-blocks > :not(.cw):last-child { margin-bottom: 64px; }

/* Iconen (stroke, groen) */
.cw-ico-klok { --cw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.cw-ico-chat { --cw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.8 7L3 21l2-6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.cw-ico-mensen { --cw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E"); }
.cw-ico-hart { --cw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.cw-ico-schild { --cw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); }
.wp-block-group.cw-point::before { content: ""; flex: none; width: 48px; height: 48px; border-radius: 50%; background: #EAF9D3 var(--cw-ico) center / 24px no-repeat; }
.cw-point h3 + p { color: var(--cw-ink-2); margin-top: 6px; }

/* Hero */
p.cw-badge::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--cw-lime); box-shadow: 0 0 0 4px rgba(143, 239, 1, .25); }
p.cw-badge { width: fit-content; }
p.cw-hero__score::before { content: ""; flex: none; width: 98px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'%3E%3Cpath fill='%23E0157A' d='M12 2l3 6.9 7.5.7-5.7 5 1.7 7.4L12 18.3 5.5 22l1.7-7.4-5.7-5L9 8.9z'/%3E%3C/svg%3E") left / 19.6px 18px repeat-x; }
.cw-hero__team > p, .cw-hero__trust > p { margin: 0; }
.cw-avatars figure.cw-avatar { margin-block: 0; overflow: hidden; }
.cw-avatars figure.cw-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 50%; }
.wp-block-group.cw-hero__media::before { content: ""; position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%; background: var(--cw-lime); right: -8%; top: -6%; }
figure.cw-hero__img { overflow: hidden; margin-block: 0; max-width: 100%; }
figure.cw-hero__img img, figure.cw-rounded img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 0; }
figure.cw-rounded { overflow: hidden; margin: 0; }
figure.cw-rounded.cw-ratio-wide { aspect-ratio: 4 / 3.4; }
.cw div.cw-hero__card { margin: 0; }
.cw-hero__card > p:first-child { font-size: 16px; line-height: 1.5; }
.cw-hero__card-naam { margin-top: 10px !important; font-size: 14px; font-weight: 600; color: var(--cw-muted); }

/* Tegels: hele tegel klikbaar */
.cw-tile { position: relative; }
.cw .cw-tile__cta a { color: inherit; text-decoration: none; }
.cw-tile__cta a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.cw .cw-tile__cta { margin-top: auto; }

/* Links in alinea's met linkklasse (in de template zat de klasse op de link zelf) */
.cw p.cw-link { font-size: inherit; font-weight: inherit; }
.cw .cw-link a { color: var(--cw-green); font-weight: 700; font-size: 16px; }
.cw .cw-bh-card > p.cw-bh-more { font-size: 15px; }
.cw .cw-bh-card > p.cw-bh-more a { font-size: 15px; }
.cw .cw-bh-card > p.cw-tr-ins__tag { font-size: 14px; }
.cw p.cw-bh-jump { margin-top: 32px; }
.cw .cw-link--lime a { color: var(--cw-lime); }

/* Team */
figure.cw-member { margin: 0; }
figure.cw-member img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: var(--cw-radius); }
figure.cw-member figcaption { margin: 16px 0 0; text-align: left; font-size: 15px; color: var(--cw-muted); }
figure.cw-member figcaption strong { display: block; color: var(--cw-ink); margin-bottom: 2px; }

/* Reviews */
.cw-review > p:first-child { font-size: 19px; line-height: 1.55; }
.cw-review > p:last-child { font-weight: 600; font-size: 15px; }
.cw .cw-review > p + p { margin-top: 0; }

/* Behandelingen */
.cw .cw-darkcard .cw-h4 a { color: #fff; }

/* Stappen (genummerde lijst) */
ol.wp-block-list.cw-steps { counter-reset: cwstap; }
ol.wp-block-list.cw-steps > li { display: block; position: relative; padding-left: 62px; min-height: 44px; color: var(--cw-ink-2); counter-increment: cwstap; }
ol.wp-block-list.cw-steps > li::before { content: counter(cwstap); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--cw-lime); color: var(--cw-ink); display: flex; align-items: center; justify-content: center; font: 700 20px var(--cw-display); }
ol.wp-block-list.cw-steps > li strong { display: block; font: 600 20px/1.15 var(--cw-display); color: var(--cw-ink); letter-spacing: -0.02em; margin-bottom: 4px; }
.cw-formcard > .cw-h3 { margin-bottom: 18px; }

/* FAQ met core "Details"-blok */
.cw-faq .wp-block-details summary::after { content: ""; flex: none; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2620' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s ease; }
.cw-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.cw-faq details > :not(summary) { color: var(--cw-ink-2); margin-top: 12px; }
.cw-faq .wp-block-details { margin: 0; }

/* Knoppen (core/button) in de stijl van .cw-btn */
:where(.wp-block-buttons) { gap: 12px 28px; }
.cw .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--cw-lime); color: var(--cw-ink); font: 700 17px/1.2 var(--cw-body); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.cw .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(95, 160, 0, .28); color: var(--cw-ink); }
.cw .is-style-donker .wp-block-button__link, .cw .is-style-donker .wp-block-button__link:hover { background: var(--cw-ink); color: #fff; }
.cw .is-style-outline .wp-block-button__link { background: transparent; color: var(--cw-ink); box-shadow: inset 0 0 0 2px var(--cw-ink); }
.cw .is-style-outline .wp-block-button__link:hover { background: var(--cw-ink); color: #fff; box-shadow: none; }
.cw .is-style-tekstlink .wp-block-button__link { background: none; min-height: 0; padding: 0; color: var(--cw-green); font-size: 16px; text-decoration: underline; border-radius: 0; }
.cw .is-style-tekstlink .wp-block-button__link:hover { transform: none; box-shadow: none; color: var(--cw-ink); }
.cw-ctacard .is-style-tekstlink .wp-block-button__link { color: var(--cw-ink); font-weight: 600; font-size: 17px; }
.cw-darkcard .is-style-tekstlink .wp-block-button__link, .has-ink-background-color .is-style-tekstlink .wp-block-button__link { color: var(--cw-lime); }
.is-style-pijl .wp-block-button__link::after, .is-style-bel .wp-block-button__link::before { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--cw-btn-ico) center / contain no-repeat; mask: var(--cw-btn-ico) center / contain no-repeat; }
.is-style-pijl { --cw-btn-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.is-style-bel { --cw-btn-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.cw-formcard__actions .wp-block-button, .cw-formcard__actions .wp-block-button__link { width: 100%; }
.cw-formcard__actions { flex-direction: column; align-items: stretch; }
.cw-ctacard__actions { flex-direction: column; align-items: flex-start; }

/* Blokstijlen voor vrije inhoud */
.is-style-label { font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--cw-pink); }
.is-style-hand { font-family: var(--cw-hand); font-weight: 600; font-size: 32px; line-height: 1.15; }
.is-style-intro { font-size: 20px; line-height: 1.6; color: var(--cw-ink-2); }
ul.is-style-vinkjes { list-style: none; padding: 0; }
ul.is-style-vinkjes li { position: relative; padding-left: 36px; }
ul.is-style-vinkjes li + li { margin-top: 10px; }
ul.is-style-vinkjes li::before { content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; border-radius: 50%; background: #EAF9D3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.wp-block-image.is-style-afgerond img { border-radius: var(--cw-radius); }

/* Editor: zelfde basis als de website */
.editor-styles-wrapper { font-family: var(--cw-body); color: var(--cw-ink); }
.editor-styles-wrapper .wp-block-group.cw-hero__media::before { z-index: 0; }
.editor-styles-wrapper figure.cw-hero__img { position: relative; z-index: 1; }

@media (max-width: 900px) {
	.cw-blocks > :not(.cw):not(.alignfull) { padding-inline: 20px; }
}

/* Losse bouwblokken */
.cw-ct-card--soft { background: var(--cw-soft); }
.cw .cw-ct-card a.cw-ct-big { text-decoration: none; }
.cw-oo-jobs > .wp-block-group > p { color: var(--cw-ink-2); margin-top: 6px; }
.cw .cw-prose > * + * { margin-top: 14px; }

/* Subpagina's ------------------------------------------------------------- */
/* Fotomozaïek */
.wp-block-group.cw-oo-mosaic::before { content: ""; position: absolute; z-index: 0; width: 70%; aspect-ratio: 1; border-radius: 50%; background: var(--cw-lime); right: -10%; top: -8%; }
figure.cw-oo-mosaic__img, figure.cw-person__img { margin: 0; overflow: hidden; }
figure.cw-oo-mosaic__img img, figure.cw-person__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }

/* Teamleden */
.cw-person__media > p.cw-person__label { margin: 0; }
p.cw-person__ph { margin: 0; }
.cw-person__bio > summary { display: block; }

/* Waarden en review in afsluiter */
.cw-value > h3 + p { font-size: 17px; line-height: 1.55; color: var(--cw-ink-2); }
.cw .cw-value > p + p { margin-top: auto; font-weight: 600; font-size: 15px; }
.cw-oo-cta__review > p:first-child { font-size: 17px; line-height: 1.55; }
.cw .cw-oo-cta__review > p + p { margin-top: 12px; font-weight: 600; font-size: 14px; color: var(--cw-muted); }
.cw-oo-desk .wp-block-buttons + .cw-oo-desk__tijden { margin-top: 14px; }

/* Contact */
.cw .cw-ct-big a { font: 700 24px/1.2 var(--cw-display); color: var(--cw-ink); text-decoration: none; }
.cw .cw-ct-big a:hover { color: var(--cw-green); }
.cw .cw-ct-card--dark .cw-ct-big a { color: var(--cw-lime); }
.cw-ct-card > p.cw-ct-big { margin-bottom: 6px; }
.cw-ct-card--soft { background: var(--cw-soft); }

/* Tarieven */
.wp-block-group.cw-tr-fact::before { content: ""; flex: none; width: 48px; height: 48px; border-radius: 50%; background: #EAF9D3 var(--cw-ico) center / 24px no-repeat; }
p.cw-tr-ins__tag { width: fit-content; }

/* Behandelingen */
.cw .cw-bh-jump a[href="#spoed"] { background: var(--cw-ink); border-color: var(--cw-ink); color: var(--cw-lime); }
p.cw-bh-who:not(:has(svg))::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E") center / contain no-repeat; }
ol.wp-block-list.cw-bh-steps { counter-reset: cwbh; }
ol.wp-block-list.cw-bh-steps > li { counter-increment: cwbh; color: var(--cw-ink-2); font-size: 16px; }
ol.wp-block-list.cw-bh-steps > li::before { content: counter(cwbh); width: 44px; height: 44px; border-radius: 50%; background: var(--cw-lime); color: var(--cw-ink); display: flex; align-items: center; justify-content: center; font: 700 20px var(--cw-display); }
ol.wp-block-list.cw-bh-steps > li strong { font: 600 20px/1.15 var(--cw-display); color: var(--cw-ink); letter-spacing: -0.02em; }
.cw-bh-spoed__nrs > * { margin: 0; }

/* Werken bij */
.cw-wb-status:not(:has(.cw-badge__dot))::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--cw-lime); box-shadow: 0 0 0 4px rgba(143, 239, 1, .25); }

/* Editor: secties over de volle breedte, net als op de website */
.is-root-container > .cw { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
