/* Handy-Anpassungen (unter 768 px). Desktop bleibt unverändert.
   Grundregel: mehrspaltige Raster werden untereinander gestapelt. */
@media (max-width:767px){
  /* --- Allgemein: kein seitliches Überlaufen --- */
  .wrap { padding-left:20px; padding-right:20px; }
  img, video, iframe { max-width:100%; }
  h1 { font-size:clamp(28px, 8.5vw, 36px) !important; line-height:1.1 !important; }
  h2 { font-size:clamp(23px, 6.5vw, 28px) !important; }

  /* --- Alle bekannten Raster auf eine Spalte --- */
  .buy, .get, .fit, .plans, .routes, .prods, .lic .cols, .who, .joincard ul, .pstrip .row3,
  .hero, .includes .row, .terms .row, .about, .m-quotes, .entry, .lrow,
  [style*="grid-template-columns:1fr 1fr"], [style*="grid-template-columns:repeat(2"] {
    grid-template-columns:minmax(0,1fr) !important;
  }
  .buy > *, .get > *, .fit > *, .plans > *, .routes > *, .prods > *, .who > *, .hero > *, .about > *, .lrow > * { min-width:0; }

  /* Zwei Spalten, wo vier bzw. drei zu eng wären */
  .lesson8, .grid8, .vids, .creds .grid, .inside { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .lesson8 .lesson, .grid8 > * { grid-template-rows:auto auto 1fr !important; padding:14px 14px !important; }
  .lesson8 .lesson .n { font-size:12px !important; }

  /* --- Produktzeilen (Workbook / Course / Membership / Advisory) --- */
  .lrow { grid-template-columns:minmax(0,1fr) auto !important; gap:6px 14px !important; padding:16px 18px !important; }
  .lrow .l { grid-column:1 / -1; }
  .lrow .price { grid-column:1; }
  .lrow .go { grid-column:2; text-align:right; }
  .lrow .tagme { position:static !important; display:inline-block; margin-top:4px; }

  /* --- Kauf-Panel auf Kursseiten --- */
  .buy { gap:22px !important; padding-block:20px 36px !important; }
  .buy > div[style*="max-width:440px"] { max-width:none !important; justify-self:stretch !important; }
  .buy img[style*="min-height:420px"] { min-height:0 !important; aspect-ratio:4/3 !important; }
  .buypanel { width:auto !important; }
  .twinpill { float:none; display:inline-block; margin:6px 0 0; }
  .pricerow { flex-wrap:wrap; }
  .facts .row { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:10px 0; }
  .facts .row span:first-child { font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
  .facts .row b { text-align:left; }
  .microtrust .mt-row { flex-wrap:wrap !important; white-space:normal !important; gap:4px 0; }
  .microtrust .mt-row span { white-space:nowrap; }

  /* --- Startseite --- */
  .heroXL { padding:56px 0 150px !important; }
  .heroXL::after { background:linear-gradient(rgba(255,255,255,.86) 55%, rgba(255,255,255,.45) 78%, rgba(255,255,255,0) 95%) !important; }
  .heroXL .sub { font-size:17px; }
  .trust { gap:10px 18px; font-size:13.5px; }
  .whatrow { gap:12px; }
  .whatrow a { padding:9px 16px; font-size:14px; }
  .about .photo, .about .img { max-width:360px; }
  .stats { flex-wrap:wrap; gap:18px 28px; }

  /* --- Über-mich-Seite: Zeitleiste --- */
  .entry { grid-template-columns:56px minmax(0,1fr) !important; gap:10px 16px !important; }
  .entry .thumb, .entry img { grid-column:2; width:100%; max-width:200px; height:auto; display:block; }

  /* --- Membership --- */
  .inside { gap:10px !important; }
  .who { gap:28px !important; }
  .hl { white-space:normal; }

  /* --- Kontakt / Lizenzen --- */
  .routes { gap:14px !important; }
  .creds .grid { gap:18px !important; }

  /* --- Proof --- */
  .m-quotes { gap:12px !important; }

  /* --- Footer --- */
  footer.site .wrap > div { gap:14px !important; }
  footer.site a { margin-right:12px; line-height:2; }
}
@media (max-width:420px){
  .lesson8, .grid8, .creds .grid, .inside { grid-template-columns:minmax(0,1fr) !important; }
  .vids { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

/* Footer auf dem Handy: zwei Spalten mit je einer Liste, darunter Copyright und Rechtliches/Social */
@media (max-width:767px){
  footer.site { padding:28px 0 40px !important; }
  footer.site .wrap > div:first-child { display:grid !important; grid-template-columns:1fr 1fr; gap:24px 16px !important; padding-bottom:22px !important; }
  footer.site .wrap > div:first-child > div { display:grid; gap:12px; align-content:start; }
  footer.site .wrap > div:first-child a { margin:0 !important; font-size:15px; line-height:1.3; color:var(--ink); }
  footer.site .wrap > div:last-child { display:grid !important; gap:14px !important; padding-top:18px !important; }
  footer.site .wrap > div:last-child > div:last-child { display:grid; grid-template-columns:repeat(3,max-content); justify-content:start; gap:10px 22px; font-size:14px; }
  footer.site .wrap > div:last-child a { margin:0 !important; line-height:1.4; }
}

/* Startseiten-Hero auf dem Handy: Foto bleibt sichtbar, Text auf heller Karte (Variante B) */
@media (max-width:767px){
  .heroXL { padding:28px 0 240px !important; background-position:center 20% !important; }
  .heroXL::after { background:linear-gradient(rgba(255,255,255,.55) 0%, rgba(255,255,255,.2) 45%, rgba(255,255,255,0) 70%) !important; }
  .heroXL .wrap { background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-radius:18px; padding:26px 18px 22px !important; margin:0 16px; width:auto; }
  .heroXL h1 { font-size:34px !important; }
  .heroXL .sub { font-size:16px; }
  .trust { font-size:13px; }
}
