/* Cookie-Consent – Ortenau Film & Video. Farben oben anpassen. */
.omc-root, .omc-gate, .omc-float{
  --omc-bg:#0D2038; --omc-bg-2:#001226; --omc-border:#2A4066; --omc-text:#FFFFFF; --omc-text-2:rgba(255,255,255,.72);
  --omc-primary:#2B63E8; --omc-primary-hover:#1F52CF; --omc-ghost:#16294A; --omc-success:#3DDC4A;
  --omc-font:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-family:var(--omc-font); color:var(--omc-text); line-height:1.45; -webkit-font-smoothing:antialiased;
}
.omc-root *, .omc-gate *{box-sizing:border-box}

/* Banner unten mittig – blockiert die Seite nicht */
.omc-root{position:fixed; inset:auto 0 0 0; z-index:2147483000; display:flex; justify-content:center; padding:16px; pointer-events:none}
.omc-root[data-view="settings"]{inset:0; align-items:center; background:rgba(0,10,25,.6); pointer-events:auto; backdrop-filter:blur(2px)}
.omc-card{pointer-events:auto; width:100%; max-width:760px; max-height:calc(100vh - 32px); overflow:auto; background:var(--omc-bg);
  border:1px solid var(--omc-border); border-radius:20px; padding:24px 26px 18px; box-shadow:0 20px 60px rgba(0,0,0,.45);
  animation:omcIn .3s ease}
.omc-root[data-view="settings"] .omc-card{max-width:620px}
@keyframes omcIn{from{opacity:0; transform:translateY(16px)}to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){.omc-card{animation:none}}

.omc-card h2{margin:0 0 8px; font-size:20px; font-weight:800; line-height:1.25; color:var(--omc-text)}
.omc-text{margin:0 0 18px; font-size:14px; color:var(--omc-text-2)}

/* Buttons – "Alle akzeptieren" und "Nur notwendige" bewusst gleichwertig */
.omc-actions{display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end}
.omc-btn{appearance:none; border:1px solid transparent; border-radius:999px; padding:12px 20px; font:600 14px/1 var(--omc-font);
  color:#fff; background:var(--omc-primary); cursor:pointer; transition:background .15s, transform .1s; white-space:nowrap}
.omc-btn:hover{background:var(--omc-primary-hover)}
.omc-btn:active{transform:scale(.98)}
.omc-btn.omc-ghost{background:var(--omc-ghost); color:var(--omc-text-2); font-weight:500; margin-right:auto}
.omc-btn.omc-ghost + .omc-ghost{margin-right:0}
.omc-btn.omc-ghost:hover{background:#1d3560; color:#fff}
.omc-card:focus{outline:none}
.omc-btn:focus-visible, .omc-card a:focus-visible, .omc-switch input:focus-visible + span, .omc-card summary:focus-visible, .omc-float:focus-visible{
  outline:2px solid #fff; outline-offset:2px}

.omc-links{display:flex; gap:8px; justify-content:center; margin-top:14px; font-size:12px; color:var(--omc-text-2)}
.omc-links a, .omc-cat a, .omc-gate a{color:var(--omc-text-2); text-decoration:underline}
.omc-links a:hover, .omc-cat a:hover, .omc-gate a:hover{color:#fff}

/* Einstellungen */
.omc-cats{display:flex; flex-direction:column; gap:10px; margin-bottom:18px}
.omc-cat{background:var(--omc-bg-2); border:1px solid var(--omc-border); border-radius:14px; padding:14px 16px}
.omc-cat-head{display:flex; gap:16px; align-items:flex-start; justify-content:space-between}
.omc-cat-head b{font-size:15px}
.omc-cat-head p{margin:4px 0 0; font-size:13px; color:var(--omc-text-2)}
.omc-always{flex:none; font-size:12px; font-weight:600; color:var(--omc-success); padding-top:2px}
.omc-cat details{margin-top:10px; font-size:13px}
.omc-cat summary{cursor:pointer; color:var(--omc-text-2); font-weight:500}
.omc-cat ul{margin:8px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px}
.omc-cat li{padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.04)}
.omc-cat small{color:var(--omc-text-2)}

/* Schalter */
.omc-switch{position:relative; flex:none; width:46px; height:26px; cursor:pointer}
.omc-switch input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer}
.omc-switch span{position:absolute; inset:0; border-radius:999px; background:var(--omc-ghost); border:1px solid var(--omc-border); transition:.2s}
.omc-switch span::after{content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s}
.omc-switch input:checked + span{background:var(--omc-primary); border-color:var(--omc-primary)}
.omc-switch input:checked + span::after{transform:translateX(20px)}

/* Video-Abfrage */
.omc-gate{position:fixed; inset:0; z-index:2147483001; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(0,10,25,.7)}
.omc-gate-card{width:100%; max-width:540px; background:var(--omc-bg); border:1px solid var(--omc-border); border-radius:20px; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.5); animation:omcIn .25s ease}
.omc-gate h2{margin:0 0 8px; font-size:18px; font-weight:800}
.omc-gate p{margin:0 0 18px; font-size:14px; color:var(--omc-text-2)}

/* Button zum erneuten Öffnen */
.omc-float{position:fixed; left:16px; bottom:16px; z-index:2147482999; width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center; padding:0; cursor:pointer; background:var(--omc-bg); color:var(--omc-text);
  border:1px solid var(--omc-border); box-shadow:0 6px 20px rgba(0,0,0,.35); opacity:.85; transition:opacity .15s, transform .15s}
.omc-float:hover{opacity:1; transform:scale(1.06)}
.omc-float svg{width:22px; height:22px}
.omc-float[hidden]{display:none}

/* Mobil */
@media (max-width:600px){
  .omc-root{padding:10px}
  .omc-card{padding:20px 18px 14px; border-radius:18px}
  .omc-card h2{font-size:18px}
  .omc-text{font-size:13px}
  .omc-actions{flex-direction:column-reverse; align-items:stretch}
  .omc-btn{width:100%; padding:13px 16px}
  .omc-btn.omc-ghost{margin-right:0}
  .omc-root[data-view="settings"]{align-items:flex-end}
}
