/* VipMatch — stile di base. Volutamente semplice e neutro: pensato per
   essere facile da adattare ai colori del sito in un secondo momento.

   Nota: il tema del sito applica ai titoli e ai pulsanti un colore testo
   chiaro (pensato per i suoi sfondi scuri) che dentro i nostri sfondi
   chiari li rende illeggibili. Per questo ogni riga di testo qui sotto
   dichiara il proprio colore con !important: non è una scelta elegante,
   ma garantisce che il quiz resti leggibile a prescindere dal tema
   attivo, senza dover modificare i file del tema. */

/* Il testo di intro (2-3 frasi, sia sotto la foto di un personaggio sia
   sotto il banner della pagina hub) è il contenuto normale della pagina,
   gestito dal tema — non dal box del quiz qui sotto. Il tema non impone
   una dimensione specifica per questo paragrafo (eredita la base del
   sito): qui lo ingrandiamo leggermente. Questo file CSS si carica solo
   nelle pagine di VipMatch (hub e personaggi), quindi non tocca la
   dimensione del testo altrove sul sito. */
.entry-content p {
	font-size: 17px;
	line-height: 1.6;
}

/* Banner d'apertura della pagina hub /vipmatch/ — stretto e lungo, stesso
   linguaggio visivo (scuro/oro) del banner sidebar, ma a piena larghezza
   del contenuto invece che stretto in una colonna laterale. */
.vipmatch-hero {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	aspect-ratio: 5 / 1;
	max-width: 900px;
	background: linear-gradient(135deg, #1a1a1a, #3a0d0d 70%, #c80000);
	border: 2px solid #f7b500;
	border-radius: 12px;
	padding: 0 24px;
	box-sizing: border-box;
	margin: 0 0 20px;
	overflow: hidden;
}
.vipmatch-hero-icona {
	flex-shrink: 0;
	height: 60%;
	width: auto;
	aspect-ratio: 1 / 1;
}
.vipmatch-hero-testo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.25;
	min-width: 0;
}
.vipmatch-hero-titolo {
	color: #fff !important;
	font-weight: 800;
	font-size: clamp(20px, 5vw, 34px);
	letter-spacing: 0.03em;
}
.vipmatch-hero-sub {
	color: #f7b500 !important;
	font-weight: 600;
	font-size: clamp(12px, 2.4vw, 17px);
}

.vipmatch-root {
	max-width: 560px;
	margin: 24px auto;
	padding: 24px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
	font-family: inherit;
	color: #222 !important;
}

.vipmatch-loading {
	text-align: center;
	color: #888 !important;
}

/* Intro */
.vipmatch-intro {
	text-align: center;
	padding: 16px 0;
}

.vipmatch-start-btn,
.vipmatch-restart-btn {
	display: inline-block;
	background: #d92b2b;
	color: #fff !important;
	border: none;
	padding: 14px 32px;
	font-size: 17px;
	font-weight: 600;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.vipmatch-start-btn:hover,
.vipmatch-restart-btn:hover {
	background: #b81f1f;
}

.vipmatch-meta {
	margin-top: 12px;
	color: #888 !important;
	font-size: 14px !important;
}

/* Barra di progresso */
.vipmatch-progress {
	height: 6px;
	background: #eee;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 12px;
}

.vipmatch-progress-bar {
	height: 100%;
	background: #d92b2b;
	transition: width 0.2s ease;
}

.vipmatch-contatore {
	color: #999 !important;
	font-size: 13px !important;
	margin: 0 0 8px;
}

.vipmatch-domanda {
	font-size: 20px;
	margin: 0 0 18px;
	line-height: 1.35;
	color: #1a1a1a !important;
}

.vipmatch-risposte {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.vipmatch-risposta-btn {
	text-align: left;
	background: #f7f7f7;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 14px 16px;
	font-size: 15px;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
	color: #222 !important;
}

.vipmatch-risposta-btn:hover {
	background: #fdeaea;
	border-color: #d92b2b;
}

/* Risultato */
.vipmatch-risultato {
	text-align: center;
}

.vipmatch-risultato-entry {
	color: #666 !important;
	font-size: 15px !important;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px dashed #ddd;
}

.vipmatch-risultato-main h3 {
	font-size: 16px;
	color: #888 !important;
	font-weight: 500;
	margin: 8px 0 4px;
}

.vipmatch-risultato-foto {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 50%;
	margin: 0 auto;
	display: block;
	border: 3px solid #d92b2b;
}

.vipmatch-risultato-nome {
	font-size: clamp(32px, 8vw, 46px) !important;
	font-weight: 800;
	line-height: 1.15;
	margin: 6px 0;
	color: #1a1a1a !important;
}

.vipmatch-risultato-perc {
	font-size: 40px !important;
	font-weight: 800;
	color: #d92b2b !important;
	margin: 0 0 20px;
}

.vipmatch-top3-titolo {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #999 !important;
	margin: 20px 0 8px;
}

.vipmatch-top3 {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	color: #444 !important;
	font-size: 15px;
}

.vipmatch-top3 li {
	padding: 4px 0;
	color: #444 !important;
}

.vipmatch-condividi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: 8px;
}

.vipmatch-share-btn {
	background: #f7f7f7;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	color: #222 !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.vipmatch-share-btn:hover {
	background: #fdeaea;
	border-color: #d92b2b;
}

.vipmatch-copia-conferma {
	text-align: center;
	color: #2a7a2a !important;
	font-size: 13px !important;
	margin: 0 0 8px;
}

.vipmatch-azioni {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
}

.vipmatch-hub-link {
	color: #d92b2b !important;
	text-decoration: none;
	font-size: 14px;
}

.vipmatch-hub-link:hover {
	text-decoration: underline;
}

@media (max-width: 480px) {
	.vipmatch-root {
		margin: 12px;
		padding: 18px;
	}
	.vipmatch-domanda {
		font-size: 18px;
	}
	.vipmatch-risultato-perc {
		font-size: 34px;
	}
}
