/* ===== Cookie Consent (vanilla CSS) ===== */
:root {
  --cc-bg:#0b1220; --cc-txt:#e6eef8; --cc-accent:#34c759;
  --cc-muted:#9bb0c9; --cc-border:#1c2a45; --cc-btn:#101a30;
}
.cc-hidden { display:none; }

/* Banner */
#cc-banner {
  position:fixed; inset:auto 0 0 0; z-index:99999;
  background:var(--cc-bg); color:var(--cc-txt);
  box-shadow:0 -8px 30px rgba(0,0,0,.35); padding:16px;
  font: 14px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
#cc-banner .cc-container { max-width:1100px; margin:0 auto; display:flex; gap:16px; align-items:center; }
#cc-banner .cc-text { flex:1; }
#cc-banner a { color:var(--cc-accent); text-decoration:underline; }
.cc-actions { display:flex; gap:8px; flex-wrap:wrap; }
.cc-btn {
  border:1px solid var(--cc-border); background:var(--cc-btn); color:var(--cc-txt);
  padding:10px 14px; border-radius:10px; cursor:pointer; transition:transform .06s ease;
}
.cc-btn:active { transform: translateY(1px); }
.cc-btn.cc-primary { background:var(--cc-accent); color:#08120d; border-color:transparent; font-weight:600; }
.cc-btn.cc-outline { background:transparent; }
.cc-btn.cc-secondary { background:#1a2742; }

/* Modal */
#cc-modal { position:fixed; inset:0; z-index:100000; background:rgba(0,0,0,.5);
  display:flex; align-items:center; justify-content:center; padding:20px; }
.cc-modal-panel { width:min(720px,95vw); background:#0e1629; color:var(--cc-txt);
  border:1px solid var(--cc-border); border-radius:16px; overflow:hidden; }
.cc-modal-head, .cc-modal-foot { padding:14px 16px; border-bottom:1px solid var(--cc-border); }
.cc-modal-foot { border-top:1px solid var(--cc-border); border-bottom:none; display:flex; gap:10px; justify-content:flex-end; }
.cc-modal-body { padding:10px 16px 4px; max-height:min(60vh,520px); overflow:auto; }
.cc-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px dashed var(--cc-border); }
.cc-help { color:var(--cc-muted); font-size:.92rem; margin-top:4px; }
.cc-close { background:transparent; color:var(--cc-muted); border:none; font-size:24px; cursor:pointer; }

@media (max-width: 640px) {
  #cc-banner .cc-container { flex-direction:column; align-items:stretch; }
  .cc-actions { justify-content:flex-end; }
  .cc-btn.cc-primary, .cc-btn.cc-outline, .cc-btn.cc-secondary{
    width: 100%;
  }
}
/* Fuerza a ocultar cuando cc-hidden está presente */
#cc-modal.cc-hidden { display: none !important; }
#cc-banner.cc-hidden { display: none !important; }
/* ===== Banner tipo modal ===== */
#cc-banner {
  position: fixed;
  inset: 0; /* ocupa toda la pantalla */
  background: rgba(0,0,0,0.65); /* capa opaca */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

#cc-banner .cc-container {
  background: var(--cc-bg);
  border: 1px solid var(--cc-border);
  border-radius: 16px;
  padding: 20px;
  max-width: 600px;
  text-align: left;
  box-shadow: 0 10px 30px rgba(0,0,0,.6);
  flex-direction: column;
}

