@font-face{font-family:'SloganTee';src:url('/fonts/SloganTee.woff2') format('woff2'),url('/fonts/SloganTee.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
/* BeachBreak huisstijl voor blog-/artikel-/archiefpagina's (twentytwentyfive) */
:root{
  --bb-sand:#faf6ed; --bb-sand-2:#f1ece0; --bb-text:#25352c;
  --bb-green-dark:#3d5a4c; --bb-green:#4d7060; --bb-green-soft:#6b8d7a; --bb-green-light:#a8c0b0;
  --bb-orange:#e3a134; --bb-yellow:#f4c542;
  --bb-font:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --bb-display:'Archivo Black','Archivo',system-ui,sans-serif;
  --bb-radius:22px;
}

/* ---- Basis ---- */
body.wp-theme-twentytwentyfive{
  background:var(--bb-sand) !important;
  color:var(--bb-text);
  font-family:var(--bb-font) !important;
  -webkit-font-smoothing:antialiased;
}
.wp-theme-twentytwentyfive .wp-site-blocks{background:var(--bb-sand);}
body.wp-theme-twentytwentyfive p,
body.wp-theme-twentytwentyfive li{font-family:var(--bb-font);}

/* ---- Header ---- */
.wp-theme-twentytwentyfive header.wp-block-template-part{
  background:rgba(250,246,237,.97);
  border-bottom:1px solid rgba(61,90,76,.12);
  backdrop-filter:saturate(1.1) blur(4px);
}
.wp-theme-twentytwentyfive .wp-block-site-title,
.wp-theme-twentytwentyfive .wp-block-site-title a{
  font-family:var(--bb-display) !important;
  color:var(--bb-green-dark) !important;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.01em;
  font-size:clamp(1.05rem,2vw,1.35rem);
}
.wp-theme-twentytwentyfive .wp-block-navigation a{color:var(--bb-green-dark);font-weight:600;}
.wp-theme-twentytwentyfive .wp-block-navigation a:hover{color:var(--bb-orange);}

/* ---- Koppen ---- */
body.wp-theme-twentytwentyfive h1,
body.wp-theme-twentytwentyfive h2,
body.wp-theme-twentytwentyfive h3,
body.wp-theme-twentytwentyfive h4,
.wp-theme-twentytwentyfive .wp-block-post-title{
  font-family:var(--bb-display) !important;
  color:var(--bb-green-dark) !important;
  letter-spacing:-.01em;
  line-height:1.06;
}
.wp-theme-twentytwentyfive .wp-block-post-title{
  text-transform:uppercase;
  font-size:clamp(2rem,5vw,3.3rem);
  margin-bottom:.6rem;
}
/* koppen binnen artikel iets kleiner + ruimte */
.wp-theme-twentytwentyfive .entry-content h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-top:2.2rem;text-transform:uppercase;}
.wp-theme-twentytwentyfive .entry-content h3{font-size:1.25rem;margin-top:1.6rem;}

/* ---- Bodytekst + links ---- */
.wp-theme-twentytwentyfive .entry-content,
.wp-theme-twentytwentyfive .wp-block-post-content{
  font-size:1.08rem; line-height:1.72; color:var(--bb-text);
}
.wp-theme-twentytwentyfive .entry-content a,
.wp-theme-twentytwentyfive .wp-block-post-content a{
  color:var(--bb-green); text-underline-offset:3px; text-decoration-thickness:1.5px;
}
.wp-theme-twentytwentyfive .entry-content a:hover,
.wp-theme-twentytwentyfive .wp-block-post-content a:hover{color:var(--bb-orange);}

/* ---- Uitgelichte afbeelding ---- */
.wp-theme-twentytwentyfive .wp-block-post-featured-image img{
  border-radius:var(--bb-radius);
  box-shadow:0 18px 44px rgba(37,53,44,.20);
}

/* ---- Meta (datum, categorie, auteur) ---- */
.wp-theme-twentytwentyfive .wp-block-post-date,
.wp-theme-twentytwentyfive .wp-block-post-date a,
.wp-theme-twentytwentyfive .wp-block-post-author,
.wp-theme-twentytwentyfive .wp-block-post-terms,
.wp-theme-twentytwentyfive .wp-block-post-terms a{
  color:var(--bb-green-soft) !important;
  font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  text-decoration:none;
}

/* ---- Blog-index kaarten (query loop) ---- */
.wp-theme-twentytwentyfive .wp-block-post-template li,
.wp-theme-twentytwentyfive .wp-block-query .wp-block-post{
  background:#fff; border-radius:var(--bb-radius); padding:1.4rem;
  border:1px solid rgba(61,90,76,.10); box-shadow:0 10px 30px rgba(37,53,44,.08);
}
.wp-theme-twentytwentyfive .wp-block-post-template img{border-radius:14px;}

/* ---- Knoppen ---- */
.wp-theme-twentytwentyfive .wp-block-button__link,
.wp-theme-twentytwentyfive .wp-block-read-more{
  background:var(--bb-green-dark) !important; color:#fff !important;
  border-radius:999px !important; padding:.7rem 1.4rem; font-weight:700;
  text-decoration:none;
}
.wp-theme-twentytwentyfive .wp-block-button__link:hover{background:var(--bb-yellow) !important;color:var(--bb-text) !important;}

/* ---- Footer ---- */
.wp-theme-twentytwentyfive footer.wp-block-template-part{
  background:var(--bb-green-dark) !important; color:#dbe6df;
}
.wp-theme-twentytwentyfive footer.wp-block-template-part a{color:#dbe6df;}
.wp-theme-twentytwentyfive footer.wp-block-template-part a:hover{color:var(--bb-yellow);}

/* ===== Header: logo i.p.v. tekst-titel + sticky ===== */
.wp-theme-twentytwentyfive header.wp-block-template-part{position:sticky;top:0;z-index:100;}
.wp-theme-twentytwentyfive .wp-block-site-title{font-size:0 !important;line-height:0;}
.wp-theme-twentytwentyfive .wp-block-site-title a{
  display:inline-block;width:64px;height:64px;overflow:hidden;text-indent:-9999px;white-space:nowrap;
  background:url('/brand-logo.png?v=2') center/contain no-repeat;
}

/* ===== Boxed artikel + sticky inhoudsopgave ===== */
.bb-layout{display:flex;gap:2rem;max-width:1180px;margin:2.5rem auto 3.5rem;
  padding:0 clamp(1rem,3vw,2rem);align-items:flex-start;}
.wp-theme-twentytwentyfive main#wp--skip-link--target{
  max-width:1040px;margin:2.5rem auto 3rem;background:#fff;
  border-radius:var(--bb-radius);padding:clamp(1.4rem,4vw,3rem);
  box-shadow:0 20px 60px rgba(37,53,44,.12);border:1px solid rgba(61,90,76,.08);}
/* binnen de artikel-layout vult main de kolom naast de inhoudsopgave */
.bb-layout main#wp--skip-link--target{flex:1;min-width:0;max-width:none;margin:0 !important;}
/* afbeeldingen/blokken netjes binnen de box houden */
.wp-theme-twentytwentyfive main#wp--skip-link--target .alignfull,
.wp-theme-twentytwentyfive main#wp--skip-link--target .alignwide{
  margin-left:0 !important;margin-right:0 !important;max-width:100% !important;width:100% !important;}
