/* campus Horn – Ergänzungen für Smartphones und Tablets (nach dem Theme-CSS geladen) */

@media (max-width: 767px) {
  /* leerer Kopfbild-Bereich (z. B. Zimmerseiten) erzeugt sonst einen schwarzen Balken */
  #slider.ch-slider-empty { display: none; }

  /* Abstände zwischen den Inhaltsblöcken straffen */
  .mod_article.smallwidth { padding-top: 32px; padding-bottom: 32px; }
  .ce_hyperlink-extended { margin-top: 28px; }

  /* Preisbox auf den Zimmerseiten: Bezeichnung links, Preis rechts in einer Zeile */
  .single-price-left-wrap {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 6px;
    align-items: baseline;
  }
  .single-price-left-wrap .single-price-left-label,
  .single-price-left-wrap .single-price-left { float: none; width: auto; margin: 0; }
  .single-price-left-wrap .single-price-left { text-align: right; white-space: nowrap; }
  .single-price-left-wrap .single-price-left .ce_text { display: inline; }

  /* Footer-Links: Abstand statt Umbruch mitten im Wort */
  #bottom .right { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px 18px; float: none; }
  #bottom .right a { margin: 0; white-space: nowrap; }

  /* Lange Wörter/URLs (z. B. in Datenschutz) nicht über den Rand laufen lassen */
  #main p, #main li, #main td { overflow-wrap: anywhere; hyphens: auto; }
  #main .chc-placeholder p { hyphens: manual; overflow-wrap: normal; }

  /* Tabellen horizontal scrollbar statt abgeschnitten */
  #main table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Formularfelder: 16px verhindert das automatische Hineinzoomen auf iPhones */
  input[type="text"], input[type="email"], input[type="tel"], select, textarea { font-size: 16px; }

  /* Karte auf „Lage & Anreise“ etwas niedriger */
  .ch-osm { height: 360px !important; }
}
