/* ===== Global: Hintergrund + Grundschrift ===== */
html, body {
  height: 100%;
}
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: #fff; /* wird in .card überschrieben */
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;

  /* Für das Layer-Background-Image */
  position: relative;
}

/* Hintergrundbild als fixes Layer (robust auf iOS) */
body::before{
  content: "";
  position: fixed;              /* Desktop: Parallax-ähnlich */
  inset: 0;
  background: url("hintergrund.png") center/cover no-repeat;
  z-index: -1;                  /* hinter dem Inhalt */
  transform: translateZ(0);     /* iOS-Rendering-Glitch fixen */
}

/* Mobile/Portrait: anderes Bild laden */
@media (max-width: 768px) and (orientation: portrait){
  body::before{
    background-image: url("hintergrund-mobil.png");
  }
}

/* iOS/Mobile-Safari Edge-Case: notfalls ohne fixed (scrollend) */
@media (pointer: coarse){
  body::before{
    position: absolute;         /* kein fixed → scrollt mit, vermeidet Artefakte */
  }
}

/* ===== Card: Glas-Effekt, aber gut lesbar ===== */
.card{
  width: 100%;
  max-width: 560px;
  background: rgba(255,255,255,0.75);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(15,20,40,0.18);
  padding: 24px;
  color: #111;             /* Text in der Karte dunkel */
}

h1{ margin:0 0 8px; font-size:1.5rem; color:#111; }
p{ margin:0 0 12px; color:#444; }
small.note{ display:block; margin-top:8px; color:#666; }
.hidden{ display:none !important; }

/* ===== Formular ===== */
label{ display:block; margin-top:10px; font-weight:600; color:#111; }
input[type="text"]{
  width:100%;
  padding:10px 12px;
  border:1px solid #e0e6f0;
  border-radius:8px;
  margin-top:6px;
  box-sizing:border-box;
  background:#fff;      /* wichtig: NICHT transparent */
  color:#111;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.04);
}
input[type="text"]::placeholder{ color:#8892a6; }
input[type="text"]:focus{
  outline:none;
  border-color:#0d6efd;
  box-shadow:0 0 0 3px rgba(13,110,253,.15);
}

/* ===== Buttons ===== */
.buttons{ display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
button{
  flex:1;
  padding:10px 12px;
  border-radius:8px;
  border:0;
  cursor:pointer;
  font-weight:700;
  transition: transform .02s ease, filter .15s ease;
}
button:active{ transform: translateY(1px); }
button.neutral{ background:#6c757d; color:#fff; }
button.neutral:hover{ filter:brightness(.95); }
button.primary{ background:#0d6efd; color:#fff; }
button.primary:hover{ filter:brightness(.95); }
button.positive{ background:#198754; color:#fff; }
button.positive:hover{ filter:brightness(.95); }

/* Begleitperson-Eingabe (Layout mit Absenden rechts) */
#companionBlock .row{
  display:flex; gap:8px; margin-top:6px; align-items:stretch;
}
#btn-companion-submit{ white-space:nowrap; }

/* ===== Statusmeldungen ===== */
.msg{ margin-top:12px; font-weight:600; }
.msg.ok{ color:#0a7a0a; }     /* grün */
.msg.err{ color:#c00000; }    /* rot */

/* ===== Kleinere Screens ===== */
@media (max-width:420px){
  .buttons{ flex-direction:column; }
  #companionBlock .row{ flex-direction:column; }

/* ==== Button-Styles für Links (.btn / .btn-ical) ==== */
a.btn, .btn, a.btn-ical, .btn-ical {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 8px;
  background: #0d6efd;          /* Primärfarbe */
  color: #fff !important;        /* Text bleibt weiß, auch als :visited */
  text-decoration: none;         /* Unterstreichung weg */
  font-weight: 700;
  border: 0;
  box-shadow: 0 2px 8px rgba(13,110,253,.25);
  transition: transform .02s ease, filter .15s ease, box-shadow .15s ease;
  cursor: pointer;
}
a.btn:hover, .btn:hover, a.btn-ical:hover, .btn-ical:hover {
  filter: brightness(.95);
  box-shadow: 0 4px 14px rgba(13,110,253,.35);
}
a.btn:active, .btn:active, a.btn-ical:active, .btn-ical:active {
  transform: translateY(1px);
}
a.btn:focus-visible, .btn:focus-visible, a.btn-ical:focus-visible, .btn-ical:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(13,110,253,.25);
}
/* Falls Safari/Visited den Link lila färbt */
a.btn-ical:visited { color: #fff; }
}