/* Shared responsive corrections; loaded after the page styles. */
:root {
  --header-offset: 74px;
  --mobile-bar-height: 0px;
}
html {
  scroll-padding-top: calc(var(--header-offset) + 16px);
  scroll-padding-bottom: calc(var(--mobile-bar-height) + 16px);
}
.nav-inner > *, .nav-panel, .nav-actions,
.appointment-container > *, .contact-info-board > *,
.takeover-lead > *, .takeover-more-body > *,
.team-card > *, .detail-topic-card, .treatment-card {
  min-width: 0;
}
.form-control-custom { min-width: 0; max-width: 100%; }
.contact-link-item > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.team-photo-wrap {
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 4;
  align-self: center;
}
.team-photo-wrap img {
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
}
.team-card:hover .team-photo-wrap img { transform: none; }
.team-name, .team-role { overflow-wrap: anywhere; }
@media (min-width: 992px) {
  .nav-inner, .nav-panel, .nav-list, .nav-actions { flex-wrap: wrap; }
}
@media (max-width: 991.98px) {
  .nav-panel {
    max-height: calc(100vh - var(--header-offset) - var(--mobile-bar-height) - 8px);
    max-height: calc(100dvh - var(--header-offset) - var(--mobile-bar-height) - 8px);
  }
  .nav-link-custom, .btn-phone-header { white-space: normal; }
}
@media (max-width: 767.98px) {
  :root { --mobile-bar-height: calc(82px + env(safe-area-inset-bottom)); }
  body { padding-bottom: var(--mobile-bar-height); }
  .mobile-call-btn { min-width: 0; text-align: center; }
  .mobile-call-bar {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }
}
@media (max-width: 575.98px) {
  .treatment-card-emergency {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "icon" "kopf" "liste" "cta";
    gap: 1rem;
  }
  .treatment-card-emergency .treatment-link { grid-area: cta; }
  .treatment-list .text-nowrap { white-space: normal; }
  .navbar-brand-custom { flex: 0 1 auto; min-width: 0; }
  .navbar-brand-custom img { max-width: 100%; height: auto; max-height: 56px; }
  .nav-toggle { flex-shrink: 0; }
}
@media (max-width: 479.98px) {
  .team-photo-wrap { aspect-ratio: 3 / 4; }
  .team-name { font-size: 1.2rem; }
  .team-role { font-size: 1rem; }
}
@media print {
  html { scroll-padding: 0; }
  body { padding-bottom: 0; }
}
