/* Shared reference layout for all single promotion templates. */
.promo-single{--promo-pad:64px;--promo-space:120px;padding-top:0!important;margin:0;font:400 16.8px/1.4 "neue-haas-grotesk-display",sans-serif;letter-spacing:.336px;color:#25303a}
.promo-single .reveal{opacity:1;transform:none;filter:none;transition:none}
.promo-single>.section{padding:var(--promo-space) var(--promo-pad)}
.promo-single .container{width:100%;max-width:1600px;margin:0 auto;padding:0}
.promo-single h1,.promo-single h2,.promo-single h3,.promo-single p{font-family:inherit;letter-spacing:.336px}
.promo-single .header_component.is-promo{min-height:40vw;height:auto;max-height:none;padding:240px var(--promo-pad) var(--promo-pad);display:flex;flex-direction:column;align-items:stretch}
.promo-single .header_container.is-promo{width:100%;max-width:55%;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.promo-single .header_container .breadcrumb{font:400 16.8px/1.4 "neue-haas-grotesk-display",sans-serif;margin:0;color:white}
.promo-single .header_container .heading-xxlarge{font-size:clamp(40px,7vw,88px);line-height:1;font-weight:400;letter-spacing:.336px;margin:0;text-wrap:wrap}
.promo-single .header_background img{object-position:center;transform:none}
.promo-single .header_hover{background:#0003;background-image:radial-gradient(circle farthest-corner at 100% 0%,#0009,transparent),radial-gradient(circle farthest-side at 10% 80%,#000c,transparent 60%)}
.promo-single>.section.is-promo{padding-bottom:0}
.promo-single .container.is-promo{display:flex;justify-content:space-between;gap:48px;align-items:flex-start}
.promo-single .promo_text{flex:0 1 auto;width:auto;max-width:60%;padding:0}
.promo-single .promo-claim__text{font-size:32px;line-height:1.2;letter-spacing:.336px;font-weight:400;max-width:none}
.promo-single .promo_card{width:29vw;min-width:352px;max-width:45%;padding:48px 3%;gap:24px;margin-top:-336px;border-radius:8px;box-shadow:0 8px 16px #0000001a;align-items:stretch}
.promo-single .card_tags.is-detail{margin:0 0 8px;gap:4px!important}
.promo-single .promo_tag{font:300 12px/1.2 "neue-haas-grotesk-display",sans-serif!important;height:22.4px!important;padding:3px 8px!important}
.promo-single .promo_row.is-promo{gap:4px;margin:0}
.promo-single .promo_label{font-size:12px;line-height:1.4;letter-spacing:.336px;margin:0;font-weight:700}
.promo-single .promo_prezzo-2{margin:0 0 4px;line-height:1}
.promo-single .promo_prezzo-amount{font-size:48px!important;line-height:1;font-weight:700;letter-spacing:.336px}
.promo-single .promo_bolletta{font-size:20px;line-height:1.4;margin:0 0 4px;max-width:none;font-weight:400}
.promo-single .promo-hero__card-heading{font-size:32px;line-height:1.1;font-weight:400;margin:0 0 4px}
.promo-single .promo_row.is-cta{gap:8px;padding-top:16px;width:100%;margin:0}
.promo-single .promo_value.is-date{font-size:16.8px;line-height:1.4;margin:0}
.promo-single .button.is-promo{font-size:16.8px;line-height:1.1;padding:10px 24px!important;border:1px solid #25303a!important;background:linear-gradient(225deg,#25303a,#4f575f)!important;font-weight:400}
.promo-single .intro-ed__grid{display:flex;gap:4vw;align-items:flex-start}
.promo-single .intro-ed__title{width:16%;flex:none;font-size:32px;line-height:1.1;font-weight:300;margin:0}
.promo-single .intro-ed__right{flex:1;min-width:0}
.promo-single .intro-ed__cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.promo-single .intro-ed__col{font-size:16.8px;line-height:1.4;color:#25303a}
.promo-single .intro-ed__col p{margin:0 0 4px;font-size:inherit;line-height:inherit}
.promo-single .benefits{max-width:1600px}
.promo-single .benefits__title{font-size:clamp(40px,5vw,64px);line-height:1;font-weight:400;margin:0 0 48px}
.promo-single .benefits__list{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:0;padding:0;list-style:none}
.promo-single .benefit{display:flex;align-items:flex-start;gap:16px;padding:0 0 32px;border-bottom:1px solid #e1e9f1;min-height:0}
.promo-single .benefit__arrow{width:24px;height:24px;flex:none;color:#25303a;margin-top:0}
.promo-single .benefit__arrow::before{color:#25303a}
.promo-single .benefit h3{font-size:24px;line-height:1.2;font-weight:300;margin:0}
.promo-single .benefit p{font-size:16.8px;line-height:1.4;color:#25303a;margin:0}
.promo-single>.section:has(.promo-who){padding-top:0}
.promo-single .promo-who{padding:64px 56px;border:1px solid #e1e9f1;border-radius:14px;background:#e9eaeb;box-shadow:none}
.promo-single .promo-who__row{display:flex;gap:32px;align-items:flex-start}
.promo-single .promo-who__copy{width:22%;flex:none}
.promo-single .promo-who h2,.promo-single .promo-who__facts h3{font-size:32px;line-height:1.1;font-weight:400;margin:0 0 4px}
.promo-single .promo-who__copy p{font-size:16.8px;line-height:1.4;margin:8px 0 0}
.promo-single .promo-who__pills{flex:1;gap:24px;justify-content:flex-end}
.promo-single .promo-who__pills li{flex:1;padding:24px;border-radius:8px;font-size:24px;line-height:1.2;box-shadow:none;text-align:center}
.promo-single .promo-who__pills li span{font-size:16.8px;line-height:1.4;display:block;margin-top:8px;color:#7f868d}
.promo-single .promo-who__facts{display:grid;grid-template-columns:22% 1fr;gap:32px;border:0;margin-top:48px;padding:0}
.promo-single .promo-who__facts ul{display:flex;flex-direction:column;gap:24px;padding:0;margin:0}
.promo-single .promo-who__facts strong{font-size:24px;line-height:1.2;font-weight:400}
.promo-single .promo-who__facts p{font-size:16.8px;line-height:1.4;color:#25303a}
.promo-single>.section:has(.steps-slider),.promo-single>#richiedi-informazioni{padding:8px}
.promo-single>.section:has(.steps-slider)>.container,.promo-single>#richiedi-informazioni>.container{max-width:none}
.promo-single .steps-slider{position:relative;padding:64px 56px;border:1px solid #e1e9f1;background:#e9eaeb;border-radius:14px;display:grid;grid-template-columns:27% 1fr;gap:48px;overflow:hidden}
.promo-single .steps-slider__copy{padding-top:22px;min-width:0}
.promo-single .steps-slider__copy>.kicker{position:absolute;left:56px;right:56px;top:64px;font-size:12px;line-height:1.6;text-transform:uppercase;font-weight:700;letter-spacing:.6px;border-top:1px solid #c8cdd2;padding-top:16px;margin:0}
.promo-single .steps-slider .band__title{font-size:32px;line-height:1.1;font-weight:400;margin:32px 0 0}
.promo-single .steps-slider__viewport{min-width:0;margin-top:22px;overflow:visible}
.promo-single .steps-slider__track{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;align-items:stretch}
.promo-single .step-card{position:relative;flex:0 0 288px;width:288px;height:450px;min-height:450px;padding:24px;border-radius:8px;background:#fff;box-shadow:0 8px 16px #0000001a;display:flex;flex-direction:column;gap:0}
.promo-single .step-card__n{font-size:12px;line-height:1.4;margin:0 0 16px;color:#7f868d}
.promo-single .step-card__icon{position:absolute;top:24px;right:24px;width:20px;height:20px;margin:0}
.promo-single .step-card__title{font-size:24px;line-height:1.2;font-weight:400;margin:0 0 4px}
.promo-single .step-card__text{font-size:16.8px;line-height:1.4;color:#7f868d;margin:0}
.promo-single .step-card__cta{margin-top:auto;width:100%;min-height:40px;padding:8px 16px;font-weight:400}
.promo-single .step-card__cta svg{display:none}
.promo-single .steps-slider .slider__controls{margin-top:32px;height:48px}
.promo-single .steps-slider .slider-btn{width:48px;height:48px}
.promo-single .section--faq>.container{max-width:912px}
.promo-single .section--faq .section-head{display:flex;flex-direction:column;gap:0;margin:0 0 48px;text-align:center}
.promo-single .section--faq h2{order:-1;font-size:clamp(40px,5vw,64px);line-height:1;font-weight:400;margin:0}
.promo-single .section--faq .kicker{font-size:16.8px;line-height:1.4;margin:0}
.promo-single .faq{display:flex;flex-direction:column;gap:16px;width:calc(100% - 40px);max-width:none;margin:0 0 0 40px}
.promo-single .faq__item{background:#f7f8f9;border:0;border-radius:8px;padding:0}
.promo-single .faq__item summary{padding:16px 16px 16px 24px;font:400 20px/1.4 "neue-haas-grotesk-text",sans-serif;letter-spacing:0;color:#25303a}
.promo-single .faq__body{padding:16px 64px 16px 24px;font-size:16.8px;line-height:1.6;color:#25303a}
.promo-single .faq__body p{margin:0 0 16px;font-size:inherit;line-height:inherit}
.promo-single .promo-docs__grid{display:flex;gap:4vw;align-items:center}
.promo-single .promo-docs__copy{width:40%}
.promo-single .promo-docs .kicker{font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin:0 0 24px}
.promo-single .promo-docs h2{font-size:32px;line-height:1.1;font-weight:400;margin:0 0 4px}
.promo-single .promo-docs__copy>p:last-child{font-size:16.8px;line-height:1.4;color:#25303a;max-width:none;margin:0}
.promo-single .promo-docs__actions{flex:1;gap:24px;justify-content:flex-end}
.promo-single .promo-docs__actions .btn{min-height:40px;padding:8px 24px;background:#fff;color:#25303a!important;border:1px solid #25303a;font-weight:400}
.promo-single .lead{padding:64px 56px;border:1px solid #e1e9f1;border-radius:14px;background:#25303a;display:grid;grid-template-columns:.4fr 1fr;gap:32px;align-items:stretch;overflow:hidden}
.promo-single .lead__mark{display:none}
.promo-single .lead__copy{display:flex;flex-direction:column;align-items:flex-start}
.promo-single .lead__copy>.kicker{font-size:12px;line-height:1.6;text-transform:uppercase;font-weight:700;letter-spacing:.6px;margin:0 0 8px;color:#fff}
.promo-single .lead .band__title{font-size:clamp(40px,5vw,64px);line-height:1;font-weight:400;max-width:8ch;margin:0 0 8px}
.promo-single .lead__sub{font-size:16.8px;line-height:1.4;margin:0;color:white}
.promo-single .lead__phone{margin-top:auto;padding-top:32px}
.promo-single .lead__phone>p{font-size:16.8px;margin:0 0 8px}
.promo-single .lead__card{width:100%;max-width:640px;padding:40px 32px;background:#fff;border-radius:14px;box-shadow:none;justify-self:center}
.promo-single .promo-reference-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.promo-single .promo-reference-form>.ff-el-group{grid-column:1/-1;margin:0}
.promo-single .promo-reference-form>.promo-form-half{grid-column:auto}
.promo-single .promo-reference-form .ff-el-form-control{font:400 16.8px/1.4 "neue-haas-grotesk-display",sans-serif;border:1px solid #e1e9f1;border-radius:8px;background:white;color:#25303a;min-height:48px;height:48px;padding:12px 16px;box-shadow:none}
.promo-single .promo-reference-form textarea.ff-el-form-control{height:120px;min-height:120px}
.promo-single .promo-reference-form .ff-el-input--label label{font-size:16.8px;line-height:1.4;font-weight:500}
.promo-single .promo-reference-form .promo-placeholder-label>.ff-el-input--label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.promo-single .promo-reference-form .ff-el-form-check-label{font-size:14px;line-height:1.2}
.promo-single .promo-reference-form .ff_submit_btn_wrapper{text-align:right}
.promo-single .promo-reference-form .ff-btn-submit{font-size:16.8px!important;line-height:1.1!important;min-height:40px!important;padding:8px 24px!important}
@media(max-width:991px){
 .promo-single{--promo-pad:48px;--promo-space:96px}
 .promo-single .header_component.is-promo{min-height:65vw;padding-top:192px}
 .promo-single .header_container.is-promo{max-width:100%}
 .promo-single .container.is-promo{flex-direction:column;gap:48px;align-items:stretch}
 .promo-single .promo_card{order:-1;width:auto;min-width:0;max-width:none;padding:32px;margin:-120px -24px 0;align-items:center}
 .promo-single .promo_text{max-width:100%}
 .promo-single .promo-claim__text{font-size:28.8px}
 .promo-single .promo_row.is-cta{width:auto;align-self:center}
 .promo-single .intro-ed__grid{flex-direction:column;gap:16px}
 .promo-single .intro-ed__title{width:100%;font-size:28px}
 .promo-single .intro-ed__right{width:100%}
 .promo-single .benefits__title,.promo-single .section--faq h2{font-size:48px}
 .promo-single .promo-who{padding:48px 5vw}
 .promo-single .promo-who__row{flex-direction:column;gap:24px}
 .promo-single .promo-who__copy{width:100%}
 .promo-single .promo-who h2,.promo-single .promo-who__facts h3{font-size:28px}
 .promo-single .promo-who__pills{width:100%}
 .promo-single .promo-who__facts{grid-template-columns:1fr;gap:24px}
 .promo-single .steps-slider{padding:48px 5vw;grid-template-columns:1fr;gap:32px}
 .promo-single .steps-slider__copy{padding-top:24px}
 .promo-single .steps-slider__copy>.kicker{left:5vw;right:5vw;top:48px}
 .promo-single .steps-slider .band__title{font-size:28px;margin-top:24px}
 .promo-single .steps-slider .band__title br{display:none}
 .promo-single .steps-slider__viewport{margin-top:0}
 .promo-single .step-card{width:256px;flex-basis:256px;padding-bottom:32px}
 .promo-single .promo-docs__grid{flex-direction:column;align-items:stretch;gap:24px}
 .promo-single .promo-docs__copy{width:100%}
 .promo-single .lead{padding:48px 5vw;display:flex;flex-direction:column;gap:48px}
 .promo-single .lead__copy{width:100%}
 .promo-single .lead .band__title{font-size:48px;max-width:none}
 .promo-single .lead__phone{display:none}
 .promo-single .lead__card{max-width:none}
}
@media(max-width:767px){
 .promo-single{--promo-pad:32px;--promo-space:64px}
 .promo-single .header_component.is-promo{min-height:80vw;padding-top:128px}
 .promo-single .promo_card{margin:-80px -16px 0}
 .promo-single .intro-ed__title{font-size:26.4px}
 .promo-single .intro-ed__cols{grid-template-columns:1fr;gap:16px}
 .promo-single .benefits__title,.promo-single .section--faq h2{font-size:40px}
 .promo-single .benefits__list{grid-template-columns:1fr}
 .promo-single .benefit h3{font-size:26.4px}
 .promo-single .promo-who{padding:64px 5vw}
 .promo-single .promo-who__row{gap:16px}
 .promo-single .promo-who__pills{flex-direction:column}
 .promo-single .promo-who__pills li{font-size:26.4px}
 .promo-single .promo-who h2,.promo-single .promo-who__facts h3{font-size:26.4px}
 .promo-single .steps-slider{padding:64px 5vw}
 .promo-single .steps-slider__copy>.kicker{top:64px}
 .promo-single .steps-slider .band__title{font-size:26.4px}
 .promo-single .step-card{flex-basis:88vw;width:88vw;padding-bottom:24px}
 .promo-single .lead{padding:64px 5vw}
 .promo-single .lead .band__title{font-size:40px}
 .promo-single .lead__card{padding:24px 16px 40px}
 .promo-single .promo-reference-form{grid-template-columns:1fr}
 .promo-single .promo-reference-form>.promo-form-half{grid-column:1/-1}
}
@media(max-width:479px){
 .promo-single{--promo-pad:20px;--promo-space:80px}
 .promo-single .header_component.is-promo{min-height:120vw;padding-top:80px;padding-bottom:40px}
 .promo-single .promo_card{margin:-90px -10px 0;padding:32px 20px}
 .promo-single .promo-who,.promo-single .steps-slider,.promo-single .lead{padding-top:80px;padding-bottom:80px}
 .promo-single .steps-slider__copy>.kicker{top:80px}
 .promo-single .steps-slider .band__title br{display:initial}
 .promo-single>.section:has(.steps-slider),.promo-single>#richiedi-informazioni{padding:4px}
 .promo-single .faq__item summary{font-size:16.8px;padding-left:16px}
 .promo-single .faq__body{padding:16px}
}
.promo-single .promo_row.is-promo .promo_label{font-size:12px;line-height:1.4;letter-spacing:.336px;margin:0}
.promo-single .button.is-promo{border:0!important}
.promo-single .benefit__arrow{background:#25303a;transform:rotate(45deg)}
.promo-single .faq__body p{margin:0}
.promo-single .faq__item summary{border:0}
.promo-single .section--faq .section-head .kicker{font-size:16.8px;line-height:1.4}
.promo-single .faq{padding-bottom:10px}
.promo-single .promo-reference-form{display:block}
.promo-single .promo-reference-form>fieldset{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0;width:100%}
.promo-single .promo-reference-form>fieldset>.ff-el-group{grid-column:1/-1;margin:0}
.promo-single .promo-reference-form>fieldset>.promo-form-half{grid-column:auto}
@media(max-width:767px){.promo-single .promo-reference-form>fieldset{grid-template-columns:1fr}.promo-single .promo-reference-form>fieldset>.promo-form-half{grid-column:1/-1}}
.promo-single .promo_card .card_tags.is-detail .promo_tag{font-size:12px!important;letter-spacing:.336px!important}
.promo-single .promo_card .card_tags.is-detail .promo_tag>span{padding:0!important;border:0!important;background:none!important;height:auto!important;font:inherit!important;letter-spacing:.336px!important;display:inline!important}
.promo-single--solar-shock .promo_tag:nth-child(2)>svg{display:none!important}
.promo-single .promo_row.is-promo .promo_label,.promo-single .promo_prezzo-amount{font-weight:600}
.promo-single .promo_bolletta{font-weight:500}
.promo-single .promo_value.is-date{padding:0 32px}
.promo-single .promo-hero__card-heading{font-size:32px;line-height:1.2;margin:0 0 4px}
.promo-single .promo-who__facts{margin-top:60px;grid-template-columns:16% 1fr;gap:4vw;background:#fff}
.promo-single .promo-who__facts ul{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.promo-single .promo-who__facts li{position:relative;padding:0 0 32px 40px;border-bottom:1px solid #e1e9f1}
.promo-single .promo-who__facts li::before{content:'→';position:absolute;left:0;top:0;font-size:24px;line-height:1}
.promo-single .promo-who__facts strong{font-weight:300}
.promo-single .promo-who__facts p{margin:0;font-size:16.8px;line-height:1.4}
.promo-single .lead__phone--mobile{display:none}
.promo-single .promo-docs .kicker{display:flex;gap:16px;align-items:center}
.promo-single .promo-docs .kicker::after{content:'';height:1px;background:#e1e9f1;flex:1}
@media(max-width:991px){
 .promo-single .promo-hero__card-heading{font-size:28.8px}
 .promo-single .promo-who__facts{grid-template-columns:1fr;gap:16px;margin-top:48px}
 .promo-single .lead__copy{text-align:center;align-items:center}
 .promo-single .lead__phone--mobile{display:flex;flex-direction:column;align-items:center;align-self:center;margin:0;padding:0;color:white}
}
@media(max-width:767px){.promo-single .promo-who__facts ul{grid-template-columns:1fr}.promo-single .promo-who__facts strong{font-size:26.4px}.promo-single .promo-docs__actions{justify-content:flex-start}}
.promo-single{padding-bottom:0}

.promo-single .promo-who__facts ul{margin:24px 0}
.promo-single .promo-who__copy p{margin:0 0 4px}
.promo-single .promo-who__pills li br{display:none}
.promo-single .promo-who__pills li span{line-height:1.2}
.promo-single .promo-reference-form input[readonly]{background:#fff!important;color:#25303a}
@media(max-width:479px){.promo-single--porta-un-amico .promo_row.is-cta,.promo-single--libera .promo_row.is-cta{width:100%}}
@media(min-width:480px) and (max-width:991px){.promo-single .promo_value.is-date br{display:none}}
