/* TopSmash — token, reset, tipografia
   ------------------------------------------------------------------ */

:root {
	/* Colori sovrascritti dal Customizer (inc/enqueue.php) */
	--ts-green: #e2531a;
	--ts-lime: #f9850e;
	--ts-sky: #1f5fd6;
	/* Verde solo per gli stati positivi (promossa, confermato, fatto) */
	--ts-ok: #1fae6b;

	--ts-bg: #060c22;
	--ts-bg-2: #0a1330;
	--ts-surface: #0f1a3d;
	--ts-surface-2: #13272010;
	--ts-elev: rgba(255, 255, 255, .04);
	--ts-line: rgba(255, 255, 255, .10);
	--ts-line-strong: rgba(255, 255, 255, .18);
	--ts-text: #f2f5fb;
	--ts-muted: #a3b2d1;
	--ts-on-accent: #0a1845;
	/* Testo in evidenza: lime sullo scuro, verde intenso sul chiaro (il arancio chiaro su bianco si legge poco). */
	--ts-accent-ink: var(--ts-lime);
	--ts-link: var(--ts-lime);

	--ts-grad: linear-gradient(135deg, var(--ts-green), var(--ts-sky));
	--ts-grad-soft: linear-gradient(135deg, rgba(18, 160, 106, .18), rgba(65, 201, 226, .12));

	--ts-font-display: "Sora", "Segoe UI", system-ui, -apple-system, sans-serif;
	--ts-font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;

	--ts-step--1: clamp(.82rem, .8rem + .1vw, .88rem);
	--ts-step-0: clamp(1rem, .97rem + .14vw, 1.0625rem);
	--ts-step-1: clamp(1.18rem, 1.1rem + .4vw, 1.4rem);
	--ts-step-2: clamp(1.5rem, 1.3rem + .9vw, 2.1rem);
	--ts-step-3: clamp(2rem, 1.6rem + 1.9vw, 3.1rem);
	--ts-step-4: clamp(2.5rem, 1.8rem + 3.2vw, 4.3rem);

	--ts-gutter: clamp(1.1rem, 4vw, 2.5rem);
	--ts-content: 1180px;
	--ts-narrow: 720px;
	--ts-radius: 18px;
	--ts-radius-lg: 28px;
	--ts-radius-pill: 999px;

	--ts-shadow: 0 18px 50px -24px rgba(0, 0, 0, .75);
	--ts-shadow-lg: 0 40px 90px -40px rgba(0, 0, 0, .85);
	--ts-ease: cubic-bezier(.22, .72, .16, 1);
	--ts-header-h: 72px;
}

.ts-scheme-light,
:root[data-ts-scheme="light"] {
	--ts-bg: #f6f7fb;
	--ts-bg-2: #edf0f7;
	--ts-surface: #ffffff;
	--ts-elev: rgba(10, 24, 69, .03);
	--ts-line: rgba(10, 24, 69, .10);
	--ts-line-strong: rgba(10, 24, 69, .20);
	--ts-text: #0a1845;
	--ts-muted: #55627f;
	--ts-accent-ink: #b8480b;
	--ts-link: #b8480b;
	--ts-shadow: 0 18px 40px -26px rgba(10, 24, 69, .35);
	--ts-shadow-lg: 0 36px 80px -44px rgba(10, 24, 69, .45);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ts-bg);
	color: var(--ts-text);
	font-family: var(--ts-font-body);
	font-size: var(--ts-step-0);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.ts-nav-open { overflow: hidden; }

img, svg, video, canvas { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5 {
	font-family: var(--ts-font-display);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.02em;
	margin: 0 0 .6em;
	text-wrap: balance;
}

h1 { font-size: var(--ts-step-3); }
h2 { font-size: var(--ts-step-2); }
h3 { font-size: var(--ts-step-1); }
h4 { font-size: var(--ts-step-0); letter-spacing: 0; }

p, ul, ol, dl, table, blockquote, figure { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

a { color: inherit; text-decoration: none; }
a:where(.ts-prose a, .entry-content a) { color: var(--ts-accent-ink); text-decoration: underline; text-underline-offset: .22em; text-decoration-thickness: 1px; }

strong { font-weight: 650; }
small { font-size: var(--ts-step--1); }

:where(button, input, select, textarea) { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--ts-lime); outline-offset: 3px; border-radius: 6px; }

::selection { background: var(--ts-lime); color: var(--ts-on-accent); }

hr { border: 0; border-top: 1px solid var(--ts-line); margin: 2.5rem 0; }

blockquote {
	border-left: 3px solid var(--ts-green);
	padding-left: 1.2rem;
	font-size: var(--ts-step-1);
	font-family: var(--ts-font-display);
}

code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }
pre { background: var(--ts-surface); padding: 1rem 1.2rem; border-radius: var(--ts-radius); overflow-x: auto; border: 1px solid var(--ts-line); }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	clip: rect(0 0 0 0); clip-path: inset(50%);
	overflow: hidden; white-space: nowrap;
}

.ts-skip {
	position: absolute; left: 50%; top: 0; transform: translate(-50%, -120%);
	background: var(--ts-lime); color: var(--ts-on-accent);
	padding: .7rem 1.2rem; border-radius: 0 0 12px 12px; font-weight: 700; z-index: 200;
	transition: transform .25s var(--ts-ease);
}
.ts-skip:focus { transform: translate(-50%, 0); }

/* Barra di avanzamento della lettura */
.ts-progress {
	position: fixed; inset: 0 0 auto; height: 3px; z-index: 120;
	background: var(--ts-grad);
	transform: scaleX(var(--ts-progress, 0));
	transform-origin: 0 50%;
	pointer-events: none;
}

/* I titoli delle card sono testo, non link colorati: l'accento solo al passaggio */
.ts-card__title a, .padel-card h4 a, .padel-card__body h4 a, .ts-prose .padel-card h4 a { color: inherit; text-decoration: none; }
.ts-card__title a:hover, .padel-card h4 a:hover { color: var(--ts-accent-ink); }

/* ── Puntatore a pallina da padel (solo mouse) ─────────────────────── */
@media (pointer: fine) {
	html, body {
		cursor: url(../img/cursor-ball.png) 16 16, auto;
		cursor: -webkit-image-set(url(../img/cursor-ball.png) 1x, url(../img/cursor-ball@2x.png) 2x) 16 16, auto;
	}
	a, button, [role="button"], label, select, summary,
	input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"], input[type="date"], input[type="file"] {
		cursor: url(../img/cursor-ball-hover.png) 16 16, pointer !important;
		cursor: -webkit-image-set(url(../img/cursor-ball-hover.png) 1x, url(../img/cursor-ball-hover@2x.png) 2x) 16 16, pointer !important;
	}
	input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], textarea, [contenteditable="true"] {
		cursor: text !important;
	}
	button:disabled, input:disabled, select:disabled, [aria-disabled="true"], .padel-slot.is-busy {
		cursor: not-allowed !important;
	}
}
