/* ============================================================
   deportivas.es — Terminal theme (vanilla CSS, no framework)
   Palette: deep ocean #04232b + neon cyan #00f2ff
   Fonts: Azeret Mono (display/data) + Archivo (body)
   ============================================================ */

:root{
  --bg:#04232b;
  --bg-deep:#02151a;
  --grid:#0c3d48;
  --grid-soft:rgba(12,61,72,.5);
  --cyan:#00f2ff;
  --text:#e2e8f0;
  --dim:#64748b;
  --highlight:#0a424d;
  --green:#22c55e;
  --maxw:1320px;
  --mono:'Azeret Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --sans:'Archivo','Segoe UI',system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:var(--mono)}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--mono);font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;background:var(--cyan);color:var(--bg);padding:8px 12px;z-index:200}

/* hairlines */
.hl-b{border-bottom:1px solid var(--grid)}
.hl-t{border-top:1px solid var(--grid)}
.hl-r{border-right:1px solid var(--grid)}
.hl-l{border-left:1px solid var(--grid)}

/* ---------- ticker ---------- */
.term-ticker{
  height:32px;background:rgba(0,0,0,.4);border-bottom:1px solid var(--grid);
  display:flex;align-items:center;overflow:hidden;position:relative;z-index:50;
}
.term-ticker__label{
  flex:0 0 auto;height:100%;display:flex;align-items:center;padding:0 12px;
  background:var(--highlight);border-right:1px solid var(--grid);
  font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--cyan);
}
.term-ticker__track{display:flex;white-space:nowrap;gap:48px;padding-left:24px;
  animation:ticker 45s linear infinite;font-family:var(--mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.05em;align-items:center}
.term-ticker:hover .term-ticker__track{animation-play-state:paused}
.term-ticker__item{display:inline-flex;gap:8px;align-items:center}
.term-ticker__tag{color:var(--cyan);font-weight:700}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.term-ticker__track{animation:none}}

/* ---------- header ---------- */
.term-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--grid)}
.term-header__inner{display:flex;align-items:stretch;min-height:56px;max-width:100%}
.term-logo{flex:0 0 auto;display:flex;align-items:center;padding:0 24px;border-right:1px solid var(--grid)}
.term-logo svg{height:42px;width:auto;display:block}
.term-nav{flex:1;display:flex;align-items:center;gap:4px;padding:0 12px;
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.03em;overflow-x:auto}
.term-nav a{color:var(--dim);padding:8px 12px;transition:color .15s,background .15s;white-space:nowrap}
.term-nav a:hover,.term-nav .current-menu-item>a,.term-nav .current_page_item>a{color:#fff;background:var(--highlight);text-decoration:none}
.term-nav li{list-style:none}
.term-nav ul{display:flex;gap:4px;margin:0;padding:0}
.term-meta{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:0 20px;border-left:1px solid var(--grid)}
.term-clock{font-family:var(--mono);font-size:10px;color:var(--dim)}
.term-search-btn{background:none;border:0;color:var(--cyan);cursor:pointer;display:flex;padding:4px}
.term-search-btn:hover{transform:scale(1.1)}
.menu-toggle{display:none}

/* ---------- shell / grid ---------- */
.term-shell{display:grid;grid-template-columns:240px 1fr 320px;min-height:60vh;max-width:var(--maxw);margin:0 auto;width:100%}
.term-shell--wide{grid-template-columns:240px 1fr}
.term-shell--single{display:block;max-width:1180px}
.col-left{border-right:1px solid var(--grid);background:rgba(0,0,0,.1)}
.col-center{background:var(--bg-deep);min-width:0}
.col-right{border-left:1px solid var(--grid);background:rgba(0,0,0,.2)}

/* ---------- panels ---------- */
.panel-head{padding:14px 16px;border-bottom:1px solid var(--grid);background:var(--highlight);
  font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:var(--cyan);display:flex;align-items:center;gap:8px}
.panel-head--plain{background:var(--bg)}
.panel-body{padding:16px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);display:inline-block}
.dot--green{background:var(--green)}
.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}

