/* Consiente 0.1.0 — estilos del banner y panel */
#consiente-root{--cs-primary:#1e293b;--cs-bg:#fff;--cs-text:#1d1d1d;--cs-radius:10px;font-family:inherit;font-size:15px;line-height:1.5;color:var(--cs-text)}
#consiente-root[hidden],#consiente-root [hidden]{display:none!important}
#consiente-root *{box-sizing:border-box}

.cs-banner,.cs-panel{position:fixed;z-index:2147483000;background:var(--cs-bg);color:var(--cs-text);box-shadow:0 8px 32px rgba(0,0,0,.18)}
.cs-title{margin:0 0 .35em;font-weight:700;font-size:1.05em}
.cs-msg{margin:0 0 1em}
.cs-msg a{color:var(--cs-primary);text-decoration:underline}

/* Barra inferior */
.cs-pos-bar .cs-banner{left:0;right:0;bottom:0;padding:18px 20px;border-top:3px solid var(--cs-primary)}
@media (min-width:900px){
	.cs-pos-bar .cs-banner{display:grid;grid-template-columns:1fr auto;gap:0 32px;align-items:center;padding:18px 32px}
	.cs-pos-bar .cs-banner .cs-title{grid-column:1}
	.cs-pos-bar .cs-banner .cs-msg{grid-column:1;margin:0}
	.cs-pos-bar .cs-banner .cs-actions{grid-column:2;grid-row:1 / span 2}
}

/* Caja inferior izquierda */
.cs-pos-box .cs-banner{left:16px;bottom:16px;max-width:420px;width:calc(100% - 32px);padding:20px;border-radius:var(--cs-radius)}

/* Modal centrado */
.cs-pos-center .cs-banner{left:50%;top:50%;transform:translate(-50%,-50%);max-width:520px;width:calc(100% - 32px);padding:24px;border-radius:var(--cs-radius)}

/* Botones: Aceptar y Rechazar con el mismo peso visual, a propósito. */
.cs-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.cs-btn{appearance:none;border:2px solid var(--cs-primary);background:var(--cs-primary);color:#fff;font:inherit;font-weight:600;padding:9px 18px;border-radius:6px;cursor:pointer;line-height:1.2}
.cs-btn:hover{filter:brightness(1.15)}
.cs-btn-link{background:transparent;color:var(--cs-primary)}
.cs-btn:focus-visible,.cs-close:focus-visible,.cs-float:focus-visible,.cs-switch input:focus-visible+span{outline:3px solid var(--cs-primary);outline-offset:2px}
@media (max-width:520px){.cs-actions .cs-btn{flex:1 1 100%}}

/* Panel de preferencias */
.cs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2147482999}
.cs-panel{left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:560px;max-height:calc(100vh - 32px);overflow:auto;padding:22px;border-radius:var(--cs-radius)}
.cs-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cs-close{appearance:none;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:inherit;padding:0 4px}
.cs-cats{margin:8px 0 14px}
.cs-cat{border-top:1px solid rgba(0,0,0,.1);padding:12px 0}
.cs-cat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cs-cat-name{font-weight:600}
.cs-cat-desc{margin:.3em 0 0;font-size:.9em;opacity:.85}
.cs-always{font-size:.85em;font-weight:600;color:var(--cs-primary)}
.cs-id{font-size:.8em;opacity:.75;margin:0 0 12px;word-break:break-all}

/* Interruptor */
.cs-switch{position:relative;display:inline-block;width:44px;height:24px;flex:none}
.cs-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.cs-switch span{position:absolute;inset:0;background:#c4c4c4;border-radius:24px;transition:background .2s}
.cs-switch span::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}
.cs-switch input:checked+span{background:var(--cs-primary)}
.cs-switch input:checked+span::before{transform:translateX(20px)}

/* Botón flotante para cambiar la decisión */
.cs-float{position:fixed;left:16px;bottom:16px;z-index:2147482998;width:44px;height:44px;border-radius:50%;border:0;background:var(--cs-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.2)}

@media (prefers-reduced-motion:reduce){.cs-switch span,.cs-switch span::before{transition:none}}
@media print{#consiente-root{display:none!important}}
