/*
Theme Name: Celeste
Theme URI: https://example.com/celeste
Author: Your Name
Description: Tema para sitios de reseñas de casinos y apuestas en Argentina con estética de planilla de apuestas y tabla de posiciones: tipografía condensada, papel de diario, tinta negra y celeste. Incluye tipo de contenido "Operadores", tabla con flechas de subida/bajada, reparto de puntaje, número de edición, verificación de edad (+18) y bloque de Juego Responsable.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: celeste
Tags: light, blog, news, two-columns, custom-menu, custom-logo, translation-ready
*/

:root {
	--paper: #eceae3;
	--paper-2: #e2dfd5;
	--white: #fbfaf7;
	--ink: #0e1620;
	--text: #1c2430;
	--muted: #5b6470;
	--celeste: #6cace4;
	--celeste-2: #9cc7ee;
	--celeste-3: #d5e7f7;
	--marino: #1f3f74;
	--marino-2: #2f5c9e;
	--up: #17784a;
	--down: #b8322a;
	--line: rgba(14, 22, 32, .18);

	/* legacy names used by inline styles in templates */
	--bg: var(--paper);
	--bg-2: var(--celeste-3);
	--radius: 0;

	--wrap: 1240px;
	--cond: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", sans-serif;
	--serif: "Newsreader", Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--text);
	font: 18px/1.55 var(--serif);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--marino); text-decoration: underline; text-decoration-color: var(--celeste); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--ink); text-decoration-color: var(--ink); }
h1, h2, h3, h4 { font-family: var(--cond); color: var(--ink); line-height: .95; margin: 0 0 .4em; font-weight: 800; text-transform: uppercase; letter-spacing: .005em; }
h1 { font-size: clamp(3.2rem, 9vw, 7.4rem); font-weight: 900; }
h2 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
h3 { font-size: 1.5rem; }
p { margin: 0 0 1em; }
abbr[title] { text-decoration: none; }
table { border-collapse: collapse; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; clip: auto; background: var(--ink); color: #fff; padding: 8px 14px; }

/* Condensed labels */
.topbar, .edition, .primary-nav a, .nav-toggle, .btn, .hero-eyebrow, .box-title, .legend, .disclosure, .breadcrumbs,
.tabla th, .op-meta, .trend, .chip, .card-meta, .sumario-cat, .sumario time, .fact dt, .widget-title, .footer-legal, .rank-tc, .more {
	font-family: var(--cond);
}

/* Buttons */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .35em;
	padding: .55em 1.1em .5em; border: 2px solid var(--ink); border-radius: 0; cursor: pointer;
	font-size: 1.05rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1;
	text-decoration: none; transition: transform .1s, box-shadow .1s;
}
.btn-sol { background: var(--celeste); color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.btn-sol:hover { color: var(--ink); transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--ink); }
.btn-sol:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--ink); color: #fff; }
.btn-block { width: 100%; }

