/* RR visual refresh. Loaded after the original export; copy and booking hooks
   stay in index.html. Keep responsive overrides together in this stylesheet. */
:root {
  --rr-ink: #173c2c;
  --rr-body: #40554b;
  --rr-green: #287d42;
  --rr-green-hover: #1b6031;
  --rr-lime: #c1ed9f;
  --rr-soft: #f2f7f3;
  --rr-line: #dce7df;
  --rr-radius: 24px;
  --rr-gutter: clamp(20px, 4vw, 64px);
  --rr-section-space: clamp(56px, 7vw, 104px);
  --dl-size-size-maxwidth: 1280px;
  --dl-color-scheme-main: var(--rr-green);
  --dl-color-scheme-darkblue: var(--rr-ink);
  --dl-color-theme-neutral-dark: var(--rr-ink);
  --dl-color-theme-neutral-light: #fff;
  --dl-color-theme-primary1: var(--rr-green);
  --dl-color-theme-primary2: var(--rr-green-hover);
  --dl-radius-radius-cardradius: var(--rr-radius);
  --dl-radius-radius-imageradius: var(--rr-radius);
  --swiper-theme-color: var(--rr-green);
}

html { scroll-padding-top: 110px; }
body { color: var(--rr-body); background: #fff; line-height: 1.7; }
body, .thq-body-large, .thq-body-small,
.thq-heading-1, .thq-heading-2, .thq-heading-3, .Heading2 {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.thq-body-large { font-size: 1.125rem; line-height: 1.8; }
.thq-body-small { font-size: 1rem; line-height: 1.75; }
h1, h2, h3, .thq-heading-2, .thq-heading-3, .Heading2 { color: var(--rr-ink); }
.thq-heading-2, .Heading2 {
  font-size: clamp(1.875rem, 3vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.18;
  text-wrap: balance;
}
.thq-heading-3 { font-size: 1.375rem; font-weight: 700; line-height: 1.4; }
.black-shadow { text-shadow: none; }
.home-container { overflow-x: clip; }
.home-container01, .home-main { width: 100%; min-width: 0; }
.home-main { align-items: stretch; }
.thq-section-padding, .section-container {
  padding: var(--rr-section-space) var(--rr-gutter);
}
.max-content-container { padding-inline: 0; }
.thq-section-max-width { width: 100%; max-width: 1280px; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--rr-green);
  outline-offset: 5px;
}
.home-hero a:focus-visible { outline-color: var(--rr-lime); }
.button-primary, .thq-button-filled, .thq-button-outline {
  border-radius: 12px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.button-primary, .thq-button-filled {
  color: #fff;
  background: var(--rr-green);
  border-color: var(--rr-green);
  box-shadow: 0 4px 12px rgb(23 60 44 / 9%);
}
.button-primary:hover, .thq-button-filled:hover {
  color: #fff;
  background: var(--rr-green-hover);
  border-color: var(--rr-green-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgb(23 60 44 / 15%);
}
.thq-button-outline {
  color: var(--rr-green);
  border: 1px solid var(--rr-green);
  background: #fff;
}
.thq-button-outline:hover { color: var(--rr-ink); background: var(--rr-soft); }
.home-link1, .home-link2 { padding: 18px 26px; }

/* Compact, readable navigation at every screen size. */
.navbar8-container36 {
  gap: 32px;
  align-items: center;
  padding: 14px max(var(--rr-gutter), calc((100% - 1280px) / 2));
  border-bottom: 1px solid var(--rr-line);
  background: rgb(255 255 255 / 96%);
  backdrop-filter: blur(14px);
}
.navbar8-link41 { flex: 0 0 auto; }
.navbar8-image11 { width: 176px; height: 58px; object-fit: contain; }
.navbar8-navbar-interactive { display: flex; width: auto; flex: 1; min-width: 0; padding: 0; }
.navbar8-desktop-menu { display: flex; align-items: center; gap: 28px; }
.navbar8-links3 { margin: 0; gap: clamp(12px, 1.8vw, 28px); justify-content: flex-end; }
.navbar8-links3 a { white-space: nowrap; padding-block: 10px; }
.navbar8-links3 .thq-body-small { font-size: 0.9375rem; font-weight: 500; }
.navbar8-links3 a:hover { color: var(--rr-green); }
.navbar8-buttons2 { gap: 0; }
.navbar8-buttons2 .button { padding: 16px 24px; }

/* Existing practice photo with a clear, left-aligned editorial hierarchy. */
.home-hero {
  width: 100%;
  min-height: 680px;
  justify-content: center;
  padding: clamp(64px, 7vw, 104px) var(--rr-gutter);
  border: 0;
  border-radius: 0 0 40px 40px;
  box-shadow: none;
  background-color: var(--rr-ink);
  /* Reduce the left overlay by ~20%; the midpoint preserves the right half. */
  background-image: linear-gradient(90deg, rgb(12 42 29 / 77%) 0%, rgb(12 42 29 / 70%) 42%, rgb(12 42 29 / 73.588%) 50%, rgb(12 42 29 / 30%) 76%, rgb(12 42 29 / 10%) 100%), url("https://kinerivierenhof.be/public/1_modern_physiotherapy_exercise_room.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.home-max-width { width: 100%; margin: 0; padding: 0; align-items: flex-start; }
.home-heading-container { max-width: 720px; align-items: flex-start; padding: 0; margin: 0; }
.home-text016 {
  max-width: 700px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(2.5rem, 4.4vw, 4.125rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
  text-align: left;
  text-wrap: balance;
}
.home-text017, .home-text020 {
  max-width: 640px;
  margin: 0;
  color: #f1f7f3;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.75;
  text-align: left;
}
.home-text018, .home-text021 { font-size: inherit; font-family: inherit; }
.home-text020 { margin-top: 20px; color: var(--rr-lime); }
/* Original: 16px type, 20px/24px padding, 56px height.
   New: 20px type, 25px/30px padding, 70px height = 25% larger. */
.home-primary:not(#secret-afspraak-link) {
  max-width: 100%;
  margin: 32px 0 0;
  padding: 25px 30px;
  color: var(--rr-ink);
  background: var(--rr-lime);
  border-radius: 14px;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 8px 28px rgb(0 0 0 / 16%);
}
.home-primary:not(#secret-afspraak-link):hover { background: #d5f7bd; }
#secret-afspraak-link { position: absolute; margin: 0; padding: 0; }
.home-image.fixed { width: 180px; right: 20px; bottom: 20px; z-index: 1100; filter: drop-shadow(0 5px 14px rgb(0 0 0 / 16%)); }

/* A wider canvas makes 16:9 treatment photos ~36% larger at full width:
   (988 - 80) / 2 = 454px before; (1280 - 48) / 2 = 616px now. */
.home-ourspecialization { background: #fff; }
.home-container02 { width: 100%; height: auto; }
.home-max-width1 { width: 100%; max-width: 1280px; padding: 0; margin-inline: auto; }
.home-column { width: 100%; padding: 0; gap: 28px; align-items: flex-start; }
.home-content { width: 100%; max-width: 940px; padding: 0; gap: 24px; }
.home-content .thq-body-large { max-width: 82ch; }
.home-ourspecialization #behandeligen { padding-block: clamp(36px, 4vw, 56px); }
.home-actions { width: auto; height: auto; padding: 0; gap: 12px; flex-wrap: wrap; }
.treatment-section {
  width: 100%;
  padding: 48px var(--rr-gutter);
  background: #fff;
  overflow: visible;
}
.treatment-section:nth-of-type(even) { background: var(--rr-soft); }
.treatment-section > .thq-section-max-width {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  max-width: 1280px;
  align-items: center;
}
.treatment-section > .thq-section-max-width > div { min-width: 0; width: 100%; }
.features182-layout34913 > .features182-max-width26 > .features182-image-container11 {
  grid-column: 1;
  grid-row: 1;
}
.features182-layout34913 > .features182-max-width26 > .features182-content60 {
  grid-column: 2;
  grid-row: 1;
}

/* Requested treatment order: keep the desktop layout alternating while
   swapping the five treatment rows selected by the practice. */
@media (min-width: 801px) {
  .features182-layout34913 > .features182-max-width26 > .features182-content60,
  .features173-layout34920 > .features173-max-width44 > .features173-content112,
  .features174-layout34916 > .features174-max-width38 > .features174-content94,
  .features184-layout34919 > .features184-max-width42 > .features184-content105 {
    grid-column: 1;
    grid-row: 1;
  }

  .features182-layout34913 > .features182-max-width26 > .features182-image-container11,
  .features173-layout34920 > .features173-max-width44 > .features173-image-container18,
  .features174-layout34916 > .features174-max-width38 > .features174-image-container14,
  .features184-layout34919 > .features184-max-width42 > .features184-image-container17 {
    grid-column: 2;
    grid-row: 1;
  }

  .features183-layout34922 > .features183-max-width46 > .features183-content114 {
    grid-column: 2;
    grid-row: 1;
  }

  .features183-layout34922 > .features183-max-width46 > .features183-image-container19 {
    grid-column: 1;
    grid-row: 1;
  }

  /* Swap the two rows requested in the latest layout update. */
  .features182-layout34913 > .features182-max-width26 > .features182-content60,
  .features184-layout34919 > .features184-max-width42 > .features184-content105 {
    grid-column: 2;
    grid-row: 1;
  }

  .features182-layout34913 > .features182-max-width26 > .features182-image-container11,
  .features184-layout34919 > .features184-max-width42 > .features184-image-container17 {
    grid-column: 1;
    grid-row: 1;
  }
}
.treatment-section [class*="-image-container"] { overflow: hidden; border-radius: var(--rr-radius); }
.treatment-section img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--rr-radius);
}
.treatment-section [class*="-section-title"],
.treatment-section [class*="-section-title"] > div { width: 100%; gap: 20px; }
.treatment-section .thq-heading-2 { font-size: clamp(1.75rem, 2.4vw, 2.25rem); text-align: left; }
.treatment-section .thq-body-large { font-size: 1rem; line-height: 1.9; }

/* Equal side columns keep the announcement centered on the page, beside the logo. */
.rr-locations-banner { --rr-locations-space: clamp(40px, 5vw, 64px); --rr-locations-half-space: clamp(20px, 2.5vw, 32px); width: 100%; padding: var(--rr-locations-space) var(--rr-gutter) var(--rr-locations-half-space); background: #fff; border-bottom: 1px solid var(--rr-line); font-size: 1.125rem; }
.rr-locations-inner { display: grid; grid-template-columns: 128px minmax(0, 1fr) 128px; column-gap: 20px; row-gap: 12px; max-width: 1280px; margin-inline: auto; align-items: start; }
.rr-locations-heading { grid-column: 2; grid-row: 1; text-align: center; }
.rr-locations-heading h2 { margin: 0; font-size: 1.25rem; line-height: 1.4; font-weight: 700; }
.rr-locations-badge { grid-column: 1; grid-row: 1; justify-self: start; display: inline-block; padding: 3px 10px; border-radius: 5px; background: var(--rr-lime); color: var(--rr-ink); font-size: 1rem; line-height: 1.4; font-weight: 700; }
.rr-locations-logos { display: block; grid-column: 3; grid-row: 1 / 4; align-self: center; width: 128px; height: auto; aspect-ratio: 1; object-fit: contain; }
.rr-locations-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; grid-column: 2; grid-row: 2; margin: 0; padding: 0; list-style: disc outside; font-size: inherit; line-height: 1.65; }
.rr-locations-list li { min-width: 0; margin-left: 1em; }
.rr-locations-list li::marker { color: var(--rr-green); font-size: 0.8em; }
.rr-locations-list strong { display: block; color: var(--rr-ink); }
.rr-locations-list a { color: var(--rr-green); text-decoration: underline; text-underline-offset: 3px; }
.rr-locations-list a:hover { color: var(--rr-green-hover); }
.rr-locations-more { display: inline-block; max-width: 100%; }
.rr-locations-current { color: var(--rr-body); }
.rr-locations-current-line { display: block; }
.rr-locations-social { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 10px; grid-column: 2; grid-row: 3; font-size: inherit; line-height: 1.65; text-align: center; }
.rr-locations-social p { margin: 0; }
.rr-locations-social-links { display: flex; justify-content: center; gap: 4px; }
.rr-locations-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: var(--rr-green); }
.rr-locations-social-links a:hover { background: var(--rr-soft); color: var(--rr-green-hover); }
.rr-locations-social-links svg { display: block; flex-shrink: 0; width: 25px; height: 25px; }
@media (min-width: 801px) {
  /* Half the lower gap is in Team: together it equals the gap above the banner. */
  .rr-locations-banner + .rr-team { padding-top: clamp(20px, 2.5vw, 32px); }
}

/* One set of team profiles: a desktop grid and a swipeable mobile carousel. */
.rr-team { width: 100%; background: var(--rr-soft); }
.rr-team-inner { margin-inline: auto; min-width: 0; }
.rr-team-heading { max-width: 850px; margin: 0 auto 40px; text-align: center; }
.rr-team-heading h2 { margin: 12px 0 20px; }
.rr-team-eyebrow { color: var(--rr-green); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.rr-team-profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.rr-team-card { min-width: 0; padding: 12px; border: 1px solid var(--rr-line); border-radius: var(--rr-radius); background: #fff; }
.rr-team-photo { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; object-position: center top; border-radius: 16px; }
.rr-team-details { padding: 24px 12px 16px; }
.rr-team-details h3 { margin: 0 0 8px; font-size: 1.375rem; line-height: 1.4; font-weight: 700; }
.rr-team-specialty { margin: 0 0 8px; font-size: 1rem; line-height: 1.6; }
.rr-team-phone { display: inline-block; padding-block: 4px; color: var(--rr-green); font-size: 1rem; text-underline-offset: 3px; }
.rr-team-phone:hover { text-decoration: underline; }
.rr-team-details ul { margin: 16px 0 0; padding-left: 20px; font-size: 1rem; line-height: 1.8; }
.rr-team-details li::marker { color: var(--rr-green); }
.rr-team-controls { display: none; }
.rr-team-arrow, .rr-team-dot { display: inline-flex; align-items: center; justify-content: center; padding: 0; font: inherit; cursor: pointer; }
.rr-team-arrow { flex: 0 0 44px; width: 44px; height: 44px; color: var(--rr-green); background: #fff; border: 1px solid var(--rr-line); border-radius: 50%; font-size: 1.5rem; }
.rr-team-arrow:disabled { opacity: 0.35; cursor: default; }
.rr-team-arrow:enabled:hover { background: var(--rr-lime); }
.rr-team-dots { display: flex; gap: 2px; }
.rr-team-dot { width: 24px; height: 44px; border: 0; background: transparent; }
.rr-team-dot span { width: 8px; height: 8px; border-radius: 50%; background: #b3c2b9; }
.rr-team-dot[aria-current="true"] span { background: var(--rr-green); transform: scale(1.25); }
.rr-team-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rr-team-recruitment {
  max-width: 760px; margin: 36px auto 0; padding: 16px 20px;
  color: var(--rr-ink); background: #fff; border: 1px solid var(--rr-line); border-radius: 14px;
  font-size: 1rem; font-weight: 500; line-height: 1.65; text-align: center;
}
.rr-team-recruitment a { color: var(--rr-green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* The existing contact strip fits its content instead of leaving a fixed gap. */
.home-footer { height: auto; padding-block: 40px; border-block: 1px solid var(--rr-line); }
.home-max-width2, .home-top-part { width: 100%; height: auto; }
.home-links-container {
  width: 100%; height: auto; padding: 0; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
}
.home-product-container, .home-contact-container { height: auto; margin: 0; gap: 12px; }
.home-text240, .home-text246, .home-text241, .home-link3 { height: auto; margin: 0; }
.home-primary1, .home-primary2 { width: auto; margin: 4px 0 0; }

/* Practice gallery and vision. */
.gallery8-gallery3 { width: 100%; }
.gallery8-max-width29 { width: 100%; max-width: 1280px; gap: 36px; }
.gallery8-section-title21 { gap: 16px; text-align: center; }
.gallery8-slider8 { height: clamp(320px, 48vw, 620px); border-radius: var(--rr-radius); }
.gallery8-slider8 .swiper-slide { height: 100%; overflow: hidden; background-position: center; }
.banner1-container33 {
  width: 100%; padding: 0; backdrop-filter: none;
  background-image: linear-gradient(90deg, rgb(13 48 32 / 75%), rgb(13 48 32 / 62%)), url("https://kinerivierenhof.be/public/2_orthopedisch_knie_kinesitherapie.jpg");
}
.banner1-container34 { width: 100%; padding: var(--rr-section-space) var(--rr-gutter); backdrop-filter: none; }
.banner1-max-width35 { max-width: 1060px; }
.banner1-container35 { width: 100%; }
.banner1-text697 { margin: 0 0 28px; color: var(--rr-lime); text-align: left; }
.banner1-text698 { max-width: 82ch; margin: 0; color: #fff; font-size: 1.125rem; font-weight: 400; line-height: 1.85; text-align: left; letter-spacing: 0; }

/* Practical information: full-width text panel below the title. */
.content-list1-container32 { width: 100%; padding-bottom: clamp(32px, 4vw, 56px); background: var(--rr-soft); }
.content-list1-ul6 { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 32px; align-items: start; list-style: none; overflow: visible; }
.content-list1-ul6 > li { display: block; min-width: 0; }
.content-list1-ul6 > li:last-child { padding: clamp(24px, 3vw, 44px); background: #fff; border: 1px solid var(--rr-line); border-radius: var(--rr-radius); }
.content-list1-ul6 .thq-heading-2 { font-size: clamp(1.875rem, 3vw, 2.5rem); }
.content-list1-ul6 .thq-body-small { font-size: 1rem; line-height: 1.8; }

/* Reviews retain their text and carousel, with lighter surfaces and controls. */
.reviews-testimonial172 { width: 100%; height: auto; padding-top: clamp(32px, 4vw, 56px); }
.reviews-max-width36 { width: 100%; max-width: 1280px; padding: 0; gap: 32px; }
.reviews-section-title26 { gap: 16px; }
.rr-legacy-reviews { display: none !important; }
.rr-google-reviews { width: 100%; max-width: 860px; margin: 0 auto; }
.rr-google-review-track { min-height: 280px; }
.rr-google-review {
  min-height: 280px; padding: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; justify-content: space-between; gap: 28px;
  border: 1px solid var(--rr-line); border-radius: var(--rr-radius); background: #fff; box-shadow: 0 8px 28px rgb(23 60 44 / 5%);
}
.rr-google-review[hidden] { display: none; }
.rr-google-review-stars { color: #b0790b; font-size: 1.25rem; letter-spacing: 4px; line-height: 1; }
.rr-google-review p { max-width: 58ch; margin: 0; color: var(--rr-body); font-size: 1.125rem; line-height: 1.75; }
.rr-google-review footer { display: flex; flex-direction: row; align-items: center; gap: 12px; color: var(--rr-ink); }
.rr-google-review footer strong { font-size: 1rem; }
.rr-google-review-author { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rr-google-review-author span { color: #637369; font-size: 0.875rem; }
.rr-google-review-avatar { flex: 0 0 44px; width: 44px; height: 44px; display: block; object-fit: cover; overflow: hidden; border-radius: 50%; background: var(--rr-green); }
.rr-google-review-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; }
.rr-google-review-arrow, .rr-google-review-dots button {
  display: inline-flex; align-items: center; justify-content: center; padding: 0; font: inherit; cursor: pointer;
}
.rr-google-review-arrow { flex: 0 0 44px; width: 44px; height: 44px; color: var(--rr-green); background: #fff; border: 1px solid var(--rr-line); border-radius: 50%; font-size: 1.5rem; }
.rr-google-review-arrow:hover { background: var(--rr-lime); }
.rr-google-review-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; max-width: 250px; }
.rr-google-review-dots button { width: 22px; height: 44px; border: 0; background: transparent; }
.rr-google-review-dots button span { width: 8px; height: 8px; border-radius: 50%; background: #b3c2b9; }
.rr-google-review-dots button[aria-current="true"] span { background: var(--rr-green); transform: scale(1.25); }
.rr-reviews-more { margin: 18px 0 0; color: var(--rr-body); font-size: 1rem; text-align: center; }
.rr-reviews-more a { color: var(--rr-green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.reviews-slider11 { display: block; padding-bottom: 60px; }
.reviews-slider11 .swiper-wrapper { align-items: stretch; }
.reviews-slider11 .swiper-slide { height: auto; align-items: flex-start; padding: 16px 56px 28px; gap: 24px; }
.reviews-slider11 .thq-card {
  min-width: 0; flex-shrink: 1; padding: clamp(24px, 3vw, 40px); gap: 24px;
  border: 1px solid var(--rr-line); border-radius: var(--rr-radius);
  background: #fff; box-shadow: 0 8px 28px rgb(23 60 44 / 5%);
}
.reviews-slider11 [class*="reviews-stars"] { color: #b0790b; fill: currentColor; gap: 4px; }
.reviews-slider11 [class*="reviews-stars"] svg { width: 20px; height: 20px; }
.reviews-slider11 [class*="reviews-avatar-image"] { width: 48px; height: 48px; flex-shrink: 0; }
.reviews-slider11 [class*="reviews-avatar-content"] > span:last-child .thq-body-small { font-size: 0.875rem; color: #637369; }
.reviews-slider11 .swiper-button-prev, .reviews-slider11 .swiper-button-next,
.gallery8-slider8 .swiper-button-prev, .gallery8-slider8 .swiper-button-next,
.team13-slider10 .swiper-button-prev, .team13-slider10 .swiper-button-next {
  width: 44px; height: 44px; color: var(--rr-green); background: #fff;
  border: 1px solid var(--rr-line); border-radius: 50%; box-shadow: 0 3px 10px rgb(23 60 44 / 6%);
}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 16px; font-weight: 700; }
.swiper-pagination-bullet { width: 8px; height: 8px; }
.swiper-pagination-bullet-active { background: var(--rr-green); }

/* Contact options, map and the retained opening hours. */
.contact15-contact20 { background: var(--rr-soft); }
.contact15-max-width31 { width: 100%; max-width: 1280px; gap: 40px; }
#contact .home-primary:not(#secret-afspraak-link) { align-self: center; }
.contact15-row2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; }
.contact15-row2 > div { min-width: 0; padding: 28px 16px; gap: 20px; background: #fff; border: 1px solid var(--rr-line); border-radius: var(--rr-radius); }
.contact15-row2 svg { width: 32px; height: 32px; fill: var(--rr-green); }
.contact15-row2 p { overflow-wrap: anywhere; }
.contact15-row2 .thq-body-large { font-size: 1rem; }
.contact15-row2 [class*="contact15-contact-info"] { gap: 16px; }
.home-map { width: 100%; background: var(--rr-soft); padding-top: 0; }
.home-max-width3 { width: 100%; padding: 0; }
.home-text367 { margin-bottom: 28px; }
.home-iframe { width: 100%; height: 420px; border: 1px solid var(--rr-line); border-radius: var(--rr-radius); box-shadow: none; }
.home-footer1 { padding-top: 64px; padding-bottom: 96px; background: #fff; border-top: 1px solid var(--rr-line); }
.home-top-part1 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: start; }
.home-links-container1 { display: grid; grid-template-columns: 1fr 1fr; width: 100%; padding: 0; margin: 0; gap: 32px; align-items: start; }
.home-product-container1, .home-contact-container1 { gap: 12px; margin: 0; }
.home-text368, .home-text374, .home-text369, .home-link4 { height: auto; margin: 0; }
.home-primary4, .home-primary5 { width: auto; margin: 4px 0 0; }
.rr-map-social { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 18px; max-width: 680px; margin: 0 auto 24px; text-align: center; }
.rr-map-social p { flex: 1 1 auto; margin: 0; color: var(--rr-body); font-size: 1rem; line-height: 1.5; }
.rr-map-social-links { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 12px; }
.rr-map-social-links a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; color: var(--rr-green); border-radius: 50%; transition: color 180ms ease, background-color 180ms ease; }
.rr-map-social-links a:hover { color: #fff; background: var(--rr-green); }
.rr-map-social-links svg { width: 25px; height: 25px; }
.home-subscribe-container1 { width: 100%; padding: 0; align-items: stretch; }
.home-text380 { align-self: flex-start; margin-bottom: 16px; color: var(--rr-green); }
.home-subscribe-container1 > div { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding-block: 6px; border-bottom: 1px solid var(--rr-line); }
.home-subscribe-container1 > div > div { width: auto; }
.home-subscribe-container1 > div > div:last-child { font-variant-numeric: tabular-nums; }
.home-separator { max-width: 1280px; margin-block: 40px 28px; background: var(--rr-line); }
.home-max-width5 { gap: 24px; }
.home-image1 { width: 140px; margin: 0; }
.home-text395 { font-size: 0.875rem; color: #637369; }
.rr-privacy-link { color: var(--rr-green); font-size: 0.95rem; line-height: 1.5; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.rr-privacy-link:hover { color: var(--rr-ink); }

@media (min-width: 801px) {
  .reviews-testimonial172 { padding-block: clamp(28px, 3.5vw, 48px); }
}

@media (max-width: 1100px) {
  .rr-locations-inner { grid-template-columns: 112px minmax(0, 1fr) 112px; column-gap: 16px; }
  .rr-locations-logos { width: 112px; }
  .navbar8-container36 { gap: 20px; }
  .navbar8-image11 { width: 144px; }
  .navbar8-desktop-menu { gap: 20px; }
  .navbar8-links3 { gap: 16px; }
  .contact15-row2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .rr-locations-banner { padding-block: 24px; }
  .rr-locations-inner { grid-template-columns: minmax(0, 1fr) 100px; column-gap: 12px; row-gap: 12px; }
  .rr-locations-heading { grid-column: 1 / -1; grid-row: 2; text-align: center; }
  .rr-locations-logos { grid-column: 2; grid-row: 1; justify-self: end; width: 100px; }
  .rr-locations-list { grid-column: 1 / -1; grid-row: 3; }
  .rr-locations-more { display: block; }
  .rr-locations-social { grid-column: 1 / -1; grid-row: 4; flex-direction: column; margin-top: 4px; }
  .rr-team-profiles {
    position: relative;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }
  .rr-team-card { scroll-snap-align: start; scroll-snap-stop: always; }
  .rr-team-controls:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; }
  .rr-team-heading { margin-bottom: 28px; }
  .rr-team-recruitment { margin-top: 28px; }
  html { scroll-padding-top: 144px; }
  .navbar8-container36 { flex-wrap: wrap; justify-content: flex-start; gap: 4px; padding: 10px var(--rr-gutter) 0; }
  .navbar8-image11 { width: 144px; height: 48px; }
  .navbar8-navbar-interactive { flex-basis: 100%; }
  .navbar8-desktop-menu { display: flex; }
  .navbar8-links3 { display: flex; min-width: 0; gap: 24px; overflow-x: auto; justify-content: flex-start; scrollbar-width: thin; }
  .navbar8-links3 a { flex: 0 0 auto; min-height: 44px; }
  .navbar8-buttons2 { display: flex; position: absolute; top: 14px; right: var(--rr-gutter); }
  .navbar8-buttons2 .button { padding: 14px 20px; }
  .home-hero { min-height: 0; padding-block: 64px; border-radius: 0 0 28px 28px; background-image: linear-gradient(90deg, rgb(12 42 29 / 56%) 0%, rgb(12 42 29 / 64%) 50%, rgb(12 42 29 / 57%) 100%), url("https://kinerivierenhof.be/public/1_modern_physiotherapy_exercise_room.jpg"); }
  .banner1-container33 { background-image: linear-gradient(90deg, rgb(13 48 32 / 56%), rgb(13 48 32 / 47%)), url("https://kinerivierenhof.be/public/2_orthopedisch_knie_kinesitherapie.jpg"); }
  .home-heading-container { max-width: 640px; }
  .treatment-section { padding-block: 36px; }
  .treatment-section > .thq-section-max-width { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .treatment-section [class*="-image-container"] { grid-row: 1; }
  .features182-layout34913 > .features182-max-width26 > .features182-image-container11 {
    grid-column: 1;
    grid-row: 1;
  }
  .features182-layout34913 > .features182-max-width26 > .features182-content60 {
    grid-column: 1;
    grid-row: 2;
  }
  .treatment-section .thq-body-large { font-size: 1rem; }
  .content-list1-ul6 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-top-part1 { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .home-links-container1 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
  .home-subscribe-container1 { max-width: 520px; }
  .reviews-slider11 .swiper-slide { padding-inline: 0; }
  .reviews-slider11 .swiper-button-prev, .reviews-slider11 .swiper-button-next { top: auto; bottom: 0; margin-top: 0; }
  .reviews-slider11 .swiper-button-prev { left: 0; }
  .reviews-slider11 .swiper-button-next { right: 0; }
  .reviews-slider-pagination11 { bottom: 16px; left: 64px; width: calc(100% - 128px); }
}

@media (max-width: 479px) {
  .rr-locations-banner { font-size: 1rem; }
  .rr-locations-heading h2 { font-size: 1.125rem; }
  .rr-locations-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .rr-google-review-track, .rr-google-review { min-height: 0; }
  .rr-google-review { padding: 28px 24px; }
  .rr-google-review p { font-size: 1rem; }
  .rr-google-review-controls { gap: 8px; }
  /* Six equal navigation slots keep every section visible without horizontal scrolling. */
  .navbar8-desktop-menu { width: 100%; min-width: 0; }
  .navbar8-links3 {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    gap: 2px;
    overflow: visible;
    justify-content: initial;
  }
  .navbar8-links3 a {
    display: flex;
    min-width: 0;
    min-height: 42px;
    padding: 8px 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .navbar8-links3 .thq-body-small { font-size: 0.8125rem; letter-spacing: -0.01em; }
  .home-text016 { font-size: 2.5rem; }
  .home-text017, .home-text020 { font-size: 1rem; }
  .home-primary:not(#secret-afspraak-link) { align-self: flex-start; }
  .home-image.fixed { width: 154px; right: 12px; bottom: 12px; }
  .home-links-container { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-links-container1 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
  .home-product-container1, .home-contact-container1 { min-width: 0; height: 100%; }
  .home-product-container1 { display: grid; grid-template-rows: auto 1fr auto; }
  .home-container25 { display: block; min-width: 0; height: 100%; }
  .home-contact-container1 { display: grid; grid-template-rows: auto 1fr auto; }
  .home-primary4, .home-primary5 { align-self: end; justify-self: start; }
  .home-footer { padding-block: 32px; }
  .contact15-row2 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .contact15-row2 > div { padding: 28px 20px; }
  .home-max-width5 { align-items: flex-start; }
  .home-text395 { text-align: left; }
  .rr-privacy-link { flex: 1 1 100%; order: 2; }
  .home-iframe { height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button-primary, .thq-button-filled, .thq-button-outline { transition: none; }
  .button-primary:hover, .thq-button-filled:hover { transform: none; }
}

/* Standalone legal-information page linked from the site footer. */
.rr-policy-body { min-height: 100vh; background: var(--rr-soft); color: var(--rr-body); }
.rr-policy-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(1280px, calc(100% - 2 * var(--rr-gutter))); margin: 0 auto; padding-block: 20px; border-bottom: 1px solid var(--rr-line); }
.rr-policy-header > a { display: inline-flex; }
.rr-policy-header img { width: 150px; height: auto; }
.rr-policy-header nav { display: flex; align-items: center; gap: 24px; }
.rr-policy-header nav a { color: var(--rr-ink); font-size: 1rem; text-decoration: none; }
.rr-policy-header nav a:hover { color: var(--rr-green); }
.rr-policy-header .rr-policy-appointment { padding: 13px 20px; border-radius: 12px; background: var(--rr-green); color: #fff; font-weight: 700; }
.rr-policy-page { padding: clamp(44px, 7vw, 96px) var(--rr-gutter); }
.rr-policy-content { width: min(900px, 100%); margin: 0 auto; padding: clamp(28px, 5vw, 64px); background: #fff; border: 1px solid var(--rr-line); border-radius: var(--rr-radius); box-shadow: 0 12px 36px rgb(23 60 44 / 5%); }
.rr-policy-eyebrow { margin: 0 0 12px; color: var(--rr-green); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.rr-policy-content h1 { margin: 0 0 14px; color: var(--rr-ink); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; }
.rr-policy-lead { margin: 0 0 36px; color: var(--rr-ink); font-size: 1.25rem; font-weight: 700; }
.rr-policy-content h2 { margin: 42px 0 14px; color: var(--rr-ink); font-size: clamp(1.4rem, 2.5vw, 1.8rem); line-height: 1.2; }
.rr-policy-content p { margin: 0 0 20px; color: var(--rr-body); font-size: 1rem; line-height: 1.8; }
.rr-policy-content .rr-policy-date { margin-top: 36px; margin-bottom: 0; color: var(--rr-ink); font-weight: 700; }
.rr-policy-footer { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 28px var(--rr-gutter); background: #fff; border-top: 1px solid var(--rr-line); color: #637369; }
.rr-policy-footer a { color: var(--rr-green); font-weight: 700; text-decoration: none; }

@media (max-width: 800px) {
  .rr-policy-header { align-items: flex-start; flex-direction: column; width: 100%; padding: 16px var(--rr-gutter); }
  .rr-policy-header nav { width: 100%; gap: 16px; overflow-x: auto; }
  .rr-policy-header nav a { flex: 0 0 auto; }
  .rr-policy-content { padding: 28px 22px; }
  .rr-policy-content h1 { font-size: 2rem; }
}
