.elementor-2039 .elementor-element.elementor-element-b697b61{--display:flex;--min-height:70vh;--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;}.elementor-2039 .elementor-element.elementor-element-afd9fd7{--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:flex-start;--padding-top:3%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.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-2039 .elementor-element.elementor-element-a577acd > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-a577acd.elementor-element{--align-self:flex-start;}.elementor-2039 .elementor-element.elementor-element-a577acd{text-align:start;}.elementor-2039 .elementor-element.elementor-element-a577acd .elementor-heading-title{font-family:"Six Caps", Sans-serif;font-size:80px;font-weight:normal;text-transform:uppercase;line-height:1em;letter-spacing:-0.3px;color:var( --e-global-color-text );}.elementor-2039 .elementor-element.elementor-element-89c9542 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-89c9542{text-align:start;}.elementor-2039 .elementor-element.elementor-element-89c9542 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:20px;font-weight:700;color:#EC0043;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2039 .elementor-element.elementor-element-3181a31{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2039 .elementor-element.elementor-element-299f6e2{--display:flex;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-2039 .elementor-element.elementor-element-64f598a{--divider-border-style:solid;--divider-color:#EBEBEB;--divider-border-width:2px;}.elementor-2039 .elementor-element.elementor-element-64f598a > .elementor-widget-container{margin:0px 0px 012px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-64f598a .elementor-divider-separator{width:100%;}.elementor-2039 .elementor-element.elementor-element-64f598a .elementor-divider{padding-block-start:8px;padding-block-end:8px;}.elementor-2039 .elementor-element.elementor-element-469ddd5{--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;--padding-top:0%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-2039 .elementor-element.elementor-element-b3ae577{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:02px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:012px;--padding-left:0px;--padding-right:0px;}.elementor-2039 .elementor-element.elementor-element-c190a06{--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;}.elementor-2039 .elementor-element.elementor-element-59712e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-59712e5{text-align:start;}.elementor-2039 .elementor-element.elementor-element-59712e5 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-item:not(:last-child):after{content:"";border-color:#EBEBEB;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child):after{border-block-start-style:solid;border-block-start-width:1px;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-style:solid;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-width:1px;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2039 .elementor-element.elementor-element-9831db5{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2039 .elementor-element.elementor-element-9831db5 .elementor-icon-list-text{color:#1b1b1b;transition:color 0.3s;}.elementor-2039 .elementor-element.elementor-element-f65da73{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2039 .elementor-element.elementor-element-b638fec .avdiv_wid_gallery{--thumbnails-gal-height:210px;--thumbnails-gal-gap:5px;}.elementor-2039 .elementor-element.elementor-element-b638fec .avdivimg_gallery>div{border-radius:15px 15px 15px 15px;}.elementor-widget-call-to-action .elementor-cta__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 );}.elementor-widget-call-to-action .elementor-cta__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-call-to-action .elementor-cta__button{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-widget-call-to-action .elementor-ribbon-inner{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-2039 .elementor-element.elementor-element-63a642a .elementor-cta .elementor-cta__bg, .elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-2039 .elementor-element.elementor-element-63a642a > .elementor-widget-container{border-radius:0px 0px 15px 15px;}.elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta__content{min-height:100px;text-align:center;}.elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta__bg-wrapper{min-width:450px;min-height:200px;}.elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta__title{font-family:"Quicksand", Sans-serif;font-size:25px;font-weight:700;color:var( --e-global-color-text );}.elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta__description{font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:900;color:var( --e-global-color-secondary );}.elementor-2039 .elementor-element.elementor-element-63a642a .elementor-cta:not(:hover) .elementor-cta__bg-overlay{background-color:#EC004300;}.elementor-2039 .elementor-element.elementor-element-e1318a0{--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;--padding-top:0%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-2039 .elementor-element.elementor-element-3785ca4 > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-3785ca4.elementor-element{--align-self:flex-start;}.elementor-2039 .elementor-element.elementor-element-3785ca4{text-align:start;}.elementor-2039 .elementor-element.elementor-element-3785ca4 .elementor-heading-title{font-family:"Six Caps", Sans-serif;font-size:80px;font-weight:normal;text-transform:uppercase;line-height:1em;letter-spacing:-0.3px;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-2039 .elementor-element.elementor-element-b0d10b9{--divider-border-style:solid;--divider-color:#EBEBEB;--divider-border-width:2px;}.elementor-2039 .elementor-element.elementor-element-b0d10b9 > .elementor-widget-container{margin:0px 0px 012px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-b0d10b9 .elementor-divider-separator{width:100%;}.elementor-2039 .elementor-element.elementor-element-b0d10b9 .elementor-divider{padding-block-start:8px;padding-block-end:8px;}.elementor-2039 .elementor-element.elementor-element-f7ba9a7{--display:flex;--min-height:50vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.25;--border-radius:10px 10px 10px 10px;}.elementor-2039 .elementor-element.elementor-element-f7ba9a7:not(.elementor-motion-effects-element-type-background), .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://loob.aviratodesign.com/wp-content/uploads/Junior-Suite-Loob-Madrid.webp");background-position:center center;background-size:cover;}.elementor-2039 .elementor-element.elementor-element-f7ba9a7::before, .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .e-con-inner > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-f7ba9a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d6eaab7 );--background-overlay:'';}.elementor-2039 .elementor-element.elementor-element-482a9b4{--display:flex;--min-height:50vh;--justify-content:flex-end;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:5;--e-con-transform-transition-duration:700ms;}.elementor-2039 .elementor-element.elementor-element-0623ad7 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-47598c1{color:var( --e-global-color-827f773 );}.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-2039 .elementor-element.elementor-element-9893adb .elementor-button{background-color:var( --e-global-color-primary );font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );border-radius:5px 5px 5px 5px;}.elementor-2039 .elementor-element.elementor-element-9893adb .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-9893adb .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-827f773 );border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-9893adb > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-9893adb .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-9893adb .elementor-button:focus svg{fill:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-d51f521 .elementor-button{background-color:#EC004300;font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-d51f521 .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-d51f521 .elementor-button:focus{background-color:var( --e-global-color-827f773 );color:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-d51f521 > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-d51f521 .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-d51f521 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-68b0d64{--display:flex;--min-height:50vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.25;--border-radius:10px 10px 10px 10px;}.elementor-2039 .elementor-element.elementor-element-68b0d64:not(.elementor-motion-effects-element-type-background), .elementor-2039 .elementor-element.elementor-element-68b0d64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://loob.aviratodesign.com/wp-content/uploads/Master-Suite-Loob-Madrid.webp");background-position:center center;background-size:cover;}.elementor-2039 .elementor-element.elementor-element-68b0d64::before, .elementor-2039 .elementor-element.elementor-element-68b0d64 > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-68b0d64 > .e-con-inner > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-68b0d64 > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-68b0d64 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-68b0d64 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d6eaab7 );--background-overlay:'';}.elementor-2039 .elementor-element.elementor-element-661277b{--display:flex;--min-height:50vh;--justify-content:flex-end;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:5;--e-con-transform-transition-duration:700ms;}.elementor-2039 .elementor-element.elementor-element-888e270 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-d004863{color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-489a57d .elementor-button{background-color:var( --e-global-color-primary );font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );border-radius:5px 5px 5px 5px;}.elementor-2039 .elementor-element.elementor-element-489a57d .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-489a57d .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-827f773 );border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-489a57d > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-489a57d .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-489a57d .elementor-button:focus svg{fill:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-4d510ba .elementor-button{background-color:#EC004300;font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-4d510ba .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-4d510ba .elementor-button:focus{background-color:var( --e-global-color-827f773 );color:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-4d510ba > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-4d510ba .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-4d510ba .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-c008118{--display:flex;--min-height:50vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.25;--border-radius:10px 10px 10px 10px;}.elementor-2039 .elementor-element.elementor-element-c008118:not(.elementor-motion-effects-element-type-background), .elementor-2039 .elementor-element.elementor-element-c008118 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://loob.aviratodesign.com/wp-content/uploads/Luxury-Suite-Loob-Madrid.webp");background-position:center center;background-size:cover;}.elementor-2039 .elementor-element.elementor-element-c008118::before, .elementor-2039 .elementor-element.elementor-element-c008118 > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-c008118 > .e-con-inner > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-c008118 > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-c008118 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-c008118 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d6eaab7 );--background-overlay:'';}.elementor-2039 .elementor-element.elementor-element-d0d6e8b{--display:flex;--min-height:50vh;--justify-content:flex-end;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:5;--e-con-transform-transition-duration:700ms;}.elementor-2039 .elementor-element.elementor-element-d4190d8 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-1231162{color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-b137fae .elementor-button{background-color:var( --e-global-color-primary );font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );border-radius:5px 5px 5px 5px;}.elementor-2039 .elementor-element.elementor-element-b137fae .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-b137fae .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-827f773 );border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-b137fae > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-b137fae .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-b137fae .elementor-button:focus svg{fill:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-aa0aaa1 .elementor-button{background-color:#EC004300;font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-aa0aaa1 .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-aa0aaa1 .elementor-button:focus{background-color:var( --e-global-color-827f773 );color:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-aa0aaa1 > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-aa0aaa1 .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-aa0aaa1 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-8d678f2{--display:flex;--min-height:50vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.25;--border-radius:10px 10px 10px 10px;}.elementor-2039 .elementor-element.elementor-element-8d678f2:not(.elementor-motion-effects-element-type-background), .elementor-2039 .elementor-element.elementor-element-8d678f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://loob.aviratodesign.com/wp-content/uploads/Suite-Grey-Loob-Madrid.webp");background-position:center center;background-size:cover;}.elementor-2039 .elementor-element.elementor-element-8d678f2::before, .elementor-2039 .elementor-element.elementor-element-8d678f2 > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-8d678f2 > .e-con-inner > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-8d678f2 > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-8d678f2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-8d678f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d6eaab7 );--background-overlay:'';}.elementor-2039 .elementor-element.elementor-element-60cde88{--display:flex;--min-height:50vh;--justify-content:flex-end;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:5;--e-con-transform-transition-duration:700ms;}.elementor-2039 .elementor-element.elementor-element-2b8b7b8 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-92d247b{color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-89ac9e6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );border-radius:5px 5px 5px 5px;}.elementor-2039 .elementor-element.elementor-element-89ac9e6 .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-89ac9e6 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-827f773 );border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-89ac9e6 > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-89ac9e6 .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-89ac9e6 .elementor-button:focus svg{fill:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-c5699bb .elementor-button{background-color:#EC004300;font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-c5699bb .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-c5699bb .elementor-button:focus{background-color:var( --e-global-color-827f773 );color:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-c5699bb > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-c5699bb .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-c5699bb .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-636c025{--display:flex;--min-height:50vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.25;--border-radius:10px 10px 10px 10px;}.elementor-2039 .elementor-element.elementor-element-636c025:not(.elementor-motion-effects-element-type-background), .elementor-2039 .elementor-element.elementor-element-636c025 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://loob.aviratodesign.com/wp-content/uploads/Premium-Suite-Loob-Madrid.webp");background-position:center center;background-size:cover;}.elementor-2039 .elementor-element.elementor-element-636c025::before, .elementor-2039 .elementor-element.elementor-element-636c025 > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-636c025 > .e-con-inner > .elementor-background-video-container::before, .elementor-2039 .elementor-element.elementor-element-636c025 > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-636c025 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2039 .elementor-element.elementor-element-636c025 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d6eaab7 );--background-overlay:'';}.elementor-2039 .elementor-element.elementor-element-c65d1ac{--display:flex;--min-height:50vh;--justify-content:flex-end;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:5;--e-con-transform-transition-duration:700ms;}.elementor-2039 .elementor-element.elementor-element-3c32953 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-1a871dc{color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-dd99a3f .elementor-button{background-color:var( --e-global-color-primary );font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );border-radius:5px 5px 5px 5px;}.elementor-2039 .elementor-element.elementor-element-dd99a3f .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-dd99a3f .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-827f773 );border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-dd99a3f > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-dd99a3f .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-dd99a3f .elementor-button:focus svg{fill:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-66a3dd4 .elementor-button{background-color:#EC004300;font-family:"Quicksand", Sans-serif;font-size:15px;font-weight:700;fill:var( --e-global-color-827f773 );color:var( --e-global-color-827f773 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-827f773 );}.elementor-2039 .elementor-element.elementor-element-66a3dd4 .elementor-button:hover, .elementor-2039 .elementor-element.elementor-element-66a3dd4 .elementor-button:focus{background-color:var( --e-global-color-827f773 );color:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-66a3dd4 > .elementor-widget-container{margin:2% 0% 0% 0%;padding:2% 0% 0% 0%;}.elementor-2039 .elementor-element.elementor-element-66a3dd4 .elementor-button:hover svg, .elementor-2039 .elementor-element.elementor-element-66a3dd4 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2039 .elementor-element.elementor-element-1c75639{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}@media(min-width:768px){.elementor-2039 .elementor-element.elementor-element-c190a06{--width:40%;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-call-to-action .elementor-cta__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-call-to-action .elementor-cta__button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-call-to-action .elementor-ribbon-inner{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-call-to-action .elementor-cta__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-call-to-action .elementor-cta__button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-call-to-action .elementor-ribbon-inner{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-call-to-action .elementor-cta__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-call-to-action .elementor-cta__button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-call-to-action .elementor-ribbon-inner{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-2039 .elementor-element.elementor-element-1c75639{--e-n-carousel-swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2039 .elementor-element.elementor-element-a577acd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-a577acd{text-align:start;}.elementor-2039 .elementor-element.elementor-element-a577acd .elementor-heading-title{font-size:70px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-call-to-action .elementor-cta__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-call-to-action .elementor-cta__button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-call-to-action .elementor-ribbon-inner{font-size:var( --e-global-typography-accent-font-size );}.elementor-2039 .elementor-element.elementor-element-3785ca4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2039 .elementor-element.elementor-element-3785ca4{text-align:start;}.elementor-2039 .elementor-element.elementor-element-3785ca4 .elementor-heading-title{font-size:70px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-2039 .elementor-element.elementor-element-1c75639{--e-n-carousel-swiper-slides-to-display:1;}}/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7ba9a7 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-f7ba9a7:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-f7ba9a7::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-f7ba9a7 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68b0d64 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-68b0d64:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-68b0d64::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-68b0d64 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c008118 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-c008118:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-c008118:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-c008118::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-c008118 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d678f2 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-8d678f2:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-8d678f2::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-8d678f2 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-636c025 *//* ===== Tarjeta con fondo fijo (no se mueve) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025.roomcard {
  position: relative;
  overflow: hidden;
  border-radius: 14px;        /* opcional */
}

