/* -----------------------------------------------------
   CasinoOnlineEnColombia.site — Dark Mode UI
----------------------------------------------------- */
:root{
  --bg:#0f172a;
  --panel:#111c33;
  --panel-2:#1e293b;
  --text:#f8fafc;
  --muted:#cbd5e1;
  --muted-2:#94a3b8;
  --green:#22c55e;
  --blue:#0ea5e9;
  --blue-2:#0284c7;
  --border:rgba(148,163,184,.18);
  --glass:rgba(30,41,59,.72);
  --shadow:0 18px 60px rgba(2,6,23,.45);
  --radius:18px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(900px 500px at 15% 10%, rgba(34,197,94,.12), transparent 60%),
              radial-gradient(900px 500px at 85% 15%, rgba(14,165,233,.10), transparent 60%),
              var(--bg);
  color:var(--text);
  line-height:1.55;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:.6rem 0}
h1,h2,h3{line-height:1.2;margin:0 0 .6rem}
h1{font-size: clamp(1.7rem, 3.6vw, 2.6rem)}
h2{font-size: clamp(1.25rem, 2.6vw, 1.75rem)}
h3{font-size: 1.05rem}

.container{max-width:var(--max);margin:0 auto;padding:0 16px}
main.container{margin:18px auto}
.skip{
  position:absolute; left:-999px; top:auto;
  width:1px;height:1px; overflow:hidden;
}
.skip:focus{left:16px;top:16px;width:auto;height:auto;z-index:9999;
  background:var(--panel);padding:10px 12px;border-radius:12px;border:1px solid var(--border)
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:1000;
  backdrop-filter:saturate(140%) blur(12px);
  background:rgba(15,23,42,.72);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:10px 16px;
}
.brand{
  display:flex;align-items:center;gap:10px;min-width:220px;
}
.brand img{width:38px;height:38px}
.brand b{display:block;font-size:14px;letter-spacing:.2px}
.brand span{display:block;color:var(--muted-2);font-size:12px;margin-top:1px}

.nav{
  display:flex;align-items:center;gap:14px;
}
.nav a{
  font-size:13px;color:var(--muted);
  padding:8px 10px;border-radius:12px;
}
.nav a:hover{background:rgba(148,163,184,.10);color:var(--text)}
.nav a.active{background:rgba(14,165,233,.12);color:var(--text);border:1px solid rgba(14,165,233,.25)}

.header-actions{
  display:flex;align-items:center;gap:10px;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;
  border-radius:14px;
  padding:10px 14px;
  border:1px solid var(--border);
  background:rgba(30,41,59,.55);
  color:var(--text);
  font-weight:600;
  cursor:pointer;
  transition:transform .05s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{background:rgba(30,41,59,.78);border-color:rgba(14,165,233,.30)}
.btn:active{transform:translateY(1px)}
.btn.primary{
  border-color:rgba(34,197,94,.35);
  background:linear-gradient(135deg, rgba(34,197,94,.18), rgba(14,165,233,.14));
}
.btn.primary:hover{border-color:rgba(34,197,94,.55)}
.btn.small{padding:8px 10px;border-radius:12px;font-size:13px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  border:1px solid var(--border);
  color:var(--muted); font-size:12px;
  background:rgba(30,41,59,.40);
}
.badge i{width:8px;height:8px;border-radius:99px;background:var(--green);display:inline-block}

/* Mobile nav */
.burger{display:none}
@media (max-width: 980px){
  .nav{display:none;position:absolute;left:0;right:0;top:60px;
    background:rgba(15,23,42,.97);
    border-bottom:1px solid var(--border);
    padding:10px 16px;
    flex-direction:column;align-items:flex-start;
  }
  .nav.open{display:flex}
  .burger{display:inline-flex}
  .brand{min-width:auto}
}

main{padding:18px 0 48px}

/* Hero */
.hero{
  position:relative;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) + 6px);
  overflow:hidden;
  background:linear-gradient(135deg, rgba(30,41,59,.75), rgba(15,23,42,.65));
  box-shadow: var(--shadow);
}
.hero-grid{
  display:grid;grid-template-columns: 1.1fr .9fr;
  gap:18px;align-items:center;
}
@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr}
}
.hero-content{padding:22px}
.hero-content p{color:var(--muted)}
.hero-media{
  min-height:100%;
  background: url("../img/hero.jpg") center/cover no-repeat;
  border-left:1px solid var(--border);
}
@media (max-width: 920px){
  .hero-media{border-left:none;border-top:1px solid var(--border);min-height:220px}
}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* Sections */
.section{margin-top:18px}
.card{
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: 0 10px 30px rgba(2,6,23,.25);
}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media (max-width: 920px){
  .grid-2,.grid-3{grid-template-columns:1fr}
}
.kpi{
  display:flex;gap:12px;align-items:flex-start;
}
.kpi img{width:44px;height:44px}
.kpi p{color:var(--muted);margin:.2rem 0 0}
.list{margin:.4rem 0 0;padding-left:18px;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:13px;color:var(--muted)}
.hr{height:1px;background:var(--border);margin:14px 0}