/* left nav list */
.term-list{font-family:var(--mono);font-size:12px}
.term-list a{display:flex;justify-content:space-between;padding:10px 16px;color:var(--dim);
  border-left:2px solid transparent}
.term-list a:hover{background:var(--highlight);color:#fff;text-decoration:none}
.term-list a.is-active{color:var(--cyan);border-left-color:var(--cyan)}
.term-list .count{color:var(--cyan);font-weight:700}

/* ---------- center: market header ---------- */
.market-head{padding:24px;border-bottom:1px solid var(--grid);background:var(--bg);
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.market-head__eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:6px;
  font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--cyan);letter-spacing:.05em}
.market-head h1{font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;margin:0}

/* ---------- featured lead ---------- */
.lead{padding:24px;border-bottom:1px solid var(--grid)}
.lead a{color:inherit}
.lead__cat{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--cyan);letter-spacing:.1em}
.lead__title{font-size:clamp(1.4rem,2.6vw,2rem);margin:.4em 0 .3em}
.lead__title a:hover{color:var(--cyan)}
.lead__meta{font-family:var(--mono);font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.lead__img{margin:16px 0 0;border:1px solid var(--grid)}
.lead__excerpt{color:#cbd5e1;margin-top:12px}

/* secondary cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--grid);border-bottom:1px solid var(--grid)}
.card{background:var(--bg-deep);padding:16px;display:flex;flex-direction:column;gap:6px}
.card__cat{font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--cyan);letter-spacing:.1em}
.card__title{font-family:var(--mono);font-size:13px;font-weight:600;line-height:1.3}
.card__title a{color:var(--text)}.card__title a:hover{color:var(--cyan);text-decoration:none}
.card__date{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:auto}

/* ---------- data table ---------- */
.data-table-wrap{padding:24px;overflow-x:auto}
.section-rule{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.section-rule h2{font-family:var(--mono);font-size:1.05rem;text-transform:uppercase;color:var(--cyan);margin:0}
.section-rule .rule{height:1px;flex:1;background:var(--grid)}
.section-rule a{font-family:var(--mono);font-size:10px;color:var(--dim)}
.data-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px;text-align:left;border:1px solid var(--grid)}
.data-table th,.data-table td{padding:11px 12px;border:1px solid var(--grid)}
.data-table thead th{background:var(--highlight);color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.data-table tbody tr:hover{background:rgba(10,66,77,.25)}
.data-table .num{text-align:center;background:rgba(0,0,0,.2)}
.data-table .live{color:var(--cyan)}
.data-table .muted{color:var(--dim)}
.data-table .bold{font-weight:700}

/* news stream rows */
.news-stream{padding:0 24px 24px}
.news-row{display:grid;grid-template-columns:90px 60px 1fr;gap:16px;padding:9px 8px;
  font-family:var(--mono);font-size:12px;align-items:baseline}
.news-row:hover{background:rgba(10,66,77,.3)}
.news-row .ts{color:var(--dim)}
.news-row .tag{color:var(--cyan);font-weight:700}
.news-row .headline a{color:var(--text);text-decoration:underline;text-decoration-color:var(--grid);text-underline-offset:4px}
.news-row .headline a:hover{color:var(--cyan)}
@media (max-width:520px){.news-row{grid-template-columns:70px 1fr;gap:8px}.news-row .tag{display:none}}

/* ---------- right column widgets ---------- */
.standings{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px;text-align:left}
.standings th{color:var(--dim);text-transform:uppercase;font-size:9px;padding-bottom:8px;font-weight:600}
.standings td{padding:7px 0;border-bottom:1px solid var(--grid-soft)}
.standings .pts{text-align:center;color:var(--cyan)}
.standings .dg{text-align:center;color:#cbd5e1}
.standings tr:last-child td{border-bottom:0}

.casas{margin-top:28px;padding:16px;border:1px solid var(--grid);background:rgba(10,66,77,.2)}
.casas h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--cyan);letter-spacing:.15em;margin:0 0 14px}
.casas__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px}
.casas__row .name{font-weight:700;font-family:var(--mono)}
.casas__row .score{color:var(--cyan);font-family:var(--mono);font-size:12px}
.casas__cta{display:block;text-align:center;margin-top:8px;background:var(--cyan);color:var(--bg);
  font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:10px;border:0}
.casas__cta:hover{background:#fff;text-decoration:none}

/* buttons */
.btn-cyan{display:inline-block;background:var(--cyan);color:var(--bg);font-family:var(--mono);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:7px 12px;border:0}
.btn-cyan:hover{background:#fff;text-decoration:none}
.btn-ghost{display:inline-block;border:1px solid var(--cyan);color:var(--cyan);font-family:var(--mono);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px}
.btn-ghost:hover{background:var(--highlight);text-decoration:none}

/* ---------- article / page content ---------- */
.entry{max-width:780px;margin:0 auto;padding:40px 24px}
.entry__eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--cyan);letter-spacing:.08em}
.entry__title{font-size:clamp(1.8rem,4vw,2.8rem);margin:.3em 0}
.entry__meta{font-family:var(--mono);font-size:11px;color:var(--dim);text-transform:uppercase;
  letter-spacing:.04em;border-bottom:1px solid var(--grid);padding-bottom:16px;margin-bottom:24px}
.entry__hero{margin:0 0 28px;border:1px solid var(--grid)}
.entry-content{font-size:1.05rem;color:#dbe4ee}
.entry-content p{margin:0 0 1.3em}
.entry-content h2{font-size:1.5rem;color:#fff;margin:1.8em 0 .6em;padding-top:.3em;border-top:1px solid var(--grid-soft)}
.entry-content h3{font-size:1.2rem;color:var(--cyan);margin:1.4em 0 .5em}
.entry-content a{text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{margin:0 0 1.3em;padding-left:1.4em}
.entry-content li{margin-bottom:.4em}
.entry-content blockquote{border-left:3px solid var(--cyan);margin:1.4em 0;padding:.4em 1.2em;color:#cbd5e1;font-style:italic}
.entry-content table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.9rem;margin:1.4em 0}
.entry-content th,.entry-content td{border:1px solid var(--grid);padding:10px}
.entry-content th{background:var(--highlight);color:var(--cyan);text-transform:uppercase;font-size:.8rem}
.entry-content figure{margin:1.6em 0}
.entry-content figcaption{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:6px}
.entry-content img{border:1px solid var(--grid)}

/* archive grid */
.archive-head{max-width:var(--maxw);margin:0 auto;padding:32px 24px 8px}
.archive-head h1{font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase}
.archive-head .desc{color:var(--dim);font-family:var(--mono);font-size:12px}
.post-grid{max-width:var(--maxw);margin:0 auto;padding:16px 24px 48px;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--grid);border:1px solid var(--grid)}
.post-tile{background:var(--bg-deep);padding:20px;display:flex;flex-direction:column;gap:8px}
.post-tile__thumb{border:1px solid var(--grid);margin-bottom:6px}
.post-tile__cat{font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--cyan);letter-spacing:.1em}
.post-tile h2{font-family:var(--mono);font-size:1rem;line-height:1.3;margin:0}
.post-tile h2 a{color:var(--text)}.post-tile h2 a:hover{color:var(--cyan);text-decoration:none}
.post-tile__excerpt{font-size:.9rem;color:#9fb3c8}
.post-tile__date{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:auto}

/* pagination */
.pagination{max-width:var(--maxw);margin:0 auto;padding:0 24px 48px;display:flex;gap:6px;flex-wrap:wrap;font-family:var(--mono);font-size:12px}
.pagination .page-numbers{padding:8px 13px;border:1px solid var(--grid);color:var(--dim)}
.pagination .page-numbers.current{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}
.pagination a.page-numbers:hover{border-color:var(--cyan);color:var(--cyan);text-decoration:none}

/* breadcrumb */
.crumbs{max-width:1180px;margin:0 auto;padding:16px 24px 0;font-family:var(--mono);font-size:10px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}
.crumbs a{color:var(--dim)}.crumbs a:hover{color:var(--cyan)}

/* ---------- footer ---------- */
.term-footer{border-top:1px solid var(--grid);background:var(--bg)}
.term-footer__cols{max-width:var(--maxw);margin:0 auto;padding:36px 24px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px}
.term-footer__cols h5{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--cyan);letter-spacing:.15em;margin:0 0 14px}
.term-footer__cols ul{list-style:none;margin:0;padding:0;font-size:13px}
.term-footer__cols li{margin-bottom:8px}
.term-footer__cols a{color:#9fb3c8}.term-footer__cols a:hover{color:var(--cyan)}
.term-statusbar{border-top:1px solid var(--grid);height:40px;display:flex;align-items:center;
  padding:0 20px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);gap:24px;flex-wrap:wrap}
.term-statusbar .right{margin-left:auto;display:flex;gap:20px;align-items:center}
.term-statusbar .brand{color:var(--cyan)}

/* responsive */
@media (max-width:1024px){
  .term-shell,.term-shell--wide{grid-template-columns:1fr}
  .col-left,.col-right{border:0;border-top:1px solid var(--grid)}
}
@media (max-width:760px){
  .menu-toggle{display:flex;align-items:center;background:none;border:0;color:var(--cyan);
    font-family:var(--mono);font-size:12px;text-transform:uppercase;cursor:pointer;padding:8px 16px;gap:8px}
  .term-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--grid);
    flex-direction:column;align-items:stretch;padding:0;display:none}
  .term-nav.is-open{display:flex}
  .term-nav ul{flex-direction:column;gap:0;width:100%}
  .term-nav a{padding:14px 24px;border-bottom:1px solid var(--grid-soft)}
  .term-header__inner{flex-wrap:wrap}
  .term-meta{margin-left:auto}
  .term-clock{display:none}
}

