/* ==========================================================================
   Pagine di testo: FAQ, contatti, privacy, cookie
   ========================================================================== */

.testo-hero { background: var(--pit-navy); color: #fff; }
.testo-hero__briciole { margin: 0; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.testo-hero__briciole a { color: inherit; text-decoration: none; }
.testo-hero__briciole a:hover { text-decoration: underline; }
.testo-hero__titolo {
	margin: 0;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}
.testo-hero__sotto { margin: 0; color: rgba(255, 255, 255, 0.8); }

.testo-corpo { color: var(--pit-navy); }
.testo-corpo h2,
.testo-corpo h3 {
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pit-navy);
}
.testo-corpo p,
.testo-corpo li { color: var(--pit-navy); }
.testo-corpo ul,
.testo-corpo ol { padding-left: 22px; }
.testo-corpo a { color: var(--pit-navy); }
.testo-aggiornato { color: #748190; border-top: 1px solid #E3E8EE; }

/* --- FAQ: ogni domanda si apre e si chiude --- */
.faq-voce { background: #fff; border: 1px solid #868686; border-radius: 10px; box-sizing: border-box; overflow: hidden; }
.faq-domanda {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: left;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pit-navy);
}
.faq-piu { position: relative; flex: 0 0 auto; border-radius: 100px; background: var(--pit-navy); }
.faq-piu::before,
.faq-piu::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.faq-domanda[aria-expanded="true"] .faq-piu::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.faq-risposta { color: var(--pit-navy); }
.faq-risposta p:first-child { margin-top: 0; }
.faq-risposta p:last-child { margin-bottom: 0; }

.faq-aiuto { border: 1px solid #868686; border-radius: 10px; box-sizing: border-box; }
.faq-aiuto h2 {
	margin: 0;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pit-navy);
}
.faq-aiuto p { margin: 0; color: var(--pit-navy); }

/* --- contatti --- */
.ct-titolo {
	margin: 0;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pit-navy);
}
.ct-avviso { margin: 0; border-radius: 10px; box-sizing: border-box; background: rgba(20, 33, 47, 0.07); color: var(--pit-navy); }
.ct-avviso--ko { background: rgba(240, 0, 28, 0.12); }
.ct-esca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct-recapiti { border: 1px solid #868686; border-radius: 10px; box-sizing: border-box; height: fit-content; }
.ct-lista { margin: 0; }
.ct-lista > div { border-bottom: 1px solid #E3E8EE; }
.ct-lista > div:last-child { border-bottom: 0; }
.ct-lista dt { margin: 0; color: #748190; text-transform: uppercase; }
.ct-lista dd { margin: 0; color: var(--pit-navy); }
.ct-lista a { color: var(--pit-navy); }
.ct-nota { color: #748190; }

/* ==========================================================================
   DESKTOP
   ========================================================================== */
@media (min-width: 768px) {
	.testo-page { padding-bottom: 90px; }
	.testo-hero { padding: 210px 0 60px; }
	.testo-hero__briciole { font-size: 14px; line-height: 19px; letter-spacing: 2px; }
	.testo-hero__titolo { margin-top: 18px; font-size: 64px; line-height: 67px; }
	.testo-hero__sotto { margin-top: 20px; max-width: 700px; font-size: 20px; line-height: 27.32px; }

	.testo-corpo { max-width: 820px; margin-top: 60px; font-size: 18px; line-height: 28px; }
	.testo-corpo h2 { margin: 44px 0 16px; font-size: 30px; line-height: 33px; }
	.testo-corpo h3 { margin: 30px 0 12px; font-size: 22px; line-height: 25px; }
	.testo-corpo p { margin: 0 0 16px; }
	.testo-corpo li { margin-bottom: 8px; }
	.testo-aggiornato { margin-top: 46px; padding-top: 20px; font-size: 15px; }

	.faq-intro { margin-bottom: 40px; }
	.faq-elenco { display: flex; flex-direction: column; gap: 14px; margin-top: 60px; max-width: 900px; }
	.faq-domanda { padding: 22px 26px; gap: 24px; font-size: 20px; line-height: 24px; }
	.faq-piu { width: 34px; height: 34px; }
	.faq-piu::before { width: 14px; height: 2px; }
	.faq-piu::after { width: 2px; height: 14px; }
	.faq-risposta { padding: 0 26px 24px; font-size: 17px; line-height: 27px; max-width: 760px; }
	.faq-aiuto { max-width: 900px; margin-top: 40px; padding: 28px 30px 30px; }
	.faq-aiuto h2 { font-size: 24px; line-height: 26px; }
	.faq-aiuto p { margin-top: 10px; font-size: 17px; line-height: 25px; }
	.faq-aiuto__btn { margin-top: 20px; min-width: 232px; height: 44px; padding: 0 4.7px 0 18px; font-size: 12.17px; line-height: 16.62px; letter-spacing: 1.7px; }
	.faq-aiuto__btn img { width: 34px; height: 34px; }

	.ct-griglia { display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start; margin-top: 60px; }
	.ct-titolo { font-size: 26px; line-height: 28px; }
	.ct-avviso { margin-top: 20px; padding: 14px 20px; font-size: 16px; line-height: 22px; }
	.ct-form { margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
	.ct-recapiti { padding: 28px 30px 30px; }
	.ct-lista { margin-top: 18px; }
	.ct-lista > div { padding: 12px 0; }
	.ct-lista dt { font-size: 11px; letter-spacing: 1.54px; }
	.ct-lista dd { margin-top: 5px; font-size: 17px; line-height: 24px; }
	.ct-nota { margin: 20px 0 0; font-size: 15px; line-height: 21px; }
	.ct-btn { margin-top: 18px; min-width: 200px; height: 44px; font-size: 12.17px; letter-spacing: 1.7px; }

	/* footer corto come nelle altre pagine interne: quello alto e' solo della home */
	.testo-page ~ .site-footer { padding-top: 96px; }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */
@media (max-width: 767px) {
	.testo-page { padding-bottom: 50px; }
	.testo-hero { padding: 165px 0 40px; }
	.testo-hero__briciole { font-size: 11px; line-height: 15px; letter-spacing: 1.5px; }
	.testo-hero__titolo { margin-top: 12px; font-size: 34px; line-height: 36px; }
	.testo-hero__sotto { margin-top: 14px; font-size: 15px; line-height: 21px; }

	.testo-corpo { margin-top: 34px; font-size: 15px; line-height: 24px; }
	.testo-corpo h2 { margin: 30px 0 12px; font-size: 22px; line-height: 25px; }
	.testo-corpo h3 { margin: 22px 0 10px; font-size: 18px; line-height: 21px; }
	.testo-corpo p { margin: 0 0 14px; }
	.testo-aggiornato { margin-top: 32px; padding-top: 16px; font-size: 13px; }

	.faq-intro { margin-bottom: 26px; }
	.faq-elenco { display: flex; flex-direction: column; gap: 12px; margin-top: 34px; }
	.faq-domanda { padding: 16px 18px; gap: 14px; font-size: 16px; line-height: 20px; }
	.faq-piu { width: 28px; height: 28px; }
	.faq-piu::before { width: 12px; height: 2px; }
	.faq-piu::after { width: 2px; height: 12px; }
	.faq-risposta { padding: 0 18px 18px; font-size: 14px; line-height: 22px; }
	.faq-aiuto { margin-top: 26px; padding: 20px 18px 22px; }
	.faq-aiuto h2 { font-size: 19px; line-height: 21px; }
	.faq-aiuto p { margin-top: 8px; font-size: 14px; line-height: 21px; }
	.faq-aiuto__btn { margin-top: 16px; min-width: 196px; height: 38px; padding: 0 4.2px 0 14px; font-size: 10px; line-height: 13.66px; letter-spacing: 1.4px; }
	.faq-aiuto__btn img { width: 30px; height: 30px; }

	.ct-griglia { display: flex; flex-direction: column; gap: 24px; margin-top: 34px; }
	.ct-titolo { font-size: 20px; line-height: 22px; }
	.ct-avviso { margin-top: 14px; padding: 11px 14px; font-size: 14px; line-height: 19px; }
	.ct-form { margin-top: 18px; grid-template-columns: 1fr; gap: 14px; }
	.ct-recapiti { padding: 20px 18px 22px; }
	.ct-lista { margin-top: 14px; }
	.ct-lista > div { padding: 10px 0; }
	.ct-lista dt { font-size: 10px; letter-spacing: 1.4px; }
	.ct-lista dd { margin-top: 4px; font-size: 15px; line-height: 21px; }
	.ct-nota { margin: 16px 0 0; font-size: 13px; line-height: 19px; }
	.ct-btn { margin-top: 14px; min-width: 180px; height: 38px; font-size: 10px; letter-spacing: 1.4px; }

	.testo-page ~ .site-footer { padding-top: 77px; }
}
