/* WordPress adjustments to the approved 247 news layout, 16 October 2026. */
:root{--focus:#f3ad00}
body.admin-bar .topline{margin-top:0}
html{scroll-padding-top:32px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-main{min-height:42vh}
.top-links{display:flex;align-items:center;gap:20px}.top-links a{color:#dce8f5;font-size:12px;text-decoration:none}
.top-links a:hover{color:#fff;text-decoration:underline}
.branding{min-width:0;flex:0 1 420px}.branding .custom-logo-link{display:inline-block;width:min(100%,395px)}.branding .custom-logo{display:block;max-width:100%;width:auto;max-height:90px;height:auto;object-fit:contain}
.branding .logo{display:flex;align-items:flex-start}.branding .logo-sub{align-self:flex-end}
form.search button{border:0;background:none;color:var(--ink);font-size:30px;cursor:pointer;line-height:1;width:35px}form.search input{height:100%}
.nav-inner .m247-wp-nav{display:flex;align-items:center;gap:22px;list-style:none;padding:0;margin:0;min-width:0;flex-wrap:wrap}
.nav-inner .m247-wp-nav>li{position:relative;list-style:none;margin:0;padding:0}
.nav-inner .m247-wp-nav>li>a{display:inline-block}
.nav .current-menu-item>a,.nav .current_page_item>a,.nav .current-menu-ancestor>a{border-bottom-color:var(--yellow)}
.nav-inner .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:40;min-width:210px;list-style:none;margin:0;padding:6px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}
.nav-inner .sub-menu li{list-style:none}.nav-inner .sub-menu a{display:block;border:0;padding:10px 14px}
.nav-inner .m247-wp-nav li:hover>.sub-menu,.nav-inner .m247-wp-nav li:focus-within>.sub-menu{display:block}
.ticker-window{flex:1;min-width:0;overflow:hidden}.ticker-track{display:flex;align-items:center;white-space:nowrap;gap:16px;width:max-content;animation:m247-ticker 95s linear infinite}.ticker-window:hover .ticker-track{animation-play-state:paused}
.ticker-track a{font-size:13px;font-weight:650;color:var(--ink)}.ticker-track span{color:var(--yellow);font-size:8px}
@keyframes m247-ticker{to{transform:translateX(-50%)}}
.hero-main,.hero-mini{border-radius:5px}.hero-main img,.hero-mini img{object-fit:cover;width:100%;height:100%}.hero-grid .hero-main,.hero-grid .hero-mini{min-height:0}
.hero-grid .hero-main h1,.hero-grid .hero-mini h2{color:#fff}.hero-shade .tag{color:#132b40}
.news-placeholder{height:100%;width:100%;display:grid;place-items:center;background:linear-gradient(135deg,#123b61,#48769a);color:#e9f5ff}
.news-placeholder>span{font-family:Georgia,serif;font-size:clamp(19px,2.4vw,40px);font-weight:850;letter-spacing:-.06em}
.news-placeholder>span span{color:var(--yellow)}
.news-pic .news-placeholder,.topic-image .news-placeholder{min-height:150px}
.news-card h3 a:hover,.topic h3 a:hover{color:#126ea3}
.topic .topic-image{display:block;height:205px;overflow:hidden;border-radius:4px}
.topic .topic-image>img{height:100%;width:100%;object-fit:cover}
.topic .topic-image .news-placeholder{height:100%}
.topic-front{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.topic-front .section-heading.compact h2{font-size:24px}.topic-front .section-heading a{font-size:11px}
.towns a:hover{border-color:#99b8d0;color:var(--ink);background:var(--card)}
.sidebar-box .widget{padding:0}.sidebar-box a.rank:hover{text-decoration:underline}
.promo{border-radius:6px}.promo h2{color:#fff}
.footer-logo b{color:var(--yellow)}.footer-widget-area{margin-top:20px}.footer-widget-area .widget{margin-bottom:18px}
.archive-wrap{padding:30px 0 70px}.archive-wrap .section-heading h1{font-size:clamp(31px,3.4vw,48px);margin:0 0 14px}
.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.archive-description{font-size:16px;margin-bottom:22px;color:var(--muted)}
.navigation.pagination{margin:35px 0}.nav-links{display:flex;flex-wrap:wrap;gap:9px}.page-numbers{padding:7px 12px;border:1px solid var(--line);border-radius:5px}.page-numbers.current{background:var(--navy);color:#fff}
.story-kicker{font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#bc8305}
.story-featured img{width:100%;height:auto;max-height:510px;object-fit:cover}.story-featured-player{margin:12px 0 25px}.story-featured-player iframe{width:100%;min-height:420px;max-width:100%;border:0}.story-featured-player audio,.story-featured-player video{width:100%}
.story-content{overflow-wrap:anywhere}.story-content>*{max-width:100%}.story-content p{margin:0 0 1.3em}.story-content h2{font-size:29px}.story-content h3{font-size:24px;margin:26px 0 10px}
.story-content a{text-decoration:underline;text-underline-offset:3px}.story-content img{height:auto}.story-content .wp-block-image img{height:auto}.story-content .wp-block-embed iframe{max-width:100%}
.story-content table{width:100%;border-collapse:collapse}.story-content td,.story-content th{padding:9px;border:1px solid var(--line)}
.story-content figure{margin:0 0 22px}.story-content figcaption{font:12px/1.4 Arial,sans-serif;color:var(--muted)}
.story-content .wp-block-quote{border-left:4px solid var(--yellow);padding:10px 15px;background:var(--panel)}
.byline a{text-decoration:underline;text-decoration-color:#cbd7df;text-underline-offset:3px}
.tags a{font-size:12px;background:var(--panel);border-radius:100px;padding:5px 11px;color:var(--ink)}.tags a:hover{background:var(--line)}
.share-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:20px 0 35px}.share-strip>strong{display:block;font:700 22px Georgia,serif;margin-bottom:11px}
.share-links{display:flex;flex-wrap:wrap;gap:8px}.share-links a,.share-links button{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 13px;border-radius:30px;font:700 12px Arial}
.share-links a:hover,.share-links button:hover{border-color:#9db4c6}
.simple-page{max-width:1000px}.simple-page>.story{width:100%}.simple-page .story h1{margin-bottom:22px}
.agenda-page{padding-top:22px}.agenda-events .event{max-width:none}.event-meta{display:flex;flex-wrap:wrap;gap:10px;background:var(--panel);padding:18px;margin:10px 0 25px}
.not-found{padding:80px 0;min-height:62vh;max-width:650px}.not-found h1{font-size:44px}.not-found .search-standalone{margin-top:22px}
.comments-area{border-top:1px solid var(--line);padding-top:20px;margin:30px 0}.comments-area h2{font-size:25px}.comment-list{margin:15px 0;padding-left:25px}.comment-body{padding:18px 0;border-bottom:1px solid var(--line)}.comment-form input:not([type=submit]),.comment-form textarea{display:block;width:100%;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--card);color:var(--ink)}.comment-form input[type=submit]{background:var(--navy);color:white;border:none;padding:11px 22px;cursor:pointer}
html[data-theme-mode=dark] .hero-shade .tag{color:#152838}
html[data-theme-mode=dark] form.search button{color:var(--ink)}
html[data-theme-mode=dark] .ticker-track a{color:var(--ink)}
html[data-theme-mode=dark] .datebox{background:#203a4e;color:#eff5fc}
html[data-theme-mode=dark] .nav .current-menu-item>a{color:var(--yellow)}
html[data-theme-mode=dark] .share-links a:hover{color:#fff}

/* 1.0.3: De zijbalk volgt de scrollpositie uitsluitend naast volledige artikelen.
   Sticky blijft binnen de artikelkolom, zodat de footer nooit wordt overlapt.
   Het script past de top-offset aan als de widgets hoger zijn dan het scherm. */
@media (min-width: 851px) {
  .article-layout > .article-sidebar {
    position: sticky;
    top: var(--m247-sidebar-sticky-top, 24px);
    align-self: start;
  }
}

@media(max-width:1120px){.topic-front{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-inner .m247-wp-nav{gap:11px}}
@media(max-width:850px){.top-links{display:none}.branding .custom-logo{max-height:75px}.nav-inner .m247-wp-nav{flex-wrap:nowrap}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-front{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.branding{flex:1;min-width:0}.branding .custom-logo{max-width:210px;max-height:64px}.header{gap:8px}.head-actions{flex-shrink:0}.tip-btn{display:none}.topflex{min-height:31px;height:auto;padding-block:5px}.nav.open .m247-wp-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.nav.open .m247-wp-nav>li>a{display:block;padding:11px 0}.nav-inner .sub-menu{display:block;position:static;box-shadow:none;border:0;padding-left:16px}.nav-inner .sub-menu a{padding:6px 0}.hero-grid{margin-top:8px}.hero-side .hero-mini .hero-shade h2{font-size:17px}.hero-main{height:350px}.news-grid.archive-grid{grid-template-columns:1fr}.topic-front{grid-template-columns:1fr 1fr}.topic-front .topic:nth-child(n+3){display:block}.topic .topic-image{height:140px}.story-featured-player iframe{min-height:220px}.archive-wrap{padding-top:20px}.archive-wrap .section-heading h1{font-size:28px}.topline span{line-height:1.3}.search-standalone{display:flex!important;position:static!important;width:min(100%,420px)!important;height:43px!important;margin:15px 0}.footer .footer-grid{gap:19px}}
@media(max-width:400px){.news-grid{grid-template-columns:1fr 1fr}.news-pic{height:116px}.head-actions .icon-button{min-width:35px;height:37px}.branding .custom-logo{max-width:175px}.towns{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-window{overflow-x:auto}}
@media print{.topline,.head-actions,.nav,.ticker,.sidebar,.footer,.share-strip,.related,.comments-area,.promo{display:none!important}.wrap{padding:0!important;max-width:100%!important}.article-layout{display:block}.story-content{max-width:100%}body{background:#fff!important;color:#111!important}.story figure img{max-height:250px;object-fit:contain}.story>h1{font-size:32px}}


/* 1.0.4: gemeenteraadsnieuws onder de hoofdvisual, alleen in de hoofdcontentkolom. */
.council-section{background:#e8e8e8;padding:18px 17px 19px;margin-bottom:32px;min-width:0}
.council-heading{border-bottom:3px solid #1769df;margin-bottom:15px}
.council-heading h2{display:inline-block;background:#1769df;color:#fff;margin:0;font:800 15px/1.3 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.01em;padding:10px 13px}
.council-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.council-card{display:block;position:relative;isolation:isolate;overflow:hidden;min-width:0;height:255px;background:#24384e;border-radius:2px;color:#fff}
.council-card>img,.council-card>.news-placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.council-card>.news-placeholder{display:grid;place-items:center}
.council-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:14px 12px 12px;color:white;background:linear-gradient(to bottom,rgba(0,0,0,.02) 18%,rgba(0,0,0,.22) 43%,rgba(0,0,0,.87) 100%)}
.council-category{display:inline-block;padding:5px 7px;background:#1769df;color:#fff;font:700 11px/1.15 Arial,Helvetica,sans-serif}
.council-card h3{margin:0;color:#fff;font:700 16px/1.24 Arial,Helvetica,sans-serif;letter-spacing:-.01em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;overflow-wrap:anywhere}
.council-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#e4e9ee;font:12px/1.2 Arial,Helvetica,sans-serif}
.council-date,.council-comments{display:inline-flex;align-items:center;gap:4px}
.council-meta svg{width:14px;height:14px;flex:none}
.council-card:hover{color:#fff}
.council-card:hover>img{transform:scale(1.05)}
.council-card:focus-visible{outline:3px solid #1769df;outline-offset:3px}
html[data-theme-mode=dark] .council-section{background:#18334a}
@media(max-width:1150px){.council-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.council-card{height:235px}}
@media(max-width:520px){.council-section{padding:12px}.council-heading h2{font-size:12px}.council-grid{grid-template-columns:1fr}.council-card{height:225px}.council-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.council-card>img{transition:none}}

/* 1.0.5: The Events Calendar with Medemblik247 article sidebar. */
.m247-events-page{padding-top:20px;padding-bottom:45px}
.m247-events-layout{align-items:start}
.m247-events-main{min-width:0;width:100%}
.m247-events-main #tribe-events-pg-template{box-sizing:border-box;max-width:none;width:100%;padding:0}
.m247-events-main .tribe-common{max-width:100%}
.m247-events-layout>.article-sidebar{min-width:0}
@media(max-width:850px){.m247-events-layout{grid-template-columns:minmax(0,1fr)} }
@media(max-width:620px){.m247-events-main .tribe-events-view{min-width:0} }


/* 1.0.8: De header gebruikt exact dezelfde 1430px .wrap als de inhoud.
   Zo kunnen een vaste 730x95-advertentie en de zoekknop geen
   horizontale verschuiving of een te breed logo veroorzaken. */
.header.m247-header--ad{
  width:100%;
  max-width:1430px;
  min-height:124px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,730px) max-content;
  align-items:center;
  column-gap:16px;
  padding-top:12px;
  padding-bottom:12px;
}
.m247-header--ad .branding{
  width:100%;
  max-width:320px;
  min-width:0;
  flex:none;
}
.m247-header--ad .branding .custom-logo-link{display:block;max-width:100%}
.m247-header--ad .branding .custom-logo{max-width:100%;width:auto;height:auto;max-height:90px}
.m247-header--ad .head-actions{
  min-width:0;
  justify-self:end;
  flex-wrap:nowrap;
}
.m247-header--ad .header-ad-slot{
  width:730px;
  height:95px;
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  overflow:hidden;
  text-align:center;
}
.header-ad-slot .widget,
.header-ad-slot .header-ad-widget{
  border:0;
  background:transparent;
  margin:0;
  padding:0;
  max-width:100%;
  box-shadow:none;
}
.header-ad-slot img,.header-ad-slot iframe,.header-ad-slot video{
  display:block;
  max-width:100%;
  max-height:95px;
  height:auto;
  object-fit:contain;
}
.header-ad-slot iframe{height:95px}
.header-ad-slot p{margin:0}
/* Als drie elementen niet meer comfortabel op een rij passen,
   gaat de advertentie gecentreerd naar de tweede rij. */
@media (min-width:781px) and (max-width:1359px){
  .header.m247-header--ad{
    grid-template-columns:minmax(0,1fr) max-content;
    column-gap:16px;
    row-gap:7px;
    min-height:0;
  }
  .m247-header--ad .branding{grid-column:1;grid-row:1}
  .m247-header--ad .head-actions{grid-column:2;grid-row:1}
  .m247-header--ad .header-ad-slot{grid-column:1/-1;grid-row:2}
}
/* De 730px desktopbanner is niet bedoeld voor een telefoon. */
@media (max-width:780px){
  .header.m247-header--ad{display:flex;min-height:95px;gap:10px}
  .m247-header--ad .branding{flex:1 1 auto}
  .m247-header--ad .header-ad-slot{display:none}
}
@media (max-width:620px){
  .header.m247-header--ad{min-height:80px;gap:8px}
}
@media print{.header-ad-slot{display:none!important}}

/* 1.0.7: Compacte zoekknop in plaats van breed zoekveld. */
.head-actions .m247-search-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;padding:0;cursor:pointer}
.m247-search-overlay[hidden]{display:none!important}
.m247-search-overlay{position:fixed;inset:0;z-index:100000;display:grid;align-items:start;justify-items:center;padding:clamp(70px,14vh,175px) 18px 25px;overflow-y:auto}
.m247-search-backdrop{position:fixed;inset:0;background:rgba(5,24,42,.77);cursor:pointer}
.m247-search-dialog{position:relative;z-index:1;width:min(100%,690px);padding:36px 34px 42px;background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.32)}
.m247-search-dialog h2{font:700 clamp(25px,3vw,35px) Georgia,serif;margin:0 45px 23px 0}
.m247-search-dialog form.search-standalone{display:flex!important;position:static!important;width:100%!important;height:56px!important;margin:0!important;padding:0 12px 0 16px}
.m247-search-dialog .search-standalone input{font-size:18px;min-width:0}
.m247-search-close{position:absolute;top:13px;right:17px;border:0;background:transparent;color:var(--ink);font-size:35px;line-height:1.2;cursor:pointer}
body.m247-search-open{overflow:hidden}
@media(max-width:620px){.m247-search-dialog{padding:28px 20px 32px}.m247-search-dialog form.search-standalone{height:50px!important}}

/* Artikelen: minder lege ruimte tussen tekst en widgets, met responsive media. */
.article-layout{gap:24px}
.article-layout>.story{min-width:0}
.story-content{max-width:100%;width:100%}
.story-featured img{max-height:510px;object-fit:cover}
.story-featured-player{width:100%;margin:12px 0 25px}
.story-featured-player .wp-block-embed,.story-featured-player .wp-block-video,.story-featured-player .wp-block-audio{max-width:100%;margin:0}
.story-featured-player .wp-block-embed__wrapper{position:relative}
.story-featured-player iframe{display:block;max-width:100%;width:100%;min-height:0;aspect-ratio:16/9;height:auto;border:0}
.story-featured-player iframe[src*="open.spotify.com"]{height:232px;aspect-ratio:auto}
.story-featured-player iframe[src*="soundcloud.com"],.story-featured-player iframe[src*="mixcloud.com"]{height:190px;aspect-ratio:auto}
.story-featured-player video{display:block;height:auto;max-height:620px;width:100%}
.story-featured-player audio{width:100%}
.story-featured-player .wp-video,.story-featured-player .mejs-container{max-width:100%!important}
.m247-media-link{border:1px solid var(--line);background:var(--panel);padding:25px;font-weight:700}
.m247-media-link a{color:#0474af;text-decoration:underline}
@media(max-width:850px){.story-featured-player iframe{aspect-ratio:16/9}.article-layout{gap:22px}}
@media print{.m247-search-overlay{display:none!important}}

/* 1.0.9: Explicit light palette shared by Chrome and Firefox.
   Browser system dark mode no longer changes the website without consent. */
html[data-theme-mode="light"]{
  color-scheme:light;
  --navy:#0b2949;
  --ink:#102c4a;
  --muted:#66788d;
  --line:#e2e8ef;
  --yellow:#f5ad06;
  --red:#d91b25;
  --bg:#ffffff;
  --panel:#f5f7fa;
  --card:#ffffff;
  --shadow:0 14px 40px rgba(4,27,49,.12);
}


/* 1.0.10 - Thema-eigen contactformulier, overeenkomstig HBP Media. */
.m247-contact-page{max-width:1060px;margin:0 auto;padding:23px 0 65px}
.m247-contact-head{text-align:center;max-width:850px;margin:35px auto 34px}
.m247-contact-brand{display:flex;justify-content:center;align-items:center;margin:0 auto 24px}
.m247-contact-brand .logo{align-items:center;text-align:center}
.m247-contact-brand .custom-logo-link{display:inline-block}
.m247-contact-brand .custom-logo{display:block;width:auto;max-width:320px;max-height:100px;object-fit:contain;margin:auto}
.m247-contact-eyebrow{display:inline-block;color:#0b74b8;letter-spacing:.18em;font:800 12px Arial,sans-serif;margin-bottom:12px}
.m247-contact-head h1{font-size:clamp(32px,4vw,49px);color:var(--ink);margin:0 0 16px}
.m247-contact-head p{max-width:690px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.7}
.m247-contact-form{max-width:930px;margin:auto;border:1px solid var(--line);background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:35px 44px 40px}
.m247-contact-section{padding-bottom:31px;border-bottom:1px solid var(--line);margin-bottom:31px}
.m247-contact-step{display:flex;align-items:flex-start;gap:20px;margin-bottom:23px}
.m247-contact-step>span{flex:0 0 53px;height:53px;display:flex;align-items:center;justify-content:center;background:#0b2949;color:#fff;border-radius:11px;font:800 18px Arial,sans-serif}
.m247-contact-step h2{font-size:27px;margin:0 0 7px}
.m247-contact-step p{margin:0;color:var(--muted);font-size:14px}
.m247-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 23px}
.m247-contact-fields>div{min-width:0}
.m247-contact-fields label,.m247-contact-security label{display:block;color:var(--ink);font:700 14px Arial,sans-serif;margin:0 0 9px}
.m247-contact-fields label span{color:#d12732}
.m247-contact-form input:not([type=hidden]),.m247-contact-form textarea{box-sizing:border-box;width:100%;max-width:100%;font:16px Arial,sans-serif;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:13px 14px;min-height:49px;box-shadow:none;outline:none}
.m247-contact-form textarea{resize:vertical;line-height:1.55;min-height:175px}
.m247-contact-form input:focus-visible,.m247-contact-form textarea:focus-visible{border-color:#147bb8;box-shadow:0 0 0 3px rgba(20,123,184,.16)}
.m247-contact-form input::placeholder,.m247-contact-form textarea::placeholder{color:var(--muted);opacity:.85}
.m247-contact-wide{grid-column:1/-1}
.m247-contact-message{padding-bottom:30px;margin-bottom:28px}
.m247-contact-security{padding:23px 27px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:23px}
.m247-contact-security h2{font-size:22px;margin:0 0 8px}
.m247-contact-security p{margin:0 0 17px;color:var(--muted);font-size:14px}
.m247-contact-form .m247-contact-security input{width:115px;background:var(--card)}
.m247-contact-antispam{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.m247-contact-privacy{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 22px}
.m247-contact-privacy a,.m247-contact-direct a{color:#117bb9;text-decoration:underline;text-underline-offset:3px}
.m247-contact-submit{display:inline-flex;justify-content:center;align-items:center;gap:16px;background:#0b2949;color:#fff;border:0;border-radius:8px;padding:15px 25px;min-height:51px;font:700 15px Arial,sans-serif;cursor:pointer}
.m247-contact-submit:hover{background:#164875;color:#fff}
.m247-contact-direct{margin:24px 0 0;text-align:center;color:var(--muted);font-size:14px}
.m247-contact-notice{max-width:930px;margin:0 auto 21px;padding:18px 22px;border-radius:8px;font-size:15px;font-weight:600}
.m247-contact-notice--success{border:1px solid #6bb89b;background:#eaf7f0;color:#175d3d}
.m247-contact-notice--error{border:1px solid #da8a8a;background:#fceeee;color:#8e1b25}
@media(max-width:680px){.m247-contact-page{padding:16px 0 45px}.m247-contact-head{margin:20px auto 26px}.m247-contact-head p{font-size:15px}.m247-contact-form{padding:24px 19px}.m247-contact-step{gap:12px}.m247-contact-step>span{flex-basis:44px;height:44px;font-size:15px}.m247-contact-step h2{font-size:23px}.m247-contact-fields{grid-template-columns:minmax(0,1fr);gap:15px}.m247-contact-security{padding:20px 17px}.m247-contact-submit{width:100%}}
@media print{.m247-contact-form{box-shadow:none}.m247-contact-submit{display:none}}


/* 1.0.11 - Article-sidebar naast contactformulier en cookiebeleid. */
.m247-info-layout{align-items:start}
.m247-info-layout>.m247-contact-page,
.m247-info-layout>.m247-info-main{min-width:0;max-width:none;width:100%;box-sizing:border-box}
.m247-contact-layout>.m247-contact-page{margin:0;padding:0 0 65px}
.m247-contact-layout .m247-contact-head{margin-top:12px}
.m247-contact-layout .m247-contact-form{max-width:none;width:100%;box-sizing:border-box}
.m247-cookie-layout .story-content{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere}
.m247-cookie-layout .story-content table{display:block;width:100%;max-width:100%;overflow-x:auto}
.m247-cookie-layout>.article-sidebar,
.m247-contact-layout>.article-sidebar{min-width:0}
@media(max-width:850px){
  .m247-info-layout{grid-template-columns:minmax(0,1fr)}
  .m247-contact-layout>.m247-contact-page{padding-bottom:25px}
}
@media print{
  .m247-info-layout{display:block}
  .m247-info-layout>.article-sidebar{display:none!important}
}


/* 1.0.12 — Berichttekst in hetzelfde schermlettertype als de widgets. */
body.single-post .story-content,
body.single-post .story-content p,
body.single-post .story-content li {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: normal;
}
body.single-post .story-content h1,
body.single-post .story-content h2,
body.single-post .story-content h3,
body.single-post .story-content h4 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 750;
  letter-spacing: -.012em;
  line-height: 1.32;
}
body.single-post .story-content h1,
body.single-post .story-content h2 {font-size: 22px; margin: 26px 0 11px}
body.single-post .story-content h3 {font-size: 19px; margin: 23px 0 10px}
body.single-post .story-content h4 {font-size: 17px; margin: 20px 0 9px}
body.single-post .story-content p {margin-bottom: 1.15em}
body.single-post .story > .story-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(27px, 2.7vw, 38px);
  line-height: 1.18;
  letter-spacing: -.02em;
  font-weight: 800;
  margin: 11px 0 16px;
  color: var(--ink);
}
body.single-post .story > .lead {font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.55}
@media (max-width: 620px) {
  body.single-post .story > .story-title {font-size: 27px}
  body.single-post .story-content,
  body.single-post .story-content p,
  body.single-post .story-content li {font-size: 16px; line-height: 1.6}
  body.single-post .story-content h1,
  body.single-post .story-content h2 {font-size: 21px}
  body.single-post .story-content h3 {font-size: 18px}
}

/* 1.0.12 — Doorlopende nieuwsticker met vierkante miniaturen. */
.ticker--with-thumbnails .ticker-inside {min-height: 62px}
.ticker--with-thumbnails .ticker-track {display: flex; align-items: center; gap: 0}
.ticker--with-thumbnails .ticker-sequence {display: flex; flex: none; align-items: center; gap: 15px; padding-right: 15px}
.ticker--with-thumbnails .ticker-item {display: inline-flex; align-items: center; flex: none; gap: 9px; color: var(--ink); white-space: nowrap; min-width: 0}
.ticker--with-thumbnails .ticker-item:hover .ticker-title {text-decoration: underline; text-underline-offset: 3px}
.ticker--with-thumbnails .ticker-thumb {display: block; flex: none; width: 38px; height: 38px; border-radius: 5px; object-fit: cover; background: var(--panel)}
.ticker--with-thumbnails .ticker-thumb--fallback {display: inline-flex; justify-content: center; align-items: center; background: var(--navy); color: white; font: 800 11px/1 Arial, Helvetica, sans-serif; letter-spacing: -.04em}
.ticker--with-thumbnails .ticker-title {color: var(--ink); font: 650 13px/1.35 Arial, Helvetica, sans-serif}
.ticker--with-thumbnails .ticker-separator {font-size: 8px; color: var(--yellow)}
@media (max-width: 620px) {
  .ticker--with-thumbnails .ticker-inside {min-height: 53px; gap: 8px}
  .ticker--with-thumbnails .ticker-sequence {gap: 11px; padding-right: 11px}
  .ticker--with-thumbnails .ticker-thumb {width: 30px; height: 30px}
  .ticker--with-thumbnails .ticker-title {font-size: 11px}
  .ticker--with-thumbnails .ticker-item {gap: 7px}
}


/* 1.0.13 - Uitgelichte afbeeldingen in artikelen zonder afsnijden/vervorming.
   Specifieker dan de vaste 410px / 260px in theme.css (ook op mobiel).
   Alleen de uitgelichte afbeelding: geen effect op editorfoto's en fotokaarten. */
.story figure.story-featured > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
@media print {
  .story figure.story-featured > img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 250px;
  }
}

/* 1.0.15 - consistente deelknoppen boven en onder nieuwsartikelen. */
.share-strip--top{margin:16px 0 22px;padding:12px 0 14px}
.share-strip--bottom{margin:22px 0 34px;padding:16px 0 19px}
.share-strip>.share-heading{display:block;margin:0 0 10px;font:700 15px/1.35 Arial,Helvetica,sans-serif;color:var(--ink)}
.share-strip .share-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.share-strip .share-links .share-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:700 12px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.share-strip .share-links .share-action svg{display:block;flex:none;width:16px;height:16px}
.share-strip .share-links .share-action:hover{background:var(--panel);border-color:#7b9bb4;color:var(--ink);transform:translateY(-1px)}
.share-strip .share-links .share-action:focus-visible{outline:3px solid #1769df;outline-offset:2px}
.share-strip .share-links .share-action.is-copied{border-color:#248758}
html[data-theme-mode=dark] .share-strip .share-links .share-action:hover{color:var(--ink);border-color:#7092b1}
@media(max-width:620px){.share-strip--top{margin:10px 0 18px}.share-strip .share-links{gap:6px}.share-strip .share-links .share-action{padding:7px 9px;font-size:11px;min-height:36px}.share-strip .share-links .share-action svg{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.share-strip .share-links .share-action{transition:none}}


/* 1.0.17 — Advertentiepagina bijgewerkt met extra bannerformaat 450×450. */
.m247-advertising-wrap{padding-bottom:70px}
.m247-advertising-layout{align-items:start}
.m247-advertising-main{min-width:0;width:100%}
.m247-advertising-content{font:16px/1.75 Arial,Helvetica,sans-serif;color:var(--ink)}
.m247-advertising-content p{margin:0 0 17px}
.m247-advertising-content h1,.m247-advertising-content h2,.m247-advertising-content h3{color:var(--ink)}
.m247-advertising-content h2{font-size:clamp(27px,3vw,37px);line-height:1.18;letter-spacing:-.025em;margin:0 0 23px}
.m247-advertising-content h3{font:700 19px/1.32 Arial,Helvetica,sans-serif;letter-spacing:-.015em;margin:0 0 10px}
.m247-advertising-eyebrow{font:800 11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#ae7500;margin-bottom:14px!important}
.m247-advertising-hero,.m247-advertising-final{border-radius:11px;background:linear-gradient(128deg,#123e67 0%,#082540 72%,#061c32 100%);color:#fff;position:relative;overflow:hidden}
.m247-advertising-hero{padding:clamp(27px,4vw,50px);margin:0 0 48px}
.m247-advertising-hero:after{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-120px;top:-135px;pointer-events:none}
.m247-advertising-hero .m247-advertising-eyebrow,.m247-advertising-final .m247-advertising-eyebrow{color:#ffc94d}
.m247-advertising-hero h1{color:#fff;font-size:clamp(34px,3.6vw,48px);line-height:1.12;margin:0 0 24px;max-width:690px}
.m247-advertising-hero .m247-advertising-intro{font-size:17px;color:#e6f0fa;max-width:710px;line-height:1.65}
.m247-advertising-promise{padding:19px 21px;margin:23px 0 25px!important;border-left:4px solid var(--yellow);background:rgba(255,255,255,.11);border-radius:0 6px 6px 0;color:#fff;font-size:18px;line-height:1.6}
.m247-advertising-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 21px}
.m247-advertising-actions>span{font-size:12px;font-weight:600;color:#d1e0ef}
.m247-advertising-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;max-width:100%;text-align:center;padding:13px 19px;border-radius:6px;font:800 14px/1.4 Arial,Helvetica,sans-serif;text-decoration:none!important;transition:transform .15s ease,background .15s ease}
.m247-advertising-button:hover{transform:translateY(-1px)}
.m247-advertising-button--light{background:#ffc13e;color:#182a3d!important}
.m247-advertising-button--light:hover{background:#ffcf63;color:#182a3d!important}
.m247-advertising-section{margin:0 0 52px}
.m247-advertising-section>p:not(.m247-advertising-eyebrow){max-width:780px}
.m247-advertising-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.m247-advertising-benefit{padding:25px 22px 22px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.m247-advertising-benefit-number{display:inline-block;color:#c68a04;font:bold 12px Arial,Helvetica,sans-serif;margin-bottom:13px}
.m247-advertising-benefit h3{font-size:18px}
.m247-advertising-benefit p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.m247-advertising-audience{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:29px}
.m247-advertising-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.m247-advertising-chips span{border-radius:50px;border:1px solid var(--line);padding:7px 12px;font-size:12px;font-weight:700;background:var(--card)}
.m247-advertising-placement-box{margin:24px 0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:21px;align-items:center;padding:21px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.m247-advertising-placement-preview{display:flex;min-height:96px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:14px 8px;background:linear-gradient(120deg,#0e426e,#176d9d);color:#fff;border:2px dashed rgba(255,255,255,.5);outline:5px solid rgba(15,66,110,.09);outline-offset:-5px;border-radius:5px;text-align:center}
.m247-advertising-placement-preview span{font:bold 18px Arial,Helvetica,sans-serif;letter-spacing:.055em}
.m247-advertising-placement-preview small{font-size:11px;color:#d5e9f6}
.m247-advertising-placement-copy h3{margin-bottom:8px}
.m247-advertising-placement-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.m247-advertising-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.m247-advertising-steps li{display:flex;gap:17px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0 19px}
.m247-advertising-steps li>span{display:grid;flex-shrink:0;place-items:center;width:39px;height:39px;background:#0e416c;color:#fff;border-radius:50%;font-weight:800}
.m247-advertising-steps h3{margin:0 0 5px}
.m247-advertising-steps p{margin:0;color:var(--muted);font-size:14px}
.m247-advertising-faq-list{border-top:1px solid var(--line)}
.m247-advertising-faq-list>div{border-bottom:1px solid var(--line);padding:19px 0 10px}
.m247-advertising-faq-list h3{font-size:17px}
.m247-advertising-faq-list p{font-size:14px;color:var(--muted);margin-bottom:9px}
.m247-advertising-final{padding:clamp(25px,3.5vw,43px)}
.m247-advertising-final h2{color:#fff;margin-bottom:15px;font-size:clamp(28px,3vw,36px)}
.m247-advertising-final>p:not(.m247-advertising-eyebrow){color:#e1ecf5}
.m247-advertising-final .m247-advertising-footnote{margin:23px 0 0;color:#c7d9e8!important;font-size:12px;line-height:1.5}
html[data-theme-mode=dark] .m247-advertising-benefit-number,html[data-theme-mode=dark] .m247-advertising-content .m247-advertising-eyebrow{color:#ffc34c}
@media(max-width:1050px){.m247-advertising-benefit-grid{grid-template-columns:1fr}.m247-advertising-placement-box{grid-template-columns:1fr}}
@media(max-width:850px){.m247-advertising-layout{grid-template-columns:minmax(0,1fr)}.m247-advertising-wrap{padding-bottom:40px}}
@media(max-width:590px){.m247-advertising-hero{padding:24px 20px;margin-bottom:34px}.m247-advertising-hero h1{font-size:31px}.m247-advertising-hero .m247-advertising-intro{font-size:15px}.m247-advertising-promise{font-size:16px;padding:14px}.m247-advertising-button{width:100%;font-size:13px}.m247-advertising-section{margin-bottom:37px}.m247-advertising-section h2{font-size:26px}.m247-advertising-benefit-grid{grid-template-columns:1fr}.m247-advertising-benefit{padding:21px}.m247-advertising-audience{padding:21px}.m247-advertising-final{padding:26px 21px}.m247-advertising-actions{flex-direction:column;align-items:stretch}.m247-advertising-actions>span{text-align:center}}
@media print{.m247-advertising-hero,.m247-advertising-final{background:#fff!important;color:#111!important;border:1px solid #aaa}.m247-advertising-hero h1,.m247-advertising-final h2,.m247-advertising-hero p,.m247-advertising-final p{color:#111!important}.m247-advertising-button{display:none}}


/* 1.0.20 – Vaste, toegankelijke knop ‘Terug naar boven’ op lange pagina's. */
.m247-back-to-top[hidden]{display:none!important}
.m247-back-to-top{
  position:fixed;
  right:max(20px,env(safe-area-inset-right));
  bottom:calc(22px + env(safe-area-inset-bottom,0px));
  z-index:990;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 15px;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--navy);
  color:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,.18);
  font:700 13px/1.2 Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.m247-back-to-top:hover{background:#145581;color:#fff}
.m247-back-to-top:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.m247-back-to-top-arrow{font-size:21px;line-height:1}
@media(max-width:620px){
  .m247-back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:10px 12px;font-size:12px}
}
@media print{.m247-back-to-top{display:none!important}}


/* 1.0.21: evenementbeschrijvingen dezelfde typografie als nieuwsartikelen.
   Alleen de openingsalinea vet. Ook expliciet vet op latere alinea's neutraliseren. */
body.single-tribe_events .tribe-events-single-event-description,
body.single-tribe_events .tribe-events-content,
.m247-events-main .tribe-events-single-event-description,
.single-m247_agenda .story-content {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.75!important;
  color:var(--ink);
  overflow-wrap:anywhere;
}
body.single-tribe_events .tribe-events-single-event-description p,
body.single-tribe_events .tribe-events-single-event-description li,
body.single-tribe_events .tribe-events-single-event-description p *,
body.single-tribe_events .tribe-events-single-event-description li *,
.m247-events-main .tribe-events-single-event-description p,
.m247-events-main .tribe-events-single-event-description p *,
.single-m247_agenda .story-content p,
.single-m247_agenda .story-content p * {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.75!important;
}
body.single-tribe_events .tribe-events-single-event-description > p:first-of-type,
body.single-tribe_events .tribe-events-single-event-description > p:first-of-type *,
.m247-events-main .tribe-events-single-event-description > p:first-of-type,
.m247-events-main .tribe-events-single-event-description > p:first-of-type *,
.single-m247_agenda .story-content > p:first-of-type,
.single-m247_agenda .story-content > p:first-of-type * {
  font-weight:700!important;
}
body.single-tribe_events .tribe-events-single-event-description h2,
.m247-events-main .tribe-events-single-event-description h2 {font:700 29px/1.25 Georgia,'Times New Roman',serif!important}
body.single-tribe_events .tribe-events-single-event-description h3,
.m247-events-main .tribe-events-single-event-description h3 {font:700 24px/1.3 Georgia,'Times New Roman',serif!important}

/* Reacties: normale Arial 16px, geen onbedoelde vetgedrukte auteurs of tekst. */
.comments-area .comment-body,
.comments-area .comment-body .comment-content,
.comments-area .comment-body .comment-content p,
.comments-area .comment-body .comment-content p *,
.comments-area .comment-body .comment-author,
.comments-area .comment-body .comment-author *,
.comments-area .comment-body .comment-metadata,
.comments-area .comment-body .reply,
.comments-area .comment-body .reply * {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.6!important;
}
@media(max-width:620px){
  body.single-tribe_events .tribe-events-single-event-description h2,
  .m247-events-main .tribe-events-single-event-description h2{font-size:24px!important}
  body.single-tribe_events .tribe-events-single-event-description h3,
  .m247-events-main .tribe-events-single-event-description h3{font-size:21px!important}
}

/* 1.0.22 — Reactieteller bij de artikelinformatie, met directe link naar #comments. */
.byline .m247-comment-jump{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.byline .m247-comment-jump:hover,.byline .m247-comment-jump:focus-visible{color:#006db6;text-decoration-color:currentColor}
#comments{scroll-margin-top:24px}

/* 1.0.23 – Eigen Medemblik247 evenementenkalender */
.m247-native-calendar,.m247-cal-single{color:var(--ink)}
.m247-cal-page-title{padding:22px 0 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.m247-cal-page-title h1{font:700 clamp(31px,3vw,45px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:9px 0 12px}
.m247-cal-page-title p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:820px;margin:0}
.m247-cal-page-title .eyebrow{color:#bf860b;margin:0}
.m247-cal-softbutton{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);background:var(--card);color:#0075b9;padding:12px 16px;font-weight:700;border-radius:6px;white-space:nowrap}
.m247-cal-softbutton:hover{border-color:#0075b9}
.m247-cal-body{min-width:0}
.m247-cal-month-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:#fff;padding:13px 17px;border-radius:8px 8px 0 0}
.m247-cal-month-header h2{color:#fff;font:700 24px/1.2 Georgia,serif;margin:0}
.m247-cal-month-header a{font-size:30px;line-height:1;color:#fff;padding:0 13px;border:1px solid #ffffff55;border-radius:6px}
.m247-cal-month-header a:hover{background:#ffffff33;color:white}
.m247-cal-grid-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}
.m247-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--card)}
.m247-cal-weekday{padding:12px 6px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff;background:#155077}
.m247-cal-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:106px;overflow:hidden}
.m247-cal-cell:nth-child(7n){border-right:0}
.m247-cal-day{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:100%;font-size:13px;font-weight:800}
.m247-cal-outside{background:var(--panel);opacity:.7}
.m247-cal-today .m247-cal-day{background:var(--yellow);color:#082643}
.m247-cal-event-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11px/1.35 Arial,sans-serif;padding:5px 7px;margin:5px 0 0;border-radius:4px;background:#e6f1f9;color:#075585}
.m247-cal-event-chip:hover{background:#d2e5f5;color:#075585}
.m247-cal-more{font-size:11px;color:var(--muted)}
.m247-cal-after{padding:32px 0 24px}
.m247-cal-after .section-heading{margin-bottom:16px}
.m247-cal-list{display:flex;flex-direction:column;gap:0}
.m247-cal-list-item{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);min-width:0}
.m247-cal-list-item .datebox{min-width:64px;height:70px;background:#fff6e3;color:#103253}
.m247-cal-list-item .datebox small{color:#946100}
.m247-cal-list-item .datebox strong{font-size:26px}
.m247-cal-list-text{min-width:0;display:flex;flex-direction:column;gap:5px}
.m247-cal-list-text strong{font:700 17px/1.3 Arial,sans-serif;color:var(--ink)}
.m247-cal-list-text small{font:400 13px/1.35 Arial,sans-serif;color:var(--muted)}
.m247-cal-list-item:hover .m247-cal-list-text strong{color:#0075b9}
.m247-cal-compact .m247-cal-list-item{gap:11px;padding:10px 0}
.m247-cal-compact .datebox{min-width:48px;height:54px}
.m247-cal-compact .datebox strong{font-size:23px}
.m247-cal-compact .m247-cal-list-text strong{font-size:14px}
.m247-cal-compact .m247-cal-list-text small{font-size:12px}
.m247-cal-event-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:var(--navy);color:#fff;border-radius:9px;overflow:hidden;margin:24px 0}
.m247-cal-event-hero>div{padding:20px 24px;display:flex;flex-direction:column;gap:7px}
.m247-cal-event-hero>div+div{border-left:1px solid #ffffff30}
.m247-cal-event-hero .m247-cal-meta-label{text-transform:uppercase;font:700 11px Arial,sans-serif;color:#ffc64e;letter-spacing:.12em}
.m247-cal-event-hero strong{font:700 19px/1.3 Arial,sans-serif;color:#fff}
.m247-cal-event-hero span:last-child{font:400 14px Arial,sans-serif;color:#dceaf6}
.m247-cal-single .story-content{font:400 16px/1.75 Arial,Helvetica,sans-serif;max-width:100%}
.m247-cal-single .story-content p{font-weight:400}
.m247-cal-single .story-content>p:first-of-type{font-weight:700}
.m247-cal-single .story-content p *{font-family:inherit}
.m247-cal-photo img{height:auto!important;width:100%;object-fit:contain}
.m247-cal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 28px}
.m247-cal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:24px 0}
.m247-cal-detail-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:24px;min-width:0;overflow-wrap:anywhere}
.m247-cal-detail-card h2{font:700 23px Georgia,serif;border-bottom:1px solid var(--line);padding-bottom:13px;margin:0 0 16px}
.m247-cal-detail-card>strong{display:block;font:700 16px Arial,sans-serif;margin-bottom:12px}
.m247-cal-detail-card p{font:400 15px/1.5 Arial,sans-serif;margin:9px 0;color:var(--muted)}
.m247-cal-detail-card a{display:block;color:#0074b8;font:700 14px/1.5 Arial,sans-serif;margin:9px 0;overflow-wrap:anywhere}
.m247-cal-map{margin:25px 0 20px}
.m247-cal-map h2{font-size:24px;margin:0 0 12px}
.m247-cal-map iframe{display:block;width:100%;height:330px;border:0;border-radius:8px}
.m247-cal-map p{color:var(--muted);font-size:12px;margin-top:7px}
.m247-cal-sidebar-widget>p{margin:16px 0 0}
.m247-cal-sidebar-widget>p a{color:#0074b8;font-weight:700}
@media(max-width:880px){.m247-cal-grid{min-width:700px}.m247-cal-page-title{align-items:flex-start;flex-direction:column;gap:15px}.m247-cal-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.m247-cal-page-title h1{font-size:31px}.m247-cal-month-header h2{font-size:19px}.m247-cal-event-hero{grid-template-columns:1fr}.m247-cal-event-hero>div+div{border-left:0;border-top:1px solid #ffffff30}.m247-cal-event-hero>div{padding:16px 18px}.m247-cal-event-hero strong{font-size:17px}.m247-cal-single .story-content{font-size:16px}.m247-cal-map iframe{height:280px}}

/* 1.0.24: fotobijschrift onder uitgelichte afbeelding van agenda-items. */
.m247-cal-photo figcaption{display:block;margin:0;padding:9px 2px 0;color:var(--muted);font:400 13px/1.5 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}

/* 1.0.27: cultural agenda event alongside, not instead of, Culture news. */
.m247-culture-event{margin:0 0 25px;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
.m247-culture-event-link{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;align-items:center;padding:12px}
.m247-culture-event-thumb{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:5px;background:var(--card)}
.m247-culture-event-thumb img{width:100%;height:100%;object-fit:cover}
.m247-culture-event-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.m247-culture-event-eyebrow{font:700 11px/1.4 Arial,Helvetica,sans-serif;color:#996000;text-transform:uppercase;letter-spacing:.05em}
.m247-culture-event-copy strong{font:700 17px/1.3 Arial,Helvetica,sans-serif;color:var(--ink)}
.m247-culture-event-info{font:400 12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted)}
.m247-culture-event-link:hover .m247-culture-event-copy strong{color:#0074b8}
.m247-culture-event--compact{margin:18px 0 0}
.m247-culture-event--compact .m247-culture-event-link{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:9px}
.m247-culture-event--compact .m247-culture-event-copy strong{font-size:13px}
.m247-culture-event--compact .m247-culture-event-eyebrow{font-size:9px}
.m247-culture-event--compact .m247-culture-event-info{font-size:11px}
@media(max-width:620px){.m247-culture-event-link{grid-template-columns:85px minmax(0,1fr);gap:10px}.m247-culture-event--compact .m247-culture-event-link{grid-template-columns:58px minmax(0,1fr)}.m247-culture-event--compact .m247-culture-event-info{font-size:10px}}

/* 1.0.29 — Deelknoppen in de vormgeving van de voorbeeldsite:
   afgeronde pillen, ruimere tussenafstand en herkenbare merkkleuren. */
.share-strip{border-color:var(--line)}
.share-strip--top{margin:16px 0 24px;padding:14px 0 18px}
.share-strip--bottom{margin:24px 0 34px;padding:18px 0 23px}
.share-strip>.share-heading{display:block;margin:0 0 16px;font:700 clamp(18px,1.8vw,23px)/1.2 Georgia,'Times New Roman',serif;color:var(--ink);letter-spacing:-.02em}
.share-strip .share-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:9px 8px}
.share-strip .share-links .share-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid #dde4ea;border-radius:999px;background:var(--card);color:var(--ink);font:700 12px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap;text-decoration:none;box-shadow:0 1px 1px rgba(9,41,74,.035);cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.share-strip .share-links .share-action svg{display:block;flex:none;width:18px;height:18px}
.share-strip .share-links .share-action:hover{background:var(--panel);border-color:#a9bdcd;color:var(--ink);box-shadow:0 3px 9px rgba(9,41,74,.09);transform:translateY(-1px)}
.share-strip .share-links .share-action:focus-visible{outline:3px solid #1769df;outline-offset:3px}
.share-strip .share-links .share-action.is-copied{border-color:#248758}
.share-strip .share-action--facebook svg{color:#1877f2}
.share-strip .share-action--x svg,.share-strip .share-action--threads svg{color:#151515}
.share-strip .share-action--instagram svg{color:#e1306c}
.share-strip .share-action--bluesky svg{color:#1185fe}
.share-strip .share-action--linkedin svg{color:#0a66c2}
.share-strip .share-action--whatsapp svg{color:#20bf64}
.share-strip .share-action--rss svg{color:#ef8c22}
.share-strip .share-action--reddit svg{color:#ff4500}
.share-strip .share-action--mastodon svg{color:#6364ff}
.share-strip .share-action--email svg{color:#357fa6}
.share-strip .share-action--print svg{color:#5b7080}
.share-strip .share-action--copy svg{color:#284964}
.share-strip .share-feedback{display:none;margin-top:10px;width:fit-content;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:400 12px/1.45 Arial,Helvetica,sans-serif}
.share-strip .share-feedback.is-visible{display:block}
html[data-theme-mode=dark] .share-strip .share-links .share-action{border-color:#3b586f;box-shadow:none}
html[data-theme-mode=dark] .share-strip .share-action--x svg,html[data-theme-mode=dark] .share-strip .share-action--threads svg{color:#f4f7fb}
@media(max-width:620px){
 .share-strip--top{margin:10px 0 18px;padding:12px 0 14px}
 .share-strip--bottom{margin:18px 0 26px;padding:15px 0 20px}
 .share-strip>.share-heading{font-size:19px;margin-bottom:12px}
 .share-strip .share-links{gap:7px}
 .share-strip .share-links .share-action{gap:6px;padding:7px 10px;min-height:38px;font-size:11px}
 .share-strip .share-links .share-action svg{width:16px;height:16px}
}
@media(prefers-reduced-motion:reduce){.share-strip .share-links .share-action{transition:none}}


/* 1.0.30 — Kalender: foto-preview bij hover/focus (zweeft buiten het geknipte dagraster). */
.m247-cal-event-chip[data-event-preview],
.m247-native-calendar .m247-cal-list-item[data-event-preview]{cursor:pointer}
.m247-cal-event-chip:focus-visible,
.m247-native-calendar .m247-cal-list-item:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.m247-cal-hover-preview{
  position:fixed;z-index:2147482000;width:min(315px,calc(100vw - 24px));
  border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:var(--card);color:var(--ink);box-shadow:0 20px 52px rgba(2,21,37,.24);
  pointer-events:none;opacity:1;transform:translateY(0);
  transition:opacity .16s ease,transform .16s ease;
}
.m247-cal-hover-preview[hidden]{display:none!important}
.m247-cal-hover-preview-image{width:100%;height:170px;object-fit:cover;display:block;background:var(--panel)}
.m247-cal-hover-preview-placeholder{height:130px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(130deg,#0d3357,#186c97);color:#fff;
  font:700 24px/1 Georgia,serif;letter-spacing:-.04em}
.m247-cal-hover-preview-placeholder b{color:#ffc83f;font-weight:900}
.m247-cal-hover-preview-image[hidden],.m247-cal-hover-preview-placeholder[hidden]{display:none!important}
.m247-cal-hover-preview-info{padding:15px 17px 16px}
.m247-cal-hover-preview-eyebrow{display:block;color:#bb8104;font:800 10px/1.35 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.m247-cal-hover-preview-title{display:block;margin:0 0 9px;font:700 19px/1.2 Georgia,serif;overflow-wrap:anywhere}
.m247-cal-hover-preview-meta{display:block;margin-top:5px;font:400 12px/1.45 Arial,Helvetica,sans-serif;color:var(--muted);overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.m247-cal-hover-preview{transition:none}}


/* 1.0.32 — compacte deelbalk, waar mogelijk één rij op desktop.
 * Container queries kijken naar de werkelijk beschikbare ARTIKELbreedte,
 * niet naar de schermbreedte. Daardoor schuift niets onder de sidebar. */
.share-strip{container: m247sharing / inline-size}
.share-strip .share-links{flex-wrap:nowrap;gap:6px}
.share-strip .share-links .share-action{min-height:38px;padding:7px 10px;gap:6px;font-size:11.5px}
.share-strip .share-links .share-action svg{width:17px;height:17px}
/* Bij iets minder ruimte: primaire netwerken met naam, hulpmiddelen als pictogram. */
@container m247sharing (max-width: 1180px){
  .share-strip .share-action:is(.share-action--rss,.share-action--reddit,.share-action--mastodon,.share-action--copy,.share-action--email,.share-action--print)>span{display:none}
  .share-strip .share-action:is(.share-action--rss,.share-action--reddit,.share-action--mastodon,.share-action--copy,.share-action--email,.share-action--print){width:38px;min-width:38px;padding:0;gap:0}
}
/* Smalle artikelkolom: alle knoppen als herkenbare iconen met tooltip. */
@container m247sharing (max-width: 950px){
  .share-strip .share-links .share-action>span{display:none}
  .share-strip .share-links .share-action{width:38px;min-width:38px;padding:0;gap:0}
}
/* Zelfs op smalle desktops blijft de rij binnen de tekstkolom. */
@container m247sharing (max-width: 600px){
  .share-strip .share-links{gap:4px}
  .share-strip .share-links .share-action{width:34px;min-width:34px;min-height:36px;padding:0}
  .share-strip .share-links .share-action svg{width:16px;height:16px}
}
@container m247sharing (max-width: 500px){
  .share-strip .share-links{flex-wrap:wrap}
}
/* Op telefoons: labels terug voor herkenbaarheid en logisch afbreken. */
@media (max-width: 620px){
  .share-strip .share-links{flex-wrap:wrap;gap:7px}
  .share-strip .share-links .share-action{width:auto;min-width:0;min-height:38px;padding:7px 10px;gap:6px;font-size:11px}
  .share-strip .share-links .share-action>span{display:inline}
  .share-strip .share-links .share-action svg{width:16px;height:16px}
}

/* 1.0.33 — Eigen bannerrotatie: vaste ruimte, geen verspringende tekst. */
.m247-ad-unit{
  display:block;
  position:relative;
  max-width:100%;
  margin:24px auto;
  padding:0;
  text-align:center;
  clear:both;
}
.m247-ad-unit--wide{width:min(100%,729px)}
.m247-ad-unit--square{width:min(100%,450px);margin:26px auto}
.m247-ad-unit--header{margin:0 auto;width:100%;height:95px}
.m247-ad-rotator,.m247-legacy-ad{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:5px;
  background:var(--panel);
}
.m247-ad-unit--wide .m247-ad-rotator{aspect-ratio:729 / 90}
.m247-ad-unit--square .m247-ad-rotator{aspect-ratio:1 / 1}
.m247-ad-unit--header .m247-ad-rotator{height:95px;aspect-ratio:auto;background:transparent}
.m247-ad-frame{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .48s ease,visibility 0s linear .48s;
}
.m247-ad-frame.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:1;
  transition:opacity .48s ease,visibility 0s;
}
.m247-ad-frame>a,.m247-ad-frame>.m247-ad-image{display:block;width:100%;height:100%}
.m247-ad-image{display:block;width:100%;height:100%;object-fit:contain}
.m247-ad-frame>a>.m247-ad-image{width:100%;height:100%}
.m247-ad-unit .m247-ad-label{
  display:block;
  padding-top:5px;
  font:400 10px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:var(--muted);
}
.m247-ad-unit--header .m247-ad-label{display:none}
.m247-ad-unit--legacy .m247-legacy-ad{display:flex;justify-content:center;align-items:center;min-width:0;min-height:30px;background:transparent}
.m247-ad-unit--legacy img,.m247-ad-unit--legacy iframe{max-width:100%;height:auto;object-fit:contain}
.m247-ad-unit--after_photo{margin-top:24px;margin-bottom:27px}
.m247-ad-unit--bottom{margin-top:28px;margin-bottom:35px}
/* Extra 729×90 direct na de laatste alinea, vóór tags en de deelknoppen. */
.m247-ad-unit--after_content{margin-top:25px;margin-bottom:30px}
/* 1.0.39 — Vierkante inline advertentie links met tekstomloop voor een professionelere redactionele look. */
.m247-ad-unit--after_third{
  float:left;
  clear:none;
  width:min(100%,450px);
  max-width:450px;
  margin:12px 24px 18px 0;
}
.story-content .m247-ad-unit{font-family:Arial,Helvetica,sans-serif}
@media(max-width:620px){
  .m247-ad-unit{margin-top:21px;margin-bottom:22px}
  .m247-ad-unit--after_third{
    float:none;
    clear:both;
    width:min(100%,450px);
    max-width:450px;
    margin:24px auto;
  }
}
@media(prefers-reduced-motion:reduce){.m247-ad-frame,.m247-ad-frame.is-active{transition:none}}
@media print{.m247-ad-unit{display:none!important}}

/* 1.0.35 — Rechterzijbalk als native advertentiepositie. */
.m247-sidebar-ads{max-width:100%;min-width:0;margin:4px 0 20px}
.m247-sidebar-ads .m247-ad-unit--sidebar{width:100%;max-width:450px;margin:8px auto 16px}
.m247-sidebar-ads .m247-ad-unit--sidebar .m247-ad-rotator{aspect-ratio:1 / 1}
.m247-sidebar-ads .m247-ad-unit--legacy .m247-legacy-ad{max-width:100%;overflow:hidden}
@media (max-width:850px){.m247-sidebar-ads{width:100%}}


/* 1.0.37 — Cultureel agenda-nieuws wisselt binnen één bestaande Cultuur-fotokaart.
   Grid layers reserve the tallest caption height to prevent layout shifts. */
.m247-topic--culture .m247-culture-rotator{min-width:0}
.m247-topic--culture .m247-culture-slides{display:grid;grid-template-areas:"slide";align-items:start}
.m247-topic--culture .m247-culture-slide{
  grid-area:slide;min-width:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .45s ease,visibility 0s linear .45s;
}
.m247-topic--culture .m247-culture-slide.is-active{
  opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .45s ease,visibility 0s;
}
.m247-topic--culture .m247-culture-slide .topic-image{width:100%}
.m247-topic--culture .m247-culture-label{
  display:block;margin-top:10px;color:#946300;text-transform:uppercase;
  font:700 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.055em;
}
.m247-topic--culture .m247-culture-label + a h3{margin-top:6px}
.m247-topic--culture .m247-culture-controls{
  display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;
}
.m247-topic--culture .m247-culture-dot{
  display:block;width:11px;height:11px;flex:none;border-radius:50%;padding:0;
  border:1px solid var(--muted);background:transparent;cursor:pointer;
}
.m247-topic--culture .m247-culture-dot.is-active{background:#0877bc;border-color:#0877bc}
.m247-topic--culture .m247-culture-dot:focus-visible{outline:3px solid #1769df;outline-offset:3px}
@media(hover:hover){.m247-topic--culture .m247-culture-dot:hover{border-color:#0877bc}}
@media(prefers-reduced-motion:reduce){.m247-topic--culture .m247-culture-slide,.m247-topic--culture .m247-culture-slide.is-active{transition:none}}

/* 1.0.38 — publieke bronvermelding met optionele doorkliklink. */
.byline .m247-source-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.byline .m247-source-link:hover,.byline .m247-source-link:focus-visible{color:#006db6;text-decoration-color:currentColor}

/* 1.0.40 — Inline vierkante advertentie naast de lopende artikeltekst.
   Hogere specificiteit dan de algemene gecentreerde advertentiekaarten.
   De flow-container voorkomt float-problemen binnen Gutenberg. */
body.single-post .story-content{container-name:m247-article-text;container-type:inline-size}
body.single-post .story-content .m247-ad-unit--after_third{
  display:block;
  float:left !important;
  clear:none !important;
  width:min(100%,450px) !important;
  max-width:450px !important;
  margin:12px 24px 20px 0 !important;
  padding:0;
  text-align:center;
}
body.single-post .story-content .m247-ad-unit--after_third .m247-ad-rotator,
body.single-post .story-content .m247-ad-unit--after_third .m247-legacy-ad{
  width:100%;
  max-width:100%;
}
/* Bij een smalle artikelkolom is tekst naast een 450px-afbeelding niet leesbaar. */
@container m247-article-text (max-width:825px){
  .m247-ad-unit--after_third{
    float:none !important;
    clear:both !important;
    width:min(100%,450px) !important;
    margin:24px auto !important;
  }
}
@media(max-width:620px){
  body.single-post .story-content .m247-ad-unit--after_third{
    float:none !important;
    clear:both !important;
    width:min(100%,450px) !important;
    margin:24px auto !important;
  }
}
