.elementor-49 .elementor-element.elementor-element-028e1ed{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overflow:hidden;--overlay-opacity:0.6;--overlay-mix-blend-mode:multiply;--padding-top:96px;--padding-bottom:48px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-49 .elementor-element.elementor-element-028e1ed::before, .elementor-49 .elementor-element.elementor-element-028e1ed > .elementor-background-video-container::before, .elementor-49 .elementor-element.elementor-element-028e1ed > .e-con-inner > .elementor-background-video-container::before, .elementor-49 .elementor-element.elementor-element-028e1ed > .elementor-background-slideshow::before, .elementor-49 .elementor-element.elementor-element-028e1ed > .e-con-inner > .elementor-background-slideshow::before, .elementor-49 .elementor-element.elementor-element-028e1ed > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0F172A;--background-overlay:'';}.elementor-49 .elementor-element.elementor-element-028e1ed:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-028e1ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background:url("https://www.alsiglutenfree.com/wp-content/uploads/2026/04/HERO.webp") 50% 50%;background-size:cover;}.elementor-49 .elementor-element.elementor-element-028e1ed.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-49 .elementor-element.elementor-element-7b65745{z-index:5;}.elementor-49 .elementor-element.elementor-element-33cf5ff{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--z-index:10;}.elementor-49 .elementor-element.elementor-element-db4a8d6{z-index:10;}.elementor-49 .elementor-element.elementor-element-2d287d9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:96px;--padding-bottom:96px;--padding-left:20px;--padding-right:20px;}.elementor-49 .elementor-element.elementor-element-2d287d9:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-2d287d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5c66547 );}.elementor-49 .elementor-element.elementor-element-59ca1f7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;--padding-top:64px;--padding-bottom:64px;--padding-left:64px;--padding-right:64px;}.elementor-49 .elementor-element.elementor-element-a045998{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-72fa6cd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:96px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-49 .elementor-element.elementor-element-72fa6cd:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-72fa6cd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAF9;}.elementor-49 .elementor-element.elementor-element-ea4b50b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--margin-top:0px;--margin-bottom:64px;--margin-left:0px;--margin-right:0px;--z-index:10;}.elementor-49 .elementor-element.elementor-element-98f7460 .elementor-heading-title{font-family:"Gantari", Sans-serif;font-size:14px;font-weight:900;text-transform:uppercase;}.elementor-49 .elementor-element.elementor-element-ce62ed2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;}.elementor-49 .elementor-element.elementor-element-1e4df95 .elementor-heading-title{font-family:"PottaOne", Sans-serif;color:#0F172A;}.elementor-49 .elementor-element.elementor-element-cdc817a{--grid-columns:3;}.elementor-49 .elementor-element.elementor-element-cdc817a .elementor-loop-container{grid-auto-rows:1fr;}.elementor-49 .elementor-element.elementor-element-cdc817a .e-loop-item > .elementor-section, .elementor-49 .elementor-element.elementor-element-cdc817a .e-loop-item > .elementor-section > .elementor-container, .elementor-49 .elementor-element.elementor-element-cdc817a .e-loop-item > .e-con, .elementor-49 .elementor-element.elementor-element-cdc817a .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-49 .elementor-element.elementor-element-a2dfcae{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#FFFFFF0D;--border-color:#FFFFFF0D;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-a2dfcae:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-a2dfcae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4962bad );}.elementor-49 .elementor-element.elementor-element-1974e59{--display:flex;--position:absolute;top:0px;--z-index:0;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-1974e59{left:0px;}body.rtl .elementor-49 .elementor-element.elementor-element-1974e59{right:0px;}.elementor-49 .elementor-element.elementor-element-fcc7a4a{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:96px 96px;--row-gap:96px;--column-gap:96px;--grid-auto-flow:row;--z-index:10;}.elementor-49 .elementor-element.elementor-element-ee88a83{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--overflow:hidden;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#FFFFFF0D;--border-color:#FFFFFF0D;--padding-top:96px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-ee88a83:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-ee88a83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4962bad );}.elementor-49 .elementor-element.elementor-element-090e7c7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 58px) 0px;padding:0px 0px 0px 0px;z-index:10;text-align:center;}.elementor-49 .elementor-element.elementor-element-090e7c7 .elementor-heading-title{font-family:"PottaOne", Sans-serif;font-size:60px;font-weight:400;line-height:0.95em;letter-spacing:0.06em;color:var( --e-global-color-5c66547 );}.elementor-49 .elementor-element.elementor-element-c5ef2e8{--grid-columns:3;}.elementor-49 .elementor-element.elementor-element-cf46506{--grid-columns:3;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-5ff2aca{right:40px;}body.rtl .elementor-49 .elementor-element.elementor-element-5ff2aca{left:40px;}.elementor-49 .elementor-element.elementor-element-5ff2aca{top:40px;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-fbbf832{left:40px;}body.rtl .elementor-49 .elementor-element.elementor-element-fbbf832{right:40px;}.elementor-49 .elementor-element.elementor-element-fbbf832{bottom:40px;}.elementor-49 .elementor-element.elementor-element-e0a78cf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:96px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-692670f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-e2d4246{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--z-index:10;}.elementor-49 .elementor-element.elementor-element-8415479{--display:flex;}.elementor-49 .elementor-element.elementor-element-99b5bbe{--display:flex;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-group.recaptcha_v3-bottomleft, .elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-49 .elementor-element.elementor-element-4b460ef .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-4b460ef .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-49 .elementor-element.elementor-element-4b460ef .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-type-html{padding-bottom:0px;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-button[type="submit"]{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-49 .elementor-element.elementor-element-4b460ef{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-49 .elementor-element.elementor-element-53e5ad3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-49 .elementor-element.elementor-element-53e5ad3:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-53e5ad3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-49 .elementor-element.elementor-element-b9c9956{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-82992a8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-4e5c022 .elementor-heading-title{font-family:"PottaOne", Sans-serif;font-size:60px;line-height:1.2em;color:#0F172A;}.elementor-49 .elementor-element.elementor-element-c0501d8{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 32px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-49 .elementor-element.elementor-element-c0501d8 .elementor-heading-title{font-family:"Gantari", Sans-serif;font-size:18px;font-weight:500;line-height:1.6em;color:#475569;}.elementor-49 .elementor-element.elementor-element-4463fb9{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-c304b32{left:-24px;}body.rtl .elementor-49 .elementor-element.elementor-element-c304b32{right:-24px;}.elementor-49 .elementor-element.elementor-element-c304b32{bottom:-24px;z-index:10;}@media(max-width:1024px){.elementor-49 .elementor-element.elementor-element-59ca1f7{--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-49 .elementor-element.elementor-element-1e4df95 .elementor-heading-title{font-size:33px;}.elementor-49 .elementor-element.elementor-element-cdc817a{--grid-columns:2;}.elementor-49 .elementor-element.elementor-element-a2dfcae{--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-fcc7a4a{--e-con-grid-template-columns:repeat(1, 1fr);--gap:48px 48px;--row-gap:48px;--column-gap:48px;--grid-auto-flow:row;}.elementor-49 .elementor-element.elementor-element-ee88a83{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-49 .elementor-element.elementor-element-090e7c7 .elementor-heading-title{font-size:48px;}.elementor-49 .elementor-element.elementor-element-c5ef2e8{--grid-columns:2;}.elementor-49 .elementor-element.elementor-element-cf46506{--grid-columns:2;}.elementor-49 .elementor-element.elementor-element-e0a78cf{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-e2d4246{--flex-wrap:wrap;}.elementor-49 .elementor-element.elementor-element-53e5ad3{--padding-top:64px;--padding-bottom:64px;--padding-left:24px;--padding-right:24px;}.elementor-49 .elementor-element.elementor-element-b9c9956{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-49 .elementor-element.elementor-element-4e5c022 .elementor-heading-title{font-size:48px;}.elementor-49 .elementor-element.elementor-element-4463fb9{--gap:6px 6px;--row-gap:6px;--column-gap:6px;}}@media(max-width:767px){.elementor-49 .elementor-element.elementor-element-59ca1f7{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-49 .elementor-element.elementor-element-72fa6cd{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-ea4b50b{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-49 .elementor-element.elementor-element-ce62ed2{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-49 .elementor-element.elementor-element-1e4df95{text-align:center;}.elementor-49 .elementor-element.elementor-element-1e4df95 .elementor-heading-title{font-size:23px;}.elementor-49 .elementor-element.elementor-element-cdc817a{--grid-columns:1;}.elementor-49 .elementor-element.elementor-element-a2dfcae{--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-49 .elementor-element.elementor-element-fcc7a4a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-49 .elementor-element.elementor-element-ee88a83{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-49 .elementor-element.elementor-element-090e7c7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-49 .elementor-element.elementor-element-090e7c7 .elementor-heading-title{font-size:36px;}.elementor-49 .elementor-element.elementor-element-c5ef2e8{--grid-columns:1;}.elementor-49 .elementor-element.elementor-element-cf46506{--grid-columns:1;}.elementor-49 .elementor-element.elementor-element-53e5ad3{--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-49 .elementor-element.elementor-element-4e5c022 .elementor-heading-title{font-size:36px;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-c304b32{left:-12px;}body.rtl .elementor-49 .elementor-element.elementor-element-c304b32{right:-12px;}}@media(min-width:768px){.elementor-49 .elementor-element.elementor-element-028e1ed{--width:100%;}.elementor-49 .elementor-element.elementor-element-33cf5ff{--content-width:900px;}.elementor-49 .elementor-element.elementor-element-2d287d9{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-72fa6cd{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-ea4b50b{--width:100%;}.elementor-49 .elementor-element.elementor-element-fcc7a4a{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-ee88a83{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-e0a78cf{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-692670f{--content-width:1280px;}.elementor-49 .elementor-element.elementor-element-8415479{--width:50%;}.elementor-49 .elementor-element.elementor-element-99b5bbe{--width:50%;}.elementor-49 .elementor-element.elementor-element-b9c9956{--width:1280px;}.elementor-49 .elementor-element.elementor-element-82992a8{--width:50%;}.elementor-49 .elementor-element.elementor-element-4463fb9{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-49 .elementor-element.elementor-element-8415479{--width:100%;}.elementor-49 .elementor-element.elementor-element-99b5bbe{--width:100%;}.elementor-49 .elementor-element.elementor-element-b9c9956{--width:100%;}.elementor-49 .elementor-element.elementor-element-82992a8{--width:100%;}.elementor-49 .elementor-element.elementor-element-4463fb9{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-028e1ed */.elementor-49 .elementor-element.elementor-element-028e1ed .elementor-background-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background: 
      /* Gradiente dal basso (per far leggere i testi) */
      linear-gradient(to top, rgba(15, 23, 42, 1) 0%, rgba(15, 23, 42, 0.4) 50%, rgba(15, 23, 42, 0) 100%),
      /* Gradiente laterale (più morbido ai lati, niente strisce!) */
      linear-gradient(to right, rgba(15, 23, 42, 0.6) 0%, rgba(15, 23, 42, 0) 25%, rgba(15, 23, 42, 0) 75%, rgba(15, 23, 42, 0.6) 100%);
    pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-59ca1f7 *//* ==========================================================================
   CSS DEFINITIVO CARD B2B - PIXEL PERFECT DA REACT
   ========================================================================== */

/* 1. Il Guscio Principale (React: bg-primary, shadow rossa, text-white) */
.elementor-49 .elementor-element.elementor-element-59ca1f7 {
    background-color: var(--color-primary, #B80C09);
    border-radius: 3rem; /* md:rounded-[3rem] (48px) */
    border: 2px solid rgba(184, 12, 9, 0.5); /* border-primary/50 */
    box-shadow: 0 8px 0 0 #8a0907, 0 15px 40px rgba(0,0,0,0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    cursor: pointer;
    position: relative;
}

.elementor-49 .elementor-element.elementor-element-59ca1f7:hover {
    transform: translateY(-12px); /* hover:-translate-y-3 */
    box-shadow: 0 16px 0 0 #8a0907, 0 25px 50px rgba(0,0,0,0.5);
}
.elementor-49 .elementor-element.elementor-element-59ca1f7:active {
    transform: translateY(8px); /* active:translate-y-2 */
    box-shadow: 0 0px 0 0 #8a0907, 0 5px 10px rgba(0,0,0,0.4);
}

.elementor-49 .elementor-element.elementor-element-59ca1f7 > .elementor-widget:not(:first-child),
.elementor-49 .elementor-element.elementor-element-59ca1f7 > .e-con {
    position: relative;
    z-index: 10;
}

/* 2. Il Pattern a Puntini (React: bg-[length:30px_30px], opacity-20) */
.b2b-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.2;
    background-image: radial-gradient(circle at center, #ffffff 1px, transparent 1px);
    background-size: 30px 30px;
    transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    pointer-events: none;
}
.elementor-49 .elementor-element.elementor-element-59ca1f7:hover .b2b-bg-pattern {
    transform: scale(1.1);
}

/* 3. Le Macchie di Luce Animate (React: mix-blend-screen) */
/* La macchia di luce Gold (Gialla) */
/* La macchia di luce Gold (Gialla) BLINDATA */
.elementor-49 .elementor-element.elementor-element-59ca1f7::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 3rem !important;  
    right: 3rem !important; 
    left: auto !important; /* L'ANTIDOTO CONTRO IL BUG DI ELEMENTOR */
    width: 24rem !important; 
    height: 24rem !important;
    background-color: rgba(249, 200, 14, 0.4) !important;
    border-radius: 50% !important;
    filter: blur(64px) !important;
    mix-blend-mode: screen !important;
    z-index: 2 !important;
    pointer-events: none !important;
    animation: floatSecondaryBlob 10s ease-in-out infinite !important;
}
/* L'animazione corretta della macchia Gold */
@keyframes floatSecondaryBlob {
    0%, 100% { 
        transform: translate(0, 0); 
    }
    50% { 
        /* Ora si sposta verso sinistra (-80px) e verso il basso (80px), restando dentro la card */
        transform: translate(-80px, 80px); 
    }
}

.elementor-49 .elementor-element.elementor-element-59ca1f7::after {
    content: '';
    position: absolute;
    bottom: 0; 
    left: 0;
    width: 24rem; 
    height: 24rem;
    background-color: rgba(160, 206, 217, 0.4); /* Accent/Azzurro */
    border-radius: 50%;
    filter: blur(64px);
    mix-blend-mode: screen;
    z-index: 2;
    pointer-events: none;
    animation: floatAccentBlob 12s ease-in-out infinite;
}

/* Blindiamo lo z-index di TUTTO il contenuto per assicurarci che stia sopra i blob */
.elementor-49 .elementor-element.elementor-element-59ca1f7 > .elementor-widget {
    position: relative !important;
    z-index: 10 !important;
}

@keyframes floatSecondaryBlob {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(100px, -50px); }
}

