/* ==========================================================================
   Consent — Banner und Einstellungen im 2026-System
   ========================================================================== */
#ga-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  background: var(--ink); color: var(--paper);
  border-top: 2px solid var(--signal-red);
  padding: clamp(18px, 2.6vh, 26px) clamp(20px, 5vw, 64px);
}
#ga-consent .gac-box { max-width: 1080px; margin-inline: auto; font-size: 0.95rem; line-height: 1.6; }
#ga-consent b { font-weight: 600; }
#ga-consent a { color: var(--paper); border-bottom: 1px solid rgba(244, 240, 232, 0.4); text-decoration: none; }
#ga-consent a:hover { color: var(--signal-red); border-color: var(--signal-red); }

#ga-consent-modal {
  position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center;
  padding: clamp(16px, 4vw, 40px); background: rgba(5, 6, 9, 0.72);
}
#ga-consent-modal .gac-m {
  width: min(560px, 100%); max-height: 88vh; overflow-y: auto;
  background: var(--paper); color: var(--ink);
  padding: clamp(28px, 4vw, 44px); border-top: 3px solid var(--signal-red);
}
#ga-consent-modal h3 {
  font-family: var(--font-head); font-weight: 600; font-size: 1.5rem;
  letter-spacing: -0.015em; margin: 0 0 14px;
}
#ga-consent-modal p { font-size: 0.98rem; line-height: 1.65; color: #24221e; margin: 0 0 20px; }
.gac-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  padding: 16px 0; border-top: 1px solid var(--line-light); font-size: 0.94rem; line-height: 1.55;
}
.gac-row input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--signal-red); margin-top: 3px; }
.gac-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.gac-btns button {
  flex: 1 1 auto; min-height: 46px; padding: 12px 20px; cursor: pointer;
  font-family: var(--font-body); font-size: 0.94rem; font-weight: 500;
  background: none; color: var(--paper); border: 1px solid rgba(244, 240, 232, 0.4);
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
#ga-consent-modal .gac-btns button { color: var(--ink); border-color: rgba(11, 13, 17, 0.28); }
.gac-btns button:hover { border-color: var(--signal-red); color: var(--signal-red); }
.gac-btns .gac-acc,
#ga-consent-modal .gac-btns .gac-acc { background: var(--signal-red); border-color: var(--signal-red); color: var(--white); }
.gac-btns .gac-acc:hover,
#ga-consent-modal .gac-btns .gac-acc:hover { background: #e63d2c; border-color: #e63d2c; color: var(--white); }
.gac-note { margin: 18px 0 0 !important; font-size: 0.86rem !important; color: var(--muted) !important; }
.gac-note a { color: var(--ink); }
@media (max-width: 560px) { .gac-btns button { flex: 1 1 100%; } }
@media print { #ga-consent, #ga-consent-modal { display: none !important; } }

/* Auf kleinen Bildschirmen bleibt das Banner eine Fussnote, kein zweiter Bildschirm */
@media (max-width: 860px) {
  #ga-consent { padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); }
  #ga-consent .gac-box { font-size: 0.82rem; line-height: 1.5; }
  #ga-consent .gac-btns { margin-top: 12px; gap: 8px; }
  #ga-consent .gac-btns button { flex: 1 1 30%; min-height: 42px; padding: 9px 10px; font-size: 0.84rem; }
}
@media (max-width: 560px) {
  #ga-consent .gac-btns button { flex: 1 1 30%; }
}
