/* Consenta Cookie Consent v1 */
.cc-hidden{display:none!important}
#cc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9998;background:#0B1220;color:#E6ECF5;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:20px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;max-width:1120px;margin:0 auto}
#cc-banner h3{margin:0 0 8px;font-size:16px;font-weight:700;color:#fff}
#cc-banner p{margin:0 0 14px;font-size:14px;color:#B7C2D3}
#cc-banner p a{color:#5B8CFF;text-decoration:underline}
.cc-actions{display:flex;flex-wrap:nowrap;gap:6px;justify-content:stretch;align-items:stretch}
.cc-actions .cc-btn{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;padding:10px 8px;font-size:13px}
/* On mobile, unify the "Solo necesarias" ghost button with the secondary style */
@media (max-width:719px){
  #cc-banner .cc-actions .cc-btn-ghost{background:rgba(255,255,255,.08);color:#fff}
  #cc-banner .cc-actions .cc-btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}
}
.cc-btn{border:0;cursor:pointer;font-family:inherit;font-weight:600;font-size:14px;padding:10px 16px;border-radius:10px;transition:transform .15s ease,background .15s ease,opacity .15s ease}
/* Hide floating demo CTA while cookie banner is visible to avoid overlap */
body:has(#cc-banner) #floatingDemoCTA{display:none!important}
.cc-btn:active{transform:translateY(1px)}
.cc-btn-primary{background:#2563EB;color:#fff}
.cc-btn-primary:hover{background:#1E4FCC}
.cc-btn-secondary{background:rgba(255,255,255,.08);color:#fff}
.cc-btn-secondary:hover{background:rgba(255,255,255,.14)}
.cc-btn-ghost{background:transparent;color:#B7C2D3}
.cc-btn-ghost:hover{color:#fff}
@media (min-width:720px){
  #cc-banner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 26px}
  #cc-banner .cc-copy{max-width:640px}
  #cc-banner p{margin-bottom:0}
  .cc-actions{flex-wrap:nowrap}
  .cc-actions .cc-btn{flex:0 0 auto;padding:10px 16px;font-size:14px}
}
/* Modal */
#cc-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,10,20,.65);backdrop-filter:blur(4px);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.cc-modal-card{background:#fff;color:#101E33;width:100%;max-width:640px;max-height:90vh;overflow:auto;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.cc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E6EAF0}
.cc-modal-head h3{margin:0;font-size:18px;font-weight:700;color:#0B1220}
.cc-close{background:transparent;border:0;font-size:24px;line-height:1;cursor:pointer;color:#64748B;padding:4px 8px;border-radius:8px}
.cc-close:hover{background:#F1F5F9;color:#0B1220}
.cc-modal-body{padding:8px 24px 4px}
.cc-intro{font-size:14px;color:#475569;margin:12px 0 20px}
.cc-cat{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid #EEF2F7}
.cc-cat:last-of-type{border-bottom:0}
.cc-cat-info{flex:1;min-width:0}
.cc-cat-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#0B1220}
.cc-cat-desc{margin:0;font-size:13px;color:#64748B;line-height:1.5}
.cc-cat-always{font-size:12px;font-weight:600;color:#2563EB;white-space:nowrap;padding-top:2px}
/* Switch */
.cc-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.cc-switch input{opacity:0;width:0;height:0}
.cc-slider{position:absolute;cursor:pointer;inset:0;background:#CBD5E1;border-radius:24px;transition:.2s}
.cc-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cc-switch input:checked + .cc-slider{background:#2563EB}
.cc-switch input:checked + .cc-slider:before{transform:translateX(20px)}
.cc-switch input:disabled + .cc-slider{background:#93C5FD;cursor:not-allowed;opacity:.7}
.cc-modal-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 24px 20px;border-top:1px solid #E6EAF0;background:#FAFBFC;border-radius:0 0 18px 18px;position:sticky;bottom:0}
.cc-modal-foot .cc-btn-secondary{background:#E2E8F0;color:#0B1220}
.cc-modal-foot .cc-btn-secondary:hover{background:#CBD5E1}
