/* Responsives Verhalten der Seite. Das Layout ist in Inline-Styles gesetzt,
   deshalb überschreiben diese Regeln bewusst mit !important. */

img, svg { max-width: 100%; }

.pd-burger { display: none; }
.pd-nav-mobile { display: none; }

/* Tablet und darunter: zweispaltige Layouts brechen auf */
@media (max-width: 1023px) {
  .pd-hero { grid-template-columns: 1fr !important; gap: var(--space-10) !important; }
  .pd-split, .pd-side { grid-template-columns: 1fr !important; gap: var(--space-10) !important; }
  .pd-aside { position: static !important; top: auto !important; }
  .pd-g3, .pd-g4 { grid-template-columns: repeat(2, 1fr) !important; }
  .pd-footer { grid-template-columns: 1fr 1fr !important; gap: var(--space-8) !important; }
  .pd-nav-desktop { display: none !important; }
  .pd-burger { display: inline-flex !important; }
  .pd-headbar { height: 84px !important; }
  .pd-logo { height: 60px !important; }
}

/* Telefon */
@media (max-width: 719px) {
  :root {
    --section-y: 52px;
    --gutter: 18px;
    --fs-display-1: 36px;
    --fs-display-2: 30px;
    --fs-h1: 25px;
    --fs-h2: 21px;
    --fs-h3: 18px;
  }
  .pd-headbar { height: 72px !important; gap: var(--space-4) !important; }
  .pd-logo { height: 46px !important; }
  .pd-topbar { flex-wrap: wrap !important; gap: var(--space-3) var(--space-5) !important; }
  .pd-topbar-note { display: none !important; }
  .pd-g2, .pd-g3, .pd-g4 { grid-template-columns: 1fr !important; }
  .pd-figures { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-6) !important; }
  .pd-form { grid-template-columns: 1fr !important; }
  .pd-footer { grid-template-columns: 1fr !important; }
  .pd-footer-bottom { flex-wrap: wrap !important; gap: var(--space-3) !important; }
  .pd-footer-bottom > button { margin-left: 0 !important; }
  .pd-cta { flex-direction: column !important; align-items: flex-start !important; gap: var(--space-6) !important; padding: var(--space-8) !important; }
  .pd-hero-actions { flex-direction: column !important; align-items: stretch !important; }
  .pd-hero-actions > button { width: 100% !important; }
  .pd-media { height: 220px !important; }
}

/* Mobiles Menü */
.pd-nav-mobile[data-open="true"] { display: block !important; }
.pd-nav-mobile a, .pd-nav-mobile button {
  display: flex;
  align-items: center;
  min-height: 48px;
  width: 100%;
}
