/*
 * Fix richiesta cliente (v1.2.0)
 */

/*
 *1) Header sempre fisso in alto allo scroll.
 * Nel markup Elementor .hd risiede in una colonna alta quanto lui:
 * position:sticky (stile demo) non ha spazio per agganciarsi e l'header
 * scorre via. position:fixed + padding di body compensa lo spazio in
 * output, quindi il layout non si muove. In editor l'hd è nascosto
 * (regola sotto) → nessun padding.
 */
.hd {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

body.elementor-template-canvas:not(.elementor-editor-active) {
	padding-top: var(--hdr);
}

/*
 *2) Nessun link cambia colore (o sottolineatura) in hover/active/visited.
 * Neutralizza il reset del tema Hello Elementor
 * (a:active,a:hover{color:#336} e a,a:visited{text-decoration:underline}).
 * I link con colore proprio (CTA .btn, .link, voci di menu) restano sul
 * loro colore base.
 */
a:hover,
a:active,
a:visited {
	color: inherit;
	text-decoration: none;
}

.btn:hover,
.btn:active,
.btn:visited {
	color: #F3EFE6;
}

.link:hover,
.link:active,
.link:visited {
	color: var(--goldL);
}

/*
 * Voci di menu: l'hover (oro → oro chiaro) è già previsto da
 * cleopatra.css (.menu nav a:hover, specificità 0-2-2) che batte sia il
 * reset del tema sia la regola globale sopra. Nessuna eccezione →
 * l'effetto hover della demo resta identico.
 */

/*
 * 2b) Burger e X del menu: nessun effetto hover.
 * Il reset del tema (button:hover{background:#c36;color:#fff}, rosato)
 * batte .burger/.menu-x (background:none) e renderebbe il pulsante rosa.
 * La demo non prevede hover su questi pulsanti → resta invariato.
 */
.burger:hover,
.burger:active,
.menu-x:hover,
.menu-x:active {
	background: none;
	color: inherit;
}

/*
 *3) Selettore lingua IT/EN: nessun effetto in hover/focus.
 * Rimuove background/bordo colorati del tema (button:hover{background:#c36})
 * e ogni transizione. Il pulsante attivo resta inchiostro.
 * (:focus-visible da tastiera resta gestito dal tema, per accessibilità.)
 */
.lang button,
.lang button:hover,
.lang button:focus,
.lang button:active {
	background: none;
	border: 0;
	color: var(--dim);
	transition: none;
}

.lang button.on,
.lang button.on:hover,
.lang button.on:focus,
.lang button.on:active {
	color: var(--ink);
}

/*
 *4) Banner "Fino al 28 gennaio" (.invite): in inglese il testo del
 * pulsante non deve uscire dalla scatola (bug presente anche nella
 * demo statica del cliente).
 * Causa misurata con Chrome headless: a ≥1024px cleopatra.css impone
 *   .invite h2{white-space:nowrap}  +  .invite .btn{min-width:0}
 * In EN l'h2 ("Until 28 January. / Then she becomes legend again.")
 * occupa 642px e, non potendosi spezzare, occupa tutto lo spazio:
 * il pulsante viene schiacciato a 78px con 105px di testo dentro
 * (testo fuori di 14px per lato, a ogni larghezza 1024-1440px).
 * In IT sta tutto (pulsante 242px) e sotto i 1024px il layout è a
 * colonna: nessun effetto.
 * Fix: il pulsante non si stringe mai sotto il proprio testo e l'h2
 * può andare a capo. In IT il risultato è identico alla demo
 * (h2 su due righe, pulsante 242px).
 */
.invite .btn {
	flex-shrink: 0;
	min-width: min-content;
}

.invite h2 {
	white-space: normal;
}

/* --- Fix precedenti --- */

.elementor-editor-active .hd,
.elementor-editor-active .menu,
.elementor-editor-active .scrim,
.elementor-editor-active .sticky,
.elementor-editor-active .modal {
	display: none !important;
}

.elementor-editor-active .hero-v {
	display: none;
}

.elementor-editor-active .hero-audio {
	display: none;
}

.elementor-editor-active .hero-media {
	background: #000;
	min-height: 400px;
}

.elementor-section .elementor-container {
	max-width: 1352px;
}

.elementor-widget-html {
	margin-bottom: 0;
}

.elementor-widget-html .elementor-widget-container {
	padding: 0;
}

.elementor-section-boxed > .elementor-container {
	max-width: 1352px;
}

.elementor-section-full_width > .elementor-container {
	max-width: 100%;
}

.elementor-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-wider > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-no > .elementor-column > .elementor-element-populated {
	padding: 0;
}

.elementor-section .elementor-column > .elementor-element-populated {
	padding: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap {
	padding: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget {
	margin-bottom: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-html {
	margin-bottom: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-html .elementor-widget-container {
	padding: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-html .elementor-widget-container > * {
	margin: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-html .elementor-widget-container > *:first-child {
	margin-top: 0;
}

.elementor-section .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-html .elementor-widget-container > *:last-child {
	margin-bottom: 0;
}
