/* A-743: zentrales Cookie-Consent-Banner fuer alle oeffentlichen Shop-Seiten.
   Ersetzt die bisherige pro-Seite-Kopie (siehe cookie_consent.js). */

.fek-cc-overlay{
  position:fixed;inset:0;z-index:9998;
  background:rgba(25,24,23,.32);
  animation:fek-cc-fade .2s ease-out;
}
[data-theme="dark"] .fek-cc-overlay{background:rgba(0,0,0,.55)}
@media (prefers-color-scheme: dark){
  .fek-cc-overlay{background:rgba(0,0,0,.55)}
}
@keyframes fek-cc-fade{from{opacity:0}to{opacity:1}}

.fek-cc-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  display:flex;justify-content:center;
  padding:0 16px 16px;
  animation:fek-cc-up .25s ease-out;
}
@keyframes fek-cc-up{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}

.fek-cc-card{
  position:relative;
  width:100%;max-width:640px;
  background:var(--bg-card,#fff);
  border:2px solid var(--accent,#22B422);
  border-radius:20px;
  box-shadow:0 8px 32px rgba(25,24,23,.22);
  padding:20px 22px 18px 92px;
  overflow:visible;
}
@media (max-width:520px){
  .fek-cc-card{padding:18px 16px 16px 16px}
  .fek-cc-mascot{position:static;margin:0 auto 8px;display:block}
}

/* Kruemel-Deko: ein paar unregelmaessige runde "Kruemel" oben am Rand der Karte */
.fek-cc-card::before,
.fek-cc-card::after{
  content:'';position:absolute;border-radius:50%;
  background:var(--accent,#22B422);opacity:.35;
}
.fek-cc-card::before{width:10px;height:10px;top:-6px;left:38%}
.fek-cc-card::after{width:6px;height:6px;top:-4px;left:52%}

.fek-cc-mascot{
  position:absolute;left:14px;bottom:16px;
  width:72px;height:72px;
  border-radius:50%;
  box-shadow:0 2px 10px rgba(25,24,23,.18);
  background:#fff;
}

.fek-cc-title{
  font-size:16px;font-weight:800;color:var(--text,#191817);
  margin:0 0 6px;display:flex;align-items:center;gap:6px;
}
.fek-cc-text{
  font-size:13.5px;line-height:1.55;color:var(--text-muted,#7A756F);margin:0 0 14px;
}
.fek-cc-text a{color:var(--accent,#22B422);text-decoration:underline;font-weight:600}

.fek-cc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fek-cc-actions button{
  min-height:46px;padding:11px 20px;border-radius:12px;
  font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;
  border:2px solid var(--accent,#22B422);
  transition:transform .12s ease;
}
.fek-cc-actions button:active{transform:scale(.97)}
.fek-cc-accept{background:var(--accent,#22B422);color:#fff}
.fek-cc-reject{background:var(--bg-card,#fff);color:var(--text,#191817)}
.fek-cc-settings-open{
  background:none;border:none;color:var(--text-muted,#7A756F);
  text-decoration:underline;font-weight:600;font-size:13px;
  min-height:auto;padding:8px 4px;cursor:pointer;
}

/* Einstellungen-Modal (Kategorien) */
.fek-cc-modal{
  position:fixed;z-index:10000;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  animation:fek-cc-fade .2s ease-out;
}
.fek-cc-modal-box{
  width:100%;max-width:480px;max-height:85vh;overflow-y:auto;
  background:var(--bg-card,#fff);border-radius:20px;
  padding:22px 22px 18px;box-shadow:0 12px 40px rgba(25,24,23,.3);
}
.fek-cc-modal-title{font-size:16px;font-weight:800;color:var(--text,#191817);margin:0 0 4px;display:flex;align-items:center;gap:6px}
.fek-cc-modal-sub{font-size:12.5px;color:var(--text-muted,#7A756F);margin:0 0 16px}
.fek-cc-cat{
  display:flex;align-items:flex-start;gap:12px;justify-content:space-between;
  padding:12px 0;border-bottom:1px solid var(--border,#E4E1DC);
}
.fek-cc-cat:last-of-type{border-bottom:none}
.fek-cc-cat-info{flex:1}
.fek-cc-cat-name{font-size:13.5px;font-weight:700;color:var(--text,#191817);margin:0 0 3px}
.fek-cc-cat-desc{font-size:12px;color:var(--text-muted,#7A756F);margin:0;line-height:1.4}

.fek-cc-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;margin-top:2px}
.fek-cc-switch input{opacity:0;width:0;height:0}
.fek-cc-switch .fek-cc-slider{
  position:absolute;inset:0;background:var(--border,#E4E1DC);border-radius:24px;cursor:pointer;transition:.15s;
}
.fek-cc-switch .fek-cc-slider::before{
  content:'';position:absolute;height:18px;width:18px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.fek-cc-switch input:checked + .fek-cc-slider{background:var(--accent,#22B422)}
.fek-cc-switch input:checked + .fek-cc-slider::before{transform:translateX(18px)}
.fek-cc-switch input:disabled + .fek-cc-slider{opacity:.6;cursor:not-allowed}

.fek-cc-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.fek-cc-modal-actions button{
  min-height:44px;padding:10px 18px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;
  border:2px solid var(--accent,#22B422);
}
.fek-cc-modal-save{background:var(--accent,#22B422);color:#fff}
.fek-cc-modal-cancel{background:var(--bg-card,#fff);color:var(--text,#191817)}
.fek-cc-modal-links{margin-top:14px;font-size:12px;color:var(--text-muted,#7A756F)}
.fek-cc-modal-links a{color:var(--accent,#22B422);text-decoration:underline;margin-right:12px}

/* Footer-Link (bestehende Konvention: .cookie-settings-link, per JS an window.openCookieBanner gebunden) */
.cookie-settings-link{color:var(--text-muted,#7A756F);text-decoration:underline;cursor:pointer;background:none;border:none;font-size:inherit;padding:0;font-family:inherit}