/* Table */
.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--border)}
table.rank{
  width:100%; border-collapse:separate; border-spacing:0;
  min-width:780px;
  background:rgba(2,6,23,.12);
}
.rank th, .rank td{padding:12px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.rank th{
  text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted-2); background:rgba(30,41,59,.55);
}
.rank tr:hover td{background:rgba(148,163,184,.06)}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  border:1px solid var(--border);
  font-size:12px;color:var(--muted);
}
.pill strong{color:var(--text);font-weight:700}
.pill .dot{width:8px;height:8px;border-radius:99px;background:var(--green)}
.pill .dot.blue{background:var(--blue)}
.cta-cell{white-space:nowrap}
a.out{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:14px;
  border:1px solid rgba(34,197,94,.35);
  background:linear-gradient(135deg, rgba(34,197,94,.16), rgba(14,165,233,.12));
  font-weight:800;
}
a.out:hover{border-color:rgba(34,197,94,.55)}
.note{
  padding:12px 14px;border-radius:16px;
  border:1px dashed rgba(14,165,233,.32);
  background:rgba(14,165,233,.08);
  color:var(--muted);
}
.note b{color:var(--text)}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(30,41,59,.50);
  padding:12px 14px;
}
.faq summary{cursor:pointer;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{float:right;color:var(--muted-2)}
.faq details[open] summary .chev{transform:rotate(180deg)}
.faq details p{color:var(--muted)}

/* Footer */
.site-footer{
  border-top:1px solid var(--border);
  background:rgba(15,23,42,.8);
  padding:22px 0;
}
.footer-grid{
  display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:16px;
}
@media (max-width: 920px){
  .footer-grid{grid-template-columns:1fr}
}
.footer-grid a{color:var(--muted);font-size:13px}
.footer-grid a:hover{color:var(--text)}
.footer-bottom{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:14px;color:var(--muted-2);font-size:12px}
.footer-bottom>span {text-align: center;}
.disclaimer{
  font-size:12px;color:var(--muted-2);
  border:1px solid var(--border);
  background:rgba(30,41,59,.35);
  padding:10px 12px;border-radius:16px;
}

/* Cookie banner + modal */
.cookie-banner{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:2000;
  max-width:var(--max);margin:0 auto;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(15,23,42,.92);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  padding:14px;
  display:none;
}
.cookie-banner.show{display:block}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.cookie-banner p{color:var(--muted);margin:.2rem 0 0;font-size:13px}

.modal-backdrop{
  position:fixed; inset:0; z-index:2200;
  background:rgba(2,6,23,.7);
  display:none;
}
.modal-backdrop.show{display:block}
.modal{
  position:fixed; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, calc(100% - 24px));
  background:rgba(15,23,42,.97);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow: var(--shadow);
  padding:16px;
}
.modal h2{margin:0 0 8px}
.modal .row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border)}
.modal .row:first-of-type{border-top:none}
.toggle{
  display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)
}
.toggle input{width:18px;height:18px}
.modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.codebox{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  background:rgba(2,6,23,.5);
  border:1px solid var(--border);
  padding:10px 12px;border-radius:14px;
  overflow:auto;
  font-size:12px;color:var(--muted);
}

/* Melbet Button */
.btn-melbet {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: white;
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-block;
    text-decoration: none;
}
.btn-melbet:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.4);
}
a.btn-melbet.active {
    background: var(--green);
    color: #0f172a;
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.4);
}
