/* ==========================================================================
   SALVIS – Cookie-Consent (eigenständig, ohne Drittanbieter, DSGVO/TTDSG-konform)
   Kategorien: notwendig (immer aktiv) · Statistik · Externe Medien.
   Auswahl wird lokal gespeichert; externe Skripte/Embeds laden erst nach Einwilligung.
   ========================================================================== */
.cc-banner{
  position:fixed; left:18px; right:18px; bottom:18px; z-index:195;
  max-width:780px; margin-inline:auto;
  background:var(--c-surface,#fff); color:var(--c-text,#1a1c22);
  border:1px solid var(--c-border,#e6e8ec); border-radius:var(--radius-lg,22px);
  box-shadow:var(--shadow-lg); padding:clamp(1.1rem,3vw,1.6rem); display:none;
}
.cc-banner[data-open="true"]{ display:block; }
.cc-banner h2{ font-size:var(--fs-lg); margin:0 0 .4rem; }
.cc-banner p{ font-size:var(--fs-sm); color:var(--c-text-muted); margin:0 0 var(--sp-4); max-width:64ch; }
.cc-banner a{ color:var(--c-blue-600); }
.cc-actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.cc-options{ display:none; margin:0 0 var(--sp-4); border-top:1px solid var(--c-grey-100); padding-top:var(--sp-3); }
.cc-options[data-open="true"]{ display:grid; gap:.5rem; }
.cc-opt{ display:flex; align-items:flex-start; gap:.6em; font-size:var(--fs-sm); }
.cc-opt input{ margin-top:.25em; }
.cc-opt strong{ color:var(--c-navy-900); }
/* Reopen-Button (unten links, Gegenstück zum Barrierefreiheits-Button) */
.cc-reopen{
  position:fixed; left:18px; bottom:18px; z-index:188;
  background:var(--c-navy-900); color:#fff; border:0; border-radius:var(--radius-pill);
  padding:.5em .9em; font-size:var(--fs-xs); font-weight:var(--fw-semibold); cursor:pointer;
  box-shadow:var(--shadow); display:none; align-items:center; gap:.4em;
}
.cc-reopen[data-show="true"]{ display:inline-flex; }
@media (max-width:560px){ .cc-reopen{ left:12px; bottom:12px; } }

/* Platzhalter für noch nicht eingewilligte externe Einbettungen (z. B. Terminbuchung) */
.embed-placeholder{
  border:1.5px dashed var(--c-border); border-radius:var(--radius-sm);
  background:var(--c-bg-alt); text-align:center;
  padding:clamp(1.5rem,4vw,2.5rem); margin-top:var(--sp-5);
}
.embed-placeholder__icon{ font-size:2rem; line-height:1; margin-bottom:var(--sp-3); }
.embed-placeholder__text{ color:var(--c-text-muted); max-width:46ch; margin:0 auto var(--sp-4); }
/* HubSpot-Meetings-Container: iframe wird vom Loader nach Einwilligung eingefügt */
.meetings-iframe-container{ margin-top:var(--sp-5); }
.meetings-iframe-container iframe{ width:100%; border:0; }
