/* =============================================================
   cliniX interface layer
   Visual refinements kept separate from the broad component sheet.
   ============================================================= */

:root {
  --clinix-content: 720px;
  --clinix-surface-shadow: 0 1px 4px rgba(26, 26, 26, 0.06);
}

.btn--primary {
  color: var(--xt-paper-bright);
}

.brand {
  color: var(--xt-signal);
}

.landing-hero {
  padding-block: clamp(2rem, 6vh, 4rem);
}

.landing-hero__inner {
  max-width: var(--clinix-content);
  margin-inline: auto;
}

.landing-hero__portraits {
  gap: clamp(1rem, 3vw, 2rem);
  margin-bottom: var(--xt-space-5);
}

.landing-hero__title {
  max-width: none;
  margin-bottom: 0;
}

.doctor-portrait {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(2rem, 4vw, 2.65rem);
  height: clamp(2rem, 4vw, 2.65rem);
  font-size: clamp(1.65rem, 3.2vw, 2.15rem);
  line-height: 1;
  flex-shrink: 0;
}

.landing-hero__start {
  width: 100%;
  max-width: 260px;
}

.landing-input-card,
.chat-input-card,
.clinic-card,
.booking-status__pill,
.booking-form,
.consent-card,
.unlock-consent,
.location-picker,
.slot-offered,
.confirmation-card,
.wa-deeplink,
.decline-choice {
  box-shadow: var(--clinix-surface-shadow);
}

.chat-feed {
  width: 100%;
}

.msg-bubble--user {
  color: var(--xt-paper-bright);
}

.chat-input-card textarea {
  padding-right: 3.7rem;
}

@media (max-width: 520px) {
  .container {
    padding-inline: var(--xt-space-4);
  }

  .landing-hero__portraits {
    gap: var(--xt-space-2);
  }

  .landing-hero__title {
    font-size: clamp(1.85rem, 8vw, 2.35rem);
  }

  .landing-hero__desc {
    font-size: var(--xt-text-base);
  }
}
