/* Finestra (overlay) con il modulo della demo */
.sp-finestra-demo { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; background: rgba(4, 11, 53, .88); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease; }
.sp-finestra-demo.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.sp-finestra-demo__scatola { position: relative; width: min(94vw, 640px); height: min(92vh, 820px); background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 24px 60px -20px rgba(0, 8, 30, .6); transform: translateY(24px); transition: transform .3s ease; }
.sp-finestra-demo.is-open .sp-finestra-demo__scatola { transform: translateY(0); }
.sp-finestra-demo__iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.sp-finestra-demo__chiudi { position: absolute; top: 10px; right: 10px; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; font: inherit; font-size: 1.5rem; line-height: 1; color: #040b35; background: #fff; border: 1px solid #cfd6e6; border-radius: 50%; cursor: pointer; }
.sp-finestra-demo__chiudi:hover { border-color: #085cf0; }
.sp-finestra-demo__chiudi:focus-visible { outline: 2px solid #085cf0; outline-offset: 2px; }
html.sp-finestra-aperta { overflow: hidden; }

/* Qualunque pagina dentro la finestra (il modulo, poi il ringraziamento): senza testata, piè di pagina, banner e chat */
html.sp-in-finestra header, html.sp-in-finestra .site-header, html.sp-in-finestra footer, html.sp-in-finestra .site-footer, html.sp-in-finestra .main__title,
html.sp-in-finestra #wpadminbar, html.sp-in-finestra .navigation-mobile, html.sp-in-finestra #cmplz-cookiebanner-container, html.sp-in-finestra .cmplz-cookiebanner, html.sp-in-finestra .cmplz-manage-consent,
html.sp-in-finestra [id^="tawk"], html.sp-in-finestra iframe[title*="chat" i] { display: none !important; }
html.sp-in-finestra body { background: #fff; }
html.sp-in-finestra .main { padding-top: 0 !important; }
html.sp-in-finestra .main__grid { padding-top: 0 !important; }
html.sp-in-finestra .wp-block-group--form { padding: 28px 24px 24px !important; }
html.sp-in-finestra .wp-block-group--form .eyebrow { display: none; }
html.sp-in-finestra .wp-block-group--form h2 { font-size: 1.5rem; margin: 0 40px 4px 0; text-align: left; }
html.sp-in-finestra .wp-block-group--form p { margin: 0 0 12px; text-align: left; }
html.sp-in-finestra .wp-block-group--form .wp-block-group { align-items: flex-start !important; }
html.sp-in-finestra .main__content > section:first-child, html.sp-in-finestra .main__content > .wp-block-group:first-child { padding-top: 32px !important; }

/* Nella finestra i campi hanno l'altezza normale: il tema, sotto i 640 px di larghezza, li porta a 58 px e la finestra è larga 640 px o meno */
html.sp-in-finestra .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
html.sp-in-finestra .gform_wrapper select { height: 44px !important; min-height: 44px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
html.sp-in-finestra .gform_wrapper .gform_fields { row-gap: 12px !important; }
html.sp-in-finestra .gform_wrapper .gform-body, html.sp-in-finestra .gform_wrapper { padding-top: 0 !important; }
html.sp-in-finestra .gform_wrapper .gfield_label { margin-bottom: 4px; }

/* Conferma dentro la finestra: senza la linea in testa, senza paragrafi vuoti, con un po' d'aria attorno al testo */
html.sp-in-finestra .main__content .wp-block-separator, html.sp-in-finestra .main__content p:empty { display: none !important; }
html.sp-in-finestra body.page-grazie .main__content { padding: 56px 32px 40px !important; }

/* La chat del sito (Pipedrive LeadBooster, z-index massimo) non deve stare sopra la finestra della demo */
html.sp-finestra-aperta #LeadboosterContainer { display: none !important; }
