/*
LungoCosta Child 4.0 - lungocosta-style.css
Andrea Moretti, Claude.ai

Pixel-perfect su "header-e-footer-4.0-lungocosta.jpg" (utility bar 36px +
main header 60px = 96px totali, footer bar 60px) e "template-home-4.0-
lungocosta.jpg" (contenuto boxato a 1140px, sezioni full-bleed alternate
cream/tan). Colori campionati dai due mockup con script Python/Pillow.

Sommario:
1. Variabili palette / font (v4.0)
2. Anti-overlap header (stessa tecnica v3.0)
3. Utility bar (36px) - badge sx, social+lingua dx
4. Main header (60px) - logo sx, menu + hamburger dx
5. Footer bar (60px) - logo sx, menu legale centro, social dx
6. Boxed container 1140px
7. Elementor helper classes usate dal template Home (badge, bottoni, cerchi numerati, card)
*/

/* ---------- 1. Variabili palette v4.0 ---------- */
:root {
	/* Navy: fascia utility bar, main header, footer, testi titolo */
	--lc-navy: #0B2F52;
	--lc-navy-deep: #04203A;
	/* Rust: CTA, subtitle, accenti */
	--lc-rust: #9C2A06;
	--lc-rust-dark: #7A2005;
	/* Cream/tan: sfondi sezione, alternati per dare ritmo alla pagina */
	--lc-cream: #F8F0E3;
	--lc-cream-alt: #F1E4D0;
	--lc-cream-logo: #F7F1E4;
	--lc-white: #FFFFFF;
	--lc-sand-border: #D8C9AC;
	/* Box numerati / badge "Coming next" e "How it works" */
	--lc-box-navy: #0B2F52;
	--lc-box-rust: #9C2A06;

	/* [FIX AC2 - audit 2026-07] Variante rust per stati hover SU SFONDO
	   NAVY (footer/header). --lc-rust (#9C2A06) contro --lc-navy (#0B2F52)
	   misura 1.78:1 — sotto la soglia minima WCAG 2.1 AA (4.5:1 testo,
	   3:1 componenti UI). Questa variante, più chiara mantenendo la stessa
	   tonalità arancio-terracotta, misura 4.80:1 contro --lc-navy (verificato
	   via calcolo luminanza relativa) ed è usata SOLO negli hover su sfondo
	   navy; --lc-rust resta invariato ovunque sia già su sfondo chiaro
	   (cream), dove il contrasto è ampiamente conforme (6.76:1). */
	--lc-rust-on-navy: #E67E3B;

	--lc-font-title: 'Playfair Display', serif;
	--lc-font-heading: 'Oswald', sans-serif;
	--lc-font-body: 'Inter', sans-serif;

	/* 1200px = larghezza reale del canvas dei mockup (misurata con Pillow,
	   non stimata): sia header-e-footer che template-home sono disegnati su
	   questa larghezza, con gutter laterale di 40px per il contenuto. */
	--lc-boxed-width: 1200px;
}

/* ---------- 2. Anti-overlap: header in flusso normale ---------- */
.site-header,
.ast-header-break-point .main-header-bar-wrap,
.ast-above-header-wrap {
	position: relative !important;
	top: auto !important;
}
body.ast-theme-transparent-header .site-content,
body.ast-header-break-point .site-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Fix box-sizing scope, stessa logica della 3.0: forza border-box a prescindere
   da cosa eredita dall'antenato, per evitare che padding/bordi si sommino alla
   larghezza dichiarata delle fasce custom. */
.lc-utility-bar, .lc-utility-bar *, .lc-utility-bar:before, .lc-utility-bar:after,
.lc-footer-bar, .lc-footer-bar *, .lc-footer-bar:before, .lc-footer-bar:after {
	box-sizing: border-box !important;
}

