/* viomedspa/logo-row */
.vio-logo-row .vio-logo-row__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--vlr-gap, 32px);
  justify-content: flex-start;
}
.vio-logo-row--align-center .vio-logo-row__list { justify-content: center; }
.vio-logo-row--align-right .vio-logo-row__list { justify-content: flex-end; }
.vio-logo-row__item { margin: 0; padding: 0; display: flex; align-items: center; min-width: 0; }
.vio-logo-row__link { display: inline-flex; }
.vio-logo-row__link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.vio-logo-row__img { display: block; max-width: 100%; }
.vio-logo-row__list--height .vio-logo-row__img { height: var(--vlr-size, 48px); width: auto; }
.vio-logo-row__list--width .vio-logo-row__img { width: var(--vlr-size, 48px); height: auto; }
.vio-logo-row__empty { opacity: 0.6; font-style: italic; margin: 0; }

/* Section padding (top / bottom). Default = the section shell's own padding. */
.vio-logo-row.vio-logo-row--pad-none { padding-top: 0; padding-bottom: 0; }
.vio-logo-row.vio-logo-row--pad-sm   { padding-top: 20px; padding-bottom: 20px; }
.vio-logo-row.vio-logo-row--pad-lg   { padding-top: clamp(60px, 8vw, 120px); padding-bottom: clamp(60px, 8vw, 120px); }

/* Phones: N per row (default 2), even columns, centred. */
@media (max-width: 767px) {
  .vio-logo-row .vio-logo-row__list { gap: calc(var(--vlr-gap, 32px) / 2); justify-content: center; }
  .vio-logo-row__item {
    flex: 0 0 calc((100% - (var(--vlr-mobile-cols, 2) - 1) * var(--vlr-gap, 32px) / 2) / var(--vlr-mobile-cols, 2));
    justify-content: center;
  }
  .vio-logo-row__list--height .vio-logo-row__img { height: auto; max-height: var(--vlr-size, 48px); }
  .vio-logo-row__list--width .vio-logo-row__img { width: auto; max-width: min(100%, var(--vlr-size, 48px)); }
}

/* Section CTA below the logos follows the intro alignment (ctaPosition = below). */
.vio-section--cta-below.vio-section--intro-center .vio-section__bottom-cta { display: flex; justify-content: center; }
.vio-section--cta-below.vio-section--intro-right .vio-section__bottom-cta { display: flex; justify-content: flex-end; }

/* "Hero" size token for the intro text sizes. */
.vio-section__title.size-hero,
.vio-section__title-alt.size-hero { font-size: clamp(34px, 5.5vw, 60px); line-height: 1.1; }

/* Custom CTA hover / focus: only changes anything when hover colours are set. */
.vio-section .vio-btn.vio-btn--custom {
  --vio-btn-bg-hover: var(--vio-btn-custom-hover-bg, var(--vio-btn-bg));
  --vio-btn-fg-hover: var(--vio-btn-custom-hover-text, var(--vio-btn-fg));
  --vio-btn-bd-hover: var(--vio-btn-custom-hover-border-color, var(--vio-btn-bd));
}
