/* Gemigreerde componentbasis uit snippet 75.
 * Extern geladen zodat deze regels door de browser worden gecachet.
 */
:root { --rm-text:#172033; --rm-muted:#68758b; --rm-line:#dfe6f0; --rm-blue:#3565e8; }

.rm-visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-width: 921px) {
  html,
  body {
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  html.rm-mobile-scroll-ready,
  html.rm-mobile-scroll-ready body.home {
    min-height:100%!important;
    height:auto!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.home #page,
  body.home #content,
  body.home #content > .ast-container,
  body.home #primary,
  body.home #main,
  body.home article.ast-article-single,
  body.home .entry-content {
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
  }

  body.ast-header-break-point .ast-mobile-header-wrap .menu-toggle.main-header-menu-toggle {
    position:relative!important;
    left:0!important;
    margin-left:0!important;
    transform:none!important;
  }
}

.autocomplete-suggestions,
.facetwp-autocomplete-suggestions,
.fcomplete-wrap,
.pac-container {
  z-index:1000005!important;
  max-height:240px!important;
  overflow-y:auto!important;
  border:1px solid var(--rm-line)!important;
  border-radius:12px!important;
  box-shadow:0 14px 32px rgba(23,32,51,.14)!important;
  background:#fff!important;
}

@media (min-width:821px) {
  body.home h4.uagb-heading-text,
  body.home h5.uagb-heading-text {
    font-size:16px!important;
    line-height:1.45!important;
    font-weight:400!important;
  }
  body.home .entry-content > .wp-block-uagb-container:first-child .wp-block-uagb-advanced-heading p.uagb-heading-text,
  body.page-id-1867 .entry-content > .wp-block-uagb-container:first-child .wp-block-uagb-advanced-heading p.uagb-heading-text {
    font-size:20px!important;
    line-height:1.45!important;
    font-weight:400!important;
  }
  .rm-filter-sheet-close { display:none!important; }
  .rm-filter-panel {
    border-radius:14px!important;
    box-shadow:0 8px 24px rgba(23,32,51,.06)!important;
  }
  .rm-filter-header {
    min-height:54px!important;
    padding:14px 16px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  .rm-filter-header h2,.rm-filter-header h3 {
    font-size:19px!important;
    line-height:1.2!important;
  }
  .rm-filter-reset {
    min-height:32px!important;
    padding:0 9px!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#3565e8!important;
    font-size:12px!important;
    font-weight:750!important;
  }
  .rm-filter-block { padding:12px 0!important; }
  .rm-filter-block summary { min-height:32px!important; font-size:14px!important; }
  .rm-filter-block summary::after { width:28px!important; height:28px!important; flex-basis:28px!important; }
  .rm-filter-body,.rm-filter-panel .facetwp-facet { font-size:14px!important; }
  .rm-results-toolbar { align-items:end!important; gap:18px!important; }
  .rm-results-eyebrow { font-size:12px!important; line-height:1.2!important; }
  .rm-results-toolbar h2 { margin:4px 0 0!important; font-size:22px!important; line-height:1.15!important; font-weight:850!important; }
  .rm-results-actions { gap:10px!important; }
  .rm-sort-label span { font-size:12px!important; }
  .rm-sort-label select { min-height:42px!important; font-size:14px!important; }
  .rm-results-count { min-height:42px!important; padding:0 14px!important; font-size:13px!important; }
}

@media (max-width:820px) {
  html,
  body {
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .site,
  #page,
  #content,
  .site-content,
  .entry-content {
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.page:not(.home) .site-content > .ast-container,
  body.page:not(.home) .site-content .ast-container {
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body.page:not(.home) .entry-content {
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:clip!important;
  }
  body.page:not(.home) .entry-content > .wp-block-uagb-container.alignfull,
  body.page:not(.home) .entry-content > .uagb-is-root-container.alignfull,
  body.page:not(.home) .entry-content > .wp-block-group.alignfull,
  body.page:not(.home) .entry-content > .wp-block-cover.alignfull {
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow-x:clip!important;
  }
  body.page:not(.home) .entry-content > .wp-block-uagb-container.alignfull > .uagb-container-inner-blocks-wrap,
  body.page:not(.home) .entry-content > .uagb-is-root-container.alignfull > .uagb-container-inner-blocks-wrap {
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
    box-sizing:border-box!important;
  }
  body.page:not(.home) .entry-content .wp-block-uagb-advanced-heading,
  body.page:not(.home) .entry-content .uagb-heading-text,
  body.page:not(.home) .entry-content .wp-block-uagb-container p {
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
  .rm-home-search-card,
  .rm-search-v3-layout,
  .rm-schools-page,
  .rm-cbr-page,
  .rm-premium-complete,
  .rm-premium-single {
    box-sizing:border-box!important;
    width:calc(100% - 18px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
  }
  .rm-search-v3-layout,
  .rm-schools-page,
  .rm-cbr-page,
  .rm-premium-complete,
  .rm-premium-single {
    overflow:visible!important;
  }
  .rm-city-page,
  .rm-cities-shell {
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .rm-city-hero,
  .rm-city-filterbar,
  .rm-city-layout,
  .rm-city-seo-grid,
  .rm-city-seo-text,
  .rm-section-head,
  .rm-featured-cities,
  .rm-all-cities {
    box-sizing:border-box!important;
    max-width:calc(100% - 18px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select,
  .facetwp-autocomplete,
  .facetwp-search,
  .facetwp-number {
    font-size:16px!important;
  }
  body.home h4.uagb-heading-text,
  body.home h5.uagb-heading-text {
    font-size:13px!important;
    line-height:1.45!important;
    font-weight:400!important;
  }
  body.home .entry-content > .wp-block-uagb-container:first-child .wp-block-uagb-advanced-heading p.uagb-heading-text,
  body.page-id-1867 .entry-content > .wp-block-uagb-container:first-child .wp-block-uagb-advanced-heading p.uagb-heading-text {
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:400!important;
  }
  body.home .ast-container,
  body.home .site-content .ast-container,
  body.home .entry-content {
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
  }
  body.home .entry-content > .wp-block-uagb-container,
  body.home .entry-content .wp-block-uagb-container.alignfull,
  body.home .entry-content .uagb-is-root-container {
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    overflow:visible!important;
  }
  body.home .uagb-heading-text {
    max-width:calc(100vw - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-wrap:break-word!important;
  }
  body.home .rm-home-search-card {
    display:block!important;
    width:calc(100% - 18px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.home .rm-home-search-form,
  body.home .rm-home-search-line,
  body.home .rm-home-location-control,
  body.home .rm-home-select-control,
  body.home .rm-home-special-control {
    max-width:100%!important;
    min-width:0!important;
  }
  .ast-mobile-header-wrap .menu-toggle,
  .ast-mobile-header-wrap .main-header-menu-toggle,
  .ast-mobile-popup-drawer .menu-toggle-close {
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
  }
  .ast-mobile-header-wrap .ast-builder-menu-mobile {
    padding-left:10px!important;
  }
  .ast-mobile-header-wrap .menu-toggle.main-header-menu-toggle {
    position:relative!important;
    left:0!important;
  }
  .rm-results-hero { padding:22px 16px 10px!important; }
  .rm-results-hero h1 { font-size:28px!important; line-height:1.12!important; }
  .rm-results-hero p { margin-top:9px!important; font-size:14px!important; }
  .rm-results-layout { padding:10px 12px 34px!important; gap:12px!important; }
  .rm-filter-mobile-toggle {
    min-height:48px!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    gap:8px!important;
    padding:7px 8px 7px 13px!important;
    border-radius:14px!important;
    box-shadow:0 7px 20px rgba(23,32,51,.07)!important;
  }
  .rm-filter-mobile-toggle span { font-size:14px!important; }
  .rm-filter-mobile-toggle small { display:none!important; }
  .rm-filter-mobile-toggle::after { width:34px!important; height:34px!important; font-size:17px!important; }
  .rm-filter-wrapper[open] .rm-filter-panel,
  .rm-filter-shell[open] .rm-filter-panel,
  .rm-filter-sidebar[open] .rm-filter-panel {
    max-height:82vh!important;
    border-radius:18px 18px 0 0!important;
  }
  .rm-filter-header {
    min-height:58px!important;
    grid-template-columns:36px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:9px 12px!important;
  }
  .rm-filter-sheet-close { width:36px!important; height:36px!important; font-size:20px!important; }
  .rm-filter-header h2,.rm-filter-header h3 { font-size:18px!important; }
  .rm-filter-reset { min-height:34px!important; padding:0 10px!important; font-size:12px!important; border-radius:9px!important; }
  .rm-filter-body { padding:0 12px 12px!important; }
  .rm-filter-block { padding:11px 0!important; }
  .rm-filter-block summary { min-height:34px!important; font-size:15px!important; }
  .rm-filter-block summary::after { width:32px!important; height:32px!important; flex-basis:32px!important; }
  .rm-filter-panel .facetwp-checkbox,.rm-filter-panel .facetwp-radio {
    min-height:38px!important;
    padding:7px 36px 7px 30px!important;
    border-radius:9px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .rm-filter-panel .facetwp-checkbox.checked,
  .rm-filter-panel .facetwp-radio.checked {
    min-height:38px!important;
    padding:7px 36px 7px 30px!important;
    border-radius:9px!important;
    background:#edf3ff!important;
    color:#2756d8!important;
    font-size:14px!important;
    line-height:1.25!important;
    text-align:left!important;
    display:flex!important;
    align-items:center!important;
  }
  .rm-filter-panel .facetwp-counter {
    position:absolute!important;
    right:8px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    min-width:28px!important;
    height:22px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    background:#eef2f7!important;
    color:#7a8596!important;
    font-size:11px!important;
    line-height:22px!important;
    text-align:center!important;
  }
  .rm-filter-panel .facetwp-type-autocomplete {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
  }
  .rm-filter-panel .facetwp-input-wrap,
  .rm-filter-panel .facetwp-autocomplete {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .rm-filter-panel .facetwp-autocomplete-update,
  .rm-filter-panel .facetwp-submit {
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:12px!important;
    font-size:14px!important;
  }
  .rm-filter-panel input,.rm-filter-panel select { min-height:44px!important; font-size:16px!important; }
  .rm-filter-mobile-actions { padding:10px 12px max(10px,env(safe-area-inset-bottom))!important; }
  .rm-filter-mobile-actions button { min-height:48px!important; font-size:15px!important; }
  .rm-results-toolbar {
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
  }
  .rm-results-toolbar * {
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    letter-spacing:0!important;
  }
  .rm-results-toolbar > div:first-child {
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .rm-results-eyebrow { font-size:12px!important; }
  .rm-results-toolbar h2 { margin:3px 0 0!important; font-size:21px!important; line-height:1.12!important; }
  .rm-results-actions {
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    width:100%!important;
    gap:10px!important;
  }
  .rm-sort-label {
    order:2!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .rm-sort-label span {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
  }
  .rm-sort-label select {
    width:148px!important;
    max-width:148px!important;
    min-height:38px!important;
    padding:0 32px 0 12px!important;
    border-radius:999px!important;
    background:#fff!important;
    font-size:13px!important;
  }
  .rm-results-count {
    order:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:0 12px!important;
    font-size:13px!important;
  }
  .rm-city-filterbar {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .rm-city-filterbar > label {
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
  }
  .rm-city-filterbar input {
    width:100%!important;
    min-width:0!important;
  }
  .rm-city-filterbar > a {
    width:100%!important;
    min-width:0!important;
    padding:10px 6px!important;
    font-size:12px!important;
    line-height:1.2!important;
    text-align:center!important;
  }
}

.rm-premium-single { font-size:16px!important; }
.rm-premium-copy h1 { font-size:clamp(30px,3.1vw,48px)!important; line-height:1.06!important; }
.rm-premium-feature-grid { align-items:stretch!important; }
.rm-premium-feature-grid > * { min-width:0!important; }
.rm-premium-panel h2,.rm-premium-panel h3 { font-size:21px!important; line-height:1.2!important; }
.rm-premium-contact-card a,.rm-premium-contact-card td,.rm-premium-contact-card dd {
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.page-id-2960 h1 {
  max-width:760px!important;
  font-size:clamp(34px,4vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}
body.page-id-2960 h1 span {
  font:inherit!important;
  line-height:inherit!important;
}
@media (max-width:820px) {
  .rm-premium-copy h1 { font-size:29px!important; }
  .rm-premium-panel h2,.rm-premium-panel h3 { font-size:20px!important; }
  body.page-id-2960 h1 {
    font-size:30px!important;
    line-height:1.12!important;
  }
  .rm-premium-feature-grid { display:flex!important; flex-direction:column!important; }
  .rm-premium-hero .rm-premium-media {
    display:block!important;
    height:auto!important;
    min-height:0!important;
    grid-template-rows:auto!important;
    align-self:start!important;
  }
}


/* Rijmaatje centrale typografie - samengevoegd uit snippet 74. */
:root {
  --rm-type-page: clamp(30px, 3.1vw, 42px);
  --rm-type-section: 22px;
  --rm-type-card: 17px;
  --rm-type-panel: 17px;
  --rm-type-body: 15px;
  --rm-type-control: 14px;
  --rm-type-label: 13px;
  --rm-type-small: 12px;
  --rm-line-page: 1.1;
  --rm-line-heading: 1.22;
  --rm-line-body: 1.55;
  --rm-weight-heading: 850;
  --rm-weight-card: 800;
  --rm-weight-control: 800;
  --rm-weight-label: 750;
}

.rm-search-v3,
.rm-schools-page,
.rm-cities-shell,
.rm-cities-page,
.rm-city-page,
.rm-premium-single,
.rm-single-school,
.rm-results-shell {
  font-family: inherit !important;
  font-size: var(--rm-type-body) !important;
}

/* Hoofdtitels */
.rm-schools-hero h1,
.rm-city-hero h1,
.rm-premium-single h1,
.rm-single-school h1,
.rm-results-hero h1,
.rm-home-hero h1,
.rm-home-hero h2,
.rm-search-v3-hero h1,
.entry-content > h1,
.entry-content > h2:first-child {
  margin-top: 0 !important;
  letter-spacing: 0 !important;
  font-size: var(--rm-type-page) !important;
  line-height: var(--rm-line-page) !important;
  font-weight: var(--rm-weight-heading) !important;
  text-wrap: balance;
}

/*
 * Spectra-koppen boven de eigen Rijmaatje-blokken.
 * Deze vallen buiten de shortcode-containers en werden daarom eerder
 * niet door het centrale systeem geraakt.
 */
body.home .entry-content > .wp-block-uagb-container:first-child .uagb-heading-text,
body.page-id-1867 .entry-content > .wp-block-uagb-container:first-child .uagb-heading-text,
body.page-id-1233 .entry-content > .wp-block-uagb-container:first-child .uagb-ifb-title {
  margin-top: 0 !important;
  letter-spacing: 0 !important;
  font-size: var(--rm-type-page) !important;
  line-height: var(--rm-line-page) !important;
  font-weight: 900 !important;
  text-wrap: balance;
}

/* Sectietitels */
.rm-schools-page section > h2,
.rm-cities-shell section > h2,
.rm-cities-shell .rm-section-head h2,
.rm-cities-page section > h2,
.rm-city-page section > h2,
.rm-premium-single section > h2,
.rm-single-school section > h2,
.rm-review-section > h2,
.rm-results-section > h2,
  .rm-results-heading h2,
.rm-results-toolbar h2,
.rm-search-v3-title h2 {
  margin-top: 0 !important;
  letter-spacing: 0 !important;
  font-size: var(--rm-type-section) !important;
  line-height: var(--rm-line-heading) !important;
  font-weight: var(--rm-weight-heading) !important;
  text-wrap: balance;
}

/* Titels binnen kaarten en panelen */
.rm-school-card h2,
.rm-school-card h3,
.rm-city-card h2,
.rm-featured-city-card h2,
.rm-featured-city-card h3,
.rm-city-school h2,
.rm-featured-school h2,
.rm-review-card h3,
.rm-instructor-card h3,
.rm-premium-single h3,
.rm-single-school h3,
.rm-filter-header h2,
.rm-filter-header h3,
.rm-search-v3-card h3 {
  margin-top: 0 !important;
  letter-spacing: 0 !important;
  font-size: var(--rm-type-card) !important;
  line-height: var(--rm-line-heading) !important;
  font-weight: var(--rm-weight-card) !important;
}

.rm-price-box h2,
.rm-review-summary h2,
.rm-instructors-section > h2,
.rm-contact-card h2,
.rm-options-card h2,
.rm-packages-card h2 {
  font-size: var(--rm-type-panel) !important;
  line-height: var(--rm-line-heading) !important;
  font-weight: var(--rm-weight-card) !important;
  letter-spacing: 0 !important;
}

.rm-results-toolbar h2 {
  max-width: 100% !important;
  font-size: 21px !important;
}

/* Oude snippets met grotere, eigen kopregels. */
.rm-home-featured-head h2,
.rm-section-head h2,
.rm-city-aside h2,
.rm-city-content-card h2,
.rm-city-lesson-areas h2,
.rm-city-cbr h2,
.rm-premium-panel h2,
.rm-review-form-head h3 {
  font-size: var(--rm-type-section) !important;
  line-height: var(--rm-line-heading) !important;
  letter-spacing: 0 !important;
}

.rm-premium-options-panel h3,
.rm-premium-offer h3,
.rm-review-choice-card h3,
.rm-package-info > strong,
.rm-filter-block summary,
.rm-results-card h3 {
  font-size: var(--rm-type-card) !important;
  line-height: var(--rm-line-heading) !important;
  letter-spacing: 0 !important;
}

/* Normale tekst */
.rm-schools-page p,
.rm-cities-shell p,
.rm-cities-page p,
.rm-city-page p,
.rm-results-shell p,
.rm-premium-single p,
.rm-single-school p,
.rm-review-form p,
.rm-school-card p,
.rm-city-card p,
.rm-city-school p {
  font-size: var(--rm-type-body) !important;
  line-height: var(--rm-line-body) !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

.rm-home-featured-head p,
.rm-search-v3-hero p,
.rm-search-v3-card p,
.rm-section-head p,
.rm-city-aside p,
.rm-city-content-card p,
.rm-premium-panel p,
.rm-review-form-head p,
.rm-package-includes li,
.rm-filter-body,
.facetwp-facet {
  font-size: var(--rm-type-body) !important;
  line-height: var(--rm-line-body) !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* Knoppen en formulierbesturing */
.rm-schools-page button,
.rm-schools-page input,
.rm-schools-page select,
.rm-schools-page textarea,
.rm-cities-page button,
.rm-cities-page input,
.rm-cities-page select,
.rm-cities-shell button,
.rm-cities-shell input,
.rm-cities-shell select,
.rm-city-page button,
.rm-city-page input,
.rm-city-page select,
.rm-results-shell button,
.rm-results-shell input,
.rm-results-shell select,
.rm-premium-single button,
.rm-premium-single input,
.rm-premium-single select,
.rm-premium-single textarea,
.rm-single-school button,
.rm-single-school input,
.rm-single-school select,
.rm-single-school textarea,
.rm-school-button,
.rm-city-button,
.rm-filter-show-results {
  font-size: var(--rm-type-control) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  font-weight: var(--rm-weight-control) !important;
}

.rm-focus-btn,
.rm-license-trigger,
.rm-special-trigger,
.rm-filter-reset,
.rm-filter-sheet-close,
.rm-outline-link,
.rm-premium-outline,
.rm-review-actions button,
.rm-review-actions a,
.rm-search-v3-button {
  font-size: var(--rm-type-control) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  font-weight: var(--rm-weight-control) !important;
}

/* Labels, badges en ondersteunende tekst */
.rm-kicker,
.rm-results-eyebrow,
.rm-school-location,
.rm-city-location,
.rm-school-chips span,
.rm-city-chip-list span,
.rm-filter-block summary,
.rm-sort-label > span,
.rm-results-count,
.rm-review-meta,
.rm-premium-single small,
.rm-single-school small,
.rm-search-v3-meta,
.rm-search-v3-rating,
.rm-search-v3-chips span,
.rm-search-v3-count,
.rm-search-v3-sort > span {
  letter-spacing: 0 !important;
}

.rm-kicker,
.rm-school-location,
.rm-city-location,
.rm-filter-block summary,
.rm-review-meta,
.rm-search-v3-meta {
  font-size: var(--rm-type-label) !important;
  line-height: 1.35 !important;
  font-weight: var(--rm-weight-label) !important;
}

.rm-results-eyebrow,
.rm-school-chips span,
.rm-city-chip-list span,
.rm-results-count,
.rm-premium-single small,
.rm-single-school small,
.rm-search-v3-rating,
.rm-search-v3-chips span,
.rm-search-v3-count,
.rm-search-v3-sort > span {
  font-size: var(--rm-type-small) !important;
  line-height: 1.35 !important;
  font-weight: var(--rm-weight-label) !important;
}

/* Prijzen en scores mogen opvallen, maar niet de kaart overnemen. */
.rm-price strong,
.rm-school-price strong,
.rm-city-price strong,
.rm-search-v3-price strong {
  font-size: 22px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  font-weight: 850 !important;
}

.rm-review-score,
.rm-review-average {
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* De grote cijfers blijven herkenbaar zonder de kaart te domineren. */
.rm-review-summary-card strong,
.rm-premium-review-card .rm-review-summary-card strong {
  font-size: 40px !important;
}

.rm-schools-stat strong,
.rm-results-stat strong {
  font-size: 38px !important;
  line-height: 1 !important;
}

@media (max-width: 820px) {
  :root {
    --rm-type-page: 27px;
    --rm-type-section: 20px;
    --rm-type-card: 16px;
    --rm-type-panel: 17px;
    --rm-type-body: 14px;
    --rm-type-control: 14px;
    --rm-type-label: 12px;
    --rm-type-small: 11px;
  }

  .rm-schools-hero h1,
  .rm-city-hero h1,
  .rm-premium-single h1,
  .rm-single-school h1,
  .rm-results-hero h1,
  .rm-home-hero h1,
  .rm-home-hero h2,
  .entry-content > h1,
  .entry-content > h2:first-child {
    max-width: 100% !important;
    text-wrap: balance;
  }

  body.home .entry-content > .wp-block-uagb-container:first-child .uagb-heading-text,
  body.page-id-1867 .entry-content > .wp-block-uagb-container:first-child .uagb-heading-text,
  body.page-id-1233 .entry-content > .wp-block-uagb-container:first-child .uagb-ifb-title {
    font-size: var(--rm-type-page) !important;
    line-height: var(--rm-line-page) !important;
  }

  .rm-results-toolbar {
    min-width: 0 !important;
  }

  .rm-results-toolbar h2 {
    max-width: 245px !important;
    font-size: 19px !important;
  }

  .rm-filter-mobile-toggle span {
    font-size: 13px !important;
  }

  .rm-filter-mobile-toggle small {
    font-size: 11px !important;
  }

  .rm-price strong,
  .rm-school-price strong,
  .rm-city-price strong {
    font-size: 20px !important;
  }

  .rm-filter-sheet-header h2,
  .rm-filter-header h2,
  .rm-filter-header h3 {
    font-size: 18px !important;
  }

  .rm-filter-block summary,
  .facetwp-display-value,
  .facetwp-counter {
    font-size: 14px !important;
  }

  .rm-review-summary-card strong,
  .rm-premium-review-card .rm-review-summary-card strong {
    font-size: 36px !important;
  }
}

@media (max-width: 390px) {
  :root {
    --rm-type-page: 26px;
    --rm-type-section: 19px;
    --rm-type-card: 16px;
    --rm-type-body: 14px;
  }

  .rm-results-toolbar h2 {
    max-width: 220px !important;
    font-size: 19px !important;
  }
}

/* Rijmaatje platform design system v2 - centrale visuele eindlaag. */
:root {
  --rm-blue:#2864e8;
  --rm-blue-deep:#174fcf;
  --rm-ink:#111827;
  --rm-muted:#64748b;
  --rm-line:#dce5f1;
  --rm-canvas:#f5f8fc;
  --rm-soft:#eef4ff;
  --rm-success:#16834a;
  --rm-success-soft:#eaf8f0;
  --rm-warning:#b86a00;
  --rm-warning-soft:#fff6df;
  --rm-radius-sm:10px;
  --rm-radius-md:16px;
  --rm-radius-lg:22px;
  --rm-shadow-sm:0 8px 22px rgba(17,31,55,.06);
  --rm-shadow-md:0 18px 46px rgba(17,31,55,.09);
}

.rm-home-search-card,
.rm-search-v3,
.rm-city-page,
.rm-premium-complete {
  color:var(--rm-ink);
  letter-spacing:0;
}

.rm-search-v3 a,
.rm-city-page a,
.rm-premium-complete a {
  text-decoration:none;
}

/* Homepage: de zoekopdracht is de primaire actie. */
body.home .rm-home-search-card {
  width:min(1160px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:16px 16px 12px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-lg)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:var(--rm-shadow-md)!important;
}

body.home .rm-home-search-line {
  gap:10px!important;
}

body.home .rm-home-location-control,
body.home .rm-home-select-control,
body.home .rm-home-special-control,
body.home .rm-home-search-line>button[type="submit"] {
  border-radius:13px!important;
}

body.home .rm-home-search-line>button[type="submit"] {
  background:var(--rm-blue)!important;
  box-shadow:0 10px 24px rgba(40,100,232,.2)!important;
}

body.home .rm-home-search-line>button[type="submit"]:hover {
  background:var(--rm-blue-deep)!important;
  transform:translateY(-1px);
}

.rm-home-search-trust {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 20px;
  padding:11px 4px 1px;
  color:var(--rm-muted);
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

.rm-home-search-trust span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.rm-home-search-trust span::before {
  content:"✓";
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--rm-success-soft);
  color:var(--rm-success);
  font-size:11px;
  font-weight:900;
}

body.home .rm-home-review-row,
body.home .rm-home-featured-grid {
  gap:16px!important;
}

body.home .rm-home-review-card,
body.home .rm-home-featured-card {
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  box-shadow:var(--rm-shadow-sm)!important;
}

/* Zoekresultaten: vaste filterkolom en scanbare vergelijkingskaarten. */
.rm-search-v3 {
  width:min(1480px,calc(100% - 40px))!important;
  margin:0 auto 64px!important;
}

.rm-search-v3-hero {
  max-width:780px!important;
  margin:0!important;
  padding:32px 0 26px!important;
  text-align:left!important;
}

.rm-search-v3-hero h1 {
  margin:0 0 8px!important;
  font-size:clamp(32px,4vw,48px)!important;
  line-height:1.04!important;
  font-weight:850!important;
  text-wrap:balance;
}

.rm-search-v3-hero p {
  margin:0!important;
  color:var(--rm-muted)!important;
  font-size:17px!important;
}

.rm-search-v3-layout {
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}

.rm-search-v3-filters {
  position:sticky!important;
  top:96px!important;
  max-height:calc(100vh - 116px)!important;
  overflow:auto!important;
  padding:20px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
  scrollbar-width:thin;
}

.rm-search-v3-toolbar {
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:0!important;
  margin:0 0 16px!important;
  padding:2px 0 14px!important;
  border-bottom:1px solid var(--rm-line)!important;
  background:transparent!important;
}

.rm-search-v3-title span {
  display:block;
  margin:0 0 3px!important;
  color:var(--rm-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.06em!important;
}

.rm-search-v3-title h2 {
  margin:0!important;
  color:var(--rm-ink)!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:850!important;
}

.rm-search-v3-actions {
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}

.rm-search-v3-sort {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:210px!important;
  margin:0!important;
}

.rm-search-v3-sort .facetwp-facet {
  margin:0!important;
}

.rm-search-v3-sort select,
.rm-search-v3-sort .facetwp-sort-select {
  min-height:42px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  font-size:14px!important;
  font-weight:750!important;
}

.rm-search-v3-list {
  display:grid!important;
  gap:14px!important;
}

.rm-search-v3-card {
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) 174px!important;
  min-height:224px!important;
  overflow:hidden!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.rm-search-v3-card:hover {
  border-color:#b8caf1!important;
  box-shadow:var(--rm-shadow-md)!important;
  transform:translateY(-1px);
}

.rm-search-v3-photo {
  position:relative!important;
  min-width:0!important;
  min-height:224px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:var(--rm-soft)!important;
}

.rm-search-v3-photo img {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}

.rm-search-v3-photo em,
.rm-city-school-photo em {
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:var(--rm-warning-soft)!important;
  color:var(--rm-warning)!important;
  font-size:11px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:850!important;
}

.rm-search-v3-card-main {
  min-width:0!important;
  padding:22px 20px 18px!important;
}

.rm-search-v3-meta {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-bottom:7px!important;
  color:var(--rm-muted)!important;
}

.rm-search-v3-meta strong,
.rm-city-location strong {
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:var(--rm-soft)!important;
  color:var(--rm-blue)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
}

.rm-search-v3-meta strong::before,
.rm-city-location strong::before {
  content:"✓";
  font-size:10px;
}

.rm-search-v3-card h3 {
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:850!important;
}

.rm-search-v3-card h3 a {
  color:var(--rm-ink)!important;
}

.rm-search-v3-rating {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-bottom:10px!important;
}

.rm-search-v3-rating span {
  color:#f4ad22!important;
  letter-spacing:1px!important;
}

.rm-search-v3-rating .is-muted {
  color:#ccd5e3!important;
}

.rm-search-v3-card-main>p {
  display:-webkit-box!important;
  overflow:hidden!important;
  margin:0 0 13px!important;
  color:var(--rm-muted)!important;
  font-size:13px!important;
  line-height:1.52!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.rm-search-v3-chips,
.rm-city-chip-list,
.rm-premium-chips {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

.rm-search-v3-chips span,
.rm-city-chip-list span,
.rm-premium-chips span {
  min-height:27px!important;
  padding:5px 9px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f0f3f7!important;
  color:#46536a!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:750!important;
}

.rm-search-v3-side {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-end!important;
  gap:0!important;
  min-width:0!important;
  padding:48px 16px 16px!important;
  border-left:1px solid var(--rm-line)!important;
  background:#fbfcfe!important;
  text-align:left!important;
}

.rm-search-v3-pass {
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.rm-city-pass {
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.rm-search-v3-pass small,
.rm-city-pass>span {
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--rm-muted)!important;
  line-height:1.2!important;
  font-weight:750!important;
}

/* Zoekkaarten tonen alleen het compacte CBR-informatie-icoon. */
.rm-search-v3-pass small {
  font-size:0!important;
  line-height:1!important;
}

.rm-city-pass>span {
  font-size:11px!important;
}

.rm-search-v3-price {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.rm-city-price {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  min-height:82px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.rm-search-v3-price small,
.rm-search-v3-price span,
.rm-city-price span,
.rm-city-price small {
  color:var(--rm-muted)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:750!important;
}

.rm-search-v3-price strong {
  margin:2px 0!important;
  color:var(--rm-ink)!important;
  font-size:22px!important;
  line-height:1.05!important;
  font-weight:900!important;
}

.rm-city-price strong {
  margin:2px 0!important;
  color:var(--rm-ink)!important;
  font-size:23px!important;
  line-height:1.05!important;
  font-weight:900!important;
}

.rm-search-v3-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  background:var(--rm-blue)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:0 9px 22px rgba(40,100,232,.18)!important;
}

.rm-city-school-side>a,
.rm-city-top-link {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  background:var(--rm-blue)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  box-shadow:0 9px 22px rgba(40,100,232,.18)!important;
}

/* Stadspagina: eerst keuze-informatie, SEO-content verder naar beneden. */
.rm-city-page {
  width:min(1440px,calc(100% - 40px))!important;
  margin:26px auto 70px!important;
}

.rm-city-hero {
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:28px!important;
  align-items:stretch!important;
  overflow:hidden!important;
  padding:30px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
}

.rm-city-hero-copy {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}

.rm-city-breadcrumb {
  margin-bottom:24px!important;
  color:var(--rm-muted)!important;
  font-size:12px!important;
  font-weight:700!important;
}

.rm-city-eyebrow {
  margin-bottom:8px!important;
  color:var(--rm-blue)!important;
  font-size:12px!important;
  font-weight:850!important;
  text-transform:uppercase;
  letter-spacing:.06em!important;
}

.rm-city-hero h1 {
  margin:0 0 12px!important;
  color:var(--rm-ink)!important;
  font-size:clamp(34px,4vw,52px)!important;
  line-height:1.02!important;
  font-weight:880!important;
  text-wrap:balance;
}

.rm-city-hero h1 mark {
  padding:0!important;
  background:transparent!important;
  color:var(--rm-blue)!important;
}

.rm-city-hero-copy>p:not(.rm-city-updated) {
  max-width:680px!important;
  margin:0 0 22px!important;
  color:var(--rm-muted)!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.rm-city-stats {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0!important;
}

.rm-city-stats>span {
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  min-width:0!important;
  padding:12px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:12px!important;
  background:#fbfcfe!important;
}

.rm-city-stats small {
  color:var(--rm-muted)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:uppercase;
}

.rm-city-stats strong {
  color:var(--rm-ink)!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:900!important;
}

.rm-city-updated {
  margin:9px 0 0!important;
  color:var(--rm-muted)!important;
  font-size:11px!important;
  line-height:1.4!important;
}

.rm-city-hero-art {
  position:relative!important;
  min-height:360px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:17px!important;
  background:var(--rm-soft)!important;
}

.rm-city-hero-image {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.rm-city-hero-art figcaption {
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  display:flex!important;
  flex-direction:column!important;
  padding:9px 12px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px);
}

.rm-city-filterbar {
  display:grid!important;
  grid-template-columns:minmax(170px,.8fr) minmax(260px,1.4fr) minmax(190px,.8fr) auto auto auto!important;
  gap:10px!important;
  align-items:end!important;
  margin:18px 0!important;
  padding:14px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
}

.rm-city-filterbar label span,
.rm-city-filter-intro span {
  font-size:11px!important;
}

.rm-city-filterbar input,
.rm-city-filterbar select {
  min-height:44px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  font-size:14px!important;
}

.rm-city-filterbar>a {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 12px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:11px!important;
  color:var(--rm-blue)!important;
  font-size:12px!important;
  font-weight:800!important;
}

.rm-city-top3,
.rm-city-sidebar>section,
.rm-premium-panel {
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
}

.rm-city-top3 {
  margin:0 0 20px!important;
  padding:22px!important;
}

.rm-city-top3-grid {
  gap:12px!important;
}

.rm-city-top-card {
  overflow:hidden!important;
  border:1px solid var(--rm-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.rm-city-layout {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:22px!important;
  align-items:start!important;
}

.rm-city-tabs {
  display:flex!important;
  gap:6px!important;
  margin:0 0 12px!important;
  padding:5px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  width:max-content!important;
  max-width:100%!important;
}

.rm-city-tabs button {
  min-height:38px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--rm-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
}

.rm-city-tabs button.is-active {
  background:var(--rm-soft)!important;
  color:var(--rm-blue)!important;
}

.rm-city-results {
  display:grid!important;
  gap:14px!important;
}

.rm-city-school {
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr) 190px!important;
  min-height:232px!important;
  overflow:hidden!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
}

.rm-city-school-photo {
  position:relative!important;
  min-height:232px!important;
  overflow:hidden!important;
  background:var(--rm-soft)!important;
}

.rm-city-school-photo img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.rm-city-school-body {
  min-width:0!important;
  padding:20px!important;
}

.rm-city-school-body h2 {
  margin:0 0 7px!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:850!important;
}

.rm-city-school-body h2 a {
  color:var(--rm-ink)!important;
}

.rm-city-location,
.rm-city-rating,
.rm-city-desc {
  margin:0 0 10px!important;
}

.rm-city-location {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  color:var(--rm-muted)!important;
}

.rm-city-rating {
  color:var(--rm-ink)!important;
  font-size:13px!important;
  font-weight:750!important;
}

.rm-city-rating span {
  color:#f4ad22!important;
}

.rm-city-desc {
  display:-webkit-box!important;
  overflow:hidden!important;
  color:var(--rm-muted)!important;
  font-size:14px!important;
  line-height:1.5!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.rm-city-school-side {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:11px!important;
  min-width:0!important;
  padding:20px!important;
  border-left:1px solid var(--rm-line)!important;
  background:#fbfcfe!important;
}

.rm-city-pass>strong {
  display:none!important;
}

.rm-city-sidebar {
  position:sticky!important;
  top:96px!important;
  display:grid!important;
  gap:12px!important;
}

.rm-city-sidebar>section {
  padding:18px!important;
}

.rm-city-sidebar h2 {
  font-size:17px!important;
}

/* Individueel profiel: Booking-achtige bovenbouw met anker-navigatie. */
.rm-premium-complete {
  width:min(1420px,calc(100% - 40px))!important;
  margin:24px auto 72px!important;
}

.rm-premium-breadcrumb {
  margin:0 0 12px!important;
  color:var(--rm-muted)!important;
  font-size:12px!important;
  font-weight:700!important;
}

.rm-premium-hero {
  display:grid!important;
  grid-template-columns:minmax(340px,1.02fr) minmax(360px,1.18fr) minmax(245px,.72fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  padding:16px!important;
  border:1px solid var(--rm-line)!important;
  border-radius:var(--rm-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--rm-shadow-sm)!important;
  scroll-margin-top:120px;
}

.rm-premium-media,
.rm-premium-copy,
.rm-premium-price {
  min-width:0!important;
  border:0!important;
  border-radius:15px!important;
  background:#fbfcfe!important;
  box-shadow:none!important;
}

.rm-premium-main-photo {
  min-height:340px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:var(--rm-soft)!important;
}

.rm-premium-main-photo img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.rm-premium-copy {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:28px!important;
}

.rm-premium-copy h1 {
  margin:10px 0 6px!important;
  color:var(--rm-ink)!important;
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1.02!important;
  font-weight:880!important;
  text-wrap:balance;
}

.rm-premium-location {
  margin:0 0 18px!important;
  color:var(--rm-muted)!important;
  font-size:15px!important;
}

.rm-premium-rating {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 14px!important;
}

.rm-premium-rating>span {
  color:#f4ad22!important;
}

.rm-premium-desc {
  margin:16px 0 0!important;
  color:var(--rm-muted)!important;
  font-size:15px!important;
  line-height:1.55!important;
}

.rm-premium-price {
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:22px!important;
  border:1px solid var(--rm-line)!important;
  scroll-margin-top:120px;
}

.rm-profile-section-nav {
  position:sticky;
  top:82px;
  z-index:80;
  display:flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin:12px auto 18px;
  padding:5px;
  overflow-x:auto;
  border:1px solid var(--rm-line);
  border-radius:13px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--rm-shadow-sm);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}

.rm-profile-section-nav::-webkit-scrollbar {
  display:none;
}

.rm-profile-section-nav a {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:9px;
  color:var(--rm-muted)!important;
  font-size:12px;
  font-weight:800;
}

.rm-profile-section-nav a:hover,
.rm-profile-section-nav a:focus-visible {
  background:var(--rm-soft);
  color:var(--rm-blue)!important;
}

.rm-premium-complete [id^="rijmaatje-"] {
  scroll-margin-top:140px;
}

.rm-premium-decision-grid,
.rm-premium-offer-grid {
  gap:16px!important;
  margin-top:16px!important;
}

.rm-premium-panel {
  padding:22px!important;
}

.rm-premium-panel h2 {
  margin:0 0 16px!important;
  color:var(--rm-ink)!important;
  font-size:21px!important;
  line-height:1.15!important;
  font-weight:850!important;
}

.rm-premium-review-card,
.rm-premium-contact-card {
  min-height:0!important;
  height:auto!important;
}

.rm-review-card-actions {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  margin-top:16px!important;
}

.rm-review-card-actions a,
.rm-review-card-actions button,
.rm-review-bottom-cta button {
  min-height:44px!important;
  border-radius:11px!important;
  font-size:13px!important;
  font-weight:850!important;
}

.rm-premium-instructors-row,
.rm-premium-faq-row,
.rm-premium-reviews-zone {
  margin-top:16px!important;
}

@media (max-width:1100px) and (min-width:821px) {
  .rm-search-v3-layout {
    grid-template-columns:230px minmax(0,1fr)!important;
    gap:18px!important;
  }

  .rm-search-v3-card,
  .rm-city-school {
    grid-template-columns:190px minmax(0,1fr)!important;
  }

  .rm-search-v3-side,
  .rm-city-school-side {
    grid-column:2!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    border-top:1px solid var(--rm-line)!important;
    border-left:0!important;
  }

  .rm-search-v3-pass,
  .rm-city-pass {
    top:12px!important;
  }

  .rm-city-layout {
    grid-template-columns:minmax(0,1fr) 260px!important;
  }

  .rm-premium-hero {
    grid-template-columns:1fr 1fr!important;
  }

  .rm-premium-price {
    grid-column:1/-1!important;
  }
}

@media (max-width:820px) {
  body.home .rm-home-search-card {
    width:calc(100% - 20px)!important;
    padding:12px!important;
    border-radius:18px!important;
  }

  .rm-home-search-trust {
    justify-content:flex-start;
    gap:7px 13px;
    padding:10px 4px 2px;
  }

  .rm-home-search-trust span {
    font-size:10px;
  }

  .rm-search-v3,
  .rm-city-page,
  .rm-premium-complete {
    width:calc(100% - 18px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .rm-search-v3 {
    margin-bottom:44px!important;
  }

  .rm-search-v3-hero {
    padding:22px 2px 18px!important;
  }

  .rm-search-v3-hero h1 {
    font-size:29px!important;
  }

  .rm-search-v3-hero p {
    font-size:14px!important;
  }

  .rm-search-v3-layout {
    display:block!important;
  }

  .rm-search-v3-filters {
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
  }

  .rm-search-v3-toolbar {
    align-items:center!important;
    margin-top:12px!important;
    padding-bottom:11px!important;
  }

  .rm-search-v3-title span {
    font-size:10px!important;
  }

  .rm-search-v3-title h2 {
    max-width:210px!important;
    font-size:18px!important;
  }

  .rm-search-v3-actions {
    gap:7px!important;
  }

  .rm-search-v3-count {
    display:none!important;
  }

  .rm-search-v3-sort {
    min-width:0!important;
    width:auto!important;
  }

  .rm-search-v3-sort>span {
    display:none!important;
  }

  .rm-search-v3-sort select,
  .rm-search-v3-sort .facetwp-sort-select {
    width:116px!important;
    min-height:40px!important;
    padding:0 28px 0 10px!important;
    font-size:12px!important;
  }

  .rm-search-v3-card {
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    border-radius:16px!important;
  }

  .rm-search-v3-photo {
    min-height:0!important;
    aspect-ratio:16/10!important;
  }

  .rm-search-v3-card-main {
    padding:17px 17px 14px!important;
  }

  .rm-search-v3-card h3 {
    font-size:19px!important;
  }

  .rm-search-v3-side {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(145px,.8fr)!important;
    gap:10px!important;
    padding:14px 17px 17px!important;
    border-top:1px solid var(--rm-line)!important;
    border-left:0!important;
  }

  .rm-search-v3-pass {
    top:13px!important;
    right:17px!important;
  }

  .rm-search-v3-price {
    min-height:54px!important;
  }

  .rm-search-v3-button {
    grid-column:2!important;
    align-self:end!important;
    min-height:48px!important;
  }

  .rm-city-page {
    margin-top:14px!important;
    margin-bottom:46px!important;
  }

  .rm-city-hero {
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:17px!important;
    border-radius:18px!important;
  }

  .rm-city-breadcrumb {
    margin-bottom:14px!important;
  }

  .rm-city-eyebrow {
    font-size:10px!important;
  }

  .rm-city-hero h1 {
    font-size:29px!important;
  }

  .rm-city-hero-copy>p:not(.rm-city-updated) {
    margin-bottom:16px!important;
    font-size:14px!important;
  }

  .rm-city-stats {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .rm-city-stats>span {
    padding:10px!important;
  }

  .rm-city-stats strong {
    font-size:18px!important;
  }

  .rm-city-hero-art {
    min-height:0!important;
    aspect-ratio:16/10!important;
  }

  .rm-city-filterbar {
    grid-template-columns:1fr 1fr!important;
    padding:12px!important;
  }

  .rm-city-filter-intro,
  .rm-city-search-field {
    grid-column:1/-1!important;
  }

  .rm-city-filterbar>a {
    min-height:40px!important;
    padding:0 8px!important;
  }

  .rm-city-top3 {
    padding:16px!important;
  }

  .rm-city-top3-head {
    display:block!important;
  }

  .rm-city-top3-head p {
    margin-top:8px!important;
    font-size:13px!important;
  }

  .rm-city-top3-grid {
    grid-template-columns:1fr!important;
  }

  .rm-city-layout {
    display:block!important;
  }

  .rm-city-tabs {
    width:100%!important;
    overflow-x:auto!important;
    scrollbar-width:none;
  }

  .rm-city-tabs button {
    flex:0 0 auto!important;
  }

  .rm-city-school {
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  .rm-city-school-photo {
    min-height:0!important;
    aspect-ratio:16/10!important;
  }

  .rm-city-school-body {
    padding:17px!important;
  }

  .rm-city-school-side {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(145px,.8fr)!important;
    gap:10px!important;
    padding:14px 17px 17px!important;
    border-top:1px solid var(--rm-line)!important;
    border-left:0!important;
  }

  .rm-city-pass {
    top:13px!important;
    right:17px!important;
  }

  .rm-city-school-side>a {
    grid-column:2!important;
    align-self:end!important;
  }

  .rm-city-sidebar {
    position:static!important;
    margin-top:18px!important;
  }

  .rm-premium-complete {
    margin-top:12px!important;
    margin-bottom:46px!important;
  }

  .rm-premium-hero {
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:12px!important;
    border-radius:18px!important;
  }

  .rm-premium-main-photo {
    min-height:0!important;
    aspect-ratio:16/10!important;
  }

  .rm-premium-copy,
  .rm-premium-price {
    padding:18px!important;
  }

  .rm-premium-copy h1 {
    font-size:29px!important;
  }

  .rm-premium-desc {
    font-size:14px!important;
  }

  .rm-profile-section-nav {
    top:72px;
    justify-content:flex-start;
    width:100%;
    margin:10px 0 14px;
    border-radius:12px;
  }

  .rm-profile-section-nav a {
    min-height:36px;
    padding:0 11px;
    font-size:11px;
  }

  .rm-premium-decision-grid,
  .rm-premium-offer-grid {
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-top:12px!important;
  }

  .rm-premium-panel {
    padding:18px!important;
    border-radius:15px!important;
  }

  .rm-premium-panel h2 {
    font-size:19px!important;
  }

  .rm-review-card-actions {
    grid-template-columns:1fr!important;
  }
}

@media (max-width:390px) {
  .rm-home-search-trust {
    gap:6px 10px;
  }

  .rm-home-search-trust span {
    white-space:normal;
  }

  .rm-search-v3-side,
  .rm-city-school-side {
    grid-template-columns:1fr!important;
  }

  .rm-search-v3-button,
  .rm-city-school-side>a {
    grid-column:1!important;
    width:100%!important;
  }

  .rm-city-filterbar {
    grid-template-columns:1fr!important;
  }

  .rm-city-filterbar>* {
    grid-column:1!important;
  }
}

/*
 * Mobiele paginageometrie v3
 * Alle publieke Rijmaatje-oppervlakken gebruiken dezelfde 16px zijmarge.
 */
@media (max-width:820px) {
  :root {
    --rm-mobile-gutter:16px;
    --rm-mobile-content:calc(100% - (var(--rm-mobile-gutter) * 2));
  }

  .rm-home-search-card,
  .rm-schools-page,
  .rm-cbr-page,
  .rm-cities-shell,
  .rm-cities-page,
  .rm-city-page,
  .rm-premium-complete,
  .rm-premium-single,
  .rm-single-school,
  .rm-single-profile,
  .rm-results-shell,
  .rm-results-page,
  .rm-favorites-page,
  .rm-blog-page,
  .rm-blog-single-v1,
  .rm-student-knowledge,
  .rm-b2b-platform {
    box-sizing:border-box!important;
    width:var(--rm-mobile-content)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }

  .rm-city-page .rm-city-hero,
  .rm-city-page .rm-city-filterbar,
  .rm-city-page .rm-city-layout,
  .rm-city-page .rm-city-seo-grid,
  .rm-city-page .rm-city-seo-text,
  .rm-cities-shell .rm-section-head,
  .rm-cities-shell .rm-featured-cities,
  .rm-cities-shell .rm-all-cities {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .rm-schools-page,
  .rm-cbr-page,
  .rm-cities-shell,
  .rm-cities-page,
  .rm-city-page,
  .rm-premium-complete,
  .rm-premium-single,
  .rm-single-school,
  .rm-single-profile,
  .rm-results-shell,
  .rm-results-page,
  .rm-favorites-page,
  .rm-blog-page,
  .rm-blog-single-v1,
  .rm-student-knowledge {
    overflow-x:clip!important;
  }

  /*
   * Oude paginamodules leveren nog enkele late inline breedteregels.
   * Deze centrale selector houdt alle publieke Rijmaatje-oppervlakken
   * definitief op hetzelfde 16px mobiele raster.
   */
  html body.rm-design-system .rm-home-search-card,
  html body.rm-design-system .rm-schools-page,
  html body.rm-design-system .rm-cbr-page,
  html body.rm-design-system .rm-cities-shell,
  html body.rm-design-system .rm-cities-page,
  html body.rm-design-system .rm-city-page,
  html body.rm-design-system .rm-premium-single.rm-premium-complete,
  html body.rm-design-system .rm-single-school,
  html body.rm-design-system .rm-single-profile,
  html body.rm-design-system .rm-results-shell,
  html body.rm-design-system .rm-results-page,
  html body.rm-design-system .rm-favorites-page,
  html body.rm-design-system .rm-blog-page,
  html body.rm-design-system .rm-blog-single-v1,
  html body.rm-design-system .rm-student-knowledge,
  html body.rm-design-system .rm-b2b-platform {
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* De stedenindex staat in een Spectra-wrapper met een extra 10px inset. */
  html body.page-id-1233.rm-design-system .rm-cities-shell {
    margin-left:-10px!important;
    margin-right:0!important;
  }

  .rm-blog-page h1,
  .rm-blog-single-v1 h1,
  .rm-favorites-page h1,
  .rm-student-knowledge h1,
  .rm-cbr-page h1,
  .rm-cities-page h1 {
    max-width:100%!important;
    margin-top:0!important;
    font-size:27px!important;
    line-height:1.1!important;
    letter-spacing:0!important;
    overflow-wrap:break-word!important;
    text-wrap:balance;
  }

  .rm-blog-page h2,
  .rm-blog-single-v1 h2,
  .rm-favorites-page h2,
  .rm-student-knowledge h2,
  .rm-cbr-page h2,
  .rm-cities-page h2 {
    font-size:20px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }

  .rm-blog-page p,
  .rm-blog-single-v1 p,
  .rm-favorites-page p,
  .rm-student-knowledge p,
  .rm-cbr-page p,
  .rm-cities-page p {
    font-size:14px!important;
    line-height:1.55!important;
    letter-spacing:0!important;
  }
}

@keyframes rm-mobile-chat-tease {
  0%, 10% {
    opacity:0;
    visibility:visible;
    transform:translateY(8px) scale(.98);
  }
  20%, 72% {
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
  }
  100% {
    opacity:0;
    visibility:hidden;
    transform:translateY(5px) scale(.99);
  }
}

@media (max-width:820px) {
  body.rm-design-system .rm-chat-prompt {
    opacity:0;
    visibility:hidden;
    pointer-events:none!important;
    animation:rm-mobile-chat-tease 5s ease 7s 1 both!important;
  }
}
