/**
 * Mobile-Grundregeln für alle LPs — Overflow, Touch, Typo, Safe-Area.
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
iframe {
  max-width: 100%;
  height: auto;
}

/* Keine unbeabsichtigten Horizontal-Scrolls durch lange Wörter/URLs */
p,
li,
h1,
h2,
h3,
h4,
td,
th,
label,
a {
  overflow-wrap: anywhere;
  word-wrap: break-word;
}

/* Touch-Ziele mind. ~44px wo Buttons/Links als Block wirken */
button,
.sv-btn,
.lp-site-nav a,
.lp-consent-actions button,
input[type="submit"],
input[type="button"] {
  min-height: 44px;
}

input,
textarea,
select {
  font-size: 16px; /* iOS: kein Auto-Zoom bei Fokus */
  max-width: 100%;
}

.lp-site-header__shell,
.lp-site-footer__inner,
.sv-wrap {
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

.lp-site-footer {
  padding-bottom: max(28px, env(safe-area-inset-bottom));
}

#lp-consent-banner {
  padding-bottom: max(20px, env(safe-area-inset-bottom));
  max-height: min(88vh, 100dvh);
}

.lp-legal-modal {
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
    max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}

.lp-legal-modal__dialog {
  height: min(84vh, 100dvh - 32px);
  max-height: calc(100dvh - 32px);
}

@media (max-width: 720px) {
  .lp-site-header__shell {
    padding-block: 10px;
  }

  .lp-site-header__logo {
    max-height: 52px;
    max-width: min(394px, calc(100vw - 88px));
  }

  .lp-site-footer__nav-cols {
    grid-template-columns: 1fr;
  }

  .lp-site-footer__title {
    font-size: 15px;
  }

  #lp-consent-banner .lp-consent-actions {
    flex-direction: column;
  }

  #lp-consent-banner .lp-consent-actions button {
    width: 100%;
  }

  .lp-consent-svc-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: clamp(26px, 8vw, 35px);
    line-height: 1.2;
  }

  h2 {
    font-size: clamp(20px, 5.5vw, 25px);
    line-height: 1.25;
  }
}