/* --- KILLER DEL LAG: CARD B2B --- */
@media (max-width: 767px) {
    /* Nascondiamo completamente i blobs dietro la card su mobile */
    .elementor-49 .elementor-element.elementor-element-59ca1f7::before, 
    .elementor-49 .elementor-element.elementor-element-59ca1f7::after {
        display: none !important;
    }
    /* Fermiamo l'icona fluttuante */
    .glass-icon-wrapper {
        animation: none !important;
    }
    /* Riduciamo il glassmorphism sulle icone e sui badges */
    .glass-icon-container,
    .b2b-badge-glass {
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a045998 */.elementor-49 .elementor-element.elementor-element-a045998 {
    border-radius: 3rem; /* Equivalente al tuo rounded-[3rem] */
    box-shadow: 0 8px 30px rgba(0,0,0,0.05); /* L'ombra globale */
    transition: all 0.5s ease;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2d287d9 *//* ==========================================================================
   STEP 1: BACKGROUND ANIMATO "CHI SIAMO"
   Sostituisce framer-motion con CSS puro per Zero DOM Bloat.
   Utilizziamo .elementor-49 .elementor-element.elementor-element-2d287d9 per targhettizzare il container corrente.
   ========================================================================== */

/* 1. Setup del Container Base */
.elementor-49 .elementor-element.elementor-element-2d287d9 {
    position: relative;
    background-color: #ffffff; /* Equivalente a bg-white */
}

/* 2. Protezione dello Z-Index
   Assicuriamoci che tutti i futuri container interni (il contenuto) 
   stiano fisicamente sopra le macchie di colore sfocate. */
.elementor-49 .elementor-element.elementor-element-2d287d9 > .e-con,
.elementor-49 .elementor-element.elementor-element-2d287d9 > .e-container {
    position: relative;
    z-index: 10;
}

/* --------------------------------------------------------------------------
   BLOB 1: Top-Left (Accent Color)
   Traduzione di: bg-accent/5, blur-3xl, w-[50rem], h-[50rem]
   -------------------------------------------------------------------------- */
.elementor-49 .elementor-element.elementor-element-2d287d9::before {
    content: '';
    position: absolute;
    top: -20%;
    left: -10%;
    width: 800px; /* 50rem = 800px (16px base) */
    height: 800px;
    /* Colore Accent (#A0CED9) al 5% di opacità */
    background-color: rgba(160, 206, 217, 0.05); 
    border-radius: 50%;
    filter: blur(64px); /* Equivalente a blur-3xl */
    pointer-events: none; /* Rende il blob ignorabile dal mouse */
    z-index: 0;
    /* Traduzione di transition={{ duration: 20, repeat: Infinity, ease: "linear" }} */
    animation: floatAccent 20s linear infinite;
}

/* --------------------------------------------------------------------------
   BLOB 2: Bottom-Right (Secondary Color)
   Traduzione di: bg-secondary/5, blur-3xl, w-[50rem], h-[50rem]
   -------------------------------------------------------------------------- */
.elementor-49 .elementor-element.elementor-element-2d287d9::after {
    content: '';
    position: absolute;
    bottom: -20%;
    right: -10%;
    width: 800px;
    height: 800px;
    /* Colore Secondary (#F9C80E) al 5% di opacità */
    background-color: rgba(249, 200, 14, 0.05);
    border-radius: 50%;
    filter: blur(64px);
    pointer-events: none;
    z-index: 0;
    /* Traduzione di transition={{ duration: 25, repeat: Infinity, ease: "linear" }} */
    animation: floatSecondary 25s linear infinite;
}

/* --------------------------------------------------------------------------
   ANIMAZIONI (Keyframes)
   Replicano esattamente i parametri di animate di Framer Motion
   -------------------------------------------------------------------------- */

/* Traduzione di animate={{ scale: [1, 1.2, 1], rotate: [0, 90, 0] }} */
@keyframes floatAccent {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.2) rotate(90deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* Traduzione di animate={{ scale: [1, 1.5, 1], rotate: [0, -90, 0] }} */
@keyframes floatSecondary {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.5) rotate(-90deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* --- KILLER DEL LAG: BACKGROUND PRINCIPALE --- */
@media (max-width: 767px) {
    /* Blocchiamo l'animazione rotatoria e riduciamo il raggio del blur */
    .elementor-49 .elementor-element.elementor-element-2d287d9::before, 
    .elementor-49 .elementor-element.elementor-element-2d287d9::after {
        animation: none !important; /* Ferma il movimento */
        filter: blur(24px) !important; /* Da 64px a 24px: salva il 60% della batteria */
        -webkit-filter: blur(24px) !important;
        will-change: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-98f7460 *//* Crea la linea w-12 (48px) h-[2px] e la allinea al testo */
.elementor-49 .elementor-element.elementor-element-98f7460 .elementor-heading-title::before {
    content: '';
    display: inline-block;
    width: 48px; 
    height: 2px;
    background-color: #F9C80E; /* bg-secondary */
    vertical-align: middle;
    margin-right: 16px; /* gap-4 */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1e4df95 */.elementor-49 .elementor-element.elementor-element-1e4df95 .text-gradient {
       /* bg-gradient-to-r from-primary to-accent */
       background: linear-gradient(to right, #B80C09, #A0CED9);
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
   }
   
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-1e4df95{
        margin: 0 auto;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-77353da *//* =========================================
   STILI BASE (Tutti i dispositivi)
   ========================================= */
.elementor-49 .elementor-element.elementor-element-77353da .custom-btn-lucide {
  display: inline-flex;
  align-items: center;
  justify-content: center; /* Centra sempre il contenuto */
  gap: 12px;
  background-color: #ffffff;
  color: #0f172a;
  padding: 16px 32px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 16px;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap; /* Evita che il testo vada a capo su schermi stretti */
}

.elementor-49 .elementor-element.elementor-element-77353da .lucide-arrow {
  transition: transform 0.3s ease;
}

/* =========================================
   RESPONSIVE: TABLET (Fino a 1024px)
   ========================================= */
@media (max-width: 1024px) {
  .elementor-49 .elementor-element.elementor-element-77353da .custom-btn-lucide {
    padding: 14px 28px;
    gap: 10px;
    font-size: 15px;
  }
}

/* =========================================
   RESPONSIVE: MOBILE (Fino a 767px)
   ========================================= */
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-77353da{
        margin: 0 auto;
    }
    
    .elementor-49 .elementor-element.elementor-element-77353da .custom-btn-lucide {
        padding: 12px 24px;
        gap: 8px;
        font-size: 14px;
        
        /* Scommenta la riga qui sotto se vuoi che il bottone 
           occupi il 100% della larghezza su smartphone */
        /* width: 100%; */
  }
}

/* =========================================
   EFFETTI HOVER (SOLO PER SCHERMI CON MOUSE)
   ========================================= */
@media (hover: hover) {
  .elementor-49 .elementor-element.elementor-element-77353da .custom-btn-lucide:hover {
    border-color: #F9C80E;
    box-shadow: 0 10px 30px rgba(249, 200, 14, 0.15);
    transform: translateY(-4px);
  }

  .elementor-49 .elementor-element.elementor-element-77353da .custom-btn-lucide:hover .lucide-arrow {
    transform: translateX(4px);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72fa6cd *//* 1. Container Principale */
.elementor-49 .elementor-element.elementor-element-72fa6cd {
    position: relative !important;
    overflow: hidden !important; 
    background-color: #FAFAF9 !important; 
}

/* 2. Primo Alone Giallo (Forzato in alto a destra) */
.elementor-49 .elementor-element.elementor-element-72fa6cd::before {
    content: '';
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important; /* Fondamentale: impedisce a Elementor di incollarlo a sinistra */
    width: 600px !important; 
    height: 600px !important; 
    background-color: #F9C80E1A !important; 
    border-radius: 50% !important; 
    transform: translate(33.33%, -50%) translateZ(0) !important; 
    filter: blur(120px) !important; 
    pointer-events: none !important; 
    will-change: transform, filter;
    z-index: 0 !important;
}

/* 3. Secondo Alone Rosso (Forzato in basso a sinistra) */
.elementor-49 .elementor-element.elementor-element-72fa6cd::after {
    content: '';
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important; /* Fondamentale: lo sgancia da destra */
    width: 500px !important; 
    height: 500px !important; 
    background-color: #B80C091A !important; 
    border-radius: 50% !important; 
    transform: translate(-33.33%, 33.33%) translateZ(0) !important;
    filter: blur(100px) !important; 
    pointer-events: none !important; 
    will-change: transform, filter;
    z-index: 0 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1974e59 *//* 1. Impostazioni del Container di sfondo */
.elementor-49 .elementor-element.elementor-element-1974e59 {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  
  /* Griglia SVG ripristinata al 5% di opacità esatta (0.05) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M64 0L0 0 0 64' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3C/svg%3E") !important;
  background-position: center center !important;
  
  /* Maschera radiale intatta */
  -webkit-mask-image: radial-gradient(ellipse 80% 50% at 50% 50%, #000 70%, transparent 100%) !important;
  mask-image: radial-gradient(ellipse 80% 50% at 50% 50%, #000 70%, transparent 100%) !important;
}

/* 2. Bagliore Giallo (Top) - Opacità combinata al 2.5% */
.elementor-49 .elementor-element.elementor-element-1974e59::before {
  content: '';
  position: absolute;
  top: -200px;
  left: calc(50% - 400px);
  width: 800px;
  height: 800px;
  background-color: #F9C80E;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.025;
}

/* 3. Bagliore Rosso (Bottom) - Opacità combinata al 3% */
.elementor-49 .elementor-element.elementor-element-1974e59::after {
  content: '';
  position: absolute;
  bottom: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background-color: #B80C09;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.03;
}

/* --- OTTIMIZZAZIONE MOBILE: SFONDO HORECA --- */
@media (max-width: 767px) {
  .elementor-49 .elementor-element.elementor-element-1974e59 {
    /* Le maschere CSS distruggono le prestazioni su smartphone, la disattiviamo */
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .elementor-49 .elementor-element.elementor-element-1974e59::before, 
  .elementor-49 .elementor-element.elementor-element-1974e59::after {
    /* Spegniamo i due bagliori enormi da 100px e 120px */
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-c5ef2e8 *//* 1. Trasformiamo la griglia in una riga infinita */
.elementor-49 .elementor-element.elementor-element-c5ef2e8 .elementor-loop-container {
    display: flex !important;
    flex-wrap: nowrap !important; /* Impedisce rigorosamente di andare a capo */
    gap: 24px !important; /* Replicato dal tuo gap-6 in Tailwind */
    width: max-content !important; /* Permette al div di allargarsi all'infinito */
    
    /* 2. Motore dell'animazione (45 secondi come da tuo React) */
    animation: marqueeLeft 45s linear infinite !important;
    will-change: transform !important; /* Ottimizzazione GPU */
}

/* 3. Pausa all'hover (lg:hover:[animation-play-state:paused]) */
@media (min-width: 1024px) {
    .elementor-49 .elementor-element.elementor-element-c5ef2e8 .elementor-loop-container:hover {
        animation-play-state: paused !important;
    }
}

/* 4. I Keyframes: muoviamo il div del 50% usando l'accelerazione 3D */
@keyframes marqueeLeft {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

/* 5. Forziamo la larghezza esatta delle card e impediamo lo schiacciamento (shrink-0) */
.elementor-49 .elementor-element.elementor-element-c5ef2e8 .elementor-loop-container > .e-loop-item {
    flex-shrink: 0 !important; /* Replica di shrink-0 */
    width: 400px !important; /* Replica di md:w-[400px] per desktop e tablet */
    max-width: 100% !important;
}

/* 6. Adattamento della larghezza per i telefoni (w-[320px]) */
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-c5ef2e8 .elementor-loop-container > .e-loop-item {
        width: 320px !important; /* Replica di w-[320px] per mobile */
    }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-cf46506 *//* 1. Trasformiamo la griglia in una riga infinita */
.elementor-49 .elementor-element.elementor-element-cf46506 .elementor-loop-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 24px !important; 
    width: max-content !important;
    
    /* 2. Animazione verso DESTRA (marqueeRight) */
    animation: marqueeRight 45s linear infinite !important;
    will-change: transform !important;
}

/* 3. Pausa all'hover */
@media (min-width: 1024px) {
    .elementor-49 .elementor-element.elementor-element-cf46506 .elementor-loop-container:hover {
        animation-play-state: paused !important;
    }
}

/* 4. Forziamo la larghezza esatta delle card (shrink-0) */
.elementor-49 .elementor-element.elementor-element-cf46506 .elementor-loop-container > .e-loop-item {
    flex-shrink: 0 !important;
    width: 400px !important; /* md:w-[400px] */
    max-width: 100% !important;
}

/* 5. Adattamento larghezza per i telefoni */
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-cf46506 .elementor-loop-container > .e-loop-item {
        width: 320px !important; /* w-[320px] */
    }
}

/* 6. I Keyframes INVERTITI: muoviamo il div da -50% a 0 */
@keyframes marqueeRight {
    0% { transform: translate3d(-50%, 0, 0); }
    100% { transform: translate3d(0, 0, 0); }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ee88a83 *//* 1. Container Principale */
.elementor-49 .elementor-element.elementor-element-ee88a83 {
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important; 
    /* Lo sfondo nero lo lasciamo gestire al tab Stile di Elementor per comodità */
}

/* 2. Bagliore Primario (Rosso - In alto a destra) */
.elementor-49 .elementor-element.elementor-element-ee88a83::before {
    content: '';
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important; /* Il tuo fix magico per Elementor */
    width: 600px !important; 
    height: 600px !important; 
    background-color: #B80C091A !important; /* Rosso Primary 10% */
    border-radius: 50% !important; 
    transform: translate(33.33%, -50%) translateZ(0) !important; /* Accelerazione Hardware */
    filter: blur(120px) !important; 
    pointer-events: none !important; 
    will-change: transform, filter !important;
    z-index: -1 !important;
}

/* 3. Bagliore Secondario (Giallo - In basso a sinistra) */
.elementor-49 .elementor-element.elementor-element-ee88a83::after {
    content: '';
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important; /* Il tuo fix magico */
    width: 500px !important; 
    height: 500px !important; 
    background-color: #F9C80E1A !important; /* Giallo Secondary 10% */
    border-radius: 50% !important; 
    transform: translate(-33.33%, 33.33%) translateZ(0) !important;
    filter: blur(100px) !important; 
    pointer-events: none !important; 
    will-change: transform, filter !important;
    z-index: -1 !important;
}

/* 4. OTTIMIZZAZIONE MOBILE: Bagliori ridotti invece che nascosti */
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-ee88a83::before {
        display: block !important;
        width: 300px !important; /* Dimezzato rispetto ai 600px del desktop */
        height: 300px !important;
        filter: blur(60px) !important; /* Blur dimezzato per salvare la GPU mobile */
    }
    
    .elementor-49 .elementor-element.elementor-element-ee88a83::after {
        display: block !important;
        width: 250px !important; /* Dimezzato rispetto ai 500px */
        height: 250px !important;
        filter: blur(50px) !important; /* Blur dimezzato */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0a78cf *//* ==========================================================================
   CSS SEZIONE VALORI (Background e Pattern)
   ========================================================================== */

/* 1. Sfondo generale e posizionamento */
.elementor-49 .elementor-element.elementor-element-e0a78cf {
    background-color: var(--color-background, #FFFFF3); /* bg-background */
    position: relative;
}

.elementor-49 .elementor-element.elementor-element-e0a78cf > .e-con,
.elementor-49 .elementor-element.elementor-element-e0a78cf > .elementor-widget {
    position: relative;
    z-index: 10;
}

/* 2. Il Subtle Pattern (Punti rossi su griglia trasparente) */
.elementor-49 .elementor-element.elementor-element-e0a78cf::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.03;
    /* Traduzione di backgroundImage: 'radial-gradient(#B80C09 0.5px, transparent 0.5px)' */
    background-image: radial-gradient(var(--color-primary, #B80C09) 1px, transparent 1px);
    background-size: 24px 24px;
    z-index: 1;
    pointer-events: none;
}

/* 3. I due grandi bagliori fluttuanti (Primary e Secondary) */
.valori-glow-primary,
.valori-glow-secondary {
    position: absolute;
    width: 24rem; /* w-96 */
    height: 24rem;
    border-radius: 50%;
    filter: blur(64px); /* blur-3xl */
    opacity: 0.5;
    z-index: 0;
    pointer-events: none;
    animation: floatGlow 15s ease-in-out infinite alternate;
}

.valori-glow-primary {
    top: -6rem; /* -top-24 */
    left: -6rem; /* -left-24 */
    background-color: rgba(184, 12, 9, 0.05); /* bg-primary/5 */
}

.valori-glow-secondary {
    bottom: -6rem; /* -bottom-24 */
    right: -6rem; /* -right-24 */
    background-color: rgba(249, 200, 14, 0.05); /* bg-secondary/5 */
    animation-direction: alternate-reverse;
}

@keyframes floatGlow {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(30px, 30px) scale(1.1); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f318793 *//* Sgancia il widget dal padding e lo fa sovrapporre a tutto il container padre */
.elementor-49 .elementor-element.elementor-element-f318793 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important; /* Permette i click sugli elementi sottostanti */
    z-index: 1 !important; /* Lo tiene sotto ai futuri testi e form */
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-4b460ef *//* Nasconde gli input della Ghost Form ma mantiene visibile il div dei messaggi di sistema */
.ghost-form-wrapper .elementor-form-fields-wrapper {
    display: none !important;
}
/* Stile base per il messaggio di successo sotto la nostra form */
.ghost-form-wrapper .elementor-message {
    margin-top: 1rem !important;
    text-align: center !important;
    font-family: var(--font-sans, "Gantari", sans-serif) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-692670f *//* ==========================================================================
   CSS SEZIONE CONTATTI E ANIMAZIONI WHEAT (SPIGHE)
   ========================================================================== */

/* 1. Sfondo Rosso e Texture Noise */
.elementor-49 .elementor-element.elementor-element-692670f {
    background-color: var(--color-primary, #B80C09); /* bg-primary */
    position: relative;
}

/*.elementor-49 .elementor-element.elementor-element-692670f::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    opacity: 0.03;*/
/*    background-image: url('https://grainy-gradients.vercel.app/noise.svg');*/
/*    pointer-events: none;*/
/*    z-index: 1;*/
/*}*/

/*.elementor-49 .elementor-element.elementor-element-692670f > .e-con,*/
/*.elementor-49 .elementor-element.elementor-element-692670f > .elementor-widget {*/
/*    position: relative;*/
/*    z-index: 10;*/
/*}*/

/* --- KILL-SWITCH NOISE SU MOBILE --- */
/*@media (max-width: 767px) {*/
/*    .elementor-49 .elementor-element.elementor-element-692670f::before {*/
       /* display: none !important; /* Spegne la texture SVG che distrugge la GPU 
/*    }*/
/*}*//* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-c3a6ca2 *//* 1. Setup dell'immagine e proporzioni */
.elementor-49 .elementor-element.elementor-element-c3a6ca2 img {
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 48px !important; /* L'equivalente di rounded-[3rem] */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; /* shadow-2xl */
    transition: box-shadow 0.5s ease-in-out !important; /* duration-500 */
}

/* 2. Effetto Hover sull'ombra (Diventa verde) */
.elementor-49 .elementor-element.elementor-element-c3a6ca2 img:hover {
    box-shadow: 0 20px 40px -15px rgba(34, 197, 94, 0.3) !important; /* Il tuo hover custom */
}

/* 3. Il filtro gradiente in Overlay (mix-blend-multiply) */
.elementor-49 .elementor-element.elementor-element-c3a6ca2 .elementor-widget-container {
    position: relative;
    display: inline-block;
    width: 100%;
}

.elementor-49 .elementor-element.elementor-element-c3a6ca2 .elementor-widget-container::after {
    content: '';
    position: absolute;
    inset: 0;
    /* Da verde Tailwind 20% a trasparente */
    background: linear-gradient(to top right, rgba(34, 197, 94, 0.2), transparent);
    mix-blend-mode: multiply;
    border-radius: 48px; /* Deve combaciare con l'immagine */
    pointer-events: none; /* Fondamentale per i click */
    z-index: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53e5ad3 *//* 1. Container Principale */
.elementor-49 .elementor-element.elementor-element-53e5ad3 {
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important; 
    /* Lo sfondo bianco lo lasciamo gestire al tab Stile di Elementor */
}

/* 2. Bagliore Verde (In alto a destra - Equivalente a bg-green-500/5) */
.elementor-49 .elementor-element.elementor-element-53e5ad3::before {
    content: '';
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important; 
    width: 500px !important; /* Preso da w-[500px] */
    height: 500px !important; /* Preso da h-[500px] */
    background-color: rgba(34, 197, 94, 0.05) !important; /* Verde Tailwind al 5% */
    border-radius: 50% !important; 
    transform: translate(50%, -50%) translateZ(0) !important; /* translate-x-1/2 -translate-y-1/2 */
    filter: blur(100px) !important; /* blur-[100px] */
    pointer-events: none !important; 
    will-change: transform, filter !important;
    z-index: -1 !important;
}

/* 3. Bagliore Primario (In basso a sinistra - Equivalente a bg-primary/5) */
.elementor-49 .elementor-element.elementor-element-53e5ad3::after {
    content: '';
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important; 
    width: 400px !important; /* Preso da w-[400px] */
    height: 400px !important; /* Preso da h-[400px] */
    background-color: rgba(184, 12, 9, 0.05) !important; /* Colore #B80C09 al 5% */
    border-radius: 50% !important; 
    transform: translate(-25%, 50%) translateZ(0) !important; /* -translate-x-1/4 translate-y-1/2 */
    filter: blur(80px) !important; /* blur-[80px] */
    pointer-events: none !important; 
    will-change: transform, filter !important;
    z-index: -1 !important;
}

/* 4. OTTIMIZZAZIONE MOBILE: Bagliori ridotti proporzionalmente */
@media (max-width: 767px) {
    .elementor-49 .elementor-element.elementor-element-53e5ad3::before {
        display: block !important;
        width: 250px !important; /* Dimezzato rispetto ai 500px */
        height: 250px !important;
        filter: blur(50px) !important; /* Blur dimezzato */
    }
    
    .elementor-49 .elementor-element.elementor-element-53e5ad3::after {
        display: block !important;
        width: 200px !important; /* Dimezzato rispetto ai 400px */
        height: 200px !important;
        filter: blur(40px) !important; /* Blur dimezzato */
    }
}

/* 1. Stato di partenza comune (Invisibile) */
.custom-animate {
    opacity: 0;
    will-change: opacity, transform;
}

/* 2. Colonna Sinistra (x: -30 e duration: 0.6) */
.custom-fade-left {
    transform: translateX(-30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* 3. Colonna Destra (scale: 0.95, duration: 0.6, delay: 0.2) */
.custom-scale-up {
    transform: scale(0.95);
    /* Nota il delay di 0.2s aggiunto alla fine della transition */
    transition: opacity 0.6s ease-out 0.2s, transform 0.6s ease-out 0.2s;
}

/* 4. Lo stato finale quando entrano nella Viewport (whileInView) */
.custom-animate.is-visible {
    opacity: 1 !important;
    transform: translate(0) scale(1) !important;
}/* End custom CSS */