/* Correzioni del tema sopra il design. */
[hidden] { display: none !important; }
.testo-lungo { max-width: 72ch; margin: 0 auto; padding: 120px 24px 80px; }
.testo-lungo p, .testo-lungo ul, .testo-lungo ol { margin: 0 0 1em; }
.testo-lungo ul, .testo-lungo ol { padding-left: 1.4em; }

/* Check mobile del 21/10. Campi dei moduli a 16 px: sotto, iOS ingrandisce la pagina al tocco. */
@media (max-width: 767px) {
	input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea { font-size: 16px !important; }
	/* Contatti in header e footer alti 19 px: area di tocco a 27 px senza spostare nulla. */
	a[href^="mailto:"], a[href^="tel:"], a[href*="wa.me/"] { padding-block: 4px; margin-block: -4px; }
}

/* reCAPTCHA v3: badge nascosto (consentito da Google), al suo posto la dicitura sotto i moduli (cirillo-ui.js). */
.grecaptcha-badge { visibility: hidden !important; }
.cr-recaptcha { margin: 4px 0 0; font-size: 12px; line-height: 1.5; opacity: .65; }
.cr-recaptcha a { color: inherit; text-decoration: underline; }

/* Ricerca nel menu (22/10, non è nel design, cirillo-ui.js). Da 1440 px barra visibile fra le voci e
   Richiedi preventivo; da 1024 a 1439 px una lente la apre in una fascia sotto il menu; su mobile sta
   in cima al menu dell'hamburger. */