.wp-theme-twentytwentyfive .entry-content h2{scroll-margin-top:96px;}

.bb-toc{width:250px;flex-shrink:0;position:sticky;top:96px;background:#fff;
  border-radius:18px;padding:1.2rem 1.3rem;box-shadow:0 10px 30px rgba(37,53,44,.08);
  border:1px solid rgba(61,90,76,.10);}
.bb-toc__title{font-family:var(--bb-display);text-transform:uppercase;font-size:.85rem;
  color:var(--bb-green-dark);margin:0 0 .7rem;letter-spacing:.03em;}
.bb-toc ul{list-style:none;margin:0;padding:0;}
.bb-toc li{margin:.1rem 0;}
.bb-toc a{display:block;padding:.35rem .55rem;border-radius:8px;color:var(--bb-green);
  text-decoration:none;font-size:.9rem;line-height:1.3;border-left:2px solid transparent;transition:background .15s ease,color .15s ease;}
.bb-toc a:hover{background:var(--bb-sand-2);color:var(--bb-green-dark);}
.bb-toc a.is-active{color:var(--bb-green-dark);border-left-color:var(--bb-orange);
  background:var(--bb-sand-2);font-weight:600;}

@media(max-width:900px){
  .bb-layout{flex-direction:column;gap:1.2rem;}
  .bb-toc{position:static;top:auto;width:auto;order:-1;}
}

html:has(body.wp-theme-twentytwentyfive){scroll-behavior:smooth;}

/* ===== Artikel: inhoud vult de box + afbeelding als banner bovenaan ===== */
.wp-theme-twentytwentyfive main#wp--skip-link--target{
  display:flex;flex-direction:column;overflow:hidden;
  --bb-pad:clamp(1.4rem,4vw,3rem);padding:var(--bb-pad) !important;}
