/* Shared visual system — warm, clear and close to home. */
:root {
 --navy:#182d42; --ink:#314454; --muted:#52645f;
 --blue:#246657; --blue-dark:#194c40; --blue-soft:#e9f0e7;
 --accent:#a74d31; --accent-dark:#873b25;
 --bg:#faf8f3; --bg-alt:#f0f3ec; --line:#dce2d9; --line-strong:#929f96;
 --badge-bg:#e9f0e7; --badge-ink:#245546;
 --radius-sm:8px; --radius:12px; --radius-lg:20px;
 --shadow:0 4px 24px rgba(24,45,42,.055); --container:1240px;
 --space-section:clamp(3.25rem,6vw,5.5rem);
}
body { background:var(--bg); }
h1,h2,h3,h4 { font-weight:650; letter-spacing:-.035em; line-height:1.16; }
a { transition:color .15s; }
button,input,select,textarea { accent-color:var(--blue); }
.ui-icon { width:24px; height:24px; flex:none; }
.eyebrow { font-size:.75rem; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); font-weight:700; margin-bottom:1rem; }
.btn { min-height:52px; padding:.85rem 1.35rem; font-weight:650; border-radius:10px; }
.btn .ui-icon { width:20px; height:20px; }
.btn--accent { background:var(--blue); }
.btn--accent:hover { background:var(--blue-dark); }
.btn--ghost { color:var(--blue); border:1px solid var(--blue); background:transparent; }
.btn--ghost:hover { background:var(--blue-soft); }
.site-header { background:#fffefa; border-bottom:1px solid rgba(24,45,42,.08); }
.site-header__inner { min-height:92px; gap:1.25rem; }
.brand { font-weight:750; font-size:1.35rem; letter-spacing:-.04em; gap:.45rem; }
.brand__mark { width:36px; height:36px; }
.brand__tld { color:inherit; }
.nav { gap:1.5rem; }
.nav__list { gap:1.25rem; }
.nav__list a { font-size:.9375rem; }
.nav__login { font-weight:600; }
.nav__help { min-height:44px; font-size:.875rem; padding:.6rem .85rem; }
.nav-toggle { border:0; }
.hero { background:var(--bg); padding-block:clamp(2rem,5vw,4rem); }
.hero__grid { gap:2.5rem; }
.hero__title { max-width:16ch; font-size:clamp(2.35rem,4.1vw,3.6rem); font-weight:650; line-height:1.08; letter-spacing:-.045em; }
.hero__lead { margin-top:1.25rem; font-size:1.1875rem; line-height:1.6; max-width:33rem; }
.hero__content { min-width:0; position:relative; z-index:2; }
.hero__visual { position:relative; padding-bottom:0; }
.hero .photo--hero { aspect-ratio:1.07; border-radius:22px; box-shadow:none; }
.hero .photo--hero img { object-position:center; }
.hero__reassurance { position:absolute; bottom:1.15rem; right:1rem; display:flex; align-items:center; gap:.5rem; font-size:.8125rem; font-weight:600; padding:.65rem .9rem; background:#fffefa; color:var(--navy); border-radius:10px; box-shadow:var(--shadow); }
.hero__reassurance .ui-icon { width:19px; height:19px; color:var(--accent); }
.hero-search { margin-top:1.75rem; }
.hero-search__bar { border:1px solid var(--line); border-radius:14px; padding:.75rem; box-shadow:var(--shadow); gap:.75rem; }
.hero-search__field { padding:0; min-width:0; }
.hero-search__field label { font-size:.8125rem; margin-bottom:.4rem; }
.hero-search__input { display:flex; align-items:center; gap:.5rem; padding:.3rem .6rem; border:1px solid var(--line-strong); border-radius:8px; }
.hero-search__input .ui-icon { width:20px; height:20px; color:var(--blue); }
.hero-search__field input { font-size:.9375rem; min-width:0; min-height:34px; }
.hero-search__field:focus-within { box-shadow:none; }
.hero-search__input:focus-within { outline:3px solid var(--focus); outline-offset:2px; }
.hero-search__submit { min-height:48px; font-size:1rem; white-space:nowrap; }
.hero__help { margin-top:.8rem; }
.hero__help a { font-size:.9375rem; text-decoration:underline; font-weight:600; }
.hero__note { font-size:.8125rem; color:var(--muted); margin-top:.25rem; }
.trust-strip { background:#fffefa; border-block:1px solid var(--line); }
.trust-strip__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:1.15rem; }
.trust-strip li { display:flex; align-items:center; justify-content:center; gap:.8rem; font-size:.9375rem; color:var(--navy); }
.trust-strip li + li { border-left:1px solid var(--line); }
.trust-strip .ui-icon { color:var(--blue); }
.section__title { font-size:clamp(1.9rem,3vw,2.6rem); font-weight:650; }
.section__lead { color:var(--muted); }
.home-care { background:#fffefa; }
.care-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.care-list__item { position:relative; border:1px solid var(--line); border-radius:16px; padding:1.25rem; display:grid; grid-template-columns:52px minmax(0,1fr) 20px; align-items:start; gap:1rem; background:#fff; transition:border-color .15s,box-shadow .15s; }
.care-list__item:hover { border-color:var(--blue); box-shadow:var(--shadow); }
.care-list__icon { display:grid; place-items:center; border-radius:12px; background:var(--blue-soft); color:var(--blue); width:52px; height:62px; }
.care-list__icon .ui-icon { width:29px; height:29px; }
.care-list__link { font-size:1.125rem; font-weight:650; }
.care-list__link::before { content:''; position:absolute; inset:0; border-radius:16px; }
.care-list__link::after { display:none; }
.care-list__item p { font-size:.9375rem; line-height:1.5; margin-top:.4rem; }
.care-list__arrow { align-self:center; color:var(--blue); }
.care-list__arrow .ui-icon { width:20px; height:20px; }
.home-choice { background:var(--blue-soft); }
.editorial-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.editorial-split .photo { aspect-ratio:1.42; border-radius:20px; }
.editorial-split__content { display:grid; justify-items:start; gap:1.25rem; }
.editorial-split__content .eyebrow { margin:0; }
.editorial-split__content h2 { font-size:clamp(1.9rem,3vw,2.65rem); max-width:20ch; }
.editorial-split__content p:not(.eyebrow) { max-width:36rem; }
.editorial-split--reverse .photo { grid-column:2; grid-row:1; }
.editorial-split--reverse .editorial-split__content { grid-column:1; grid-row:1; }
.home-provider { background:#f4eee5; }
.steps { gap:2rem; }
.steps__item { position:relative; gap:.75rem; }
.steps__item::before { border-radius:12px; width:3rem; height:3rem; background:var(--blue-soft); font-weight:600; }
.steps__title { font-weight:650; font-size:1.25rem; }
.steps__item p { font-size:1.0625rem; max-width:32rem; color:var(--muted); }
.page-head { background:#f0f3ec; padding-block:2rem 2.5rem; border-color:var(--line); }
.page-title { font-weight:650; font-size:clamp(2rem,3.8vw,3rem); max-width:25ch; }
.page-head__grid .page-title { font-size:clamp(2rem,3.7vw,3rem); }
.page-head .photo--mask { border-radius:20px; aspect-ratio:1.45; }
.page-head--media { padding-block:2.5rem; }
.page-lead { color:var(--muted); line-height:1.65; }
.breadcrumbs { font-size:.8125rem; margin-bottom:1.4rem; }
.prose { line-height:1.8; }
.prose h2 { font-weight:650; font-size:1.8rem; }
.prose h3 { font-weight:650; }
.prose .wp-block-button__link { background:var(--blue); border-radius:10px; }
.prose blockquote { background:var(--blue-soft); border-radius:0 12px 12px 0; padding:1.25rem; }
.prose--columns { column-gap:4rem; }
.fin-table { border-top:1px solid var(--line-strong); }
.fin-table__name { font-weight:650; }
.faq-home__list { max-width:none; background:#fffefa; padding:0 1.5rem; border:1px solid var(--line); border-radius:18px; }
.faq-home__item:last-child { border:0; }
.faq-home__item summary { font-weight:600; }
.faq-home__item p { color:var(--muted); }
.faq-home { max-width:960px; }
.link-grid a { color:var(--ink); }
.search-layout { grid-template-columns:minmax(0,1fr); min-width:0; }
.search-layout > *, .results, .results__head, .results__tools { min-width:0; }
.search-bar { padding:1.25rem; border-radius:18px; box-shadow:var(--shadow); }
.search-bar input,.search-bar select { min-width:0; }
.filters { border-radius:18px; padding:1.25rem; background:#fffefa; }
.filters summary,.filters legend { font-weight:650; }
.filters .check { min-height:42px; align-items:center; font-size:.9375rem; }
.results__head { gap:.75rem; }
.results__tools { justify-content:space-between; flex-wrap:wrap; width:100%; }
.results__tools .description { font-size:.875rem; color:var(--muted); flex:1 1 16rem; }
.results__tools .btn { flex:none; }
.results__count { font-weight:650; font-size:1.5rem; }
.results__list { gap:1.1rem; }
.pcard { border-radius:18px; padding:1.5rem; grid-template-columns:64px minmax(0,1fr); box-shadow:0 2px 4px rgba(24,45,42,.015); }
.pcard__title { font-weight:650; line-height:1.4; }
.pcard__head { flex-wrap:wrap; gap:.35rem .75rem; }
.pcard__logo { border-radius:12px; background:var(--blue-soft); }
.pcard__summary { color:var(--muted); margin-top:.35rem; }
.pcard__action { margin-top:.6rem; }
.pcard__action a { position:relative; z-index:1; font-size:.9375rem; }
.badge { border-radius:6px; padding:.3rem .6rem; font-weight:600; }
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.form--inline input { border-radius:10px; min-height:52px; }
.form > input[type=email], .form > input[type=text] { width:100%; min-width:0; min-height:52px; padding:.65rem .85rem; border:1px solid var(--line-strong); border-radius:10px; background:#fff; }
.card-form { border-radius:20px; box-shadow:var(--shadow); }
.card-form h2 { font-size:1.6rem; }
.card-form > p { font-size:1rem; color:var(--muted); }
.container--form { max-width:580px; }
.form--inline { flex-wrap:wrap; }
.form--inline input { flex:1 1 12rem; min-width:0; }
.panel, .infobox, .contact-box, .linkbox { border-radius:18px; }
.account-nav { padding:1rem; border:1px solid var(--line); background:#fffefa; border-radius:18px; }
.wizard { background:#fff; padding:clamp(1.25rem,4vw,2.5rem); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.wizard__progress { position:relative; padding-bottom:1rem; font-size:.875rem; }
.wizard__progress::before,.wizard__progress::after { content:''; position:absolute; bottom:0; left:0; height:5px; border-radius:5px; }
.wizard__progress::before { width:100%; background:var(--line); }
.wizard__progress::after { width:var(--progress,20%); background:var(--blue); transition:width .2s; }
.wizard__question { font-weight:650; }
.option span { border-width:1px; border-radius:12px; padding-block:1.15rem; }
.option input:checked + span { box-shadow:inset 0 0 0 1px var(--blue); }
.article-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.article-card { border-radius:18px; min-width:0; transition:box-shadow .15s,border-color .15s; }
.article-card:hover { border-color:var(--line-strong); box-shadow:var(--shadow); }
.article-card__img { display:block; flex:none; }
.article-card__body { padding:1.5rem; flex:1; align-content:start; gap:.9rem; }
.article-card__label { color:var(--accent) !important; text-transform:uppercase; letter-spacing:.08em; font-size:.6875rem !important; font-weight:700; }
.article-card__title { font-weight:650; font-size:1.4rem; line-height:1.25; }
.article-card__read { align-self:end; margin-top:.5rem; }
.site-footer { background:#e9eee5; padding-top:3.5rem; }
.site-footer__grid { grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; }
.site-footer h2 { font-weight:650; margin-bottom:1rem; }
.site-footer__about p { max-width:23rem; color:var(--muted); }
.site-footer a { color:var(--navy); }
.site-footer__bottom { background:transparent; color:var(--muted); border-top:1px solid #cfd8ca; }
.site-footer__legal a,.site-footer__legal .cookie-settings-link { color:var(--navy); }
.brand--footer { font-size:1.1rem; }
.single-aanbieder .profile-head,.single-aanbieder .profile-panel,.single-aanbieder .profile__aside > .infobox { background:#fffefa; border-radius:20px; }
.single-aanbieder .profile-head { box-shadow:var(--shadow); }
.single-aanbieder .profile-status__verified,.single-aanbieder .profile-status__verified .verified { color:var(--blue); }
.single-aanbieder .profile-contact-card { border-top:3px solid var(--blue); }
.single-aanbieder .profile-nav a { font-size:.9375rem; }
.single-aanbieder .profile-head__logo { background:#fff; }
@media(min-width:960px) {
 .hero__grid { grid-template-columns:1.06fr 1fr; gap:2.75rem; }
 .hero-search__bar { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
}
@media(min-width:1024px) {
 .search-layout { grid-template-columns:260px minmax(0,1fr); }
 .nav__help { display:none; }
}
@media(max-width:1100px) and (min-width:960px) {
 .brand { font-size:1.2rem; }.nav__list { gap:.8rem; }.nav { gap:1rem; }
 .hero-search__bar { grid-template-columns:minmax(0,1fr); }.hero-search__submit { width:100%; }
 .care-list__item { grid-template-columns:40px minmax(0,1fr); gap:.75rem; }.care-list__icon { width:40px; height:52px; }.care-list__arrow { display:none; }
}
@media(max-width:959px) {
 .hero__grid { grid-template-columns:minmax(0,1fr); gap:2rem; }.hero__title { max-width:20ch; font-size:clamp(2.35rem,6vw,3.5rem); }
 .hero .photo--hero { aspect-ratio:1.65; }.hero__lead { max-width:42rem; }
 .hero-search__bar { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
 .care-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .editorial-split { gap:2rem; }.editorial-split__content h2 { font-size:2rem; }
 .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:639px) {
 :root { --gutter:1.25rem; }
 .site-header__inner { min-height:76px; gap:.75rem; }.brand { font-size:1.13rem; gap:.3rem; }.brand__mark { width:30px; height:30px; }.nav-toggle { padding:.6rem .3rem; }.nav-toggle__label { font-size:.875rem; }
 .hero { padding-block:2rem 1.75rem; }.hero__title { font-size:2.4rem; max-width:18ch; line-height:1.1; }.hero__lead { font-size:1.0625rem; }.eyebrow { font-size:.6875rem; }
 .hero-search__bar { grid-template-columns:minmax(0,1fr); padding:.9rem; gap:.75rem; }.hero-search__submit { width:100%; }
 .hero__help a { font-size:.875rem; }.hero__reassurance { font-size:.75rem; bottom:.8rem; right:.8rem; }.hero .photo--hero { aspect-ratio:1.25; border-radius:16px; }
 .trust-strip__list { grid-template-columns:minmax(0,1fr); gap:.9rem; padding-block:1.25rem; }.trust-strip li { justify-content:flex-start; font-size:.875rem; }.trust-strip li+li { border:0; }.trust-strip .ui-icon { width:22px; height:22px; }
 .section__title { font-size:1.95rem; }.care-list { grid-template-columns:minmax(0,1fr); gap:.75rem; margin-top:1.5rem; }.care-list__item { padding:1rem; grid-template-columns:48px minmax(0,1fr) 18px; gap:.9rem; }.care-list__icon { width:48px; height:58px; }
 .editorial-split { grid-template-columns:minmax(0,1fr); gap:1.75rem; }.editorial-split--reverse .photo,.editorial-split--reverse .editorial-split__content { grid-column:auto; grid-row:auto; }.editorial-split__content h2 { font-size:2rem; }.editorial-split .photo { aspect-ratio:1.4; border-radius:16px; }
 .steps { grid-template-columns:minmax(0,1fr); gap:1.75rem; }.steps__item { grid-template-columns:42px minmax(0,1fr); column-gap:1rem; }.steps__item::before { grid-row:1/3; width:42px; height:42px; }.steps__item p { grid-column:2; }
 .page-head { padding-block:1.5rem 2rem; }.page-head__grid { gap:1.5rem; }.page-head__grid .page-title { font-size:2.1rem; }.page-title { overflow-wrap:break-word; }
 .search-bar { grid-template-columns:minmax(0,1fr); padding:1rem; }.results__tools { flex-direction:column; align-items:flex-start; }.results__tools .description { flex:auto; }.results__tools .btn { width:100%; }
 .pcard { padding:1.1rem; grid-template-columns:48px minmax(0,1fr); gap:.8rem; }.pcard__logo { width:48px; height:48px; }.pcard__title { font-size:1.15rem; }.pcard__zorg { font-size:.875rem; }.pcard__summary { font-size:.9375rem; }
 .article-grid { grid-template-columns:minmax(0,1fr); }.article-card__body { padding:1.25rem; }.article-card__title { font-size:1.4rem; }
 .faq-home__list { padding-inline:1rem; }.faq-home__item summary { font-size:1.0625rem; }
 .site-footer__grid { gap:2rem 1.25rem; }.site-footer__about { grid-column:1/-1; }.site-footer__brand .brand { font-size:1.2rem; }
 .single-aanbieder .profile-nav { gap:.6rem 1rem; }.single-aanbieder .profile-nav a { font-size:.875rem; }
 .checks-grid,.link-grid { grid-template-columns:minmax(0,1fr); }
}
/* Keep visually hidden filter legends from inheriting a full-width layout. */
.filters legend.screen-reader-text { width:1px; float:none; padding:0; margin:-1px; }
