/* ==========================================================================
   Digisens designsysteem
   Huisstijl: #312783 hoofdkleur, #b41d1f accent, Raleway koppen, Lato tekst.
   Actief op pagina's met de body-class .ds-nieuwe-pagina of .ds-home-uitbreiding.
   ========================================================================== */

.ds-nieuwe-pagina, .ds-home-uitbreiding, .ds-nieuws-index, .ds-artikel-pagina{
  --blauw:#312783; --blauw-diep:#241d63; --blauw-licht:#4a3fa8;
  --rood:#b41d1f; --rood-diep:#8f1618;
  --inkt:#22222c; --tekst:#3c3c48; --grijs:#6c6c7c; --zacht:#8c8c9c;
  --lijn:#e3e3ee; --vlak:#f5f5fa; --vlak-2:#eeeef7; --wit:#fff;
  --radius:10px; --radius-l:16px;
  --schaduw:0 1px 2px rgba(20,20,60,.05);
  --schaduw-op:0 14px 34px rgba(49,39,131,.13);
  --breed:1120px; --smal:760px;
}

/* Astra-container neutraliseren zodat secties over de volle breedte kunnen ---- */
.ds-nieuwe-pagina .site-content .ast-container,
.ds-home-uitbreiding .site-content .ast-container,
.ds-nieuws-index .site-content .ast-container{max-width:100%;padding-left:0;padding-right:0}
/* Astra's rasterrij heeft negatieve marges; die zouden de hero buiten beeld duwen. */
.ds-nieuwe-pagina .ast-row,.ds-home-uitbreiding .ast-row,.ds-nieuws-index .ast-row{margin-left:0;margin-right:0}
.ds-nieuwe-pagina .site-main .ast-article-single,
.ds-home-uitbreiding .site-main .ast-article-single{padding:0;border:0;margin:0}
.ds-nieuwe-pagina .ast-single-post-title,
.ds-nieuwe-pagina .entry-header .entry-title,
.ds-nieuwe-pagina .ast-archive-description{display:none!important}
.ds-nieuwe-pagina .entry-content>*:first-child{margin-top:0}
.ds-nieuwe-pagina .entry-content>*,
.ds-home-uitbreiding .entry-content>*{margin-bottom:0}