/* alle blokken vullen de boxbreedte (thema-constraint opheffen) */
.wp-theme-twentytwentyfive main#wp--skip-link--target > *,
.wp-theme-twentytwentyfive .entry-content > *,
.wp-theme-twentytwentyfive .wp-block-post-title{
  max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
/* uitgelichte afbeelding: full-width banner, boven de titel, los van de tekst */
.wp-theme-twentytwentyfive main#wp--skip-link--target .wp-block-post-featured-image{
  width:auto !important;max-width:none !important;border-radius:0 !important;
  margin:calc(-1 * var(--bb-pad)) calc(-1 * var(--bb-pad)) var(--bb-pad) !important;}
.wp-theme-twentytwentyfive main#wp--skip-link--target .wp-block-post-featured-image img{
  width:100%;height:auto;display:block;border-radius:0;box-shadow:none;
  max-height:440px;object-fit:cover;}

/* Witruimte tussen banner en titel weghalen (themapadding op de titelgroep) */
.wp-theme-twentytwentyfive main#wp--skip-link--target .wp-block-post-featured-image + *{
  padding-top:0 !important;margin-top:0 !important;}

/* Consistente bodytekst met de homepage: Archivo 400 (thema stond op 300) */
.wp-theme-twentytwentyfive .entry-content,
.wp-theme-twentytwentyfive .wp-block-post-content,
.wp-theme-twentytwentyfive .entry-content p,
.wp-theme-twentytwentyfive .entry-content li,
.wp-theme-twentytwentyfive .bb-toc a{font-weight:400 !important;}

/* Custom font (SloganTee) alleen op h1 + h2 (uppercase) */
body.wp-theme-twentytwentyfive h1,body.wp-theme-twentytwentyfive h2,.wp-theme-twentytwentyfive .wp-block-post-title{font-family:'SloganTee','Archivo Black','Archivo',system-ui,sans-serif !important;text-transform:uppercase;letter-spacing:.06em;}

/* ===== Blog-index: kaarten in een net grid (overzichtelijk) ===== */
body.blog main#wp--skip-link--target{
  display:block !important;background:transparent !important;box-shadow:none !important;
  border:0 !important;padding:0 !important;overflow:visible !important;
  max-width:1140px;margin:2rem auto 3.5rem !important;}
body.blog main#wp--skip-link--target > *{padding:0 clamp(1rem,3vw,1.5rem);}
body.blog .wp-block-post-template{
  display:grid !important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.6rem !important;margin:1.4rem 0 0 !important;list-style:none;}
body.blog .wp-block-post-template > li{
  background:#fff;border-radius:var(--bb-radius);overflow:hidden;padding:0 !important;
  border:1px solid rgba(61,90,76,.10);box-shadow:0 10px 30px rgba(37,53,44,.08);
  display:flex;flex-direction:column;}
body.blog .wp-block-post-featured-image{margin:0 !important;border-radius:0 !important;}
body.blog .wp-block-post-featured-image img{
  width:100%;height:180px;object-fit:cover;border-radius:0 !important;max-height:none !important;display:block;}
body.blog .wp-block-post-template > li > :not(.wp-block-post-featured-image){
  padding-left:1.2rem;padding-right:1.2rem;}
body.blog .wp-block-post-title{font-size:1.15rem !important;margin:.9rem 0 .4rem !important;}
body.blog .wp-block-post-date,body.blog .wp-block-post-terms{font-size:.75rem;}
body.blog .wp-block-post-excerpt{margin:.3rem 0 1.2rem !important;}
@media(max-width:640px){body.blog .wp-block-post-template{grid-template-columns:1fr;}}

/* ===== Losse blogpost: strakker & stijlvol, geen reacties ===== */
/* byline "Geschreven door in ..." verbergen */
body.single .wp-block-post-title + .wp-block-group{display:none !important;}
/* reacties volledig weg */
body.single .wp-block-comments,body.single .comment-respond,body.single #respond,
body.single .wp-block-post-comments-form,body.single .wp-block-comments-title,
body.single .comments-title,body.single .wp-block-latest-comments{display:none !important;}
/* banner strak tegen de titel */
body.single .wp-block-post-featured-image{line-height:0;margin-bottom:1.4rem !important;}
body.single .wp-block-post-featured-image img{display:block;}
/* titel iets meer lucht eronder */
body.single .wp-block-post-title{margin-bottom:1.2rem !important;}
/* post-navigatie netjes */
body.single .wp-block-post-navigation-link{font-weight:600;}

