/* RIDO v0.48.0 — publieke UI-herbouw.
   Onderzoeksbasis:
   - WCAG 2.2: minimaal 4.5:1 contrast voor normale tekst, 3:1 voor grote tekst en UI-onderdelen.
   - GOV.UK Design System: consistente patronen, zichtbare taakstructuur en duidelijke status/actiehiërarchie.
   - Nielsen Norman Group: consistente list/card styling ondersteunt scannen en vergelijken.
   Doel: één rustige, lichte website zonder afhankelijkheid van historische kleurregels. */

html body.rido-public-site.rido-ui-v0480 {
  --rido-bg:#f3f7fa;
  --rido-bg-alt:#eaf2f6;
  --rido-surface:#ffffff;
  --rido-ink:#0a2238;
  --rido-text:#314b5f;
  --rido-muted:#5b7182;
  --rido-line:#d7e2e9;
  --rido-primary:#0879bd;
  --rido-primary-dark:#075f8f;
  --rido-chip:#e8f5fb;
  --rido-success:#147a55;
  --rido-warning:#8a5b05;
  --rido-danger:#b42318;
  --rido-radius:20px;
  --rido-radius-sm:14px;
  --rido-shadow:0 12px 32px rgba(10,34,56,.07);
  margin:0;
  background:var(--rido-bg)!important;
  color:var(--rido-text)!important;
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

html body.rido-public-site.rido-ui-v0480 *,
html body.rido-public-site.rido-ui-v0480 *::before,
html body.rido-public-site.rido-ui-v0480 *::after { box-sizing:border-box; }
html body.rido-public-site.rido-ui-v0480 main { overflow:clip; background:var(--rido-bg)!important; }
html body.rido-public-site.rido-ui-v0480 .wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
html body.rido-public-site.rido-ui-v0480 img { max-width:100%; height:auto; }

/* Typografie: donker op licht is de standaard, zonder overerving uit oude themalagen. */
html body.rido-public-site.rido-ui-v0480 main :where(h1,h2,h3,h4,h5,h6,strong,b,legend,label,summary) {
  color:var(--rido-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(p,li,dd,dt,small,span,em,figcaption) {
  color:var(--rido-text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.muted,.subtle,.helper-text,.supporting-text) {
  color:var(--rido-muted)!important;
  opacity:1!important;
}
html body.rido-public-site.rido-ui-v0480 main h1,
html body.rido-public-site.rido-ui-v0480 main h2,
html body.rido-public-site.rido-ui-v0480 main h3 {
  font-weight:850;
  letter-spacing:-.035em;
  text-wrap:balance;
}
html body.rido-public-site.rido-ui-v0480 main h1 { line-height:1.02; }
html body.rido-public-site.rido-ui-v0480 main h2 { line-height:1.08; }
html body.rido-public-site.rido-ui-v0480 main p { max-width:72ch; }

/* Header en navigatie. */
html body.rido-public-site.rido-ui-v0480 .site-audience-context {
  background:#061f32!important;
  color:#dbe8ef!important;
  border:0!important;
}
html body.rido-public-site.rido-ui-v0480 .site-audience-context :where(span,strong,a,b) { color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 .site-audience-current i { background:#58d9b5!important; }
html body.rido-public-site.rido-ui-v0480 .site-header {
  background:#fff!important;
  border-bottom:1px solid var(--rido-line)!important;
  box-shadow:0 4px 16px rgba(10,34,56,.035)!important;
  backdrop-filter:none!important;
}
html body.rido-public-site.rido-ui-v0480 .nav-wrap { min-height:72px; height:auto; padding:9px 0; }
html body.rido-public-site.rido-ui-v0480 .brand,
html body.rido-public-site.rido-ui-v0480 .site-nav>a,
html body.rido-public-site.rido-ui-v0480 .nav-more-btn { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 .brand-mark {
  background:linear-gradient(135deg,#0a4767,#0879bd)!important;
  color:#fff!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 .site-nav>a,
html body.rido-public-site.rido-ui-v0480 .nav-more-btn {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  font-weight:780;
  text-decoration:none;
}
html body.rido-public-site.rido-ui-v0480 .site-nav>a:hover,
html body.rido-public-site.rido-ui-v0480 .site-nav>a.active,
html body.rido-public-site.rido-ui-v0480 .nav-more-btn:hover,
html body.rido-public-site.rido-ui-v0480 .nav-more.active>.nav-more-btn {
  background:#edf5f9!important;
  color:#075f8f!important;
}
html body.rido-public-site.rido-ui-v0480 .nav-mega-menu {
  background:#fff!important;
  color:var(--rido-text)!important;
  border:1px solid var(--rido-line)!important;
  border-radius:18px!important;
  box-shadow:0 22px 60px rgba(10,34,56,.14)!important;
}
html body.rido-public-site.rido-ui-v0480 .nav-mega-menu :where(h1,h2,h3,h4,strong,b,a) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 .nav-mega-menu :where(p,span,small) { color:var(--rido-text)!important; }

/* Knoppen: één primaire actie, één rustige secundaire actie. */
html body.rido-public-site.rido-ui-v0480 :where(a.btn,button.btn,.nav-cta,.rido-home-btn) {
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 17px;
  border-radius:12px!important;
  font:inherit;
  font-weight:820!important;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 :where(a.btn,button.btn,.nav-cta,.rido-home-btn-primary):not(.secondary):not(.light):not(.btn-white):not(.btn-ghost-light) {
  background:var(--rido-primary)!important;
  border:1px solid var(--rido-primary)!important;
  color:#fff!important;
}
html body.rido-public-site.rido-ui-v0480 :where(a.btn.secondary,button.btn.secondary,a.btn.light,button.btn.light,a.btn.btn-white,button.btn.btn-white,a.btn.btn-ghost-light,button.btn.btn-ghost-light,.rido-home-btn-secondary) {
  background:#fff!important;
  border:1px solid #afc1cd!important;
  color:var(--rido-ink)!important;
}
html body.rido-public-site.rido-ui-v0480 :where(a.btn,button.btn,.nav-cta,.rido-home-btn):hover { transform:none!important; }
html body.rido-public-site.rido-ui-v0480 :where(a.btn,button.btn,.nav-cta,.rido-home-btn):focus-visible,
html body.rido-public-site.rido-ui-v0480 :where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #f3a51f!important;
  outline-offset:3px!important;
}
html body.rido-public-site.rido-ui-v0480 main a:not(.btn):not(.rido-home-btn) { color:#075f8f!important; text-underline-offset:3px; }

/* Universele secties. */
html body.rido-public-site.rido-ui-v0480 main :where(.section,.rido-home-section,.rido-module-final-section,.rido-menu-suite-promo) {
  background:var(--rido-bg)!important;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.section.alt,.rido-home-section-light,.rido-usecase-section,.rido-v27-profile-section,.rido-module-final-section) {
  background:var(--rido-bg-alt)!important;
}
html body.rido-public-site.rido-ui-v0480 main .section { padding:64px 0; }
html body.rido-public-site.rido-ui-v0480 main .compact-section { padding-block:48px; }
html body.rido-public-site.rido-ui-v0480 main .section-head { margin-bottom:28px; }
html body.rido-public-site.rido-ui-v0480 main .section-head>div { max-width:790px; }
html body.rido-public-site.rido-ui-v0480 main .centered-head { text-align:center; justify-content:center; }
html body.rido-public-site.rido-ui-v0480 main .centered-head>div { margin-inline:auto; }

html body.rido-public-site.rido-ui-v0480 main :where(.eyebrow,.light-eyebrow,.pill,.badge,.section-kicker,.rido-home-kicker) {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 10px!important;
  background:var(--rido-chip)!important;
  border:1px solid #d4e9f3!important;
  border-radius:999px!important;
  color:#075f86!important;
  font-size:12px!important;
  font-weight:880!important;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:none!important;
}

/* Hero's: overal dezelfde lichte basis. */
html body.rido-public-site.rido-ui-v0480 main :where(
  .hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,
  .rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,
  .commercial-home-hero,.package-page-hero,.configurator-hero
) {
  position:relative;
  padding:58px 0!important;
  background:linear-gradient(180deg,#f8fbfd 0%,#edf4f7 100%)!important;
  color:var(--rido-text)!important;
  border-bottom:1px solid var(--rido-line)!important;
  box-shadow:none!important;
  isolation:auto!important;
  overflow:visible!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(
  .hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,
  .rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,
  .commercial-home-hero,.package-page-hero,.configurator-hero
)::before,
html body.rido-public-site.rido-ui-v0480 main :where(
  .hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,
  .rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,
  .commercial-home-hero,.package-page-hero,.configurator-hero
)::after { display:none!important; content:none!important; }
html body.rido-public-site.rido-ui-v0480 main :where(
  .hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,
  .rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,
  .commercial-home-hero,.package-page-hero,.configurator-hero
) :where(h1,h2,h3,h4,strong,b) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(
  .hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,
  .rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,
  .commercial-home-hero,.package-page-hero,.configurator-hero
) :where(p,li,small,span,.muted) { color:var(--rido-text)!important; opacity:1!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.v18-hero-layout,.rido-home-hero-grid,.rido-module-hero-grid,.rido-menu-hero-grid,.visual-page-hero) {
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);
  gap:44px;
  align-items:center;
}
html body.rido-public-site.rido-ui-v0480 main :where(.hero-copy,.rido-home-copy) h1 {
  margin:16px 0 17px!important;
  max-width:760px;
  font-size:clamp(40px,5vw,64px)!important;
  line-height:1.02!important;
  color:var(--rido-ink)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.hero-copy,.rido-home-copy) p,
html body.rido-public-site.rido-ui-v0480 main .rido-home-lead {
  margin:0;
  max-width:700px;
  font-size:clamp(16px,1.3vw,18px)!important;
  line-height:1.68!important;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.hero-actions,.rido-home-actions,.actions,.cta-actions) {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:22px;
}
html body.rido-public-site.rido-ui-v0480 main :where(.trust-points,.rido-home-trust,.rido-module-trust,.rido-menu-trust) {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.trust-points,.rido-home-trust,.rido-module-trust,.rido-menu-trust)>span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 11px!important;
  background:#fff!important;
  border:1px solid var(--rido-line)!important;
  border-radius:999px!important;
  color:var(--rido-ink)!important;
  font-size:13px!important;
  font-weight:760!important;
}

/* Foto's: tekst nooit meer over een foto. */
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.v18-how-image,.page-hero-image,.rido-private-hero-photo,
  .rido-public-photo-card,.page-photo-card,.photo-tile,.v18-visual-card
) {
  position:relative!important;
  overflow:hidden!important;
  margin:0!important;
  min-height:0!important;
  background:#fff!important;
  border:1px solid var(--rido-line)!important;
  border-radius:var(--rido-radius)!important;
  box-shadow:var(--rido-shadow)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.v18-how-image,.page-hero-image,.rido-private-hero-photo,
  .rido-public-photo-card,.page-photo-card,.photo-tile,.v18-visual-card
)::after { display:none!important; content:none!important; }
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.v18-how-image,.page-hero-image,.rido-private-hero-photo,
  .rido-public-photo-card,.page-photo-card,.photo-tile,.v18-visual-card
)>img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:520px;
  aspect-ratio:16/9;
  object-fit:cover!important;
  border-radius:0!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.page-hero-image,.rido-private-hero-photo,.rido-public-photo-card,.page-photo-card
)>figcaption,
html body.rido-public-site.rido-ui-v0480 main .photo-tile>div {
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:14px 17px!important;
  background:#fff!important;
  border:0!important;
  border-top:1px solid var(--rido-line)!important;
  color:var(--rido-text)!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.page-hero-image,.rido-private-hero-photo,.rido-public-photo-card,.page-photo-card,.photo-tile
) :where(figcaption,div)>:where(strong,b,h1,h2,h3,h4) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(
  .v18-hero-image,.page-hero-image,.rido-private-hero-photo,.rido-public-photo-card,.page-photo-card,.photo-tile
) :where(figcaption,div)>:where(span,p,small) { color:var(--rido-text)!important; }

/* Homepage-collage als echte kaarten, zonder gradients over tekst. */
html body.rido-public-site.rido-ui-v0480 main .rido-hero-collage {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  min-height:430px;
}
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--rido-line)!important;
  border-radius:18px!important;
  box-shadow:var(--rido-shadow)!important;
  text-decoration:none!important;
}
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media-main { grid-row:1/3; }
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media::after { display:none!important; content:none!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media img {
  width:100%!important;
  height:100%!important;
  min-height:170px;
  object-fit:cover!important;
  transform:none!important;
}
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media>span {
  position:static!important;
  inset:auto!important;
  display:block!important;
  padding:14px 16px!important;
  background:#fff!important;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media>span strong { color:var(--rido-ink)!important; font-size:18px!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media>span small { color:var(--rido-text)!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-hero-media>span b { color:#075f8f!important; }

/* Universele witte kaarten. */
html body.rido-public-site.rido-ui-v0480 main :where(
  article,.card,.info-card,.pricing-card,.service-package-card,.software-product-card,
  .commercial-choice-card,.commercial-proof-card,.floating-card,.preview-panel,
  .private-rule-panel,.partner-final-cta,.rido-commercial-choice,.rido-home-final-cta,
  .rido-private-final,.order-cta,.order-start-visual,.v19-update-panel,
  .rido-menu-feature-grid article,.rido-module-feature-grid article,.rido-module-use-grid article,
  .rido-v27-purpose-grid article,.rido-v27-profile-grid article,.rido-v27-scope-grid article,
  .display-module-grid article,.display-process-grid article
) {
  background:#fff!important;
  color:var(--rido-text)!important;
  border:1px solid var(--rido-line)!important;
  border-radius:var(--rido-radius)!important;
  box-shadow:var(--rido-shadow)!important;
  text-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(
  article,.card,.info-card,.pricing-card,.service-package-card,.software-product-card,
  .commercial-choice-card,.commercial-proof-card,.floating-card,.preview-panel,
  .private-rule-panel,.partner-final-cta,.rido-commercial-choice,.rido-home-final-cta,
  .rido-private-final,.order-cta,.order-start-visual,.v19-update-panel,
  .rido-menu-feature-grid article,.rido-module-feature-grid article,.rido-module-use-grid article,
  .rido-v27-purpose-grid article,.rido-v27-profile-grid article,.rido-v27-scope-grid article,
  .display-module-grid article,.display-process-grid article
) :where(h1,h2,h3,h4,h5,h6,strong,b,label,legend) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(
  article,.card,.info-card,.pricing-card,.service-package-card,.software-product-card,
  .commercial-choice-card,.commercial-proof-card,.floating-card,.preview-panel,
  .private-rule-panel,.partner-final-cta,.rido-commercial-choice,.rido-home-final-cta,
  .rido-private-final,.order-cta,.order-start-visual,.v19-update-panel,
  .rido-menu-feature-grid article,.rido-module-feature-grid article,.rido-module-use-grid article,
  .rido-v27-purpose-grid article,.rido-v27-profile-grid article,.rido-v27-scope-grid article,
  .display-module-grid article,.display-process-grid article
) :where(p,li,small,span,em,.muted,.subtle) { color:var(--rido-text)!important; opacity:1!important; }

/* Gridpatronen consistent houden om scannen en vergelijken te ondersteunen. */
html body.rido-public-site.rido-ui-v0480 main :where(.info-grid.three,.rido-v27-scope-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-v27-purpose-grid,.rido-v27-profile-grid,.rido-v27-software-grid,.rido-module-use-grid) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-module-feature-grid,.rido-menu-feature-grid,.software-product-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
html body.rido-public-site.rido-ui-v0480 main :where(.info-card,.rido-v27-purpose-grid article,.rido-v27-profile-grid article,.rido-v27-scope-grid article,.rido-module-use-grid article,.rido-module-feature-grid article,.rido-menu-feature-grid article) { padding:20px!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.info-icon,.rido-v27-purpose-grid article>span,.rido-v27-profile-grid article>span,.rido-v27-software-grid>a>span) {
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:12px!important;
  background:var(--rido-chip)!important;
  color:#075f86!important;
  font-weight:900!important;
}

/* Processtappen. */
html body.rido-public-site.rido-ui-v0480 main :where(.process-strip,.v18-process-strip) {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.process-strip,.v18-process-strip)>div {
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:12px!important;
  align-items:start!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid var(--rido-line)!important;
  border-radius:18px!important;
  box-shadow:var(--rido-shadow)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.process-strip,.v18-process-strip)>div>strong {
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  background:#0b4668!important;
  color:#fff!important;
  font-weight:850!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.process-strip,.v18-process-strip)>div>span {
  color:var(--rido-ink)!important;
  font-weight:650!important;
  line-height:1.42!important;
}

/* Update-/huurpanelen en CTA's: nooit donker op donker. */
html body.rido-public-site.rido-ui-v0480 main :where(.v19-update-panel,.cta,.v18-cta,.rido-home-final-cta,.rido-private-final,.partner-final-cta,.rido-commercial-choice) {
  background:#fff!important;
  color:var(--rido-text)!important;
  border:1px solid var(--rido-line)!important;
  border-radius:var(--rido-radius)!important;
  box-shadow:var(--rido-shadow)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.v19-update-panel,.cta,.v18-cta,.rido-home-final-cta,.rido-private-final,.partner-final-cta,.rido-commercial-choice) :where(h1,h2,h3,strong,b) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.v19-update-panel,.cta,.v18-cta,.rido-home-final-cta,.rido-private-final,.partner-final-cta,.rido-commercial-choice) :where(p,span,small,li) { color:var(--rido-text)!important; opacity:1!important; }
html body.rido-public-site.rido-ui-v0480 main .v19-update-panel { padding:26px!important; }
html body.rido-public-site.rido-ui-v0480 main .contract-mode-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
html body.rido-public-site.rido-ui-v0480 main .contract-mode-badges span {
  padding:6px 10px!important;
  border:1px solid var(--rido-line)!important;
  border-radius:999px!important;
  background:#f4f8fa!important;
  color:var(--rido-ink)!important;
  font-size:12px!important;
  font-weight:800!important;
}

/* Modulepagina's: dezelfde lichte componenttaal. */
html body.rido-public-site.rido-ui-v0480 main :where(.rido-module-demo,.rido-module-spotlight,.rido-menu-readability-card,.rido-menu-suite-card) {
  background:#fff!important;
  color:var(--rido-text)!important;
  border:1px solid var(--rido-line)!important;
  border-radius:var(--rido-radius)!important;
  box-shadow:var(--rido-shadow)!important;
  transform:none!important;
  filter:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.rido-module-demo,.rido-module-spotlight,.rido-menu-readability-card,.rido-menu-suite-card)::before { display:none!important; content:none!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-module-demo,.rido-module-spotlight,.rido-menu-readability-card,.rido-menu-suite-card) :where(h1,h2,h3,h4,strong,b) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-module-demo,.rido-module-spotlight,.rido-menu-readability-card,.rido-menu-suite-card) :where(p,span,small,li) { color:var(--rido-text)!important; opacity:1!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-module-demo-row { background:#f8fafc!important; border-color:var(--rido-line)!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-module-demo-head>span { background:#0b4668!important; color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-module-demo-head em { background:var(--rido-chip)!important; color:#075f86!important; }

/* Alleen de feitelijke digitale-menu-preview blijft bewust donker/gekleurde content. */
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo { background:linear-gradient(145deg,#f9bf3b,#f47c20)!important; border:10px solid #132c3a!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-top { background:#1b2024!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-top :where(strong,span) { color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-top em { color:#ffe597!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-grid section { background:#151c21!important; color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-grid section h2 { color:#ffd766!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-grid section span { color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-grid section small { color:#cad9df!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-grid section strong { color:#fff2b2!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-menu-demo-footer { background:#ef3f31!important; color:#fff!important; }

/* Formulieren. */
html body.rido-public-site.rido-ui-v0480 main :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width:100%;
  max-width:100%;
  min-height:46px;
  background:#fff!important;
  color:var(--rido-ink)!important;
  border:1px solid #afc0cb!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(input,textarea)::placeholder { color:#6c8291!important; opacity:1!important; }
html body.rido-public-site.rido-ui-v0480 main input[type="checkbox"],
html body.rido-public-site.rido-ui-v0480 main input[type="radio"] {
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  accent-color:var(--rido-primary)!important;
  box-shadow:none!important;
}

/* Footer is het enige vaste donkere websitevlak. */
html body.rido-public-site.rido-ui-v0480 .site-footer {
  background:#061f32!important;
  color:#dbe8ef!important;
  border-top:0!important;
}
html body.rido-public-site.rido-ui-v0480 .site-footer :where(h1,h2,h3,h4,strong,b,a) { color:#fff!important; }
html body.rido-public-site.rido-ui-v0480 .site-footer :where(p,li,span,small) { color:#dbe8ef!important; opacity:1!important; }

/* Responsive: vloeibare grids, media en typografie. */
@media (max-width:1050px) {
  html body.rido-public-site.rido-ui-v0480 main :where(.v18-hero-layout,.rido-home-hero-grid,.rido-module-hero-grid,.rido-menu-hero-grid,.visual-page-hero,.rido-v27-scope-panel) { grid-template-columns:1fr!important; }
  html body.rido-public-site.rido-ui-v0480 main .rido-hero-collage { max-width:820px; }
  html body.rido-public-site.rido-ui-v0480 main :where(.rido-v27-purpose-grid,.rido-v27-profile-grid,.rido-v27-software-grid,.rido-module-use-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:820px) {
  html body.rido-public-site.rido-ui-v0480 .wrap { width:min(100% - 28px,1180px); }
  html body.rido-public-site.rido-ui-v0480 main .section { padding:48px 0; }
  html body.rido-public-site.rido-ui-v0480 main :where(.info-grid.three,.rido-v27-scope-grid,.rido-v27-purpose-grid,.rido-v27-profile-grid,.rido-v27-software-grid,.rido-module-use-grid,.rido-module-feature-grid,.rido-menu-feature-grid,.software-product-grid,.process-strip,.v18-process-strip) { grid-template-columns:1fr!important; }
  html body.rido-public-site.rido-ui-v0480 main .rido-hero-collage { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  html body.rido-public-site.rido-ui-v0480 main .rido-hero-media-main { grid-row:auto; }
  html body.rido-public-site.rido-ui-v0480 main .rido-hero-media:not(.rido-hero-media-main) { display:grid!important; }
}
@media (max-width:640px) {
  html body.rido-public-site.rido-ui-v0480 main :where(.hero,.page-hero,.v18-service-hero,.v18-home-hero,.rido-home-hero,.rido-business-hero,.rido-private-hero,.rido-module-hero,.rido-menu-hero,.commercial-home-hero,.package-page-hero,.configurator-hero) { padding:38px 0!important; }
  html body.rido-public-site.rido-ui-v0480 main :where(.hero-copy,.rido-home-copy) h1 { font-size:clamp(34px,11vw,48px)!important; }
  html body.rido-public-site.rido-ui-v0480 main :where(.hero-actions,.rido-home-actions,.actions,.cta-actions) { align-items:stretch; flex-direction:column; }
  html body.rido-public-site.rido-ui-v0480 main :where(a.btn,button.btn,.rido-home-btn) { width:100%; }
  html body.rido-public-site.rido-ui-v0480 main :where(.v19-update-panel,.cta,.v18-cta,.rido-home-final-cta,.rido-private-final,.partner-final-cta,.rido-commercial-choice) { padding:20px!important; }
}
@media (prefers-reduced-motion:reduce) {
  html body.rido-public-site.rido-ui-v0480 * { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Hard guard tegen historische body:not(.admin-body)-regels uit style.css.
   Deze selectors zijn bewust zeer specifiek: vanaf v0.48.0 is dit design-systeem leidend. */
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.v18-service-page .v18-service-hero,
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-home-v0466 .rido-home-hero,
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-module-page .rido-module-hero,
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .rido-menu-hero {
  background:linear-gradient(180deg,#f8fbfd 0%,#edf4f7 100%)!important;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.v18-service-page .v18-hero-layout .hero-copy :is(h1,h2,h3,strong),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-home-v0466 .rido-home-copy :is(h1,h2,h3,strong),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-module-page .rido-module-hero :is(h1,h2,h3,strong),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .rido-menu-hero :is(h1,h2,h3,strong) {
  color:var(--rido-ink)!important;
  opacity:1!important;
}
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.v18-service-page .v18-hero-layout .hero-copy :is(p,span,small),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-home-v0466 .rido-home-copy :is(p,span,small),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main.rido-module-page .rido-module-hero :is(p,span,small),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .rido-menu-hero :is(p,span,small) {
  color:var(--rido-text)!important;
  opacity:1!important;
}
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .v19-service-contracts .v19-update-panel,
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .v18-process-band .v18-process-strip>div,
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .section .cta.v18-cta {
  background:#fff!important;
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .v19-service-contracts .v19-update-panel :is(h1,h2,h3,p,span,strong,small),
html body.rido-public-site.rido-ui-v0480.rido-ui-v0480 main .section .cta.v18-cta :is(h1,h2,h3,p,span,strong,small) {
  color:var(--rido-ink)!important;
  opacity:1!important;
}

/* Homepage-structuur opnieuw gedefinieerd zodat de oude v0.46.6-stylesheet niet meer nodig is. */
html body.rido-public-site.rido-ui-v0480 main.rido-home-v0466 { background:var(--rido-bg)!important; color:var(--rido-text)!important; overflow:hidden; }
html body.rido-public-site.rido-ui-v0480 main.rido-home-v0466 .wrap { width:min(1240px,calc(100% - 40px)); }
html body.rido-public-site.rido-ui-v0480 main .rido-home-section { padding:64px 0; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-section-head { max-width:820px; margin:0 auto 30px; text-align:center; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-section-head h2 { margin:12px 0 9px; font-size:clamp(30px,3.5vw,46px); line-height:1.08; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-section-head p { margin:0 auto; font-size:17px; line-height:1.6; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-solution-grid,.rido-private-product-grid) { display:grid; gap:16px; }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
html body.rido-public-site.rido-ui-v0480 main .rido-private-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-card { overflow:hidden!important; padding:0!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-card-copy { display:flex; gap:12px; padding:20px 18px 16px; min-height:188px; }
html body.rido-public-site.rido-ui-v0480 main .rido-card-icon { width:46px; height:46px; min-width:46px; display:grid; place-items:center; border-radius:13px; background:#0b5f86!important; color:#fff!important; font-size:21px; font-weight:900; }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-card h3 { margin:0 0 7px; font-size:20px; line-height:1.18; }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-card p { margin:0 0 11px; font-size:14px; line-height:1.55; }
html body.rido-public-site.rido-ui-v0480 main .rido-solution-card img { display:block; width:100%; height:190px; object-fit:cover; }
html body.rido-public-site.rido-ui-v0480 main .rido-private-product-grid .rido-solution-card img { height:210px; }
html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:20px; }
html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip>div { display:grid; grid-template-columns:auto 1fr; column-gap:10px; row-gap:2px; align-items:center; padding:14px 15px; background:#fff; border:1px solid var(--rido-line); border-radius:15px; }
html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip .rido-benefit-icon { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:var(--rido-chip)!important; color:#075f86!important; font-weight:900; }
html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip strong { font-size:14px; }
html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip small { font-size:12px; line-height:1.4; }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:34px; align-items:start; }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-intro h2,
html body.rido-public-site.rido-ui-v0480 main .rido-private-usecases h2 { margin:13px 0 10px; font-size:clamp(30px,3.2vw,44px); }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-grid article { padding:18px!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-grid article strong { display:block; margin-bottom:5px; }
html body.rido-public-site.rido-ui-v0480 main .rido-usecase-grid article p { margin:0; font-size:14px; line-height:1.5; }
html body.rido-public-site.rido-ui-v0480 main .rido-startpoint-grid,
html body.rido-public-site.rido-ui-v0480 main .rido-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-startpoint-grid,.rido-process-grid) article { padding:22px!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-startpoint-grid,.rido-process-grid) article>span { display:grid; place-items:center; width:38px; height:38px; margin-bottom:15px; border-radius:12px; background:#0b4668!important; color:#fff!important; font-weight:900; font-size:12px; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-startpoint-grid,.rido-process-grid) h3 { margin:0 0 7px; font-size:20px; }
html body.rido-public-site.rido-ui-v0480 main :where(.rido-startpoint-grid,.rido-process-grid) p { margin:0 0 10px; font-size:14px; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-final-cta { padding:36px 0 60px!important; background:var(--rido-bg)!important; border:0!important; box-shadow:none!important; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-final-inner { display:flex; justify-content:space-between; gap:28px; align-items:center; padding:28px; background:#fff; border:1px solid var(--rido-line); border-radius:var(--rido-radius); box-shadow:var(--rido-shadow); }
html body.rido-public-site.rido-ui-v0480 main .rido-home-final-inner h2 { margin:12px 0 7px; }
html body.rido-public-site.rido-ui-v0480 main .rido-home-final-inner p { margin:0; }
@media(max-width:1050px){
  html body.rido-public-site.rido-ui-v0480 main .rido-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.rido-public-site.rido-ui-v0480 main .rido-private-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.rido-public-site.rido-ui-v0480 main .rido-usecase-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
  html body.rido-public-site.rido-ui-v0480 main .rido-solution-grid,
  html body.rido-public-site.rido-ui-v0480 main .rido-private-product-grid,
  html body.rido-public-site.rido-ui-v0480 main .rido-benefit-strip,
  html body.rido-public-site.rido-ui-v0480 main .rido-usecase-grid,
  html body.rido-public-site.rido-ui-v0480 main .rido-startpoint-grid,
  html body.rido-public-site.rido-ui-v0480 main .rido-process-grid { grid-template-columns:1fr; }
  html body.rido-public-site.rido-ui-v0480 main .rido-solution-card-copy{min-height:0}
  html body.rido-public-site.rido-ui-v0480 main .rido-home-final-inner{align-items:stretch;flex-direction:column;padding:22px}
}

/* v0.48.0 recovery hardening — public pages never inherit legacy visual paint. */
html body.rido-public-site.rido-ui-v0480 main :where(a.btn,button.btn,.nav-cta,.rido-home-btn):not(.secondary):not(.light):not(.btn-white):not(.btn-ghost-light) :where(span,strong,b,small) {
  color:#fff!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(a.btn.secondary,button.btn.secondary,a.btn.light,button.btn.light,a.btn.btn-white,button.btn.btn-white,.rido-home-btn-secondary) :where(span,strong,b,small) {
  color:var(--rido-ink)!important;
}
html body.rido-public-site.rido-ui-v0480 .audience-entry {
  position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px;
  background:rgba(6,31,50,.58)!important; backdrop-filter:blur(8px)!important;
}
html body.rido-public-site.rido-ui-v0480 .audience-entry-card {
  width:min(620px,100%); padding:28px; background:#fff!important; border:1px solid var(--rido-line)!important;
  border-radius:22px!important; box-shadow:0 26px 80px rgba(6,31,50,.24)!important; color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 .audience-entry-card :where(h1,h2,h3,strong,b) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 .audience-entry-card :where(p,span,small) { color:var(--rido-text)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.card,.panel,.tile,.feature-card,.product-card,.solution-card,.service-card,.pricing-card,.info-card,.step-card,.rido-card,.v18-card,.v19-card) {
  color:var(--rido-text)!important;
}
html body.rido-public-site.rido-ui-v0480 main :where(.card,.panel,.tile,.feature-card,.product-card,.solution-card,.service-card,.pricing-card,.info-card,.step-card,.rido-card,.v18-card,.v19-card) :where(h1,h2,h3,h4,strong,b) { color:var(--rido-ink)!important; }
html body.rido-public-site.rido-ui-v0480 main :where(.card,.panel,.tile,.feature-card,.product-card,.solution-card,.service-card,.pricing-card,.info-card,.step-card,.rido-card,.v18-card,.v19-card) :where(p,li,span,small) { color:var(--rido-text)!important; }
