/* Pagina classifica TotoTennis = landing dedicata.
   Nasconde header/menu del tema sui selettori più comuni dei temi WP. */
body.tt-classifica-fullscreen .site-header,
body.tt-classifica-fullscreen #masthead,
body.tt-classifica-fullscreen #site-header,
body.tt-classifica-fullscreen .main-navigation,
body.tt-classifica-fullscreen #site-navigation,
body.tt-classifica-fullscreen .menu-primary-container,
body.tt-classifica-fullscreen .nav-primary,
body.tt-classifica-fullscreen #nav-primary,
body.tt-classifica-fullscreen .navbar,
body.tt-classifica-fullscreen #navbar,
body.tt-classifica-fullscreen #header,
body.tt-classifica-fullscreen .site-branding,
body.tt-classifica-fullscreen .site-title,
body.tt-classifica-fullscreen .header-image,
body.tt-classifica-fullscreen .header-search,
body.tt-classifica-fullscreen .header-widget-area,
body.tt-classifica-fullscreen .menu-toggle,
body.tt-classifica-fullscreen .mobile-menu,
body.tt-classifica-fullscreen .nav-menu,
body.tt-classifica-fullscreen #top-bar,
body.tt-classifica-fullscreen .top-bar,
body.tt-classifica-fullscreen .topbar,
body.tt-classifica-fullscreen > header,
body.tt-classifica-fullscreen #page > header,
body.tt-classifica-fullscreen .page-header,
body.tt-classifica-fullscreen #header-outer,
/* Tema iSh / Specular / Hosanna usato da TC Santa Croce */
body.tt-classifica-fullscreen .ish-part_header,
body.tt-classifica-fullscreen .ish-part_searchbar,
body.tt-classifica-fullscreen .ish-ph-main_nav,
body.tt-classifica-fullscreen [class*="ish-ph"],
body.tt-classifica-fullscreen [class^="ish-part_header"],
/* Wildcard di sicurezza su classi che contengono "header" o "nav" come prefisso */
body.tt-classifica-fullscreen [class*="site-header"],
body.tt-classifica-fullscreen [class*="main-menu"],
body.tt-classifica-fullscreen [class*="primary-menu"] {
	display: none !important;
}

/* Recupera lo spazio in cima dove c'era l'header del tema.
   Reset aggressivo: copre body, .ish-body, e TUTTI i wrapper noti
   (iSh + Visual Composer + Twenty XX defaults). */
body.tt-classifica-fullscreen,
body.tt-classifica-fullscreen .ish-body,
body.tt-classifica-fullscreen .ish-wrapper-all,
body.tt-classifica-fullscreen .site-content,
body.tt-classifica-fullscreen #content,
body.tt-classifica-fullscreen .content-area,
body.tt-classifica-fullscreen main,
body.tt-classifica-fullscreen .main-content,
body.tt-classifica-fullscreen .ish-part_content,
body.tt-classifica-fullscreen .ish-part_content > *,
body.tt-classifica-fullscreen .ish-row,
body.tt-classifica-fullscreen .ish-row_inner,
body.tt-classifica-fullscreen .ish-vc_row_inner,
body.tt-classifica-fullscreen .ish-row-notfull,
body.tt-classifica-fullscreen .ish-row_notsection,
body.tt-classifica-fullscreen .wpb_row,
body.tt-classifica-fullscreen .vc_row,
body.tt-classifica-fullscreen .vc_row-fluid,
body.tt-classifica-fullscreen .vc_column-inner,
body.tt-classifica-fullscreen .wpb_wrapper {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Il margine di .tt-public diventa minimal sulla landing */
body.tt-classifica-fullscreen .tt-public {
	margin-top: 0 !important;
	padding-top: 1.25em !important;
}

/* TotoTennis classifica pubblica — UI stile Claude */

.tt-public {
	--tt-bg:        #fafaf7;
	--tt-surface:   #ffffff;
	--tt-text:      #1a1a1a;
	--tt-muted:     #6b6a64;
	--tt-border:    #e7e5dc;
	--tt-border-2:  #d6d3c4;
	--tt-accent:    #cc785c;
	--tt-accent-hi: #b8634a;
	--tt-accent-soft:#fbeee7;
	--tt-gold:      #d4a017;
	--tt-gold-soft: #fff7e0;
	--tt-danger:    #b3261e;

	max-width: 880px;
	margin: 2em auto;
	padding: 0 1em;
	font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--tt-text);
	line-height: 1.5;
}
.tt-public *, .tt-public *::before, .tt-public *::after { box-sizing: border-box; }