/* ===== Losse post: minder padding, strakke banner, geen 'meer berichten' ===== */
body.single main#wp--skip-link--target{--bb-pad:clamp(1.1rem,2.5vw,2rem) !important;}
/* banner exact even hoog als de foto (thema-aspect-ratio eraf) */
body.single main#wp--skip-link--target .wp-block-post-featured-image{
  aspect-ratio:auto !important;height:320px !important;overflow:hidden;line-height:0;
  margin:calc(-1 * var(--bb-pad)) calc(-1 * var(--bb-pad)) 1.4rem !important;}
body.single main#wp--skip-link--target .wp-block-post-featured-image img{
  width:100% !important;height:100% !important;max-height:none !important;object-fit:cover !important;display:block;}
/* geen 'meer berichten' / vorige-volgende onderaan */
body.single .wp-block-post-navigation-link,
body.single .wp-block-query,
body.single .wp-block-query-pagination,
body.single .wp-block-post-navigation-link + *{display:none !important;}

/* hele 'Meer berichten'-sectie (kop + query) weg op losse posts */
body.single main .wp-block-group:has(.wp-block-query){display:none !important;}

/* body lijnt uit met de H1 (extra global-padding eraf) */
body.single .entry-content.has-global-padding,
body.single .wp-block-post-content{padding-left:0 !important;padding-right:0 !important;}
/* lege reactie-/navigatiegroepen na de tekst weg (witruimte + dunne lijn onderaan) */
body.single .wp-block-post-content ~ .wp-block-group{display:none !important;}

/* strakke onderkant: extra padding onder de tekst eraf */
body.single main#wp--skip-link--target > .wp-block-group{padding-bottom:0 !important;}
body.single .wp-block-post-content{margin-bottom:0 !important;}

/* Geen vierkante focus-rand bij muisklik; wél bij toetsenbord (a11y). Formuliervelden houden hun eigen focus. */
a:focus:not(:focus-visible),button:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible),summary:focus:not(:focus-visible),.ctab:focus:not(:focus-visible),.faq__q:focus:not(:focus-visible){outline:none !important;box-shadow:none !important;}

/* ===== Zijbalk: inhoudsopgave + specialist samen sticky ===== */
.bb-side{width:270px;flex-shrink:0;position:sticky;top:96px;display:flex;flex-direction:column;gap:1.2rem;}
.bb-toc{position:static !important;top:auto !important;width:auto !important;}
/* ===== Specialist-kaart (zoals beachbreak.nl) ===== */
.bb-specialist{background:var(--bb-green-dark);color:#e7efe9;border-radius:18px;padding:1.3rem 1.4rem;box-shadow:0 10px 30px rgba(37,53,44,.14);}
.bb-specialist__eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--bb-yellow);margin:0 0 .9rem;}
.bb-specialist__person{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;}
.bb-specialist__avatar{width:52px;height:52px;border-radius:50%;flex-shrink:0;background:#e7efe9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233d5a4c'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E") center/62% no-repeat;}
.bb-specialist__name{display:block;font-family:var(--bb-display);text-transform:uppercase;letter-spacing:.04em;font-size:1rem;color:#fff;line-height:1.1;}
.bb-specialist__role{display:block;font-size:.82rem;color:#a8c0b0;margin-top:.15rem;}
.bb-specialist__quote{font-size:.92rem;line-height:1.5;margin:0 0 1rem;color:#e7efe9;}
.bb-specialist__contact{display:flex;flex-direction:column;gap:.35rem;}
.bb-specialist__contact a{color:#fff !important;font-weight:600;font-size:.9rem;text-decoration:none;}
.bb-specialist__contact a:hover{color:var(--bb-yellow) !important;}
@media(max-width:900px){.bb-side{position:static;top:auto;width:auto;}}
/* ===== Uniforme ruimte rondom de tekst (links/rechts = boven/onder) ===== */
body.single main#wp--skip-link--target{--bb-pad:clamp(1.4rem,3vw,2.2rem) !important;}
body.single main#wp--skip-link--target .wp-block-post-featured-image{margin-bottom:var(--bb-pad) !important;}
body.single .entry-content > *,body.single .wp-block-post-content > *{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}

/* tekst vult de box: thema content-size cap eraf → L/R = boven/onder */
body.single .entry-content,body.single .wp-block-post-content{--wp--style--global--content-size:100% !important;--wp--style--global--wide-size:100% !important;}

/* content-size cap op box-niveau opheffen → tekst vult de box (L/R = boven/onder) */
body.single main#wp--skip-link--target{--wp--style--global--content-size:100% !important;--wp--style--global--wide-size:100% !important;}
body.single main#wp--skip-link--target > *{max-width:100% !important;}

/* content-groep: has-global-padding eraf zodat tekst op de box-marge staat (L/R = boven/onder) */
body.single main#wp--skip-link--target > .wp-block-group.has-global-padding{padding-left:0 !important;padding-right:0 !important;}
