/**
 * GOYN — compatibilità layout con Elementor
 *
 * I widget GOYN si aspettano di controllare da soli i propri spazi interni.
 * Elementor invece aggiunge un wrapper tecnico (`.elementor-widget-container`)
 * e, a seconda del canvas, può lasciargli margini, larghezze implicite o
 * comportamenti flex che stringono il blocco quel tanto che basta a "stortare"
 * l'impaginazione. Qui si neutralizza solo il necessario, limitandosi ai
 * nostri widget.
 */

.elementor-widget[class*='elementor-widget-goyn_'] {
	width: 100%;
	min-width: 0;
}

.elementor-widget[class*='elementor-widget-goyn_']:not(:last-child) {
	margin-block-end: 0;
}

.elementor-widget[class*='elementor-widget-goyn_'] > .elementor-widget-container {
	width: 100%;
	min-width: 0;
	margin: 0;
}

/*
 * ⚠️⚠️ `:not(dialog)` NON È PRUDENZA: senza, i pannelli non funzionano.
 *      Questa regola serve alle SEZIONI, che devono riempire il contenitore di
 *      Elementor. Un `<dialog>` aperto con `showModal()` invece vive nel livello
 *      superiore e non sta più dentro nessun contenitore: `width: 100%` là dentro
 *      significa "tutta la finestra".
 *
 *      Misurato il 04/08/2026: il pannello del carrello, che chiede
 *      `width: clamp(340px, 33vw, 480px)`, veniva reso a 1440px — cioè a tutto
 *      schermo — perché questa regola è (0,4,0) e la sua (0,1,0). L'overlay della
 *      ricerca non se n'era accorto solo perché quello è a tutto schermo di
 *      proposito.
 *
 *      L'esclusione sta qui e non nei fogli dei widget: così vale per il pannello
 *      del carrello, per l'overlay ricerca e per qualunque pannello futuro, senza
 *      che ognuno debba combattere la stessa battaglia di specificità.
 */
.elementor-widget[class*='elementor-widget-goyn_'] > .elementor-widget-container > .goyn-widget:not(dialog) {
	width: 100%;
	min-width: 0;
	max-width: none;
}

.e-con > .elementor-widget[class*='elementor-widget-goyn_'],
.elementor-element .e-con-inner > .elementor-widget[class*='elementor-widget-goyn_'] {
	align-self: stretch;
}