/* ---------- 3. Utility bar — 36px, navy, badge sx / social+lingua dx ---------- */
.ast-above-header,
.ast-above-header-bar,
.ast-theme-transparent-header .ast-above-header,
.ast-theme-transparent-header .ast-above-header.ast-above-header-bar {
	background-image: none !important;
	background-color: var(--lc-navy) !important;
}
.ast-above-header-wrap .ast-container,
.ast-above-header .ast-container,
.ast-above-header .widget,
.ast-above-header-bar .widget {
	margin: auto !important;
	max-width: none !important;
}
.lc-utility-bar {
	/* [FIX A1 - audit 2026-07] margin/padding restano !important: sono le
	   stesse proprietà che le regole Astra sopra (.ast-above-header .widget
	   ecc.) impostano con !important sui contenitori antenati — rimuoverli
	   qui rischierebbe un rendering diverso a seconda dell'ordine di
	   caricamento del CSS. display/flex-direction/align-items/
	   justify-content invece sono proprietà di layout flex su una classe
	   che Astra non conosce e non ha alcuna regola che le imposti altrove
	   nel tema parent: rimosso !important solo su queste, dove il mancato
	   conflitto è verificabile staticamente. */
	margin: 0 auto !important;
	width: var(--lc-boxed-width);
	max-width: 100%;
	min-height: 36px;
	/* [Modifica 2026-07-13, testata da Andrea in DevTools] Padding
	   asimmetrico (destra 25px, sinistra 0) invece di 40px simmetrico:
	   allinea il bordo sinistro della utility bar con quello del logo
	   ingrandito nel main header sotto (vedi regola del logo, sezione 4),
	   che con la nuova dimensione occupa uno spazio diverso da prima. */
	padding: 0 25px 0 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
.lc-utility-badges {
	display: flex;
	align-items: center;
	gap: 12px;
}
.lc-utility-badge {
	font-family: var(--lc-font-heading);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--lc-cream-logo);
	white-space: nowrap;
}
.lc-utility-sep {
	color: rgba(247, 241, 228, 0.35);
	font-size: 11px;
}
.lc-utility-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}
.lc-utility-actions a {
	color: var(--lc-cream-logo);
	font-size: 13px;
	text-decoration: none;
}
.lc-utility-actions a:hover { color: var(--lc-cream); opacity: 0.8; }
.lc-utility-lang {
	font-family: var(--lc-font-heading);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--lc-cream-logo);
	display: flex;
	align-items: center;
	gap: 6px;
}
/* [FIX AC1 - audit 2026-07] Selettore esteso a "span" oltre ad "a": quando
   Polylang non è attivo, il fallback ora usa <span aria-disabled="true">
   invece di <a href="#"> (nessun link che non porta da nessuna parte).
   Stesso identico stile applicato a entrambi i tag, nessun cambio visivo. */
.lc-utility-lang a,
.lc-utility-lang span {
	font-family: var(--lc-font-heading);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	color: rgba(247, 241, 228, 0.6);
}
.lc-utility-lang a.lc-lang-current,
.lc-utility-lang span.lc-lang-current,
.lc-utility-lang a:hover {
	color: var(--lc-cream-logo);
}

@media (max-width: 768px) {
	.lc-utility-bar { display: none !important; }
}

/* ---------- 4. Main header — 60px, logo sx, menu + hamburger dx ---------- */
/* [FIX A2 - audit 2026-07] height/max-height/overflow:hidden -> min-height.
   Il sito è bilingue (switcher EN|IT nel mockup): le etichette italiane
   sono tipicamente più lunghe delle inglesi (es. "Itinerario di 10 Giorni"
   vs "10-Day Itinerary"). Con altezza fissa + overflow nascosto, un'etichetta
   che va a capo su due righe verrebbe tagliata a metà invece di distendersi
   — bug silenzioso, visibile solo passando alla versione italiana del menu.
   Con le etichette inglesi attuali, che stanno su una riga, il rendering
   resta IDENTICO: min-height si comporta come height finché il contenuto
   non supera i 60px. */
.main-header-bar,
.ast-primary-header-bar,
.main-header-bar-navigation,
.ast-main-header-bar-alignment {
	min-height: 60px !important;
	display: flex !important;
	align-items: center !important;
	background-color: var(--lc-navy) !important;
}

.main-header-bar-navigation,
.ast-main-header-bar-alignment,
.ast-grid-row-container {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
}