/* Fondo: en Elementor usa Estilo → Fondo (Cover, Center). 
   Si quieres efecto fijo respecto al viewport: Attachment = Fixed
   (ojo en móviles a veces no funciona). */

/* ===== Wrapper de textos (lo único que se desplaza) ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
  position: absolute;
  left: 0; right: 0; bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 0 16px;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);

  will-change: transform;
}

/* En hover: sube el bloque (título + botón) para dejar sitio al texto */
.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__content {
  transform: translateY(-24px);      /* ajusta intensidad */
}

/* ===== Texto oculto → fade + desplazamiento suave ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
  opacity: 0;
  max-height: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1),
    max-height 1.4s ease;
  transition-delay: 0.12s;
  overflow: hidden;
  pointer-events: none;
}


.elementor-2039 .elementor-element.elementor-element-636c025:hover .roomcard__desc {
  opacity: 1;
  max-height: 160px;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== Título y botón también más suaves ===== */
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025 .elementor-button {
  transition: transform 0.9s cubic-bezier(.25,.46,.45,.94);
}

.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-heading-title,
.elementor-2039 .elementor-element.elementor-element-636c025:hover .elementor-button {
  transform: translateY(-4px);
}

/* (Opcional) Overlay para legibilidad */
.elementor-2039 .elementor-element.elementor-element-636c025::after {
  content: "";
  position: absolute; inset: 0;
}

/* ===== Móviles (sin hover): mostrar el texto siempre o por tap ===== */
@media (pointer: coarse) {
  /* Mostrar siempre en táctiles */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* Y no desplazar el wrapper para que no tape el botón */
  .elementor-2039 .elementor-element.elementor-element-636c025 .roomcard__content {
    transform: none !important;
  }
}/* End custom CSS */