/* ══════════════════════════════════
   SottMedia Cookie-System – sm-cookie.css
   Einbinden auf allen Seiten im <head>
══════════════════════════════════ */

#sm-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(20,32,58,.65);
  backdrop-filter:blur(5px);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
#sm-overlay.visible{opacity:1;pointer-events:all}

#sm-box{
  background:#fff;border-radius:18px;
  box-shadow:0 24px 80px rgba(20,32,58,.3);
  width:min(620px,calc(100vw - 2rem));
  max-height:90vh;overflow-y:auto;
  scrollbar-width:none;
  transform:scale(.94) translateY(16px);
  transition:transform .32s cubic-bezier(.34,1.4,.64,1);
  font-family:'Raleway',system-ui,sans-serif;
}
#sm-overlay.visible #sm-box{transform:scale(1) translateY(0)}
#sm-box::-webkit-scrollbar{display:none}

.cb-head{padding:1.8rem 2rem 0;display:flex;align-items:flex-start;gap:1rem}
.cb-logo{width:40px;height:40px;min-width:40px;background:#e8f0f8;border-radius:10px;display:flex;align-items:center;justify-content:center}
.cb-logo svg{width:20px;height:20px;stroke:#223059;fill:none;stroke-width:2}
.cb-head-text h2{font-size:1.15rem;font-weight:800;color:#223059;margin:0 0 .3rem;line-height:1.2}
.cb-head-text p{font-size:.85rem;color:#4a5a72;line-height:1.65;margin:0}
.cb-head-text a{color:#223059;font-weight:600;text-decoration:underline}

.cb-body{padding:1.4rem 2rem}
.cb-cat{background:#f5f8fc;border:1.5px solid #dce8f4;border-radius:12px;padding:1.1rem 1.3rem;margin-bottom:.8rem}
.cb-cat:last-child{margin-bottom:0}
.cb-cat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;user-select:none}
.cb-cat-left{display:flex;align-items:center;gap:.7rem;flex-shrink:1;min-width:0}
.cb-cat-info{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}
.cb-cat-icon{width:32px;height:32px;border-radius:8px;background:#e8f0f8;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cb-cat-icon svg{width:15px;height:15px;stroke:#223059;fill:none;stroke-width:2}
.cb-cat-name{font-weight:800;font-size:.9rem;color:#223059;flex-shrink:0;padding:0px 5px}
.cb-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .55rem;border-radius:4px;background:#dce8f4;color:#4a6590;white-space:nowrap}
.cb-badge.required{background:rgba(34,197,94,.12);color:#15803d}
.cb-right{display:flex;align-items:center;gap:.8rem}
.cb-chevron{width:16px;height:16px;stroke:#8a97a8;fill:none;stroke-width:2;transition:transform .2s;flex-shrink:0}
.cb-cat-head.open .cb-chevron{transform:rotate(180deg)}

.sm-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.sm-toggle input{opacity:0;width:0;height:0;position:absolute}
.sm-track{position:absolute;inset:0;border-radius:100px;background:#cbd5e1;cursor:pointer;transition:background .22s}
.sm-toggle input:checked+.sm-track{background:#223059}
.sm-toggle input:disabled+.sm-track{background:#93c5fd;cursor:not-allowed;opacity:.65}
.sm-track::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .22s cubic-bezier(.34,1.2,.64,1)}
.sm-toggle input:checked+.sm-track::after{transform:translateX(20px)}

.cb-desc{font-size:.83rem;color:#556070;line-height:1.65;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #dce8f4;display:none}
.cb-desc.open{display:block}
.cb-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}
.cb-chip{background:#fff;border:1px solid #b0cce4;border-radius:6px;padding:.22rem .65rem;font-size:.75rem;font-weight:600;color:#4a5a72}

.cb-foot{padding:1.1rem 2rem 1.6rem;display:flex;flex-direction:row;gap:.6rem;flex-wrap:wrap;border-top:1px solid #e8f0f8;justify-content:flex-end;align-items:center}
.cb-btn{font-family:'Raleway',system-ui,sans-serif;font-weight:700;font-size:.85rem;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s;border:none;letter-spacing:.03em}
.cb-decline{background:#e8f0f8;color:#4a5a72}
.cb-decline:hover{background:#dce8f4;color:#223059}
.cb-custom{background:#e8f0f8;color:#223059;border:1.5px solid #b0cce4}
.cb-custom:hover{background:#dce8f4}
.cb-accept{background:#223059;color:#fff}
.cb-accept:hover{background:#364d80;transform:translateY(-1px)}

.cb-powered{text-align:center;padding-bottom:1.2rem;font-size:.72rem;color:#aab4c0}
.cb-powered a{color:inherit}

#sm-reopen{position:fixed;bottom:2rem;left:1.5rem;z-index:8000;background:#223059;color:#fff;border:none;width:48px;height:48px;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(34,48,89,.3);transition:opacity .35s ease,transform .35s ease,background .2s}
#sm-reopen:hover{background:#364d80;transform:translateY(-2px)}
#sm-reopen svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
#sm-reopen.show{display:flex;opacity:1;transform:translateY(0)}
#sm-reopen.show.near-footer{opacity:0;transform:translateY(6px);pointer-events:none}

/* Blocked-Placeholder */
.sm-blocked{border-radius:12px;padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.sm-blocked.light{background:#f0f4f9;border:2px dashed #b0cce4}
.sm-blocked.dark{background:#1a1a1a;border:2px dashed #333}
.sm-blocked svg{width:38px;height:38px;opacity:.38}
.sm-blocked.light svg{stroke:#556070;fill:none;stroke-width:1.5}
.sm-blocked.dark svg{stroke:#888;fill:none;stroke-width:1.5}
.sm-blocked strong{font-size:.98rem}
.sm-blocked.light strong{color:#223059}
.sm-blocked.dark strong{color:#ccc}
.sm-blocked p{font-size:.88rem;line-height:1.6;max-width:400px;margin:0}
.sm-blocked.light p{color:#556070}
.sm-blocked.dark p{color:#888}
.sm-allow-btn{border:none;padding:.65rem 1.4rem;border-radius:7px;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'Raleway',system-ui,sans-serif}
.sm-blocked.light .sm-allow-btn{background:#223059;color:#fff}
.sm-blocked.light .sm-allow-btn:hover{background:#364d80}
.sm-blocked.dark .sm-allow-btn{background:#364d80;color:#fff}
.sm-blocked.dark .sm-allow-btn:hover{background:#223059}
.sm-iframe-wrap{border-radius:12px;overflow:hidden;display:none}
.sm-iframe-wrap iframe{display:block;width:100%;border:0}

@media(max-width:700px){
  .cb-foot{
    padding:.9rem 1.4rem 1.4rem;
    flex-direction:column;
    align-items:stretch;
    gap:.5rem
  }
  .cb-btn{
    width:100%;
    text-align:center;
    padding:.75rem 1rem;
    font-size:.84rem
  }
}
@media(max-width:480px){
  #sm-box{
    width:calc(100vw - 1.5rem);
    border-radius:14px;
  }
  .cb-head{padding:1.2rem 1.1rem 0;gap:.75rem}
  .cb-logo{width:34px;height:34px;min-width:34px}
  .cb-head-text h2{font-size:1rem}
  .cb-head-text p{font-size:.8rem}
  .cb-body{padding:.9rem 1.1rem}
  .cb-cat{padding:.85rem 1rem}
  .cb-cat-name{font-size:.85rem}
  .cb-badge{font-size:.62rem;padding:.14rem .42rem}
}
@media(max-width:360px){
  .cb-head-text h2{font-size:.92rem}
  .cb-head-text p{font-size:.76rem;line-height:1.55}
  .cb-cat-name{font-size:.8rem}
  .cb-cat-icon{width:26px;height:26px}
  .cb-badge{font-size:.58rem}
  .cb-body{padding:.75rem .9rem}
  .cb-cat{padding:.7rem .85rem}
}
