/* cookie-consent.css — usa tokens de theme-tokens.css (claro/oscuro) */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:9990;background:var(--surface,#fff);color:var(--text,#111);border-top:1px solid var(--border,#d6dbe3);box-shadow:0 -6px 24px rgba(0,0,0,.18);padding:.85rem 1rem}
.cc-banner[hidden],.cc-modal[hidden]{display:none!important}
.cc-banner-inner{max-width:1180px;margin:0 auto;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.cc-banner-text{flex:1 1 420px;margin:0;font-size:.92rem;line-height:1.45}
.cc-banner a,.cc-modal a{color:var(--rtfm,#C41E3A);text-decoration:underline}
html[data-theme="dark"] .cc-banner a,html[data-theme="dark"] .cc-modal a{color:#ff8a9c}
.cc-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cc-btn{min-height:40px;white-space:nowrap}
.cc-btn:focus-visible,.cc-close:focus-visible,.cc-switch input:focus-visible+.cc-slider,.cc-reopen:focus-visible{outline:3px solid var(--rtfm,#C41E3A);outline-offset:2px}
body.cc-has-banner{padding-bottom:var(--cc-pad,120px)}
.cc-modal{position:fixed;inset:0;z-index:9995;display:flex;align-items:center;justify-content:center;padding:1rem}
.cc-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.cc-modal-box{position:relative;background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border,#d6dbe3);border-radius:12px;max-width:560px;width:100%;max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem 1.25rem 1rem;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cc-modal-box:focus{outline:none}
.cc-modal-box h2{margin:0 0 .4rem;font-size:1.2rem;color:var(--text,#111)}
.cc-muted{color:var(--text-muted,#5b6472);font-size:.88rem;margin:.2rem 0 .8rem}
.cc-cat{border:1px solid var(--border,#d6dbe3);border-radius:10px;padding:.7rem .85rem;margin:.55rem 0;background:var(--surface-2,#f8fafc)}
.cc-cat-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.cc-cat-label{font-weight:600;cursor:pointer}
.cc-cat-desc{margin:.3rem 0 0;font-size:.86rem;color:var(--text-muted,#5b6472)}
.cc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto}
.cc-switch input{position:absolute;opacity:0!important;-webkit-appearance:none;appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.cc-switch input:disabled{cursor:not-allowed}
.cc-slider{position:absolute;inset:0;background:#9aa3b2;border-radius:26px;transition:background .15s}
.cc-slider::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s}
.cc-switch input:checked+.cc-slider{background:var(--rtfm,#C41E3A)}
.cc-switch input:checked+.cc-slider::before{transform:translateX(20px)}
.cc-switch input:disabled+.cc-slider{opacity:.65}
.cc-modal-actions{justify-content:flex-end;margin-top:.9rem}
.cc-close{position:absolute;top:.5rem;right:.6rem;background:transparent;border:0;font-size:1.6rem;line-height:1;color:var(--text-muted,#5b6472);cursor:pointer;padding:.2rem .45rem;border-radius:6px}
.cc-none{margin:.55rem 0}
body.cc-modal-open{overflow:hidden}
.cc-table{width:100%;border-collapse:collapse;font-size:.9rem}
.cc-table th,.cc-table td{border-bottom:1px solid var(--border,#d6dbe3);padding:.45rem .5rem;text-align:left;vertical-align:top}
.cc-policy{max-width:920px}
@media (max-width:640px){
  .cc-banner{padding:.75rem}
  .cc-actions{width:100%}
  .cc-actions .cc-btn{flex:1 1 100%}
  body.cc-has-banner{--cc-pad:250px}
  .cc-modal{align-items:flex-end;padding:0}
  .cc-modal-box{border-radius:14px 14px 0 0;max-height:92vh}
  .cc-table thead{display:none}
  .cc-table tr{display:block;border-bottom:1px solid var(--border,#d6dbe3);padding:.4rem 0}
  .cc-table td{display:block;border:0;padding:.15rem .3rem}
}
@media (prefers-reduced-motion:reduce){.cc-slider,.cc-slider::before{transition:none}}