/* [FIX segnalato 2026-07-13, trovato da Andrea via DevTools] Astra usa
   CSS Grid — non flexbox — per il wrapper ".ast-builder-grid-row" che
   contiene le colonne di ogni riga header/footer (logo, menu, ecc.).
   Tutte le regole sopra forzano flexbox sugli elementi INTERNI a quel
   wrapper, ma non avevano mai toccato il grid-column-gap del wrapper
   stesso: restava quello di default di Astra, che apriva uno spazio non
   voluto tra le colonne indipendente dal mio layout. Azzerato qui:
   lo spazio tra logo e menu (o tra le voci del footer) è già controllato
   per intero dal gap/padding espliciti delle mie classi (.lc-utility-bar,
   .lc-footer-bar, ecc.), quindi il gap nativo della grid di Astra va
   sempre a 0, mai lasciato al suo default. */
.ast-builder-grid-row {
	grid-column-gap: 0 !important;
}

.ast-builder-layout-element[data-section="title_tagline"],
.site-branding,
.ast-site-identity,
.site-header .site-branding {
	min-height: 60px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin: 0 auto 0 0 !important;
	padding: 0 !important;
}

.ast-site-identity,
.ast-site-identity .site-title,
.site-header .site-title {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

/* [FIX 4.2.1 - 2026-09-28] Regola riallineata al valore realmente presente
   in produzione, letto da un export del tema live caricato da Andrea il
   28/09/2026 — diverso da quanto tracciato nei CHANGELOG di questo
   repository (i pacchetti 4.1.5/4.1.6 non risultano mai stati distribuiti
   online: il CHANGELOG.md live si ferma alla 4.1.2). I valori sotto
   (70px desktop + padding-bottom 15px, 40px sia tablet che mobile con
   padding-bottom 5px in più su mobile) sono quindi la fonte di verità
   confermata da Andrea, non una nuova modifica. Chiunque intervenga in
   futuro su questa regola: verificare prima lo stato realmente online,
   questo file da solo non è più garanzia di corrispondenza col sito. */
.site-header .site-title a,
.site-header .site-title,
.ast-site-identity .site-title a {
	color: var(--lc-cream-logo) !important;
	font-family: var(--lc-font-title) !important;
	font-weight: 700 !important;
	font-size: 70px !important;
	line-height: 60px !important;
	display: inline-block;
	white-space: nowrap;
	padding-bottom: 15px !important;
}

/* Tablet (≤768px, stesso breakpoint usato altrove nel file) */
@media (max-width: 768px) {
	.site-header .site-title a,
	.site-header .site-title,
	.ast-site-identity .site-title a {
		font-size: 40px !important;
	}
}

/* Mobile (≤544px, breakpoint mobile standard di Astra) */
@media (max-width: 544px) {
	.site-header .site-title a,
	.site-header .site-title,
	.ast-site-identity .site-title a {
		font-size: 40px !important;
		line-height: 60px !important;
		padding-bottom: 5px !important;
	}
}

.ast-grid-right-section {
	min-height: 60px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin-left: auto !important;
	gap: 30px;
}

.main-header-menu > .menu-item > .menu-link,
.ast-header-navigation-arrow .menu-link {
	font-family: var(--lc-font-title) !important;
	font-size: 15px !important;
	font-weight: 500;
	letter-spacing: .2px;
	color: var(--lc-cream-logo) !important;
	line-height: 60px !important;
}
.main-header-menu > .menu-item > .menu-link:hover {
	/* [FIX AC2 - audit 2026-07] --lc-rust su sfondo navy misura 1.78:1,
	   sotto la soglia WCAG AA. --lc-rust-on-navy misura 4.80:1 (verificato),
	   stessa famiglia cromatica arancio-terracotta. */
	color: var(--lc-rust-on-navy) !important;
	opacity: 1;
}

.ast-mobile-menu-buttons,
.ast-mobile-menu-buttons-minimal,
.ast-header-navigation-arrow .astra-search-icon {
	display: flex !important;
	align-items: center !important;
	margin-left: 8px !important;
}
.ast-mobile-menu-buttons .menu-toggle,
.ast-mobile-menu-buttons svg,
.ast-mobile-menu-buttons i {
	color: var(--lc-cream-logo) !important;
	fill: var(--lc-cream-logo) !important;
}

.main-header-bar .ast-builder-menu-social,
.main-header-bar .astra-social-icons,
.main-header-bar .ast-header-social-wrap {
	display: none !important;
}

/* ---------- 5. Footer bar — 60px, logo sx, menu legale centro, social dx ---------- */
.footer-widget-area,
.ast-builder-footer-primary,
.ast-footer-overlay {
	min-height: 60px !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	background-color: var(--lc-navy) !important;
}
.footer-widget-area .ast-container,
.ast-builder-footer-primary .ast-container,
.ast-footer-overlay .ast-container,
.footer-widget-area .widget {
	margin: auto !important;
	max-width: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.lc-footer-bar {
	/* [FIX bug segnalato 2026-07-13] margin aveva perso !important durante
	   la pulizia A1 dell'audit — incoerente con .lc-utility-bar (stessa
	   identica logica, sopra), che invece lo aveva mantenuto. Senza
	   !important, una regola Astra con pari o maggiore specificità può
	   sovrascrivere il margin auto-centrato, producendo uno scostamento
	   fisso della barra rispetto al contenuto Elementor sopra di essa —
	   esattamente il sintomo segnalato (footer bar spostata di ~50px a
	   destra). width/padding riportati a !important per lo stesso motivo
	   e per coerenza con .lc-utility-bar. display/flex-direction/
	   align-items/justify-content restano SENZA !important: sono
	   proprietà di layout flex su una classe che Astra non conosce, non
	   la causa di questo bug. */
	width: var(--lc-boxed-width) !important;
	max-width: 100%;
	margin: 0 auto !important;
	min-height: 60px;
	/* [FIX 4.2.8 - 2026-09-28] Padding verticale 14px -> 18px: misurato per
	   rapporto sul mockup desktop 1200px fornito da Andrea (barra navy
	   alta 274px nell'immagine, scala 2116px immagine = 1200px reali ->
	   fattore ~1.763), risultava ~20px sopra e ~16px sotto — 18px è la
	   via di mezzo, invariato lo scostamento orizzontale (40px, non
	   misurabile in modo affidabile dal mockup, vedi CHANGELOG.md). */
	padding: 18px 40px !important;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.lc-footer-bar-logo {
	font-family: var(--lc-font-title);
	font-size: 22px;
	font-weight: 700;
	color: var(--lc-cream-logo);
	text-decoration: none;
	white-space: nowrap;
}
/* [FIX 4.1.7 - 2026-09-28] Regola .lc-footer-wave rimossa: la "ondina"
   decorativa (≈) accanto al logo testuale del footer è stata tolta su
   richiesta di Andrea insieme alla correzione del logo in "LungoCosta.it".
   Nessun elemento del markup la usa più (vedi footer-bar.php). */
.lc-footer-bar-nav {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 26px;
	flex-wrap: wrap;
}
.lc-footer-bar-nav a {
	color: var(--lc-cream-logo);
	text-decoration: none;
	font-family: var(--lc-font-body);
	font-size: 13px;
	font-weight: 500;
	opacity: 0.85;
}
.lc-footer-bar-nav a:hover {
	opacity: 1;
	/* [FIX AC2 - audit 2026-07] vedi nota sopra su --lc-rust-on-navy. */
	color: var(--lc-rust-on-navy);
}
.lc-footer-bar-social {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 18px;
}
.lc-footer-bar-social a { color: var(--lc-cream-logo); font-size: 15px; text-decoration: none; }
.lc-footer-bar-social a:hover {
	/* [FIX AC2 - audit 2026-07] vedi nota sopra su --lc-rust-on-navy. */
	color: var(--lc-rust-on-navy);
}

.lc-footer-bar p, .lc-footer-bar br {
	display: none;
}

/* [FIX 4.2.5 - 2026-09-28] Disclaimer di non affiliazione, richiesto da
   Andrea. Elemento .lc-footer-bar-disclaimer, non .lc-footer-bar-disclaimer p
   — usa un <div>, non un <p>, apposta per non essere preso dalla regola
   sopra. width:100% lo forza sempre su una riga propria (come già per
   nav/social in mobile), qui applicato senza media query perché il testo
   è comunque troppo lungo per stare affiancato al resto anche da
   desktop. Piccolo, discreto (opacity ridotta) e separato dal resto con
   un sottile bordo superiore, coerente con un blocco di "fine print". */
.lc-footer-bar-disclaimer {
	width: 100%;
	/* [FIX 4.2.8 - 2026-09-28] margin-top 4px -> 20px: sul mockup desktop
	   1200px il distacco tra la riga logo/menu/social e la linea
	   separatrice misura ~36px immagine (~20px reali, fattore ~1.763) —
	   di gran lunga superiore ai 4px precedenti, unico scostamento reale
	   e ripetibile trovato (non rumore di rendering del mockup). Vedi
	   CHANGELOG.md per il dettaglio della misurazione. */
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(247, 241, 228, 0.15);
	font-family: var(--lc-font-body);
	font-size: 11px;
	line-height: 1.5;
	color: var(--lc-cream-logo);
	opacity: 0.6;
	text-align: center;
}

/* [FIX 4.2.6 - 2026-09-28] Riga legale (Privacy Policy · Cookie Policy ·
   Termini e Condizioni d'Uso) e riga di copyright, aggiunte sotto il
   disclaimer su mockup aggiornato fornito da Andrea. Nessun bordo/gap
   ridondante: il separatore visivo tra il blocco superiore (logo/menu/
   social) e questo gruppo di righe è già quello di .lc-footer-bar-
   disclaimer sopra; qui basta una spaziatura verticale minima tra le
   righe stesse. width:100% le forza sempre su riga propria, stesso
   principio già usato per nav/social in mobile e per il disclaimer. */
.lc-footer-bar-legal {
	width: 100%;
	/* [FIX 4.2.8 - 2026-09-28] margin-top 10px -> 20px, font-size 12px ->
	   11px: sul mockup desktop 1200px il distacco disclaimer->riga legale
	   misura ~35px immagine (~20px reali) e l'altezza del testo della
	   riga legale è sovrapponibile a quella del disclaimer e del
	   copyright (~18px immagine, ~10px reali per tutte e tre) — non una
	   riga visibilmente più grande come impostato prima. Vedi
	   CHANGELOG.md. */
	margin-top: 20px;
	font-family: var(--lc-font-body);
	font-size: 11px;
	font-weight: 500;
	text-align: center;
}
.lc-footer-bar-legal a {
	/* [FIX AC2 - audit 2026-07] vedi nota sopra su --lc-rust-on-navy: stesso
	   arancione già usato per lo stato hover di nav/social, qui invece
	   sempre visibile (non solo in hover) per distinguere questa riga
	   "legale" dal menu principale sopra, come nel mockup. */
	color: var(--lc-rust-on-navy);
	text-decoration: none;
}
.lc-footer-bar-legal a:hover {
	text-decoration: underline;
}
.lc-footer-bar-legal-sep {
	color: rgba(247, 241, 228, 0.4);
	padding: 0 2px;
}
.lc-footer-bar-copyright {
	width: 100%;
	/* [FIX 4.2.8 - 2026-09-28] margin-top 6px -> 11px: sul mockup desktop
	   1200px il distacco riga legale->copyright misura ~20px immagine
	   (~11px reali, fattore ~1.763) — vedi CHANGELOG.md. */
	margin-top: 11px;
	font-family: var(--lc-font-body);
	font-size: 11px;
	color: var(--lc-cream-logo);
	opacity: 0.5;
	text-align: center;
}
.footer-widget-area .widget,
.footer-widget-area .textwidget {
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 900px) {
	.lc-footer-bar { justify-content: center; text-align: center; }
}

/* [FIX 4.2.2 - 2026-09-28] Su richiesta di Andrea: in mobile le voci del
   menu footer si disponevano su più righe in modo irregolare (due voci
   sulla stessa riga, la terza da sola), con un gap verticale (26px,
   pensato per l'affiancamento da desktop) troppo largo per un elenco
   verticale. Sotto ai 544px (stesso breakpoint mobile usato altrove nel
   file) il nav passa da riga a colonna: una voce per riga, centrate,
   con un gap ridotto pensato per interlinea verticale invece che per
   spaziatura orizzontale. */
@media (max-width: 544px) {
	.lc-footer-bar-nav {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		width: 100%;
	}

	/* [FIX 4.2.4 - 2026-09-28] Su richiesta di Andrea: le icone social
	   finivano affiancate all'ultima voce di menu invece di stare su una
	   riga separata sotto il menu. .lc-footer-bar è un flex row con wrap:
	   dando a .lc-footer-bar-social width:100% lo si forza sempre su una
	   riga propria (come già avviene per il nav qui sopra), staccata dal
	   menu esattamente della stessa distanza (24px, il gap già impostato
	   su .lc-footer-bar) che separa il logo "LungoCosta.it" dalla prima
	   voce di menu — nessun valore nuovo introdotto, si riusa lo stesso
	   gap per coerenza. */
	.lc-footer-bar-social {
		width: 100%;
		justify-content: center;
	}
}

/* ---------- 6. Boxed container 1140px ---------- */
.ast-container,
.site-content .ast-container {
	max-width: var(--lc-boxed-width);
	width: var(--lc-boxed-width);
}

/* ---------- 7. Home page — classi di supporto per i widget Elementor ---------- */

/* Badge "Expertly planned / No car needed / Easy to follow" e simili — usati
   dentro un widget HTML Elementor per non dover ricreare l'icona con un
   secondo widget immagine per ogni riga. */
.lc-inline-feature {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--lc-font-body);
	font-size: 13px;
	font-weight: 500;
	color: var(--lc-navy);
}
.lc-inline-feature svg { flex-shrink: 0; }

/* Cerchio numerato navy (badge giorno nella striscia "10-day preview") */
.lc-day-badge {
	position: absolute;
	top: -12px;
	left: -12px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--lc-navy);
	color: var(--lc-cream-logo);
	font-family: var(--lc-font-heading);
	font-size: 13px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 4px rgba(0,0,0,0.25);
}

/* Link freccia rust ("View stops & highlights →", "Explore →" ecc.) */
.lc-arrow-link {
	color: var(--lc-rust);
	font-family: var(--lc-font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4px;
	text-decoration: none;
}
.lc-arrow-link:hover { color: var(--lc-rust-dark); }

/* Icona cerchiata navy usata in "Coming next" e "How LungoCosta works" */
.lc-icon-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(11, 47, 82, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.lc-icon-circle i { color: var(--lc-navy); font-size: 16px; }
.lc-icon-circle.is-inverse {
	background: rgba(247, 241, 228, 0.15);
}
.lc-icon-circle.is-inverse i { color: var(--lc-cream-logo); }

/* Newsletter form nel banner finale (navy, full-bleed) */
.lc-newsletter-form {
	display: flex;
	gap: 0;
	align-items: stretch;
	max-width: 380px;
}
.lc-newsletter-form input[type="email"] {
	flex: 1;
	padding: 12px 16px;
	border: none;
	border-radius: 4px 0 0 4px;
	font-family: var(--lc-font-body);
	font-size: 14px;
	color: var(--lc-navy);
}
.lc-newsletter-form button {
	background: var(--lc-rust);
	color: var(--lc-white);
	border: none;
	padding: 0 24px;
	font-family: var(--lc-font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 0 4px 4px 0;
	white-space: nowrap;
}
.lc-newsletter-form button:hover { background: var(--lc-rust-dark); }

/* [FIX A3 - audit 2026-07] Era 782px, disallineato dal breakpoint 768px
   usato sopra per nascondere .lc-utility-bar: nella fascia 768-782px la
   utility bar era già nascosta ma il container aveva ancora width:1200px
   fisso, con rischio di overflow orizzontale in quello specifico range di
   viewport. Allineato a 768px (lo stesso breakpoint usato sopra e lo
   standard di Astra), nessun'altra differenza. */
@media (max-width: 768px) {
	:root { --lc-boxed-width: 100%; }
}
