/* Spacing review for the current P4k pages only. Earlier comparisons are preserved. */
.spacing-review { --carpa-panel-inset: var(--carpa-space-panel, 32px); }
.spacing-review [data-palette-only][hidden] { display: none !important; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__team-more { margin: 32px 0 0; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__portrait img[data-p4k-src$='dra-carla-loureiro-2026.jpg'] { object-position: center 25%;  }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__portrait img[data-p4k-src$='claudia-chaves-loureiro-2026.webp'] { object-position: center 35%; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__booking-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.spacing-review .carpa-home[data-palette='p4k'] a.carpa-home__button--secondary { background-color: var(--carpa-surface); color: var(--carpa-link); box-shadow: inset 0 0 0 1px var(--carpa-link); }
.spacing-review .carpa-home[data-palette='p4k'] a.carpa-home__button--secondary:is(:hover,:focus-visible) { color: var(--carpa-button-text); }
.spacing-review :is(.carpa-home,.carpa-hero,.carpa-care)[data-palette='p4k'] :is(.carpa-home__text-link,.carpa-home__button,.carpa-home__article-status,.carpa-hero__submit,.carpa-hero__intro a,.carpa-care__cta) > span[aria-hidden='true'] { display: none; }

/* Editorial image/copy spacing is separate from the 24 px column gutter.
   Add only the difference inside a grid column, never a second full gap. */
.spacing-review.clinic-refresh .clinic-story > div {
  padding-inline-start: calc(var(--carpa-space-editorial-gap) - var(--carpa-grid-gap));
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__clinic-grid {
  gap: var(--carpa-space-editorial-gap);
}
.spacing-review.exam-detail-page .exam-detail__intro-copy {
  padding-inline-end: calc(var(--carpa-space-editorial-gap) - var(--carpa-grid-gap));
}
.spacing-review.exams-page .exam-card { gap: var(--carpa-space-panel-large); }
@media (max-width: 900px) {
  .spacing-review.clinic-refresh .clinic-story { gap: var(--carpa-space-editorial-gap); }
  .spacing-review.clinic-refresh .clinic-story > div { padding-inline-start: 0; }
}
@media (max-width: 800px) {
  .spacing-review.exam-detail-page .exam-detail__intro { gap: var(--carpa-space-editorial-gap); }
  .spacing-review.exam-detail-page .exam-detail__intro-copy { padding-inline-end: 0; }
  .spacing-review .carpa-home[data-palette='p4k'] .carpa-home__clinic-copy { padding-top: 0; }
}

/* Shared rounded navigation capsule. The white surface stays inside its bounds. */
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__header-band {
  position: relative;
  width: calc(100% - var(--carpa-page-gutter));
  max-width: var(--carpa-wide-width);
  margin: 0 auto 20px;
  border-radius: var(--carpa-radius-navigation);
  background: var(--carpa-surface);
}
.spacing-review .carpa-hero.clinic-navigation[data-palette='p4k'] .carpa-hero__header-band { margin-bottom: 0; }
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__header-band::before { display: none; }
@media (min-width: 1101px) {
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__visual {
    max-width: var(--carpa-wide-width);
  }
}
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__header {
  width: calc(100% - var(--carpa-page-gutter));
  max-width: var(--carpa-content-width);
  margin-inline: auto;
  padding-inline: 0;
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__container {
  width: calc(100% - 2 * var(--carpa-page-gutter));
  max-width: var(--carpa-content-width);
  margin-inline: auto;
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__footer { padding-inline: 0; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__location {
  padding: var(--carpa-space-panel);
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__card {
  padding: var(--carpa-space-image-inset);
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__card .carpa-home__card-copy {
  padding: 24px calc(var(--carpa-space-panel) - var(--carpa-space-image-inset)) 24px;
}
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__doctor h3 { min-height: 0; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__doctor .carpa-home__card-copy > p { margin-top: 8px; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__booking {
  margin-inline: 0;
  padding: var(--carpa-space-panel-large);
}

/* Clinic: retain the column grid, and give the large image/text panel equal breathing room on each side of its text. */
.spacing-review.clinic-refresh .clinic-exam-intro__copy {
  padding: var(--carpa-space-panel-large) var(--carpa-space-panel-large) var(--carpa-space-panel-large) calc(var(--carpa-space-panel-large) - var(--carpa-grid-gap));
}
.spacing-review.clinic-refresh .clinic-area__copy {
  padding: 32px calc(var(--carpa-space-panel) - var(--carpa-space-image-inset)) 24px;
}
.spacing-review.clinic-refresh .clinic-process__copy { padding: var(--carpa-space-panel); }
.spacing-review.clinic-refresh .clinic-process.is-pinned .clinic-process__copy { padding-bottom: 176px; }
.spacing-review.clinic-refresh .clinic-process__controls { bottom: var(--carpa-space-panel); }

/* Keep the scroll sequence on laptop screens, with controls below the panel. */
@media (min-width: 901px) and (min-height: 680px) and (max-height: 799px) {
  .spacing-review.clinic-refresh .clinic-process.is-pinned { --process-height: clamp(330px, calc(100vh - 350px), 440px); }
  .spacing-review.clinic-refresh .clinic-process.is-pinned .clinic-process__copy { padding: var(--carpa-space-panel); }
  .spacing-review.clinic-refresh .clinic-process__controls {
    position: relative; left: auto; bottom: auto; width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 24px;
    padding: 12px var(--carpa-space-panel); margin-top: 16px;
    border-radius: var(--carpa-radius-panel); background: var(--carpa-surface);
  }
  .spacing-review.clinic-refresh .clinic-process__hint { margin-top: 16px; }
}

/* Home: the form has space for its labels, fields and button without reducing their sizes. */
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__appointment {
  padding: var(--carpa-space-panel);
  min-height: 380px;
  height: auto;
  gap: 20px;
}
.spacing-review .carpa-care[data-palette='p4k'] { padding-inline: var(--carpa-page-gutter); }
.spacing-review .carpa-care[data-palette='p4k'] .carpa-care__inner { width: 100%; }
.spacing-review .carpa-care[data-palette='p4k'] .carpa-care__areas { padding-inline: 0; }
.spacing-review .carpa-home[data-palette='p4k'] .carpa-home__clinic { padding-block: var(--carpa-space-panel-large); }

/* Exam list: equal image/card insets and generously padded informational banners. */
.spacing-review.exams-page .exams-heading { padding-inline: 0; }
.spacing-review.exams-page .exams-list__heading { padding-inline: 0; }
.spacing-review.exams-page :is(.exams-sns, .exams-practical) { padding: var(--carpa-space-panel); }
.spacing-review.exams-page .exams-booking { padding: var(--carpa-space-panel-large); }
.spacing-review.exams-page .exam-card { padding: var(--carpa-space-panel-large) var(--carpa-space-panel-large) var(--carpa-space-panel-large) var(--carpa-space-panel); }
.spacing-review.exams-page .exams-sns > div { padding-left: 21px; }

/* Exam details: body text, accordions and colored panels share the same inset. */
.spacing-review.exam-detail-page :is(.exam-detail__contents, .exam-detail__contact, .exam-detail__related-card, .exam-detail__steps > div) { padding: var(--carpa-space-panel); }
.spacing-review.exam-detail-page :is(.exam-detail__facts, .exam-detail__preparation, .exam-detail__results) { padding: var(--carpa-space-panel); }
.spacing-review.exam-detail-page .exam-detail__accordion summary { padding: 24px var(--carpa-space-panel); }
.spacing-review.exam-detail-page .exam-detail__accordion > div { padding: 0 var(--carpa-space-panel) var(--carpa-space-panel); }

@media (max-width: 1100px) {
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__stage { width: calc(100% - 2 * var(--carpa-page-gutter)); }
  .spacing-review.exams-page .exam-card { padding: var(--carpa-space-panel); }
}
@media (max-width: 900px) {
  .spacing-review.clinic-refresh .clinic-exam-intro { row-gap: 0; }
  .spacing-review.clinic-refresh .clinic-exam-intro__copy { padding: var(--carpa-space-panel-large); }
}
@media (max-width: 800px) {
  .spacing-review .carpa-home[data-palette='p4k'] .carpa-home__card { display: flex; flex-direction: column; gap: 0; }
}
@media (max-width: 700px) {
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__appointment { min-height: 0; }
  .spacing-review .carpa-care[data-palette='p4k'] .carpa-care__copy { padding-inline: var(--carpa-space-panel); }
  .spacing-review.exams-page .exam-card { padding: 16px 16px 24px; }
  .spacing-review.exams-page .exam-card__content { padding-inline: 8px; }
}

/* Keep logo, menu spacing and capsule height consistent between page templates. */
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__logo { flex-basis: 158px; }
.spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__nav { gap: clamp(16px, 1.65vw, 24px); font-size: 14px; }
@media (min-width: 1101px) and (max-width: 1300px) {
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__nav { gap: 12px; font-size: 12px; }
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__logo { flex-basis: 140px; }
}
@media (max-width: 1100px) {
  .spacing-review .carpa-hero[data-palette='p4k'] .carpa-hero__nav { font-size: 16px; gap: 4px; }
}

/* Client review: navigation and sequences share the same grid and spacing. */
.site-current :is(.site-breadcrumb, .exams-breadcrumb) {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px;
  font-size: 12px; font-weight: 700; line-height: 1.6; text-transform: none;
}
.site-current :is(.site-breadcrumb, .exams-breadcrumb) [aria-current] { color: var(--carpa-muted); }
.carpa-footer-programmes { margin-top: 20px; }
.carpa-care--four .carpa-care__areas { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.carpa-care--four .carpa-care__controls {
  position: static; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px; margin-top: 24px;
}
.carpa-care--four .carpa-care__controls button {
  border: 0; border-radius: 16px; padding: 12px 16px; min-height: 44px;
  font-size: 16px; text-align: center; background: var(--carpa-surface);
}
.carpa-care--four .carpa-care__controls button[aria-pressed='true'] { background: var(--carpa-button); color: var(--carpa-button-text); }
.carpa-care--four.is-enhanced .carpa-care__copy { padding-bottom: var(--carpa-space-panel); }
.carpa-care--four .carpa-care__panel,
.carpa-care--four.is-enhanced .carpa-care__panel { height: auto; min-height: var(--care-height); }
.site-current.clinic-refresh .clinic-process__controls {
  position: static; width: 100%; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px; padding: 0; margin-top: 24px;
}
.site-current.clinic-refresh .clinic-process__controls button {
  border: 0; border-radius: 16px; padding: 12px 16px; min-height: 44px;
  background: var(--carpa-surface); text-align: center;
}
.site-current.clinic-refresh .clinic-process__controls button[aria-pressed='true'] { background: var(--carpa-button); color: var(--carpa-button-text); }
.site-current.clinic-refresh .clinic-process.is-pinned .clinic-process__copy {
  padding: var(--carpa-space-panel); display: flex; flex-direction: column; justify-content: center;
}
.site-current.clinic-refresh .clinic-process.is-pinned { --process-height: clamp(360px, calc(100vh - 370px), 540px); }
@media (max-width: 1100px) {
  .carpa-care--four .carpa-care__areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-current.clinic-refresh .clinic-process__controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .carpa-care--four .carpa-care__areas, .carpa-care--four .carpa-care__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .carpa-care--four .carpa-care__areas a { gap: 12px; padding: 16px; }
}
