.elementor-kit-419{--e-global-color-primary:#152F25;--e-global-color-secondary:#1F5D4B;--e-global-color-text:#152F25;--e-global-color-accent:#E5ED48;--e-global-color-14c5d03:#000000;--e-global-color-9187906:#FFFFFF;--e-global-color-02b0ed1:#F9F5EF;--e-global-color-5b977ee:#1F5D4B;--e-global-color-9bcc967:#152F25;--e-global-color-096e6f7:#E5ED48;--e-global-color-6d3aff1:#68238D;--e-global-color-de1a2f9:#3B1840;--e-global-color-76b7233:#FBC4E4;--e-global-color-ebee582:#B22930;--e-global-color-39159bc:#781519;--e-global-color-95b3cfc:#F6B04B;--e-global-color-38dc568:#5174C2;--e-global-color-c501808:#1E3058;--e-global-color-3d54862:#A0E0F6;--e-global-color-37dfa5b:#FFFFFF80;--e-global-color-5e2c62f:#6B7280;--e-global-typography-primary-font-family:"Recline";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Ibarra Real Nova";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Ibarra Real Nova";--e-global-typography-text-font-weight:400;--e-global-typography-text-letter-spacing:-0.01em;--e-global-typography-accent-font-family:"Betterlett";--e-global-typography-accent-font-weight:400;--e-global-typography-accent-letter-spacing:-0.01em;--e-global-typography-4f414b6-font-family:"Recline";--e-global-typography-4f414b6-font-size:4rem;--e-global-typography-4f414b6-font-weight:500;--e-global-typography-4f414b6-line-height:1em;--e-global-typography-9405336-font-family:"Recline";--e-global-typography-9405336-font-size:3rem;--e-global-typography-9405336-font-weight:500;--e-global-typography-9405336-line-height:1em;--e-global-typography-9ce4bd1-font-family:"Recline";--e-global-typography-9ce4bd1-font-size:2.7rem;--e-global-typography-9ce4bd1-font-weight:500;--e-global-typography-9ce4bd1-line-height:1em;--e-global-typography-ddf0a82-font-family:"Recline";--e-global-typography-ddf0a82-font-size:2.4rem;--e-global-typography-ddf0a82-font-weight:500;--e-global-typography-ddf0a82-line-height:1em;--e-global-typography-de3954a-font-family:"Recline";--e-global-typography-de3954a-font-size:2.1rem;--e-global-typography-de3954a-line-height:1em;--e-global-typography-f1a7a5e-font-family:"Recline";--e-global-typography-f1a7a5e-font-size:1.8rem;--e-global-typography-f1a7a5e-font-weight:400;--e-global-typography-f1a7a5e-line-height:1em;--e-global-typography-9c037e2-font-family:"Recline";--e-global-typography-9c037e2-font-size:1.5rem;--e-global-typography-9c037e2-font-weight:400;--e-global-typography-9c037e2-line-height:1em;--e-global-typography-cf58f1a-font-family:"Ibarra Real Nova";--e-global-typography-cf58f1a-font-size:1.2rem;--e-global-typography-cf58f1a-font-weight:600;--e-global-typography-cf58f1a-line-height:1.6em;--e-global-typography-cf58f1a-letter-spacing:-0.01em;--e-global-typography-33ea5ef-font-family:"Hanken Grotesk";--e-global-typography-33ea5ef-font-size:1rem;--e-global-typography-33ea5ef-font-weight:400;--e-global-typography-33ea5ef-line-height:1.5em;--e-global-typography-e312ff1-font-family:"Hanken Grotesk";--e-global-typography-e312ff1-font-size:1rem;--e-global-typography-e312ff1-font-weight:400;--e-global-typography-a6c56d8-font-family:"Hanken Grotesk";--e-global-typography-a6c56d8-font-size:1rem;--e-global-typography-a6c56d8-font-weight:600;--e-global-typography-a87066c-font-family:"Betterlett";--e-global-typography-a87066c-font-size:1.6rem;--e-global-typography-cf1eb0c-font-family:"Recline";--e-global-typography-cf1eb0c-font-size:4rem;--e-global-typography-cf1eb0c-font-weight:500;--e-global-typography-cf1eb0c-line-height:1em;--e-global-typography-a38d4af-font-family:"Ibarra Real Nova";--e-global-typography-a38d4af-font-size:1.6rem;--e-global-typography-a38d4af-font-weight:400;--e-global-typography-a38d4af-line-height:1.5em;--e-global-typography-a38d4af-letter-spacing:-0.01em;--e-global-typography-d386f8a-font-family:"Ibarra Real Nova";--e-global-typography-d386f8a-font-size:1.4rem;--e-global-typography-d386f8a-font-weight:600;--e-global-typography-d386f8a-line-height:1.6em;--e-global-typography-d386f8a-letter-spacing:-0.01em;--e-global-typography-655a6da-font-family:"Ibarra Real Nova";--e-global-typography-655a6da-font-size:1rem;--e-global-typography-655a6da-font-weight:600;--e-global-typography-655a6da-line-height:1.6em;--e-global-typography-655a6da-letter-spacing:-0.01em;--e-global-typography-c11bf25-font-family:"Ibarra Real Nova";--e-global-typography-c11bf25-font-size:1.2rem;--e-global-typography-c11bf25-font-weight:700;--e-global-typography-c11bf25-line-height:1.2em;--e-global-typography-c11bf25-letter-spacing:-0.01em;--e-global-typography-c5f711b-font-family:"Hanken Grotesk";--e-global-typography-c5f711b-font-size:0.9rem;--e-global-typography-c5f711b-font-weight:400;--e-global-typography-c5f711b-line-height:1.5em;--e-global-typography-15763d2-font-family:"Recline";--e-global-typography-15763d2-font-size:2rem;--e-global-typography-15763d2-font-weight:500;--e-global-typography-15763d2-font-style:normal;--e-global-typography-15763d2-line-height:1em;--e-global-typography-abb5d6b-font-family:"Recline";--e-global-typography-abb5d6b-font-size:1.3rem;--e-global-typography-abb5d6b-font-weight:400;--e-global-typography-abb5d6b-font-style:italic;--e-global-typography-abb5d6b-line-height:1em;--e-global-typography-379a08b-font-family:"Hanken Grotesk";--e-global-typography-379a08b-font-size:1rem;--e-global-typography-379a08b-font-weight:400;--e-global-typography-379a08b-line-height:1em;font-family:var( --e-global-typography-33ea5ef-font-family ), Sans-serif;font-size:var( --e-global-typography-33ea5ef-font-size );font-weight:var( --e-global-typography-33ea5ef-font-weight );line-height:var( --e-global-typography-33ea5ef-line-height );}.elementor-kit-419 e-page-transition{background-color:#FFBC7D;}.elementor-kit-419 h1{font-family:var( --e-global-typography-9405336-font-family ), Sans-serif;font-size:var( --e-global-typography-9405336-font-size );font-weight:var( --e-global-typography-9405336-font-weight );line-height:var( --e-global-typography-9405336-line-height );}.elementor-kit-419 h2{font-family:var( --e-global-typography-9ce4bd1-font-family ), Sans-serif;font-size:var( --e-global-typography-9ce4bd1-font-size );font-weight:var( --e-global-typography-9ce4bd1-font-weight );line-height:var( --e-global-typography-9ce4bd1-line-height );}.elementor-kit-419 h3{font-family:var( --e-global-typography-ddf0a82-font-family ), Sans-serif;font-size:var( --e-global-typography-ddf0a82-font-size );font-weight:var( --e-global-typography-ddf0a82-font-weight );line-height:var( --e-global-typography-ddf0a82-line-height );}.elementor-kit-419 h4{font-family:var( --e-global-typography-de3954a-font-family ), Sans-serif;font-size:var( --e-global-typography-de3954a-font-size );line-height:var( --e-global-typography-de3954a-line-height );}.elementor-kit-419 h5{font-family:var( --e-global-typography-f1a7a5e-font-family ), Sans-serif;font-size:var( --e-global-typography-f1a7a5e-font-size );font-weight:var( --e-global-typography-f1a7a5e-font-weight );line-height:var( --e-global-typography-f1a7a5e-line-height );}.elementor-kit-419 h6{font-family:var( --e-global-typography-9c037e2-font-family ), Sans-serif;font-size:var( --e-global-typography-9c037e2-font-size );font-weight:var( --e-global-typography-9c037e2-font-weight );line-height:var( --e-global-typography-9c037e2-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-419{--e-global-typography-4f414b6-font-size:4rem;--e-global-typography-9ce4bd1-font-size:2.7rem;--e-global-typography-cf1eb0c-font-size:3.8rem;--e-global-typography-a38d4af-font-size:1.6rem;font-size:var( --e-global-typography-33ea5ef-font-size );line-height:var( --e-global-typography-33ea5ef-line-height );}.elementor-kit-419 h1{font-size:var( --e-global-typography-9405336-font-size );line-height:var( --e-global-typography-9405336-line-height );}.elementor-kit-419 h2{font-size:var( --e-global-typography-9ce4bd1-font-size );line-height:var( --e-global-typography-9ce4bd1-line-height );}.elementor-kit-419 h3{font-size:var( --e-global-typography-ddf0a82-font-size );line-height:var( --e-global-typography-ddf0a82-line-height );}.elementor-kit-419 h4{font-size:var( --e-global-typography-de3954a-font-size );line-height:var( --e-global-typography-de3954a-line-height );}.elementor-kit-419 h5{font-size:var( --e-global-typography-f1a7a5e-font-size );line-height:var( --e-global-typography-f1a7a5e-line-height );}.elementor-kit-419 h6{font-size:var( --e-global-typography-9c037e2-font-size );line-height:var( --e-global-typography-9c037e2-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-419{--e-global-typography-4f414b6-font-size:3rem;--e-global-typography-9ce4bd1-font-size:2.5rem;--e-global-typography-cf1eb0c-font-size:2.2rem;--e-global-typography-a38d4af-font-size:1.2rem;font-size:var( --e-global-typography-33ea5ef-font-size );line-height:var( --e-global-typography-33ea5ef-line-height );}.elementor-kit-419 h1{font-size:var( --e-global-typography-9405336-font-size );line-height:var( --e-global-typography-9405336-line-height );}.elementor-kit-419 h2{font-size:var( --e-global-typography-9ce4bd1-font-size );line-height:var( --e-global-typography-9ce4bd1-line-height );}.elementor-kit-419 h3{font-size:var( --e-global-typography-ddf0a82-font-size );line-height:var( --e-global-typography-ddf0a82-line-height );}.elementor-kit-419 h4{font-size:var( --e-global-typography-de3954a-font-size );line-height:var( --e-global-typography-de3954a-line-height );}.elementor-kit-419 h5{font-size:var( --e-global-typography-f1a7a5e-font-size );line-height:var( --e-global-typography-f1a7a5e-line-height );}.elementor-kit-419 h6{font-size:var( --e-global-typography-9c037e2-font-size );line-height:var( --e-global-typography-9c037e2-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-widget-theme-post-content a {
    color: inherit;
    text-decoration: underline;
}

