/* Popup di accesso dell'header (popup Elementor con il widget Login). */
.elementor-popup-modal:has(.elementor-widget-login) {
	--ilp-navy: var(--e-global-color-primary, #1C244B);
	--ilp-text: var(--e-global-color-text, #324A6D);
	--ilp-accent: var(--e-global-color-accent, #467FF7);
	--ilp-line: #dbe1ec;
	background: rgba(17, 24, 52, .55) !important;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.elementor-popup-modal:has(.elementor-widget-login) .dialog-widget-content {
	width: min(440px, calc(100vw - 32px)) !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 60px rgba(17, 24, 52, .28) !important;
	overflow: hidden;
	background: #fff !important;
}
.elementor-popup-modal:has(.elementor-widget-login) .dialog-message { padding: 0 !important; width: 100% !important; }
.elementor-popup-modal:has(.elementor-widget-login) .e-con,
.elementor-popup-modal:has(.elementor-widget-login) .e-con-inner {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	padding: 0 !important; margin: 0 !important; gap: 0 !important;
	background: transparent !important; background-image: none !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	min-height: 0 !important; max-width: none !important; width: 100% !important;
}
.elementor-popup-modal:has(.elementor-widget-login) .e-con::before,
.elementor-popup-modal:has(.elementor-widget-login) .e-con::after { display: none !important; }
.elementor-popup-modal:has(.elementor-widget-login) .e-con { position: relative; }
.elementor-popup-modal:has(.elementor-widget-login) .elementor-motion-effects-container { display: none !important; }

/* Decorazione e titolo originali: sostituiti dalla testata. */
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-image.elementor-absolute,
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-heading { display: none !important; }

/* Testata */
.ilp-head {
	padding: 30px 34px 20px; text-align: center; background: #fff;
	border-top: 5px solid var(--ilp-navy); border-bottom: 1px solid var(--ilp-line); font-family: "Poppins", system-ui, sans-serif;
}
.ilp-head img { max-height: 46px; width: auto; margin: 0 auto 14px; display: block; }
.ilp-head h2 { margin: 0 0 4px !important; font-size: 21px !important; line-height: 1.3 !important; font-weight: 700 !important; color: var(--ilp-navy) !important; letter-spacing: -.2px; text-transform: none !important; }
.ilp-head p { margin: 0; font-size: 13.5px; color: var(--ilp-text); }

/* Chiudi */
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-icon.elementor-absolute {
	top: 14px !important; right: 14px !important; left: auto !important; bottom: auto !important; z-index: 3;
}
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-icon .elementor-icon {
	width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: #F3F5F8 !important; border: 0 !important; box-shadow: none !important; font-size: 12px !important; padding: 0 !important;
}
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-icon .elementor-icon svg { width: 12px !important; height: 12px !important; fill: var(--ilp-navy) !important; }

/* Modulo */
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-login {
	padding: 24px 34px 26px !important; font-family: "Poppins", system-ui, sans-serif; margin: 0 !important;
}
.elementor-popup-modal .elementor-widget-login .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 !important; row-gap: 14px; }
.elementor-popup-modal .elementor-widget-login .elementor-field-group { padding: 0 !important; margin: 0 !important; }
.elementor-popup-modal .elementor-widget-login .elementor-field-label {
	font-size: 13px !important; font-weight: 500 !important; color: var(--ilp-navy) !important; margin-bottom: 6px !important; padding: 0 !important;
}
.elementor-popup-modal .elementor-widget-login input.elementor-field {
	height: 46px !important; min-height: 46px !important; padding: 0 14px !important; font-size: 15px !important;
	border: 1px solid var(--ilp-line) !important; border-radius: 10px !important; background: #fff !important; color: var(--ilp-navy) !important;
	box-shadow: none !important; transition: border-color .15s, box-shadow .15s;
}
.elementor-popup-modal .elementor-widget-login input.elementor-field:focus {
	border-color: var(--ilp-accent) !important; box-shadow: 0 0 0 3px rgba(70, 127, 247, .18) !important; outline: none !important;
}

/* «Ricordami» e «Hai perso la password?» sulla stessa riga, poi il pulsante */
.elementor-popup-modal .elementor-widget-login .elementor-field-type-checkbox { order: 3; width: 50% !important; flex: 0 0 50%; display: flex; align-items: center; }
.elementor-popup-modal .elementor-widget-login .elementor-field-type-checkbox label { font-size: 13px !important; color: var(--ilp-text) !important; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.elementor-popup-modal .elementor-widget-login .elementor-field-type-checkbox input { width: 16px; height: 16px; accent-color: var(--ilp-navy); margin: 0 !important; }
.elementor-popup-modal .elementor-widget-login .elementor-field-group:has(.elementor-lost-password) {
	order: 4; width: 50% !important; flex: 0 0 50%; display: flex; justify-content: flex-end; align-items: center;
}
.elementor-popup-modal .elementor-widget-login .elementor-lost-password {
	font-size: 13px !important; color: var(--ilp-accent) !important; text-decoration: none !important; font-weight: 500;
}
.elementor-popup-modal .elementor-widget-login .elementor-lost-password:hover { text-decoration: underline !important; }
.elementor-popup-modal .elementor-widget-login .elementor-field-type-submit { order: 5; width: 100% !important; flex: 0 0 100%; margin-top: 6px !important; }
.elementor-popup-modal .elementor-widget-login .elementor-button {
	width: 100% !important; height: 48px; border-radius: 10px !important; border: 0 !important;
	background: var(--ilp-navy) !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important;
	letter-spacing: .2px; transition: background .15s, transform .05s;
}
.elementor-popup-modal .elementor-widget-login .elementor-button:hover { background: var(--ilp-accent) !important; }
.elementor-popup-modal .elementor-widget-login .elementor-button:active { transform: translateY(1px); }

/* Non sei iscritto? */
.elementor-popup-modal .ish-login-join {
	margin: 22px 0 0 !important; padding-top: 18px; border-top: 1px solid var(--ilp-line);
	font-size: 13.5px !important; color: var(--ilp-text); text-align: center !important;
}
.elementor-popup-modal .ish-login-join a { color: var(--ilp-accent) !important; font-weight: 600; text-decoration: none !important; }
.elementor-popup-modal .ish-login-join a:hover { text-decoration: underline !important; }

@media (max-width: 480px) {
	.ilp-head { padding: 24px 22px 18px; }
	.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-login { padding: 20px 22px 22px !important; }
	.elementor-popup-modal .elementor-widget-login .elementor-field-type-checkbox,
	.elementor-popup-modal .elementor-widget-login .elementor-field-group:has(.elementor-lost-password) { width: 100% !important; flex-basis: 100%; justify-content: flex-start; }
}
.elementor-popup-modal:has(.elementor-widget-login) .e-con:has(> .elementor-widget-login) { flex-direction: column !important; align-items: stretch !important; }
.elementor-popup-modal:has(.elementor-widget-login) .ilp-head { width: 100%; box-sizing: border-box; }
.elementor-popup-modal:has(.elementor-widget-login) .elementor-widget-login { width: 100% !important; max-width: none !important; box-sizing: border-box; }
