/* Cookie Banner */
.cookie-banner{position:fixed;bottom:1.25rem;left:1.25rem;right:1.25rem;max-width:440px;background:rgba(255,253,249,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0.5px solid rgba(15,15,13,.12);border-radius:6px;padding:1.5rem 1.5rem 1.25rem;z-index:1000;box-shadow:0 24px 60px rgba(0,0,0,.12),0 0 0 1px rgba(200,0,255,.04);font-family:'DM Sans',sans-serif;transform:translateY(140%);opacity:0;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .4s ease}
.cookie-banner.show{transform:translateY(0);opacity:1}
.cookie-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#c800ff,#0099ff);border-radius:6px 6px 0 0;animation:ccShimmer 3s linear infinite;background-size:200% 100%}
@keyframes ccShimmer{0%{background-position:0 0}100%{background-position:200% 0}}
.cookie-banner .cc-tag{font-size:.6rem;letter-spacing:.22em;color:#7a7872;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.cookie-banner .cc-dot{width:5px;height:5px;border-radius:50%;background:#c800ff;box-shadow:0 0 8px #c800ff;animation:ccBeat 1.4s ease-in-out infinite}
@keyframes ccBeat{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.5}}
.cookie-banner h4{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.02em;margin-bottom:.5rem;color:#0f0f0d}
.cookie-banner p{font-size:.82rem;color:#3a3a36;line-height:1.55;margin-bottom:1rem}
.cookie-banner a{color:#c800ff;text-decoration:none;border-bottom:0.5px solid rgba(200,0,255,.3)}
.cookie-banner .cc-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-banner button{font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1.1rem;border-radius:2px;cursor:pointer;border:none;transition:transform .2s,box-shadow .25s,background .2s;font-weight:500}
.cc-accept{background:#c800ff;color:#fff;flex:1;min-width:120px}
.cc-accept:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(200,0,255,.3)}
.cc-essential{background:transparent;color:#0f0f0d;border:0.5px solid rgba(15,15,13,.15) !important}
.cc-essential:hover{background:rgba(15,15,13,.04)}
.cc-settings{background:transparent;color:#7a7872;padding:.7rem .5rem !important}
.cc-settings:hover{color:#0f0f0d}

/* Settings modal */
.cc-modal{position:fixed;inset:0;background:rgba(15,15,13,.5);backdrop-filter:blur(6px);z-index:1001;display:none;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s}
.cc-modal.show{display:flex;opacity:1}
.cc-modal-inner{background:#faf8f4;border-radius:6px;max-width:500px;width:100%;padding:2rem;max-height:85vh;overflow-y:auto;border:0.5px solid rgba(15,15,13,.1)}
.cc-modal h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.02em;margin-bottom:1.25rem}
.cc-row{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-top:0.5px solid rgba(15,15,13,.08);gap:1rem}
.cc-row:first-of-type{border-top:none}
.cc-row-text{flex:1}
.cc-row-text strong{display:block;font-size:.9rem;margin-bottom:.2rem;color:#0f0f0d}
.cc-row-text span{font-size:.78rem;color:#7a7872;line-height:1.5}
.cc-toggle{position:relative;width:40px;height:22px;flex-shrink:0;margin-top:.2rem}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-slider{position:absolute;inset:0;background:rgba(15,15,13,.15);border-radius:22px;cursor:pointer;transition:background .25s}
.cc-slider::before{content:'';position:absolute;left:2px;top:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cc-toggle input:checked + .cc-slider{background:#c800ff}
.cc-toggle input:checked + .cc-slider::before{transform:translateX(18px)}
.cc-toggle input:disabled + .cc-slider{opacity:.5;cursor:not-allowed}
.cc-modal-actions{display:flex;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}
.cc-modal-actions button{flex:1;min-width:120px}

@media(max-width:500px){
  .cookie-banner{left:.75rem;right:.75rem;bottom:.75rem;padding:1.25rem}
}
