/* Einwilligungsbanner Rechner (eigenes, schlankes Banner).
   Gestaltungsregel: "Alle ablehnen" und "Alle akzeptieren" sind gleich gross, gleich
   gewichtet, auf einer Ebene und mit gleichem Kontrast (EDSA/DSK: Ablehnen darf nicht
   schwerer sein als Zustimmen, sonst ist die Einwilligung unwirksam). */
#ft-cc{
  position:fixed;left:16px;right:16px;bottom:16px;max-width:780px;margin:0 auto;z-index:2147483000;
  background:#0F2233;color:#fff;border-radius:16px;padding:20px 22px 18px;
  box-shadow:0 12px 40px rgba(8,18,30,.45);max-height:calc(100vh - 32px);overflow-y:auto;
  font:400 14.5px/1.5 "DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
#ft-cc[hidden]{display:none}
#ft-cc *{box-sizing:border-box}
#ft-cc h2{margin:0 0 6px;font-family:inherit;font-weight:700;font-size:17px;line-height:1.3;color:#fff}
#ft-cc p{margin:0 0 14px;color:#D5DEE6}
#ft-cc a{color:#fff;text-decoration:underline;text-underline-offset:2px}
#ft-cc a:focus-visible,#ft-cc button:focus-visible,#ft-cc input:focus-visible{outline:3px solid #F29100;outline-offset:2px}
.ft-cc-btns{display:flex;gap:10px}
.ft-cc-btns button{
  flex:1 1 0;min-height:48px;padding:12px 14px;border-radius:12px;border:2px solid transparent;
  font-family:inherit;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;
}
/* Ablehnen und Akzeptieren: beide gefuellt, gleiche Groesse und gleicher Kontrast */
.ft-cc-no{background:#fff;color:#0F2233}
.ft-cc-yes{background:#F29100;color:#0F2233}
.ft-cc-no:hover{background:#E9F0F5}
.ft-cc-yes:hover{background:#FFA51F}
/* Einstellungen: keine Entscheidung, deshalb als Umrissknopf */
.ft-cc-btns .ft-cc-set{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.ft-cc-btns .ft-cc-set:hover{border-color:#fff}
.ft-cc-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.ft-cc-row:first-of-type{border-top:0}
.ft-cc-row b{display:block;font-weight:700;color:#fff}
.ft-cc-row span{display:block;color:#C3CEDA;font-size:13.5px}
.ft-cc-row input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:#F29100}
.ft-cc-sw{margin:4px 0 16px}
@media (max-width:620px){
  #ft-cc{left:10px;right:10px;bottom:10px;padding:18px 16px 14px}
  .ft-cc-btns{flex-direction:column}
}
@media (prefers-reduced-motion:no-preference){
  #ft-cc{animation:ftccin .25s ease-out}
  @keyframes ftccin{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
}