.cr-cerca { position: relative; font-family: inherit; }
.cr-cerca__campo { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border: 1px solid rgba(250, 250, 255, .35); border-radius: 999px; background: rgba(250, 250, 255, .06); color: rgb(250, 250, 255); cursor: text; transition: border-color .2s, background .2s; }
.cr-cerca__campo:focus-within { border-color: rgba(250, 250, 255, .8); background: rgba(250, 250, 255, .12); }
.cr-cerca__lente { display: flex; flex-shrink: 0; opacity: .8; }
.cr-cerca input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; font-size: 14px; letter-spacing: .02em; }
.cr-cerca input::placeholder { color: rgba(250, 250, 255, .6); }
.cr-cerca__esiti { position: absolute; z-index: 2; top: calc(100% + 10px); right: 0; width: min(400px, calc(100vw - 40px)); max-height: min(70vh, 560px); overflow-y: auto; padding: 8px; background: rgb(255, 255, 255); border: 1px solid rgb(215, 215, 215); border-radius: 14px; box-shadow: 0 24px 48px -20px rgba(19, 17, 34, .35); color: rgb(19, 17, 34); text-align: left; }
.cr-cerca__esiti > a { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 10px; color: inherit; text-decoration: none; }
.cr-cerca__esiti > a:hover, .cr-cerca__esiti > a.is-att { background: rgb(240, 242, 248); }
.cr-cerca__esiti img, .cr-cerca__vuota { flex-shrink: 0; width: 48px; height: 48px; border-radius: 8px; object-fit: cover; background: rgb(240, 242, 248); }
.cr-cerca__esiti b { display: block; font-family: Fraunces, serif; font-style: italic; font-weight: 500; font-size: 17px; line-height: 1.25; }
.cr-cerca__esiti small { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgb(137, 140, 163); }
.cr-cerca__nulla { margin: 0; padding: 14px 12px; font-size: 15px; line-height: 1.55; }
.cr-cerca__nulla a { color: rgb(45, 109, 64); font-weight: 600; text-decoration: underline; }
.cr-cerca-lente { display: none; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; background: transparent; border: 1px solid rgba(250, 250, 255, .35); border-radius: 999px; color: rgb(250, 250, 255); cursor: pointer; }
.cr-cerca-lente:hover, .cr-cerca-lente[aria-expanded="true"] { background: rgba(250, 250, 255, .14); }
.cr-cerca-box { flex: 0 1 210px; min-width: 150px; }
@media (min-width: 1600px) { .cr-cerca-box { flex-basis: 260px; } }
@media (min-width: 1440px) { [data-if$="isWide"] > nav { flex-shrink: 0; } }
@media (max-width: 1439px) and (min-width: 1024px) {
	/* La lente occupa 40 px: si recuperano stringendo un poco gli spazi, così Richiedi preventivo
	   resta dove sta nel design (a 1024 px era già a filo del bordo). */
	.cr-riga { gap: 20px !important; }
	.cr-riga nav { gap: clamp(14px, 1.8vw, 34px) !important; }
	.cr-riga [data-if$="isWide"] > a:last-child { padding-left: 20px !important; padding-right: 20px !important; }
	.cr-cerca-lente { width: 40px; height: 40px; }
}
@media (max-width: 1439px) {
	.cr-cerca-box { flex: 0 0 auto; min-width: 0; }
	.cr-cerca-lente { display: flex; }
	.cr-cerca-box > .cr-cerca { display: none; }
	/* Fascia bianca sotto il menu, come i mega menu del design. */
	.cr-cerca-box.is-aperta > .cr-cerca { display: block; position: absolute; left: 0; right: 0; top: 100%; padding: 20px clamp(20px, 5vw, 96px); background: rgb(255, 255, 255); border-top: 1px solid rgb(203, 214, 234); border-bottom: 1px solid rgb(215, 215, 215); box-shadow: rgba(19, 17, 34, .18) 0 24px 48px -24px; }
	.cr-cerca-box.is-aperta .cr-cerca__campo, .cr-cerca-box.is-aperta .cr-cerca__esiti { max-width: 640px; margin-left: auto; margin-right: auto; }
	.cr-cerca-box.is-aperta .cr-cerca__esiti { position: static; width: auto; margin-top: 10px; box-shadow: none; }
}
/* Versione chiara: fascia desktop e menu mobile hanno lo sfondo bianco. */
.cr-cerca-box.is-aperta .cr-cerca__campo, .cr-cerca--mobile .cr-cerca__campo { border-color: rgb(215, 215, 215); background: rgb(248, 248, 251); color: rgb(19, 17, 34); }
.cr-cerca-box.is-aperta .cr-cerca__campo:focus-within, .cr-cerca--mobile .cr-cerca__campo:focus-within { border-color: rgb(45, 42, 72); background: rgb(255, 255, 255); }
.cr-cerca-box.is-aperta input::placeholder, .cr-cerca--mobile input::placeholder { color: rgb(137, 140, 163); }
@media (min-width: 1440px) { .cr-cerca-box.is-aperta .cr-cerca__campo { border-color: rgba(250, 250, 255, .8); background: rgba(250, 250, 255, .12); color: rgb(250, 250, 255); } }
.cr-cerca-menu { padding: 12px 0 6px; }
.cr-cerca--mobile input { font-size: 16px !important; }
.cr-cerca--mobile .cr-cerca__esiti { position: static; width: auto; max-height: none; margin-top: 8px; padding: 4px 0; border: 0; border-radius: 0; box-shadow: none; }
.cr-cerca--mobile .cr-cerca__esiti > a { padding: 8px 4px; }

/* Selettore di lingua IT / EN (22/10, cirillo-ui.js): a destra nella barra scura in alto da 1024 px,
   in fondo al menu dell'hamburger sotto. */
.cr-barra { position: relative; }
.cr-lingue { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.cr-lingue a { color: inherit; text-decoration: none; opacity: .6; padding: 4px 2px; }
.cr-lingue a:hover, .cr-lingue a[aria-current] { opacity: 1; }
.cr-lingue a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.cr-lingue span { opacity: .35; }
.cr-lingue--barra { position: absolute; top: 50%; right: clamp(20px, 5vw, 96px); transform: translateY(-50%); }
.cr-lingue--menu { gap: 10px; padding: 16px 0 4px; font-size: 14px; color: rgb(19, 17, 34); }
@media (max-width: 1023px) { .cr-lingue--barra { display: none; } }
@media (min-width: 1024px) { .cr-lingue--menu { display: none; } }