/* ---------- homepage hero ---------- */
.home-hero{position:relative;max-width:var(--maxw);margin:0 auto;border-bottom:1px solid var(--grid);overflow:hidden}
.home-hero__img{width:100%;height:clamp(180px,28vw,360px);object-fit:cover;display:block;filter:saturate(1.05) contrast(1.05)}
.home-hero__inner{position:absolute;left:0;bottom:0;right:0;padding:24px;
  background:linear-gradient(to top,rgba(2,21,26,.92),rgba(2,21,26,.35) 60%,transparent)}
.home-hero__eyebrow{color:var(--cyan);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.home-hero__tag{font-family:var(--mono);font-size:clamp(1rem,2.2vw,1.5rem);color:#fff;margin:.4em 0 0;max-width:36ch;line-height:1.3}

/* ---------- odds-comparison shortcode ---------- */
.odds-compare{margin:1.8em 0;border:1px solid var(--grid);background:var(--bg-deep)}
.odds-compare__cap{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--grid);
  background:var(--highlight);color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.odds-table{border:0;margin:0}
.odds-table thead th{position:sticky;top:0}
.odds-table .btn-cyan{padding:5px 12px}
.odds-compare__note{font-size:10px;color:var(--dim);padding:10px 14px;margin:0;border-top:1px solid var(--grid);line-height:1.5}

/* ---------- cuotas prev/next visual nav ---------- */
.cuotas-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.cuotas-nav__card{position:relative;display:block;height:120px;border:1px solid var(--grid);overflow:hidden;
  background:var(--bg-deep);transition:border-color .15s}
.cuotas-nav__card:hover{border-color:var(--cyan);text-decoration:none}
.cuotas-nav__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:transform .4s,opacity .15s}
.cuotas-nav__card:hover .cuotas-nav__img{transform:scale(1.06);opacity:.7}
.cuotas-nav__card picture{position:absolute;inset:0}
.cuotas-nav__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;
  padding:14px;background:linear-gradient(to top,rgba(2,21,26,.92),rgba(2,21,26,.25) 70%,transparent)}