.elementor-widget-theme-post-content a:hover {
    color: inherit;
    text-decoration: none;
}


/* ===== Rive fallback - voor als gebruikers 'minder beweging' aan hebben ==== */
@media (prefers-reduced-motion: no-preference) {
  .motiq-rive-player__fallback { display: none !important; }
}


.elementor-widget-theme-post-content ul, .elementor-widget-theme-post-content ol {
    margin: 1em;
    padding-left: 1em;
}


/* ===== Narrowcasting ===== */
.narrowcasting .jet-listing-dynamic-field__content ul {
    margin: 1em;
    padding-left: 1em;
}

.elementor-menu-toggle {
    padding: 14px;
}


/* ===== Navmenu vereniging ===== */
.dpp-subpages-menu a {
  background: none;
  border-bottom: 0 !important;
}


/* ===== Afvalkalender [dpp_afvalkalender] ===== */
.dpp-afval--leeg { color: #6b7280; font-size: .9em; }
.dpp-afval__lijst { list-style: none; padding: 0; margin: 0; }
.dpp-afval__item { display: flex; align-items: center; gap: .75em; padding: 16px 8px; border-bottom: 1px solid rgba(255,255,255,.25); }
.dpp-afval .dpp-afval__icoon { width: 34px; height: 34px; flex-shrink: 0; }
.dpp-afval__type { flex: 1; font-weight: 600; font-family: "Ibarra Real Nova", sans-serif; color: white; font-size: 1.2em; letter-spacing: -0.01em; line-height: 1.2em; }
.dpp-afval__datum { font-family: "Hanken Grotesk", Sans-serif; font-size: 0.9rem; font-weight: 400; line-height: 1.5em; color: rgb(229, 237, 72); }
.dpp-afval__bron { font-family: "Hanken Grotesk", Sans-serif; font-size: 0.7rem; font-weight: 400; line-height: 1.5em; color: rgba(255, 255, 255,.5); margin-top: 12px; }
.dpp-afval .dpp-afval__titel, .dpp-afval__icoon { display: none; }


/* ===== Gemeentenieuws [dpp_gemeentenieuws] ===== */
.dpp-gemeentenieuws--leeg { color: #6b7280; font-size: .9em; }
.dpp-gemeentenieuws__lijst { list-style: none; padding: 0; margin: 0; }
.dpp-gemeentenieuws__item { padding: .6em 0; border-bottom: 1px solid #f3f4f6; }
.dpp-gemeentenieuws .dpp-gemeentenieuws__link { text-decoration: none; color: inherit; }
.dpp-gemeentenieuws__item-titel { font-weight: 700; }
.dpp-gemeentenieuws__datum { display: block; color: #9ca3af; font-size: .85em; }
.dpp-gemeentenieuws__bron { color: #9ca3af; font-size: .7em; margin-top: .4em; }


/* ===== Dorpsmededelingen [dpp_mededelingen] ===== */
.dpp-mededelingen--leeg { color: #6b7280; font-size: .9em; }
.dpp-mededelingen__lijst { list-style: none; padding: 0; margin: 0; }
.dpp-mededeling { padding: .85em 0; border-bottom: 1px solid #f3f4f6; }
.dpp-mededelingen .dpp-mededeling__link { text-decoration: none; color: inherit; }
.dpp-mededeling__kop { display: flex; align-items: baseline; gap: .5em; }
.dpp-mededeling__titel { font-size: 1.05em; }
.dpp-mededeling__datum { color: #9ca3af; font-size: .85em; margin: .15em 0; }
.dpp-mededeling__excerpt { color: #4b5563; font-size: .95em; }


/* ===== Weer: compact [dpp_weer] ===== */
.dpp-weer--leeg { color: #6b7280; font-size: .9em; }
.dpp-weer--compact { display: inline-flex; align-items: center; gap: .6em; font-size: 1.05em; }
.dpp-weer__icoon { font-size: 1.8em; line-height: 1; }
.dpp-weer__plaats { display: block; color: #6b7280; font-size: .8em; }


/* ===== Weer: verwachting [dpp_weer_verwachting] ===== */
.dpp-weer-verwachting__dagen { display: flex; gap: .75em; flex-wrap: wrap; }
.dpp-weer-dag { flex: 1; min-width: 90px; text-align: center; padding: .75em .5em; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.dpp-weer-dag__dag { font-weight: 600; font-size: .9em; }
.dpp-weer-dag__icoon { font-size: 2em; line-height: 1.3; }
.dpp-weer-dag__min { color: #9ca3af; }
.dpp-weer-dag__regen { color: #3b82f6; font-size: .8em; }
.dpp-weer__bron { color: #9ca3af; font-size: .7em; margin-top: .4em; }

.dpp-weer-regel__datum, .dpp-weer-regel__omschrijving { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1199px) { .dpp-weer-regel { font-size: 14px; } }


/* ===== Lokale diensten: interactieve kaart [dpp_diensten] / [dpp_diensten_kaart] / [dpp_diensten_lijst] =====
 * Kleur en icoon per categorie stel je in bij Lokale diensten → Categorieën (alleen huisstijlkleuren).
 * De plugin geeft per categorie --dpp-cat-kleur (achtergrond) en --dpp-cat-tekst (wit of Nachtweide,
 * wat het best leesbaar is). Kleuren en titels volgen de globale stijlen van de Elementor-kit:
 * tekst = Primair (Nachtweide), iconen/links = Secundair (Waterlelie), titels = de stijl van de
 * listingtitels (Ibarra Real Nova 1,2rem vet). Kaartjes zoals de listings: wit, 4px rond, zachte schaduw. */
.dpp-diensten {
  --dpp-tekst: var(--e-global-color-primary, #152F25);
  --dpp-accent: var(--e-global-color-secondary, #1F5D4B);
  --dpp-titel-font: var(--e-global-typography-c11bf25-font-family, "Ibarra Real Nova"), serif;
  color: var(--dpp-tekst);
}
.dpp-diensten--leeg { color: #6b7280; }
.dpp-diensten .dpp-icoon { width: 1em; height: 1em; fill: currentColor; flex: none; }

/* Filterknoppen: wit met het kaartbolletje van de categorie; actief = Nachtweide */
.dpp-diensten__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.dpp-diensten .dpp-filter { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 5px 14px 5px 5px; border: 1px solid rgba(21, 47, 37, .15); border-radius: 99px; background: #fff; color: var(--dpp-tekst); font-family: inherit; font-size: .875rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: border-color .15s, background-color .15s, color .15s; }
.dpp-diensten .dpp-filter[data-cat=""] { padding: 9px 16px; }
.dpp-diensten .dpp-filter:hover,
.dpp-diensten .dpp-filter:focus { background: #fff; color: var(--dpp-tekst); border-color: var(--dpp-tekst); }
.dpp-diensten .dpp-filter:focus-visible { outline: 2px solid var(--dpp-accent); outline-offset: 2px; }
.dpp-diensten .dpp-filter.actief,
.dpp-diensten .dpp-filter.actief:hover,
.dpp-diensten .dpp-filter.actief:focus { background: var(--dpp-tekst); border-color: var(--dpp-tekst); color: #fff; }

/* Bolletje met icoon: in de filterknop en als marker op de kaart */
.dpp-diensten .dpp-stip,
.dpp-diensten .dpp-marker { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border-radius: 50%; background: var(--dpp-cat-kleur); color: var(--dpp-cat-tekst); }
.dpp-diensten .dpp-stip { width: 26px; height: 26px; font-size: 12px; }
.dpp-diensten .dpp-filter.actief .dpp-stip { box-shadow: 0 0 0 2px #fff; }

/* Kaart. z-index houdt de kaart onder een sticky header */
.dpp-diensten__kaart { height: 480px; border-radius: 4px; overflow: hidden; z-index: 0; box-shadow: 0 16px 16px rgba(0, 0, 0, .05); }
.dpp-diensten .leaflet-container { font-family: inherit; }
.dpp-diensten .dpp-marker-houder { background: none; border: 0; }
.dpp-diensten .dpp-marker-houder:focus { outline: none; }
.dpp-diensten .dpp-marker { width: 32px; height: 32px; font-size: 14px; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .35); transition: scale .15s; }
.dpp-diensten .dpp-marker-houder:hover .dpp-marker,
.dpp-diensten .dpp-marker-houder.is-open .dpp-marker { scale: 1.15; }
.dpp-diensten .dpp-marker-houder:focus-visible .dpp-marker { outline: 2px solid var(--dpp-tekst); outline-offset: 2px; }
@media (max-width: 767px) {
  .dpp-diensten__kaart { height: 380px; }
}

/* Popup op de kaart. De padding is nodig: zonder padding "lekt" de marge van de inhoud naar buiten
 * (margin collapse) en zitten label en kruisje tegen de rand */
.dpp-diensten .leaflet-popup-content-wrapper { padding: 8px; border-radius: 4px; box-shadow: 0 8px 24px rgba(0, 0, 0, .15); }
.dpp-diensten .leaflet-popup-content { margin: 16px 20px 16px 16px; color: var(--dpp-tekst); font-size: .875rem; line-height: 1.5; }
.dpp-diensten .leaflet-container a.leaflet-popup-close-button { top: 4px; right: 4px; color: var(--dpp-tekst); }
.dpp-kaart-popup { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.dpp-diensten .dpp-kaart-popup__naam { margin: 0; padding-right: 12px; font-family: var(--dpp-titel-font); font-size: 1.1rem; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.dpp-kaart-popup__acties { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 4px; }
.dpp-diensten .leaflet-container a.dpp-kaart-popup__actie { display: inline-flex; align-items: center; gap: 6px; color: var(--dpp-accent); font-weight: 600; text-decoration: none; }
.dpp-diensten .leaflet-container a.dpp-kaart-popup__actie:hover { text-decoration: underline; }

/* Gegevensregels met icoon (popup + kaartje). Dubbele class: de kit geeft lijsten in de berichtinhoud marge en inspringing */
.dpp-diensten .dpp-kaart-popup__gegevens,
.dpp-diensten .dpp-dienst-kaart__gegevens { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.dpp-diensten .dpp-kaart-popup__gegevens li,
.dpp-diensten .dpp-dienst-kaart__gegevens li { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 0; }
.dpp-diensten .dpp-kaart-popup__gegevens li > span,
.dpp-diensten .dpp-dienst-kaart__gegevens li > span { min-width: 0; }
.dpp-diensten .dpp-kaart-popup__gegevens .dpp-icoon,
.dpp-diensten .dpp-dienst-kaart__gegevens .dpp-icoon { margin-top: .25em; color: var(--dpp-accent); }
.dpp-diensten .leaflet-container .dpp-kaart-popup__gegevens a,
.dpp-diensten .dpp-dienst-kaart__link { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.dpp-diensten .leaflet-container .dpp-kaart-popup__gegevens a:hover,
.dpp-diensten .dpp-dienst-kaart__link:hover { color: var(--dpp-accent); text-decoration: underline; }

/* Categorielabel (pilletje), zoals de labels in de nieuws- en activiteitenkaartjes */
.dpp-diensten .dpp-dienst-label { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 99px; background: var(--dpp-cat-kleur, #e5e7eb); color: var(--dpp-cat-tekst, #152F25); font-size: .75rem; font-weight: 600; line-height: 1.3; }

/* Kaartjes onder de kaart */
.dpp-diensten__lijst-wrap { margin-top: 32px; }
.dpp-diensten__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.dpp-dienst-kaart { display: flex; flex-direction: column; overflow: hidden; border-radius: 4px; background: #fff; box-shadow: 0 16px 16px rgba(0, 0, 0, .05); }
.dpp-dienst-kaart .dpp-dienst-kaart__foto { display: block; width: 100%; height: 160px; object-fit: cover; }
.dpp-dienst-kaart__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; }
.dpp-diensten .dpp-dienst-kaart__naam { margin: 0; color: var(--dpp-tekst); font-family: var(--dpp-titel-font); font-size: 1.2rem; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.dpp-dienst-kaart__omschrijving { margin: 0; font-size: .9rem; }
.dpp-dienst-kaart__gegevens { width: 100%; font-size: .875rem; line-height: 1.5; }
.dpp-dienst-kaart__openingstijden span { white-space: pre-line; }
.dpp-diensten .dpp-dienst-kaart__opkaart { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 4px 0 0; border: 0; border-radius: 0; background: none; color: var(--dpp-accent); font-family: inherit; font-size: .875rem; font-weight: 600; line-height: 1.5; cursor: pointer; }
.dpp-diensten .dpp-dienst-kaart__opkaart:hover,
.dpp-diensten .dpp-dienst-kaart__opkaart:focus { background: none; color: var(--dpp-accent); text-decoration: underline; }


/* ===== Aanmeldformulier [dpp_aanmelden] ===== */
.dpp-aanmelden { max-width: 560px; border: 1px solid #e5e7eb; border-radius: 12px; padding: 1.5em; background: #fff; }
.dpp-aanmelden__titel { margin-top: 0; }
.dpp-aanmelden__melding { margin: 0; }
.dpp-aanmelden__melding--ok { color: #15803d; font-weight: 600; }
.dpp-aanmelden__fout { color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; padding: .6em .8em; border-radius: 8px; }
.dpp-aanmelden__veld { margin: .6em 0; }
.dpp-aanmelden__label { display: block; font-weight: 600; margin-bottom: .2em; }
.dpp-aanmelden__verplicht { color: #b91c1c; }
.dpp-aanmelden .dpp-aanmelden__input { width: 100%; padding: .5em; border: 1px solid #d1d5db; border-radius: 8px; }
.dpp-aanmelden__captcha { margin: .6em 0; }
.dpp-aanmelden .dpp-aanmelden__btn { background: #111827; color: #fff; border: 0; padding: .7em 1.5em; border-radius: 8px; font-size: 1em; cursor: pointer; }
/* Hover/focus van de knop: nu gelijk aan normaal; hier een hover-kleur kiezen */
.dpp-aanmelden .dpp-aanmelden__btn:hover,
.dpp-aanmelden .dpp-aanmelden__btn:focus { background: #111827; color: #fff; }

.dpp-aanmelden .dpp-aanmelden__input::placeholder { color: #6b7280; opacity: 1; }


/* ===== OPTIONEEL: donkere variant (afval / nieuws / mededelingen) =====
 * Geef de Elementor-container met donkere achtergrond de CSS-class "dpp-donker"
 * (container → Geavanceerd → CSS-classes). Alles daarbinnen wordt licht. */
.dpp-donker { color: #fff; }
.dpp-donker .dpp-afval__datum,
.dpp-donker .dpp-mededeling__excerpt { color: rgba(255,255,255,.85); }
.dpp-donker .dpp-afval__bron,
.dpp-donker .dpp-gemeentenieuws__datum,
.dpp-donker .dpp-gemeentenieuws__bron,
.dpp-donker .dpp-mededeling__datum { color: rgba(255,255,255,.65); }
.dpp-donker .dpp-afval__item,
.dpp-donker .dpp-gemeentenieuws__item,
.dpp-donker .dpp-mededeling { border-bottom-color: rgba(255,255,255,.15); }


/* ===== Kalender [dpp_kalender] — start in de Koningslust-huisstijl =====
 * FullCalendar zet de class .fc op hetzelfde blok als .dpp-kalender: schrijf dus .dpp-kalender.fc (zonder spatie).
 * Kleuren per activiteit = Kleur 1 van de vereniging (komt uit de plugin). */
.dpp-kalender {
  --fc-button-bg-color: #1F5D4B;          /* Waterlelie */
  --fc-button-border-color: #1F5D4B;
  --fc-button-hover-bg-color: #152F25;    /* Nachtweide */
  --fc-button-hover-border-color: #152F25;
  --fc-button-active-bg-color: #152F25;
  --fc-button-active-border-color: #152F25;
  --fc-today-bg-color: #F9F5EF;           /* Zacht */
  --fc-now-indicator-color: #B22930;      /* Kareel */
  --fc-neutral-bg-color: #F9F5EF;
  --fc-list-event-hover-bg-color: #F9F5EF;
  --fc-border-color: #e5e7eb;
}
.dpp-kalender .fc-toolbar-title { font-size: 1.5em; }
.dpp-kalender.fc .fc-button { text-transform: none; box-shadow: none; }
/* Linkkleur van thema/Elementor niet in de kalender (dagnummers, lijsttitels) */
.dpp-kalender.fc a { color: inherit; text-decoration: none; }
.dpp-kalender.fc .fc-event { cursor: pointer; }
.dpp-kalender.fc .fc-list-event-time { white-space: normal; }
@media (max-width: 640px) {
  .dpp-kalender.fc .fc-toolbar-title { font-size: 1.15em; }
}


/* ===== Tabs "Overzicht / Kalender" in de titelregel (pagina Activiteiten) =====
 * Geef de Tabs-widget de CSS-class "dpp-tabs-in-titel" (widget → Geavanceerd → CSS-classes).
 * Desktop: de tabknoppen staan rechts in de regel van de titel in plaats van erboven.
 * top: 8px = (titelhoogte 48px − knophoogte 32px) / 2; past de titelgrootte, pas dit dan aan.
 * Tablet en telefoon blijven standaard: daar staan de filters boven de inhoud
 * en maakt Elementor er op de telefoon een accordeon van. */
@media (min-width: 1025px) {
  .dpp-tabs-in-titel { position: relative; }
  .dpp-tabs-in-titel .e-n-tabs-heading { position: absolute; top: 8px; right: 0; z-index: 2; }
}
/* Telefoon: geen tabknoppen; alleen het Overzicht (de eerste tab) is zichtbaar.
 * Elementor zet de knoppen hier anders als accordeon onder elkaar (Kalender pas onder de hele lijst). */
@media (max-width: 767px) {
  .dpp-tabs-in-titel .e-n-tab-title { display: none; }
}


/* ===== Documenten per vereniging [dpp_documenten] =====
 * Lijst met statuten, inschrijfformulieren e.d. (JetEngine-repeater "documenten" op de vereniging). */
.dpp-documenten { --dpp-tekst: var(--e-global-color-primary, #152F25); --dpp-accent: var(--e-global-color-secondary, #1F5D4B); }
.dpp-documenten .dpp-documenten__kop { margin: 0 0 12px; }
.dpp-documenten .dpp-documenten__lijst { list-style: none; margin: 0; padding: 0; }
.dpp-documenten .dpp-document { margin: 0; padding: 0; border-bottom: 1px solid rgba(21, 47, 37, .12); }
.dpp-documenten .dpp-document__link { display: flex; align-items: center; gap: 12px; padding: 12px 4px; color: var(--dpp-tekst); text-decoration: none; }
.dpp-documenten .dpp-document__link:hover .dpp-document__naam { color: var(--dpp-accent); text-decoration: underline; }
.dpp-documenten .dpp-document__icoon { display: inline-flex; flex: none; color: var(--dpp-accent); font-size: 1.4em; }
.dpp-documenten .dpp-document__icoon svg { width: 1em; height: 1em; fill: currentColor; }
.dpp-documenten .dpp-document__naam { flex: 1; font-weight: 600; }
.dpp-documenten .dpp-document__info { flex: none; color: rgba(21, 47, 37, .65); font-size: .85em; white-space: nowrap; }


/* ===== Listings: hover op de hele kaart = hover van het pijl-icoon =====
 * De kaarten zijn helemaal klikbaar (JetEngine-overlay). Kleuren = de hoverkleuren van het icoon
 * in Elementor; pas ze hier ook aan als je ze daar wijzigt.
 * 36fdb12 = Activiteiten (579 + kopie 1770), 02a8926 = Verenigingen (714),
 * ad0485e = Nieuws (638 + kopie 1768). */
.jet-listing-grid__item .elementor-view-stacked .elementor-icon svg { transition: fill .3s; }
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-36fdb12.elementor-view-stacked .elementor-icon,
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-02a8926.elementor-view-stacked .elementor-icon { background-color: var(--e-global-color-c501808); color: var(--e-global-color-9187906); }
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-36fdb12.elementor-view-stacked .elementor-icon svg,
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-02a8926.elementor-view-stacked .elementor-icon svg { fill: var(--e-global-color-9187906); }
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-ad0485e.elementor-view-stacked .elementor-icon { background-color: var(--e-global-color-9bcc967); color: var(--e-global-color-02b0ed1); }
.jet-listing-grid__item:is(:hover, :focus-within) .elementor-element.elementor-element-ad0485e.elementor-view-stacked .elementor-icon svg { fill: var(--e-global-color-02b0ed1); }


/* ===== Knoppen: pijltje schuift 2px naar rechts bij hover ===== */
@media (prefers-reduced-motion: no-preference) {
  .elementor-button .elementor-button-icon :is(svg, i)[class*="arrow-right"] { transition: transform .25s ease; }
  .elementor-button:is(:hover, :focus-visible) .elementor-button-icon :is(svg, i)[class*="arrow-right"] { transform: translateX(2px); }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Recline';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-Italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-SemiBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-SemiBoldItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-MediumItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Recline';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Recline-LightItalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Betterlett';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://koningslust.nl/wp-content/uploads/2026/09/Betterlett.woff2') format('woff2');
}
/* End Custom Fonts CSS */