/* Banner de consentimiento de cookies, compartido por las páginas públicas.
   Usa las variables --tinta/--naranja/--linea/--papel/--gris-osc que cada
   una de esas páginas ya define en su propio :root. */

.nx-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:3000;
  background:var(--papel);border-top:1px solid var(--linea);
  box-shadow:0 -8px 30px rgba(17,17,17,.12);
  padding:22px 24px;display:none;
}
.nx-cookie-banner.open{display:block;}
.nx-cookie-inner{
  max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.nx-cookie-texto{flex:1 1 380px;font-size:14px;color:var(--gris-osc);line-height:1.55;margin:0;}
.nx-cookie-texto a{color:var(--naranja);}
.nx-cookie-botones{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto;}
.nx-cookie-btn{
  font-family:'Sora',sans-serif;font-weight:700;font-size:13.5px;padding:11px 18px;
  border-radius:8px;cursor:pointer;white-space:nowrap;border:1.5px solid var(--linea);
  background:var(--papel);color:var(--tinta);
}
.nx-cookie-btn:hover{border-color:var(--tinta);}
.nx-cookie-btn-primary{background:var(--naranja);border-color:var(--naranja);color:#fff;}
.nx-cookie-btn-primary:hover{border-color:var(--naranja);opacity:.92;}

/* Panel de configuración */
.nx-cookie-overlay{
  display:none;position:fixed;inset:0;background:rgba(22,24,29,.72);z-index:3100;
  align-items:center;justify-content:center;padding:20px;
}
.nx-cookie-overlay.open{display:flex;}
.nx-cookie-panel{
  background:var(--papel);border-radius:16px;padding:36px;max-width:460px;width:100%;
  box-shadow:0 24px 60px -20px rgba(17,17,17,.35);
}
.nx-cookie-panel h3{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;color:var(--tinta);margin-bottom:10px;}
.nx-cookie-panel > p{font-size:13.5px;color:var(--gris-osc);margin-bottom:20px;line-height:1.55;}
.nx-cookie-cat{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;border-top:1px solid var(--linea);}
.nx-cookie-cat:last-of-type{border-bottom:1px solid var(--linea);margin-bottom:24px;}
.nx-cookie-cat-info h4{font-size:14.5px;color:var(--tinta);margin-bottom:4px;}
.nx-cookie-cat-info p{font-size:12.5px;color:var(--gris-osc);margin:0;}
.nx-cookie-switch{position:relative;flex:none;width:44px;height:24px;display:block;}
.nx-cookie-switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;cursor:pointer;z-index:1;}
.nx-cookie-switch .track{position:absolute;inset:0;background:var(--linea);border-radius:999px;transition:background .15s;pointer-events:none;}
.nx-cookie-switch .thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none;}
.nx-cookie-switch input:checked ~ .track{background:var(--naranja);}
.nx-cookie-switch input:checked ~ .thumb{transform:translateX(20px);}
.nx-cookie-switch input:disabled ~ .track{background:var(--gris);opacity:.5;}
.nx-cookie-switch input:disabled{cursor:not-allowed;}
.nx-cookie-panel-botones{display:flex;gap:10px;}
.nx-cookie-panel-botones .nx-cookie-btn{flex:1;text-align:center;}

/* Botón flotante para reabrir preferencias una vez ya se ha decidido */
.nx-cookie-reopen{
  position:fixed;left:18px;bottom:18px;z-index:2900;width:44px;height:44px;border-radius:50%;
  background:var(--tinta);color:#fff;border:none;cursor:pointer;display:none;
  align-items:center;justify-content:center;font-size:19px;box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.nx-cookie-reopen.visible{display:flex;}

@media (max-width:640px){
  .nx-cookie-inner{flex-direction:column;align-items:stretch;}
  .nx-cookie-botones{flex-direction:column;}
  .nx-cookie-btn{width:100%;text-align:center;}
}
