/* MDoc 0.34.0 — compact clinic cards and a unified homepage discovery rhythm. */

:root {
  --home-showcase-width: 1540px;
  --home-showcase-gap: 24px;
  --home-showcase-ink: #15322b;
  --home-showcase-muted: #667a74;
}

.directions-home-v30 > .container,
.container--home-showcase {
  width: min(calc(100% - 56px), var(--home-showcase-width)) !important;
}

.direction-grid-home {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.home-showcase-section {
  padding-block: 64px !important;
}

.home-showcase-section--directions,
.home-showcase-section--doctors {
  background: #fff;
}

.home-showcase-section--clinics {
  background:
    radial-gradient(circle at 92% 4%, rgba(97, 181, 157, .10), transparent 24%),
    #f2f8f6;
}

.home-showcase-heading {
  margin-bottom: 30px !important;
}

.home-showcase-heading h2,
.home-showcase-heading p {
  max-width: 820px;
}

.home-showcase-section .section-heading-v2 {
  align-items: end;
}

.home-clinic-grid,
.home-doctor-grid {
  align-items: stretch;
  gap: var(--home-showcase-gap) !important;
}

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

.home-map-section {
  padding-top: 64px !important;
}

/* Dedicated homepage cards can stay compact while directory cards remain detailed. */
.clinic-card-v29--home-compact {
  min-height: 0;
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(18, 65, 56, .10);
}

.clinic-card-v29--home-compact .clinic-card-v29__visual {
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9 !important;
}

.clinic-card-v29--home-compact .clinic-card-v29__status {
  top: 14px;
  left: 14px;
  min-height: 38px;
  padding: 7px 13px;
  font-size: 15px;
}

.clinic-card-v29--home-compact .clinic-card-v29__logo {
  left: 18px;
  bottom: 16px;
  width: 82px;
  height: 82px;
  padding: 10px;
  border-radius: 19px;
}

.clinic-card-v29--home-compact .clinic-card-v29__body {
  gap: 12px;
  padding: 20px 22px 17px;
}

.clinic-card-v29--home-compact .clinic-card-v29__heading h2 {
  display: -webkit-box;
  min-height: 52px;
  overflow: hidden;
  font-size: clamp(1.28rem, 1.35vw, 1.55rem);
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clinic-card-v29--home-compact .clinic-card-v29__address {
  display: flex;
  min-height: 44px;
  margin-top: -4px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.45;
}

.clinic-card-v29--home-compact .clinic-card-v29__address span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clinic-card-v29--home-compact .clinic-card-v29__address svg {
  width: 18px;
  height: 18px;
}

.clinic-card-v29--home-compact .clinic-card-v29__metrics {
  gap: 8px;
}

.clinic-card-v29--home-compact .clinic-card-v29__metrics > span {
  grid-template-columns: 22px minmax(0, auto);
  min-height: 52px;
  padding: 8px;
  border-radius: 13px;
}

.clinic-card-v29--home-compact .clinic-card-v29__metrics svg {
  width: 19px;
  height: 19px;
}

.clinic-card-v29--home-compact .clinic-card-v29__metrics strong {
  font-size: 18px;
}

.clinic-card-v29--home-compact .clinic-card-v29__metrics small {
  font-size: 12px;
}

.clinic-card-v29--home-compact .clinic-card-v29__phone {
  grid-template-columns: 24px minmax(0, 1fr) auto auto;
  gap: 7px;
  min-height: 42px;
}

.clinic-card-v29--home-compact .clinic-card-v29__phone-value {
  font-size: 17px;
}

.clinic-card-v29--home-compact .clinic-card-v29__phone-toggle,
.clinic-card-v29--home-compact .clinic-card-v29__phone-call {
  min-height: 38px;
  font-size: 13px;
}

.clinic-card-v29--home-compact .clinic-card-v29__trust-row {
  display: none !important;
}

.clinic-card-v29--home-compact .clinic-card-v29__advisor {
  display: none !important;
}

.clinic-card-v29--home-compact .clinic-card-v29__specialties {
  display: none !important;
}

.clinic-card-v29--home-compact .clinic-card-v29__actions {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 10px;
  padding: 14px 22px 20px;
}

.clinic-card-v29--home-compact .clinic-card-v29__profile,
.clinic-card-v29--home-compact .clinic-card-v29__booking {
  min-height: 50px;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 15px;
}

.clinic-card-v29--home-compact .clinic-card-v29__profile svg:first-child {
  display: none;
}

@media (max-width: 1220px) {
  .directions-home-v30 > .container,
  .container--home-showcase {
    width: min(calc(100% - 40px), var(--home-showcase-width)) !important;
  }

  .home-clinic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .home-showcase-section {
    padding-block: 48px !important;
  }

  .home-showcase-heading {
    margin-bottom: 22px !important;
  }

  .home-clinic-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

@media (max-width: 540px) {
  .directions-home-v30 > .container,
  .container--home-showcase {
    width: min(calc(100% - 22px), var(--home-showcase-width)) !important;
  }

  .clinic-card-v29--home-compact {
    border-radius: 20px;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__body {
    padding: 20px 18px 16px;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__heading h2 {
    min-height: 0;
    font-size: 1.34rem;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__address {
    min-height: 0;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .clinic-card-v29--home-compact .clinic-card-v29__metrics > span {
    grid-template-columns: 18px minmax(0, auto);
    padding: 8px 6px;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__phone {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .clinic-card-v29--home-compact .clinic-card-v29__phone-toggle,
  .clinic-card-v29--home-compact .clinic-card-v29__phone-call {
    grid-column: 2;
    justify-self: start;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__actions {
    grid-template-columns: 1fr 1.15fr;
    padding: 13px 18px 18px;
  }

  .clinic-card-v29--home-compact .clinic-card-v29__profile,
  .clinic-card-v29--home-compact .clinic-card-v29__booking {
    min-height: 48px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-card-v29--home-compact {
    transition: none !important;
  }
}