.tt-public-header { text-align: center; margin-bottom: 1.5em; }
.tt-public-header h1,
.tt-public-brand {
	font-size: 2em;
	font-weight: 700;
	letter-spacing: -.025em;
	margin: 0 0 .1em;
	line-height: 1.1;
}
.tt-public-edition {
	font-size: 1.2em;
	font-weight: 600;
	color: var(--tt-text);
	letter-spacing: -.01em;
	margin: .1em 0 .4em;
}
.tt-public-sub { color: var(--tt-muted); margin: 0; font-size: .9em; }

@media (max-width: 600px) {
	.tt-public-header h1,
	.tt-public-brand { font-size: 1.5em; }
	.tt-public-edition { font-size: 1em; }
	.tt-public-sub { font-size: .82em; }
}

/* Stats */
.tt-public-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: .75em;
	margin-bottom: 1.5em;
}
.tt-public-stat {
	background: var(--tt-surface);
	border: 1px solid var(--tt-border);
	border-radius: 14px;
	padding: 1em 1.1em;
	text-align: center;
}
.tt-public-stat-label { font-size: .75em; color: var(--tt-muted); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.tt-public-stat-value { font-size: 2em; font-weight: 700; line-height: 1.1; margin-top: .15em; color: var(--tt-text); }
.tt-public-stat-sub { font-size: .8em; color: var(--tt-muted); margin-top: .25em; }
.tt-public-stat-pot {
	background: linear-gradient(180deg, var(--tt-gold-soft) 0%, #fffefa 100%);
	border-color: #ead380;
	position: relative;
}
.tt-public-stat-pot .tt-public-stat-value { color: var(--tt-gold); }

/* Alert "mancano N quote" cliccabile sul montepremi */
.tt-pot-alert {
	margin-top: .5em;
	display: inline-flex;
	align-items: center;
	gap: .25em;
	background: #fff3cd;
	border: 1px solid #f4d77a;
	color: #8a6d00;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: .72em;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	font-family: inherit;
	line-height: 1.3;
	transition: background .15s, transform .12s;
}
.tt-pot-alert:hover {
	background: #ffe69a;
	transform: translateY(-1px);
}

/* Stat box cliccabile (Partecipanti) */
button.tt-public-stat-clickable {
	font: inherit;
	color: inherit;
	cursor: pointer;
	width: 100%;
	text-align: center;
	box-shadow: none;
	transition: transform .12s ease, border-color .15s ease, box-shadow .15s ease;
}
button.tt-public-stat-clickable:not(:disabled):hover {
	border-color: var(--tt-accent);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
button.tt-public-stat-clickable:not(:disabled):active {
	transform: translateY(0);
}
button.tt-public-stat-clickable:disabled {
	cursor: default;
	opacity: .85;
}
.tt-public-stat-icon {
	color: var(--tt-accent);
	font-size: .85em;
	margin-left: .15em;
}

/* Modal partecipanti */
dialog.tt-modal {
	border: none;
	border-radius: 16px;
	padding: 0;
	max-width: 480px;
	width: 92%;
	max-height: 80vh;
	background: var(--tt-surface);
	color: var(--tt-text);
	box-shadow: 0 20px 60px rgba(0,0,0,.25);
	font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	overflow: hidden;
}
dialog.tt-modal::backdrop {
	background: rgba(20, 18, 16, .55);
	backdrop-filter: blur(2px);
}
.tt-modal-close-form { margin: 0; }
.tt-modal-close {
	position: absolute;
	top: 14px; right: 14px;
	width: 32px; height: 32px;
	border: none;
	background: var(--tt-bg);
	color: var(--tt-text);
	font-size: 16px;
	font-weight: 700;
	border-radius: 50%;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	transition: background .15s;
}
.tt-modal-close:hover { background: var(--tt-border); }
.tt-modal-title {
	font-size: 1.25em;
	font-weight: 600;
	margin: 0;
	padding: 1.5em 1.5em .25em;
	letter-spacing: -.01em;
}
.tt-modal-sub {
	margin: 0;
	padding: 0 1.5em 1em;
	color: var(--tt-muted);
	font-size: .9em;
}
.tt-modal-list {
	list-style: none;
	margin: 0;
	padding: 0 1.5em 1.5em;
	max-height: calc(80vh - 130px);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: .3em;
}
.tt-modal-list li {
	padding: .55em .75em;
	border-radius: 8px;
	background: var(--tt-bg);
	font-size: .98em;
	display: flex;
	align-items: center;
}
.tt-modal-list li:nth-child(even) { background: #f5f0e9; }
.tt-modal-name strong { font-weight: 600; margin-right: .25em; }

/* Partite dentro il modal */
.tt-modal-matches {
	padding: 0 1.5em 1.5em;
	max-height: calc(80vh - 130px);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: .65em;
}
.tt-match-card {
	background: var(--tt-bg);
	border: 1px solid var(--tt-border);
	border-radius: 12px;
	padding: .85em 1em;
}
.tt-match-card-done {
	background: linear-gradient(180deg, #f2faf3 0%, var(--tt-bg) 100%);
	border-color: #c6e2cb;
}
.tt-match-card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: .5em;
	gap: .5em;
}
.tt-match-card-tournament {
	font-size: .8em;
	color: var(--tt-muted);
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.tt-match-card-status {
	font-size: .7em;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.tt-match-card-status-done    { background: #e1f3e6; color: #2f8a4f; }
.tt-match-card-status-pending { background: #fcf5d8; color: #b07900; }

.tt-match-card-players {
	font-size: 1.05em;
	font-weight: 500;
	display: flex;
	flex-wrap: wrap;
	gap: .35em;
	align-items: baseline;
}
.tt-match-card-players .tt-match-vs {
	color: var(--tt-muted);
	font-weight: 400;
	font-size: .85em;
}
.tt-match-winner {
	font-weight: 700;
	color: var(--tt-accent);
}

.tt-match-card-score {
	margin-top: .5em;
	padding-top: .5em;
	border-top: 1px dashed var(--tt-border);
	font-size: 1em;
}
.tt-match-card-score strong { font-size: 1.1em; letter-spacing: .03em; }
.tt-match-card-score small { color: var(--tt-muted); margin-left: .5em; }

@media (max-width: 500px) {
	dialog.tt-modal { border-radius: 16px 16px 0 0; max-width: 100%; width: 100%; margin: auto 0 0; }
	.tt-modal-title { padding-top: 1.25em; }
}

/* Section */
.tt-public-section-title {
	font-size: 1.3em; font-weight: 600;
	margin: 1.5em 0 .25em;
	letter-spacing: -.01em;
}
.tt-public-hint { color: var(--tt-muted); margin: 0 0 1em; font-size: .9em; }
.tt-public-empty { text-align: center; color: var(--tt-muted); padding: 2em 1em; }

/* Stato "Classifica in arrivo dopo la prima giocata" */
.tt-public-coming {
	background: var(--tt-surface);
	border: 1px solid var(--tt-border);
	border-radius: 14px;
	padding: 2.5em 1.5em;
	text-align: center;
	margin: 1em 0;
}
.tt-public-coming-icon {
	font-size: 3em;
	line-height: 1;
	margin-bottom: .25em;
}
.tt-public-coming h2 {
	font-size: 1.3em;
	font-weight: 600;
	margin: .25em 0 .5em;
	color: var(--tt-text);
	letter-spacing: -.01em;
}
.tt-public-coming p {
	color: var(--tt-muted);
	max-width: 480px;
	margin: 0 auto;
	font-size: .95em;
	line-height: 1.55;
}

/* Leaderboard list */
.tt-public-leaderboard {
	display: flex; flex-direction: column;
	gap: .5em;
}
.tt-public-row {
	background: var(--tt-surface);
	border: 1px solid var(--tt-border);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .2s;
}
.tt-public-row[open] { border-color: var(--tt-accent); }
.tt-public-rank-1 { background: linear-gradient(180deg, var(--tt-gold-soft) 0%, #fffefa 100%); border-color: #ead380; }
.tt-public-rank-2, .tt-public-rank-3 { background: linear-gradient(180deg, #fbf7e8 0%, #fffefa 100%); }

.tt-public-row-summary {
	cursor: pointer;
	padding: 1em 1.2em;
	display: grid;
	grid-template-columns: 60px 1fr auto 24px;
	gap: 1em;
	align-items: center;
	list-style: none;
}
.tt-public-row-summary::-webkit-details-marker { display: none; }
.tt-public-row-summary::marker { content: ""; }

.tt-public-rank {
	font-size: 1.5em; font-weight: 700;
	color: var(--tt-text);
	text-align: center;
	display: flex; align-items: center; justify-content: center; gap: .25em;
}
.tt-public-medal { font-size: .9em; }
.tt-public-name { font-size: 1.05em; }
.tt-public-points { font-size: 1.5em; font-weight: 700; color: var(--tt-accent); }
.tt-public-points small { font-weight: 400; color: var(--tt-muted); font-size: .55em; margin-left: .25em; }
.tt-public-toggle { color: var(--tt-muted); font-size: 1.2em; transition: transform .2s; }
.tt-public-row[open] .tt-public-toggle { transform: rotate(180deg); }

.tt-public-history {
	padding: 0 1.2em 1.2em;
	border-top: 1px solid var(--tt-border);
	padding-top: 1em;
}

/* History table */
.tt-public-history .tt-table-wrap { overflow-x: auto; }
.tt-public-history .tt-table {
	width: 100%; border-collapse: collapse;
	font-size: .9em;
	background: transparent;
	border: none;
}
.tt-public-history .tt-table th, .tt-public-history .tt-table td {
	padding: 8px 10px;
	text-align: left;
	border-bottom: 1px solid var(--tt-border);
}
.tt-public-history .tt-table th {
	background: var(--tt-bg); font-size: .8em; font-weight: 600;
	color: var(--tt-muted); text-transform: uppercase; letter-spacing: .04em;
}
.tt-public-history .tt-row-zeroed { background: #fdf3f2; }
.tt-public-history small { color: var(--tt-muted); }
.tt-public-history .tt-zeroed { color: var(--tt-danger); }

.tt-public-footer { text-align: center; color: var(--tt-muted); margin-top: 1.5em; }

/* Regolamento accordion */
.tt-public-rules {
	margin-top: 2em;
	background: var(--tt-surface);
	border: 1px solid var(--tt-border);
	border-radius: 14px;
	overflow: hidden;
}
.tt-public-rules summary {
	cursor: pointer;
	padding: 1em 1.25em;
	font-weight: 600;
	color: var(--tt-text);
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.tt-public-rules summary::-webkit-details-marker { display: none; }
.tt-public-rules summary::marker { content: ""; }
.tt-public-rules summary::after { content: "▾"; color: var(--tt-muted); transition: transform .2s; }
.tt-public-rules[open] summary::after { transform: rotate(180deg); }
.tt-public-rules-body {
	padding: 0 1.25em 1.25em;
	border-top: 1px solid var(--tt-border);
	padding-top: 1em;
	font-size: .95em;
	color: var(--tt-text);
}
.tt-public-rules-body p { margin: .5em 0; }
.tt-public-rules-body ul { margin: .5em 0 .5em 1.2em; }
.tt-public-rules-body li { margin-bottom: .35em; }
.tt-public-rules-body small { color: var(--tt-muted); }

/* Unlock form */
.tt-public-unlock { max-width: 440px; }
.tt-unlock-card {
	background: var(--tt-surface);
	border: 1px solid var(--tt-border);
	border-radius: 14px;
	padding: 1.5em;
	text-align: center;
}
.tt-unlock-error {
	background: #fdecea;
	color: #b3261e;
	padding: .6em .8em;
	border-radius: 8px;
	margin-bottom: 1em;
	font-weight: 500;
	font-size: .95em;
}
.tt-unlock-form { display: flex; flex-direction: column; gap: .9em; align-items: stretch; }
.tt-unlock-form label {
	display: flex; flex-direction: column; gap: .35em;
	text-align: left;
	font-weight: 500;
	font-size: .95em;
	color: var(--tt-text);
}
.tt-unlock-form input[type="password"] {
	padding: 10px 12px;
	border: 1px solid var(--tt-border-2);
	border-radius: 10px;
	font-size: 1em;
	font-family: inherit;
	background: #fff;
	color: var(--tt-text);
	-webkit-appearance: none;
	appearance: none;
}
.tt-unlock-form input[type="password"]:focus {
	outline: none;
	border-color: var(--tt-accent);
	box-shadow: 0 0 0 3px var(--tt-accent-soft);
}
.tt-unlock-btn {
	background: var(--tt-accent);
	color: #fff;
	border: none;
	padding: 11px 16px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 1em;
	cursor: pointer;
	font-family: inherit;
	transition: background .15s;
}
.tt-unlock-btn:hover { background: var(--tt-accent-hi); }
.tt-unlock-hint { color: var(--tt-muted); font-size: .85em; margin: 1em 0 0; }

/* Compact */
.tt-public-compact .tt-public-row-summary { padding: .65em 1em; }
.tt-public-compact .tt-public-rank { font-size: 1.2em; }
.tt-public-compact .tt-public-points { font-size: 1.25em; }

@media (max-width: 600px) {
	.tt-public-row-summary {
		grid-template-columns: 48px 1fr auto 20px;
		gap: .5em;
		padding: .85em 1em;
	}
	.tt-public-points { font-size: 1.25em; }
}