/* ---------------------------------------------------------------- BASIS --- */
.ds-sec{font-family:'Lato',sans-serif;color:var(--tekst);line-height:1.7;padding:4.5rem 1.5rem}
.ds-sec--vlak{background:var(--vlak)}
.ds-sec--diep{background:linear-gradient(135deg,var(--blauw) 0%,var(--blauw-diep) 100%);color:#fff}
.ds-sec--strak{padding:3rem 1.5rem}
.ds-in{max-width:var(--breed);margin:0 auto}
.ds-in--smal{max-width:var(--smal)}

.ds-sec h2{font-family:'Raleway',sans-serif;color:var(--blauw);font-size:clamp(1.55rem,3.1vw,2.1rem);
  font-weight:800;line-height:1.2;letter-spacing:-.015em;margin:0 0 .9rem}
.ds-sec h3{font-family:'Raleway',sans-serif;color:var(--blauw);font-size:1.16rem;font-weight:700;
  line-height:1.35;margin:0 0 .5rem}
.ds-sec--diep h2,.ds-sec--diep h3{color:#fff}
.ds-sec p{margin:0 0 1.15rem;font-size:1.03rem}
.ds-sec--diep p{color:rgba(255,255,255,.88)}
.ds-sec a{color:var(--blauw);text-decoration:underline;text-underline-offset:3px}
.ds-sec a:hover{color:var(--rood)}
.ds-sec--diep a{color:#fff}
.ds-lead{font-size:1.14rem;line-height:1.65;color:var(--grijs);max-width:66ch;margin:0 0 2.2rem}
.ds-sec--diep .ds-lead{color:rgba(255,255,255,.86)}
.ds-kop{margin-bottom:2.4rem}
.ds-kop .ds-lead{margin-bottom:0}
.ds-oog{display:inline-block;font-family:'Raleway',sans-serif;font-size:.76rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rood);margin:0 0 .7rem}
.ds-sec--diep .ds-oog{color:#ff9a9c}

/* --------------------------------------------------------------- KNOPPEN -- */
.ds-knop{display:inline-flex;align-items:center;gap:.5rem;margin:.35rem .6rem .35rem 0;
  padding:.9rem 1.75rem;background:var(--rood);color:#fff!important;font-family:'Raleway',sans-serif;
  font-weight:700;font-size:1rem;border-radius:6px;text-decoration:none!important;border:2px solid var(--rood);
  box-shadow:0 4px 14px rgba(180,29,31,.26);transition:all .17s}
.ds-knop:hover{background:var(--rood-diep);border-color:var(--rood-diep);transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(180,29,31,.34);color:#fff!important}
.ds-knop--rand{background:transparent;border-color:rgba(255,255,255,.8);box-shadow:none}
.ds-knop--rand:hover{background:#fff;color:var(--blauw)!important;border-color:#fff;box-shadow:none}
.ds-knop--blauw{background:var(--blauw);border-color:var(--blauw);box-shadow:0 4px 14px rgba(49,39,131,.24)}
.ds-knop--blauw:hover{background:var(--blauw-diep);border-color:var(--blauw-diep);box-shadow:0 8px 20px rgba(49,39,131,.3)}
.ds-knop--leeg{background:transparent;color:var(--blauw)!important;border-color:#cdcde2;box-shadow:none}
.ds-knop--leeg:hover{background:var(--blauw);color:#fff!important;border-color:var(--blauw);box-shadow:none}

/* ------------------------------------------------------------------ HERO -- */
.ds-hero{position:relative;overflow:hidden;color:#fff;padding:4.6rem 1.5rem 4.2rem;
  background:linear-gradient(128deg,#312783 0%,#241d63 58%,#1c1750 100%);font-family:'Lato',sans-serif}
.ds-hero:before{content:"";position:absolute;right:-140px;top:-160px;width:460px;height:460px;
  border:64px solid rgba(255,255,255,.05);border-radius:50%}
.ds-hero:after{content:"";position:absolute;right:60px;bottom:-190px;width:300px;height:300px;
  background:radial-gradient(circle,rgba(180,29,31,.34) 0%,rgba(180,29,31,0) 70%);border-radius:50%}
.ds-hero-in{position:relative;z-index:2;max-width:var(--breed);margin:0 auto}
.ds-hero--groot .ds-hero-in{max-width:var(--breed)}
.ds-kruimels{font-size:.83rem;letter-spacing:.02em;color:rgba(255,255,255,.66);margin:0 0 1.1rem}
.ds-kruimels a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
.ds-kruimels a:hover{color:#fff;border-color:#fff}
.ds-kruimels span{margin:0 .45rem;opacity:.5}
.ds-hero h1{font-family:'Raleway',sans-serif!important;color:#fff!important;font-weight:800!important;
  font-size:clamp(2rem,4.6vw,3.15rem)!important;line-height:1.1!important;letter-spacing:-.022em;
  margin:0 0 1.1rem!important;max-width:19ch}
.ds-hero--breed h1{max-width:24ch}
.ds-hero p.ds-hero-lead{font-size:clamp(1.05rem,1.7vw,1.24rem);line-height:1.6;color:rgba(255,255,255,.9);
  max-width:60ch;margin:0 0 1.9rem}
.ds-hero-streep{width:74px;height:4px;background:var(--rood);border-radius:2px;margin:0 0 1.5rem}
.ds-hero-knoppen{margin-bottom:.5rem}
.ds-hero-usp{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin-top:2.2rem;padding-top:1.7rem;
  border-top:1px solid rgba(255,255,255,.16);font-size:.95rem;color:rgba(255,255,255,.84)}
.ds-hero-usp span{display:inline-flex;align-items:center;gap:.5rem}
.ds-hero-usp span:before{content:"";width:1.05rem;height:1.05rem;flex:0 0 auto;border-radius:50%;
  background:rgba(255,255,255,.16) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/.62rem no-repeat}

/* ------------------------------------------------------------- CIJFERBAND - */
.ds-cijfers{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.4rem}
.ds-cijfer{text-align:center}
.ds-cijfer b{display:block;font-family:'Raleway',sans-serif;font-size:2.3rem;font-weight:800;
  color:var(--blauw);line-height:1.1;letter-spacing:-.02em}
.ds-sec--diep .ds-cijfer b{color:#fff}
.ds-cijfer span{display:block;font-size:.94rem;color:var(--grijs);margin-top:.35rem}
.ds-sec--diep .ds-cijfer span{color:rgba(255,255,255,.78)}

/* ---------------------------------------------------------------- KAARTEN - */
.ds-grid{display:grid;gap:1.15rem}
.ds-grid--3{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}
.ds-grid--4{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}
.ds-grid--2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.ds-kaart{display:flex;flex-direction:column;padding:1.7rem 1.6rem 1.5rem;background:var(--wit);
  border:1px solid var(--lijn);border-radius:var(--radius);box-shadow:var(--schaduw);
  text-decoration:none!important;transition:transform .18s,box-shadow .18s,border-color .18s}
a.ds-kaart:hover{transform:translateY(-4px);box-shadow:var(--schaduw-op);border-color:#c6c6e2}
.ds-kaart-icoon{width:2.9rem;height:2.9rem;border-radius:9px;background:var(--vlak-2);display:flex;
  align-items:center;justify-content:center;margin-bottom:1rem;flex:0 0 auto}
.ds-kaart-icoon svg{width:1.5rem;height:1.5rem;stroke:var(--blauw);fill:none;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
a.ds-kaart:hover .ds-kaart-icoon{background:var(--blauw)}
a.ds-kaart:hover .ds-kaart-icoon svg{stroke:#fff}
.ds-kaart h3{margin:0 0 .5rem}
.ds-kaart p{font-size:.96rem;line-height:1.6;color:var(--grijs);margin:0;flex:1}
.ds-kaart-meer{margin-top:1rem;font-family:'Raleway',sans-serif;font-size:.87rem;font-weight:700;color:var(--rood)}
.ds-kaart-meer:after{content:" \2192";transition:margin .15s}
a.ds-kaart:hover .ds-kaart-meer:after{margin-left:.25rem}

/* --------------------------------------------------------------- STAPPEN -- */
.ds-stappen{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:1.6rem;counter-reset:stap}
.ds-stap{position:relative;padding-top:3.3rem}
.ds-stap:before{counter-increment:stap;content:counter(stap);position:absolute;top:0;left:0;
  width:2.5rem;height:2.5rem;border-radius:50%;background:var(--blauw);color:#fff;
  font-family:'Raleway',sans-serif;font-weight:800;font-size:1.05rem;display:flex;align-items:center;justify-content:center}
.ds-stap h3{margin-bottom:.4rem}
.ds-stap p{font-size:.96rem;color:var(--grijs);margin:0}

/* ---------------------------------------------------------------- LIJSTEN - */
.ds-sec ul.ds-vink{list-style:none;margin:0 0 1.4rem;padding:0}
.ds-sec ul.ds-vink li{position:relative;padding-left:1.85rem;margin-bottom:.75rem;font-size:1.01rem}
.ds-sec ul.ds-vink li:before{content:"";position:absolute;left:0;top:.36em;width:1.15rem;height:1.15rem;border-radius:50%;
  background:var(--blauw) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/.68rem no-repeat}
.ds-sec--diep ul.ds-vink li:before{background-color:var(--rood)}
.ds-sec ul.ds-vink li strong{color:var(--inkt)}
.ds-sec--diep ul.ds-vink li strong{color:#fff}

/* ------------------------------------------------------------------ TAGS -- */
.ds-tags{display:flex;flex-wrap:wrap;gap:.55rem}
.ds-tag{display:inline-block;padding:.55rem 1.15rem;background:var(--wit);border:1px solid #d6d6e6;
  border-radius:999px;color:var(--blauw);font-size:.95rem;font-weight:600;text-decoration:none!important;transition:all .15s}
.ds-tag:hover{background:var(--blauw);border-color:var(--blauw);color:#fff!important;transform:translateY(-1px)}

/* ------------------------------------------------------------------- FAQ -- */
.ds-faq{border-top:1px solid var(--lijn)}
.ds-faq details{border-bottom:1px solid var(--lijn)}
.ds-faq summary{list-style:none;cursor:pointer;padding:1.15rem 2.6rem 1.15rem 0;position:relative;
  font-family:'Raleway',sans-serif;font-weight:700;font-size:1.06rem;color:var(--blauw)}
.ds-faq summary::-webkit-details-marker{display:none}
.ds-faq summary:after{content:"";position:absolute;right:.5rem;top:1.45rem;width:.7rem;height:.7rem;
  border-right:2.5px solid var(--rood);border-bottom:2.5px solid var(--rood);transform:rotate(45deg);transition:transform .2s}
.ds-faq details[open] summary:after{transform:rotate(-135deg);top:1.7rem}
.ds-faq details p{margin:0 0 1.15rem;color:var(--tekst);font-size:1rem}
.ds-faq summary:hover{color:var(--rood)}

/* -------------------------------------------------------------- CTA-BAND -- */
.ds-cta{position:relative;overflow:hidden;padding:3.4rem 1.5rem;
  background:linear-gradient(128deg,var(--blauw) 0%,var(--blauw-diep) 100%);color:#fff;font-family:'Lato',sans-serif}
.ds-cta:before{content:"";position:absolute;right:-90px;bottom:-120px;width:340px;height:340px;
  border:52px solid rgba(255,255,255,.055);border-radius:50%}
.ds-cta-in{position:relative;z-index:2;max-width:var(--breed);margin:0 auto;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:1.6rem}
.ds-cta-tekst{flex:1 1 420px}
.ds-cta h2{color:#fff;margin:0 0 .5rem;font-family:'Raleway',sans-serif;font-weight:800;font-size:clamp(1.5rem,3vw,2rem)}
.ds-cta p{margin:0;color:rgba(255,255,255,.88);font-size:1.05rem}
.ds-cta-knoppen{flex:0 0 auto}

/* -------------------------------------------------------------- CONTACT --- */
.ds-vestiging{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;
  padding:1.8rem;background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);box-shadow:var(--schaduw)}
.ds-vestiging h3{font-size:.79rem;text-transform:uppercase;letter-spacing:.1em;color:var(--zacht);margin-bottom:.5rem}
.ds-vestiging p{margin:0;font-size:1rem;line-height:1.65}
.ds-vestiging a{font-weight:600}

/* --------------------------------------------------------------- TEKSTEN -- */
.ds-prose{max-width:var(--smal);margin:0 auto}
.ds-prose h2{margin-top:2.6rem}
.ds-prose h2:first-child{margin-top:0}
.ds-prose .ds-intro{font-size:1.16rem;line-height:1.65;color:var(--inkt);
  border-left:4px solid var(--rood);padding:.15rem 0 .15rem 1.2rem;margin:0 0 2rem}

/* --------------------------------------------------------------- KOLOMMEN- */
.ds-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.6rem;align-items:start}

/* ---------------------------------------------------------- FORMULIEREN --- */
.ds-form{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);
  padding:1.9rem;box-shadow:var(--schaduw)}
.ds-form .ds-veld{margin-bottom:1.05rem}
.ds-form label{display:block;font-family:'Raleway',sans-serif;font-weight:700;font-size:.9rem;
  color:var(--inkt);margin-bottom:.35rem}
.ds-form input[type=text],.ds-form input[type=email],.ds-form input[type=tel],.ds-form textarea,.ds-form select{
  width:100%;padding:.75rem .9rem;border:1px solid #cfcfe0;border-radius:6px;font-family:'Lato',sans-serif;
  font-size:1rem;color:var(--inkt);background:#fff;transition:border-color .15s,box-shadow .15s}
.ds-form input:focus,.ds-form textarea:focus,.ds-form select:focus{outline:none;border-color:var(--blauw);
  box-shadow:0 0 0 3px rgba(49,39,131,.13)}
.ds-form textarea{min-height:130px;resize:vertical}
.ds-form .ds-honing{position:absolute!important;left:-9999px!important}
.ds-form button{border:0;cursor:pointer;font-family:'Raleway',sans-serif}
.ds-form .ds-klein{font-size:.86rem;color:var(--zacht);margin:.9rem 0 0}
.ds-melding{padding:1rem 1.2rem;border-radius:8px;margin-bottom:1.3rem;font-size:1rem}
.ds-melding--goed{background:#e9f6ec;border:1px solid #b9e2c4;color:#1d6b32}
.ds-melding--fout{background:#fdeaea;border:1px solid #f3c2c2;color:#8f1618}

/* ------------------------------------------------------------ RESPONSIEF -- */
@media (max-width:900px){
  .ds-sec{padding:3.1rem 1.2rem}
  .ds-hero{padding:3rem 1.2rem 2.7rem}
  .ds-cta{padding:2.6rem 1.2rem}
  .ds-hero-usp{gap:.55rem 1.2rem;font-size:.9rem}
  .ds-knop{display:block;justify-content:center;margin-right:0;width:100%;text-align:center}
  .ds-cta-knoppen{width:100%}
  .ds-vestiging{padding:1.4rem}
  .ds-form{padding:1.3rem}
}

/* ==========================================================================
   Nieuwsoverzicht
   ========================================================================== */
.ds-nieuws-index .ast-article-post,
.ds-nieuws-index .ast-row.ast-grid-2,
.ds-nieuws-index .ast-pagination{display:none!important}
.ds-nieuws-index .site-content .ast-container{max-width:100%;padding:0}
.ds-nieuws-index .ast-separate-container .ast-article-post{border:0;padding:0}

.ds-nieuws-index-wrap{font-family:'Lato',sans-serif;color:#3c3c48;max-width:1120px;margin:0 auto;padding:2.6rem 1.5rem 1rem}
.ds-nieuws-kop{margin-bottom:2.4rem;max-width:70ch}
.ds-nieuws-kop .ds-oog{display:inline-block;font-family:'Raleway',sans-serif;font-size:.76rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#b41d1f;margin-bottom:.6rem}
.ds-nieuws-kop h1{font-family:'Raleway',sans-serif;color:#312783;font-size:clamp(1.9rem,4vw,2.6rem);
  font-weight:800;line-height:1.15;letter-spacing:-.02em;margin:0 0 .9rem}
.ds-nieuws-kop h1:after{content:"";display:block;width:70px;height:4px;background:#b41d1f;border-radius:2px;margin-top:1rem}
.ds-nieuws-kop p{font-size:1.08rem;line-height:1.65;color:#5c5c68;margin:0}
.ds-nieuws-kop a{color:#312783;text-decoration:underline;text-underline-offset:3px}

.ds-nieuws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.ds-nieuws-kaart{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e3ee;
  border-radius:14px;overflow:hidden;text-decoration:none!important;box-shadow:0 1px 3px rgba(20,20,60,.05);
  transition:transform .2s,box-shadow .2s,border-color .2s}
.ds-nieuws-kaart:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(49,39,131,.16);border-color:#c6c6e2}
.ds-nieuws-kaart--groot{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}

.ds-nieuws-beeld{position:relative;display:flex;align-items:center;justify-content:center;
  min-height:158px;overflow:hidden;background:linear-gradient(135deg,#312783 0%,#241d63 100%)}
.ds-nieuws-kaart--groot .ds-nieuws-beeld{flex:1 1 300px;min-height:210px}
.ds-nieuws-beeld:before{content:"";position:absolute;right:-46px;top:-46px;width:150px;height:150px;
  border:22px solid rgba(255,255,255,.07);border-radius:50%}
.ds-nieuws-beeld:after{content:"";position:absolute;left:-34px;bottom:-56px;width:130px;height:130px;
  background:rgba(255,255,255,.05);border-radius:50%}
.ds-nieuws-beeld svg{position:relative;z-index:2;width:3.1rem;height:3.1rem;stroke:#fff;fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.96}
.ds-nieuws-kaart--groot .ds-nieuws-beeld svg{width:4rem;height:4rem}
.ds-nieuws-cat{position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.3rem .75rem;border-radius:999px;
  background:rgba(255,255,255,.16);color:#fff;font-family:'Raleway',sans-serif;font-size:.72rem;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(3px)}
/* accentkleur per onderwerp, zodat de kaarten onderling verschillen */
.ds-beeld-schild{background:linear-gradient(135deg,#8f1618 0%,#5d0f11 100%)}
.ds-beeld-backup{background:linear-gradient(135deg,#1f6b4a 0%,#134030 100%)}
.ds-beeld-cloud{background:linear-gradient(135deg,#1d5fa8 0%,#123c6b 100%)}
.ds-beeld-m365{background:linear-gradient(135deg,#3d2f9e 0%,#231b5e 100%)}
.ds-beeld-server{background:linear-gradient(135deg,#2d3350 0%,#171b30 100%)}
.ds-beeld-telefoon{background:linear-gradient(135deg,#8a5a12 0%,#54360a 100%)}
.ds-beeld-laptop{background:linear-gradient(135deg,#40476b 0%,#232741 100%)}

.ds-nieuws-tekst{display:flex;flex-direction:column;flex:1 1 340px;padding:1.4rem 1.5rem 1.5rem}
.ds-nieuws-datum{font-size:.83rem;color:#8c8c9c;letter-spacing:.01em;margin-bottom:.5rem}
.ds-nieuws-kaart h2{font-family:'Raleway',sans-serif;color:#312783;font-size:1.2rem;font-weight:800;
  line-height:1.3;margin:0 0 .6rem}
.ds-nieuws-kaart--groot h2{font-size:1.55rem}
.ds-nieuws-kaart p{font-size:.97rem;line-height:1.6;color:#5c5c68;margin:0;flex:1}
.ds-nieuws-meer{margin-top:1rem;font-family:'Raleway',sans-serif;font-size:.87rem;font-weight:700;color:#b41d1f}
.ds-nieuws-meer:after{content:" \2192";transition:margin .15s}
.ds-nieuws-kaart:hover .ds-nieuws-meer:after{margin-left:.3rem}
.ds-nieuws-cta{margin-top:2.6rem}

@media (max-width:782px){
  .ds-nieuws-index-wrap{padding:1.8rem 1.2rem 1rem}
  .ds-nieuws-kaart--groot{flex-direction:column}
  .ds-nieuws-kaart--groot h2{font-size:1.3rem}
}

/* ==========================================================================
   Correcties
   ========================================================================== */


/* Nieuwsoverzicht: de hero levert nu de kop, dus de losse koptekst eronder
   heeft minder ruimte nodig. */
.ds-nieuws-index-wrap{padding-top:0}
.ds-nieuws-index .ds-hero{margin-bottom:2.4rem}

/* Kaart met vestigingslocatie op de contactpagina */
.ds-kaartblok{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--lijn);
  box-shadow:var(--schaduw);background:var(--vlak-2)}
.ds-kaartblok iframe{display:block;width:100%;height:420px;border:0}
.ds-kaartblok-voet{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;
  padding:1rem 1.2rem;background:#fff;border-top:1px solid var(--lijn);font-size:.95rem}
.ds-kaartblok-voet strong{color:var(--blauw);font-family:'Raleway',sans-serif}
@media (max-width:782px){.ds-kaartblok iframe{height:300px}}

/* ==========================================================================
   Eigen header en footer (vervangen die van Elementor)
   ========================================================================== */
:root{--ds-blauw:#312783;--ds-blauw-diep:#241d63;--ds-rood:#b41d1f;--ds-rood-diep:#8f1618;
  --ds-lijn:#e3e3ee;--ds-tekst:#3c3c48;--ds-grijs:#6c6c7c}

.ds-siteheader{position:sticky;top:0;z-index:9999;background:#fff;border-bottom:1px solid var(--ds-lijn);
  font-family:'Lato',sans-serif;box-shadow:0 1px 3px rgba(20,20,60,.05)}
.admin-bar .ds-siteheader{top:32px}
.ds-siteheader-in{max-width:1240px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;
  justify-content:space-between;gap:1.5rem}
.ds-logo{flex:0 0 auto;display:block;line-height:0}
.ds-logo img{height:44px;width:auto;display:block}

.ds-nav{display:flex;align-items:center;gap:1.1rem;margin-left:auto}
.ds-menu,.ds-submenu{list-style:none;margin:0;padding:0}
.ds-menu{display:flex;align-items:center;gap:.1rem}
.ds-menu>li{position:relative}
.ds-menu>li>a{display:flex;align-items:center;gap:.3rem;padding:.62rem .7rem;color:#2d2d3a;
  font-family:'Raleway',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.005em;
  text-decoration:none;border-radius:5px;transition:color .15s,background .15s;white-space:nowrap}
.ds-menu>li>a:hover,.ds-menu>li.ds-actief>a{color:var(--ds-blauw);background:#f3f3fa}
.ds-pijl{width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.55}

.ds-submenu{position:absolute;top:calc(100% + .3rem);left:0;min-width:255px;background:#fff;
  border:1px solid var(--ds-lijn);border-radius:9px;box-shadow:0 14px 34px rgba(20,20,60,.13);
  padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .16s;z-index:50}
.ds-menu>li:hover>.ds-submenu,.ds-menu>li:focus-within>.ds-submenu{opacity:1;visibility:visible;transform:none}
.ds-submenu a{display:block;padding:.5rem .75rem;color:var(--ds-tekst);font-size:.92rem;
  text-decoration:none;border-radius:5px;transition:all .13s}
.ds-submenu a:hover{background:#f3f3fa;color:var(--ds-blauw)}

.ds-nav-knoppen{display:flex;align-items:center;gap:.9rem;flex:0 0 auto}
.ds-siteheader-tel{color:var(--ds-blauw);font-family:'Raleway',sans-serif;font-weight:800;font-size:.95rem;
  text-decoration:none;white-space:nowrap}
/* Onder 1240px is er te weinig ruimte voor zes menu-items plus telefoonnummer.
   Het nummer verdwijnt dan; de Support-knop en de bel-knoppen blijven staan. */
@media (min-width:1025px) and (max-width:1240px){
  .ds-siteheader-tel{display:none}
  .ds-menu>li>a{padding-left:.5rem;padding-right:.5rem;font-size:.94rem}
  .ds-nav{gap:.8rem}
}
.ds-siteheader-tel:hover{color:var(--ds-rood)}
.ds-siteheader-knop{display:inline-block;padding:.65rem 1.3rem;background:var(--ds-rood);color:#fff!important;
  font-family:'Raleway',sans-serif;font-weight:700;font-size:.95rem;border-radius:5px;text-decoration:none;
  white-space:nowrap;box-shadow:0 3px 10px rgba(180,29,31,.24);transition:all .16s}
.ds-siteheader-knop:hover{background:var(--ds-rood-diep);transform:translateY(-1px)}

.ds-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  padding:0;background:none;border:0;cursor:pointer}
.ds-hamburger span{display:block;height:2.5px;width:24px;margin:0 auto;background:var(--ds-blauw);
  border-radius:2px;transition:transform .2s,opacity .2s}
.ds-open .ds-hamburger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.ds-open .ds-hamburger span:nth-child(2){opacity:0}
.ds-open .ds-hamburger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:1024px){
  .ds-hamburger{display:flex}
  .ds-siteheader-in{padding:.6rem 1.1rem}
  .ds-logo img{height:38px}
  .ds-nav{position:fixed;inset:auto 0 0 0;top:var(--ds-kop-h,64px);display:none;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;padding:1rem 1.2rem 2rem;overflow-y:auto;
    border-top:1px solid var(--ds-lijn)}
  .ds-open .ds-nav{display:flex}
  .ds-menu{flex-direction:column;align-items:stretch;gap:0}
  .ds-menu>li>a{padding:.85rem .2rem;font-size:1rem;border-bottom:1px solid #f0f0f6;border-radius:0;
    justify-content:space-between}
  .ds-submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
    display:none;padding:.2rem 0 .6rem .9rem;min-width:0}
  .ds-sub-open>.ds-submenu{display:block}
  .ds-nav-knoppen{margin-top:1.4rem;flex-direction:column;align-items:stretch;gap:.7rem}
  .ds-siteheader-knop{text-align:center;padding:.85rem}
  .ds-siteheader-tel{text-align:center;font-size:1.05rem}
}

/* --------------------------------------------------------------- FOOTER -- */
.ds-voet{background:#1c1a33;color:#c9c9dd;font-family:'Lato',sans-serif;font-size:.95rem;line-height:1.7}
.ds-voet-in{max-width:1240px;margin:0 auto;padding:3.4rem 1.5rem 2.4rem;display:grid;gap:2.2rem;
  grid-template-columns:1.5fr 1fr 1fr 1fr}
.ds-voet h3{font-family:'Raleway',sans-serif;color:#fff;font-size:.8rem;font-weight:800;
  letter-spacing:.11em;text-transform:uppercase;margin:0 0 .9rem}
.ds-voet ul{list-style:none;margin:0;padding:0}
.ds-voet li{margin-bottom:.42rem}
.ds-voet a{color:#c9c9dd;text-decoration:none;transition:color .14s}
.ds-voet a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ds-voet p{margin:0 0 1rem}
/* Het logo bevat een gevuld vierkant blok; met een invert-filter werd dat wit.
   Daarom het originele logo op een wit vlakje in plaats van omkleuren. */
.ds-voet-logo{height:40px;width:auto;margin-bottom:1.2rem;background:#fff;padding:.55rem .8rem;
  border-radius:8px;box-sizing:content-box;display:block}
.ds-voet-over p{max-width:38ch}
.ds-voet-adres a{font-weight:600;color:#e4e4f2}
.ds-voet-tijden{font-size:.88rem;color:#9a9ab5}
.ds-voet-plaatsen{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.ds-voet-onder{border-top:1px solid rgba(255,255,255,.1);font-size:.86rem;color:#8f8faa}
.ds-voet-onder-in{max-width:1240px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;flex-wrap:wrap;
  gap:.6rem 1.6rem;align-items:center;justify-content:space-between}
.ds-voet-onder a{margin-right:1.2rem;color:#8f8faa}
@media (max-width:900px){
  .ds-voet-in{grid-template-columns:1fr 1fr;padding:2.4rem 1.2rem 1.8rem}
}
@media (max-width:560px){
  .ds-voet-in{grid-template-columns:1fr}
  .ds-voet-onder-in{flex-direction:column;align-items:flex-start;padding:1rem 1.2rem}
}

/* ==========================================================================
   Rustige achtergrond en nieuwsoverzicht in drie kolommen
   ========================================================================== */

/* Rustig canvas in plaats van vlak wit.
   Stippen bleken bijna onzichtbaar. In plaats daarvan een licht getinte
   ondergrond in de huisstijlkleur, met twee heel zachte lichtvlekken voor
   diepte. De inhoudsblokken zijn wit en steken daar rustig tegen af. */
.ds-nieuwe-pagina .site-content,
.ds-home-uitbreiding .site-content,
.ds-nieuws-index .site-content{
  background-color:#eeeef6;
  background-image:
    radial-gradient(900px 520px at 12% 0%, rgba(49,39,131,.09), transparent 62%),
    radial-gradient(760px 480px at 92% 38%, rgba(180,29,31,.055), transparent 60%);
  background-attachment:fixed}
.ds-sec:not(.ds-sec--vlak):not(.ds-sec--diep){background:transparent}
.ds-sec--vlak{background:#fff;box-shadow:0 1px 0 rgba(20,20,60,.04)}

/* Nieuwsoverzicht: altijd drie gelijke kolommen op desktop. */
.ds-nieuws-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.ds-nieuws-kaart--groot{grid-column:auto;flex-direction:column}
.ds-nieuws-kaart--groot .ds-nieuws-beeld{flex:0 0 auto;min-height:158px}
.ds-nieuws-kaart--groot .ds-nieuws-beeld svg{width:3.1rem;height:3.1rem}
.ds-nieuws-kaart--groot h2{font-size:1.2rem}
.ds-nieuws-index-wrap{padding-bottom:3rem}

/* ==========================================================================
   Zwevende WhatsApp-knop
   ========================================================================== */
.ds-wa{position:fixed;right:22px;bottom:22px;z-index:9998;display:inline-flex;align-items:center;
  gap:0;height:56px;padding:0 16px;background:#25d366;color:#fff!important;border-radius:28px;
  text-decoration:none!important;box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:gap .22s,padding .22s,box-shadow .18s,transform .18s;font-family:'Raleway',sans-serif}
.ds-wa svg{width:26px;height:26px;fill:#fff;flex:0 0 auto}
.ds-wa-tekst{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:.95rem;
  opacity:0;transition:max-width .22s,opacity .18s}
.ds-wa:hover,.ds-wa:focus-visible{gap:10px;padding:0 22px 0 16px;transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.28);color:#fff!important}
.ds-wa:hover .ds-wa-tekst,.ds-wa:focus-visible .ds-wa-tekst{max-width:160px;opacity:1}
/* Niet over de cookiemelding heen vallen zolang die nog in beeld staat. */
body.cookies-not-set .ds-wa{bottom:96px}
@media (max-width:600px){
  .ds-wa{right:16px;bottom:16px;height:52px;padding:0 14px}
  .ds-wa svg{width:24px;height:24px}
}
@media print{.ds-wa{display:none}}

/* ==========================================================================
   Schematische kaart van het werkgebied
   ========================================================================== */
.dsk-wrap{margin:0}
.dsk{display:block;width:100%;height:auto;font-family:'Raleway',sans-serif}
.dsk-vlak{fill:#fff;stroke:#e3e3ee;stroke-width:1}
.dsk-ring{fill:none;stroke:#312783;stroke-opacity:.16;stroke-width:1.4;stroke-dasharray:6 7}
.dsk-ringlabel{fill:#9a9ab5;font-size:12px;text-anchor:middle;letter-spacing:.06em}
.dsk-punt{cursor:pointer}
.dsk-halo{fill:#312783;opacity:0;transition:opacity .18s}
.dsk-punt:hover .dsk-halo,.dsk-punt:focus .dsk-halo{opacity:.13}
.dsk-stip{fill:#4a3fa8;transition:fill .18s,r .18s}
.dsk-punt:hover .dsk-stip{fill:#b41d1f}
.dsk-thuis .dsk-stip{fill:#312783}
.dsk-kern{fill:#b41d1f}
.dsk-label{fill:#3c3c48;font-size:14px;font-weight:700;text-anchor:middle}
.dsk-thuis .dsk-label{fill:#312783;font-size:16px;font-weight:800}
.dsk-punt:hover .dsk-label{fill:#b41d1f}
.dsk-uitleg{margin:1.1rem 0 0;font-size:.92rem;color:#6c6c7c;line-height:1.6}
@media (max-width:600px){
  .dsk-label{font-size:19px}
  .dsk-thuis .dsk-label{font-size:22px}
  .dsk-ringlabel{font-size:16px}
}
/* Kaartlabels zijn links; de onderstreping van gewone tekstlinks hoort hier niet. */
.ds-sec .dsk a,.ds-sec .dsk a:hover,.dsk .dsk-punt{text-decoration:none!important}
.dsk text{text-decoration:none}

/* ==========================================================================
   Kaart van het werkgebied (Leaflet + OpenStreetMap)
   ========================================================================== */
.ds-kaart-blok{margin:0}
.ds-werkgebied{width:100%;height:540px;border-radius:12px;border:1px solid var(--lijn);
  box-shadow:var(--schaduw);background:#eef0f4;z-index:1}
.ds-werkgebied .leaflet-container{font-family:'Lato',sans-serif}
.ds-kaart-tip{background:#312783;border:0;color:#fff;font-family:'Lato',sans-serif;font-size:.86rem;
  border-radius:6px;box-shadow:0 4px 14px rgba(20,20,60,.25);padding:.4rem .65rem}
.ds-kaart-tip:before{border-top-color:#312783}
.leaflet-popup-content{font-family:'Lato',sans-serif;font-size:.94rem;line-height:1.55}
.leaflet-popup-content strong{color:#312783;font-family:'Raleway',sans-serif}
.leaflet-popup-content a{color:#b41d1f;font-weight:700}
.ds-kaart-legenda{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:1.1rem 0 0;font-size:.9rem;color:var(--grijs)}
.ds-kaart-legenda span{display:inline-flex;align-items:center;gap:.5rem}
.ds-bol{width:11px;height:11px;border-radius:50%;background:#4a3fa8;border:2px solid #fff;
  box-shadow:0 0 0 1px #c9c9e0;flex:0 0 auto}
.ds-bol--groot{width:16px;height:16px}
.ds-bol--thuis{width:20px;height:20px;background:#b41d1f}
.ds-kaart-noot{margin:.9rem 0 0;font-size:.9rem;color:var(--grijs);line-height:1.6;max-width:70ch}
@media (max-width:782px){.ds-werkgebied{height:400px}}

/* ==========================================================================
   Contactpagina: kaart met overlappend gegevensblok
   ========================================================================== */
.ds-sec--kaart{padding-top:0;padding-bottom:0}
.ds-kaartrij{position:relative;margin:0 0 3rem}
.ds-kaartframe{border-radius:12px;overflow:hidden;border:1px solid var(--lijn);box-shadow:var(--schaduw)}
.ds-kaartframe iframe{display:block;width:100%;height:460px;border:0}
.ds-kaartkaart{background:#fff;border:1px solid var(--lijn);border-radius:12px;
  box-shadow:0 18px 44px rgba(20,20,60,.16);padding:1.8rem}
.ds-kaartkaart h2{font-size:1.4rem;margin:0 0 .6rem}
.ds-kaartkaart .ds-vink li{font-size:.97rem}
.ds-kaart-tijden{font-size:.93rem;color:var(--grijs)}
@media (min-width:900px){
  .ds-kaartrij{padding-bottom:2.5rem}
  .ds-kaartkaart{position:absolute;left:0;top:50%;transform:translateY(-50%);width:min(430px,44%);z-index:3}
  .ds-kaartframe{margin-left:14%;width:86%}
}
@media (max-width:899px){
  .ds-kaartframe iframe{height:300px}
  .ds-kaartkaart{margin-top:-2rem;margin-left:1rem;margin-right:1rem;position:relative;z-index:3}
}

/* ==========================================================================
   Taalkiezer: wereldbol met uitklapmenu
   ========================================================================== */
.ds-taalkiezer{position:relative;flex:0 0 auto}
.ds-taalknop{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  padding:0;border:0;border-radius:50%;background:#eeeef7;cursor:pointer;transition:background .15s}
.ds-taalknop:hover,.ds-taal-open .ds-taalknop{background:#312783}
.ds-bolicoon{width:20px;height:20px;fill:none;stroke:#312783;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s}
.ds-taalknop:hover .ds-bolicoon,.ds-taal-open .ds-bolicoon{stroke:#fff}
.ds-taallijst{position:absolute;right:0;top:calc(100% + .5rem);min-width:210px;margin:0;padding:.4rem;
  list-style:none;background:#fff;border:1px solid #e3e3ee;border-radius:10px;
  box-shadow:0 16px 38px rgba(20,20,60,.16);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:all .16s;z-index:60}
.ds-taal-open .ds-taallijst{opacity:1;visibility:visible;transform:none}
.ds-taallijst li{margin:0}
.ds-taallijst a{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:7px;
  color:#3c3c48;font-family:'Raleway',sans-serif;font-weight:700;font-size:1rem;
  text-decoration:none!important;transition:background .13s,color .13s}
.ds-taallijst a:hover{background:#f3f3fa;color:#312783}
.ds-taallijst a.ds-taal-actief{color:#312783;background:#f3f3fa}
.ds-vlag{width:26px;height:26px;flex:0 0 auto}
@media (max-width:1024px){
  .ds-taalkiezer{order:-1;width:100%;margin-bottom:.6rem}
  .ds-taalknop{display:none}
  .ds-taallijst{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;padding:0;min-width:0;display:flex;gap:.5rem}
  .ds-taallijst li{flex:1}
  .ds-taallijst a{justify-content:center;border:1px solid #e3e3ee}
}

/* Actiekaarten: kaarten met een knop onderaan, zoals op de supportpagina.
   De knop staat bij elke kaart op dezelfde hoogte, ook als de ene tekst
   langer is dan de andere. */
.ds-grid--actie .ds-kaart{display:flex;flex-direction:column}
/* De knoppenrij hangt onderaan de kaart en heeft in elke kaart dezelfde hoogte.
   Zonder die vaste hoogte begint de rij in de kaart met de langste tekst iets
   lager dan in de andere twee, en staan de knoppen niet op een lijn. */
.ds-grid--actie .ds-kaart>p:last-child{margin-top:auto;padding-top:1rem;
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;min-height:3.6rem}
.ds-grid--actie .ds-knop{margin:0}

/* Kaarten die over de onderrand van de hero heen vallen. Op de supportpagina
   staan de drie routes zo meteen in beeld, zonder dat er gescrold hoeft te
   worden. De hero krijgt daarvoor extra ruimte onderin. */
.ds-hero--kaarten{padding-bottom:13rem}
.ds-sec--overlap{padding-top:0;margin-top:-11.1rem;background:transparent;position:relative;z-index:3}
.ds-sec--overlap .ds-kaart{background:#fff;box-shadow:0 20px 44px rgba(20,15,60,.18)}
@media (max-width:800px){
  .ds-hero--kaarten{padding-bottom:8rem}
  .ds-sec--overlap{margin-top:-6.5rem}
}
/* Kop die alleen voor schermlezers en zoekmachines bestaat: de pagina heeft
   een kopstructuur nodig, maar hier zeggen de kaarten zelf al genoeg. */
.ds-verborgen{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Verwijzing naar het formulier, direct onder de drie routes. Wie liever niet
   belt of inlogt moet meteen zien dat er ook een formulier is. */
.ds-formwijzer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1rem 1.6rem;margin-top:1.8rem;padding:1.15rem 1.5rem;border-radius:12px;
  background:var(--vlak);border:1px solid rgba(49,39,131,.12)}
.ds-formwijzer p{margin:0;font-size:1rem;line-height:1.55;max-width:62ch}
.ds-formwijzer .ds-knop{flex:none;margin:0}
/* Het anker mag niet onder de vaste bovenbalk verdwijnen. */
#ticket{scroll-margin-top:110px}
@media (max-width:700px){
  .ds-formwijzer{flex-direction:column;align-items:flex-start}
}

/* Raleway koppelt 'ff' standaard aan elkaar tot een ligatuur. In woorden als
   'offerte' levert dat een vreemd samengeklonterd teken op dat opvalt in een
   kop. Ligaturen hier uitzetten; de rest van de letter blijft ongewijzigd. */
h1,h2,h3,h4,h5,h6,.ds-kop h2,.ds-hero h1,.ds-logo,.ds-menu>li>a,.ds-knop{
  font-variant-ligatures:none;
  -webkit-font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"clig" 0,"dlig" 0
}

/* =========================================================================
   Cookiemelding als venster in beeld in plaats van een balk onderin.

   Een balk onderaan wordt weggekeken; een venster met een waas erachter
   vraagt om een echte keuze. De melding blijft de opmaak van de plugin
   gebruiken, alleen de plaatsing en de omlijsting zijn van ons.
   ====================================================================== */
#cookie-notice{
  position:fixed!important;inset:0!important;top:0!important;bottom:0!important;
  left:0!important;right:0!important;width:100%!important;min-width:0!important;
  display:none!important;place-items:center;padding:1.5rem;
  background:rgba(18,14,48,.55)!important;backdrop-filter:blur(3px);
  z-index:100000!important
}
#cookie-notice.cookie-notice-visible{display:grid!important}
#cookie-notice .cookie-notice-container{
  display:block!important;max-width:31rem;width:100%;margin:0 auto;padding:2rem 1.9rem 1.7rem;
  background:#fff!important;color:var(--tekst)!important;border-radius:14px;
  box-shadow:0 26px 70px rgba(15,10,45,.4);text-align:left;font-family:'Lato',sans-serif
}
#cookie-notice .cn-text-container{
  display:block;margin:0 0 1.35rem;padding:0;font-size:1rem;line-height:1.65;color:var(--tekst)
}
/* Een korte kop boven de tekst, zodat meteen duidelijk is waar het over gaat. */
#cookie-notice .cn-text-container:before{
  content:"Cookies op deze website";display:block;margin-bottom:.55rem;
  font-family:'Raleway',sans-serif;font-weight:800;font-size:1.22rem;color:var(--blauw)
}
#cookie-notice .cn-buttons-container{display:flex!important;flex-wrap:wrap;gap:.6rem;align-items:center}
#cookie-notice .cn-button{margin:0!important;float:none!important}
#cookie-notice #cn-accept-cookie{
  background:var(--rood)!important;color:#fff!important;border:0;
  padding:.72rem 1.5rem;border-radius:8px;font-weight:700;font-size:.97rem;text-decoration:none
}
#cookie-notice #cn-refuse-cookie{
  background:#fff!important;color:var(--blauw)!important;border:1.5px solid rgba(49,39,131,.3);
  padding:.72rem 1.4rem;border-radius:8px;font-weight:700;font-size:.97rem;text-decoration:none
}
#cookie-notice #cn-more-info{
  background:none!important;border:0;padding:.72rem .3rem;color:var(--blauw)!important;
  font-size:.93rem;text-decoration:underline;margin-left:auto!important
}
/* Zolang er niet gekozen is, blijft de pagina eronder staan maar scrolt niet. */
body.ds-cookievraag{overflow:hidden}
@media (max-width:600px){
  #cookie-notice .cookie-notice-container{padding:1.6rem 1.3rem 1.35rem}
  #cookie-notice #cn-more-info{margin-left:0!important}
}

/* Foto met onderschrift. Bewust met een vaste verhouding en object-fit, zodat
   een staande of liggende foto altijd hetzelfde blok vult en de pagina niet
   verspringt terwijl het beeld nog laadt. */
.ds-foto{margin:0 0 2rem;border-radius:14px;overflow:hidden;background:var(--vlak)}
.ds-foto img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ds-foto figcaption{padding:.85rem 1.15rem;font-size:.92rem;line-height:1.55;color:var(--grijs)}
@media (max-width:700px){.ds-foto img{aspect-ratio:4/3}}


/* ==========================================================================
   Nieuwsartikelen, zoekresultaten, archieven en 404
   Body-class .ds-artikel-pagina (zie digisens_is_artikel_sjabloon()).
   De inhoud blijft Astra-HTML; hier krijgt die de huisstijl.
   ========================================================================== */
.ds-artikel-pagina{background:var(--vlak)}
.ds-artikel-pagina .site-content>.ast-container{max-width:880px;padding:2.6rem 1.25rem 4.5rem}
.ds-artikel-pagina .content-area{width:100%}

/* ---- Losse artikelen: witte kaart met blauwe kop ---- */
.ds-artikel-pagina.single .site-main .ast-article-single{background:#fff;border:1px solid var(--lijn);
  border-radius:var(--radius-l);box-shadow:var(--schaduw-op);padding:0;margin:0;overflow:hidden}
.ds-artikel-pagina.single .entry-header{position:relative;margin:0;padding:3.1rem 3.2rem 2.5rem;
  background:linear-gradient(135deg,var(--blauw) 0%,var(--blauw-diep) 100%);overflow:hidden}
.ds-artikel-pagina.single .entry-header:before{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;
  border-radius:50%;border:44px solid rgba(255,255,255,.06);pointer-events:none}
.ds-artikel-pagina.single .entry-header .entry-title{position:relative;font-family:'Raleway',sans-serif;font-weight:800;
  font-size:clamp(1.65rem,3.6vw,2.45rem);line-height:1.2;letter-spacing:-.015em;color:#fff!important;margin:0 0 1.1rem;max-width:30ch}
.ds-artikel-pagina.single .entry-header .entry-title:after{content:"";display:block;width:64px;height:4px;border-radius:2px;
  background:var(--rood);margin-top:1.1rem}
.ds-artikel-pagina.single .entry-meta{position:relative;font-size:0;color:rgba(255,255,255,.78);margin:0}
.ds-artikel-pagina.single .entry-meta>*{font-size:.9rem;font-family:'Lato',sans-serif}
.ds-artikel-pagina.single .entry-meta .comments-link{display:none}
.ds-artikel-pagina.single .entry-meta a,
.ds-artikel-pagina.single .entry-meta a *{color:#fff!important;text-decoration:none}
.ds-artikel-pagina.single .entry-meta a:hover{text-decoration:underline}
.ds-artikel-pagina.single .entry-meta .ast-terms-link a{display:inline-block;padding:.28rem .8rem;border-radius:999px;
  background:rgba(255,255,255,.14);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-right:.75rem}
.ds-artikel-pagina.single .entry-meta .posted-by{color:rgba(255,255,255,.78)!important}
.ds-artikel-pagina.single .entry-meta .posted-by:before{content:"Door ";font-size:.9rem}

/* ---- Tekst ---- */
.ds-artikel-pagina.single .entry-content{padding:2.7rem 3.2rem 2.4rem;font-family:'Lato',sans-serif;
  font-size:1.15rem;line-height:1.8;color:var(--tekst)}
.ds-artikel-pagina.single .entry-content>*{max-width:68ch}
.ds-artikel-pagina.single .entry-content p,
.ds-artikel-pagina.single .entry-content li{font-size:inherit}
.ds-artikel-pagina.single .entry-content p{margin:0 0 1.3rem}
.ds-artikel-pagina.single .entry-content .ds-intro{font-size:1.3rem;line-height:1.7;color:var(--inkt);
  padding:.2rem 0 .2rem 1.3rem;border-left:4px solid var(--rood);margin:0 0 2.2rem}
.ds-artikel-pagina.single .entry-content h2{font-family:'Raleway',sans-serif;font-weight:800;color:var(--blauw);
  font-size:clamp(1.38rem,2.6vw,1.7rem);line-height:1.25;letter-spacing:-.01em;margin:2.6rem 0 .9rem}
.ds-artikel-pagina.single .entry-content h3{font-family:'Raleway',sans-serif;font-weight:700;color:var(--blauw);
  font-size:1.2rem;line-height:1.35;margin:2rem 0 .6rem}
.ds-artikel-pagina.single .entry-content a{color:var(--blauw);text-decoration:underline;text-underline-offset:3px}
.ds-artikel-pagina.single .entry-content a:hover{color:var(--rood)}
.ds-artikel-pagina.single .entry-content strong{color:var(--inkt)}
.ds-artikel-pagina.single .entry-content ul:not(.ds-vink){padding-left:1.2rem;margin:0 0 1.5rem}
.ds-artikel-pagina.single .entry-content ul:not(.ds-vink) li::marker{color:var(--rood)}
.ds-artikel-pagina.single .entry-content ul.ds-vink{list-style:none;margin:0 0 1.7rem;padding:1.3rem 1.5rem;
  background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--radius)}
.ds-artikel-pagina.single .entry-content ul.ds-vink li{position:relative;padding-left:2rem;margin:0 0 .8rem}
.ds-artikel-pagina.single .entry-content ul.ds-vink li:last-child{margin-bottom:0}
.ds-artikel-pagina.single .entry-content ul.ds-vink li:before{content:"";position:absolute;left:0;top:.38em;width:1.2rem;height:1.2rem;
  border-radius:50%;background:var(--blauw) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/.7rem no-repeat}
.ds-artikel-pagina.single .entry-content blockquote{margin:2rem 0;padding:1.3rem 1.6rem;border:0;border-radius:var(--radius);
  background:var(--vlak-2);color:var(--inkt);font-size:1.12rem;font-style:normal}

/* ---- Vorige / volgende en reacties ---- */
.ds-artikel-pagina.single .post-navigation{margin:1.6rem 0 0;padding:0;border:0}
.ds-artikel-pagina.single .post-navigation .nav-links{display:flex;gap:1rem;justify-content:space-between}
.ds-artikel-pagina.single .post-navigation a{display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 1.3rem;
  background:#fff;border:1px solid var(--lijn);border-radius:var(--radius);color:var(--blauw);font-family:'Raleway',sans-serif;
  font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:var(--schaduw);transition:all .15s}
.ds-artikel-pagina.single .post-navigation a:hover{border-color:var(--blauw);transform:translateY(-2px);box-shadow:var(--schaduw-op)}
.ds-artikel-pagina.single .comments-area{margin:1.6rem 0 0;padding:2rem 2.4rem;background:#fff;border:1px solid var(--lijn);
  border-radius:var(--radius-l)}
.ds-artikel-pagina.single .comments-area .comment-reply-title{font-family:'Raleway',sans-serif;font-weight:800;color:var(--blauw);font-size:1.3rem}
.ds-artikel-pagina.single .comments-area input[type=submit]{background:var(--blauw);border:0;border-radius:6px;
  font-family:'Raleway',sans-serif;font-weight:700;padding:.8rem 1.5rem}
.ds-artikel-pagina.single .comments-area input[type=submit]:hover{background:var(--blauw-diep)}

/* ---- Archief, zoekresultaten en 404 ---- */
.ds-artikel-pagina .ast-archive-description{background:linear-gradient(135deg,var(--blauw) 0%,var(--blauw-diep) 100%);
  border-radius:var(--radius-l);padding:2.4rem 2.6rem;margin:0 0 2rem;border:0}
.ds-artikel-pagina .ast-archive-description .ast-archive-title,
.ds-artikel-pagina .ast-archive-description h1{font-family:'Raleway',sans-serif;font-weight:800;color:#fff!important;
  font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0}
.ds-artikel-pagina .ast-archive-description p{color:rgba(255,255,255,.82);margin:.6rem 0 0}
.ds-artikel-pagina:not(.single) .ast-article-post{background:#fff;border:1px solid var(--lijn);border-radius:var(--radius-l);
  box-shadow:var(--schaduw);overflow:hidden;margin:0 0 1.5rem;padding:0}
.ds-artikel-pagina:not(.single) .ast-article-post .post-content,
.ds-artikel-pagina:not(.single) .ast-article-post .ast-blog-featured-section+*{padding:1.5rem 1.8rem}
.ds-artikel-pagina:not(.single) .ast-article-post .entry-title a{font-family:'Raleway',sans-serif;font-weight:800;color:var(--blauw);text-decoration:none}
.ds-artikel-pagina:not(.single) .ast-article-post .entry-title a:hover{color:var(--rood)}
.ds-artikel-pagina:not(.single) .ast-article-post img{display:block;width:100%;max-height:260px;object-fit:cover}
.ds-artikel-pagina.error404 .site-main h1{font-family:'Raleway',sans-serif;font-weight:800;color:var(--blauw)}

@media (max-width:700px){
  .ds-artikel-pagina .site-content>.ast-container{padding:1.2rem .75rem 3rem}
  .ds-artikel-pagina.single .entry-header{padding:2.1rem 1.4rem 1.8rem}
  .ds-artikel-pagina.single .entry-content{padding:1.9rem 1.4rem 1.6rem;font-size:1.03rem}
  .ds-artikel-pagina.single .entry-content .ds-intro{font-size:1.12rem}
  .ds-artikel-pagina.single .comments-area{padding:1.5rem 1.3rem}
  .ds-artikel-pagina .ast-archive-description{padding:1.8rem 1.4rem}
}
