/* ============================================================
   HIC Consent-Layer – eigene Datei
   Farben kommen aus den CSS-Variablen der Seite
   Kompatibel: Chrome, Firefox, Safari, Edge, Opera,
               Samsung Internet, iOS Safari
   ============================================================ */
.hic-consent[hidden] { display: none; }
.hic-consent {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 3000;
  display: block;
  background: rgba(20,52,50,0.45);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.hic-consent-wrap { display: table; width: 100%; height: 100%; }
.hic-consent-cell { display: table-cell; vertical-align: bottom; text-align: center; }
.hic-consent-box {
  display: inline-block;
  width: 100%;
  max-width: 460px;
  margin: 0;
  background: #ffffff;
  color: var(--petrol-dark, #1a4a48);
  border-radius: 12px 12px 0 0;
  box-shadow: 0 -6px 20px rgba(20,50,60,0.22);
  text-align: left;
  vertical-align: bottom;
}
.hic-consent-main { padding: 14px 16px 15px; }
.hic-consent-main h2 {
  font-family: var(--font-body, sans-serif);
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--petrol-dark, #1a4a48);
}
.hic-consent-main p {
  font-size: 0.74rem;
  line-height: 1.45;
  color: var(--text, #333);
  margin: 0 0 7px;
}
.hic-consent-note {
  font-size: 0.69rem;
  line-height: 1.4;
  color: var(--text-light, #666);
  margin: 0 0 4px;
}
.hic-consent-note a { color: var(--petrol, #2d6b6b); }

.hic-consent-actions { margin-top: 10px; font-size: 0; }
.hic-consent-btn {
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 5px;
  padding: 7px 12px;
  border-radius: 40px;
  border: 1px solid var(--petrol-dark, #1a4a48);
  background: var(--petrol-dark, #1a4a48);
  color: #ffffff;
  font-family: var(--font-body, sans-serif);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  z-index: 3001;
  transition: background 0.15s ease;
}
.hic-consent-btn:hover { background: var(--petrol, #2d6b6b); border-color: var(--petrol, #2d6b6b); }
.hic-consent-btn:focus { outline: 2px solid var(--sonnengelb, #f4b942); outline-offset: 2px; }
.hic-consent-btn-settings { background: #ffffff; color: var(--petrol-dark, #1a4a48); }
.hic-consent-btn-settings:hover { background: var(--creme, #f7f4ee); }

@media (min-width: 400px) {
  .hic-consent-actions { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 10px -3px 0; }
  .hic-consent-actions .hic-consent-btn { -webkit-box-flex: 1; -ms-flex: 1 1 30%; flex: 1 1 30%; width: auto; margin: 0 3px 5px; }
}

.hic-consent-settings {
  display: none;
  margin-top: 10px;
  border-top: 1px solid var(--border, #e5e0d8);
  padding-top: 8px;
}
.hic-consent-settings.open { display: block; }
.hic-consent-row { padding: 6px 0; border-bottom: 1px solid var(--border, #e5e0d8); }
.hic-consent-row:after { content: ""; display: table; clear: both; }
.hic-consent-row-text { float: left; width: 78%; }
.hic-consent-row-text strong { display: block; font-size: 0.75rem; color: var(--petrol-dark, #1a4a48); }
.hic-consent-row-text span { display: block; font-size: 0.68rem; line-height: 1.4; color: var(--text-light, #666); }
.hic-consent-switch { float: right; position: relative; width: 36px; height: 20px; margin-top: 2px; }
.hic-consent-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.hic-consent-switch span {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  background: #d5d5d5; border-radius: 20px; cursor: pointer; transition: background 0.18s ease;
}
.hic-consent-switch span:before {
  content: ""; position: absolute; width: 14px; height: 14px; left: 3px; top: 3px;
  background: #ffffff; border-radius: 50%;
  transition: -webkit-transform 0.18s ease; transition: transform 0.18s ease;
}
.hic-consent-switch input:checked + span { background: var(--petrol, #2d6b6b); }
.hic-consent-switch input:checked + span:before {
  -webkit-transform: translateX(16px); -ms-transform: translateX(16px); transform: translateX(16px);
}
.hic-consent-switch input:disabled + span { opacity: 0.6; cursor: not-allowed; }

@media (max-width: 420px) {
  .hic-consent-main { padding: 12px 13px 13px; }
  .hic-consent-row-text { width: 74%; }
}
@media (max-height: 520px) {
  .hic-consent-cell { vertical-align: top; }
  .hic-consent-box { margin: 10px 0; border-radius: 12px; }
}
@media print { .hic-consent { display: none !important; } }