.cuotas-nav__card--next .cuotas-nav__overlay{align-items:flex-end;text-align:right}
.cuotas-nav__dir{color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.cuotas-nav__title{color:#fff;font-size:1rem;font-weight:600}
@media (max-width:520px){.cuotas-nav{grid-template-columns:1fr}.cuotas-nav__card{height:96px}}

/* ---------- LaLiga standings (build-time data) ---------- */
.standings-block{margin:1.6em 0;border:1px solid var(--grid);background:var(--bg-deep)}
.standings-block__cap{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--grid);
  background:var(--highlight);color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.standings-full{border:0;margin:0;font-size:12px}
.standings-full th,.standings-full td{padding:8px 10px}
.standings-block__note{font-size:10px;color:var(--dim);padding:9px 14px;margin:0;border-top:1px solid var(--grid)}
.col-right .standings-full{font-size:11px}
.col-right .standings-full th,.col-right .standings-full td{padding:6px 7px}

/* ---------- interactive widgets (quiz + predictor) ---------- */
.iact{margin:1.8em 0;border:1px solid var(--grid);background:var(--bg-deep)}
.iact__head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--grid);
  background:var(--highlight);color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.iact__body{padding:18px}
.iact__note{font-size:11px;color:var(--dim);margin:8px 0 0;line-height:1.5}
.iact__note.mono{padding:0 14px 12px}
/* quiz */
.quiz-progress{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.quiz-q{font-size:1.1rem;font-weight:600;margin:0 0 14px;color:#fff}
.quiz-opts{display:grid;gap:8px}
.quiz-opt{text-align:left;background:var(--bg);border:1px solid var(--grid);color:var(--text);
  font-family:var(--sans);font-size:.95rem;padding:11px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.quiz-opt:hover:not(:disabled){border-color:var(--cyan);background:var(--highlight)}
.quiz-opt:disabled{cursor:default;opacity:.85}
.quiz-opt.is-correct{border-color:var(--green);color:#fff;box-shadow:inset 3px 0 0 var(--green)}
.quiz-opt.is-wrong{border-color:#ef4444;box-shadow:inset 3px 0 0 #ef4444}
.quiz-fb{font-family:var(--mono);font-size:12px;color:var(--cyan);min-height:1.2em;margin:12px 0}
.quiz-next{margin-top:6px}
.quiz-result{text-align:center;padding:8px 0}
.quiz-score{font-family:var(--mono);font-size:2.4rem;font-weight:700;color:var(--cyan);margin:0}
.quiz-tier{font-size:1.1rem;margin:.3em 0 1em}
.quiz-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
/* predictor */
.pred-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pred-row label{display:flex;flex-direction:column;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);flex:1;min-width:130px}
.pred-row select{background:var(--bg);border:1px solid var(--grid);color:var(--text);font-family:var(--mono);font-size:13px;padding:9px 10px}
.pred-vs{color:var(--cyan);padding-bottom:9px}
.pred-out{margin-top:16px}
.pred-bar{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:12px}
.pred-bar__lbl{flex:0 0 42%;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pred-bar__track{flex:1;height:16px;background:var(--bg);border:1px solid var(--grid);position:relative}
.pred-bar__fill{position:absolute;inset:0 auto 0 0;background:var(--cyan)}
.pred-bar__fill.is-d{background:var(--dim)}
.pred-bar__fill.is-a{background:#0a8a93}
.pred-bar__val{flex:0 0 auto;color:var(--cyan);font-weight:700}
@media (max-width:520px){.pred-bar__lbl{flex-basis:34%}}

/* ---- Editorial SEO copy (category archives + homepage) ---- */
.cat-seo{max-width:var(--maxw);margin:0 auto;padding:4px 24px}
.cat-seo--intro{padding-top:0;padding-bottom:4px}
.cat-seo p{color:#cbd5e1;font-size:.98rem;line-height:1.75;margin:0 0 1em}
.cat-seo strong{color:var(--text)}
.cat-seo h2{font-size:clamp(1.05rem,2vw,1.25rem);text-transform:uppercase;color:var(--text);margin:1.6em 0 .6em;display:flex;align-items:center;gap:10px}
.cat-seo h2::before{content:"//";color:var(--cyan)}
.cat-seo h3{font-family:var(--mono);font-size:1rem;color:var(--cyan);margin:1.3em 0 .4em}
.cat-seo a{color:var(--cyan)}
.cat-seo ul{margin:0 0 1em;padding-left:1.1em;color:#cbd5e1}
.cat-seo li{margin:.3em 0}
.cat-seo__note{font-family:var(--mono);font-size:11.5px;color:var(--dim);border-left:2px solid var(--grid);padding-left:12px;line-height:1.65;margin-top:1.4em}
.cat-faq{margin-top:8px}
.cat-faq h2::before{content:"//";color:var(--cyan)}
.cat-faq details{border-bottom:1px solid var(--grid-soft);padding:14px 0}
.cat-faq summary{cursor:pointer;font-family:var(--mono);font-weight:700;color:var(--text);font-size:.95rem;list-style:none;display:flex;gap:10px}
.cat-faq summary::-webkit-details-marker{display:none}
.cat-faq summary::before{content:"+";color:var(--cyan);font-weight:700}
.cat-faq details[open] summary::before{content:"\2013"}
.cat-faq details>div{padding-left:20px}
.cat-faq p{margin:.7em 0 0;color:#cbd5e1;font-size:.95rem}
.home-seo{max-width:var(--maxw);margin:0 auto;padding:32px 24px 48px;border-top:1px solid var(--grid)}
.home-seo__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--grid);border:1px solid var(--grid);margin:1.2em 0}
.home-seo__grid>div{background:var(--bg-deep);padding:18px}
.home-seo__grid h3{margin:0 0 .4em}
.home-seo__grid p{font-size:.9rem;margin:0;color:#cbd5e1}

/* ---- Monetization: RG notice + operator cards + compliance (terminal) ---- */
.rg-notice{border:1px solid var(--grid);border-left:3px solid var(--cyan);background:var(--bg-deep);
  padding:14px 16px;margin:1.6em 0;font-size:.9rem;color:#cbd5e1;line-height:1.6}
.rg-notice strong{color:var(--cyan)}
.btn-ghost{display:inline-block;font-family:var(--mono);font-size:.85rem;padding:9px 16px;border:1px solid var(--grid);
  color:var(--text);background:transparent;text-decoration:none}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);text-decoration:none}
.stars{color:var(--cyan);letter-spacing:1px}

/* ranking cards */
.casino-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--grid);
  border:1px solid var(--grid);margin:1.6em 0}
.casino-card{background:var(--bg-deep);padding:18px;display:flex;flex-direction:column;gap:10px}
.casino-card.featured{outline:1px solid var(--cyan);outline-offset:-1px;background:linear-gradient(180deg,rgba(0,242,255,.05),var(--bg-deep))}
.casino-card__head{display:flex;align-items:center;gap:12px}
.casino-card__pos{color:var(--cyan);font-weight:700;font-size:.95rem;flex:0 0 auto}
.casino-card__logo{flex:1 1 auto}
.casino-card__logo img.operator-logo{max-height:40px;width:auto;border:0;background:#fff;padding:4px 8px;border-radius:4px}
.operator-name-text{font-family:var(--mono);font-weight:700;color:var(--text);font-size:1.1rem}
.casino-card__score{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;line-height:1.2}
.casino-card__score .num{color:var(--cyan);font-size:.8rem}
.casino-card__usp{color:#cbd5e1;font-size:.92rem;margin:0;flex:1 1 auto}
.casino-card__cta{display:flex;gap:8px;flex-wrap:wrap}
.cc-card-rg{border-top:1px solid var(--grid);font-family:var(--mono);font-size:10px;color:var(--dim);
  padding-top:8px;line-height:1.5}
.cc-card-rg a{color:var(--cyan)}

/* review hero card (ficha) */
.ficha-op{border:1px solid var(--grid);background:var(--bg-deep);padding:18px;margin:1.4em 0}
.ficha-op__top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--grid);padding-bottom:14px;margin-bottom:6px}
.ficha-op__logo img.operator-logo{max-height:48px;background:#fff;padding:5px 10px;border-radius:4px;border:0}
.ficha-op__meta{flex:1 1 auto;display:flex;flex-direction:column;gap:4px}
.ficha-op__score .num{color:var(--cyan);font-weight:700}
.ficha-op__usp{color:#cbd5e1;font-size:.95rem}
.ficha-op__cta{flex:0 0 auto}
.ficha-op__facts{margin:14px 0 6px!important}
.ficha-op__facts th{width:34%;text-align:left;color:var(--cyan);font-family:var(--mono);font-size:.78rem;text-transform:uppercase;background:var(--highlight)}

/* pros / cons */
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--grid);border:1px solid var(--grid);margin:1.4em 0}
.pros-cons__col{background:var(--bg-deep);padding:16px}
.pros-cons__col h3{margin:0 0 .5em;font-size:1rem}
.pros-cons__col--pro h3{color:var(--green)}
.pros-cons__col--con h3{color:#f87171}
.pros-cons__col ul{margin:0;padding-left:1.1em;color:#cbd5e1;font-size:.92rem}
.pros-cons__col li{margin:.35em 0}
@media(max-width:560px){.pros-cons{grid-template-columns:1fr}}

/* DGOJ footer compliance block */
#dgoj-compliance{border-top:1px solid var(--grid);background:var(--bg-deep);padding:22px 24px 8px}
.dgoj-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:16px;max-width:var(--maxw);margin-left:auto;margin-right:auto}
.dgoj-badge{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg);border:1px solid var(--grid);
  color:var(--text)!important;text-decoration:none!important;font-family:var(--mono);font-size:11px;line-height:1.3}
.dgoj-badge:hover{border-color:var(--cyan);color:var(--cyan)!important}
.dgoj-badge .badge-18{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border:2px solid var(--cyan);border-radius:50%;color:var(--cyan);font-weight:700;font-size:11px}
.dgoj-badge .badge-label{font-weight:700;text-align:left}
.dgoj-badge small{display:block;font-size:9px;color:var(--dim);font-weight:500}
.dgoj-disclaimer{max-width:920px;margin:8px auto;padding:10px 14px;background:var(--bg);border:1px solid var(--grid)}
.dgoj-disclaimer p{margin:0;font-size:11px;line-height:1.55;color:#9fb3c8}
.dgoj-disclaimer p strong{color:var(--cyan)}
.dgoj-disclaimer a{color:var(--cyan);text-decoration:underline}

/* age gate */
.age-gate{position:fixed;inset:0;z-index:9999;background:rgba(2,21,26,.92);display:none;align-items:center;justify-content:center;padding:20px}
.age-gate.show{display:flex}
body.age-gate-open{overflow:hidden}
.age-gate-card{max-width:460px;width:100%;background:var(--bg-deep);border:1px solid var(--cyan);padding:30px 26px 20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.age-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border:3px solid var(--cyan);border-radius:50%;color:var(--cyan);font-weight:700;font-size:20px;margin:0 auto 14px}
.age-gate-card h2{color:var(--text);font-size:1.3rem;margin:0 0 10px}
.age-gate-card p{color:#cbd5e1;font-size:.92rem;line-height:1.55;margin:0 0 16px}
.age-gate-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.age-gate-yes,.age-gate-no{width:100%;padding:12px 18px;font-family:var(--mono);font-weight:700;font-size:.92rem;cursor:pointer;border:1px solid transparent}
.age-gate-yes{background:var(--cyan);color:var(--bg)}
.age-gate-yes:hover{filter:brightness(1.1)}
.age-gate-no{background:transparent;color:var(--dim);border-color:var(--grid)}
.age-gate-no:hover{color:var(--text)}
.age-gate-note{font-size:11px!important;color:var(--dim)!important;margin:0!important}
.age-gate-note a{color:var(--cyan)}

/* LaLiga standings "Forma" (last-5) badges */
.frm-row{display:inline-flex;gap:3px}
.frm{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-family:var(--mono);font-size:10px;font-weight:700;color:#04232b}
.frm-w{background:#00f2ff}
.frm-d{background:#64748b}
.frm-l{background:#ff5470}
.frm-cell{white-space:nowrap}

/* Methodology / data infographic figure (served via [metodologia_infografia]) */
.infographic{margin:40px 0;border:1px solid var(--grid);border-radius:6px;overflow:hidden;background:#04232b}
.infographic svg{display:block;width:100%;height:auto}
.infographic figcaption{font-family:var(--mono);font-size:12px;color:var(--dim);padding:10px 16px;border-top:1px solid var(--grid)}
