/* ==============================================================
   Correzioni 2026 - leggibilità su smartphone e immagini
   (caricato dopo gli altri fogli di stile: qui si aggiungono le modifiche)
================================================================= */

/* Le immagini non escono mai dallo schermo e mantengono le proporzioni */
img { max-width: 100%; height: auto; }

/* Testo più leggibile sui telefoni */
@media only screen and (max-width: 640px) {
	p, li { font-size: 16px; line-height: 1.6; }
	.smallText { font-size: 13px; }
}

/* Link nei recapiti della pagina Contatti: stesso aspetto del testo */
.iconBox h6 a { color: inherit; }

/* Pagina privacy */
.privacyText h4 { margin-top: 2rem; }
.privacyText p { text-align: left; }

/* Casella del consenso nel modulo contatti */
#contactForm input[type="checkbox"] { margin: 0 8px 1rem 0; width: 18px; height: 18px; vertical-align: middle; }
#contactForm label[for="formPrivacy"] { display: inline; font-size: 14px; }
#contactForm label[for="formPrivacy"]:not(.is-invalid-label) { color: #444; font-style: normal; }

/* Navigazione tra le stagioni (prima squadra e giovanili) */
.archivioStagioni { background: #f4f4f4; border-top: 1px solid #e6e6e6; padding: 28px 0 32px; }
.archivioTitolo { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: #555; margin: 0 0 12px; text-align: center; }
.archivioStagioni ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; }
.archivioStagioni a {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-width: 84px; min-height: 48px; padding: 6px 12px; box-sizing: border-box;
	background: #fff; border: 1px solid #d8d8d8; color: #151618; font-weight: 700; font-size: 15px;
	line-height: 1.2; text-decoration: none;
}
.archivioStagioni a small { font-weight: 400; font-size: 11px; color: #666; }
.archivioStagioni a:hover, .archivioStagioni a:focus { border-color: #151618; }
.archivioStagioni a.attiva { background: #151618; border-color: #151618; color: #fff; }
.archivioStagioni a.attiva small { color: #ccc; }

/* News con testo e foto */
.newsTitolo { margin: 0 0 1rem; }
.newsArticolo p { text-align: left; }
.newsFoto { display: block; max-width: 640px; width: 100%; height: auto; margin: 1rem 0; }
.homeNewsCard img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 6px 0 12px; }

/* ===== Vieni a provare (home e giovanili) ===== */
.provaBox { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px;
	margin: 40px 0; padding: 28px 32px; border-radius: 14px; background: linear-gradient(120deg, #0f1b33 0%, #1a3264 100%); color: #fff; }
.provaTesto { flex: 1 1 380px; }
.provaBox h3 { margin: 0 0 6px; color: #fff; font-size: 1.6rem; }
.provaBox p { margin: 0; color: rgba(255,255,255,.85); font-family: 'Oxygen', sans-serif; font-style: normal; }
.provaBox .provaSopra { margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f39c12; }
.provaAzioni, .doveAzioni { display: flex; flex-wrap: wrap; gap: 10px; }
.doveAzioni { justify-content: center; margin: 18px 0 24px; }
.provaBtn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 999px;
	border: 2px solid currentColor; font-family: 'Oxygen', sans-serif; font-style: normal; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.provaBox .provaBtn { color: #fff; }
.provaBox .provaBtnPieno { background: #fff; border-color: #fff; color: #0f1b33; }
.doveAzioni .provaBtn { color: #1C4596; }
.doveAzioni .provaBtnPieno { background: #1C4596; border-color: #1C4596; color: #fff; }
.provaBtn:hover, .provaBtn:focus-visible { opacity: .88; }
.provaBtn:focus-visible { outline: 2px solid #f39c12; outline-offset: 2px; }
@media only screen and (max-width: 640px) {
	.provaBox { padding: 22px 18px; margin: 28px 0; }
	.provaAzioni { width: 100%; }
	.provaAzioni .provaBtn { flex: 1 1 100%; justify-content: center; }
}

/* ===== Dove giochiamo (contatti) ===== */
.doveIndirizzo { font-family: 'Oxygen', sans-serif; font-style: normal; font-size: 16px; }
.mappaCampo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 260px;
	border-radius: 12px; background: #eef1f6; text-align: center; padding: 20px; }
.mappaCampo p { margin: 0; font-size: 12px; color: #6b7080; font-family: 'Oxygen', sans-serif; font-style: normal; }
.mappaCarica { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px;
	background: #0f1b33; color: #fff; font-family: 'Oxygen', sans-serif; font-weight: 700; font-size: 14px; cursor: pointer; }
.mappaCampo.caricata { padding: 0; overflow: hidden; display: block; }
.mappaCampo iframe { display: block; width: 100%; height: 400px; border: 0; }

/* ===== Pagina 404 ===== */
.pagina404 h1 { font-size: 3rem; margin: 20px 0 8px; }
.pagina404Sotto { font-family: 'Oxygen', sans-serif; font-style: normal; font-size: 17px; color: #555; }
.doveIndirizzo strong { font-family: 'Oxygen', sans-serif; font-style: normal; }

/* ===== Sponsor (pagina Società) ===== */
.sponsorTitolo { margin: 34px 0 14px; text-align: center; font-family: 'Oxygen', sans-serif; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6b7080; }
.sponsorGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; }
.sponsorGrid li { margin: 0; }
.sponsorGrid a, .sponsorGrid span { display: flex; align-items: center; justify-content: center; height: 120px; padding: 16px 20px;
	border: 1px solid #e7e9ee; border-radius: 12px; background: #fff; transition: box-shadow .2s, transform .2s; }
.sponsorGrid a:hover, .sponsorGrid a:focus-visible { box-shadow: 0 8px 24px rgba(15,27,51,.12); transform: translateY(-2px); }
.sponsorGrid img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.sponsorMain { grid-template-columns: repeat(2, minmax(0, 280px)); justify-content: center; gap: 20px; }
.sponsorMain a, .sponsorMain span { height: 190px; padding: 20px 28px; border-color: #d6dbe6; }
.sponsorTecnico { grid-template-columns: minmax(0, 420px); justify-content: center; }
@media only screen and (max-width: 900px) { .sponsorGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media only screen and (max-width: 640px) {
	.sponsorGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.sponsorGrid a, .sponsorGrid span { height: 96px; padding: 12px 14px; }
	.sponsorMain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sponsorMain a, .sponsorMain span { height: 140px; }
	.sponsorTecnico { grid-template-columns: 1fr; }
}

/* ===== Fascia sponsor che scorre (home) ===== */
.sponsorFascia { padding: 26px 0 30px; background: #fff; border-top: 1px solid #e7e9ee; }
.sponsorFasciaTitolo { margin: 0 0 14px; text-align: center; font-family: 'Oxygen', sans-serif; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sponsorFasciaTitolo a { color: #6b7080; }
.sponsorNastro { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.sponsorTraccia { display: flex; width: max-content; margin: 0; animation: sponsorScorri 60s linear infinite; }
.sponsorNastro:hover .sponsorTraccia, .sponsorNastro:focus-within .sponsorTraccia { animation-play-state: paused; }
.sponsorTraccia li { flex: none; margin: 0 14px; }
.sponsorTraccia a, .sponsorTraccia span { display: flex; align-items: center; justify-content: center; width: 150px; height: 80px; }
.sponsorTraccia img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
@keyframes sponsorScorri { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.sponsorTraccia { animation: none; width: auto; flex-wrap: wrap; justify-content: center; padding: 0 16px; }
	.sponsorTraccia li[aria-hidden="true"] { display: none; }
}
@media only screen and (max-width: 640px) {
	.sponsorTraccia a, .sponsorTraccia span { width: 110px; height: 60px; }
	.sponsorTraccia li { margin: 0 10px; }
}

/* ===== Footer ordinato (tutte le pagine): campo sopra, copyright sotto, social a destra ===== */
.footerSmall.footerOrdinato { padding: 22px 0; display: flex; flex-wrap: wrap; align-items: center; }
.footerSmall.footerOrdinato p { line-height: 1.6; margin: 0; text-align: left; }
.footerSmall.footerOrdinato p a { line-height: inherit; }
.footerSmall.footerOrdinato .footerCampo { margin-bottom: 4px; }
.footerSmall.footerOrdinato .footerSocial .socialIcons { text-align: right; }
.footerSmall.footerOrdinato .socialIcons a, .footerSmall.footerOrdinato .socialIcons a [class^="icon-"] { line-height: 40px; }
@media only screen and (max-width: 1023px) {
	.footerSmall.footerOrdinato p, .footerSmall.footerOrdinato .footerSocial .socialIcons { text-align: center; }
	.footerSmall.footerOrdinato .footerSocial { margin-top: 6px; }
}

/* ===== Fascia titolo NEWS più bassa (home) ===== */
.fasciaTitolo > .row { padding: 22px 20px; }
.fasciaTitolo h3 { margin: 0; }

/* ===== Contatti: sezione Dove giochiamo più vicina ai contatti ===== */
.doveSezione { padding-top: 10px !important; }
.doveSezione .doveAzioni { margin-top: 10px; }

/* ===== Società: meno spazio tra Direttivo, Safeguarding e Sponsor ===== */
.sezioneSocieta { padding-top: 24px !important; padding-bottom: 24px !important; }

/* Fascia sponsor e pulsanti delle stagioni larghi come il riquadro bianco dei contenuti */
.boxed .sponsorFascia, .boxed .archivioStagioni { width: 100%; max-width: 1400px; margin-left: auto; margin-right: auto; }
@media only screen and (min-width: 64em) {
	.boxed .sponsorFascia, .boxed .archivioStagioni { width: calc(100% - 32px); }
}
.fbContatti { border-top: 1px solid #e7e9ee; }

/* ===== Contatti: "Dove giochiamo" dentro il primo riquadro ===== */
.iconBox .doveTitolo { margin: 0 0 18px; font-size: 1.6rem; text-align: center; }
.iconBox .doveBtn { margin-top: 18px; color: #fff; background: #1C4596; border-color: #1C4596; }
.iconBox .doveBtn span[class^="icon-"] { font-size: 16px; margin: 0; color: #fff; }
.doveSezione .mappaCampo { margin-top: 20px; }

/* Home: meno spazio tra il pulsante NEWS e la Serie B; titolo sponsor più grande */
.newsBottone .button { margin-bottom: 0; }
.stagioneHome { padding-top: 0 !important; }
.sponsorFasciaTitolo { font-size: 18px; letter-spacing: .1em; margin-bottom: 20px; }
@media only screen and (max-width: 640px) { .sponsorFasciaTitolo { font-size: 16px; } }

/* ===== 5x1000 (Società) ===== */
.box5x1000 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px;
	margin: 40px 0 0; padding: 28px 32px; border-radius: 14px; background: #fff6ee; border: 2px solid #f3c9a6; }
.box5x1000 h3 { margin: 0 0 6px; font-size: 1.6rem; }
.box5x1000 p { margin: 0; font-family: 'Oxygen', sans-serif; font-style: normal; color: #444; }
.box5x1000 .provaSopra { margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #e8732a; }
.cfBox { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 14px 18px; border-radius: 12px; background: #fff; border: 1px solid #f3c9a6; }
.cfEtichetta { width: 100%; font-family: 'Oxygen', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6b7080; }
.cfNumero { font-family: 'Oxygen', sans-serif; font-size: 26px; font-weight: 700; letter-spacing: .06em; color: #151618; font-variant-numeric: tabular-nums; user-select: all; }
.cfCopia { background: #e8732a !important; border-color: #e8732a !important; color: #fff !important; cursor: pointer; }
@media only screen and (max-width: 640px) {
	.box5x1000 { padding: 22px 18px; margin-top: 28px; }
	.cfBox { width: 100%; justify-content: space-between; }
	.cfNumero { font-size: 22px; }
}
.footerSmall.footerOrdinato .footer5x1000 { margin-bottom: 4px; }