/* Top bar */
.topbar { background: var(--ink); color: #fff; font-size: .95rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; }
.topbar a { color: var(--celeste); text-decoration: none; }
.badge-18 { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 2px solid currentColor; font: 800 .7rem/1 var(--cond); margin-right: 8px; vertical-align: middle; letter-spacing: 0; }
.topbar .badge-18 { color: var(--celeste); }

/* Masthead – celeste band */
.site-header { background: var(--celeste); }
.masthead { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-top: 18px; padding-bottom: 14px; flex-wrap: wrap; }
.brand { display: block; font: 900 clamp(3rem, 10vw, 6.4rem)/.82 var(--cond); color: var(--ink); text-transform: uppercase; letter-spacing: -.01em; text-decoration: none; }
.brand:hover { color: var(--ink); }
.brand .custom-logo { max-height: 96px; width: auto; }
.tagline { margin: 10px 0 0; font-style: italic; color: var(--ink); font-size: 1.05rem; }
.edition { display: grid; text-align: right; font-size: 1rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); border-left: 2px solid var(--ink); padding-left: 16px; line-height: 1.25; }
.edition-num { font-size: 2rem; font-weight: 900; line-height: 1; }
.navbar { background: var(--ink); position: sticky; top: 0; z-index: 50; }
.primary-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.primary-nav a { display: block; padding: 12px 16px 10px; color: #fff; font-size: 1.1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-bottom: 4px solid transparent; }
.primary-nav li:first-child a { padding-left: 0; }
.primary-nav a:hover { color: var(--celeste); }
.primary-nav .current-menu-item > a { border-bottom-color: var(--celeste); color: var(--celeste); }
.nav-toggle { display: none; width: 100%; text-align: left; background: none; border: 0; padding: 12px 0; font-size: 1.1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; cursor: pointer; }
@media (max-width: 760px) {
	.masthead { align-items: start; }
	.edition { text-align: left; border-left: 0; padding-left: 0; border-top: 2px solid var(--ink); padding-top: 8px; width: 100%; display: flex; gap: 12px; flex-wrap: wrap; align-items: baseline; }
	.edition-num { font-size: 1.3rem; }
	.nav-toggle { display: block; }
	.primary-nav { display: none; }
	.primary-nav.is-open { display: block; }
	.primary-nav ul { flex-direction: column; padding-bottom: 8px; }
	.primary-nav li:first-child a { padding-left: 0; }
	.primary-nav a { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
}

/* Front page */
.portada { padding: 40px 0 44px; border-bottom: 3px solid var(--ink); }
.portada-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .portada-grid { grid-template-columns: 1fr; gap: 32px; } }
.hero-eyebrow { display: inline-block; background: var(--ink); color: var(--celeste); font-size: 1rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px 3px; margin: 0 0 18px; }
.portada h1 span { display: block; color: var(--marino); }
.portada .lead { font-size: 1.3rem; line-height: 1.45; max-width: 560px; margin-bottom: 24px; }

.box-title { font-size: 1.2rem; font-weight: 800; letter-spacing: .08em; background: var(--ink); color: #fff; margin: -2px -2px 16px; padding: 8px 14px 6px; line-height: 1; }
.puntaje { background: var(--white); border: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--celeste); padding: 0 18px 16px; }
.puntaje-bar { display: flex; height: 44px; border: 2px solid var(--ink); margin-bottom: 14px; }
.puntaje-bar .seg { display: grid; place-items: center; font: 900 1.25rem/1 var(--cond); color: #fff; border-right: 2px solid var(--ink); min-width: 0; }
.puntaje-bar .seg:last-child { border-right: 0; }
.seg-1 { background: var(--marino); } .seg-2 { background: var(--marino-2); } .seg-3 { background: var(--celeste); }
.seg-4 { background: var(--celeste-2); } .seg-5 { background: var(--celeste-3); }
.puntaje-bar .seg-3, .puntaje-bar .seg-4, .puntaje-bar .seg-5 { color: var(--ink); }
.puntaje-list { list-style: none; margin: 0; padding: 0; }
.puntaje-list li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 1.02rem; }
.puntaje-list b { margin-left: auto; font: 800 1.3rem/1 var(--cond); }
.dot { width: 14px; height: 14px; border: 2px solid var(--ink); flex: none; }
.puntaje-foot { font-size: .92rem; font-style: italic; color: var(--muted); margin: 12px 0 0; }

/* Sections */
.section { padding: 44px 0; }
.section-alt { background: var(--celeste-3); border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 24px; flex-wrap: wrap; border-bottom: 3px solid var(--ink); padding-bottom: 8px; margin-bottom: 14px; }
.section-head h2 { margin: 0; }
.section-head a { font: 800 1.05rem/1 var(--cond); text-transform: uppercase; letter-spacing: .06em; }
.legend { font-size: 1rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.disclosure { font-size: 1rem; letter-spacing: .02em; color: var(--muted); margin: 0 0 18px; }

/* League table */
.tabla { width: 100%; background: var(--white); border: 2px solid var(--ink); }
.tabla th { background: var(--ink); color: #fff; text-align: left; font-size: 1rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 9px 12px 7px; }
.tabla td { padding: 14px 12px; vertical-align: middle; border-top: 1px solid var(--line); }
.tabla .tc-row td { border-top: 0; padding: 0 12px 10px 108px; font: 500 .85rem/1.3 var(--cond); letter-spacing: .03em; color: var(--muted); }
.tabla tr.is-top td { background: var(--celeste); }
.tabla tr.is-top + .tc-row td { background: var(--celeste); color: var(--ink); }
.tabla tr.is-top .op-meta, .tabla tr.is-top .c-bono small { color: var(--ink); }
.c-pos { width: 56px; font: 900 2.6rem/1 var(--cond); color: var(--ink); text-align: center; }
.tabla th.c-pos { font-size: 1rem; }
.c-trend { width: 52px; }
.op-name { display: block; font: 800 1.6rem/1 var(--cond); text-transform: uppercase; color: var(--ink); text-decoration: none; }
.op-name:hover { color: var(--marino); text-decoration: underline; }
.op-meta { display: block; margin-top: 5px; font-size: .95rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.lic { display: inline-block; background: var(--ink); color: #fff; padding: 1px 6px 0; margin-right: 6px; }
.c-bono { font-weight: 600; line-height: 1.3; }
.c-bono small { display: block; font-weight: 400; font-style: italic; color: var(--muted); }
.c-ret { white-space: nowrap; font-weight: 600; }
.c-pts { font: 900 2rem/1 var(--cond); color: var(--marino); text-align: center; width: 72px; }
.tabla tr.is-top .c-pts { color: var(--ink); }
.c-cta { text-align: right; white-space: nowrap; width: 1%; }
.c-cta .more { display: block; margin-top: 6px; font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tabla tr.is-top .btn-sol { background: var(--white); }

.trend { display: inline-block; font-size: 1rem; font-weight: 800; letter-spacing: .02em; line-height: 1; padding: 3px 5px 2px; }
.trend-up { color: var(--up); }
.trend-down { color: var(--down); }
.trend-eq { color: var(--muted); }
.trend-new { background: var(--marino); color: #fff; text-transform: uppercase; font-size: .78rem; letter-spacing: .08em; }

@media (max-width: 860px) {
	.tabla, .tabla tbody { display: block; border: 0; background: transparent; }
	.tabla thead { display: none; }
	.tabla tr:not(.tc-row) {
		display: grid; grid-template-columns: 52px minmax(0, 1fr) auto;
		grid-template-areas: "pos op pts" "trend bono bono" ". ret ret" "cta cta cta";
		background: var(--white); border: 2px solid var(--ink); border-bottom: 0; margin-top: 14px;
	}
	.tabla tr.is-top:not(.tc-row) { background: var(--celeste); }
	.tabla td { border: 0; padding: 8px 10px; background: transparent !important; }
	.tabla .c-pos { grid-area: pos; font-size: 2.2rem; width: auto; }
	.tabla .c-trend { grid-area: trend; width: auto; text-align: center; padding: 0 2px; }
	.tabla .trend-new { font-size: .66rem; padding: 3px 3px 2px; letter-spacing: .04em; }
	.tabla .c-op { grid-area: op; }
	.tabla .c-pts { grid-area: pts; width: auto; }
	.tabla .c-bono { grid-area: bono; padding-top: 0; }
	.tabla .c-ret { grid-area: ret; padding-top: 0; font-family: var(--cond); text-transform: uppercase; letter-spacing: .04em; }
	.tabla .c-ret::before { content: attr(data-label) ": "; color: var(--muted); }
	.tabla .c-cta { grid-area: cta; text-align: left; width: auto; display: flex; align-items: center; gap: 16px; border-top: 1px solid var(--line); }
	.tabla .c-cta .more { margin: 0; }
	.tabla .tc-row { display: block; background: var(--white); border: 2px solid var(--ink); border-top: 0; }
	.tabla tr.is-top + .tc-row { background: var(--celeste); }
	.tabla .tc-row td { display: block; padding: 0 10px 10px; }
}

/* Contents list */
.sumario-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; }
@media (max-width: 900px) { .sumario-grid { grid-template-columns: 1fr; gap: 32px; } }
.sumario { list-style: none; margin: 0; padding: 0; counter-reset: sum; }
.sumario li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "n cat date" "n title title" "n ex ex"; column-gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--ink); counter-increment: sum; }
.sumario li::before { content: counter(sum, decimal-leading-zero); grid-area: n; font: 900 2.4rem/1 var(--cond); color: var(--marino); }
.sumario-cat { grid-area: cat; font-size: 1rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--marino); }
.sumario time { grid-area: date; font-size: 1rem; font-weight: 600; text-transform: uppercase; color: var(--muted); }
.sumario-title { grid-area: title; font: 800 1.7rem/1 var(--cond); text-transform: uppercase; color: var(--ink); text-decoration: none; margin: 4px 0 6px; }
.sumario-title:hover { color: var(--marino); text-decoration: underline; }
.sumario-ex { grid-area: ex; font-size: 1rem; color: var(--text); }
.secciones { background: var(--white); border: 2px solid var(--ink); padding: 0 16px 8px; align-self: start; }
.secciones ul { list-style: none; margin: 0; padding: 0; }
.secciones li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed var(--line); }
.secciones li:last-child { border: 0; }
.secciones a { font: 700 1.2rem/1.1 var(--cond); text-transform: uppercase; color: var(--ink); text-decoration: none; }
.secciones b { font: 900 1.2rem/1.1 var(--cond); color: var(--marino); }

/* Generic page header (archives, 404) */
.hero { padding: 36px 0 32px; background: var(--celeste-3); border-bottom: 3px solid var(--ink); }
.hero .lead { font-size: 1.2rem; max-width: 680px; }

/* Cards (blog index) */
.grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.card { background: var(--white); border: 2px solid var(--ink); display: flex; flex-direction: column; }
.card-thumb { display: block; aspect-ratio: 16/9; border-bottom: 2px solid var(--ink); overflow: hidden; background: var(--celeste-3); }
.card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; }
.card-body h3 a { color: var(--ink); text-decoration: none; }
.card-body h3 a:hover { color: var(--marino); text-decoration: underline; }
.card-meta { font-size: .95rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--marino); margin-bottom: 6px; }
.card-body p { font-size: 1rem; }

