.elementor-2449 .elementor-element.elementor-element-66703a0{--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;--align-items:center;--overflow:hidden;}.elementor-2449 .elementor-element.elementor-element-ed82dbe{--display:flex;--min-height:80vh;--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;--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-2449 .elementor-element.elementor-element-05b3cbf{--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;}.elementor-2449 .elementor-element.elementor-element-ef31093 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-2449 .elementor-element.elementor-element-e9733b0{--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:flex-start;--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:8%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2449 .elementor-element.elementor-element-69a034d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:300;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2449 .elementor-element.elementor-element-8c0cea1{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-text );}.elementor-2449 .elementor-element.elementor-element-71ed0f2{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-text );}.elementor-2449 .elementor-element.elementor-element-2ac0436{--display:flex;--min-height:80vh;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:20;}.elementor-2449 .elementor-element.elementor-element-752d910{--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:flex-start;--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:8%;}.elementor-2449 .elementor-element.elementor-element-210e109 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:300;color:var( --e-global-color-text );}.elementor-2449 .elementor-element.elementor-element-316e202{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-text );}.elementor-2449 .elementor-element.elementor-element-73bf210{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-text );}.elementor-2449 .elementor-element.elementor-element-115859d{--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;}.elementor-2449 .elementor-element.elementor-element-cb087be .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-2449 .elementor-element.elementor-element-fb40933{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-2449 .elementor-element.elementor-element-1a970fb{--display:flex;}.elementor-2449 .elementor-element.elementor-element-164e751{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-8c254b2{--display:flex;}.elementor-2449 .elementor-element.elementor-element-8c254b2:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-8c254b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2449 .elementor-element.elementor-element-80d145f .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-a265888 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-84780a0{--display:flex;}.elementor-2449 .elementor-element.elementor-element-fbf44be{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-ae3a459{--display:flex;}.elementor-2449 .elementor-element.elementor-element-ae3a459:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-ae3a459 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-cac43cc .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-7a61ff6 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-de3dbd2{--display:flex;}.elementor-2449 .elementor-element.elementor-element-cb76961{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-3347746{--display:flex;}.elementor-2449 .elementor-element.elementor-element-3347746:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-3347746 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-f6f7fd1 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-c117dd5 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-d14cc8c{--display:flex;}.elementor-2449 .elementor-element.elementor-element-9c6f095{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-b73e785{--display:flex;}.elementor-2449 .elementor-element.elementor-element-b73e785:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-b73e785 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-a5f1570 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-5890de4 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-9da512f{--display:flex;}.elementor-2449 .elementor-element.elementor-element-5389f31{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-6c162fe{--display:flex;}.elementor-2449 .elementor-element.elementor-element-6c162fe:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-6c162fe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-a60e9b1 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-522b3f1 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-7b493eb{--display:flex;}.elementor-2449 .elementor-element.elementor-element-755b108{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-26b45b5{--display:flex;}.elementor-2449 .elementor-element.elementor-element-26b45b5:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-26b45b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-0368386 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-a89fa1d .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-0e09a30{--display:flex;}.elementor-2449 .elementor-element.elementor-element-9422e24{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-bbef176{--display:flex;}.elementor-2449 .elementor-element.elementor-element-bbef176:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-bbef176 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-143cc15 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-be293b0 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-6b10e0d{--display:flex;}.elementor-2449 .elementor-element.elementor-element-4ecdaef{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-ed984e2{--display:flex;}.elementor-2449 .elementor-element.elementor-element-ed984e2:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-ed984e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-2549071 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-7fa5f56 .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-c176fee{--display:flex;}.elementor-2449 .elementor-element.elementor-element-fcdf8be{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-4c9c85e{--display:flex;}.elementor-2449 .elementor-element.elementor-element-4c9c85e:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-4c9c85e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-705340c .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-cfa804c .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-ddaf433{--display:flex;}.elementor-2449 .elementor-element.elementor-element-af795e7{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-1dd4f24{--display:flex;}.elementor-2449 .elementor-element.elementor-element-1dd4f24:not(.elementor-motion-effects-element-type-background), .elementor-2449 .elementor-element.elementor-element-1dd4f24 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF6F2;}.elementor-2449 .elementor-element.elementor-element-42b6a5b .elementor-button{border-style:none;}.elementor-2449 .elementor-element.elementor-element-e5ad54d .elementor-button{border-style:none;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-c7eabc9{left:685px;}body.rtl .elementor-2449 .elementor-element.elementor-element-c7eabc9{right:685px;}.elementor-2449 .elementor-element.elementor-element-c7eabc9{top:421px;z-index:0;}.elementor-2449 .elementor-element.elementor-element-c7eabc9 img{width:100%;}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-2039200{left:65px;}body.rtl .elementor-2449 .elementor-element.elementor-element-2039200{right:65px;}.elementor-2449 .elementor-element.elementor-element-2039200{bottom:511px;z-index:0;}.elementor-2449 .elementor-element.elementor-element-2039200 img{width:100%;}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-4115c9e{right:73px;}body.rtl .elementor-2449 .elementor-element.elementor-element-4115c9e{left:73px;}.elementor-2449 .elementor-element.elementor-element-4115c9e{top:2200px;z-index:0;}.elementor-2449 .elementor-element.elementor-element-4115c9e img{width:100%;}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-cc3e9c3{right:17px;}body.rtl .elementor-2449 .elementor-element.elementor-element-cc3e9c3{left:17px;}.elementor-2449 .elementor-element.elementor-element-cc3e9c3{bottom:158px;z-index:0;}body.elementor-page-2449:not(.elementor-motion-effects-element-type-background), body.elementor-page-2449 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#22382B;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-2449 .elementor-element.elementor-element-66703a0{--width:100%;--min-height:100vh;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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:100px;--padding-left:20px;--padding-right:20px;--z-index:0;}.elementor-2449 .elementor-element.elementor-element-ed82dbe{--margin-top:0%;--margin-bottom:10%;--margin-left:0%;--margin-right:0%;--padding-top:50%;--padding-bottom:20%;--padding-left:10%;--padding-right:10%;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-05b3cbf{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-2449 .elementor-element.elementor-element-e9733b0{--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2449 .elementor-element.elementor-element-69a034d .elementor-heading-title{font-size:25px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-2449 .elementor-element.elementor-element-8c0cea1{font-size:15px;}.elementor-2449 .elementor-element.elementor-element-71ed0f2{font-size:15px;}.elementor-2449 .elementor-element.elementor-element-2ac0436{--padding-top:50%;--padding-bottom:20%;--padding-left:10%;--padding-right:10%;}.elementor-2449 .elementor-element.elementor-element-752d910{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-2449 .elementor-element.elementor-element-210e109 .elementor-heading-title{font-size:25px;}.elementor-2449 .elementor-element.elementor-element-316e202{font-size:15px;}.elementor-2449 .elementor-element.elementor-element-73bf210{font-size:15px;}.elementor-2449 .elementor-element.elementor-element-115859d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-2449 .elementor-element.elementor-element-fb40933{--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-2449 .elementor-element.elementor-element-1a970fb{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-164e751{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-164e751 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-8c254b2{--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-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-2449 .elementor-element.elementor-element-80d145f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-80d145f .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a265888{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-a265888 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a265888 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-84780a0{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-fbf44be{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-fbf44be > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-ae3a459{--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-2449 .elementor-element.elementor-element-cac43cc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-cac43cc .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-7a61ff6{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-7a61ff6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-7a61ff6 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-de3dbd2{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-cb76961{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-cb76961 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-3347746{--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-2449 .elementor-element.elementor-element-f6f7fd1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-f6f7fd1 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-c117dd5{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-c117dd5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-c117dd5 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-d14cc8c{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-9c6f095{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-9c6f095 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-b73e785{--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-2449 .elementor-element.elementor-element-a5f1570 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a5f1570 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-5890de4{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-5890de4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-5890de4 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-9da512f{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-5389f31{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-5389f31 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-6c162fe{--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-2449 .elementor-element.elementor-element-a60e9b1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a60e9b1 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-522b3f1{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-522b3f1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-522b3f1 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-7b493eb{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-755b108{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-755b108 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-26b45b5{--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-2449 .elementor-element.elementor-element-0368386 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-0368386 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a89fa1d{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-a89fa1d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-a89fa1d .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-0e09a30{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-9422e24{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-9422e24 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-bbef176{--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-2449 .elementor-element.elementor-element-143cc15 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-143cc15 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-be293b0{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-be293b0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-be293b0 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-6b10e0d{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-4ecdaef{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-4ecdaef > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-ed984e2{--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-2449 .elementor-element.elementor-element-2549071 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-2549071 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-7fa5f56{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-7fa5f56 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-7fa5f56 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-c176fee{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-fcdf8be{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-fcdf8be > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-4c9c85e{--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-2449 .elementor-element.elementor-element-705340c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-705340c .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-cfa804c{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-cfa804c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-cfa804c .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-ddaf433{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2449 .elementor-element.elementor-element-af795e7{--e-image-carousel-slides-to-show:1;}.elementor-2449 .elementor-element.elementor-element-af795e7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-1dd4f24{--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-2449 .elementor-element.elementor-element-42b6a5b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-42b6a5b .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-e5ad54d{width:auto;max-width:auto;}.elementor-2449 .elementor-element.elementor-element-e5ad54d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2449 .elementor-element.elementor-element-e5ad54d .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-2449 .elementor-element.elementor-element-c7eabc9{z-index:0;}.elementor-2449 .elementor-element.elementor-element-2039200{bottom:30%;z-index:0;}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-4115c9e{right:10%;}body.rtl .elementor-2449 .elementor-element.elementor-element-4115c9e{left:10%;}.elementor-2449 .elementor-element.elementor-element-4115c9e{z-index:0;}body:not(.rtl) .elementor-2449 .elementor-element.elementor-element-cc3e9c3{right:10%;}body.rtl .elementor-2449 .elementor-element.elementor-element-cc3e9c3{left:10%;}.elementor-2449 .elementor-element.elementor-element-cc3e9c3{bottom:0%;z-index:0;}}@media(min-width:768px){.elementor-2449 .elementor-element.elementor-element-ed82dbe{--width:100vw;}.elementor-2449 .elementor-element.elementor-element-05b3cbf{--width:40%;}.elementor-2449 .elementor-element.elementor-element-e9733b0{--width:50%;}.elementor-2449 .elementor-element.elementor-element-2ac0436{--width:100vw;}.elementor-2449 .elementor-element.elementor-element-752d910{--width:50%;}.elementor-2449 .elementor-element.elementor-element-115859d{--width:40%;}}/* Start custom CSS for container, class: .elementor-element-1a970fb *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro & Fine) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    
    /* MODIFICA RICHIESTA: Font più sottile e piccolo */
    font-weight: 500 !important; 
    font-size: 10px !important;
    
    text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px)
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* Dots (Incollati al soffitto) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; bottom: auto !important; 
        text-align: center; width: 100%; z-index: 10; 
    }

    /* BOX INFO MOBILE (Glass Visibile & Compatto) */
    .room-info-box {
        position: relative;
        margin-top: -40px !important; margin-right: 15px !important;
        
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; top: -20px !important; right: 20px !important; z-index: 20; width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), 
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        backdrop-filter: blur(25px) !important;
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        padding: 25px 35px 15px 35px !important;
        z-index: 5; border-radius: 8px !important; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   GPU BOOST & FLUIDITÀ (Unificato)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-84780a0 *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3dbd2 *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d14cc8c *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9da512f *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7b493eb *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0e09a30 *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b10e0d *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c176fee *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ddaf433 *//* ============================================================
   1. RANDOMNESS ORGANICA (Movimento diverso per 10 Card)
   ============================================================ */
@keyframes luxuryGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Card Timing */
.rooms-grid-wrapper .luxury-room-card:nth-child(1) .room-info-box { animation-duration: 12s !important; animation-delay: 0s !important; background-size: 250% 250% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(2) .room-info-box { animation-duration: 20s !important; animation-delay: -5s !important; background-size: 300% 300% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(3) .room-info-box { animation-duration: 15s !important; animation-delay: -2s !important; background-size: 200% 200% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(4) .room-info-box { animation-duration: 25s !important; animation-delay: -10s !important; background-size: 350% 350% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(5) .room-info-box { animation-duration: 11s !important; animation-delay: -3s !important; background-size: 220% 220% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(6) .room-info-box { animation-duration: 22s !important; animation-delay: -15s !important; background-size: 400% 400% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(7) .room-info-box { animation-duration: 16s !important; animation-delay: -7s !important; background-size: 280% 280% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(8) .room-info-box { animation-duration: 13s !important; animation-delay: -1s !important; background-size: 180% 180% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(9) .room-info-box { animation-duration: 19s !important; animation-delay: -9s !important; background-size: 320% 320% !important; }
.rooms-grid-wrapper .luxury-room-card:nth-child(10) .room-info-box { animation-duration: 14s !important; animation-delay: -4s !important; background-size: 240% 240% !important; }

/* Animazioni UI */
@keyframes arrowMagneticPulse {
    0%, 100% { transform: translateY(-50%) rotate(45deg) translate(0, 0); }
    50% { transform: translateY(-50%) rotate(45deg) translate(3px, -3px); }
}
@keyframes lineBreathe {
    0%, 100% { width: 45px; }
    50% { width: 50px; }
}


/* ============================================================
   2. GLOBAL STYLES (Struttura Base)
   ============================================================ */
.luxury-room-card {
    position: relative; background: transparent;
    overflow: visible !important; border: none !important; z-index: 10;
}
.rooms-grid-wrapper {
    position: relative !important; z-index: 20 !important; 
}

/* PAGINAZIONE */
.luxury-room-card .elementor-image-carousel-wrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.luxury-room-card .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5) !important; 
    opacity: 1 !important; width: 20px !important; height: 2px !important;
    margin: 0 4px !important; border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.luxury-room-card .swiper-pagination-bullet-active {
    background: #FFFFFF !important; width: 45px !important; height: 2px !important;
}


/* ============================================================
   3. PULSANTI & TYPOGRAPHY
   ============================================================ */

/* PRENOTA */
.btn-book-room .elementor-button {
    background-color: #22382B !important; color: #FFFFFF !important;
    font-family: "gravesend-sans", sans-serif !important;
    text-transform: uppercase; font-weight: 600 !important;
    box-shadow: 0 8px 20px rgba(34, 56, 43, 0.3), inset 0 1px 1px rgba(255,255,255,0.1) !important; 
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
    border: 1px solid rgba(34, 56, 43, 0) !important;
}
.btn-book-room .elementor-button:hover {
    background-color: #1a2b21 !important; transform: translateY(-4px) scale(1.03) !important; 
    box-shadow: 0 20px 40px rgba(34, 56, 43, 0.4), 0 0 0 1px rgba(255,255,255,0.1) !important; 
}

/* DETTAGLI (Stile Verde Scuro) */
.btn-details-room .elementor-button {
    background: transparent !important; padding: 0 !important; margin: 0 !important; border: none !important;
    padding-right: 60px !important; position: relative; display: inline-flex !important; align-items: center; width: auto !important;
    color: #22382B !important; font-family: "gravesend-sans", sans-serif !important;
    font-weight: 600 !important; text-transform: uppercase; letter-spacing: 2px;
}
.btn-details-room .elementor-button::after {
    content: ''; position: absolute; right: 0; top: 50%; width: 45px; height: 1px; 
    background-color: #22382B !important; transform: translateY(-50%); 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0.8;
}
.btn-details-room .elementor-button::before {
    content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px;
    border-top: 1.5px solid #22382B !important; border-right: 1.5px solid #22382B !important;
    transform: translateY(-50%) rotate(45deg); margin-top: -0.5px; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.btn-details-room .elementor-button:active::after { width: 55px; background-color: #22382B; }

/* TYPOGRAPHY (Margini Ridotti Qui) */
.room-title .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #22382B !important; line-height: 1.1 !important; }
.room-subtitle .elementor-heading-title { font-family: "gravesend-sans", sans-serif !important; color: #7A8880 !important; font-weight: 500 !important; text-transform: uppercase; }

/* 
   RIDUZIONE SPAZIO DESCRIZIONE
   Era: 25px. 
   Ora: 10px. 
   Questo incolla visivamente la descrizione al pulsante dettagli.
*/
.room-desc, .room-desc * { 
    font-family: "gravesend-sans", sans-serif !important; 
    font-style: italic !important; font-weight: 400 !important; 
    color: #4A5A50 !important; line-height: 1.5 !important; 
    margin-bottom: 0 !important; 
}
.room-desc { margin-bottom: 10px !important; }


/* ============================================================
   4. MOBILE LAYOUT (Max 1024px) - PIÙ SPAZIO ALLA FOTO
   ============================================================ */
@media (max-width: 1024px) {
    .luxury-room-card {
        border-radius: 0px; margin-bottom: 60px;
        display: flex !important; flex-direction: column !important; gap: 0 !important;
    }

    .room-image-slider .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        border-radius: 4px; vertical-align: bottom !important; display: block;
    }
    
    /* DOTS (Incollati al soffitto per non disturbare) */
    .luxury-room-card .swiper-pagination { 
        top: 8px !important; 
        bottom: auto !important; 
        text-align: center; 
        width: 100%; 
        z-index: 10; 
    }

    /* BOX INFO MOBILE (Abbassato per mostrare più foto) */
    .room-info-box {
        position: relative;
        
        /* 
           FIX VISIBILITÀ FOTO:
           Era: -40px. 
           Nuovo: -20px. 
           Risultato: Il box scende, rivelando più immagine ma restando "agganciato".
        */
        margin-top: -20px !important; 
        
        margin-right: 15px !important;
        
        /* WHITE GLASS GRADIENT MOBILE */
        background: linear-gradient(135deg, 
            rgba(255, 255, 255, 0.90), 
            rgba(181, 173, 168, 0.50), 
            rgba(255, 255, 255, 0.20)
        ) !important;
        
        background-size: 300% 300% !important;
        animation: luxuryGradientMove 10s ease infinite !important;
        backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(255,255,255,0.4) !important;
        
        padding: 25px 25px 15px 25px !important;
        
        z-index: 5; 
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
        border-radius: 12px !important; border-top-right-radius: 4px !important; 
    }

    /* Typo Mobile */
    .room-title .elementor-heading-title { font-size: 30px !important; margin-bottom: 5px !important; }
    .room-subtitle .elementor-heading-title { font-size: 11px !important; letter-spacing: 3px !important; margin-bottom: 15px !important; border: none !important; }
    .room-desc { font-size: 14px !important; }

    /* Pulsante Mobile */
    .btn-book-room { 
        position: absolute !important; 
        top: -20px !important; 
        right: 20px !important; 
        z-index: 20; 
        width: auto !important; 
    }
    .btn-book-room .elementor-button { 
        padding: 12px 26px !important; font-size: 10px !important; letter-spacing: 1.5px !important; border-radius: 50px !important; 
    }

    /* Animazione Mobile */
    .btn-details-room .elementor-button::before { animation: arrowMagneticPulse 3s ease-in-out infinite; }
    .btn-details-room .elementor-button::after { animation: lineBreathe 3s ease-in-out infinite; }
}


/* ============================================================
   5. DESKTOP LAYOUT (Min 1025px)
   ============================================================ */
@media (min-width: 1025px) {

    .rooms-grid-wrapper {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px 60px !important; 
        align-items: start !important; max-width: 1400px !important; 
        margin: 0 auto 150px auto !important; padding: 0 40px !important; 
    }

    .luxury-room-card { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 0 !important; }

    .room-image-slider {
        width: 100% !important; position: relative; z-index: 1; overflow: hidden;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15); 
    }
    .room-image-slider .swiper-slide img {
        width: 100% !important; height: auto !important;
        aspect-ratio: 16 / 9 !important; object-fit: cover !important;
        display: block !important; border-radius: 12px !important;
        transition: transform 0.8s ease;
    }
    .luxury-room-card:hover .room-image-slider .swiper-slide img { transform: scale(1.03); }
    .luxury-room-card .swiper-pagination { bottom: 35px !important; pointer-events: none; }

    /* BOX TESTO DESKTOP (Glass Contrasto) */
    .room-info-box {
        position: relative; width: 90% !important; margin: 0 auto !important; margin-top: -25px !important; 
        
        /* 
           GRADIENTE AD ALTO CONTRASTO DESKTOP
           Inserito il Tortora/Grigio (rgba(218, 214, 212, 0.6)) per rendere visibile il movimento.
        */
        background: linear-gradient(120deg, 
            rgba(255, 255, 255, 0.80), 
            rgba(218, 214, 212, 0.60), /* Colore scuro per vedere l'animazione */
            rgba(255, 255, 255, 0.10)
        ) !important;
        
        background-size: 200% 200% !important;
        animation: luxuryGradientMove 12s ease-in-out infinite !important;
        
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
        
        /* PADDING RIDOTTO SOTTO (15px) */
        padding: 25px 35px 15px 35px !important;
        
        z-index: 5;
        border-radius: 8px !important; 
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    }

    .room-title .elementor-heading-title { font-size: 22px !important; text-align: left; margin-bottom: 2px !important; }
    .room-subtitle .elementor-heading-title { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 8px !important; text-align: left; padding-bottom: 0 !important; border: none !important; }
    .room-desc { font-size: 14px !important; text-align: left; line-height: 1.4 !important; margin-bottom: 12px !important; }

    .btn-book-room {
        position: absolute !important; top: -24px !important; right: 30px !important; z-index: 20; width: auto !important;
    }
    .btn-book-room .elementor-button {
        padding: 14px 34px !important; font-size: 11px !important; letter-spacing: 2.5px !important; border-radius: 50px !important;
    }
    
    .btn-details-room { justify-content: flex-start !important; }
    
    /* Hover Freccia Desktop */
    .btn-details-room .elementor-button:hover::after { width: 55px !important; opacity: 1; }
    .btn-details-room .elementor-button:hover::before { right: -5px !important; }
}

/* ============================================================
   CAROUSEL LUXURY PHYSICS (Slow & Liquid)
   ============================================================ */


/* Evita scatti strani su Safari/iOS */
.luxury-room-card .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

/* ============================================================
   GPU BOOST (Fluidità estrema)
   ============================================================ */
.room-image-slider .swiper-wrapper {
    /* Curva di Bezier personalizzata: Parte lenta, accelera, frena lentissimo */
    transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
    will-change: transform;
}

.room-image-slider .swiper-slide {
    /* Forza la scheda video a gestire i pixel */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   BOTANICAL ILLUSTRATIONS (Layer 0 - Sfondo)
   ============================================================ */
.botanical-ghost {
    /* 1. FUSIONE COL FONDO */
    opacity: 0.15; 
    mix-blend-mode: luminosity; 
    
    /* 2. NON BLOCCARE IL TOCCO */
    pointer-events: none; 
    
    /* 3. Z-INDEX BASSO */
    position: absolute !important;
    z-index: 0 !important; /* Livello Base */
    
    /* 4. MOVIMENTO */
    animation: plant-breathe 10s ease-in-out infinite;
}

@keyframes plant-breathe {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.05) rotate(2deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* ============================================================
   FIX LIVELLI CAMERE (Layer 20 - Primo Piano)
   ============================================================ */

/* 1. IL RECINTO (Il Padre delle Card) */
/* Questo è fondamentale: alza tutto il blocco delle camere sopra i fiori */
.rooms-grid-wrapper {
    position: relative !important;
    z-index: 20 !important; 
    /* Fix per Mobile: forza il browser a creare un nuovo livello */
    transform: translateZ(10px); 
}

/* 2. LA SINGOLA CARD */
.luxury-room-card {
    z-index: 20 !important; 
    position: relative !important;
    /* Colore di sfondo necessario per coprire i fiori che passano sotto */
    /* Usiamo il verde scuro del sito se vuoi che il fiore sparisca DIETRO la card */
    /* Oppure transparent se vuoi vedere il fiore in trasparenza DIETRO il testo */
    background: transparent; 
}/* End custom CSS */