/* Rating stars (reviews, sidebar) */
.rating { font-family: var(--cond); white-space: nowrap; }
.stars { --pct: 80%; display: inline-block; font-size: 1rem; letter-spacing: 1px; background: linear-gradient(90deg, var(--marino) var(--pct), #b9c2cc var(--pct)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.score { font-weight: 900; color: var(--ink); margin-left: 6px; font-size: 1.1rem; }

/* Single operator card (shortcode [operador]) */
.ranking { counter-reset: rank; }
.rank-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr) 150px; gap: 18px; align-items: center; background: var(--white); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--celeste); padding: 14px 16px; }
.rank-num { display: none; }
.rank-logo { background: #fff; border: 2px solid var(--ink); height: 64px; display: grid; place-items: center; padding: 8px; overflow: hidden; }
.rank-logo img { max-height: 46px; width: auto; }
.rank-logo .ph { font: 900 1.1rem/1 var(--cond); text-transform: uppercase; color: var(--ink); text-align: center; }
.rank-name { display: block; font: 800 1.5rem/1 var(--cond); text-transform: uppercase; color: var(--ink); text-decoration: none; margin-bottom: 4px; }
.rank-bonus { font-weight: 600; line-height: 1.3; color: var(--ink); }
.rank-bonus small { display: block; font-weight: 400; font-style: italic; color: var(--muted); }
.rank-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.chip { font-size: .9rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border: 1.5px solid var(--ink); padding: 1px 6px 0; color: var(--ink); }
.chip-lic { background: var(--ink); color: #fff; }
.rank-cta { display: grid; gap: 6px; text-align: center; }
.rank-cta .more { font-size: .95rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.rank-tc { grid-column: 1 / -1; font-size: .85rem; color: var(--muted); border-top: 1px dashed var(--line); padding-top: 6px; }
@media (max-width: 760px) { .rank-row { grid-template-columns: 90px minmax(0, 1fr); } .rank-bonus, .rank-cta { grid-column: 1 / -1; } }

/* Content layout */
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; padding: 32px 0 56px; }
@media (max-width: 960px) { .layout { grid-template-columns: 1fr; } }
.breadcrumbs { font-size: 1rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.entry-content { font-size: 1.12rem; line-height: 1.7; }
.entry-content h2 { margin-top: 1.4em; font-size: 2.2rem; border-top: 3px solid var(--ink); padding-top: .35em; }
.entry-content h3 { margin-top: 1.2em; }
.entry-content table { width: 100%; margin: 1.5em 0; background: var(--white); border: 2px solid var(--ink); font-size: 1rem; }
.entry-content th { background: var(--ink); color: #fff; font: 800 1rem/1.1 var(--cond); text-transform: uppercase; letter-spacing: .08em; text-align: left; padding: 8px 10px; }
.entry-content td { border-top: 1px solid var(--line); padding: 8px 10px; }
.entry-content tr:nth-child(even) td { background: var(--celeste-3); }
.entry-content blockquote { margin: 1.6em 0; padding: 16px 20px; background: var(--celeste); border-left: 6px solid var(--ink); font-size: 1.25rem; font-style: italic; color: var(--ink); }
.entry-content blockquote p:last-child { margin: 0; }

/* Review */
.review-hero { display: grid; grid-template-columns: 160px minmax(0, 1fr) 260px; gap: 24px; align-items: center; background: var(--white); border: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--celeste); padding: 18px; margin-bottom: 28px; }
.review-hero .rank-logo { height: 100px; }
.review-hero .rank-logo img { max-height: 80px; }
.review-cta { background: var(--celeste); border: 2px solid var(--ink); padding: 14px; }
.review-cta .rank-bonus { font-size: 1.1rem; margin-bottom: 12px; }
.review-cta .rank-bonus small { color: var(--ink); }
.review-cta .btn-sol { background: var(--white); }
@media (max-width: 860px) { .review-hero { grid-template-columns: 1fr; } }
.facts { margin: 0 0 28px; border: 2px solid var(--ink); background: var(--white); }
.fact { display: grid; grid-template-columns: 200px minmax(0, 1fr); border-top: 1px solid var(--line); }
.fact:first-child { border-top: 0; }
.fact dt { background: var(--ink); color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 8px 12px 6px; }
.fact:nth-child(even) dd { background: var(--celeste-3); }
.fact dd { margin: 0; padding: 8px 12px; font-weight: 600; }
@media (max-width: 560px) { .fact { grid-template-columns: 1fr; } }
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 28px; }
@media (max-width: 640px) { .proscons { grid-template-columns: 1fr; } }
.proscons > div { border: 2px solid var(--ink); background: var(--white); padding: 0 14px 10px; }
.proscons h3 { margin: -2px -16px 10px; padding: 8px 14px 6px; font-size: 1.2rem; letter-spacing: .08em; color: #fff; }
.pros h3 { background: var(--marino); }
.cons h3 { background: var(--ink); }
.proscons ul { list-style: none; margin: 0; padding: 0; }
.proscons li { padding: 6px 0 6px 26px; position: relative; border-bottom: 1px dashed var(--line); font-size: 1rem; }
.proscons li:last-child { border: 0; }
.pros li::before { content: "▲"; position: absolute; left: 0; top: 8px; color: var(--up); font: 800 .9rem var(--cond); }
.cons li::before { content: "▼"; position: absolute; left: 0; top: 8px; color: var(--down); font: 800 .9rem var(--cond); }

/* Sidebar */
.sidebar .widget { background: var(--white); border: 2px solid var(--ink); padding: 0 14px 10px; margin-bottom: 24px; }
.sidebar .widget-title { background: var(--ink); color: #fff; font-size: 1.15rem; font-weight: 800; letter-spacing: .08em; margin: -2px -16px 10px; padding: 8px 14px 6px; }
.sidebar ul { list-style: none; margin: 0; padding: 0; counter-reset: mini; }
.sidebar li { padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 1rem; }
.sidebar li:last-child { border: 0; }
.mini-rank li { display: flex; align-items: baseline; gap: 10px; }
.mini-rank li::before { counter-increment: mini; content: counter(mini); font: 900 1.5rem/1 var(--cond); color: var(--marino); min-width: 18px; }
.mini-rank li a { flex: 1; font: 800 1.15rem/1.1 var(--cond); text-transform: uppercase; color: var(--ink); text-decoration: none; }

/* Responsible gambling – full celeste band */
.rg-band { background: var(--celeste); border-top: 3px solid var(--ink); padding: 26px 0; color: var(--ink); }
.rg-band .wrap { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.rg-band h3 { margin: 0 0 4px; font-size: 1.8rem; }
.rg-band p { margin: 0; max-width: 720px; font-size: 1.05rem; }
.rg-band .badge-18 { color: var(--ink); border-width: 3px; font-size: 1.2rem !important; width: 60px !important; height: 60px !important; }

/* Footer – navy */
.site-footer { background: var(--marino); color: #dce8f5; padding: 40px 0 22px; font-size: 1rem; border-top: 3px solid var(--ink); }
.site-footer .brand { color: #fff; font-size: clamp(2.4rem, 6vw, 3.6rem); }
.site-footer p { color: #dce8f5; }
.footer-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 28px; }
@media (max-width: 860px) { .footer-cols { grid-template-columns: 1fr 1fr; } .footer-cols > div:first-child { grid-column: 1 / -1; } }
.site-footer h4 { color: var(--celeste); font-size: 1.15rem; letter-spacing: .1em; margin-bottom: 10px; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { padding: 3px 0; }
.site-footer a { color: #fff; text-decoration-color: var(--celeste); }
.footer-legal { border-top: 1px solid rgba(255,255,255,.25); margin-top: 30px; padding-top: 16px; font-size: .95rem; letter-spacing: .03em; display: flex; gap: 16px; justify-content: space-between; flex-wrap: wrap; }
.footer-legal .badge-18 { color: var(--celeste); }

/* Age gate */
.age-gate { position: fixed; inset: 0; z-index: 9999; background: var(--celeste); display: none; place-items: center; padding: 16px; }
.age-gate.is-visible { display: grid; }
.age-gate-box { max-width: 460px; width: 100%; background: var(--white); border: 3px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); padding: 28px 24px; text-align: center; }
.age-gate-box h2 { font-size: 2.6rem; }
.age-gate-box .badge-18 { width: 64px; height: 64px; font-size: 1.3rem; border-width: 3px; margin: 0 auto 14px; display: grid; color: var(--ink); }
.age-gate-actions { display: flex; gap: 12px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }
.age-gate-box small { display: block; margin-top: 14px; color: var(--muted); font: 600 .95rem var(--cond); text-transform: uppercase; letter-spacing: .04em; }

/* Misc */
.pagination { display: flex; gap: 6px; justify-content: center; margin-top: 32px; flex-wrap: wrap; }
.pagination .page-numbers { font: 800 1.1rem/1 var(--cond); padding: 8px 12px 6px; border: 2px solid var(--ink); color: var(--ink); text-decoration: none; background: var(--white); }
.pagination .current { background: var(--celeste); }
.search-form { display: flex; }
.search-form input[type=search] { flex: 1; min-width: 0; background: var(--white); border: 2px solid var(--ink); border-right: 0; color: var(--text); padding: 8px 10px; font: 1rem var(--serif); }
.search-form .btn-sol { box-shadow: none; }
.alignwide { max-width: 1100px; } .alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.wp-caption-text, figcaption { font-size: .9rem; font-style: italic; color: var(--muted); margin-top: 6px; }
