/*
Theme Name: Hospedagem White Label
Description: Tema premium para hospedagens, integrado ao Hospedagem CRM, com arquitetura Elementor-first inspirada no Hello Elementor.
Version: 4.0.345
Text Domain: essencial-hospedagem
*/
:root{--eh-font-heading:Georgia,"Times New Roman",serif;--eh-font-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--eh-primary:#123f34;--eh-primary-hover:#0b3028;--eh-secondary:#1d5849;--eh-accent:#c9973e;--eh-accent2:#d8ad5c;--eh-background:#f8f5ee;--eh-surface:#ffffff;--eh-text:#17372e;--eh-text-muted:#65716b;--eh-border:#e6dfd3;--eh-success:#277a4b;--eh-warning:#a97915;--eh-danger:#a94747;--eh-radius-sm:6px;--eh-radius-md:12px;--eh-radius-lg:20px;--eh-shadow-sm:0 8px 26px rgba(22,52,43,.06);--eh-shadow-md:0 18px 48px rgba(19,46,38,.11);--eh-container:1180px;--eh-section-spacing:96px;--eh-green:var(--eh-primary);--eh-green-2:var(--eh-secondary);--eh-green-3:var(--eh-primary-hover);--eh-gold:var(--eh-accent);--eh-gold-2:var(--eh-accent2);--eh-cream:var(--eh-background);--eh-white:var(--eh-surface);--eh-ink:var(--eh-text);--eh-muted:var(--eh-text-muted);--eh-line:var(--eh-border);--eh-shadow:var(--eh-shadow-md)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--eh-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.elementor-page .eh-default-page-content{padding:0}.elementor-page .eh-page-hero{display:none}.eh-system-unavailable{padding:22px;border:1px solid var(--eh-line);border-radius:10px;background:#fff;color:var(--eh-muted)}
/* Elementor global header */
.eh-elementor-global-header{position:relative;z-index:100}.home .eh-elementor-global-header{position:absolute;top:0;left:0;right:0}.eh-v3-header{background:var(--eh-green)!important;color:#fff}.home .eh-v3-header{background:linear-gradient(180deg,rgba(6,23,19,.62),rgba(6,23,19,0))!important}.eh-v3-header .elementor-widget-button .elementor-button{min-height:42px;padding:0 20px}.eh-elementor-logo img{display:inline-block;max-width:100%;height:auto}.eh-elementor-logo-text{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:#fff}.eh-elementor-menu-wrap{position:relative}.eh-elementor-menu-list{display:flex;align-items:center;justify-content:center;gap:28px;list-style:none;margin:0;padding:0}.eh-elementor-menu-list a{font-size:13px;font-weight:600;color:#fff;padding:10px 0;position:relative}.eh-elementor-menu-list a:hover:after,.eh-elementor-menu-list .current-menu-item>a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--eh-gold)}.eh-elementor-link-icon{display:inline-flex;align-items:center;justify-content:center;color:#fff}.eh-elementor-link-icon svg{fill:none;stroke:currentColor;stroke-width:1.8}.eh-elementor-menu-toggle{display:none;background:transparent;border:0;color:#fff;width:42px;height:42px;cursor:pointer}.eh-elementor-menu-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto}.eh-builder-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:.25s;z-index:9998}.eh-builder-mobile-panel{position:fixed;left:0;top:0;bottom:0;width:min(86vw,360px);padding:28px;background:#fff;color:var(--eh-ink);transform:translateX(-105%);transition:.3s ease;z-index:9999;box-shadow:20px 0 55px rgba(0,0,0,.18)}.eh-builder-mobile-panel .eh-elementor-menu-list{display:block}.eh-builder-mobile-panel .eh-elementor-menu-list li{border-bottom:1px solid #eee8df}.eh-builder-mobile-panel .eh-elementor-menu-list a{display:block;color:var(--eh-ink);padding:15px 0}.eh-builder-mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eh-builder-mobile-close{width:40px;height:40px;border:0;border-radius:50%;background:#f1eee8;font-size:26px;cursor:pointer}.eh-elementor-menu.is-mobile-open .eh-builder-overlay{opacity:1;visibility:visible}.eh-elementor-menu.is-mobile-open .eh-builder-mobile-panel{transform:translateX(0)}
/* Home */
.eh-v3-home-hero{position:relative;overflow:hidden}.eh-v3-home-hero:before,.eh-v3-page-hero:before,.eh-v3-experience:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,21,.75) 0%,rgba(7,25,21,.37) 48%,rgba(7,25,21,.12) 100%);z-index:0}.eh-v3-home-hero>.e-con-inner,.eh-v3-home-hero>.elementor-element,.eh-v3-page-hero>.e-con-inner,.eh-v3-page-hero>.elementor-element,.eh-v3-experience>.e-con-inner,.eh-v3-experience>.elementor-element{position:relative;z-index:1}.eh-v3-home-hero h1{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(52px,6.2vw,78px)!important;line-height:1.03!important;font-weight:400!important;letter-spacing:-.025em;margin:0}.eh-v3-home-hero .elementor-widget-text-editor{font-size:18px;line-height:1.55}.eh-v3-search-float{position:relative;z-index:25;margin-top:-54px!important}.eh-v3-search-float .eh-elementor-crm{background:#fff!important;border-radius:12px!important;box-shadow:0 18px 42px rgba(24,48,40,.16)!important}.eh-v3-search-float .ehstay-search{display:grid!important;grid-template-columns:1.1fr 1.1fr 1fr 1fr auto!important;gap:0!important;align-items:end!important}.eh-v3-search-float .ehstay-search>label,.eh-v3-search-float .ehstay-search>div{padding:0 18px!important;border-right:1px solid #ece6dc!important}.eh-v3-search-float input,.eh-v3-search-float select{border:0!important;box-shadow:none!important;padding-left:0!important;background:transparent!important}.eh-v3-search-float button{min-height:50px!important;border-radius:6px!important;padding:0 25px!important;margin-left:18px!important;background:var(--eh-green-2)!important}.eh-v3-welcome h2,.eh-v3-rooms h2,.eh-v3-experience h2,.eh-v3-page-hero h1,.eh-v3-room-summary h1,.eh-v3-room-details h2,.eh-v3-room-details h3{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;letter-spacing:-.018em}.eh-v3-welcome h2,.eh-v3-rooms h2{font-size:clamp(36px,4vw,52px)!important;line-height:1.08!important}.eh-v3-welcome .elementor-button,.eh-v3-rooms .elementor-button,.eh-v3-experience .elementor-button{border-radius:4px!important;padding:13px 20px!important}.eh-v3-room-card{box-shadow:0 8px 26px rgba(22,52,43,.05);border:1px solid #ece5da!important;transition:.22s ease}.eh-v3-room-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(22,52,43,.09)}.eh-v3-room-card .eh-dynamic-room-image{display:block}.eh-v3-room-card .eh-dynamic-room-image img{display:block;width:100%!important;height:230px!important;object-fit:cover!important;border-radius:0!important}.eh-dynamic-room-title{font-family:Georgia,"Times New Roman",serif!important;font-size:22px!important;line-height:1.15!important;margin:0!important}.eh-dynamic-room-capacity{font-size:13px!important}.eh-dynamic-amenities{display:flex;gap:6px;flex-wrap:wrap}.eh-dynamic-amenities span{font-size:11px;border-radius:999px;padding:5px 8px}.eh-dynamic-room-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:13px}.eh-dynamic-room-price small{display:block;width:100%;font-size:11px}.eh-dynamic-room-price strong{font-size:18px}.eh-v3-experience{position:relative}.eh-v3-experience h2{font-size:clamp(38px,4.2vw,54px)!important;line-height:1.03!important}.eh-v3-amenities{text-align:center}.eh-v3-amenities h3{font-size:28px!important;margin:0}.eh-v3-amenities h5{font-size:15px!important;margin:0}.eh-v3-amenities .elementor-widget-text-editor{font-size:12px}
/* Inner page hero */
.eh-v3-page-hero{position:relative;overflow:hidden}.eh-v3-page-hero:before{background:rgba(9,35,29,.65)}.eh-v3-page-hero h1{font-size:clamp(42px,5vw,62px)!important;line-height:1.05!important;margin:0}.eh-v3-page-hero .elementor-widget-text-editor{text-align:center;font-size:16px}.eh-v3-all-room-grid>.e-con-inner,.eh-v3-all-room-grid{align-items:stretch}.eh-v3-all-room-grid .eh-v3-room-card{flex:0 0 calc(33.333% - 12px)!important;max-width:calc(33.333% - 12px)!important}.eh-v3-gallery-grid>.elementor-element{flex:0 0 calc(33.333% - 8px)!important}.eh-v3-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover;border-radius:8px}
/* Room single */
.eh-elementor-room-template{background:#fff}.eh-v3-room-gallery-wrap{background:var(--eh-cream)}.eh-dynamic-room-gallery{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;grid-template-rows:255px 255px!important;gap:10px!important}.eh-dynamic-room-gallery a{display:block;overflow:hidden}.eh-dynamic-room-gallery a:first-child{grid-row:1/3}.eh-dynamic-room-gallery img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:8px!important}.eh-v3-room-summary{border-bottom:1px solid var(--eh-line)}.eh-v3-room-summary .eh-dynamic-room-title{font-size:clamp(38px,4vw,56px)!important}.eh-v3-room-price-card{box-shadow:var(--eh-shadow)}.eh-v3-room-price-card .eh-dynamic-room-price strong{font-size:28px}.eh-v3-room-tabs{position:sticky;top:0;z-index:20;background:#fff}.eh-v3-room-tabs h5{font-size:13px!important;font-family:Inter,system-ui,sans-serif!important;font-weight:600!important;margin:0!important}.eh-v3-room-details{align-items:flex-start}.eh-v3-room-details h2{font-size:36px!important}.eh-v3-room-details h3{font-size:25px!important}.eh-dynamic-room-content{font-size:15px;line-height:1.8}.eh-dynamic-room-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.eh-dynamic-room-attributes>div{padding:15px;border:1px solid #eee7dc}.eh-dynamic-room-attributes dt{font-size:11px}.eh-dynamic-room-attributes dd{margin:3px 0 0;font-size:14px;font-weight:600}.eh-v3-room-sticky{position:sticky;top:30px;box-shadow:var(--eh-shadow)}.ehstay-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important}.ehstay-calendar span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;border:1px solid #e7e1d7!important;font-size:10px!important;padding:4px!important}.ehstay-rate,.ehstay-services article{padding:18px!important;border:1px solid var(--eh-line)!important;border-radius:9px!important;background:#fff!important}
/* CRM widgets generic visual layer */
.eh-elementor-crm{width:100%;color:var(--eh-ink)}.eh-elementor-crm input,.eh-elementor-crm select,.eh-elementor-crm textarea{border:1px solid #ddd6ca;border-radius:7px;min-height:48px;background:#fff;color:var(--eh-ink)}.eh-elementor-crm button:not(.ehstay-password-toggle):not(.escrm-password-field-toggle):not(.escrm-team-password-toggle):not(.escrm-universal-password-toggle):not(.escrm-password-toggle):not(.eh-search-date-trigger):not(.eh-search-range-trigger),.eh-elementor-crm .ehstay-btn{border-radius:6px!important;min-height:48px!important;background:var(--eh-green-2)!important;color:#fff!important;font-weight:600!important}.ehstay-room-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.ehstay-room-card{border:1px solid #ebe4d8!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 8px 28px rgba(22,52,43,.05)!important}.ehstay-room-card img{width:100%!important;height:230px!important;object-fit:cover!important}.eh-v3-system-page .eh-elementor-crm{background:#fff;padding:28px;border:1px solid #ebe4d8;border-radius:10px;box-shadow:var(--eh-shadow)}
/* Footer */
.eh-v3-footer{color:#c9d6d1}.eh-v3-footer h5{margin:0}.eh-v3-footer .eh-elementor-menu-list{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.eh-v3-footer .eh-elementor-menu-list a{color:#c9d6d1;padding:2px 0}.eh-v3-footer .eh-elementor-menu-list a:after{display:none!important}
/* Fallback */
.eh-builder-header{background:var(--eh-green);color:#fff}.eh-builder-footer{background:var(--eh-green-3);color:#fff;padding:48px 28px}.eh-builder-header-inner,.eh-builder-footer-inner{max-width:1180px;margin:auto}.eh-builder-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between}.eh-builder-menu,.eh-builder-footer-menu{list-style:none;padding:0;margin:0;display:flex;gap:20px}.eh-builder-account{width:40px;height:40px;display:grid;place-items:center}.eh-builder-hamburger{display:none}.eh-builder-mobile-panel,.eh-builder-overlay{display:none}
@media(max-width:1024px){.eh-v3-room-grid{flex-wrap:wrap!important}.eh-v3-room-grid>.e-con-inner>.e-con,.eh-v3-room-grid>.e-con,.eh-v3-all-room-grid .eh-v3-room-card{flex:0 0 calc(50% - 9px)!important;max-width:calc(50% - 9px)!important}.eh-v3-welcome,.eh-v3-rooms,.eh-v3-room-summary,.eh-v3-room-details{flex-direction:column!important}.eh-v3-welcome>.e-con-inner>.e-con,.eh-v3-welcome>.e-con,.eh-v3-rooms>.e-con-inner>.e-con,.eh-v3-rooms>.e-con,.eh-v3-room-summary>.e-con-inner>.e-con,.eh-v3-room-summary>.e-con,.eh-v3-room-details>.e-con-inner>.e-con,.eh-v3-room-details>.e-con{width:100%!important}.eh-v3-welcome-features{flex-direction:row!important}.eh-v3-rooms-intro{align-items:center;text-align:center}.eh-v3-experience{background-position:center}.eh-v3-room-sticky{position:static}.eh-v3-room-tabs{overflow:auto;justify-content:flex-start!important;gap:24px!important}.eh-v3-gallery-grid>.elementor-element{flex:0 0 calc(50% - 6px)!important}.eh-v3-header .e-con{gap:10px}.eh-elementor-menu-list{gap:16px}.eh-v3-search-float .ehstay-search{grid-template-columns:1fr 1fr!important;gap:12px!important}.eh-v3-search-float .ehstay-search>label,.eh-v3-search-float .ehstay-search>div{border:0!important;padding:0!important}.eh-v3-search-float button{margin-left:0!important}}
@media(max-width:767px){.eh-v3-header .elementor-widget-button{display:none}.eh-v3-header [data-elementor-type="container"]{gap:8px}.eh-elementor-menu-desktop{display:none!important}.eh-elementor-menu-toggle{display:block!important}.eh-v3-home-hero{min-height:560px!important;background-position:center!important}.eh-v3-home-hero h1{font-size:46px!important}.eh-v3-search-float{margin-top:-28px!important}.eh-v3-search-float .ehstay-search{grid-template-columns:1fr!important}.eh-v3-welcome-features,.eh-v3-room-grid,.eh-v3-amenities,.eh-v3-all-room-grid{flex-direction:column!important}.eh-v3-welcome-features>.e-con,.eh-v3-welcome-features>.e-con-inner>.e-con,.eh-v3-room-grid>.e-con,.eh-v3-room-grid>.e-con-inner>.e-con,.eh-v3-amenities>.e-con,.eh-v3-amenities>.e-con-inner>.e-con,.eh-v3-all-room-grid .eh-v3-room-card{width:100%!important;max-width:100%!important;flex:0 0 100%!important;border-right:0!important;border-bottom:1px solid var(--eh-line)!important}.eh-v3-room-card .eh-dynamic-room-image img{height:240px!important}.eh-v3-experience{min-height:440px!important}.eh-v3-gallery-grid{flex-direction:column!important}.eh-v3-gallery-grid>.elementor-element{flex:0 0 100%!important;width:100%!important}.eh-v3-gallery-grid img{height:230px}.eh-dynamic-room-gallery{grid-template-columns:1fr!important;grid-template-rows:none!important}.eh-dynamic-room-gallery a:first-child{grid-row:auto}.eh-dynamic-room-gallery a{height:230px}.eh-v3-room-tabs{display:none!important}.eh-dynamic-room-attributes{grid-template-columns:1fr}.ehstay-calendar{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ehstay-room-cards{grid-template-columns:1fr!important}.eh-v3-footer{flex-direction:column!important}.eh-v3-footer>.e-con-inner>.e-con,.eh-v3-footer>.e-con{width:100%!important}.eh-builder-hamburger{display:block}.eh-builder-desktop-nav{display:none}}


/* =========================================================
   v3.0.7 — Motor de disponibilidade da Home
   Desktop: 4 campos + botão alinhados na mesma linha.
   ========================================================= */
.eh-elementor-crm-essencial_hosp_search .ehstay-search {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto !important;
    align-items: end !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}

.eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    margin: 0 !important;
    gap: 7px !important;
}

.eh-elementor-crm-essencial_hosp_search .ehstay-search input,
.eh-elementor-crm-essencial_hosp_search .ehstay-search select {
    width: 100% !important;
    box-sizing: border-box !important;
}

.eh-elementor-crm-essencial_hosp_search .ehstay-search label small {
    display: block !important;
    min-height: 0 !important;
    margin: -2px 0 0 !important;
    line-height: 1.2 !important;
}

.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
    align-self: end !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 174px !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

/* A observação de crianças não deve empurrar o botão para cima. */
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label:nth-of-type(4) {
    position: relative;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label:nth-of-type(4) small {
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    width: 100%;
    font-size: 10px;
}

@media (max-width: 1024px) {
    .eh-elementor-crm-essencial_hosp_search .ehstay-search {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        row-gap: 18px !important;
    }
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
        justify-self: stretch !important;
        width: 100% !important;
    }
}
@media (max-width: 767px) {
    .eh-elementor-crm-essencial_hosp_search .ehstay-search {
        grid-template-columns: 1fr !important;
    }
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label:nth-of-type(4) small {
        position: static;
        margin-top: 2px !important;
    }
}


/* v3.0.8 — Home: respiro vertical da seção "Seu refúgio exclusivo na natureza". */
.eh-home-intro {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* v4 Elementor-first shell */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:10px 14px;background:#fff;color:#111;z-index:100000}



.eh-wrap{width:min(calc(100% - 40px),var(--eh-container));margin-inline:auto}.eh-section{padding:var(--eh-section-spacing) 0}.eh-section-alt{background:var(--eh-background)}.eh-center{text-align:center}.eh-kicker{display:inline-block;color:var(--eh-accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eh-title{font-family:var(--eh-font-heading);font-weight:400;letter-spacing:-.02em;line-height:1.06}.eh-lead{max-width:720px;margin-inline:auto;color:var(--eh-text-muted);font-size:1.06rem}.eh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:var(--eh-radius-sm);background:var(--eh-primary);color:#fff!important;font-weight:700;transition:.2s ease}.eh-btn:hover{background:var(--eh-primary-hover);transform:translateY(-1px)}
.eh-builder-header{position:relative;z-index:1000;background:var(--eh-primary);color:#fff}.home .eh-builder-header{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,rgba(6,28,23,.78),rgba(6,28,23,.08))}.eh-builder-header-inner{width:min(calc(100% - 40px),1280px);min-height:84px;margin:auto;display:flex;align-items:center;gap:28px}.eh-builder-logo{display:flex;align-items:center;font-family:var(--eh-font-heading);font-size:25px;color:#fff}.eh-builder-logo img{max-height:54px;width:auto}.eh-builder-desktop-nav{display:block;flex:1}.eh-builder-menu{display:flex;align-items:center;justify-content:center;gap:28px;list-style:none;padding:0;margin:0}.eh-builder-menu a{color:#fff;font-size:13px;font-weight:650}.eh-builder-actions{display:flex;align-items:center;gap:10px}.eh-builder-account{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.34);border-radius:50%}.eh-builder-account svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.eh-builder-cta{background:var(--eh-accent)!important;color:#10251f!important}.eh-builder-hamburger{display:none}
.eh-hero{min-height:720px;display:flex;align-items:center;color:#fff;background-color:var(--eh-primary);background-size:cover;background-position:center;position:relative}.eh-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,29,23,.82),rgba(6,29,23,.36) 52%,rgba(6,29,23,.13))}.eh-hero>.eh-wrap{position:relative;z-index:1;padding-top:78px}.eh-hero-content{max-width:720px}.eh-hero h1{font-family:var(--eh-font-heading);font-size:clamp(50px,6vw,82px);font-weight:400;line-height:1.01;letter-spacing:-.035em;margin:16px 0}.eh-hero p{max-width:620px;font-size:18px;color:rgba(255,255,255,.9)}.eh-hero-actions{display:flex;gap:12px;margin-top:28px}.eh-hero .eh-btn{background:var(--eh-accent);color:#10251f!important}
.eh-search-shell{position:relative;z-index:20;margin-top:-58px}.eh-search-card{padding:18px;background:#fff;border-radius:var(--eh-radius-md);box-shadow:var(--eh-shadow-md)}.eh-search-card .ehstay-search{padding:0;border:0;box-shadow:none;border-radius:0}.eh-search-card .ehstay-search label{padding:0 16px;border-right:1px solid var(--eh-border)}.eh-search-card .ehstay-search input,.eh-search-card .ehstay-search select{border:0;background:transparent}.eh-search-card .ehstay-search button{min-height:54px;border-radius:var(--eh-radius-sm)}
.eh-home-intro{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.eh-home-intro-media{min-height:460px;border-radius:var(--eh-radius-lg);background:linear-gradient(145deg,#d9d2c4,#f3eee5);background-size:cover;background-position:center;box-shadow:var(--eh-shadow-sm)}.eh-home-intro h2{font-size:clamp(38px,4.5vw,58px);margin:12px 0 22px}.eh-home-intro p{color:var(--eh-text-muted);font-size:1.05rem;line-height:1.8}
.eh-home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.eh-home-feature{padding:28px 24px;border-top:1px solid var(--eh-border)}.eh-home-feature strong{display:block;font-family:var(--eh-font-heading);font-size:23px;font-weight:400}.eh-home-feature p{color:var(--eh-text-muted)}
.eh-home-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px;margin-top:42px}.eh-home-gallery figure{margin:0;overflow:hidden;border-radius:var(--eh-radius-md);background:#ddd}.eh-home-gallery figure:first-child{grid-row:1/3}.eh-home-gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.eh-home-gallery figure:hover img{transform:scale(1.025)}
.eh-home-cta{padding:72px;border-radius:var(--eh-radius-lg);background:var(--eh-primary);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.eh-home-cta h2{font-size:clamp(34px,4vw,52px);margin:8px 0}.eh-home-cta p{color:rgba(255,255,255,.78)}.eh-home-cta .eh-btn{background:var(--eh-accent);color:#10251f!important;white-space:nowrap}
.eh-home-faq{max-width:850px;margin:36px auto 0}.eh-home-faq details{padding:18px 0;border-bottom:1px solid var(--eh-border)}.eh-home-faq summary{cursor:pointer;font-weight:700}.eh-home-faq p{color:var(--eh-text-muted)}
.eh-page-hero{padding:150px 0 74px;background:var(--eh-primary);color:#fff;text-align:center;position:relative;background-size:cover;background-position:center}.eh-page-hero.has-image:before{content:"";position:absolute;inset:0;background:rgba(8,31,26,.62)}.eh-page-hero>.eh-wrap{position:relative;z-index:1}.eh-page-hero h1{font-size:clamp(42px,5vw,64px);margin:0}.eh-content{padding:70px 0 100px}.eh-system-page{max-width:1120px}.eh-system-page>.ehstay-search,.eh-system-page>.ehstay-results,.eh-system-page>.ehstay-checkout,.eh-system-page>.ehstay-account,.eh-system-page>.ehstay-account-auth,.eh-system-page>.ehstay-status,.eh-system-page>.ehstay-booking-details{margin-top:0}
.eh-room-page{padding:64px 0 100px}.eh-room-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:42px;align-items:start}.eh-room-booking-box{position:sticky;top:24px;padding:24px;border:1px solid var(--eh-border);border-radius:var(--eh-radius-md);box-shadow:var(--eh-shadow-sm)}
.eh-builder-footer{padding:70px 0 0;background:#09271f;color:#fff}.eh-builder-footer-inner{width:min(calc(100% - 40px),var(--eh-container));margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.eh-builder-footer h3{font-family:var(--eh-font-heading);font-size:30px;font-weight:400;margin-top:0}.eh-builder-footer p{color:#c6d1cc}.eh-builder-footer-menu{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eh-builder-footer-copy{margin-top:54px;padding:18px 20px;border-top:1px solid rgba(255,255,255,.12);text-align:center;color:#aebdb7;font-size:13px}
.ehstay-card,.ehstay-room-card{border-radius:var(--eh-radius-md)!important;box-shadow:var(--eh-shadow-sm)!important;transition:.22s ease}.ehstay-card:hover,.ehstay-room-card:hover{transform:translateY(-4px);box-shadow:var(--eh-shadow-md)!important}.ehstay-card h3,.ehstay-room-card h3,.ehstay-account h2,.ehstay-account h3,.ehstay-status h2,.ehstay-booking-details h2{font-family:var(--eh-font-heading);font-weight:400}.ehstay-account,.ehstay-account-auth,.ehstay-booking-details,.ehstay-status{padding:32px!important;border-radius:var(--eh-radius-md)!important;box-shadow:0 10px 36px rgba(20,40,30,.05)}
@media(max-width:1024px){:root{--eh-section-spacing:76px}.eh-home-intro{gap:42px}.eh-home-gallery{grid-template-rows:220px 220px}.eh-room-layout{grid-template-columns:1fr}.eh-room-booking-box{position:static}.eh-builder-desktop-nav{display:none}.eh-builder-hamburger{display:block;background:transparent;border:0;color:#fff;width:44px;height:44px}.eh-builder-hamburger span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto}}
@media(max-width:767px){:root{--eh-section-spacing:58px}.eh-wrap{width:min(calc(100% - 28px),var(--eh-container))}.eh-hero{min-height:650px}.eh-hero>.eh-wrap{padding-top:90px}.eh-hero h1{font-size:clamp(43px,13vw,62px)}.eh-search-shell{margin-top:-30px}.eh-search-card{padding:14px}.eh-search-card .ehstay-search label{padding:0;border-right:0}.eh-home-intro{grid-template-columns:1fr;gap:28px}.eh-home-intro-media{min-height:340px}.eh-home-features{grid-template-columns:1fr}.eh-home-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px}.eh-home-gallery figure:first-child{grid-column:1/3;grid-row:auto}.eh-home-cta{padding:38px 26px;display:block}.eh-home-cta .eh-btn{margin-top:16px;width:100%}.eh-builder-footer-inner{grid-template-columns:1fr}.eh-page-hero{padding-top:125px}.eh-content{padding:45px 0 70px}}
@media(max-width:430px){.eh-home-gallery{grid-template-columns:1fr;grid-template-rows:auto}.eh-home-gallery figure:first-child{grid-column:auto}.eh-home-gallery figure{height:220px}.eh-builder-header-inner{width:calc(100% - 24px)}.eh-builder-cta{display:none}.eh-builder-account{width:40px;height:40px}}

.eh-institutional{padding:12px 0}.eh-institutional-grid,.eh-contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eh-institutional-grid h2,.eh-contact-grid h2{font-size:clamp(38px,4.5vw,58px);margin:12px 0 20px}.eh-institutional-grid p,.eh-contact-grid p{color:var(--eh-text-muted);line-height:1.8}.eh-institutional-grid figure{margin:0}.eh-institutional-grid figure img{display:block;width:100%;height:470px;object-fit:cover;border-radius:var(--eh-radius-lg)}.eh-institutional-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.eh-institutional-gallery figure{height:280px;margin:0;overflow:hidden;border-radius:var(--eh-radius-md)}.eh-institutional-gallery img{width:100%;height:100%;object-fit:cover}.eh-location-card,.eh-contact-card{padding:28px;border:1px solid var(--eh-border);border-radius:var(--eh-radius-md);background:#fff}.eh-map-placeholder{min-height:430px;display:grid;place-items:center;align-content:center;gap:6px;border-radius:var(--eh-radius-lg);background:linear-gradient(135deg,#dce5df,#edf1ee);color:var(--eh-primary)}.eh-map-placeholder span{font-family:var(--eh-font-heading);font-size:32px}.eh-map-placeholder small{color:var(--eh-text-muted)}.eh-contact-card h3{font-family:var(--eh-font-heading);font-size:28px;font-weight:400;margin-top:0}.eh-contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}.eh-text-link{font-weight:700;color:var(--eh-primary)}
@media(max-width:767px){.eh-institutional-grid,.eh-contact-grid{grid-template-columns:1fr;gap:30px}.eh-institutional-grid figure img{height:330px}.eh-institutional-gallery{grid-template-columns:1fr 1fr}.eh-institutional-gallery figure{height:210px}.eh-map-placeholder{min-height:330px}}
@media(max-width:430px){.eh-institutional-gallery{grid-template-columns:1fr}.eh-institutional-gallery figure{height:230px}}


.eh-native-page-head{padding:86px 0 46px;background:linear-gradient(180deg,#f4f0e7 0%,#fbfaf7 100%);border-bottom:1px solid var(--eh-border);text-align:center}
.eh-native-page-head.is-compact{padding:62px 0 34px}
.eh-native-page-head h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(40px,5vw,62px);line-height:1.05;margin:8px 0 12px;color:var(--eh-primary)}
.eh-native-page-head p{max-width:680px;margin:0 auto;color:var(--eh-muted);font-size:16px}
.eh-native-page-content{padding:58px 0 92px;background:#fbfaf7;min-height:48vh}
.eh-native-system-shell{max-width:1180px}
.eh-native-system-shell>.ehstay-search,.eh-native-system-shell>.ehstay-results,.eh-native-system-shell>.ehstay-checkout,.eh-native-system-shell>.ehstay-account,.eh-native-system-shell>.ehstay-account-auth,.eh-native-system-shell>.ehstay-status,.eh-native-system-shell>.ehstay-booking-details{margin:0}
.eh-native-rooms-search{padding:22px;background:#fff;border:1px solid var(--eh-border);box-shadow:var(--eh-shadow-sm);margin-bottom:46px}
.eh-native-rooms-list{margin-top:26px}
.eh-native-finalizar-reserva .eh-native-system-shell{max-width:1180px}
.eh-native-finalizar-reserva .ehstay-checkout{background:#fff;border:1px solid var(--eh-border);box-shadow:0 20px 55px rgba(20,43,35,.07);padding:34px}
.eh-native-finalizar-reserva .ehstay-checkout>h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;color:var(--eh-primary);margin-top:0}
.ehstay-notice{border-left:4px solid var(--eh-accent);padding:15px 18px;background:#fffaf0;color:var(--eh-text);border-radius:4px}
.ehstay-notice-error{border-left-color:#a23b32;background:#fff6f5}.ehstay-notice-info{border-left-color:var(--eh-primary);background:#f1f7f4}

/* Busca premium */
.ehstay-search{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(180px,1.25fr) minmax(105px,.7fr) minmax(105px,.7fr) auto;gap:0;align-items:stretch;background:#fff;border:1px solid #e7e2d8;box-shadow:0 16px 40px rgba(27,49,41,.09);padding:0!important;border-radius:4px!important;overflow:visible}
.ehstay-search>label{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:16px 20px!important;margin:0!important;border-right:1px solid #e7e2d8;font-size:11px!important;font-weight:700!important;letter-spacing:.07em;text-transform:uppercase;color:#34453e}
.ehstay-search>label small{position:absolute;left:20px;bottom:5px;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:400;letter-spacing:0;text-transform:none;color:#87918d}
.ehstay-search input,.ehstay-search select{width:100%;height:40px!important;margin-top:3px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#17231f!important;font-size:16px!important;outline:0}
.ehstay-search select{cursor:pointer}.ehstay-search>button[type="submit"]{min-width:185px;border:0;border-radius:0!important;background:var(--eh-primary)!important;color:#fff!important;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:0 28px;cursor:pointer;transition:.2s ease}.ehstay-search>button[type="submit"]:hover{filter:brightness(.92)}
.eh-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.eh-date-display{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:40px;margin-top:3px;padding:0;border:0;background:transparent;color:#7e8582;font-size:16px;text-align:left;cursor:pointer}.eh-date-display.has-value{color:#17231f}.eh-date-display svg{width:18px;height:18px;fill:none;stroke:var(--eh-primary);stroke-width:1.7;flex:none}

/* Calendário range picker inspirado em UX de hotelaria, implementação original */
.eh-date-picker[hidden]{display:none!important}.eh-date-picker{position:fixed;inset:0;z-index:999999;background:rgba(8,20,16,.46);display:grid;place-items:center;padding:20px}.eh-calendar-open{overflow:hidden}
.eh-date-picker-card{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.23);padding:18px 28px 20px;border-radius:2px}
.eh-date-picker-card>header{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;margin-bottom:13px}.eh-date-picker-card>header button,.eh-cal-today{border:0;background:transparent;height:42px}.eh-date-picker-card>header button{font-size:28px;cursor:pointer;color:#20332c}.eh-cal-today{text-align:center;color:#b28c4e;font-size:13px;line-height:42px}
.eh-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}.eh-cal-month h3{text-align:center;font-size:15px;margin:7px 0 13px;color:#17231f}.eh-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.eh-cal-week{height:30px;display:grid;place-items:center;color:#7d8380;font-size:12px;font-weight:600}.eh-cal-blank{height:39px}.eh-cal-grid button{position:relative;height:39px;border:0;background:#f7f7f6;color:#59615e;cursor:pointer;border-radius:0;font-size:13px}.eh-cal-grid button:hover:not(:disabled){background:#eee7d9}.eh-cal-grid button:disabled{opacity:.26;cursor:not-allowed;background:repeating-linear-gradient(135deg,#fafafa,#fafafa 4px,#f1f1f1 4px,#f1f1f1 7px)}.eh-cal-grid button.is-range{background:#edf3f0;color:var(--eh-primary)}.eh-cal-grid button.is-start,.eh-cal-grid button.is-end{background:var(--eh-primary);color:#fff;font-weight:700}.eh-cal-grid button.is-today:not(.is-start):not(.is-end){box-shadow:inset 0 0 0 1px var(--eh-accent)}
.eh-date-picker-card>footer{display:flex;justify-content:space-between;margin-top:20px}.eh-date-picker-card>footer button{border:0;background:transparent;color:#b28c4e;font-weight:700;cursor:pointer;padding:10px 0}

/* Header/footer nativos premium */
.eh-builder-header{position:relative;z-index:100;background:#0a2a23;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.eh-builder-header-inner{min-height:76px}.eh-builder-logo img{max-height:48px;width:auto}.eh-builder-menu a{font-size:13px;letter-spacing:.02em}.eh-builder-cta{border-radius:3px!important;background:var(--eh-accent)!important;color:#17342b!important;font-weight:700}
.eh-builder-footer{background:#08271f;color:#cbd7d2}.eh-builder-footer h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#fff}.eh-builder-footer a{color:#fff}

@media(max-width:900px){
  .ehstay-search{grid-template-columns:1fr 1fr}.ehstay-search>label{border-bottom:1px solid #e7e2d8}.ehstay-search>button[type="submit"]{grid-column:1/-1;min-height:58px}.eh-cal-months{gap:18px}
}
@media(max-width:767px){
  .eh-native-page-head,.eh-native-page-head.is-compact{padding:46px 0 28px}.eh-native-page-head h1{font-size:38px}.eh-native-page-content{padding:34px 0 64px}.eh-native-finalizar-reserva .ehstay-checkout{padding:22px 17px}
  .ehstay-search{grid-template-columns:1fr;border-radius:3px!important}.ehstay-search>label{min-height:76px;border-right:0!important;padding:12px 16px!important}.ehstay-search>label small{display:none}.ehstay-search>button[type="submit"]{grid-column:auto;min-height:58px}
  .eh-date-picker{padding:8px}.eh-date-picker-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:14px 16px 18px}.eh-cal-months{grid-template-columns:1fr}.eh-cal-month:nth-child(2){display:none}.eh-cal-grid button{height:42px}.eh-cal-blank{height:42px}
}



.eh-elementor-crm-essencial_hosp_search .ehstay-search{
    align-items:end!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search>label{
    min-width:0!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search input,
.eh-elementor-crm-essencial_hosp_search .ehstay-search select,
.eh-elementor-crm-essencial_hosp_search .ehstay-search>button[type="submit"]{
    min-height:54px!important;
    height:54px!important;
    box-sizing:border-box!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search>button[type="submit"]{
    width:220px!important;
    min-width:180px!important;
    max-width:100%!important;
    align-self:end!important;
    justify-self:end!important;
    padding:0 22px!important;
    border-radius:8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search-children small{
    line-height:1.35!important;
}
@media(max-width:1024px){
    .eh-elementor-crm-essencial_hosp_search .ehstay-search>button[type="submit"]{
        width:100%!important;
        min-width:0!important;
        justify-self:stretch!important;
    }
}
@media(max-width:767px){
    .eh-elementor-crm-essencial_hosp_search .ehstay-search input,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search select,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search>button[type="submit"]{
        min-height:52px!important;
        height:52px!important;
    }
}


.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"]{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    border-radius:8px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-self:end!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
}
@media(max-width:767px){
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"]{
        height:52px!important;
        min-height:52px!important;
        max-height:52px!important;
        border-radius:8px!important;
    }
}


.eh-elementor-crm-essencial_hosp_search{
    --eh-search-control-height:54px;
    --eh-search-control-radius:8px;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search .eh-date-display,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"]{
    height:var(--eh-search-control-height)!important;
    min-height:var(--eh-search-control-height)!important;
    max-height:var(--eh-search-control-height)!important;
    border-radius:var(--eh-search-control-radius)!important;
    box-sizing:border-box!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search .eh-date-display{
    padding:0 16px!important;
    margin-top:3px!important;
}
.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"]{
    width:auto!important;
    min-width:190px!important;
    max-width:260px!important;
    padding:0 22px!important;
}
@media(max-width:1024px){
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"]{
        width:100%!important;
        max-width:none!important;
    }
}
@media(max-width:767px){
    .eh-elementor-crm-essencial_hosp_search{--eh-search-control-height:52px;}
}

/* Popup mobile criado automaticamente pelo tema. */
.eh-v410-mobile-popup .eh-builder-menu,
.eh-v410-mobile-popup .eh-elementor-nav-menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
}
.eh-v410-mobile-popup .eh-builder-menu a,
.eh-v410-mobile-popup .eh-elementor-nav-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:10px 0;
    border-bottom:1px solid #ece8df;
    font-size:18px;
    line-height:1.25;
}



.ehstay-search .eh-date-display,
.ehstay-search > button[type="submit"] {
    box-sizing: border-box !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    border-radius: 8px !important;
}
.ehstay-search > button[type="submit"] {
    align-self: end !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    margin: 0 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.eh-search-card .ehstay-search > button[type="submit"],
.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"],
.eh-v3-search-float .ehstay-search > button[type="submit"] {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    border-radius: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 22px !important;
    margin: 0 !important;
}
@media (max-width: 767px) {
    .ehstay-search .eh-date-display,
    .ehstay-search > button[type="submit"],
    .eh-search-card .ehstay-search > button[type="submit"],
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        border-radius: 8px !important;
    }
}



.eh-search-card .ehstay-search,
.eh-elementor-crm-essencial_hosp_search .ehstay-search {
    --eh-search-date-fr: 1fr;
    --eh-search-adults-fr: .62fr;
    --eh-search-submit-fr: .78fr;
    --eh-search-submit-gap: 20px;
    display:grid !important;
    grid-template-columns:
        minmax(0,var(--eh-search-date-fr))
        minmax(0,var(--eh-search-date-fr))
        minmax(130px,var(--eh-search-adults-fr))
        minmax(190px,var(--eh-search-submit-fr)) !important;
    align-items:end !important;
    gap:0 !important;
}

/* O HTML atual possui 3 labels visíveis: Check-in, Check-out e Adultos. */
.eh-search-card .ehstay-search > label,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
    min-width:0 !important;
    height:auto !important;
    align-self:end !important;
    justify-content:flex-end !important;
    margin:0 !important;
    padding:0 20px !important;
    border-right:1px solid var(--eh-border,#e7dfd4) !important;
    box-sizing:border-box !important;
}

.eh-search-card .ehstay-search > label:first-of-type,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label:first-of-type {
    padding-left:20px !important;
}

.eh-search-card .ehstay-search .eh-date-display,
.eh-elementor-crm-essencial_hosp_search .ehstay-search .eh-date-display {
    width:100% !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
}

.eh-search-card .ehstay-search > button[type="submit"],
.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
    width:calc(100% - var(--eh-search-submit-gap)) !important;
    min-width:0 !important;
    max-width:none !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    align-self:end !important;
    justify-self:stretch !important;
    margin:0 0 0 var(--eh-search-submit-gap) !important;
    padding:0 18px !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    line-height:1.15 !important;
}

/* Select de Adultos ocupa exatamente a mesma linha visual dos campos de data. */
.eh-search-card .ehstay-search > label select,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label select {
    height:54px !important;
    min-height:54px !important;
    box-sizing:border-box !important;
}

@media (max-width:1024px) {
    .eh-search-card .ehstay-search,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:16px !important;
    }
    .eh-search-card .ehstay-search > label,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
        padding:0 !important;
        border-right:0 !important;
    }
    .eh-search-card .ehstay-search > button[type="submit"],
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
        width:100% !important;
        margin:0 !important;
    }
}

@media (max-width:767px) {
    .eh-search-card .ehstay-search,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search {
        grid-template-columns:1fr !important;
    }
    .eh-search-card .ehstay-search .eh-date-display,
    .eh-search-card .ehstay-search > label select,
    .eh-search-card .ehstay-search > button[type="submit"],
    .eh-elementor-crm-essencial_hosp_search .ehstay-search .eh-date-display,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label select,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;
    }
}



.eh-search-card {
    padding-top:18px !important;
    padding-bottom:18px !important;
}
.eh-search-card .ehstay-search,
.eh-elementor-crm-essencial_hosp_search .ehstay-search {
    align-items:end !important;
}
.eh-search-card .ehstay-search > label,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
    min-height:72px !important;
    height:72px !important;
    justify-content:flex-start !important;
    align-self:end !important;
}
.eh-search-card .ehstay-search > label .eh-date-display,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label .eh-date-display,
.eh-search-card .ehstay-search > label select,
.eh-elementor-crm-essencial_hosp_search .ehstay-search > label select {
    margin-top:auto !important;
}
.eh-search-card .ehstay-search > button[type="submit"],
.eh-elementor-crm-essencial_hosp_search .ehstay-search > button[type="submit"] {
    align-self:end !important;
}
@media (max-width:1024px) {
    .eh-search-card .ehstay-search > label,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
        height:auto !important;
        min-height:72px !important;
    }
}
@media (max-width:767px) {
    .eh-search-card {
        padding-top:14px !important;
        padding-bottom:14px !important;
    }
    .eh-search-card .ehstay-search > label,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
        min-height:68px !important;
    }
}



.eh-search-card {
    padding-top:12px !important;
    padding-bottom:12px !important;
}
@media (max-width:767px) {
    .eh-search-card {
        padding-top:8px !important;
        padding-bottom:8px !important;
    }
}



.eh-search-card {
    padding-top:12px !important;
    padding-bottom:15px !important;
}
@media (max-width:767px) {
    .eh-search-card {
        padding-top:8px !important;
        padding-bottom:12px !important;
    }
}


.eh-search-card {
    padding-top:12px !important;
    padding-bottom:18px !important;
}
@media (max-width:767px) {
    .eh-search-card {
        padding-top:8px !important;
        padding-bottom:14px !important;
    }
}



.eh-search-card {
    padding-top:12px !important;
    padding-bottom:19px !important;
}
@media (max-width:767px) {
    .eh-search-card {
        padding-top:8px !important;
        padding-bottom:16px !important;
    }
    .eh-search-card .ehstay-search > label,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label {
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        box-sizing:border-box !important;
    }
    .eh-search-card .ehstay-search > label .eh-date-display,
    .eh-elementor-crm-essencial_hosp_search .ehstay-search > label .eh-date-display,
    .eh-search-card .ehstay-search button.eh-date-display[data-for="check_in"],
    .eh-search-card .ehstay-search button.eh-date-display[data-for="check_out"],
    .eh-elementor-crm-essencial_hosp_search .ehstay-search button.eh-date-display[data-for="check_in"],
    .eh-elementor-crm-essencial_hosp_search .ehstay-search button.eh-date-display[data-for="check_out"] {
        display:flex !important;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;
        box-sizing:border-box !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
}


body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
body .eh-search-card .ehstay-search.ehstay-search-clean{
    --eh-clean-gap:24px;
    --eh-clean-divider-display:block;
    --eh-clean-divider-color:#d9dedc;
    --eh-clean-divider-height:36px;
    --eh-clean-divider-width:1px;
    --eh-clean-field-height:42px;
    --eh-clean-button-height:42px;
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    gap:var(--eh-clean-gap) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label,
body .eh-search-card .ehstay-search.ehstay-search-clean > label{
    --eh-clean-item-width:190px;
    position:relative !important;
    flex:0 0 var(--eh-clean-item-width) !important;
    width:var(--eh-clean-item-width) !important;
    max-width:var(--eh-clean-item-width) !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-end !important;
    gap:var(--eh-clean-label-gap,6px) !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.15 !important;
    box-sizing:border-box !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label:nth-of-type(1),
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(1),
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label:nth-of-type(2),
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(2){ --eh-clean-item-width:190px; }
body .elementor .elementor-element .ehstay-search.ehstay-search-clean .ehstay-search-adults,
body .eh-search-card .ehstay-search.ehstay-search-clean .ehstay-search-adults,
body .elementor .elementor-element .ehstay-search.ehstay-search-clean .ehstay-search-children,
body .eh-search-card .ehstay-search.ehstay-search-clean .ehstay-search-children{ --eh-clean-item-width:110px; }

/* Divisor: nasce na borda direita de cada bloco e anda metade do gap.
   Portanto fica SEMPRE no centro exato do espaço entre dois itens. */
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label::before{
    content:"" !important;
    display:var(--eh-clean-divider-display) !important;
    position:absolute !important;
    right:calc((var(--eh-clean-gap) / -2) - (var(--eh-clean-divider-width) / 2)) !important;
    top:calc(50% + 9px) !important;
    width:var(--eh-clean-divider-width) !important;
    height:var(--eh-clean-divider-height) !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:var(--eh-clean-divider-color) !important;
    transform:translateY(-50%) !important;
    pointer-events:none !important;
    z-index:3 !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label::after,
body .eh-search-card .ehstay-search.ehstay-search-clean > label::after{
    content:none !important;
    display:none !important;
}

body .elementor .elementor-element .ehstay-search.ehstay-search-clean input,
body .elementor .elementor-element .ehstay-search.ehstay-search-clean select,
body .eh-search-card .ehstay-search.ehstay-search-clean input,
body .eh-search-card .ehstay-search.ehstay-search-clean select{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:var(--eh-clean-field-height) !important;
    min-height:var(--eh-clean-field-height) !important;
    max-height:var(--eh-clean-field-height) !important;
    margin:0 !important;
    box-sizing:border-box !important;
    line-height:normal !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean .ehstay-search-children small,
body .eh-search-card .ehstay-search.ehstay-search-clean .ehstay-search-children small{
    margin:0 !important;
}

body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
    --eh-clean-button-width:220px;
    position:relative !important;
    flex:0 0 var(--eh-clean-button-width) !important;
    width:var(--eh-clean-button-width) !important;
    max-width:var(--eh-clean-button-width) !important;
    min-width:0 !important;
    height:var(--eh-clean-button-height) !important;
    min-height:var(--eh-clean-button-height) !important;
    max-height:var(--eh-clean-button-height) !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    box-sizing:border-box !important;
}
/* Último divisor fica entre Crianças e o botão, no mesmo centro matemático. */
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before{
    content:"" !important;
    display:var(--eh-clean-divider-display) !important;
    position:absolute !important;
    left:calc((var(--eh-clean-gap) / -2) - (var(--eh-clean-divider-width) / 2)) !important;
    top:50% !important;
    width:var(--eh-clean-divider-width) !important;
    height:var(--eh-clean-divider-height) !important;
    background:var(--eh-clean-divider-color) !important;
    border:0 !important;
    transform:translateY(-50%) !important;
    pointer-events:none !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean .eh-clean-search-icon,
body .eh-search-card .ehstay-search.ehstay-search-clean .eh-clean-search-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean .eh-clean-search-icon svg,
body .eh-search-card .ehstay-search.ehstay-search-clean .eh-clean-search-icon svg{
    width:15px !important;
    height:15px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > .ehstay-language-selector,
body .eh-search-card .ehstay-search.ehstay-search-clean > .ehstay-language-selector{
    flex:0 0 auto !important;
}

@media (max-width:767px){
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;
        width:100% !important;
        padding:10px !important;
    }
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label,
    body .eh-search-card .ehstay-search.ehstay-search-clean > label,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
        flex:0 0 auto !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
    }
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label::before,
    body .eh-search-card .ehstay-search.ehstay-search-clean > label::before,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before{
        content:none !important;
        display:none !important;
    }
}


body .elementor .ehstay-search.ehstay-search-clean > label,
body .eh-search-card .ehstay-search.ehstay-search-clean > label{
    border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:0!important;
}
/* Exatamente quatro divisórias: após Check-in, Check-out e Adultos; a quarta vem antes do botão. */
body .elementor .ehstay-search.ehstay-search-clean > label::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label::before{display:none!important;content:none!important}
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(1)::before,
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(2)::before,
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(3)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(1)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(2)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(3)::before{
    content:""!important;display:var(--eh-clean-divider-display)!important;position:absolute!important;
    right:calc((var(--eh-clean-gap) / -2) - (var(--eh-clean-divider-width) / 2))!important;
    top:calc(50% + 9px)!important;width:var(--eh-clean-divider-width)!important;height:var(--eh-clean-divider-height)!important;
    background:var(--eh-clean-divider-color)!important;transform:translateY(-50%)!important;border:0!important;pointer-events:none!important;
}
/* O quarto divisor é SOMENTE este, antes do botão. */
body .elementor .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before{
    content:""!important;display:var(--eh-clean-divider-display)!important;position:absolute!important;
    left:calc((var(--eh-clean-gap) / -2) - (var(--eh-clean-divider-width) / 2))!important;top:50%!important;
    width:var(--eh-clean-divider-width)!important;height:var(--eh-clean-divider-height)!important;background:var(--eh-clean-divider-color)!important;
    transform:translateY(-50%)!important;border:0!important;pointer-events:none!important;
}
.ehstay-search-clean .eh-search-date-native{display:none!important}
body .ehstay-search-clean .eh-search-date-trigger{
    width:100%!important;height:var(--eh-clean-field-height)!important;min-height:var(--eh-clean-field-height)!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    margin:0!important;padding:0 13px!important;background:#f1f2f2!important;color:#5f6663!important;
    border:1px solid #e1e5e3!important;border-radius:3px!important;font:inherit!important;font-weight:400!important;
    text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;cursor:pointer!important;white-space:nowrap!important;
}
body .ehstay-search-clean .eh-search-date-trigger:hover{background:#eceeed!important}
body .ehstay-search-clean .eh-search-date-trigger.has-value{color:#17231f!important}
.eh-search-calendar-icon{width:17px;height:17px;display:inline-flex;flex:0 0 17px;color:#52605b}
.eh-search-calendar-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ehstay-search-clean{position:relative!important}
.eh-search-calendar-popover{
    position:absolute;z-index:99999;left:12px;top:calc(100% + 8px);width:min(430px,calc(100vw - 32px));
    padding:16px;background:#fff;border:1px solid #e0e5e2;border-radius:10px;box-shadow:0 18px 55px rgba(0,0,0,.16);
}
.eh-search-calendar-popover[hidden]{display:none!important}
.eh-search-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:12px}
.eh-search-calendar-head strong{text-align:center;text-transform:capitalize;font-size:14px}
.eh-search-calendar-head button,.eh-search-calendar-close{border:1px solid #e1e5e3;background:#fff;color:#17231f;border-radius:7px;min-height:34px;cursor:pointer}
.eh-search-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.eh-cal-weekday{font-size:10px;text-align:center;color:#77817d;padding:4px 0;font-weight:600}
.eh-cal-empty{min-height:52px}
.eh-cal-loading{grid-column:1/-1;text-align:center;padding:30px;color:#6f7975}
.eh-cal-day{min-height:52px!important;padding:5px 2px!important;border:1px solid transparent!important;border-radius:7px!important;background:#fff!important;color:#17231f!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important}
.eh-cal-day:hover:not(:disabled){background:#f2f7f5!important;border-color:#d4e2dc!important}
.eh-cal-day:disabled,.eh-cal-day.is-unavailable{opacity:.38;cursor:not-allowed!important}
.eh-cal-daynum{font-size:13px;font-weight:600;line-height:1}
.eh-cal-price{font-size:9px;line-height:1.15;color:#25644f;font-weight:600;white-space:nowrap}
.eh-cal-day.is-checkin,.eh-cal-day.is-checkout{background:#235f4e!important;color:#fff!important}
.eh-cal-day.is-checkin .eh-cal-price,.eh-cal-day.is-checkout .eh-cal-price{color:#fff!important}
.eh-search-calendar-close{width:100%;margin-top:12px}
@media(max-width:767px){
  body .elementor .ehstay-search.ehstay-search-clean > label::before,
  body .eh-search-card .ehstay-search.ehstay-search-clean > label::before,
  body .elementor .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
  body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before{display:none!important;content:none!important}
  .eh-search-calendar-popover{position:fixed;left:12px;right:12px;top:50%;transform:translateY(-50%);width:auto;max-height:90vh;overflow:auto}
}



body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
body .eh-search-card .ehstay-search.ehstay-search-clean{
    --eh-clean-field-height:44px;
    --eh-clean-button-height:var(--eh-clean-field-height);
    --eh-clean-divider-height:50px;
    align-items:flex-end!important;
}

/* Todos os grupos terminam exatamente na mesma linha de base. */
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label,
body .eh-search-card .ehstay-search.ehstay-search-clean > label{
    align-self:flex-end!important;
    justify-content:flex-end!important;
}

/* Datas, Adultos e Crianças: mesma caixa visual. */
body .ehstay-search-clean .eh-search-date-trigger,
body .elementor .elementor-element .ehstay-search.ehstay-search-clean select,
body .eh-search-card .ehstay-search.ehstay-search-clean select{
    height:var(--eh-clean-field-height)!important;
    min-height:var(--eh-clean-field-height)!important;
    max-height:var(--eh-clean-field-height)!important;
    background:#f1f2f2!important;
    border:1px solid #e1e5e3!important;
    border-radius:3px!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
}

/* O CTA acompanha a altura dos quatro campos, sem deslocamento. */
body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
    align-self:flex-end!important;
    height:var(--eh-clean-field-height)!important;
    min-height:var(--eh-clean-field-height)!important;
    max-height:var(--eh-clean-field-height)!important;
    margin:0!important;
}

/* Divisórias únicas e mais altas. */
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(1)::before,
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(2)::before,
body .elementor .ehstay-search.ehstay-search-clean > label:nth-of-type(3)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(1)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(2)::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > label:nth-of-type(3)::before{
    height:var(--eh-clean-divider-height)!important;
    top:calc(50% + 9px)!important;
}
body .elementor .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before{
    height:var(--eh-clean-divider-height)!important;
    top:50%!important;
}

@media(max-width:767px){
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
        width:100%!important;
    }
}


@media (max-width:767px){
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        --eh-clean-divider-display:none !important;
    }

    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label,
    body .eh-search-card .ehstay-search.ehstay-search-clean > label,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
        border-left:0 !important;
        border-right:0 !important;
    }

    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label::before,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > label::after,
    body .eh-search-card .ehstay-search.ehstay-search-clean > label::before,
    body .eh-search-card .ehstay-search.ehstay-search-clean > label::after,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"]::after,
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::before,
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]::after{
        content:none !important;
        display:none !important;
        width:0 !important;
        height:0 !important;
        background:transparent !important;
        border:0 !important;
    }
}


.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover{
    position:fixed!important;z-index:100000!important;width:min(680px,calc(100vw - 24px))!important;
    padding:0!important;background:#fafaf8!important;border:1px solid #e3e6e4!important;border-radius:14px!important;
    box-shadow:0 18px 55px rgba(14,35,28,.16)!important;overflow:hidden!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover[hidden]{display:none!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-today{
    width:100%!important;min-height:34px!important;padding:0 14px!important;border:0!important;border-radius:0!important;
    border-bottom:1px solid #e7eae8!important;background:#f4f5f3!important;color:#26332e!important;
    font-size:12px!important;font-weight:600!important;letter-spacing:0!important;cursor:default!important;box-shadow:none!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-head{
    display:grid!important;grid-template-columns:44px 1fr 1fr 44px!important;align-items:center!important;
    gap:0!important;margin:0!important;border-bottom:1px solid #ecefed!important;background:#fafaf8!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month-title{
    min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 10px!important;font-size:13px!important;font-weight:600!important;text-transform:capitalize!important;color:#1f2a26!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-title-left{border-right:1px solid #ecefed!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-nav{
    width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:auto!important;
    border:0!important;border-radius:8px!important;background:#eef2f0!important;color:#2b5a4b!important;
    font-size:19px!important;line-height:1!important;font-weight:400!important;cursor:pointer!important;box-shadow:none!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-nav:hover{background:#e1eae6!important;color:#173f33!important;transform:none!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-months{display:grid!important;grid-template-columns:1fr 1fr!important;background:#fafaf8!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:14px 16px 16px!important;min-width:0!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month:first-child{border-right:1px solid #ecefed!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-weekday{font-size:10px!important;text-align:center!important;color:#6d7773!important;padding:5px 0 7px!important;font-weight:600!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-empty{min-height:48px!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-loading{grid-column:1/-1!important;text-align:center!important;padding:42px 10px!important;color:#6f7975!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day{
    min-height:48px!important;padding:5px 2px!important;border:1px solid #eef0ef!important;border-radius:7px!important;
    background:#fff!important;color:#25312d!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:3px!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day:hover:not(:disabled){background:#f0f5f3!important;border-color:#dce6e2!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day:disabled,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-unavailable{opacity:.32!important;cursor:not-allowed!important;background:repeating-linear-gradient(135deg,#fff,#fff 4px,#f6f7f6 4px,#f6f7f6 7px)!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:12px!important;font-weight:600!important;line-height:1!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:8.5px!important;line-height:1.1!important;color:#39705f!important;font-weight:600!important;white-space:nowrap!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-today:not(.is-checkin):not(.is-checkout){outline:1px solid #91b4a8!important;outline-offset:-2px!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-in-range{background:#edf4f1!important;border-radius:3px!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-checkin,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-checkout{background:#2e6554!important;color:#fff!important;border-color:#2e6554!important}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-checkin .eh-cal-price,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-checkout .eh-cal-price{color:#fff!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions{display:grid!important;grid-template-columns:1fr 1fr!important;border-top:1px solid #e7eae8!important;background:#fafaf8!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions button{
    min-height:40px!important;border:0!important;border-radius:0!important;background:#fafaf8!important;color:#2e6554!important;
    font-size:12px!important;font-weight:600!important;cursor:pointer!important;box-shadow:none!important;padding:0 14px!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions button+button{border-left:1px solid #e7eae8!important}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions button:hover{background:#f0f4f2!important}
@media(max-width:767px){
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover{left:12px!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;max-height:92vh!important;overflow:auto!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-head{grid-template-columns:44px 1fr 44px!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-title-right,
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month-right{display:none!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-title-left{border-right:0!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-next{grid-column:3!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-months{grid-template-columns:1fr!important}
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month:first-child{border-right:0!important}
    .eh-elementor-crm-essencial_hosp_search .eh-cal-day{min-height:46px!important}
}



.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover{
    max-height:calc(100vh - 48px)!important;
    background:#fafaf8!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-today{
    background:#245f4e!important;
    color:#fff!important;
    min-height:34px!important;
    border-bottom-color:#245f4e!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-nav{
    width:30px!important;height:30px!important;min-height:30px!important;
    border-radius:8px!important;background:#245f4e!important;color:#fff!important;
    border:0!important;box-shadow:none!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-nav:hover{
    background:#183f33!important;color:#fff!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day:disabled,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-unavailable{
    opacity:.68!important;
    color:#7e8884!important;
    background-color:#f6f7f6!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day:disabled .eh-cal-daynum,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day.is-unavailable .eh-cal-daynum{
    color:inherit!important;
}
@media(max-width:767px){
    .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover{
        max-height:calc(100vh - 24px)!important;
    }
}



.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-popover{position:fixed!important;}


.eh-calendar-portal-host{position:static!important;z-index:2147483000!important;}
.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  position:fixed!important;
  z-index:2147483000!important;
  width:min(620px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  inset:auto!important;
}
.eh-search-calendar-topbar{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#245f4e!important;min-height:34px!important;}
.eh-search-calendar-topbar .eh-search-calendar-today{flex:1 1 auto!important;width:100%!important;background:transparent!important;border:0!important;color:#fff!important;min-height:34px!important;}
.eh-search-calendar-top-close{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;width:28px!important;height:28px!important;min-height:28px!important;border:0!important;border-radius:7px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:18px!important;line-height:1!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:none!important;}
.eh-search-calendar-top-close:hover{background:rgba(255,255,255,.22)!important;}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:10px 12px 12px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{gap:3px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-empty{min-height:40px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day{min-height:40px!important;padding:3px 2px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:11px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:8px!important;}
.eh-search-calendar-mobile-month-title{display:none!important;}

@media(max-width:767px){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 20px)!important;
    overflow:hidden!important;
  }
  .eh-search-calendar-topbar,
  .eh-search-calendar-topbar .eh-search-calendar-today{min-height:30px!important;height:30px!important;font-size:11px!important;}
  .eh-search-calendar-top-close{width:24px!important;height:24px!important;min-height:24px!important;font-size:16px!important;right:4px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-head{grid-template-columns:32px 1fr 32px!important;min-height:32px!important;margin-bottom:0!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-nav{width:28px!important;height:28px!important;min-height:28px!important;font-size:16px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-title-left,
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-title-right{display:none!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-prev{grid-column:1!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-next{grid-column:3!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-months{grid-template-columns:1fr!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month-right{display:block!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month:first-child{border-right:0!important;border-bottom:1px solid #ecefed!important;}
  .eh-search-calendar-mobile-month-title{display:block!important;text-align:center!important;font-size:11px!important;line-height:1.2!important;font-weight:600!important;text-transform:capitalize!important;color:#1f2a26!important;padding:2px 0 5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:5px 7px 6px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{gap:1px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-weekday{font-size:8.5px!important;min-height:16px!important;line-height:16px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-empty{min-height:clamp(22px,calc((100vh - 170px)/12),27px)!important;height:clamp(22px,calc((100vh - 170px)/12),27px)!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{min-height:clamp(22px,calc((100vh - 170px)/12),27px)!important;height:clamp(22px,calc((100vh - 170px)/12),27px)!important;padding:1px!important;border-radius:5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:9.5px!important;line-height:1!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:6.5px!important;line-height:1!important;margin-top:1px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions button{min-height:32px!important;height:32px!important;font-size:10px!important;}
}



.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  width:min(560px,calc(100vw - 64px))!important;
  max-height:calc(100vh - 72px)!important;
}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:8px 10px 9px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{gap:2px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-empty,
.eh-elementor-crm-essencial_hosp_search .eh-cal-day{min-height:34px!important;height:34px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-day{padding:2px 1px!important;border-radius:6px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:10.5px!important;}
.eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:7.5px!important;}

@media(max-width:767px){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    width:min(92vw,520px)!important;
    max-width:min(92vw,520px)!important;
    max-height:calc(100vh - 48px)!important;
    overflow:hidden!important;
  }
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:4px 6px 5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{gap:1px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-weekday{font-size:8px!important;min-height:14px!important;line-height:14px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-empty,
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{
    min-height:clamp(19px,3.15vh,24px)!important;
    height:clamp(19px,3.15vh,24px)!important;
  }
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{padding:0!important;border-radius:4px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:8.5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:6px!important;margin-top:0!important;}
  .eh-search-calendar-mobile-month-title{font-size:10px!important;padding:1px 0 3px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-actions button{min-height:29px!important;height:29px!important;font-size:9.5px!important;}
}



@media(max-width:767px){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin:0!important;
    transform:translateX(-50%)!important;
    max-height:calc(100vh - 24px)!important;
    overflow:hidden!important;
  }
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month{padding:6px 8px 8px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-grid{gap:2px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-weekday{font-size:8.5px!important;min-height:16px!important;line-height:16px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-empty,
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{
    min-height:clamp(26px,4.1vh,31px)!important;
    height:clamp(26px,4.1vh,31px)!important;
  }
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{padding:1px!important;border-radius:5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-daynum{font-size:9.5px!important;line-height:1.05!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-cal-price{font-size:6.5px!important;line-height:1!important;margin-top:1px!important;}
  .eh-search-calendar-mobile-month-title{font-size:10.5px!important;padding:3px 0 5px!important;}
  .eh-elementor-crm-essencial_hosp_search .eh-search-calendar-month-right .eh-search-calendar-mobile-month-title{
    padding-top:11px!important;
  }
}



/* Desktop: um pouco mais amplo, mantendo o posicionamento fixo e seguro. */
@media(min-width:768px){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    width:min(600px,calc(100vw - 64px))!important;
    max-width:min(600px,calc(100vw - 64px))!important;
  }
  .eh-elementor-crm-essencial_hosp_search .eh-cal-empty,
  .eh-elementor-crm-essencial_hosp_search .eh-cal-day{
    min-height:36px!important;
    height:36px!important;
  }
}




.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  max-height:calc(100dvh - 80px)!important;
}
@supports not (height:100dvh){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{max-height:calc(100vh - 80px)!important;}
}



@media(max-width:767px){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    left:16px!important;
    right:16px!important;
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
}



.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  position:fixed!important;
  max-height:calc(100dvh - 80px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  box-sizing:border-box!important;
}
@supports not (height:100dvh){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{
    max-height:calc(100vh - 80px)!important;
  }
}



.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  position:fixed!important;
  max-height:calc(100dvh - 80px)!important;
  margin:0!important;
  transform:none!important;
  overscroll-behavior:contain!important;
}
@supports not (height:100dvh){
  .eh-calendar-portal-host .eh-search-calendar-popover,
  .eh-search-calendar-popover:popover-open{max-height:calc(100vh - 80px)!important;}
}
/* Marcações da estadia sempre vencem o estado visual de indisponível. */
.eh-calendar-portal-host .eh-cal-day.is-checkin,
.eh-calendar-portal-host .eh-cal-day.is-checkout,
.eh-search-calendar-popover:popover-open .eh-cal-day.is-checkin,
.eh-search-calendar-popover:popover-open .eh-cal-day.is-checkout{
  opacity:1!important;
  background:#2e6554!important;
  color:#fff!important;
  border-color:#2e6554!important;
}
.eh-calendar-portal-host .eh-cal-day.is-in-range:not(.is-checkin):not(.is-checkout),
.eh-search-calendar-popover:popover-open .eh-cal-day.is-in-range:not(.is-checkin):not(.is-checkout){
  opacity:1!important;
  background:#dfece7!important;
  color:#36554a!important;
}
.eh-calendar-portal-host .eh-cal-day.is-checkin .eh-cal-daynum,
.eh-calendar-portal-host .eh-cal-day.is-checkout .eh-cal-daynum,
.eh-search-calendar-popover:popover-open .eh-cal-day.is-checkin .eh-cal-daynum,
.eh-search-calendar-popover:popover-open .eh-cal-day.is-checkout .eh-cal-daynum{color:#fff!important;}



.eh-calendar-portal-host .eh-search-calendar-popover,
.eh-search-calendar-popover:popover-open{
  overscroll-behavior:auto!important;
  touch-action:pan-y pinch-zoom!important;
  scrollbar-width:none;
}
.eh-calendar-portal-host .eh-search-calendar-popover::-webkit-scrollbar,
.eh-search-calendar-popover:popover-open::-webkit-scrollbar{display:none}
.eh-calendar-portal-host .eh-cal-day.is-price-loading .eh-cal-daynum,
.eh-search-calendar-popover:popover-open .eh-cal-day.is-price-loading .eh-cal-daynum{opacity:1!important}



.eh-calendar-portal-host{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:none!important;
  contain:layout style!important;
}
.eh-calendar-portal-host .eh-search-calendar-popover{
  position:absolute!important;
  pointer-events:auto!important;
  z-index:1!important;
  margin:0!important;
  transform:none!important;
}
.eh-calendar-portal-host .eh-cal-day.has-stay-tooltip{
  position:relative!important;
}
.eh-calendar-portal-host .eh-cal-day.has-stay-tooltip:hover::after{
  content:attr(data-stay-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  transform:translateX(-50%);
  z-index:50;
  white-space:nowrap;
  padding:5px 8px;
  border-radius:6px;
  background:#17231f;
  color:#fff;
  font-size:11px;
  font-weight:600;
  line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  pointer-events:none;
}
.eh-calendar-portal-host .eh-cal-day.has-stay-tooltip:hover::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  transform:translateX(-50%);
  z-index:49;
  border:5px solid transparent;
  border-top-color:#17231f;
  pointer-events:none;
}


.eh-calendar-portal-host .eh-cal-day:hover:not(:disabled){
  background:#fff!important;
  border-color:transparent!important;
  color:#17231f!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
.eh-calendar-portal-host .eh-cal-day.is-in-range:hover:not(:disabled):not(.is-checkin):not(.is-checkout){
  background:#dfece7!important;
  border-color:transparent!important;
  color:#36554a!important;
}
.eh-calendar-portal-host .eh-cal-day.is-checkin:hover,
.eh-calendar-portal-host .eh-cal-day.is-checkout:hover{
  opacity:1!important;
  background:#2e6554!important;
  border-color:#2e6554!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
.eh-calendar-portal-host .eh-cal-day.is-checkin:hover .eh-cal-daynum,
.eh-calendar-portal-host .eh-cal-day.is-checkout:hover .eh-cal-daynum,
.eh-calendar-portal-host .eh-cal-day.is-checkin:hover .eh-cal-price,
.eh-calendar-portal-host .eh-cal-day.is-checkout:hover .eh-cal-price{
  color:#fff!important;
}



.eh-calendar-portal-host{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-height:0!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:none!important;
  contain:layout style!important;
}
.eh-calendar-portal-host .eh-search-calendar-popover{
  position:absolute!important;
  pointer-events:auto!important;
  z-index:1!important;
  margin:0!important;
  will-change:transform!important;
}



.eh-calendar-portal-host{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:none!important;
  contain:style!important;
}
.eh-calendar-portal-host .eh-search-calendar-popover{
  position:absolute!important;
  pointer-events:auto!important;
  z-index:1!important;
  margin:0!important;
  transform:none!important;
  will-change:auto!important;
}

/* Busca por período — campo único Datas */
body .elementor .elementor-element .eh-elementor-crm-essencial_hosp_search_period .ehstay-search.ehstay-search-clean.ehstay-search-range,
body .eh-elementor-crm-essencial_hosp_search_period .ehstay-search.ehstay-search-clean.ehstay-search-range{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.eh-elementor-crm-essencial_hosp_search_period .ehstay-search-dates{
  --eh-clean-item-width:300px;
}
.eh-elementor-crm-essencial_hosp_search_period .eh-search-range-trigger{
  width:100%!important;
}
.eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-day.is-range-preview:not(.is-checkin):not(.is-checkout),
.eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-day.is-range-preview-end:not(.is-checkin):not(.is-checkout){
  background:#e4efeb!important;
  border-color:#d5e6df!important;
}
.eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-day.is-range-preview-end:not(.is-checkin):not(.is-checkout){
  outline:1px solid #8fb9aa!important;
  outline-offset:-2px!important;
}
@media(max-width:767px){
  body .elementor .elementor-element .eh-elementor-crm-essencial_hosp_search_period .ehstay-search.ehstay-search-clean.ehstay-search-range,
  body .eh-elementor-crm-essencial_hosp_search_period .ehstay-search.ehstay-search-clean.ehstay-search-range{width:100%!important;max-width:100%!important}
}

/* v4.0.89 — resumo dinâmico no cabeçalho do calendário */
.eh-search-calendar-topbar .eh-search-calendar-today{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  cursor:default!important;
}

/* v4.0.92 — troca de meses sem flash: o modal permanece visível durante a renderização */


/* v4.0.92 — CTA Buscar com largura dinâmica nos dois motores de busca.
   No desktop/tablet o botão acompanha apenas ícone + texto + padding;
   se o texto mudar, a largura acompanha automaticamente. No mobile mantém 100%. */
@media (min-width:768px){
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean > button[type="submit"],
    body .eh-search-card .ehstay-search.ehstay-search-clean > button[type="submit"]{
        --eh-clean-button-width:auto !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }
}


/* v4.0.93 — motores de busca compactos no desktop.
   A borda do formulário acompanha a largura real dos campos + botão, sem sobra lateral. */
@media (min-width:768px){
    body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}

/* v4.0.97 — Header Global em containers/widgets independentes do Elementor. */
.eh-v4096-header-template{position:relative;z-index:100}
.eh-v4096-header-actions .elementor-widget-essencial_hosp_link_icon{width:auto;flex:0 0 auto}
.eh-v4096-header-actions .elementor-widget-button{width:auto;flex:0 0 auto}
.eh-v4096-header-actions .eh-elementor-link-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%}
@media(max-width:767px){
 .eh-v4096-header-template{padding-left:16px!important;padding-right:16px!important}
 .eh-v4096-header-logo{width:auto!important;flex:1 1 auto!important}
 .eh-v4096-header-nav{width:auto!important;flex:0 0 auto!important;order:3}
 .eh-v4096-header-actions{width:auto!important;flex:0 0 auto!important}
 .eh-v4096-header-actions .elementor-widget-button{display:none!important}
 .eh-v4096-header-actions .elementor-widget-essencial_hosp_link_icon{display:none!important}
}


/* v4.0.98 — Ícone/Link: SVG do Font Awesome herda corretamente a cor do Elementor. */
.eh-elementor-link-icon{transform:translate(var(--eh-icon-x,0),var(--eh-icon-y,0));line-height:1!important;}
.eh-elementor-link-icon svg{display:block;color:inherit!important;fill:currentColor!important;stroke:currentColor!important;stroke-linecap:round;stroke-linejoin:round;}
.eh-elementor-link-icon svg path{fill:currentColor!important;stroke:currentColor!important;}


/* v4.0.222 — Atalhos editáveis do Popup mobile. */
.eh-account-shortcut{display:flex;align-items:center;width:100%;text-decoration:none;line-height:1.25;transition:color .18s ease,background-color .18s ease}
.eh-account-shortcut-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.eh-account-shortcut-icon svg{display:block;width:1em;height:1em;fill:currentColor;stroke:currentColor}
.eh-account-shortcut-text{min-width:0}
.eh-mobile-menu-popup-trigger{display:inline-flex;align-items:center}

/* v4.0.157 — galeria da acomodação */
.eh-v40114-room-gallery-stack{width:100%}
.eh-room-gallery-main{position:relative;display:block;width:100%;padding:0;margin:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in;line-height:0}
.eh-room-gallery-main img{display:block;width:100%;height:520px;object-fit:cover}
.eh-room-gallery-main-badge{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:18px;line-height:1;pointer-events:none}
.eh-room-gallery-thumbs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;width:100%}
.eh-room-gallery-thumb{display:block;width:100%;min-width:0;padding:0;margin:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in;line-height:0}
.eh-room-gallery-thumb img{display:block;width:100%;height:88px;object-fit:cover;transition:transform .2s ease,opacity .2s ease}
.eh-room-gallery-thumb:hover img{transform:scale(1.035)}

.eh-room-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(9,12,11,.94);padding:28px 72px}
.eh-room-lightbox.is-open{display:flex}
.eh-room-lightbox__stage{position:relative;width:min(1180px,100%);height:min(82vh,860px);display:flex;align-items:center;justify-content:center}
.eh-room-lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.eh-room-lightbox__close,.eh-room-lightbox__prev,.eh-room-lightbox__next{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease}
.eh-room-lightbox__close:hover,.eh-room-lightbox__prev:hover,.eh-room-lightbox__next:hover{background:rgba(255,255,255,.25)}
.eh-room-lightbox__close{top:18px;right:18px;width:44px;height:44px;border-radius:999px;font-size:30px}
.eh-room-lightbox__prev,.eh-room-lightbox__next{top:50%;width:48px;height:58px;border-radius:8px;transform:translateY(-50%);font-size:34px}
.eh-room-lightbox__prev{left:18px}.eh-room-lightbox__next{right:18px}
.eh-room-lightbox__counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.48);color:#fff;font:500 12px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.eh-room-lightbox-open{overflow:hidden!important}

@media(max-width:1024px){.eh-room-gallery-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:767px){
.eh-room-gallery-main img{height:340px}
.eh-room-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.eh-room-gallery-thumb img{height:72px}
.eh-room-lightbox{padding:18px 12px}
.eh-room-lightbox__stage{height:78vh}
.eh-room-lightbox__prev{left:8px}.eh-room-lightbox__next{right:8px}
.eh-room-lightbox__prev,.eh-room-lightbox__next{width:42px;height:52px}
.eh-room-lightbox__close{top:10px;right:10px}
}


/* v4.0.157 — listagem horizontal de acomodações */
.eh-v40115-accommodations-list .eh-v40115-accommodation-row{box-shadow:0 8px 28px rgba(26,39,34,.07)}
.eh-v40115-accommodation-gallery .eh-room-gallery-main img{height:275px}
.eh-v40115-accommodation-gallery .eh-room-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.eh-v40115-accommodation-gallery .eh-room-gallery-thumb img{height:62px}
.eh-v40115-accommodation-info .eh-dynamic-room-title{margin:0;font-size:27px;line-height:1.2;font-weight:500}
.eh-v40115-accommodation-info .eh-dynamic-room-title a{color:inherit;text-decoration:none}
.eh-v40115-accommodation-info .eh-dynamic-room-excerpt{font-size:16px;line-height:1.75}
.eh-v40115-accommodation-actions .eh-dynamic-room-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.eh-v40115-accommodation-actions .eh-dynamic-room-price{margin-bottom:8px}
.eh-v40115-accommodation-actions .elementor-heading-title{font-size:14px;font-weight:400}
@media(max-width:1024px){
  .eh-v40115-accommodations-list .eh-v40115-accommodation-row{flex-wrap:wrap!important}
  .eh-v40115-accommodation-gallery{width:40%!important}
  .eh-v40115-accommodation-info{width:60%!important;border-right:0!important}
  .eh-v40115-accommodation-actions{width:100%!important;padding:22px 0 0 0!important;flex-direction:row!important;align-items:center!important}
  .eh-v40115-accommodation-actions > .elementor-element{flex:1 1 0}
}
@media(max-width:767px){
  .eh-v40115-accommodations-list .eh-v40115-accommodation-row{display:flex!important;flex-direction:column!important}
  .eh-v40115-accommodation-gallery,.eh-v40115-accommodation-info,.eh-v40115-accommodation-actions{width:100%!important}
  .eh-v40115-accommodation-info{padding:20px 0 0 0!important;border:0!important}
  .eh-v40115-accommodation-actions{display:flex!important;flex-direction:column!important;padding:22px 0 0 0!important;align-items:stretch!important}
  .eh-v40115-accommodation-gallery .eh-room-gallery-main img{height:240px}
  .eh-v40115-accommodation-gallery .eh-room-gallery-thumb img{height:58px}
}


/* =========================================================
   v4.0.157 — card Acomodações no padrão da referência
   ========================================================= */
.eh-dynamic-room-excerpt{
    font-size:16px;
    line-height:1.72;
}
.eh-dynamic-room-attributes.is-list{
    display:flex;
    flex-direction:column;
    gap:11px;
    margin:16px 0 0;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row{
    display:grid;
    grid-template-columns:22px auto 1fr;
    align-items:center;
    gap:9px;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
}
.eh-dynamic-room-attributes.is-list dt,
.eh-dynamic-room-attributes.is-list dd{
    padding:0;
    margin:0;
    font-size:14px;
    line-height:1.4;
    font-weight:400;
}
.eh-dynamic-room-attributes.is-list dd{
    font-weight:400;
}
.eh-room-attr-icon,
.eh-amenities-line-icon{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#EA8424;
}
.eh-room-attr-icon svg,
.eh-amenities-line-icon svg{
    width:16px;
    height:16px;
    display:block;
    fill:currentColor;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.eh-dynamic-amenities.is-line{
    display:grid;
    grid-template-columns:22px auto 1fr;
    gap:9px;
    align-items:start;
    margin-top:2px;
    font-size:14px;
    line-height:1.45;
}
.eh-dynamic-amenities.is-line strong{
    font-weight:400;
}
.eh-amenities-line-values{
    padding:0!important;
    background:transparent!important;
}
.eh-dynamic-room-price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:5px;
}
.eh-dynamic-room-price small{
    width:100%;
}
.eh-dynamic-room-price strong{
    font-size:31px;
    line-height:1;
    font-weight:500;
}
.eh-dynamic-room-price span{
    font-size:14px;
    opacity:.8;
}
.eh-dynamic-room-price strong.is-empty{
    font-size:22px;
}
.eh-dynamic-room-button{
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    text-align:center;
    text-decoration:none;
    min-height:52px;
}
.elementor-widget-essencial_hosp_room_title_dynamic .eh-dynamic-room-title{
    margin-top:0;
}
@media(max-width:1024px){
    .eh-dynamic-room-attributes.is-list{gap:9px}
}
@media(max-width:767px){
    .eh-dynamic-room-excerpt{font-size:15px}
    .eh-dynamic-room-price strong{font-size:28px}
}


/* v4.0.157 — detalhes em duas colunas, sem caixas */
.elementor-widget-essencial_hosp_room_presence_dynamic{
    position:absolute!important;width:0!important;height:0!important;min-width:0!important;
    min-height:0!important;overflow:hidden!important;pointer-events:none!important;
}
.eh-dynamic-room-attributes.is-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px 28px!important;
    margin:18px 0 0!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row{
    display:grid!important;
    grid-template-columns:20px auto 1fr!important;
    align-items:center!important;
    gap:7px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    border-radius:0!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dt,
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dt{font-weight:400!important}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{font-weight:500!important}
.eh-room-attr-icon{color:#EA8424!important}
.eh-dynamic-room-price-wrap{display:flex;flex-direction:column;gap:14px}
.eh-dynamic-room-price-label{font-size:14px;line-height:1.3;font-weight:600;color:#111}
@media(max-width:767px){
    .eh-dynamic-room-attributes.is-list{grid-template-columns:1fr!important}
}


/* =========================================================
   v4.0.157 — Responsividade da página Acomodações
   <= 1026px: galeria em uma linha inteira; abaixo, conteúdo + ações lado a lado.
   <= 768px: tudo empilhado em uma coluna.
   ========================================================= */
@media (max-width:1026px) and (min-width:769px){
    /* Card permite quebra em duas linhas */
    .elementor [data-id^="v40118-acc-row-"],
    .elementor .eh-v40115-accommodation-row{
        flex-wrap:wrap!important;
    }

    /* 1ª linha: foto/galeria ocupa 100% */
    .elementor [data-id^="v40118-acc-gallery-col-"],
    .elementor .eh-v40115-accommodation-gallery{
        width:100%!important;
        flex:0 0 100%!important;
        max-width:100%!important;
        padding:0!important;
        border:0!important;
    }

    /* Foto mais larga nessa faixa */
    .elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-main img,
    .elementor .eh-v40115-accommodation-gallery .eh-room-gallery-main img{
        width:100%!important;
        height:360px!important;
        object-fit:cover!important;
    }

    /* Miniaturas abaixo da foto */
    .elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-thumbs,
    .elementor .eh-v40115-accommodation-gallery .eh-room-gallery-thumbs{
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
    }

    /* 2ª linha: texto à esquerda */
    .elementor [data-id^="v40118-acc-info-col-"],
    .elementor .eh-v40115-accommodation-info{
        width:68%!important;
        flex:0 0 68%!important;
        max-width:68%!important;
        padding:28px 28px 0 0!important;
        border-right:1px solid #E7E7E3!important;
    }

    /* 2ª linha: preço + botões à direita */
    .elementor [data-id^="v40118-acc-action-col-"],
    .elementor .eh-v40115-accommodation-actions{
        width:32%!important;
        flex:0 0 32%!important;
        max-width:32%!important;
        padding:28px 0 0 28px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
    }

    .elementor [data-id^="v40118-acc-action-col-"] > .elementor-element,
    .elementor .eh-v40115-accommodation-actions > .elementor-element{
        width:100%!important;
        flex:0 0 auto!important;
    }
}

@media (max-width:768px){
    /* Tudo em coluna a partir de 768px */
    .elementor [data-id^="v40118-acc-row-"],
    .elementor .eh-v40115-accommodation-row{
        display:flex!important;
        flex-direction:column!important;
        flex-wrap:nowrap!important;
    }

    .elementor [data-id^="v40118-acc-gallery-col-"],
    .elementor [data-id^="v40118-acc-info-col-"],
    .elementor [data-id^="v40118-acc-action-col-"],
    .elementor .eh-v40115-accommodation-gallery,
    .elementor .eh-v40115-accommodation-info,
    .elementor .eh-v40115-accommodation-actions{
        width:100%!important;
        flex:0 0 100%!important;
        max-width:100%!important;
    }

    .elementor [data-id^="v40118-acc-info-col-"],
    .elementor .eh-v40115-accommodation-info{
        padding:22px 0 0!important;
        border:0!important;
    }

    .elementor [data-id^="v40118-acc-action-col-"],
    .elementor .eh-v40115-accommodation-actions{
        padding:24px 0 0!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
    }

    .elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-main img,
    .elementor .eh-v40115-accommodation-gallery .eh-room-gallery-main img{
        height:260px!important;
    }

    .elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-thumbs,
    .elementor .eh-v40115-accommodation-gallery .eh-room-gallery-thumbs{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}


/* =========================================================
   v4.0.157 — detalhes da acomodação em uma única coluna.
   Mantém ícones + texto, sem cards/quadrados.
   ========================================================= */
.eh-dynamic-room-attributes.is-list{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    gap:11px!important;
    margin:18px 0 0!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row{
    display:grid!important;
    grid-template-columns:20px auto 1fr!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    border-radius:0!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dt,
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:1.45!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dt{
    font-weight:400!important;
    white-space:nowrap!important;
}
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    font-weight:500!important;
    min-width:0!important;
}


/* =========================================================
   v4.0.157 — carrossel de miniaturas + X do lightbox centralizado
   ========================================================= */

/* Mantém miniaturas em uma única faixa horizontal */
.eh-room-gallery-thumbs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    padding:0!important;
}
.eh-room-gallery-thumbs::-webkit-scrollbar{
    display:none!important;
}
.eh-room-gallery-thumb{
    flex:0 0 auto!important;
}

/* Quantidade visível padrão */
.eh-room-gallery-thumbs .eh-room-gallery-thumb{
    width:calc((100% - 24px) / 4)!important;
}

/* Wrapper criado pelo JS para as setas */
.eh-room-gallery-thumbs-wrap{
    position:relative!important;
    width:100%!important;
}
.eh-room-gallery-thumbs-nav{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(0,0,0,.62)!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:23px!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:4!important;
    box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
.eh-room-gallery-thumbs-nav.is-prev{left:5px!important}
.eh-room-gallery-thumbs-nav.is-next{right:5px!important}
.eh-room-gallery-thumbs-nav[hidden]{
    display:none!important;
}

/* Centralização exata do X do lightbox */
.eh-room-lightbox__close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
    text-align:center!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:400!important;
}
.eh-room-lightbox__close::before{
    content:"×";
    display:block!important;
    width:100%!important;
    height:100%!important;
    line-height:42px!important;
    text-align:center!important;
    transform:none!important;
}
.eh-room-lightbox__close{
    font-size:0!important;
}

/* Em telas médias mostra 5 miniaturas quando houver espaço */
@media (min-width:769px) and (max-width:1026px){
    .eh-room-gallery-thumbs .eh-room-gallery-thumb{
        width:calc((100% - 32px) / 5)!important;
    }
}

/* Mobile: 4 visíveis e swipe nativo */
@media (max-width:768px){
    .eh-room-gallery-thumbs .eh-room-gallery-thumb{
        width:calc((100% - 24px) / 4)!important;
    }
    .eh-room-gallery-thumbs-nav{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        min-height:28px!important;
        font-size:21px!important;
    }
    .eh-room-lightbox__close::before{
        line-height:42px!important;
    }
}


/* =========================================================
   v4.0.157 — centralização exata dos controles da galeria
   ========================================================= */

/* Remove o pseudo-X da v4.0.157 e usa SVG real */
.eh-room-lightbox__close::before{
    content:none!important;
    display:none!important;
}
.eh-room-lightbox__close{
    font-size:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:0!important;
}
.eh-room-lightbox__close svg{
    width:22px!important;
    height:22px!important;
    display:block!important;
    flex:0 0 22px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.4!important;
    stroke-linecap:round!important;
}

/* Setas do lightbox centralizadas */
.eh-room-lightbox__prev,
.eh-room-lightbox__next{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:0!important;
}
.eh-room-lightbox__prev svg,
.eh-room-lightbox__next svg{
    width:24px!important;
    height:24px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.3!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

/* Setas das miniaturas exatamente no centro vertical */
.eh-room-gallery-thumbs-wrap{
    position:relative!important;
    display:block!important;
}
.eh-room-gallery-thumbs-nav{
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:0!important;
}
.eh-room-gallery-thumbs-nav svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
    flex:0 0 18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.5!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}


/* =========================================================
   v4.0.157 — responsividade corrigida no .e-con-inner real
   >1000px: layout desktop existente
   769–1000px: galeria 100%; abaixo texto 65% + ações 35%
   <=768px: tudo 100% em coluna
   ========================================================= */

/* Impede qualquer estouro horizontal do card */
.eh-rsp-card,
.eh-rsp-card-inner,
.eh-rsp-gallery,
.eh-rsp-info,
.eh-rsp-actions{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%;
}

/* A faixa real que contém as 3 colunas */
.eh-rsp-card > .eh-rsp-card-inner{
    width:100%!important;
    max-width:100%!important;
}

/* 769px até 1000px */
@media (min-width:769px) and (max-width:1000px){

    .eh-rsp-card > .eh-rsp-card-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:wrap!important;
        align-items:flex-start!important;
        gap:0!important;
    }

    /* Linha 1: galeria sozinha */
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        order:1!important;
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
    }

    .eh-rsp-gallery > .e-con-inner{
        width:100%!important;
        max-width:100%!important;
    }

    .eh-rsp-gallery .eh-room-gallery-main,
    .eh-rsp-gallery .eh-room-gallery-main img{
        width:100%!important;
        max-width:100%!important;
    }

    .eh-rsp-gallery .eh-room-gallery-main img{
        height:360px!important;
        object-fit:cover!important;
    }

    /* Linha 2: conteúdo 65% */
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info{
        order:2!important;
        width:60%!important;
        max-width:60%!important;
        flex:0 0 60%!important;
        padding:28px 28px 0 0!important;
        margin:0!important;
        border-right:1px solid #e7e7e3!important;
    }

    /* Linha 2: ações 35% */
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        order:3!important;
        width:40%!important;
        max-width:40%!important;
        flex:0 0 40%!important;
        padding:28px 0 0 28px!important;
        margin:0!important;
        border:0!important;
    }

    .eh-rsp-info > .e-con-inner,
    .eh-rsp-actions > .e-con-inner{
        width:100%!important;
        max-width:100%!important;
    }

    .eh-rsp-actions .elementor-widget,
    .eh-rsp-actions .eh-dynamic-room-button{
        width:100%!important;
        max-width:100%!important;
    }
}

/* 768px ou menos */
@media (max-width:768px){

    .eh-rsp-card > .eh-rsp-card-inner{
        display:flex!important;
        flex-direction:column!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:0!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
        margin:0!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        order:1!important;
        padding:0!important;
        /* v4.0.242: não remover a borda configurada da galeria no mobile. */
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info{
        order:2!important;
        padding:22px 0 0!important;
        /* v4.0.247: preservar no mobile a borda responsiva configurada no Elementor. */
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        order:3!important;
        padding:24px 0 0!important;
        border:0!important;
    }

    .eh-rsp-gallery > .e-con-inner,
    .eh-rsp-info > .e-con-inner,
    .eh-rsp-actions > .e-con-inner{
        width:100%!important;
        max-width:100%!important;
    }

    .eh-rsp-gallery .eh-room-gallery-main,
    .eh-rsp-gallery .eh-room-gallery-main img{
        width:100%!important;
        max-width:100%!important;
    }

    .eh-rsp-gallery .eh-room-gallery-main img{
        height:260px!important;
        object-fit:cover!important;
    }

    .eh-rsp-actions .elementor-widget,
    .eh-rsp-actions .eh-dynamic-room-button{
        width:100%!important;
        max-width:100%!important;
    }
}


/* =========================================================
   v4.0.157 — ajuste fino somente entre 769px e 1000px
   Foto principal menos alta + miniaturas mais altas/proporcionais.
   ========================================================= */
@media (min-width:769px) and (max-width:1000px){

    .eh-rsp-gallery .eh-room-gallery-main img{
        height:320px!important;
        object-fit:cover!important;
        object-position:center center!important;
    }

    .eh-rsp-gallery .eh-room-gallery-thumbs{
        align-items:stretch!important;
    }

    .eh-rsp-gallery .eh-room-gallery-thumb{
        height:88px!important;
        overflow:hidden!important;
    }

    .eh-rsp-gallery .eh-room-gallery-thumb img{
        width:100%!important;
        height:88px!important;
        object-fit:cover!important;
        object-position:center center!important;
        display:block!important;
    }
}

/* =========================================================
   v4.0.157 — miniaturas com tamanho constante de 501px a 1000px
   <=500px mantém exatamente o comportamento mobile anterior.
   ========================================================= */
@media (min-width:501px) and (max-width:1000px){
    .eh-room-gallery-thumbs .eh-room-gallery-thumb,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb{
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
        flex:0 0 150px!important;
        height:88px!important;
        overflow:hidden!important;
    }
    .eh-room-gallery-thumbs .eh-room-gallery-thumb img,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb img{
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
        height:88px!important;
        object-fit:cover!important;
        object-position:center center!important;
        display:block!important;
    }
}


/* =========================================================
   v4.0.157 — padding interno dos cards de acomodações
   O valor padrão agora vem do Elementor (18px).
   Não forçar padding via CSS para permitir edição normal
   por dispositivo diretamente no container/widget.
   ========================================================= */


/* =========================================================
   v4.0.157 — alinhamento visual do card de acomodações no desktop
   Apenas acima de 1000px. Mantém mobile/tablet intactos.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        align-items:flex-start!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        padding-top:0!important;
        margin-top:0!important;
        align-self:flex-start!important;
    }

    .eh-rsp-gallery > .e-con-inner,
    .eh-rsp-info > .e-con-inner,
    .eh-rsp-actions > .e-con-inner{
        padding-top:0!important;
        margin-top:0!important;
        align-items:flex-start!important;
    }

    .eh-rsp-info > .e-con-inner > .elementor-element:first-child,
    .eh-rsp-actions > .e-con-inner > .elementor-element:first-child{
        margin-top:0!important;
    }
}


/* =========================================================
   v4.0.157 — equilíbrio do espaço superior/inferior no desktop
   Corrige a sobra visual abaixo da galeria sem alterar mobile/tablet
   e sem travar o padding configurável pelo Elementor.
   ========================================================= */
@media (min-width:1001px){

    .eh-rsp-card,
    .eh-rsp-card > .eh-rsp-card-inner{
        min-height:0!important;
        height:auto!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner{
        align-items:flex-start!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        min-height:0!important;
        height:auto!important;
        align-self:flex-start!important;
    }

    .eh-rsp-gallery > .e-con-inner,
    .eh-rsp-info > .e-con-inner,
    .eh-rsp-actions > .e-con-inner{
        min-height:0!important;
        height:auto!important;
    }

    .eh-rsp-gallery .elementor-widget:last-child,
    .eh-rsp-info .elementor-widget:last-child,
    .eh-rsp-actions .elementor-widget:last-child{
        margin-bottom:0!important;
    }

    .eh-rsp-gallery .eh-room-gallery-thumbs,
    .eh-rsp-gallery .eh-room-gallery-thumbs-wrap{
        margin-bottom:0!important;
        padding-bottom:0!important;
    }
}


/* =========================================================
   v4.0.157 — acabamento do card de acomodações
   1) Desktop: centraliza verticalmente o conteúdo para equilibrar
      visualmente o espaço branco superior e inferior.
   2) Botões Reservar / Ver detalhes: sempre com a mesma largura.
   ========================================================= */

/* Os dois botões ocupam a mesma largura disponível da coluna de ações. */
.eh-rsp-actions .elementor-widget-essencial_hosp_room_booking,
.eh-rsp-actions .elementor-widget-essencial_hosp_room_details_button_dynamic,
.eh-rsp-actions .elementor-widget-essencial_hosp_room_details_button,
.eh-rsp-actions .elementor-widget:has(.eh-dynamic-room-button){
    width:100%!important;
    max-width:100%!important;
}

.eh-rsp-actions .eh-dynamic-room-button,
.eh-rsp-actions a.eh-dynamic-room-button,
.eh-rsp-actions button.eh-dynamic-room-button{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

/* Desktop: não altera o padding configurado no Elementor.
   Apenas centraliza verticalmente as colunas dentro da altura real do card. */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        align-items:center!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        align-self:center!important;
    }

    .eh-rsp-gallery > .e-con-inner,
    .eh-rsp-info > .e-con-inner,
    .eh-rsp-actions > .e-con-inner{
        justify-content:center!important;
    }

    /* Evita sobra inferior criada por margens automáticas no último item. */
    .eh-rsp-gallery > .e-con-inner > :last-child,
    .eh-rsp-info > .e-con-inner > :last-child,
    .eh-rsp-actions > .e-con-inner > :last-child{
        margin-bottom:0!important;
    }
}


/* =========================================================
   v4.0.157 — ajuste visual fino da galeria no desktop
   Desce imagem principal + miniaturas juntas em 5px.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        transform:translateY(5px)!important;
    }
}


/* =========================================================
   v4.0.157
   1) Ajuste fino da galeria desktop: 5px -> 4px para baixo.
   2) Buscadores responsivos sem scroll horizontal.
      - Busca padrão: Check-in / Check-out cedem largura primeiro.
      - Adultos / Crianças cedem depois, respeitando largura mínima.
      - Busca por período: período + hóspedes diminuem em conjunto.
      - Mobile <=767px mantém o empilhamento já existente.
   ========================================================= */

/* Ajuste fino confirmado do card: sobe 1px em relação à v4.0.157. */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        transform:translateY(4px)!important;
    }
}

/* Garante que widget/container nunca force largura maior que o pai. */
.elementor-widget-essencial_hosp_search,
.elementor-widget-essencial_hosp_search_period,
.elementor-widget-essencial_hosp_search > .elementor-widget-container,
.elementor-widget-essencial_hosp_search_period > .elementor-widget-container,
.eh-elementor-crm-essencial_hosp_search,
.eh-elementor-crm-essencial_hosp_search_period{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Faixa em que o formulário ainda permanece horizontal.
   Em vez de extrapolar, os controles encolhem progressivamente. */
@media (min-width:768px) and (max-width:1200px){

    body .elementor .elementor-element .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        --eh-clean-gap:clamp(10px,1.5vw,20px);
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    /* BUSCA PADRÃO
       Check-in e Check-out encolhem primeiro, mas nunca ficam minúsculos. */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(1),
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(2){
        --eh-clean-item-width:auto;
        flex:1 4 190px!important;
        width:auto!important;
        min-width:140px!important;
        max-width:190px!important;
    }

    /* Adultos e Crianças preservam mais largura no começo e cedem depois. */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-adults,
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        --eh-clean-item-width:auto;
        flex:0 1 110px!important;
        width:auto!important;
        min-width:82px!important;
        max-width:110px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        --eh-clean-button-width:auto;
        flex:0 1 220px!important;
        width:auto!important;
        min-width:140px!important;
        max-width:220px!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    /* BUSCA POR PERÍODO
       Remove o fit-content que podia fazer o formulário ultrapassar o container. */
    body .elementor .elementor-element
    .eh-elementor-crm-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean.ehstay-search-range{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    /* Período e hóspedes diminuem juntos de forma proporcional. */
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-dates{
        --eh-clean-item-width:auto;
        flex:2 2 300px!important;
        width:auto!important;
        min-width:190px!important;
        max-width:300px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-adults,
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        --eh-clean-item-width:auto;
        flex:1 2 110px!important;
        width:auto!important;
        min-width:82px!important;
        max-width:110px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        --eh-clean-button-width:auto;
        flex:0 1 220px!important;
        width:auto!important;
        min-width:140px!important;
        max-width:220px!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    /* Textos não podem obrigar o controle a ficar maior que sua coluna. */
    .elementor-widget-essencial_hosp_search .eh-search-date-value,
    .elementor-widget-essencial_hosp_search_period .eh-search-date-value{
        min-width:0!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }
}


/* =========================================================
   v4.0.157 — correção final da responsividade dos buscadores
   - Remove espaço branco à direita: formulários ocupam 100% da largura.
   - Busca padrão: Check-in/Check-out cedem primeiro; hóspedes depois.
   - Busca por período: Entrada e saída cede primeiro, Adultos acompanha.
   - Crianças e Buscar preservam mais largura.
   - Mobile existente preservado.
   ========================================================= */

@media (min-width:768px) and (max-width:1200px){

    /* Ambos os formulários sempre ocupam toda a largura disponível. */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean,
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        display:flex!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex-wrap:nowrap!important;
        align-items:flex-end!important;
        box-sizing:border-box!important;
    }

    /* ---------------------------------------------------------
       BUSCA PADRÃO
       Check-in / Check-out diminuem primeiro.
       --------------------------------------------------------- */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(1),
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(2){
        width:auto!important;
        max-width:none!important;
        min-width:140px!important;
        flex:2 4 220px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-adults,
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        width:auto!important;
        max-width:none!important;
        min-width:82px!important;
        flex:1 2 125px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        width:auto!important;
        max-width:none!important;
        min-width:120px!important;
        flex:0 1 160px!important;
    }

    /* ---------------------------------------------------------
       BUSCA POR PERÍODO
       Entrada e saída diminui primeiro.
       Adultos acompanha a redução.
       Crianças e Buscar cedem menos.
       --------------------------------------------------------- */
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean.ehstay-search-range{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-dates{
        width:auto!important;
        max-width:none!important;
        min-width:180px!important;
        flex:3 5 360px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-adults{
        width:auto!important;
        max-width:none!important;
        min-width:82px!important;
        flex:1.35 3 170px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        width:auto!important;
        max-width:none!important;
        min-width:82px!important;
        flex:1 1.5 125px!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        width:auto!important;
        max-width:none!important;
        min-width:120px!important;
        flex:0.85 1 150px!important;
    }

    /* Cada controle ocupa 100% da largura recebida pela sua coluna. */
    .elementor-widget-essencial_hosp_search .eh-search-date-trigger,
    .elementor-widget-essencial_hosp_search_period .eh-search-date-trigger,
    .elementor-widget-essencial_hosp_search select,
    .elementor-widget-essencial_hosp_search_period select{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .elementor-widget-essencial_hosp_search label,
    .elementor-widget-essencial_hosp_search_period label{
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .elementor-widget-essencial_hosp_search .eh-search-date-value,
    .elementor-widget-essencial_hosp_search_period .eh-search-date-value{
        min-width:0!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }
}


/* =========================================================
   v4.0.157 — buscadores ocupando toda a largura no desktop
   Corrige a área branca que sobrava à direita acima de 1200px.
   Mantém a distribuição responsiva já criada nas faixas menores.
   ========================================================= */
@media (min-width:1201px){

    .elementor-widget-essencial_hosp_search,
    .elementor-widget-essencial_hosp_search_period,
    .elementor-widget-essencial_hosp_search > .elementor-widget-container,
    .elementor-widget-essencial_hosp_search_period > .elementor-widget-container,
    .eh-elementor-crm-essencial_hosp_search,
    .eh-elementor-crm-essencial_hosp_search_period{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean,
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean,
    body .eh-search-card .ehstay-search.ehstay-search-clean{
        display:flex!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex-wrap:nowrap!important;
        align-items:flex-end!important;
        box-sizing:border-box!important;
    }

    /* Busca padrão: distribui toda a largura do container. */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(1),
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > label:nth-of-type(2){
        width:auto!important;
        max-width:none!important;
        min-width:170px!important;
        flex:2.2 1 0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-adults,
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        width:auto!important;
        max-width:none!important;
        min-width:105px!important;
        flex:1.2 1 0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        width:auto!important;
        max-width:none!important;
        min-width:125px!important;
        flex:1.15 1 0!important;
    }

    /* Busca por período: Entrada e saída recebe a maior parte da largura,
       Adultos acompanha e o conjunto preenche 100% sem área branca. */
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-dates{
        width:auto!important;
        max-width:none!important;
        min-width:210px!important;
        flex:3.1 1 0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-adults{
        width:auto!important;
        max-width:none!important;
        min-width:110px!important;
        flex:1.65 1 0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        width:auto!important;
        max-width:none!important;
        min-width:105px!important;
        flex:1.2 1 0!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean > button[type="submit"]{
        width:auto!important;
        max-width:none!important;
        min-width:125px!important;
        flex:1.15 1 0!important;
    }

    .elementor-widget-essencial_hosp_search .eh-search-date-trigger,
    .elementor-widget-essencial_hosp_search_period .eh-search-date-trigger,
    .elementor-widget-essencial_hosp_search select,
    .elementor-widget-essencial_hosp_search_period select{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}


/* =========================================================
   v4.0.157 — correção estrutural do Busca por Período
   Remove definitivamente o comportamento fit-content legado.
   O formulário passa a ocupar a largura real do widget/Elementor.
   ========================================================= */
@media (min-width:768px){
    .elementor-widget-essencial_hosp_search_period > .elementor-widget-container,
    .elementor-widget-essencial_hosp_search_period > .elementor-widget-container >
    .eh-elementor-crm-essencial_hosp_search_period{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .elementor-widget-essencial_hosp_search_period > .elementor-widget-container >
    .eh-elementor-crm-essencial_hosp_search_period >
    form.ehstay-search.ehstay-search-clean.ehstay-search-range{
        display:flex!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        flex-wrap:nowrap!important;
        align-items:flex-end!important;
    }

    /* Entrada e saída é o maior campo e cede primeiro.
       Adultos acompanha a redução. */
    .elementor-widget-essencial_hosp_search_period
    form.ehstay-search-range > .ehstay-search-dates{
        flex:3.2 4 0!important;
        width:auto!important;
        max-width:none!important;
        min-width:180px!important;
    }

    .elementor-widget-essencial_hosp_search_period
    form.ehstay-search-range > .ehstay-search-adults{
        flex:1.55 2.5 0!important;
        width:auto!important;
        max-width:none!important;
        min-width:82px!important;
    }

    .elementor-widget-essencial_hosp_search_period
    form.ehstay-search-range > .ehstay-search-children{
        flex:1.15 1.5 0!important;
        width:auto!important;
        max-width:none!important;
        min-width:82px!important;
    }

    .elementor-widget-essencial_hosp_search_period
    form.ehstay-search-range > button[type="submit"]{
        flex:1.1 1 0!important;
        width:auto!important;
        max-width:none!important;
        min-width:120px!important;
    }
}


/* =========================================================
   v4.0.157 — Página de resultados da busca
   Modelo: listagem ampla à esquerda + motor sticky à direita.
   ========================================================= */

.eh-results-page-layout,
.eh-results-page-layout > .e-con-inner,
.eh-results-left,
.eh-results-sidebar{
    box-sizing:border-box!important;
    min-width:0!important;
}

.eh-results-page-layout > .e-con-inner{
    align-items:flex-start!important;
}

.eh-results-left{
    flex:1 1 0!important;
}

.eh-results-sidebar{
    position:sticky!important;
    top:25px!important;
    align-self:flex-start!important;
    z-index:6;
}

.eh-results-sidebar > .e-con-inner,
.eh-results-sidebar .elementor-widget,
.eh-results-sidebar .elementor-widget-container,
.eh-results-sidebar .eh-elementor-crm{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

.eh-results-sidebar .eh-elementor-crm-essencial_hosp_search_period{
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
}

.eh-results-sidebar .ehstay-search.ehstay-search-clean.ehstay-search-range{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    gap:18px!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
}

.eh-results-sidebar .ehstay-search.ehstay-search-clean > label,
.eh-results-sidebar .ehstay-search.ehstay-search-clean .ehstay-search-dates,
.eh-results-sidebar .ehstay-search.ehstay-search-clean .ehstay-search-adults,
.eh-results-sidebar .ehstay-search.ehstay-search-clean .ehstay-search-children,
.eh-results-sidebar .ehstay-search.ehstay-search-clean > button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
}

.eh-results-sidebar .ehstay-search label{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    margin:0!important;
    font-size:14px!important;
    font-weight:600!important;
    color:#18211e!important;
}

.eh-results-sidebar .eh-search-date-trigger,
.eh-results-sidebar .ehstay-search select{
    width:100%!important;
    min-height:52px!important;
    box-sizing:border-box!important;
    border:1px solid #d7dad8!important;
    border-radius:0!important;
    background:#f2f3f2!important;
}

.eh-results-sidebar .ehstay-search > button[type="submit"]{
    min-height:54px!important;
    border-radius:999px!important;
    justify-content:center!important;
}

/* Resultado / introdução */
.eh-elementor-crm-essencial_hosp_results{
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

.eh-results-summary{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:5px;
    margin:0 0 16px;
    font-size:16px;
    color:#263a34;
}

.eh-results-summary strong{
    font-weight:700;
}

.eh-results-intro{
    margin:0 0 34px!important;
    font-size:16px!important;
    color:#334842!important;
}

/* Card principal */
.eh-results-room-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:30px!important;
    width:100%!important;
    margin:0 0 28px!important;
    padding:38px 40px!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
}

.eh-results-room-main{
    min-width:0!important;
}

.eh-results-room-title{
    margin:0 0 14px!important;
    font-size:22px!important;
    line-height:1.25!important;
}

.eh-results-room-title a{
    color:#ee7f1b!important;
    text-decoration:none!important;
}

.eh-results-room-excerpt{
    max-width:760px;
    margin:0 0 30px;
    color:#6b6f6d;
    font-size:16px;
    line-height:1.75;
}

/* Galeria do card: mesma leitura visual do modelo. */
.eh-results-room-gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2px;
    width:100%;
    max-width:560px;
    margin:0 0 30px;
    overflow:hidden;
}

.eh-results-room-gallery .eh-room-gallery-open{
    width:100%!important;
    height:182px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    overflow:hidden!important;
}

.eh-results-room-gallery img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* Detalhes em duas colunas no desktop, como o modelo. */
.eh-results-room-attributes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 32px;
    max-width:590px;
}

.eh-results-attr{
    display:grid;
    grid-template-columns:20px auto minmax(0,1fr);
    align-items:start;
    gap:8px;
    min-width:0;
    color:#303b37;
    font-size:14px;
    line-height:1.45;
}

.eh-results-attr-icon{
    width:18px;
    height:18px;
    color:#ef831d;
}

.eh-results-attr-icon svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
    fill:currentColor!important;
    stroke:currentColor!important;
    stroke-width:1.4!important;
}

.eh-results-attr-label{
    font-weight:400;
}

.eh-results-attr strong{
    min-width:0;
    font-weight:500;
    overflow-wrap:anywhere;
}

/* Preço e ações */
.eh-results-room-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-width:0!important;
    padding:4px 0 0 30px!important;
    border-left:1px solid #e3e6e4!important;
}

.eh-results-price-label{
    margin:0 0 14px;
    color:#1d2623;
    font-size:14px;
}

.eh-results-price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 18px;
}

.eh-results-price strong{
    color:#111;
    font-size:31px;
    line-height:1;
    font-weight:500;
}

.eh-results-price span{
    color:#666;
    font-size:14px;
}

.eh-results-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:240px!important;
    min-height:56px!important;
    box-sizing:border-box!important;
    margin:0 0 20px!important;
    padding:12px 18px!important;
    border-radius:999px!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    font-size:13px!important;
    font-weight:600!important;
    color:#fff!important;
}

.eh-results-details{
    background:#334f47!important;
}

.eh-results-book{
    background:#ef821d!important;
}

/* Tablet: igual à lógica homologada dos cards anteriores.
   Conteúdo e ações reorganizam sem ultrapassar a página. */
@media (min-width:769px) and (max-width:1000px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:24px!important;
    }

    .eh-results-left,
    .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }

    .eh-results-sidebar{
        position:sticky!important;
        top:16px!important;
    }

    .eh-results-room-card{
        grid-template-columns:minmax(0,60%) minmax(0,40%)!important;
        gap:0!important;
        padding:28px!important;
    }

    .eh-results-room-main{
        padding-right:24px!important;
    }

    .eh-results-room-actions{
        padding-left:24px!important;
    }

    .eh-results-room-gallery{
        max-width:none!important;
    }

    .eh-results-room-gallery .eh-room-gallery-open{
        height:160px!important;
    }
}

/* Mobile: tudo em uma coluna, sem scroll horizontal.
   O buscador acompanha o scroll conforme solicitado. */
@media (max-width:768px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:20px!important;
    }

    .eh-results-left,
    .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }

    .eh-results-sidebar{
        position:sticky!important;
        top:10px!important;
        order:1!important;
    }

    .eh-results-left{
        order:2!important;
    }

    .eh-results-room-card{
        display:flex!important;
        flex-direction:column!important;
        gap:24px!important;
        padding:20px!important;
    }

    .eh-results-room-excerpt{
        margin-bottom:22px!important;
        font-size:15px!important;
    }

    .eh-results-room-gallery{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:2px;
        margin-bottom:22px;
    }

    .eh-results-room-gallery .eh-room-gallery-open{
        height:115px!important;
    }

    .eh-results-room-attributes{
        grid-template-columns:1fr!important;
        gap:11px!important;
    }

    .eh-results-room-actions{
        padding:22px 0 0!important;
        border-left:0!important;
        border-top:1px solid #e3e6e4!important;
    }

    .eh-results-button{
        max-width:none!important;
        margin-bottom:14px!important;
    }

    .eh-results-summary{
        font-size:14px;
    }

    .eh-results-intro{
        margin-bottom:22px!important;
    }
}

@media (max-width:500px){
    .eh-results-room-gallery .eh-room-gallery-open{
        height:92px!important;
    }
}


/* =========================================================
   v4.0.157 — Resultados da Busca
   - 2 widgets laterais separados
   - card dinâmico de recomendação
   - cards dinâmicos de acomodações com capa + slider + ícones
   ========================================================= */

/* ---------------------------------------------------------
   NOVOS WIDGETS LATERAIS — mesma lógica dos widgets existentes
   --------------------------------------------------------- */
.elementor-widget-essencial_hosp_search_sidebar,
.elementor-widget-essencial_hosp_search_period_sidebar,
.elementor-widget-essencial_hosp_search_sidebar > .elementor-widget-container,
.elementor-widget-essencial_hosp_search_period_sidebar > .elementor-widget-container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

.elementor-widget-essencial_hosp_search_sidebar .eh-elementor-crm,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-elementor-crm{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

.elementor-widget-essencial_hosp_search_sidebar .ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search.ehstay-search-clean{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}

.elementor-widget-essencial_hosp_search_sidebar .ehstay-search.ehstay-search-clean > label,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search.ehstay-search-clean > label,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-children,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-children,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search > button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search > button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
}

.elementor-widget-essencial_hosp_search_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_sidebar select,
.elementor-widget-essencial_hosp_search_period_sidebar select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

/* A sidebar padrão da página usa um dos novos widgets. */
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar .ehstay-search,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

/* ---------------------------------------------------------
   RECOMENDAÇÃO DINÂMICA
   --------------------------------------------------------- */
.eh-results-recommendation{
    width:100%;
    margin:0 0 30px;
    padding:38px 40px;
    box-sizing:border-box;
    background:#fff;
}

.eh-results-recommendation h2{
    margin:0 0 26px!important;
    color:#27302d!important;
    font-size:18px!important;
    line-height:1.35!important;
    font-weight:500!important;
}

.eh-results-recommendation-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:start;
}

.eh-results-recommendation-room{
    color:#666;
    font-size:15px;
}

.eh-results-recommendation-room a{
    color:#ef821d!important;
    font-weight:600!important;
    text-decoration:none!important;
}

.eh-results-recommendation-capacity{
    margin-top:7px;
    color:#777;
    font-size:14px;
}

.eh-results-recommendation-price{
    color:#3a3d3c;
    font-size:16px;
    white-space:nowrap;
}

.eh-results-recommendation-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:38px;
}

.eh-results-recommendation-bottom .eh-results-button{
    margin:0!important;
    max-width:216px!important;
}

.eh-results-recommendation-total{
    display:flex;
    align-items:baseline;
    gap:26px;
    color:#666;
    font-size:16px;
}

.eh-results-recommendation-total strong{
    color:#333;
    font-weight:500;
}

/* ---------------------------------------------------------
   CARD DINÂMICO DE ACOMODAÇÃO DISPONÍVEL
   --------------------------------------------------------- */
.eh-results-room-card{
    display:block!important;
    width:100%!important;
    margin:0 0 30px!important;
    padding:38px 40px!important;
    box-sizing:border-box!important;
    background:#fff!important;
}

.eh-results-room-header{
    width:100%;
    margin:0 0 28px;
}

.eh-results-room-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:30px;
    align-items:start;
}

.eh-results-room-left{
    min-width:0;
}

.eh-results-room-media{
    width:100%;
    max-width:570px;
    margin:0 0 28px;
}

.eh-results-room-cover{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:300px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
}

.eh-results-room-cover img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

.eh-results-expand-icon{
    position:absolute;
    right:12px;
    bottom:12px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(27,31,30,.76);
    color:#fff;
    font-size:17px;
}

.eh-results-room-thumbs{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.eh-results-room-thumbs::-webkit-scrollbar{
    display:none;
}

.eh-results-room-thumbs .eh-room-gallery-thumb{
    flex:0 0 112px!important;
    width:112px!important;
    min-width:112px!important;
    height:72px!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
}

.eh-results-room-thumbs .eh-room-gallery-thumb img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* atributos */
.eh-results-room-attributes{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px 26px!important;
    width:100%!important;
    max-width:590px!important;
}

/* ações */
.eh-results-room-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    padding:4px 0 0 30px!important;
    border-left:1px solid #e3e6e4!important;
}

.eh-results-room-actions .eh-results-button{
    width:100%!important;
    max-width:240px!important;
    min-height:56px!important;
}

/* ---------------------------------------------------------
   Tablet: mesma lógica responsiva já homologada antes.
   --------------------------------------------------------- */
@media (min-width:769px) and (max-width:1000px){
    .eh-results-room-body{
        grid-template-columns:minmax(0,60%) minmax(0,40%)!important;
        gap:0!important;
    }

    .eh-results-room-left{
        padding-right:24px!important;
    }

    .eh-results-room-actions{
        padding-left:24px!important;
    }

    .eh-results-room-cover{
        height:260px!important;
    }

    .eh-results-room-thumbs .eh-room-gallery-thumb{
        flex-basis:112px!important;
        width:112px!important;
        min-width:112px!important;
        height:72px!important;
    }
}

/* ---------------------------------------------------------
   Mobile: sidebar entra no fluxo normal e ocupa 100%.
   --------------------------------------------------------- */
@media (max-width:768px){
    .eh-results-sidebar{
        position:static!important;
        top:auto!important;
        order:1!important;
    }

    .eh-results-left{
        order:2!important;
    }

    .eh-results-recommendation{
        padding:22px!important;
    }

    .eh-results-recommendation-row{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }

    .eh-results-recommendation-bottom{
        flex-direction:column-reverse!important;
        align-items:stretch!important;
        gap:18px!important;
        margin-top:26px!important;
    }

    .eh-results-recommendation-bottom .eh-results-button{
        max-width:none!important;
        width:100%!important;
    }

    .eh-results-recommendation-total{
        justify-content:space-between!important;
        gap:16px!important;
    }

    .eh-results-room-card{
        padding:20px!important;
    }

    .eh-results-room-body{
        display:flex!important;
        flex-direction:column!important;
        gap:22px!important;
    }

    .eh-results-room-cover{
        height:250px!important;
    }

    .eh-results-room-attributes{
        grid-template-columns:1fr!important;
    }

    .eh-results-room-actions{
        padding:22px 0 0!important;
        border-left:0!important;
        border-top:1px solid #e3e6e4!important;
    }

    .eh-results-room-actions .eh-results-button{
        max-width:none!important;
    }
}

@media (max-width:500px){
    .eh-results-room-cover{
        height:220px!important;
    }

    .eh-results-room-thumbs .eh-room-gallery-thumb{
        flex-basis:88px!important;
        width:88px!important;
        min-width:88px!important;
        height:58px!important;
    }
}


/* =========================================================
   v4.0.157 — Resultados: 65/35 + sidebar vertical real
   + atributos usando toda a largura do card.
   ========================================================= */

@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        gap:20px!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:65%!important;
        max-width:65%!important;
        flex:0 0 calc(65% - 7px)!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:35%!important;
        max-width:35%!important;
        flex:0 0 calc(35% - 13px)!important;
        min-width:0!important;
    }
}

/* O novo widget lateral é SEMPRE vertical, independentemente
   das regras horizontais dos dois widgets originais. */
.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search.ehstay-search-clean,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar
.ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search.ehstay-search-clean{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search.ehstay-search-clean > *,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar
.ehstay-search.ehstay-search-clean > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
}

.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search.ehstay-search-clean > button[type="submit"],
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar
.ehstay-search.ehstay-search-clean > button[type="submit"]{
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
}

/* Remove divisórias verticais herdadas do buscador horizontal. */
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-clean > label:after,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-clean > label:after{
    display:none!important;
    content:none!important;
}

/* Foto + preço continuam lado a lado. */
.eh-results-room-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 250px!important;
    gap:26px!important;
    align-items:start!important;
}

/* Os ícones ficam FORA do grid acima e usam a largura total do card. */
.eh-results-room-attributes-full{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px 28px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:26px!important;
    padding-top:0!important;
}

.eh-results-room-attributes-full .eh-results-attr{
    grid-template-columns:20px auto minmax(0,1fr)!important;
    min-width:0!important;
}

.eh-results-room-attributes-full .eh-results-attr strong{
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
}

/* Não permite quebra letra por letra em Vista / Área / Cama etc. */
.eh-results-room-attributes-full .eh-results-attr-label,
.eh-results-room-attributes-full .eh-results-attr strong{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
}

@media (min-width:769px) and (max-width:1000px){
    .eh-results-room-body{
        grid-template-columns:minmax(0,60%) minmax(0,40%)!important;
        gap:0!important;
    }

    .eh-results-room-attributes-full{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
    }
}

@media (max-width:768px){
    .eh-results-room-attributes-full{
        grid-template-columns:1fr!important;
        margin-top:20px!important;
    }
}


/* =========================================================
   v4.0.157 — CORREÇÃO DOS 2 WIDGETS LATERAIS
   Os novos widgets são verticais por definição, em qualquer lugar
   do Elementor. A sidebar da busca nunca passa de 35% no desktop.
   ========================================================= */

/* Classe aplicada diretamente ao FORM dos dois widgets laterais.
   Tem prioridade sobre todas as regras horizontais dos widgets originais. */
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}

/* Cada campo = uma linha inteira. */
form.ehstay-search-sidebar-vertical > label,
form.ehstay-search-sidebar-vertical > .ehstay-search-adults,
form.ehstay-search-sidebar-vertical > .ehstay-search-children,
form.ehstay-search-sidebar-vertical > button[type="submit"]{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Neutraliza larguras/variáveis vindas dos widgets horizontais. */
form.ehstay-search-sidebar-vertical > label,
form.ehstay-search-sidebar-vertical .ehstay-search-adults,
form.ehstay-search-sidebar-vertical .ehstay-search-children{
    --eh-clean-item-width:100%!important;
}

form.ehstay-search-sidebar-vertical > button[type="submit"]{
    --eh-clean-button-width:100%!important;
    align-self:stretch!important;
}

form.ehstay-search-sidebar-vertical .eh-search-date-trigger,
form.ehstay-search-sidebar-vertical select,
form.ehstay-search-sidebar-vertical input:not([type="hidden"]){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Remove qualquer divisor lateral do layout horizontal. */
form.ehstay-search-sidebar-vertical > label::after,
form.ehstay-search-sidebar-vertical > .ehstay-search-adults::after,
form.ehstay-search-sidebar-vertical > .ehstay-search-children::after{
    display:none!important;
    content:none!important;
}

/* Desktop: 65% / 35%, descontando o gap para nunca extrapolar 100%. */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        gap:20px!important;
        width:100%!important;
        max-width:100%!important;
        align-items:flex-start!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:calc(65% - 10px)!important;
        max-width:calc(65% - 10px)!important;
        flex:0 0 calc(65% - 10px)!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:calc(35% - 10px)!important;
        max-width:calc(35% - 10px)!important;
        flex:0 0 calc(35% - 10px)!important;
        min-width:0!important;
        overflow:visible!important;
    }

    .eh-results-sidebar > .e-con-inner,
    .eh-results-sidebar .elementor-widget,
    .eh-results-sidebar .elementor-widget-container,
    .eh-results-sidebar .eh-elementor-crm{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }
}

/* Tablet/mobile: sidebar deixa de usar os 35% e vira largura total,
   evitando quebra/scroll horizontal. */
@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }
}


/* =========================================================
   v4.0.157 — CORREÇÃO DEFINITIVA DOS 2 BUSCADORES LATERAIS
   Cada campo ocupa obrigatoriamente uma linha inteira.
   Não pode herdar nenhuma distribuição horizontal dos buscadores originais.
   ========================================================= */

/* Usa GRID de 1 coluna para neutralizar completamente flex/basis/width antigos. */
.elementor-widget-essencial_hosp_search_sidebar form.ehstay-search,
.elementor-widget-essencial_hosp_search_period_sidebar form.ehstay-search,
form.ehstay-search-sidebar-vertical{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}

/* TODOS os filhos diretos ficam na única coluna do grid. */
.elementor-widget-essencial_hosp_search_sidebar form.ehstay-search > *,
.elementor-widget-essencial_hosp_search_period_sidebar form.ehstay-search > *,
form.ehstay-search-sidebar-vertical > *{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
    flex-basis:auto!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Neutraliza variáveis e larguras dos widgets horizontais originais. */
.elementor-widget-essencial_hosp_search_sidebar form.ehstay-search > label,
.elementor-widget-essencial_hosp_search_period_sidebar form.ehstay-search > label,
form.ehstay-search-sidebar-vertical > label,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-children,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-children{
    --eh-clean-item-width:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
}

/* Inputs, selects e botões sempre respeitam a largura do widget. */
.elementor-widget-essencial_hosp_search_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_sidebar select,
.elementor-widget-essencial_hosp_search_period_sidebar select,
.elementor-widget-essencial_hosp_search_sidebar input:not([type="hidden"]),
.elementor-widget-essencial_hosp_search_period_sidebar input:not([type="hidden"]),
.elementor-widget-essencial_hosp_search_sidebar button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Botão em linha própria, largura total. */
.elementor-widget-essencial_hosp_search_sidebar button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar button[type="submit"]{
    --eh-clean-button-width:100%!important;
    justify-self:stretch!important;
    align-self:stretch!important;
}

/* Remove divisórias/pseudo-elementos próprios do layout horizontal. */
.elementor-widget-essencial_hosp_search_sidebar form.ehstay-search > label::after,
.elementor-widget-essencial_hosp_search_period_sidebar form.ehstay-search > label::after,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-adults::after,
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-children::after,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-adults::after,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-children::after{
    display:none!important;
    content:none!important;
}

/* Página de resultados: sidebar nunca ultrapassa 35% no desktop. */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:calc(65% - 10px)!important;
        max-width:calc(65% - 10px)!important;
        flex:0 0 calc(65% - 10px)!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:calc(35% - 10px)!important;
        max-width:calc(35% - 10px)!important;
        flex:0 0 calc(35% - 10px)!important;
        min-width:0!important;
    }
}


/* =========================================================
   v4.0.157 — sidebar 30% no desktop + buscadores laterais
   obrigatoriamente verticais também no desktop.
   ========================================================= */

/* Os dois widgets laterais ficam SEMPRE em uma única coluna,
   inclusive em desktop largo. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}

/* Um elemento por linha, sem possibilidade de herdar flex horizontal. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search-sidebar-vertical > *,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search-sidebar-vertical > *{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Campos e botão respeitam 100% da largura interna. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search-sidebar-vertical .eh-search-date-trigger,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search-sidebar-vertical .eh-search-date-trigger,
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search-sidebar-vertical select,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search-sidebar-vertical select,
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search-sidebar-vertical > button[type="submit"],
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search-sidebar-vertical > button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Desktop: 70% conteúdo / 30% sidebar.
   O gap é descontado para nunca ultrapassar a largura da página. */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        gap:20px!important;
        width:100%!important;
        max-width:100%!important;
        align-items:flex-start!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:calc(70% - 10px)!important;
        max-width:calc(70% - 10px)!important;
        flex:0 0 calc(70% - 10px)!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:calc(30% - 10px)!important;
        max-width:calc(30% - 10px)!important;
        flex:0 0 calc(30% - 10px)!important;
        min-width:0!important;
        overflow:visible!important;
    }

    .eh-results-sidebar > .e-con-inner,
    .eh-results-sidebar .elementor-widget,
    .eh-results-sidebar .elementor-widget-container,
    .eh-results-sidebar .eh-elementor-crm{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}

/* Até 1000px continua empilhado em 100%. */
@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }
}


/* =========================================================
   v4.0.157 — editor Elementor fiel ao front-end dos resultados.
   Nenhuma regra depende de ID aleatório do Elementor.
   ========================================================= */
.eh-results-editor-placeholder{
    width:100%;
    padding:28px;
    box-sizing:border-box;
    background:#fff;
    border:1px dashed #d6d9d7;
    color:#334842;
}

.eh-results-editor-placeholder strong{
    display:block;
    margin-bottom:8px;
    font-size:18px;
}

.eh-results-editor-placeholder p{
    margin:0;
}

/* Estrutura semântica da página: 70% / 30% no desktop. */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:calc(70% - 10px)!important;
        max-width:calc(70% - 10px)!important;
        flex:0 0 calc(70% - 10px)!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:calc(30% - 10px)!important;
        max-width:calc(30% - 10px)!important;
        flex:0 0 calc(30% - 10px)!important;
    }
}


/* =========================================================
   v4.0.157 — calendário nunca aparece sozinho ao carregar/F5.
   Só fica visível depois do clique no campo de data.
   ========================================================= */
.eh-search-calendar-popover[hidden],
.eh-calendar-portal-host .eh-search-calendar-popover[hidden],
.eh-search-calendar-popover[aria-hidden="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

/* Widgets separados de Resultados mantêm o mesmo visual do front-end. */
.elementor-widget-essencial_hosp_results_summary,
.elementor-widget-essencial_hosp_results_recommendation,
.elementor-widget-essencial_hosp_results_available_intro,
.elementor-widget-essencial_hosp_results_available_cards{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

.elementor-widget-essencial_hosp_results_summary .eh-results-summary{
    margin-bottom:0!important;
}

.elementor-widget-essencial_hosp_results_recommendation .eh-results-recommendation{
    margin-bottom:0!important;
}

.elementor-widget-essencial_hosp_results_available_intro .eh-results-intro{
    margin-bottom:0!important;
}

.elementor-widget-essencial_hosp_results_available_cards .eh-results-room-card:last-child{
    margin-bottom:0!important;
}


/* =========================================================
   v4.0.157 — padrão visual/editor para todas as páginas CRM
   ========================================================= */

.eh-system-page,
.eh-policy-page,
.eh-editor-live-mirror{
    box-sizing:border-box!important;
    min-width:0!important;
}

.eh-system-page .eh-elementor-crm,
.eh-system-page .elementor-widget-container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

/* Prévia no editor usa as mesmas classes-base do front-end. */
.eh-editor-live-mirror{
    width:100%;
    padding:28px;
    background:#fff;
}

.eh-editor-live-mirror form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.eh-editor-live-mirror form label{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
}

.eh-editor-live-mirror input,
.eh-editor-live-mirror select,
.eh-editor-live-mirror textarea{
    width:100%;
    max-width:100%;
    min-height:46px;
    box-sizing:border-box;
}

.eh-editor-live-mirror textarea{
    min-height:110px;
}

.eh-editor-live-mirror .ehstay-summary,
.eh-editor-live-mirror .ehstay-booking-card{
    padding:20px;
    background:#f7f5ef;
    margin:14px 0;
}

.eh-editor-live-mirror .ehstay-account-nav{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:20px;
}

.eh-policy-page .elementor-widget-text-editor{
    line-height:1.75;
}

@media (max-width:768px){
    .eh-editor-live-mirror form{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v4.0.157 — Resultados da Busca: 70% / 30% no desktop.
   Baseado somente em classes semânticas do Elementor.
   ========================================================= */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:grid!important;
        grid-template-columns:minmax(0,70fr) minmax(0,30fr)!important;
        gap:20px!important;
        width:100%!important;
        max-width:100%!important;
        align-items:start!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:none!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:none!important;
    }
}

@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }
}


/* =========================================================
   v4.0.157 — Resultados: 70% conteúdo / 30% busca no desktop.
   As classes são reparadas dinamicamente pelo tipo dos widgets,
   sem depender de ID do Elementor.
   ========================================================= */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        gap:20px!important;
        width:100%!important;
        max-width:100%!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:70%!important;
        max-width:70%!important;
        flex:0 0 70%!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:30%!important;
        max-width:30%!important;
        flex:0 0 30%!important;
        min-width:0!important;
    }

    .eh-results-sidebar > .e-con-inner,
    .eh-results-sidebar .elementor-widget,
    .eh-results-sidebar .elementor-widget-container,
    .eh-results-sidebar .eh-elementor-crm,
    .eh-results-sidebar form.ehstay-search{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}

@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:20px!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
    }
}


/* =========================================================
   v4.0.157 — Resultados da Busca
   A largura principal agora é nativa do Elementor:
   filhos em content_width=full + width 70%/30%.
   Este bloco apenas evita overflow do gap no front-end/editor.
   ========================================================= */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        width:100%!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        min-width:0!important;
        flex-shrink:1!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        min-width:0!important;
        flex-shrink:0!important;
    }
}

@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner{
        flex-direction:column!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        flex-basis:100%!important;
    }
}


/* =========================================================
   v4.0.157 — Resultados no tablet/mobile
   Fluxo vertical e largura total real.
   ========================================================= */
@media (max-width:1000px){
    .eh-results-page-layout,
    .eh-results-page-layout > .e-con-inner{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:20px!important;
    }

    /* Suporta tanto container boxed (.e-con-inner) quanto full-width. */
    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar,
    .eh-results-page-layout > .eh-results-left,
    .eh-results-page-layout > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:0 0 100%!important;
        align-self:stretch!important;
    }

    /* Ordem mobile: conteúdo/resultados primeiro, motor de busca depois. */
    .eh-results-left{
        order:1!important;
    }

    .eh-results-sidebar{
        order:2!important;
        position:static!important;
        top:auto!important;
        align-self:stretch!important;
    }

    .eh-results-left > .e-con-inner,
    .eh-results-sidebar > .e-con-inner,
    .eh-results-left .elementor-widget,
    .eh-results-left .elementor-widget-container,
    .eh-results-sidebar .elementor-widget,
    .eh-results-sidebar .elementor-widget-container,
    .eh-results-recommendation,
    .eh-results-room-card,
    .eh-results-sidebar .eh-elementor-crm,
    .eh-results-sidebar form.ehstay-search{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}

@media (max-width:768px){
    .eh-results-recommendation{
        padding:22px 20px!important;
    }

    .eh-results-recommendation-row{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    .eh-results-recommendation-price{
        white-space:normal!important;
    }

    .eh-results-recommendation-bottom{
        flex-direction:column!important;
        align-items:stretch!important;
        gap:16px!important;
        margin-top:24px!important;
    }

    .eh-results-recommendation-bottom .eh-results-button{
        width:100%!important;
        max-width:none!important;
    }

    .eh-results-recommendation-total{
        width:100%!important;
        justify-content:space-between!important;
        gap:16px!important;
    }

    .eh-results-room-card{
        padding:22px 20px!important;
    }

    .eh-results-room-body{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        gap:22px!important;
    }

    .eh-results-room-left,
    .eh-results-room-media,
    .eh-results-room-actions{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .eh-results-room-actions{
        padding:20px 0 0!important;
        border-left:0!important;
        border-top:1px solid #e3e6e4!important;
    }
}


/* =========================================================
   v4.0.157 — Busca Lateral / Busca Lateral por Período
   - lupa + BUSCAR na mesma linha
   - observação infantil ao lado do título CRIANÇAS
   ========================================================= */
.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-sidebar-vertical > button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-sidebar-vertical > button[type="submit"]{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    line-height:1!important;
}

.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
}

.elementor-widget-essencial_hosp_search_sidebar .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon svg,
.elementor-widget-essencial_hosp_search_period_sidebar .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
}

.elementor-widget-essencial_hosp_search_sidebar .eh-sidebar-children-heading,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-sidebar-children-heading{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    width:100%!important;
    margin:0 0 7px!important;
}

.elementor-widget-essencial_hosp_search_sidebar .eh-sidebar-children-title,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-sidebar-children-title{
    display:inline!important;
}

.elementor-widget-essencial_hosp_search_sidebar .eh-sidebar-children-note,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-sidebar-children-note{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:400!important;
    opacity:.72!important;
}


/* =========================================================
   v4.0.157 — ícone padrão de abrir galeria/lightbox
   ========================================================= */
.eh-results-expand-icon,
.eh-room-gallery-main-badge{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.eh-results-expand-icon svg,
.eh-room-gallery-main-badge svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.eh-room-lightbox__image.is-error{
    display:none!important;
}


/* =========================================================
   v4.0.157 — correção baseada no HTML REAL dos 2 widgets laterais.
   Sobrescreve regras antigas mais específicas que ainda colocavam
   o botão em coluna e o <small> das crianças em bloco.
   ========================================================= */

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.eh-elementor-crm form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > button[type="submit"],
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.eh-elementor-crm form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > button[type="submit"]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    line-height:1.2!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"]::before,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"]::after,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"]::before,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"]::after{
    content:none!important;
    display:none!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon{
    display:inline-flex!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    flex:0 0 14px!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
    padding:0!important;
    vertical-align:middle!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon svg,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 7px!important;
    padding:0!important;
    line-height:1.2!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > .eh-sidebar-children-title,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > .eh-sidebar-children-title{
    display:inline!important;
    position:static!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
    display:inline!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 1 auto!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:400!important;
    white-space:nowrap!important;
    opacity:.72!important;
}

@media (max-width:380px){
    body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
    .ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
    body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
    .ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
        font-size:9px!important;
    }
}


/* =========================================================
   v4.0.157 — respiro entre CRIANÇAS e a observação
   nos dois widgets laterais.
   ========================================================= */
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading{
    column-gap:7px!important;
}

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
    margin-left:0!important;
}


/* =========================================================
   v4.0.157 — Resultados da Busca: desktop + mobile estáveis
   ========================================================= */

/* O container PRINCIPAL nunca pode herdar os 30% da sidebar. */
.eh-results-page-layout{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

/* DESKTOP */
@media (min-width:1001px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        width:min(100%,1180px)!important;
        max-width:1180px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        gap:20px!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left{
        width:calc(70% - 10px)!important;
        max-width:calc(70% - 10px)!important;
        flex:0 0 calc(70% - 10px)!important;
        min-width:0!important;
        order:1!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:calc(30% - 10px)!important;
        max-width:calc(30% - 10px)!important;
        flex:0 0 calc(30% - 10px)!important;
        min-width:0!important;
        order:2!important;
    }
}

/* TABLET + MOBILE */
@media (max-width:1000px){
    .eh-results-page-layout > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        width:100%!important;
        max-width:100%!important;
        gap:20px!important;
    }

    .eh-results-page-layout > .e-con-inner > .eh-results-left,
    .eh-results-page-layout > .e-con-inner > .eh-results-sidebar{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        flex:0 0 100%!important;
        align-self:stretch!important;
    }

    .eh-results-left{
        order:1!important;
    }

    .eh-results-sidebar{
        order:2!important;
        position:static!important;
        top:auto!important;
    }

    .eh-results-left .elementor-widget,
    .eh-results-left .elementor-widget-container,
    .eh-results-sidebar .elementor-widget,
    .eh-results-sidebar .elementor-widget-container,
    .eh-results-recommendation,
    .eh-results-room-card,
    .eh-results-sidebar form.ehstay-search{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}


/* v4.0.158 — Menu Mobile/Off-canvas nativo e editável no Elementor. */
.eh-mobile-menu-widget{display:inline-flex;position:relative;--eh-mm-open-ms:420ms;--eh-mm-close-ms:220ms}
.eh-mm-trigger,.eh-mm-close{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.eh-mm-trigger{padding:0;background:transparent;color:#fff}
.eh-mm-trigger svg,.eh-mm-close svg,.eh-mm-item-icon svg{display:block;fill:currentColor;stroke:currentColor}
.eh-mm-overlay{position:fixed;inset:0;z-index:999997;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eh-mm-close-ms) ease,visibility 0s linear var(--eh-mm-close-ms)}
.eh-mm-panel{position:fixed;top:0;bottom:0;z-index:999998;max-width:100vw;height:100dvh;overflow:auto;background:#fff;visibility:hidden;pointer-events:none;will-change:transform;transition:transform var(--eh-mm-close-ms) cubic-bezier(.4,0,1,1),visibility 0s linear var(--eh-mm-close-ms)}
.eh-mobile-menu-widget[data-side="left"] .eh-mm-panel{left:0;right:auto;transform:translate3d(-100%,0,0)}
.eh-mobile-menu-widget[data-side="right"] .eh-mm-panel{right:0;left:auto;transform:translate3d(100%,0,0)}
.eh-mobile-menu-widget.is-open .eh-mm-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--eh-mm-open-ms) ease}
.eh-mobile-menu-widget.is-open .eh-mm-panel{transform:translate3d(0,0,0);visibility:visible;pointer-events:auto;transition:transform var(--eh-mm-open-ms) cubic-bezier(.22,.72,.22,1)}
.eh-mm-panel-inner{min-height:100%;box-sizing:border-box}
.eh-mm-close{position:absolute;z-index:3;right:var(--eh-mm-close-side,18px);background:#FFA413;color:#000;padding:0}
.eh-mobile-menu-widget[data-side="right"] .eh-mm-close{right:auto;left:var(--eh-mm-close-side,18px)}
.eh-mm-items{display:flex;flex-direction:column;width:100%}
.eh-mm-item{display:flex;align-items:center;justify-content:flex-start;text-decoration:none!important;color:var(--eh-mm-item-color,inherit)!important;background:var(--eh-mm-item-bg,transparent);font-size:var(--eh-mm-font-size,inherit);font-weight:var(--eh-mm-font-weight,inherit);gap:var(--eh-mm-gap,10px);margin-top:var(--eh-mm-mt,0);margin-bottom:var(--eh-mm-mb,0);box-sizing:border-box}
.eh-mm-item-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--eh-mm-icon-color,currentColor);transform:translate(var(--eh-mm-icon-x,0),var(--eh-mm-icon-y,0));flex:0 0 auto}
.eh-mm-item-icon:empty{display:none}
.eh-mm-item-icon svg{width:var(--eh-mm-icon-size,1em);height:var(--eh-mm-icon-size,1em)}
.eh-mm-item-icon i{font-size:var(--eh-mm-icon-size,1em)}
.eh-mm-item-text{display:inline-block;transform:translate(var(--eh-mm-text-x,0),var(--eh-mm-text-y,0))}
body.eh-mm-scroll-locked{overflow:hidden!important}
@media(prefers-reduced-motion:reduce){.eh-mm-panel,.eh-mm-overlay{transition-duration:.01ms!important}}


/* =========================================================
   v4.0.167 — padrão único nos motores de busca
   Crianças: até N anos. (idade dinâmica do CRM)
   ========================================================= */
.elementor-widget-essencial_hosp_search .eh-search-children-heading,
.elementor-widget-essencial_hosp_search_period .eh-search-children-heading{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    column-gap:5px!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 7px!important;
    padding:0!important;
    line-height:1.2!important;
}
.elementor-widget-essencial_hosp_search .eh-search-children-title,
.elementor-widget-essencial_hosp_search_period .eh-search-children-title{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
}
.elementor-widget-essencial_hosp_search .eh-search-children-note,
.elementor-widget-essencial_hosp_search_period .eh-search-children-note{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:400!important;
    white-space:nowrap!important;
    opacity:.72!important;
}


/* =========================================================
   v4.0.168 — Crianças: até N anos. sempre na mesma linha
   Correção dos motores horizontais sem alterar a lógica do CRM.
   ========================================================= */
@media (min-width:768px){
    /* Busca com Check-in / Check-out separados */
    body .elementor .elementor-widget-essencial_hosp_search
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        --eh-clean-item-width:auto!important;
        flex:0 0 150px!important;
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
    }

    /* Busca com Entrada e saída em um único campo */
    body .elementor .elementor-widget-essencial_hosp_search_period
    form.ehstay-search-range > .ehstay-search-children,
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children{
        --eh-clean-item-width:auto!important;
        flex:0 0 150px!important;
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
    }

    .elementor-widget-essencial_hosp_search .eh-search-children-heading,
    .elementor-widget-essencial_hosp_search_period .eh-search-children-heading{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:baseline!important;
        justify-content:flex-start!important;
        gap:5px!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0 0 7px!important;
        padding:0!important;
        overflow:visible!important;
        white-space:nowrap!important;
    }

    .elementor-widget-essencial_hosp_search .eh-search-children-title,
    .elementor-widget-essencial_hosp_search_period .eh-search-children-title,
    .elementor-widget-essencial_hosp_search .eh-search-children-note,
    .elementor-widget-essencial_hosp_search_period .eh-search-children-note{
        position:static!important;
        display:inline!important;
        float:none!important;
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        white-space:nowrap!important;
        transform:none!important;
    }

    .elementor-widget-essencial_hosp_search .eh-search-children-note,
    .elementor-widget-essencial_hosp_search_period .eh-search-children-note{
        font-size:10px!important;
        line-height:1.25!important;
        font-weight:400!important;
        opacity:.72!important;
    }
}


/* =========================================================
   v4.0.172 — correção isolada das divisórias nos buscadores laterais
   Base: v4.0.170. Não altera layout, tamanhos ou lógica dos buscadores.
   Os pseudo-elementos ::before pertencem somente ao layout horizontal.
   ========================================================= */
body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical{
    --eh-clean-divider-display:none!important;
}

body .elementor .elementor-widget-essencial_hosp_search_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > label::before,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > label::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:none!important;
    border:0!important;
}


/* =========================================================
   v4.0.173 — sidebar de busca compacta + sticky no desktop
   - O container Elementor que abriga Busca Lateral / Busca Lateral por Período
     passa a ter altura do próprio conteúdo, sem esticar até o fim da coluna.
   - Padding interno de 18px nos quatro lados.
   - Acompanha a rolagem no desktop com position:sticky.
   - Não altera o comportamento responsivo no tablet/mobile.
   A classe é aplicada dinamicamente pelo theme.js, sem depender de ID Elementor.
   ========================================================= */
@media (min-width:1025px){
    body .elementor .e-con.eh-hosp-results-search-sticky-column{
        align-self:flex-start!important;
        height:fit-content!important;
        min-height:0!important;
        max-height:none!important;
        padding:18px!important;
        box-sizing:border-box!important;
        position:sticky!important;
        top:20px!important;
        bottom:auto!important;
        overflow:visible!important;
    }

    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_sidebar,
    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_period_sidebar{
        align-self:stretch!important;
        width:100%!important;
        max-width:100%!important;
    }
}


/* =========================================================
   v4.0.174 — coluna de resultados sem padding
   A coluna Elementor que contém os widgets modulares de resultados
   recebe padding 0 em desktop, tablet e mobile. Não altera a sidebar.
   ========================================================= */
body .elementor .e-con.eh-hosp-results-content-column{
    padding:0!important;
    box-sizing:border-box!important;
}

/* =========================================================
   v4.0.175 — calendário mobile com células de data mais altas
   Aplica aos quatro widgets de busca (normal, período e laterais).
   Mantém largura, tipografia, lógica, disponibilidade e desktop intactos.
   ========================================================= */
@media (max-width:767px){
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-empty,
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-day,
    .eh-search-calendar-popover:popover-open .eh-cal-empty,
    .eh-search-calendar-popover:popover-open .eh-cal-day{
        min-height:36px!important;
        height:36px!important;
    }
}

/* =========================================================
   v4.0.185 — Busca por Período: rótulo de Crianças no mobile
   Mantém a idade dinâmica do CRM e corrige apenas a posição visual.
   ========================================================= */
@media (max-width:767px){
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children > .eh-search-children-heading{
        position:static!important;
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:baseline!important;
        justify-content:flex-start!important;
        gap:5px!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        line-height:1.2!important;
        white-space:nowrap!important;
        overflow:visible!important;
        transform:none!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children > .eh-search-children-heading > .eh-search-children-title,
    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children > .eh-search-children-heading > .eh-search-children-note{
        position:static!important;
        display:inline!important;
        float:none!important;
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        white-space:nowrap!important;
        transform:none!important;
    }

    body .elementor .elementor-widget-essencial_hosp_search_period
    .ehstay-search.ehstay-search-clean .ehstay-search-children > .eh-search-children-heading > .eh-search-children-note{
        font-size:10px!important;
        line-height:1.2!important;
        font-weight:400!important;
        opacity:.72!important;
    }
}


/* =========================================================
   v4.0.187 — calendário mobile: navegação e encaixe sem scroll
   Somente mobile, nos quatro widgets de busca que compartilham
   o calendário. Mais respiro abaixo do header, setas maiores e
   conteúdo dimensionado para caber no viewport sem rolagem interna.
   ========================================================= */
@media (max-width:767px){
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-search-calendar-head,
    .eh-search-calendar-popover:popover-open .eh-search-calendar-head{
        margin-top:14px!important;
        padding-top:0!important;
        grid-template-columns:42px 1fr 42px!important;
        min-height:42px!important;
        margin-bottom:5px!important;
    }

    .eh-calendar-portal-host .eh-search-calendar-popover .eh-search-calendar-nav,
    .eh-search-calendar-popover:popover-open .eh-search-calendar-nav{
        width:33px!important;
        height:33px!important;
        min-width:33px!important;
        min-height:33px!important;
        font-size:21px!important;
        line-height:1!important;
    }

    .eh-calendar-portal-host .eh-search-calendar-popover,
    .eh-search-calendar-popover:popover-open{
        overflow-y:hidden!important;
        overscroll-behavior:none!important;
    }

    /* Em telas mais baixas, reduz somente a altura das células o necessário
       para os dois meses continuarem inteiros dentro do viewport. */
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-empty,
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-cal-day,
    .eh-search-calendar-popover:popover-open .eh-cal-empty,
    .eh-search-calendar-popover:popover-open .eh-cal-day{
        min-height:clamp(24px,calc((100dvh - 190px)/12),36px)!important;
        height:clamp(24px,calc((100dvh - 190px)/12),36px)!important;
    }
}


/* =========================================================
   v4.0.191 — calendário mobile: setas + scroll da página
   Base v4.0.189. Somente mobile nos 4 widgets de busca.
   ========================================================= */
@media (max-width:767px){
    .eh-calendar-portal-host .eh-search-calendar-popover .eh-search-calendar-head,
    .eh-search-calendar-popover:popover-open .eh-search-calendar-head{
        margin-bottom:7px!important;
    }

    .eh-calendar-portal-host .eh-search-calendar-popover .eh-search-calendar-nav,
    .eh-search-calendar-popover:popover-open .eh-search-calendar-nav{
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        min-height:36px!important;
        font-size:21px!important;
        line-height:1!important;
    }

    /* O calendário continua sem rolagem interna, mas o gesto vertical feito
       sobre ele volta a poder rolar a página por trás/ao redor normalmente. */
    .eh-calendar-portal-host .eh-search-calendar-popover,
    .eh-search-calendar-popover:popover-open{
        overflow-y:hidden!important;
        overscroll-behavior:auto!important;
        overscroll-behavior-y:auto!important;
        touch-action:pan-y pinch-zoom!important;
    }
}


/* =========================================================
   v4.0.199 — calendário: encaixe integral do conteúdo
   Só atua quando o conteúdo real ultrapassa a altura disponível.
   Evita cortar o rodapé (Limpar/Fechar) nos widgets Busca,
   Busca Lateral e Busca Lateral por Período, preservando o tamanho
   dos calendários que já cabem normalmente.
   ========================================================= */
.eh-calendar-portal-host .eh-search-calendar-popover.eh-calendar-fit-viewport .eh-cal-empty,
.eh-calendar-portal-host .eh-search-calendar-popover.eh-calendar-fit-viewport .eh-cal-day{
    min-height:var(--eh-cal-fit-day-h)!important;
    height:var(--eh-cal-fit-day-h)!important;
}


/* v4.0.223 — evita quebra do Header em larguras intermediárias.
   Identifica semanticamente o botão Reservar pelo destino, sem ID fixo do Elementor. */
@media (max-width:1115px){
  [data-elementor-type="header"] .elementor-widget-button:has(a.elementor-button[href*="/acomodacoes/"]),
  .elementor-location-header .elementor-widget-button:has(a.elementor-button[href*="/acomodacoes/"]){
    display:none !important;
  }
}

/* v4.0.226 — faixa intermediária 1025–1115px.
   Mantém o menu desktop. Somente o botão Reservar é ocultado (regra v4.0.223)
   e a área da conta passa a ocupar o canto direito que ficou livre.
   A lógica de estado da conta permanece intacta: deslogado = boneco;
   logado = nome/dropdown. */
@media (min-width:1025px) and (max-width:1115px){
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_link_icon,
  .elementor-location-header .elementor-widget-essencial_hosp_link_icon,
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_logged_user,
  .elementor-location-header .elementor-widget-essencial_hosp_logged_user{
    margin-left:auto !important;
  }

  /* Qualquer gatilho intermediário criado pela v4.0.224 fica desativado.
     O menu mobile original abaixo de 1025px não é afetado. */
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_mobile_menu:has([data-eh-responsive-bridge="1"]),
  .elementor-location-header .elementor-widget-essencial_hosp_mobile_menu:has([data-eh-responsive-bridge="1"]){
    display:none !important;
  }
}

/* v4.0.227 — redistribui de verdade o Header entre 1025px e 1115px.
   O Reservar sai do fluxo e o espaço liberado é absorvido pelos itens existentes,
   sem depender dos IDs numéricos do Elementor. */
@media (min-width:1025px) and (max-width:1115px){
  [data-elementor-type="header"] > .e-con > .e-con-inner,
  .elementor-location-header > .e-con > .e-con-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
  }

  [data-elementor-type="header"] .elementor-widget-essencial_hosp_site_logo,
  .elementor-location-header .elementor-widget-essencial_hosp_site_logo{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
  }

  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu{
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }

  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-desktop,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-desktop{
    width:100% !important;
  }

  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list{
    display:flex !important;
    justify-content:space-evenly !important;
    align-items:center !important;
    width:100% !important;
    gap:clamp(12px,1.55vw,24px) !important;
  }

  [data-elementor-type="header"] .elementor-widget-essencial_hosp_link_icon,
  .elementor-location-header .elementor-widget-essencial_hosp_link_icon,
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_logged_user,
  .elementor-location-header .elementor-widget-essencial_hosp_logged_user{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    margin-left:0 !important;
  }

  /* Quando um dos dois estados está vazio, ele não reserva largura no Header. */
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_logged_user:has(.eh-logged-user-widget:empty),
  .elementor-location-header .elementor-widget-essencial_hosp_logged_user:has(.eh-logged-user-widget:empty){
    display:none !important;
  }
}


/* v4.0.228 — ajuste fino do Header intermediário.
   Mantém o menu desktop entre 1025–1115px, sem reservar espaço para Reservar,
   mas aproxima os nomes para evitar aparência excessivamente espaçada. */
@media (min-width:1025px) and (max-width:1115px){
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list{
    justify-content:center !important;
    gap:14px !important;
  }

  [data-elementor-type="header"] .elementor-widget-button:has(a.elementor-button[href*="/acomodacoes/"]),
  .elementor-location-header .elementor-widget-button:has(a.elementor-button[href*="/acomodacoes/"]){
    display:none !important;
    width:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    flex:0 0 0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* v4.0.231 — ajuste final da faixa intermediária do Header.
   Entre 1025px e 1115px mantém o menu desktop, oculta Reservar e usa
   espaçamento moderado entre os títulos, sem distribuir itens por toda a largura. */
@media (min-width:1025px) and (max-width:1115px){
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list{
    justify-content:center !important;
    gap:24px !important;
  }
}


/* v4.0.233 — faixa intermediária: espaçamento pedido pelo cliente. */
@media (min-width:1025px) and (max-width:1115px){
  [data-elementor-type="header"] .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list,
  .elementor-location-header .elementor-widget-essencial_hosp_nav_menu .eh-elementor-menu-list{
    justify-content:center !important;
    gap:40px !important;
  }
}


/* v4.0.235 — password visibility control is part of the field, never a primary button. */
.eh-elementor-crm .ehstay-password-wrap,
.eh-elementor-crm .escrm-universal-password-wrap,
.eh-elementor-crm .escrm-team-password-wrap,
.eh-elementor-crm .escrm-password-field-wrap{position:relative!important;display:block!important}
.eh-elementor-crm .ehstay-password-wrap input,
.eh-elementor-crm .escrm-universal-password-wrap input,
.eh-elementor-crm .escrm-team-password-wrap input,
.eh-elementor-crm .escrm-password-field-wrap input{padding-right:46px!important}
.eh-elementor-crm .ehstay-password-toggle,
.eh-elementor-crm .escrm-password-field-toggle,
.eh-elementor-crm .escrm-team-password-toggle,
.eh-elementor-crm .escrm-universal-password-toggle,
.eh-elementor-crm .escrm-password-toggle{position:absolute!important;right:7px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;color:#6b7280!important;box-shadow:none!important;cursor:pointer!important;z-index:3!important}
.eh-elementor-crm .ehstay-password-toggle:hover,
.eh-elementor-crm .ehstay-password-toggle:focus,
.eh-elementor-crm .escrm-password-field-toggle:hover,
.eh-elementor-crm .escrm-password-field-toggle:focus,
.eh-elementor-crm .escrm-team-password-toggle:hover,
.eh-elementor-crm .escrm-team-password-toggle:focus,
.eh-elementor-crm .escrm-universal-password-toggle:hover,
.eh-elementor-crm .escrm-universal-password-toggle:focus,
.eh-elementor-crm .escrm-password-toggle:hover,
.eh-elementor-crm .escrm-password-toggle:focus{background:transparent!important;background-color:transparent!important;color:var(--eh-ink,#171b18)!important;border:0!important;box-shadow:none!important;outline:none!important}
.eh-elementor-crm .ehstay-password-toggle svg,
.eh-elementor-crm .escrm-password-field-toggle svg,
.eh-elementor-crm .escrm-team-password-toggle svg,
.eh-elementor-crm .escrm-universal-password-toggle svg,
.eh-elementor-crm .escrm-password-toggle svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}

/* v4.0.237 — logout público em POST com URL limpa */
.eh-guest-account-logout-form{margin:0;padding:0}.eh-guest-account-logout-form .eh-guest-account-logout{display:block;width:100%;text-align:left;background:transparent!important;border:0!important;box-shadow:none!important;font:inherit;cursor:pointer}

/* v4.0.237 — visual da autenticação unificada (o CRM mantém somente lógica/dados) */
.ehstay-auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.ehstay-auth-grid>.ehstay-account-auth{margin:0}.ehstay-auth-intro{margin:0 0 18px}.ehstay-account-nav-logout{margin:0;padding:0;display:contents}.ehstay-account-nav-logout button{font:inherit;color:inherit;background:transparent!important;border:0!important;box-shadow:none!important;padding:5px!important;margin:0;cursor:pointer;text-align:left}.ehstay-account-nav-logout button:hover{color:inherit}
@media(max-width:767px){.ehstay-auth-grid{grid-template-columns:1fr;gap:18px}}


/* v4.0.238 — regressão: controles de data dos 4 buscadores são campos, não botões primários. */
.elementor-widget-essencial_hosp_search .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period .eh-search-range-trigger,
.elementor-widget-essencial_hosp_search_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-range-trigger{
  background:#f1f2f2!important;
  background-color:#f1f2f2!important;
  color:#5f6663!important;
  border:1px solid #e1e5e3!important;
  box-shadow:none!important;
  font-weight:400!important;
}
.elementor-widget-essencial_hosp_search .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period .eh-search-range-trigger:hover,
.elementor-widget-essencial_hosp_search_sidebar .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period_sidebar .eh-search-range-trigger:hover{background:#eceeed!important;background-color:#eceeed!important;color:#17231f!important;}

/* v4.0.240 — Sair da navegação da Área do Hóspede segue exatamente o visual dos demais itens. Apenas CSS; POST/nonce/rota permanecem intactos. */
.ehstay-account-nav .ehstay-account-nav-logout{margin:0!important;padding:0!important;display:contents!important}
.ehstay-account-nav .ehstay-account-nav-logout button{
  appearance:none!important;
  -webkit-appearance:none!important;
  font:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  text-decoration:none!important;
  color:var(--ehw-text)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:8px!important;
  padding:10px 14px!important;
  margin:0!important;
  cursor:pointer!important;
  text-align:left!important;
  width:auto!important;
  min-width:0!important;
}
.ehstay-account-nav .ehstay-account-nav-logout button:hover,
.ehstay-account-nav .ehstay-account-nav-logout button:focus-visible{
  color:var(--ehw-text)!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(20,46,38,.07)!important;
  outline:none!important;
}


/* v4.0.246 — feedback visual das galerias clicáveis.
 * A foto principal e as miniaturas abrem/navegam a galeria; por isso usam a mãozinha. */
.eh-room-gallery-main,
.eh-room-gallery-main img,
.eh-room-gallery-thumb,
.eh-room-gallery-thumb img,
.eh-room-gallery-open,
.eh-room-gallery-open img{
    cursor:pointer!important;
}


/* v4.0.250 — página pública da acomodação */
.eh-room-modern{padding:54px 0 90px}.eh-room-modern-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:38px;align-items:start}.eh-room-modern-main{min-width:0}.eh-room-modern .ehstay-single-component{display:flex;flex-direction:column;gap:24px}.eh-room-modern .ehstay-single-component>h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.1;margin:0}.eh-room-modern .ehstay-room-cover{width:100%;height:min(54vw,560px);object-fit:cover;border-radius:12px;display:block}.eh-room-modern .ehstay-room-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.eh-room-modern .ehstay-room-gallery a,.eh-room-modern .ehstay-room-gallery>img{display:block;min-width:0}.eh-room-modern .ehstay-room-gallery img{width:100%;height:120px;object-fit:cover;border-radius:9px;display:block}.eh-room-modern .ehstay-room-description{font-size:16px;line-height:1.75}.eh-room-modern .ehstay-room-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--eh-border);border:1px solid var(--eh-border);border-radius:10px;overflow:hidden}.eh-room-modern .ehstay-room-details>div{background:#fff;padding:15px}.eh-room-modern-side{position:sticky;top:104px}.eh-room-modern-booking{background:#fff;border:1px solid var(--eh-border);border-radius:12px;padding:18px;box-shadow:0 16px 40px rgba(27,49,41,.09)}.eh-room-modern-booking .ehstay-search{display:grid!important;grid-template-columns:1fr 1fr!important;box-shadow:none!important;border:0!important;gap:10px!important}.eh-room-modern-booking .ehstay-search>label{border:1px solid #e7e2d8!important;border-radius:7px!important;min-height:72px!important;padding:10px 12px!important}.eh-room-modern-booking .ehstay-search>button{grid-column:1/-1;min-height:52px;border-radius:7px!important}.eh-room-availability{margin-top:38px;border-top:1px solid var(--eh-border);padding-top:30px}.eh-room-availability h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:30px;margin:0 0 8px}.eh-room-inline-calendar{background:#fff;border:1px solid var(--eh-border);border-radius:12px;padding:18px}.eh-room-cal-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.eh-room-cal-nav{width:38px;height:38px;border:1px solid var(--eh-border);background:#fff;border-radius:50%;cursor:pointer}.eh-room-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}.eh-room-cal-title{text-align:center;font-weight:700;margin-bottom:10px;text-transform:capitalize}.eh-room-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.eh-room-cal-weekday{text-align:center;font-size:11px;font-weight:700;padding:5px}.eh-room-cal-day{min-height:54px;border:0;background:#f7f8f7;border-radius:6px;cursor:pointer;font-size:13px}.eh-room-cal-day small{display:block;font-size:9px;margin-top:2px}.eh-room-cal-day:disabled{opacity:.35;cursor:not-allowed}.eh-room-cal-day.is-selected,.eh-room-cal-day.is-end{background:var(--eh-primary);color:#fff}.eh-room-cal-day.is-range{background:color-mix(in srgb,var(--eh-primary) 14%,white)}.eh-room-cal-summary{margin-top:12px;font-size:13px;color:#66756f}.eh-room-comments{margin-top:42px;padding-top:30px;border-top:1px solid var(--eh-border)}
@media(max-width:980px){.eh-room-modern-grid{grid-template-columns:1fr}.eh-room-modern-side{position:static}.eh-room-modern-booking .ehstay-search{grid-template-columns:1fr 1fr!important}}
@media(max-width:767px){.eh-room-modern{padding:32px 0 60px}.eh-room-modern-grid{gap:26px}.eh-room-modern .ehstay-room-gallery{grid-template-columns:repeat(3,1fr)}.eh-room-modern .ehstay-room-gallery img{height:90px}.eh-room-cal-months{grid-template-columns:1fr}.eh-room-cal-month:nth-child(2){display:none}.eh-room-modern-booking .ehstay-search{grid-template-columns:1fr!important}.eh-room-modern-booking .ehstay-search>button{grid-column:auto}.eh-room-cal-day{min-height:48px}}


/* v4.0.251 — acomodação editável no Elementor com a mesma proporção da página de resultados. */
@media(min-width:1025px){.eh-room-elementor-layout>.e-con-inner>.eh-room-elementor-sidebar,.eh-room-elementor-layout>.eh-room-elementor-sidebar{position:sticky!important;top:104px!important;align-self:flex-start!important}}
.eh-room-elementor-main{border:1px solid #ece6dc;border-radius:4px}.eh-room-elementor-sidebar{border:1px solid #ece6dc;border-radius:4px;box-shadow:0 12px 30px rgba(27,49,41,.07)}
@media(max-width:1024px){.eh-room-elementor-layout{flex-direction:column!important}.eh-room-elementor-main,.eh-room-elementor-sidebar{width:100%!important;max-width:100%!important}}
/* Quando o CRM escolhe um tema, a paleta do motor vence as cores fixas do tema; theme-default continua exatamente como antes. */
.ehstay-search[class*="theme-"]:not(.theme-default)>button[type="submit"]{background:var(--ehstay-search-accent)!important}
.ehstay-search[class*="theme-"]:not(.theme-default),.ehstay-search[class*="theme-"]:not(.theme-default)>label{border-color:var(--ehstay-search-border)!important}
.ehstay-search[class*="theme-"]:not(.theme-default){background:var(--ehstay-search-soft)!important}

/* v4.0.254 — calendário fixo da acomodação usa a mesma linguagem visual do calendário aberto dos buscadores; buscadores permanecem intactos. */
.eh-room-elementor-main .eh-room-availability{margin-top:0;border-top:0;padding-top:0}
.eh-room-elementor-main .eh-room-inline-calendar,.eh-room-availability-fixed .eh-room-inline-calendar{background:#fff;border:1px solid #e8e3d9;border-radius:0;padding:22px 20px 18px;box-shadow:none}
.eh-room-elementor-main .eh-room-cal-toolbar,.eh-room-availability-fixed .eh-room-cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}
.eh-room-elementor-main .eh-room-cal-toolbar strong,.eh-room-availability-fixed .eh-room-cal-toolbar strong{font-size:14px;color:#ad843c;font-weight:700}
.eh-room-elementor-main .eh-room-cal-nav,.eh-room-availability-fixed .eh-room-cal-nav{border:0!important;background:transparent!important;color:#30443c!important;width:40px;height:40px;padding:0!important;border-radius:0!important;font-size:25px;line-height:1;box-shadow:none!important}
.eh-room-elementor-main .eh-room-cal-months,.eh-room-availability-fixed .eh-room-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.eh-room-elementor-main .eh-room-cal-title,.eh-room-availability-fixed .eh-room-cal-title{text-align:center;font-size:15px;font-weight:800;text-transform:capitalize;color:#1c2a25;margin:0 0 14px}
.eh-room-elementor-main .eh-room-cal-grid,.eh-room-availability-fixed .eh-room-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.eh-room-elementor-main .eh-room-cal-weekday,.eh-room-availability-fixed .eh-room-cal-weekday{text-align:center;color:#8b918e;font-size:12px;font-weight:700;padding:5px 0 8px}
.eh-room-elementor-main .eh-room-cal-day,.eh-room-availability-fixed .eh-room-cal-day{min-height:58px;border:1px solid transparent!important;background:#f6f7f6!important;color:#59635f!important;border-radius:0!important;padding:5px 2px!important;font-size:12px;box-shadow:none!important}
.eh-room-elementor-main .eh-room-cal-day small,.eh-room-availability-fixed .eh-room-cal-day small{display:block;font-size:9px;line-height:1.15;margin-top:3px;color:inherit;white-space:nowrap}
.eh-room-elementor-main .eh-room-cal-day:disabled,.eh-room-availability-fixed .eh-room-cal-day:disabled{background:repeating-linear-gradient(135deg,#fff,#fff 5px,#fafafa 5px,#fafafa 10px)!important;color:#d5d8d6!important;opacity:1}
.eh-room-elementor-main .eh-room-cal-day.is-selected,.eh-room-elementor-main .eh-room-cal-day.is-end,.eh-room-availability-fixed .eh-room-cal-day.is-selected,.eh-room-availability-fixed .eh-room-cal-day.is-end{border-color:#c79b4d!important;background:#fff!important;color:#273b33!important}
.eh-room-elementor-main .eh-room-cal-day.is-range,.eh-room-availability-fixed .eh-room-cal-day.is-range{background:#fbf7ef!important}
.eh-room-cal-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:14px;border-top:1px solid #eee9df;color:#66756f;font-size:12px}
.eh-room-cal-footer button{border:0!important;background:transparent!important;color:#ad843c!important;font:inherit;font-weight:700;padding:0!important;min-height:0!important;box-shadow:none!important;cursor:pointer}
@media(max-width:767px){.eh-room-elementor-main .eh-room-cal-months,.eh-room-availability-fixed .eh-room-cal-months{grid-template-columns:1fr}.eh-room-elementor-main .eh-room-cal-month:nth-child(2),.eh-room-availability-fixed .eh-room-cal-month:nth-child(2){display:none}.eh-room-elementor-main .eh-room-cal-day,.eh-room-availability-fixed .eh-room-cal-day{min-height:52px}}

/* v4.0.254 — página individual: calendário fixo e detalhes modernos */
.eh-room-availability-fixed .eh-room-inline-calendar{background:#fafaf8;border:1px solid #e3e6e4;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 10px 28px rgba(20,43,35,.06)}
.eh-room-availability-fixed .eh-room-cal-toolbar{min-height:48px;margin:0!important;padding:7px 14px;border-bottom:1px solid #ecefed;background:#fafaf8}
.eh-room-availability-fixed .eh-room-cal-toolbar strong{color:#245f4e!important;font-size:13px!important}
.eh-room-availability-fixed .eh-room-cal-nav{background:#245f4e!important;color:#fff!important;width:30px!important;height:30px!important;border-radius:8px!important;font-size:19px!important;transition:.18s ease}
.eh-room-availability-fixed .eh-room-cal-nav:hover{background:#183f33!important;color:#fff!important}
.eh-room-availability-fixed .eh-room-cal-months{gap:0!important;background:#fafaf8}
.eh-room-availability-fixed .eh-room-cal-month{padding:14px 16px 16px}.eh-room-availability-fixed .eh-room-cal-month:first-child{border-right:1px solid #ecefed}
.eh-room-availability-fixed .eh-room-cal-title{min-height:30px;margin:0 0 8px!important;color:#1f2a26!important;font-size:14px!important}
.eh-room-availability-fixed .eh-room-cal-grid{gap:4px!important}
.eh-room-availability-fixed .eh-room-cal-weekday{color:#6d7773!important;font-size:11px!important}
.eh-room-availability-fixed .eh-room-cal-day{min-height:46px!important;background:#fff!important;color:#25312d!important;border:1px solid #eef0ef!important;border-radius:7px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;opacity:1!important}
.eh-room-availability-fixed .eh-room-cal-day:hover:not(:disabled){background:#f0f5f3!important}
.eh-room-availability-fixed .eh-room-cal-day.is-today:not(.is-checkin):not(.is-checkout){outline:1px solid #91b4a8;outline-offset:-2px}
.eh-room-availability-fixed .eh-room-cal-day.is-in-range{background:#edf4f1!important}
.eh-room-availability-fixed .eh-room-cal-day.is-checkin,.eh-room-availability-fixed .eh-room-cal-day.is-checkout{background:#2e6554!important;color:#fff!important;border-color:#2e6554!important}
.eh-room-availability-fixed .eh-room-cal-day:disabled,.eh-room-availability-fixed .eh-room-cal-day.is-unavailable{color:#7e8884!important;background:#f6f7f6!important;opacity:.68!important;cursor:not-allowed}
.eh-room-availability-fixed .eh-cal-price{font-size:9px!important;color:#39705f!important;white-space:nowrap}.eh-room-availability-fixed .is-checkin .eh-cal-price,.eh-room-availability-fixed .is-checkout .eh-cal-price{color:#fff!important}
.eh-room-availability-fixed .eh-room-cal-footer{margin:0!important;padding:11px 16px!important;background:#fafaf8;border-top:1px solid #e7eae8!important}.eh-room-availability-fixed .eh-room-cal-footer button{color:#2e6554!important}
.eh-dynamic-room-attributes.is-cards{gap:12px!important;background:transparent!important}.eh-dynamic-room-attributes.is-cards .eh-room-attr-card{display:flex!important;align-items:center;gap:14px;padding:15px 16px!important;background:#fff!important;border:1px solid #e8ece9;border-radius:12px!important;box-shadow:0 3px 12px rgba(25,55,45,.035)}
.eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:#f1f6f3;color:#245f4e}.eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg circle{fill:none;stroke:currentColor}.eh-dynamic-room-attributes.is-cards dt{font-size:12px!important;margin:0 0 3px!important}.eh-dynamic-room-attributes.is-cards dd{font-size:14px!important;font-weight:700!important;margin:0!important}
.eh-dynamic-amenities.is-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.eh-dynamic-amenities.is-grid>span{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e8ece9;border-radius:10px;background:#fff}.eh-amenity-grid-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#f1f6f3;color:#245f4e}.eh-amenity-grid-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){.eh-room-availability-fixed .eh-room-cal-month:first-child{border-right:0}.eh-room-availability-fixed .eh-room-cal-day{min-height:44px!important}.eh-dynamic-amenities.is-grid{grid-template-columns:1fr}}

/* v4.0.256 — calendário fixo: mesma leitura visual do motor de busca */
.eh-room-availability-fixed .eh-room-cal-day.is-range-preview:not(.is-checkin):not(.is-checkout),
.eh-room-availability-fixed .eh-room-cal-day.is-range-preview-end:not(.is-checkin):not(.is-checkout),
.eh-room-availability-fixed .eh-room-cal-day.is-in-range:not(.is-checkin):not(.is-checkout){background:#e4efeb!important;border-color:#d5e6df!important;color:#25312d!important}
.eh-room-availability-fixed .eh-room-cal-day.is-range-preview-end:not(.is-checkin):not(.is-checkout){outline:1px solid #8fb9aa!important;outline-offset:-2px!important}
.eh-room-availability-fixed .eh-room-cal-day.is-range-preview-end[data-stay-tooltip]::after{content:attr(data-stay-tooltip);position:absolute;z-index:4;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);white-space:nowrap;background:#245f4e;color:#fff;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.14)}
.eh-room-availability-fixed .eh-room-cal-day{position:relative}
.eh-room-availability-fixed .eh-room-cal-footer{justify-content:flex-start!important}
.eh-room-availability-fixed .eh-room-cal-footer [data-room-cal-range]{display:none!important}

/* v4.0.258 — resumo de preço apenas na página individual; uma única linha no desktop. */
.single-ehstay_room .eh-room-sidebar-price-summary{display:block;width:100%;margin:0 0 12px;font-size:14px;line-height:1.35;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.single-ehstay_room .eh-room-sidebar-price-summary[hidden]{display:none!important;}
@media(max-width:767px){.single-ehstay_room .eh-room-sidebar-price-summary{white-space:normal;}}

/* v4.0.258 — refinamento da página individual da acomodação. */
.single-ehstay_room .eh-room-sidebar-price-summary{
  display:flex;align-items:baseline;gap:4px;width:100%;margin:2px 0 14px;
  font-size:13px;line-height:1.3;color:#26332e;white-space:nowrap;overflow:visible;text-overflow:clip;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{font-size:13px;font-weight:400;white-space:nowrap}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{font-size:16px;font-weight:700;line-height:1.1;color:#14241e;white-space:nowrap}

/* Títulos de seção: mesma distância inferior de Características e respiro maior acima. */
.single-ehstay_room .eh-room-elementor-main .eh-room-section-title{margin-top:36px!important;margin-bottom:12px!important;padding:0!important}
.single-ehstay_room .eh-room-elementor-main .eh-room-section-title .elementor-heading-title{margin:0!important}
.single-ehstay_room .eh-room-elementor-main .eh-room-section-content{margin-top:0!important;margin-bottom:0!important}
.single-ehstay_room .eh-room-elementor-main .eh-room-section-title[hidden],
.single-ehstay_room .eh-room-elementor-main .eh-room-section-content[hidden]{display:none!important}

/* Características: três por linha no desktop, compactas e com rótulo + valor na mesma linha. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{min-width:0;padding:12px 14px!important;gap:10px!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{width:32px;height:32px;flex:0 0 32px;border-radius:9px}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg{width:17px;height:17px}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{display:flex!important;align-items:baseline!important;gap:5px!important;min-width:0;white-space:nowrap}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt{font-size:13px!important;margin:0!important;color:#66736d!important;white-space:nowrap}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt::after{content:":"}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{font-size:13px!important;font-weight:700!important;margin:0!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.single-ehstay_room .eh-dynamic-room-attributes.is-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){
 .single-ehstay_room .eh-dynamic-room-attributes.is-cards{grid-template-columns:1fr!important}
 .single-ehstay_room .eh-room-sidebar-price-summary{flex-wrap:nowrap!important;white-space:nowrap!important;font-size:12px}
 .single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{font-size:12px}
 .single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{font-size:15px}
}
\n\n/* v4.0.259 — página de acomodação: ritmo das seções + calendário responsivo em 2 meses */
.eh-room-elementor-main .elementor-widget-heading.eh-room-section-title{
  margin:0!important;padding:0!important;margin-top:34px!important;margin-bottom:12px!important;
}
.eh-room-elementor-main .elementor-widget-heading.eh-room-section-title .elementor-widget-container,
.eh-room-elementor-main .elementor-widget-heading.eh-room-section-title .elementor-heading-title{
  margin:0!important;padding:0!important;
}
.eh-room-elementor-main .eh-room-section-content{margin:0!important;padding-top:0!important;}
/* Elementor pode aplicar gap ao container. Neutralizamos o gap entre título/conteúdo e
   deixamos o início de cada seção ser controlado pelo próprio título. */
.eh-room-elementor-main{row-gap:0!important;}

@media(max-width:767px){
  .eh-room-availability-fixed .eh-room-cal-months,
  .eh-room-elementor-main .eh-room-cal-months{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;}
  .eh-room-availability-fixed .eh-room-cal-month:nth-child(2),
  .eh-room-elementor-main .eh-room-cal-month:nth-child(2){display:block!important;}
  .eh-room-availability-fixed .eh-room-cal-month,
  .eh-room-elementor-main .eh-room-cal-month{padding:10px 5px 12px!important;min-width:0!important;}
  .eh-room-availability-fixed .eh-room-cal-month:first-child,
  .eh-room-elementor-main .eh-room-cal-month:first-child{border-right:1px solid #ecefed!important;}
  .eh-room-availability-fixed .eh-room-cal-grid,
  .eh-room-elementor-main .eh-room-cal-grid{gap:2px!important;}
  .eh-room-availability-fixed .eh-room-cal-title,
  .eh-room-elementor-main .eh-room-cal-title{font-size:11px!important;min-height:22px!important;margin-bottom:4px!important;white-space:nowrap;}
  .eh-room-availability-fixed .eh-room-cal-weekday,
  .eh-room-elementor-main .eh-room-cal-weekday{font-size:8px!important;padding:3px 0 4px!important;}
  .eh-room-availability-fixed .eh-room-cal-day,
  .eh-room-elementor-main .eh-room-cal-day{min-height:37px!important;padding:2px 0!important;font-size:9px!important;border-radius:5px!important;min-width:0!important;}
  .eh-room-availability-fixed .eh-room-cal-day small,
  .eh-room-elementor-main .eh-room-cal-day small{font-size:6.8px!important;margin-top:1px!important;letter-spacing:-.15px;}
  .eh-room-availability-fixed .eh-room-cal-toolbar,
  .eh-room-elementor-main .eh-room-cal-toolbar{padding:6px 8px!important;margin:0!important;}
  .eh-room-availability-fixed .eh-room-cal-nav,
  .eh-room-elementor-main .eh-room-cal-nav{width:29px!important;height:29px!important;}
}


/* v4.0.260 — ritmo real das seções Elementor + calendário presente no DOM inicial. */
.single-ehstay_room .eh-room-elementor-main{
  gap:0!important;row-gap:0!important;column-gap:0!important;
  --gap:0px!important;--row-gap:0px!important;--column-gap:0px!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-element{margin-top:0!important;margin-bottom:0!important;}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title{
  margin-top:38px!important;margin-bottom:14px!important;padding:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title .elementor-widget-container,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title .elementor-heading-title{
  margin:0!important;padding:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-content{margin:0!important;padding:0!important;}
/* Mantém os dois meses lado a lado também no celular, como o modal original. */
@media(max-width:767px){
 .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-months{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;}
 .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-month{display:block!important;min-width:0!important;padding:10px 4px 12px!important;}
}


/* v4.0.261 — seleção forte do calendário e comodidades vazias. */
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-day.is-checkin,
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-day.is-checkout,
.single-ehstay_room .eh-room-elementor-main .eh-room-cal-day.is-checkin,
.single-ehstay_room .eh-room-elementor-main .eh-room-cal-day.is-checkout{
 background:#245f4e!important;color:#fff!important;border-color:#245f4e!important;opacity:1!important;
}
.single-ehstay_room .eh-room-cal-day.is-checkin .eh-cal-price,
.single-ehstay_room .eh-room-cal-day.is-checkout .eh-cal-price{color:#fff!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_amenities:has(.eh-room-empty-marker){display:none!important;}

/* v4.0.262 — acomodação individual: ritmo dos widgets Elementor + tooltip de diárias. */
.single-ehstay_room .eh-room-elementor-main > .elementor-element,
.single-ehstay_room .eh-room-elementor-main > .elementor-element > .elementor-widget-container{
  min-height:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_attributes_dynamic > .elementor-widget-container,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_amenities > .elementor-widget-container,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container{
  margin:0!important;padding:0!important;min-height:0!important;
}
.single-ehstay_room .eh-room-elementor-main .eh-dynamic-room-content,
.single-ehstay_room .eh-room-elementor-main .eh-dynamic-room-content p:first-child{margin-top:0!important;padding-top:0!important;}
.single-ehstay_room .eh-room-elementor-main .eh-dynamic-room-content p:last-child{margin-bottom:0!important;padding-bottom:0!important;}
.single-ehstay_room .eh-room-elementor-main .eh-room-availability,
.single-ehstay_room .eh-room-elementor-main .eh-room-availability-fixed{
  margin:0!important;padding:0!important;border-top:0!important;min-height:0!important;
}
/* Título -> conteúdo sempre curto; nova seção -> título mantém respiro maior. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title{
  margin:36px 0 12px!important;padding:0!important;min-height:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title + .elementor-element{
  margin-top:0!important;padding-top:0!important;
}
/* Balão de quantidade de diárias segue o padrão preto dos outros calendários. */
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-day.is-range-preview-end[data-stay-tooltip]::after{
  background:#111!important;color:#fff!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
}
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-day.is-range-preview-end[data-stay-tooltip]::before{
  content:"";position:absolute;z-index:3;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);
  border:5px solid transparent;border-top-color:#111!important;
}


/* v4.0.263 — página individual: ritmo real entre widgets, calendário mobile empilhado e preço em linha. */
/* O container Elementor usa gap próprio; zeramos esse gap nesta coluna para que o espaçamento seja controlado pelas seções. */
.single-ehstay_room .eh-room-elementor-main{
  gap:0!important;
  row-gap:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-element{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
/* Nova seção: respiro maior acima; título/conteúdo: distância curta e uniforme. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title{
  margin:36px 0 12px!important;
  padding:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title .elementor-heading-title{
  margin:0!important;
  padding:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-content,
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-content > .elementor-widget-container{
  margin:0!important;
  padding-top:0!important;
}
/* Mantém títulos e widgets vazios realmente fora do fluxo, sem deixar gap residual. */
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-title[hidden],
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-content[hidden],
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-title[style*="display: none"],
.single-ehstay_room .eh-room-elementor-main > .eh-room-section-content[style*="display: none"]{
  display:none!important;margin:0!important;padding:0!important;
}
/* Resumo lateral: sempre row, fonte um pouco maior e valor em negrito. */
.single-ehstay_room .eh-room-sidebar-price-summary{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  gap:5px!important;
  white-space:nowrap!important;
  font-size:15px!important;
  line-height:1.3!important;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{font-size:15px!important;font-weight:400!important;white-space:nowrap!important}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{font-size:18px!important;font-weight:700!important;line-height:1.1!important;white-space:nowrap!important}
/* Mobile: os dois meses continuam disponíveis, mas um ABAIXO do outro. */
@media(max-width:767px){
  .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-months,
  .single-ehstay_room .eh-room-elementor-main .eh-room-availability-fixed .eh-room-cal-months{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-month,
  .single-ehstay_room .eh-room-elementor-main .eh-room-availability-fixed .eh-room-cal-month{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 8px 12px!important;
  }
  .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-month + .eh-room-cal-month{
    border-left:0!important;
    border-top:1px solid #ecefed!important;
  }
  .single-ehstay_room .eh-room-sidebar-price-summary,
  .single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,
  .single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{font-size:14px!important}
  .single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{font-size:17px!important}
}

/* v4.0.264 — ajuste pontual solicitado sobre a base 4.0.263.
   Zera somente o espaço externo dos widgets Descrição/Calendário e uniformiza as células do calendário. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content > :first-child{margin-top:0!important;padding-top:0!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content > :last-child{margin-bottom:0!important;padding-bottom:0!important;}

/* Mesmo princípio do calendário do modal: 7 colunas idênticas; nenhum dia pode alargar a coluna. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-auto-columns:minmax(0,1fr)!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-weekday,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-cal-empty{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day{
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  overflow:visible!important;
}
@media(max-width:767px){
  .single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day{
    height:37px!important;
    min-height:37px!important;
    max-height:37px!important;
  }
}

/* v4.0.267 — ajustes pontuais sobre a base 4.0.264. */
/* Widgets: nenhum espaço próprio acima/abaixo; o ritmo fica a cargo do layout externo. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed{
  margin-top:0!important;margin-bottom:0!important;
  padding-top:0!important;padding-bottom:0!important;
}
/* Remove somente a linha superior visual do calendário da acomodação. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-inline-calendar{
  border-top:0!important;
}
/* A causa da primeira semana maior eram os slots vazios herdando min-height maior.
   Dias e vazios usam exatamente a mesma altura menor da 4.0.264. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-cal-empty{
  height:46px!important;min-height:46px!important;max-height:46px!important;
  align-self:start!important;box-sizing:border-box!important;
}
@media(max-width:767px){
  .single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day,
  .single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-cal-empty{
    height:37px!important;min-height:37px!important;max-height:37px!important;
  }
}


/* v4.0.269 — correção pontual sobre a 4.0.267.
   Preserva o contorno completo do calendário e remove apenas o separador externo do widget.
   Adiciona pequeno respiro abaixo de Características e Disponibilidade. */
/* Restaura a borda superior que faz parte do contorno arredondado do calendário. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-inline-calendar{
  border:1px solid #e3e6e4!important;
}
/* O wrapper do widget não pode desenhar linha/separador próprio acima do calendário. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed{
  border-top:0!important;
  box-shadow:none!important;
}
/* Espaço curto abaixo apenas dos títulos que antecedem Características e Disponibilidade. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title:has(+ .elementor-widget-essencial_hosp_room_attributes_dynamic),
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title:has(+ .elementor-widget-essencial_hosp_room_calendar_dynamic){
  margin-bottom:0!important;
  padding-bottom:12px!important;
}

/* v4.0.270 — correções pontuais da página individual / widgets Elementor. */
/* Descrição: o próprio widget não cria altura, margem ou preenchimento vertical. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content{
  margin-block:0!important;padding-block:0!important;min-height:0!important;height:auto!important;
  border-block:0!important;box-shadow:none!important;background-image:none!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content > *{
  margin-block:0!important;padding-block:0!important;
}
/* Calendário: remove somente separadores do wrapper Elementor. O contorno do calendário interno permanece completo. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed{
  margin-block:0!important;padding-block:0!important;min-height:0!important;
  border:0!important;box-shadow:none!important;background-image:none!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic::before,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic::after,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container::before,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container::after,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed::before,
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed::after{content:none!important;display:none!important;border:0!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-inline-calendar{
  border:1px solid #e3e6e4!important;
}
/* Restaura a dica progressiva de diárias independentemente do wrapper intermediário. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day{position:relative!important;overflow:visible!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day.is-range-preview-end[data-stay-tooltip]::after{
  content:attr(data-stay-tooltip)!important;display:block!important;position:absolute!important;z-index:30!important;
  left:50%!important;bottom:calc(100% + 7px)!important;transform:translateX(-50%)!important;white-space:nowrap!important;
  background:#111!important;color:#fff!important;border-radius:6px!important;padding:4px 7px!important;
  font-size:10px!important;font-weight:700!important;line-height:1.2!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
}
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day.is-range-preview-end[data-stay-tooltip]::before{
  content:""!important;display:block!important;position:absolute!important;z-index:29!important;left:50%!important;
  bottom:calc(100% + 2px)!important;transform:translateX(-50%)!important;border:5px solid transparent!important;border-top-color:#111!important;
}
/* Título da acomodação e seu conteúdo pertencem à mesma seção: aproxima visualmente. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_title_dynamic{margin-bottom:8px!important;padding-bottom:0!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_title_dynamic + .elementor-widget-essencial_hosp_room_capacity_dynamic{margin-top:0!important;padding-top:0!important;}
/* Mantém um respiro curto e consistente abaixo dos títulos de seção. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-section-title{margin-bottom:12px!important;padding-bottom:0!important;}


/* v4.0.271 — descrição nativamente sem espaçamento + tooltip progressivo de diárias. */
/* Não depende de .single-ehstay_room: também vale dentro do editor Elementor/Pro Elements. */
.elementor-widget-essencial_hosp_room_content_dynamic,
.elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content,
.elementor-editor-active .elementor-widget-essencial_hosp_room_content_dynamic,
.elementor-editor-active .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container,
.elementor-editor-active .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content{
  margin-top:0!important;margin-bottom:0!important;
  padding-top:0!important;padding-bottom:0!important;
  min-height:0!important;height:auto!important;
}
.elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content > :first-child{
  margin-top:0!important;padding-top:0!important;
}
.elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content > :last-child{
  margin-bottom:0!important;padding-bottom:0!important;
}
/* O balão preto acompanha o dia de saída em pré-visualização após escolher a entrada. */
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day.has-stay-tooltip[data-stay-tooltip]{
  position:relative!important;overflow:visible!important;
}
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day.has-stay-tooltip[data-stay-tooltip]::after{
  content:attr(data-stay-tooltip)!important;display:block!important;position:absolute!important;z-index:50!important;
  left:50%!important;bottom:calc(100% + 7px)!important;transform:translateX(-50%)!important;
  white-space:nowrap!important;background:#111!important;color:#fff!important;border-radius:6px!important;
  padding:4px 7px!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;
  box-shadow:0 4px 12px rgba(0,0,0,.18)!important;pointer-events:none!important;
}
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-cal-day.has-stay-tooltip[data-stay-tooltip]::before{
  content:""!important;display:block!important;position:absolute!important;z-index:49!important;left:50%!important;
  bottom:calc(100% + 2px)!important;transform:translateX(-50%)!important;border:5px solid transparent!important;
  border-top-color:#111!important;pointer-events:none!important;
}


/* v4.0.273 — calendário: wrapper realmente zerado no front e no editor Elementor/Pro Elements. */
.elementor-widget-essencial_hosp_room_calendar_dynamic,
.elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container,
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability,
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability-fixed{
  margin-top:0!important;margin-bottom:0!important;
  padding-top:0!important;padding-bottom:0!important;
  min-height:0!important;
  border-top:0!important;border-bottom:0!important;
  box-shadow:none!important;
}
/* Nenhum separador fantasma no wrapper do widget; o contorno do calendário interno permanece intacto. */
.elementor-widget-essencial_hosp_room_calendar_dynamic::before,
.elementor-widget-essencial_hosp_room_calendar_dynamic::after,
.elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container::before,
.elementor-widget-essencial_hosp_room_calendar_dynamic > .elementor-widget-container::after,
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability::before,
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-availability::after{
  content:none!important;display:none!important;border:0!important;
}
.elementor-widget-essencial_hosp_room_calendar_dynamic .eh-room-inline-calendar{
  margin-top:0!important;margin-bottom:0!important;
  border:1px solid #e3e6e4!important;
}
\n\n/* v4.0.273 — hover limitado ao período fechado + ritmo compacto da abertura da acomodação. */
/* Mantém próximos os conteúdos que pertencem ao cabeçalho/descrição da mesma acomodação. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_title_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_capacity_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_excerpt_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_content_dynamic{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_title_dynamic + .elementor-widget-essencial_hosp_room_capacity_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_capacity_dynamic + .elementor-widget-essencial_hosp_room_excerpt_dynamic{
  margin-top:8px!important;
}
/* Título Descrição fica próximo do resumo anterior e do conteúdo que ele apresenta. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description{
  margin-top:14px!important;
  margin-bottom:7px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description + .elementor-widget-essencial_hosp_room_content_dynamic{
  margin-top:0!important;
}
/* O conteúdo interno não acrescenta margens verticais próprias. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_capacity_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_excerpt_dynamic > .elementor-widget-container,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic > .elementor-widget-container{
  margin-block:0!important;
  padding-block:0!important;
}
\n\n/* v4.0.274 — hover do período fechado + compactação real dos widgets da abertura. */
/* Com um intervalo fechado, dias de fora dele não reagem visualmente ao mouse. */
.single-ehstay_room .eh-room-availability-fixed.has-fixed-range .eh-room-cal-day:not(.is-fixed-range-day):hover:not(:disabled),
.single-ehstay_room .elementor-widget-essencial_hosp_room_calendar_dynamic .has-fixed-range .eh-room-cal-day:not(.is-fixed-range-day):hover:not(:disabled){
  background:#fff!important;color:inherit!important;border-color:#e5e9e7!important;box-shadow:none!important;transform:none!important;
}
/* Dentro do período fechado o hover/tooltip continua permitido. */
.single-ehstay_room .eh-room-availability-fixed.has-fixed-range .eh-room-cal-day.is-fixed-range-day:hover:not(:disabled){position:relative!important;}

/* Remove o espaçamento padrão que o Elementor aplica entre estes widgets consecutivos. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_title_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_capacity_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_excerpt_dynamic,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_content_dynamic{
  margin-block:0!important;padding-block:0!important;
}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_title_dynamic:not(:last-child),
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_capacity_dynamic:not(:last-child),
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_excerpt_dynamic:not(:last-child),
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_content_dynamic:not(:last-child){margin-bottom:0!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_title_dynamic .eh-dynamic-room-title{margin:0!important;padding:0!important;line-height:1.2!important;}
.single-ehstay_room .elementor-widget-essencial_hosp_room_capacity_dynamic .eh-dynamic-room-capacity,
.single-ehstay_room .elementor-widget-essencial_hosp_room_excerpt_dynamic .eh-dynamic-room-excerpt,
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic .eh-dynamic-room-content{margin:0!important;padding:0!important;}
/* Ritmo curto entre elementos da mesma abertura. */
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_title_dynamic + .elementor-widget-essencial_hosp_room_capacity_dynamic{margin-top:7px!important;}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-essencial_hosp_room_capacity_dynamic + .elementor-widget-essencial_hosp_room_excerpt_dynamic{margin-top:7px!important;}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description{margin-top:12px!important;margin-bottom:5px!important;padding-block:0!important;}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description .elementor-widget-container,
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description .elementor-heading-title{margin:0!important;padding:0!important;}
.single-ehstay_room .eh-room-elementor-main > .elementor-widget-heading.eh-room-title-description + .elementor-widget-essencial_hosp_room_content_dynamic{margin-top:0!important;}

/* v4.0.276 — correções pontuais da página individual da acomodação. */
/* Preço lateral: SEMPRE em uma única linha, inclusive no mobile. */
.single-ehstay_room .eh-room-sidebar-price-summary{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:baseline!important;gap:5px!important;width:100%!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
  font-size:15px!important;line-height:1.25!important;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{
  display:inline!important;width:auto!important;white-space:nowrap!important;font-size:15px!important;font-weight:400!important;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{
  display:inline!important;width:auto!important;white-space:nowrap!important;font-size:18px!important;font-weight:700!important;
}

/* Características: exatamente 3 cards por linha em desktop e mobile. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
/* Comodidades: exatamente 3 por linha em desktop e mobile. */
.single-ehstay_room .eh-dynamic-amenities.is-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
@media(max-width:767px){
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
  .single-ehstay_room .eh-dynamic-amenities.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
  .single-ehstay_room .eh-dynamic-amenities.is-grid>span{min-width:0!important;padding:8px 6px!important;gap:5px!important}
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon,
  .single-ehstay_room .eh-dynamic-amenities.is-grid .eh-amenity-grid-icon{width:26px!important;height:26px!important;flex:0 0 26px!important}
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards dd,
  .single-ehstay_room .eh-dynamic-amenities.is-grid>span{font-size:10px!important}
}

/* Seção realmente vazia: some widget, título e espaço ocupado no layout. */
.single-ehstay_room .elementor-widget-essencial_hosp_room_content_dynamic:has(.eh-room-empty-marker),
.single-ehstay_room .elementor-widget-essencial_hosp_room_attributes_dynamic:has(.eh-room-empty-marker),
.single-ehstay_room .elementor-widget-essencial_hosp_room_amenities:has(.eh-room-empty-marker){display:none!important;margin:0!important;padding:0!important;min-height:0!important;height:0!important}
.single-ehstay_room .eh-room-title-description:has(+ .elementor-widget-essencial_hosp_room_content_dynamic .eh-room-empty-marker),
.single-ehstay_room .eh-room-title-attributes:has(+ .elementor-widget-essencial_hosp_room_attributes_dynamic .eh-room-empty-marker),
.single-ehstay_room .eh-room-title-amenities:has(+ .elementor-widget-essencial_hosp_room_amenities .eh-room-empty-marker){display:none!important;margin:0!important;padding:0!important;min-height:0!important;height:0!important}

/* v4.0.277 — mobile: ícone acima/texto abaixo; preço lateral definitivamente em linha. */
.single-ehstay_room .eh-room-sidebar-price-summary{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-prefix,
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value,
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-nights{
  display:inline!important;
  width:auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
.single-ehstay_room .eh-room-sidebar-price-summary .eh-price-value{
  font-size:18px!important;
  font-weight:700!important;
}
@media(max-width:767px){
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
  .single-ehstay_room .eh-dynamic-amenities.is-grid>span{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:6px!important;
  }
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    width:100%!important;
    white-space:normal!important;
  }
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards dd,
  .single-ehstay_room .eh-dynamic-amenities.is-grid>span{
    text-align:center!important;
  }
  .single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}


/* v4.0.278 — widgets laterais: filhos do formulário em linha, preservando o resumo de preço. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar form.ehstay-search-sidebar-vertical > *,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar form.ehstay-search-sidebar-vertical > * {
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  display:flex !important;
  flex-direction:row !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.single-ehstay_room .eh-room-sidebar-price-summary{flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;white-space:nowrap!important;}


/* v4.0.281 — visual das cópias de página individual, sem alterar os widgets originais. */



/* =========================================================
   v4.0.157 — Resultados da Busca
   - 2 widgets laterais separados
   - card dinâmico de recomendação
   - cards dinâmicos de acomodações com capa + slider + ícones
   ========================================================= */

/* ---------------------------------------------------------
   NOVOS WIDGETS LATERAIS — mesma lógica dos widgets existentes
   --------------------------------------------------------- */
.elementor-widget-essencial_hosp_search_sidebar_individual,
.elementor-widget-essencial_hosp_search_period_sidebar_individual,
.elementor-widget-essencial_hosp_search_sidebar_individual > .elementor-widget-container,
.elementor-widget-essencial_hosp_search_period_sidebar_individual > .elementor-widget-container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .eh-elementor-crm,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-elementor-crm{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search.ehstay-search-clean{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search.ehstay-search-clean > label,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search.ehstay-search-clean > label,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-children,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-children,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search > button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search > button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_sidebar_individual select,
.elementor-widget-essencial_hosp_search_period_sidebar_individual select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}


/* A sidebar padrão da página usa um dos novos widgets. */
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}


/* O novo widget lateral é SEMPRE vertical, independentemente
   das regras horizontais dos dois widgets originais. */
.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search.ehstay-search-clean,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search.ehstay-search-clean,
.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search.ehstay-search-clean{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}


.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search.ehstay-search-clean > *,
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search.ehstay-search-clean > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
}


.eh-results-sidebar .elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search.ehstay-search-clean > button[type="submit"],
.eh-results-sidebar .elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search.ehstay-search-clean > button[type="submit"]{
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
}


/* Remove divisórias verticais herdadas do buscador horizontal. */
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-clean > label:after,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-clean > label:after{
    display:none!important;
    content:none!important;
}



/* =========================================================
   v4.0.157 — CORREÇÃO DEFINITIVA DOS 2 BUSCADORES LATERAIS
   Cada campo ocupa obrigatoriamente uma linha inteira.
   Não pode herdar nenhuma distribuição horizontal dos buscadores originais.
   ========================================================= */

/* Usa GRID de 1 coluna para neutralizar completamente flex/basis/width antigos. */
.elementor-widget-essencial_hosp_search_sidebar_individual form.ehstay-search,
.elementor-widget-essencial_hosp_search_period_sidebar_individual form.ehstay-search,
form.ehstay-search-sidebar-vertical{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}


/* TODOS os filhos diretos ficam na única coluna do grid. */
.elementor-widget-essencial_hosp_search_sidebar_individual form.ehstay-search > *,
.elementor-widget-essencial_hosp_search_period_sidebar_individual form.ehstay-search > *,
form.ehstay-search-sidebar-vertical > *{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
    flex-basis:auto!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
}


/* Neutraliza variáveis e larguras dos widgets horizontais originais. */
.elementor-widget-essencial_hosp_search_sidebar_individual form.ehstay-search > label,
.elementor-widget-essencial_hosp_search_period_sidebar_individual form.ehstay-search > label,
form.ehstay-search-sidebar-vertical > label,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-children,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-adults,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-children{
    --eh-clean-item-width:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
}


/* Inputs, selects e botões sempre respeitam a largura do widget. */
.elementor-widget-essencial_hosp_search_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_sidebar_individual select,
.elementor-widget-essencial_hosp_search_period_sidebar_individual select,
.elementor-widget-essencial_hosp_search_sidebar_individual input:not([type="hidden"]),
.elementor-widget-essencial_hosp_search_period_sidebar_individual input:not([type="hidden"]),
.elementor-widget-essencial_hosp_search_sidebar_individual button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar_individual button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}


/* Botão em linha própria, largura total. */
.elementor-widget-essencial_hosp_search_sidebar_individual button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar_individual button[type="submit"]{
    --eh-clean-button-width:100%!important;
    justify-self:stretch!important;
    align-self:stretch!important;
}


/* Remove divisórias/pseudo-elementos próprios do layout horizontal. */
.elementor-widget-essencial_hosp_search_sidebar_individual form.ehstay-search > label::after,
.elementor-widget-essencial_hosp_search_period_sidebar_individual form.ehstay-search > label::after,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-adults::after,
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-children::after,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-adults::after,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-children::after{
    display:none!important;
    content:none!important;
}



/* =========================================================
   v4.0.157 — sidebar 30% no desktop + buscadores laterais
   obrigatoriamente verticais também no desktop.
   ========================================================= */

/* Os dois widgets laterais ficam SEMPRE em uma única coluna,
   inclusive em desktop largo. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:18px!important;
    box-sizing:border-box!important;
}


/* Um elemento por linha, sem possibilidade de herdar flex horizontal. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search-sidebar-vertical > *,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search-sidebar-vertical > *{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
}


/* Campos e botão respeitam 100% da largura interna. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search-sidebar-vertical .eh-search-date-trigger,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search-sidebar-vertical .eh-search-date-trigger,
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search-sidebar-vertical select,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search-sidebar-vertical select,
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search-sidebar-vertical > button[type="submit"],
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search-sidebar-vertical > button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}



/* =========================================================
   v4.0.157 — Busca Lateral / Busca Lateral por Período
   - lupa + BUSCAR na mesma linha
   - observação infantil ao lado do título CRIANÇAS
   ========================================================= */
.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"],
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"]{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    line-height:1!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon svg,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .ehstay-search-sidebar-vertical > button[type="submit"] .eh-clean-search-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .eh-sidebar-children-heading,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-sidebar-children-heading{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    width:100%!important;
    margin:0 0 7px!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .eh-sidebar-children-title,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-sidebar-children-title{
    display:inline!important;
}


.elementor-widget-essencial_hosp_search_sidebar_individual .eh-sidebar-children-note,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-sidebar-children-note{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:400!important;
    opacity:.72!important;
}



/* =========================================================
   v4.0.157 — correção baseada no HTML REAL dos 2 widgets laterais.
   Sobrescreve regras antigas mais específicas que ainda colocavam
   o botão em coluna e o <small> das crianças em bloco.
   ========================================================= */

body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.eh-elementor-crm form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > button[type="submit"],
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.eh-elementor-crm form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > button[type="submit"]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    line-height:1.2!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"]::before,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"]::after,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"]::before,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"]::after{
    content:none!important;
    display:none!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon{
    display:inline-flex!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    flex:0 0 14px!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
    padding:0!important;
    vertical-align:middle!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon svg,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical > button[type="submit"] > .eh-clean-search-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 7px!important;
    padding:0!important;
    line-height:1.2!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > .eh-sidebar-children-title,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > .eh-sidebar-children-title{
    display:inline!important;
    position:static!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
    display:inline!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 1 auto!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:400!important;
    white-space:nowrap!important;
    opacity:.72!important;
}

    body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
    .ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
    body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
    .ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
        font-size:9px!important;
    }



/* =========================================================
   v4.0.157 — respiro entre CRIANÇAS e a observação
   nos dois widgets laterais.
   ========================================================= */
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading{
    column-gap:7px!important;
}


body .elementor .elementor-element.elementor-widget-essencial_hosp_search_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note,
body .elementor .elementor-element.elementor-widget-essencial_hosp_search_period_sidebar_individual
.ehstay-search-sidebar-vertical label.ehstay-search-children > .eh-sidebar-children-heading > small.eh-sidebar-children-note{
    margin-left:0!important;
}



/* =========================================================
   v4.0.172 — correção isolada das divisórias nos buscadores laterais
   Base: v4.0.170. Não altera layout, tamanhos ou lógica dos buscadores.
   Os pseudo-elementos ::before pertencem somente ao layout horizontal.
   ========================================================= */
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical{
    --eh-clean-divider-display:none!important;
}


body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > label::before,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual
form.ehstay-search.ehstay-search-clean.ehstay-search-sidebar-vertical > label::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:none!important;
    border:0!important;
}


    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_sidebar_individual,
    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_period_sidebar_individual{
        align-self:stretch!important;
        width:100%!important;
        max-width:100%!important;
    }



/* v4.0.238 — regressão: controles de data dos 4 buscadores são campos, não botões primários. */
.elementor-widget-essencial_hosp_search .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period .eh-search-range-trigger,
.elementor-widget-essencial_hosp_search_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-date-trigger,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-range-trigger{
  background:#f1f2f2!important;
  background-color:#f1f2f2!important;
  color:#5f6663!important;
  border:1px solid #e1e5e3!important;
  box-shadow:none!important;
  font-weight:400!important;
}

.elementor-widget-essencial_hosp_search .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period .eh-search-range-trigger:hover,
.elementor-widget-essencial_hosp_search_sidebar_individual .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-date-trigger:hover,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-search-range-trigger:hover{background:#eceeed!important;background-color:#eceeed!important;color:#17231f!important;}



/* v4.0.278 — widgets laterais: filhos do formulário em linha, preservando o resumo de preço. */
body .elementor .elementor-widget-essencial_hosp_search_sidebar_individual form.ehstay-search-sidebar-vertical > *,
body .elementor .elementor-widget-essencial_hosp_search_period_sidebar_individual form.ehstay-search-sidebar-vertical > * {
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  display:flex !important;
  flex-direction:row !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.elementor-widget-essencial_hosp_search_sidebar_individual .eh-room-sidebar-price-summary,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-room-sidebar-price-summary{
 display:flex!important;flex-direction:row!important;align-items:baseline!important;flex-wrap:nowrap!important;gap:4px!important;white-space:nowrap!important;width:100%!important;font-size:16px!important;
}
.elementor-widget-essencial_hosp_search_sidebar_individual .eh-room-sidebar-price-summary .eh-price-value,
.elementor-widget-essencial_hosp_search_period_sidebar_individual .eh-room-sidebar-price-summary .eh-price-value{font-weight:700!important;font-size:18px!important;}


/* =========================================================
   v4.0.283 — sidebar da página individual
   - Mesma coluna sticky compacta dos buscadores laterais originais.
   - A coluna termina junto com o card; não cria faixa branca até o fim.
   - Tablet/mobile permanecem no fluxo normal.
   ========================================================= */
@media (min-width:1025px){
    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_sidebar_individual,
    body .elementor .e-con.eh-hosp-results-search-sticky-column >
    .elementor-widget-essencial_hosp_search_period_sidebar_individual{
        align-self:stretch!important;
        width:100%!important;
        max-width:100%!important;
    }
}

/* =========================================================
   v4.0.284 — galeria da página individual
   - Capa desktop ligeiramente mais baixa.
   - Miniaturas desktop com mais altura para não ficarem espremidas.
   - Capa mobile mais baixa, preservando largura e object-fit.
   ========================================================= */
@media (min-width:1025px){
    .eh-room-gallery-main img,
    .eh-rsp-gallery .eh-room-gallery-main img{
        height:460px!important;
        object-fit:cover!important;
    }
    .eh-room-gallery-thumbs .eh-room-gallery-thumb,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb,
    .eh-room-gallery-thumbs .eh-room-gallery-thumb img,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb img{
        height:96px!important;
    }
}
@media (max-width:768px){
    .eh-room-gallery-main img,
    .eh-rsp-gallery .eh-room-gallery-main img{
        height:230px!important;
        object-fit:cover!important;
    }
}


/* =========================================================
   v4.0.285 — refinamento isolado da galeria individual
   - Desktop: miniaturas ligeiramente mais altas.
   - Mobile: capa ligeiramente mais alta.
   ========================================================= */
@media (min-width:1025px){
    .eh-room-gallery-thumbs .eh-room-gallery-thumb,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb,
    .eh-room-gallery-thumbs .eh-room-gallery-thumb img,
    .eh-rsp-gallery .eh-room-gallery-thumbs .eh-room-gallery-thumb img{
        height:106px!important;
    }
}
@media (max-width:768px){
    .eh-room-gallery-main img,
    .eh-rsp-gallery .eh-room-gallery-main img{
        height:250px!important;
    }
}
\n\n/* v4.0.294 — preview do checkout no Elementor: mesmo componente visual, sem ações reais. */\n.elementor-editor-active .eh-editor-checkout-preview button:disabled,\n.elementor-editor-active .eh-editor-checkout-preview input:disabled,\n.elementor-editor-active .eh-editor-checkout-preview textarea:disabled { opacity: 1; }\n.elementor-editor-active .eh-editor-checkout-preview { pointer-events: none; }\n

/* =========================================================
   v4.0.300 — Minha Conta: fundo #f8f5ee garantido + respiro mobile.
   Alteração isolada da página Minha Conta (page-id-15).
   ========================================================= */
body.page-id-15,
body.page-id-15 main.site-main,
body.page-id-15 main.site-main > .elementor,
body.page-id-15 .elementor-15,
body.page-id-15 .elementor-15 > .e-con.e-parent {
    box-sizing: border-box;
    background-color: #f8f5ee !important;
}

@media (min-width: 768px) {
    body.page-id-15 .ehstay-account,
    body.page-id-15 .ehstay-account-auth,
    body.page-id-15 .ehstay-booking-details,
    body.page-id-15 .ehstay-status {
        padding: 32px !important;
        border-radius: var(--eh-radius-md) !important;
        box-shadow: 0 10px 36px rgba(20, 40, 30, .05);
        margin-top: 63px;
        margin-bottom: 63px;
        background-color: #fff;
    }
}

@media (max-width: 767px) {
    body.page-id-15 main.site-main {
        padding-top: 65px;
        padding-right: 10px;
        padding-bottom: 65px;
        padding-left: 10px;
    }
    body.page-id-15 .ehstay-account,
    body.page-id-15 .ehstay-account-auth,
    body.page-id-15 .ehstay-booking-details,
    body.page-id-15 .ehstay-status {
        padding: 10px !important;
        background-color: #fff;
    }
}

/* v4.0.301 — Minha Conta: desktop 63px top/bottom; mobile 65px top/bottom. */

/* v4.0.304 — Minha Conta: ajuste exclusivamente desktop */
@media (min-width: 768px) {
  body.page-id-15 .ehstay-account {
    margin-top: 65px !important;
    margin-bottom: 65px !important;
  }
}


/* v4.0.304 — Área do hóspede: padrão visual compartilhado entre as abas
   Visão geral / Minhas reservas / Meus dados / Segurança */
body.page-id-15,
body.page-template-default:has(.ehstay-booking-details),
body.page-template-default:has(.ehstay-account-auth),
body.page-template-default:has(.ehstay-status) {
    background-color: #f8f5ee !important;
}

body.page-id-15 main.site-main,
body.page-template-default:has(.ehstay-booking-details) main.site-main,
body.page-template-default:has(.ehstay-account-auth) main.site-main,
body.page-template-default:has(.ehstay-status) main.site-main,
body.page-id-15 main.site-main > .elementor,
body.page-template-default:has(.ehstay-booking-details) main.site-main > .elementor,
body.page-template-default:has(.ehstay-account-auth) main.site-main > .elementor,
body.page-template-default:has(.ehstay-status) main.site-main > .elementor {
    background-color: #f8f5ee !important;
}

/* Cards das páginas da Área do hóspede permanecem brancos. */
.ehstay-account,
.ehstay-account-auth,
.ehstay-booking-details,
.ehstay-status {
    background-color: #fff !important;
}

/* Mobile: mesmo acabamento da Visão geral, sem alterar o espaçamento externo
   já acertado na v4.0.304. */
@media (max-width: 767px) {
    .ehstay-account,
    .ehstay-account-auth,
    .ehstay-booking-details,
    .ehstay-status {
        padding: 10px !important;
    }
}

/* =========================================================
   v4.0.313 — Área do hóspede: fundo #f8f5ee por seletores reais
   Base: v4.0.304. v4.0.305 descartada.
   HTML confirmado: Minhas reservas=16, Meus dados=23, Segurança=17.
   ========================================================= */
body.page-id-16,
body.page-id-17,
body.page-id-23,
body.page-id-16 main.site-main,
body.page-id-17 main.site-main,
body.page-id-23 main.site-main,
body.page-id-16 main.site-main > .elementor-16,
body.page-id-17 main.site-main > .elementor-17,
body.page-id-23 main.site-main > .elementor-23,
body.page-id-16 .elementor-16 > .e-con.e-parent,
body.page-id-17 .elementor-17 > .e-con.e-parent,
body.page-id-23 .elementor-23 > .e-con.e-parent,
body.page-id-16 .elementor-element-5c11a23e,
body.page-id-17 .elementor-element-1a34016,
body.page-id-23 .elementor-element-1c646039 {
    background: #f8f5ee !important;
    background-color: #f8f5ee !important;
}

/* O conteúdo/card da conta continua branco; somente o fundo externo muda. */
body.page-id-16 .ehstay-account,
body.page-id-17 .ehstay-account,
body.page-id-23 .ehstay-account {
    background: #fff !important;
    background-color: #fff !important;
}


/* v4.0.313 — Área do Hóspede: espaçamento externo uniforme das 4 abas
   Desktop: 65px top/bottom | Mobile: 68px top/bottom.
   Não altera padding interno dos cards. */
@media (min-width: 768px) {
    body:has(.elementor-15) main.site-main,
    body:has(.elementor-16) main.site-main,
    body:has(.elementor-17) main.site-main,
    body:has(.elementor-23) main.site-main {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }

    body:has(.elementor-15) .ehstay-account,
    body:has(.elementor-16) .ehstay-account,
    body:has(.elementor-17) .ehstay-account,
    body:has(.elementor-23) .ehstay-account {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    body:has(.elementor-15) main.site-main,
    body:has(.elementor-16) main.site-main,
    body:has(.elementor-17) main.site-main,
    body:has(.elementor-23) main.site-main {
        padding-top: 68px !important;
        padding-bottom: 68px !important;
    }

    body:has(.elementor-15) .ehstay-account,
    body:has(.elementor-16) .ehstay-account,
    body:has(.elementor-17) .ehstay-account,
    body:has(.elementor-23) .ehstay-account {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* v4.0.313 — Área do Hóspede
   Correção específica pelos page-ids reais:
   page-id-16 = Minhas Reservas
   page-id-23 = Meus Dados
   Desktop: 65px externos top/bottom
   Mobile: 68px externos top/bottom
   Sem alterar padding interno dos cards. */

body.page-id-16 main.site-main,
body.page-id-23 main.site-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Neutraliza somente espaçamento VERTICAL externo dos wrappers que estava
   somando com o respiro da página. Não mexe em padding lateral nem no card. */
body.page-id-16 main.site-main > .elementor,
body.page-id-23 main.site-main > .elementor,
body.page-id-16 main.site-main > .elementor > .e-con.e-parent,
body.page-id-23 main.site-main > .elementor > .e-con.e-parent {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (min-width: 768px) {
    body.page-id-16 main.site-main,
    body.page-id-23 main.site-main {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }
}

@media (max-width: 767px) {
    body.page-id-16 main.site-main,
    body.page-id-23 main.site-main {
        padding-top: 68px !important;
        padding-bottom: 68px !important;
    }
}


/* v4.0.313 — Página individual da acomodação:
   Características sem cards, em grade compacta de ícones.
   Desktop 5 / Tablet 5 / Mobile 4. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:18px 12px!important;
    align-items:start!important;
    background:transparent!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    text-align:center!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    display:grid!important;
    place-items:center!important;
    margin:0 auto!important;
    border-radius:10px!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg{
    width:19px!important;
    height:19px!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    white-space:normal!important;
    line-height:1.25!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt{
    color:#66736d!important;
    font-weight:400!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt::after{content:":"}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{
    font-weight:700!important;
}
@media (min-width:768px) and (max-width:1024px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards{
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
    }
}
@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:16px 8px!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{
        width:34px!important;
        height:34px!important;
        flex-basis:34px!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{
        font-size:11px!important;
    }
}


/* v4.0.313 — Características da acomodação
   Desktop/tablet: 5 por linha, ícone + texto na horizontal.
   Mobile: 4 por linha, ícone acima e texto abaixo.
   Corrige também o espaço após os dois-pontos. */

@media (min-width:768px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{
        flex-direction:row!important;
        align-items:center!important;
        justify-content:center!important;
        gap:9px!important;
        text-align:left!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{
        margin:0!important;
        flex:0 0 36px!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{
        width:auto!important;
        text-align:left!important;
    }
}

/* O valor precisa respirar depois de "Adultos:", "Vista:", etc. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt::after{
    content:": "!important;
    white-space:pre!important;
}

@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{
        flex-direction:column!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        text-align:center!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{
        margin:0 auto!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{
        width:100%!important;
        text-align:center!important;
    }
}


/* v4.0.313 — Características e Comodidades da acomodação
   - conteúdo começa pela esquerda; sobra de espaço fica à direita
   - características: sem cards
   - comodidades: mesmo padrão visual, sem cards
   - desktop/tablet: ícone + texto lado a lado
   - mobile: ícone acima + texto abaixo, 4 por linha */

/* Características: em vez de colunas 1fr que centralizam visualmente os itens
   pela largura inteira, usamos cinco trilhas compactas ancoradas à esquerda. */
@media (min-width:768px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards{
        grid-template-columns:repeat(5,max-content)!important;
        justify-content:start!important;
        justify-items:start!important;
        column-gap:34px!important;
        row-gap:18px!important;
        width:100%!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{
        justify-content:flex-start!important;
        justify-self:start!important;
        width:auto!important;
    }
}

/* Comodidades: remove card/borda/fundo e usa a mesma grade compacta. */
.single-ehstay_room .eh-dynamic-room-amenities,
.single-ehstay_room .eh-room-amenities,
.single-ehstay_room .ehstay-room-amenities,
.single-ehstay_room .room-amenities{
    display:grid!important;
    align-items:start!important;
    justify-content:start!important;
    background:transparent!important;
}

.single-ehstay_room .eh-dynamic-room-amenities > *,
.single-ehstay_room .eh-room-amenities > *,
.single-ehstay_room .ehstay-room-amenities > *,
.single-ehstay_room .room-amenities > *{
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    border-radius:0!important;
    margin:0!important;
}

/* Cobertura dos itens de comodidade usados pelo tema/plugin. */
.single-ehstay_room .eh-room-amenity,
.single-ehstay_room .ehstay-room-amenity,
.single-ehstay_room .room-amenity,
.single-ehstay_room .eh-amenity-item{
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    border-radius:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    text-align:left!important;
    min-width:0!important;
}

@media (min-width:768px){
    .single-ehstay_room .eh-dynamic-room-amenities,
    .single-ehstay_room .eh-room-amenities,
    .single-ehstay_room .ehstay-room-amenities,
    .single-ehstay_room .room-amenities{
        grid-template-columns:repeat(5,max-content)!important;
        column-gap:34px!important;
        row-gap:18px!important;
    }
}

/* Mobile: mantém a composição vertical e 4 por linha nas duas seções. */
@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        justify-content:stretch!important;
        justify-items:center!important;
    }

    .single-ehstay_room .eh-dynamic-room-amenities,
    .single-ehstay_room .eh-room-amenities,
    .single-ehstay_room .ehstay-room-amenities,
    .single-ehstay_room .room-amenities{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:16px 8px!important;
        width:100%!important;
    }

    .single-ehstay_room .eh-room-amenity,
    .single-ehstay_room .ehstay-room-amenity,
    .single-ehstay_room .room-amenity,
    .single-ehstay_room .eh-amenity-item{
        flex-direction:column!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        text-align:center!important;
    }
}


/* v4.0.313 — Comodidades: seletores reais do widget
   HTML: .eh-dynamic-amenities.is-grid > span > .eh-amenity-grid-icon
   Desktop 5 | Tablet 5 | Mobile 4
   Sem cards/bordas/fundos por item. */

.single-ehstay_room .eh-dynamic-amenities.is-grid{
    display:grid!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    align-items:start!important;
}

.single-ehstay_room .eh-dynamic-amenities.is-grid > span{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-align:left!important;
}

.single-ehstay_room .eh-dynamic-amenities.is-grid > span .eh-amenity-grid-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
}

.single-ehstay_room .eh-dynamic-amenities.is-grid > span .eh-amenity-grid-icon svg{
    width:18px!important;
    height:18px!important;
}

@media (min-width:768px){
    .single-ehstay_room .eh-dynamic-amenities.is-grid{
        grid-template-columns:repeat(5,max-content)!important;
        justify-content:start!important;
        justify-items:start!important;
        column-gap:34px!important;
        row-gap:18px!important;
    }
}

@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-amenities.is-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        justify-content:stretch!important;
        justify-items:center!important;
        gap:16px 8px!important;
    }

    .single-ehstay_room .eh-dynamic-amenities.is-grid > span{
        flex-direction:column!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        width:100%!important;
        text-align:center!important;
        font-size:11px!important;
        line-height:1.25!important;
    }

    .single-ehstay_room .eh-dynamic-amenities.is-grid > span .eh-amenity-grid-icon{
        flex-basis:34px!important;
        width:34px!important;
        height:34px!important;
        margin:0 auto!important;
    }
}


/* v4.0.315 — aviso de estadia inválida sem retirar o hóspede da acomodação. */
.eh-room-stay-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.46)}
.eh-room-stay-modal[hidden]{display:none!important}.eh-room-stay-modal__box{width:min(460px,100%);background:#fff;border-radius:14px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.22);text-align:center}.eh-room-stay-modal__title{margin:0 0 10px;font-size:20px;line-height:1.25;color:#172033}.eh-room-stay-modal__message{margin:0 0 20px;color:#4b5563;line-height:1.55}.eh-room-stay-modal__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:0;border-radius:8px;background:var(--eh-primary,#dcae58);color:#fff!important;font:inherit;font-weight:700;cursor:pointer}.eh-room-stay-modal__button:hover,.eh-room-stay-modal__button:focus{filter:none;opacity:1}

/* =========================================================
   v4.0.319 — padronização de Características e Comodidades
   Acomodações, Resultado da busca e Acomodação individual.
   Duas colunas em fluxo natural: item 1 esquerda, item 2 direita.
   ========================================================= */
.eh-generic-check-icon{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;color:var(--eh-accent,#245f4e)}
.eh-generic-check-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Página Acomodações: foto principal com o mesmo porte do resultado de busca. */
.elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-main,
.elementor .eh-v40115-accommodation-gallery .eh-room-gallery-main{max-width:570px!important;width:100%!important}
.elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-main img,
.elementor .eh-v40115-accommodation-gallery .eh-room-gallery-main img{width:100%!important;height:300px!important;object-fit:cover!important;object-position:center!important}

/* Acomodações: características existentes em duas colunas. */
.elementor [data-id^="v40118-acc-info-col-"] .eh-dynamic-room-attributes.is-list,
.elementor .eh-v40115-accommodation-info .eh-dynamic-room-attributes.is-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 22px!important}
.elementor [data-id^="v40118-acc-info-col-"] .eh-dynamic-room-attributes.is-list::before,
.elementor .eh-v40115-accommodation-info .eh-dynamic-room-attributes.is-list::before{content:'Características da acomodação';grid-column:1/-1;display:block;font-weight:700;margin-bottom:2px;color:var(--eh-text,#202824)}
.elementor [data-id^="v40118-acc-info-col-"] .eh-room-attr-row .eh-room-attr-icon,
.elementor .eh-v40115-accommodation-info .eh-room-attr-row .eh-room-attr-icon{display:none!important}
.elementor [data-id^="v40118-acc-info-col-"] .eh-room-attr-row,
.elementor .eh-v40115-accommodation-info .eh-room-attr-row{display:flex!important;align-items:flex-start!important;gap:6px!important;min-width:0!important}
.elementor [data-id^="v40118-acc-info-col-"] .eh-room-attr-row::before,
.elementor .eh-v40115-accommodation-info .eh-room-attr-row::before{content:'✓';font-weight:800;color:var(--eh-accent,#245f4e);flex:0 0 auto}

/* Acomodações: comodidades sem círculo, título separado e grade 2 colunas. */
.eh-accommodation-list-section{display:block;width:100%;margin-top:4px}
.eh-accommodation-list-heading{display:block;margin:0 0 9px;font-weight:700;color:var(--eh-text,#202824)}
.eh-dynamic-amenities.is-list-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px 22px!important}
.eh-dynamic-amenities.is-list-grid>span{display:flex!important;align-items:flex-start!important;gap:7px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important}

/* Resultado da busca: mesmas duas seções e mesma distribuição. */
.eh-results-detail-section{width:100%;margin-top:20px}
.eh-results-detail-heading{display:block;margin:0 0 10px;font-weight:700;color:var(--eh-text,#202824)}
.eh-results-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px}
.eh-results-detail-item{display:flex;align-items:flex-start;gap:7px;min-width:0;line-height:1.4}
.eh-results-detail-item span{min-width:0;overflow-wrap:anywhere}

/* Individual: exatamente duas colunas e check genérico para tudo. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards,
.single-ehstay_room .eh-dynamic-amenities.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important;justify-items:stretch!important;gap:12px 24px!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card{width:100%!important;justify-content:flex-start!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{display:grid!important;place-items:center!important;flex:0 0 22px!important;width:22px!important;height:22px!important;background:transparent!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg{display:none!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon::before{content:'✓';font-weight:800;color:var(--eh-accent,#245f4e)}
.single-ehstay_room .eh-dynamic-amenities.is-grid>span .eh-amenity-grid-icon{width:22px!important;height:22px!important;flex:0 0 22px!important;border-radius:0!important;background:transparent!important}
.single-ehstay_room .eh-dynamic-amenities.is-grid>span .eh-amenity-grid-icon svg{width:17px!important;height:17px!important}

@media(max-width:767px){
 .elementor [data-id^="v40118-acc-info-col-"] .eh-dynamic-room-attributes.is-list,
 .elementor .eh-v40115-accommodation-info .eh-dynamic-room-attributes.is-list,
 .eh-dynamic-amenities.is-list-grid,
 .eh-results-detail-grid,
 .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
 .single-ehstay_room .eh-dynamic-amenities.is-grid{grid-template-columns:1fr!important}
 .elementor [data-id^="v40118-acc-gallery-col-"] .eh-room-gallery-main img,
 .elementor .eh-v40115-accommodation-gallery .eh-room-gallery-main img{height:260px!important}
 .single-ehstay_room .eh-dynamic-amenities.is-grid>span{flex-direction:row!important;align-items:flex-start!important;text-align:left!important;font-size:inherit!important;width:100%!important}
}
\n\n/* =========================================================
   v4.0.320 — ajustes finais de Características / Comodidades
   - Resultado: mantém apenas Características.
   - Acomodações: Características 2 colunas; Comodidades preservadas.
   - Individual: Características e Comodidades 5/5/4.
   - Check Características laranja; Comodidades verde.
   ========================================================= */

/* Cor semântica dos checks nas páginas de listagem. */
.elementor [data-id^="v40118-acc-info-col-"] .eh-room-attr-row::before,
.elementor .eh-v40115-accommodation-info .eh-room-attr-row::before,
.eh-results-detail-section .eh-generic-check-icon{
    color:#EA8424!important;
}
.elementor [data-id^="v40118-acc-info-col-"] .eh-accommodation-list-amenities .eh-generic-check-icon,
.elementor .eh-v40115-accommodation-info .eh-accommodation-list-amenities .eh-generic-check-icon{
    color:#277A4B!important;
}

/* Página Acomodações: título e características em 2 colunas automáticas. */
.elementor [data-id^="v40118-acc-info-col-"] .eh-dynamic-room-attributes.is-list,
.elementor .eh-v40115-accommodation-info .eh-dynamic-room-attributes.is-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 22px!important;
}
.elementor [data-id^="v40118-acc-info-col-"] .eh-dynamic-room-attributes.is-list::before,
.elementor .eh-v40115-accommodation-info .eh-dynamic-room-attributes.is-list::before{
    content:'Características da acomodação'!important;
    grid-column:1/-1!important;
    display:block!important;
    font-weight:700!important;
}

/* Página individual: somente reorganiza a grade dos checks já aplicados. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards,
.single-ehstay_room .eh-dynamic-amenities.is-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    gap:16px 12px!important;
    width:100%!important;
}

/* Características = laranja. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon,
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon::before{
    color:#EA8424!important;
}

/* Comodidades = verde. */
.single-ehstay_room .eh-dynamic-amenities.is-grid .eh-amenity-grid-icon,
.single-ehstay_room .eh-dynamic-amenities.is-grid .eh-amenity-grid-icon svg{
    color:#277A4B!important;
    stroke:#277A4B!important;
}

/* Tablet continua com 5 por linha. */
@media (min-width:768px) and (max-width:1024px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
    .single-ehstay_room .eh-dynamic-amenities.is-grid{
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
    }
}

/* Mobile: 4 por linha, mantendo o visual/check atual. */
@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
    .single-ehstay_room .eh-dynamic-amenities.is-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:14px 8px!important;
    }
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
    .single-ehstay_room .eh-dynamic-amenities.is-grid>span{
        min-width:0!important;
    }
}


/* =========================================================
   v4.0.321 — correção pontual das Características
   - Lista de Acomodações: substitui os SVGs antigos pelo check laranja.
   - Mantém rótulo e valor com o mesmo peso tipográfico (sem negrito forçado).
   - Resultado da busca: rótulos de Características sem negrito.
   ========================================================= */
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row .eh-room-attr-check{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    height:auto!important;
    flex:0 0 auto!important;
    background:transparent!important;
    color:#EA8424!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1!important;
}
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dt,
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    font-weight:400!important;
}
.eh-results-detail-item span,
.eh-results-detail-item span b,
.eh-results-detail-item span strong{
    font-weight:400!important;
}


/* =========================================================
   v4.0.322 — alinhamento final de tipografia e grade
   - Página Acomodações: Características em 2 colunas.
   - Características e Comodidades usam 14px como fonte padrão do front.
   - Preserva as regras 5/5/4 da página individual.
   ========================================================= */

/* Fonte padrão única para os itens e títulos das duas seções. */
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dt,
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dd,
.eh-accommodation-list-section .eh-dynamic-amenities.is-list-grid > span,
.eh-results-detail-grid .eh-results-detail-item,
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
.single-ehstay_room .eh-dynamic-amenities.is-grid > span{
    font-size:14px!important;
    line-height:1.4!important;
}
.elementor .eh-dynamic-room-attributes.is-list::before,
.eh-accommodation-list-heading,
.eh-results-detail-heading{
    font-size:14px!important;
    line-height:1.4!important;
}

/* Página Acomodações: força o widget real de Características a duas colunas. */
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:10px 28px!important;
    width:100%!important;
}
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list::before{
    grid-column:1/-1!important;
}
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    width:100%!important;
}
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dt,
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    flex:0 0 auto!important;
    font-weight:400!important;
}

/* Mobile da listagem: evita esmagar textos longos. A individual continua 4 por linha. */
@media(max-width:767px){
    body:not(.single-ehstay_room) .elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px 14px!important;
    }
}


/* =========================================================
   v4.0.324 — Acomodações: título, capa e peso dos valores
   - Título Características da acomodação no widget real da listagem.
   - Capa usa exatamente as alturas do card de Resultado da Busca.
   - Rótulos normais; valores em negrito nas 3 apresentações.
   ========================================================= */

/* O HTML real da página Acomodações usa .eh-rsp-info/.eh-rsp-gallery. */
.eh-rsp-card .eh-rsp-info .elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list::before{
    content:'Características da acomodação'!important;
    display:block!important;
    grid-column:1/-1!important;
    margin:0 0 2px!important;
    font-size:14px!important;
    line-height:1.4!important;
    font-weight:700!important;
    color:var(--eh-text,#202824)!important;
}

/* Mesma capa do Resultado da Busca: 300 desktop, 260 tablet, 250 mobile, 220 mobile estreito. */
.eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main{
    width:100%!important;
    max-width:570px!important;
    height:300px!important;
    min-height:0!important;
    overflow:hidden!important;
}
.eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}
@media (min-width:769px) and (max-width:1000px){
    .eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main{height:260px!important}
}
@media (max-width:768px){
    .eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main{height:250px!important}
}
@media (max-width:500px){
    .eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main{height:220px!important}
}

/* Características: rótulo normal e valor em bold. Vale para listagem e individual. */
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-room-attr-row dt,
.single-ehstay_room .eh-dynamic-room-attributes .eh-room-attr-card dt{font-weight:400!important}
.elementor-widget-essencial_hosp_room_attributes_dynamic .eh-room-attr-row dd,
.single-ehstay_room .eh-dynamic-room-attributes .eh-room-attr-card dd{font-weight:700!important}

/* Resultado da busca: somente o valor, marcado por strong, fica bold. */
.eh-results-detail-item span{font-weight:400!important}
.eh-results-detail-item span strong{font-weight:700!important}

/* =========================================================
   v4.0.324 — Acomodações: composição desktop mais compacta
   - amplia a coluna da galeria;
   - reduz o respiro entre galeria, informações e preço/ações;
   - não altera tablet/mobile nem o conteúdo/visual dos widgets.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        display:grid!important;
        grid-template-columns:minmax(0,40%) minmax(0,38%) minmax(0,22%)!important;
        column-gap:0!important;
        align-items:center!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        width:100%!important;
        max-width:none!important;
        padding-right:18px!important;
        margin:0!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info{
        width:100%!important;
        max-width:none!important;
        padding-left:18px!important;
        padding-right:18px!important;
        margin:0!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        width:100%!important;
        max-width:none!important;
        padding-left:18px!important;
        margin:0!important;
    }
    .eh-rsp-card .eh-rsp-gallery .eh-room-gallery-main{
        max-width:none!important;
    }
}


/* =========================================================
   v4.0.325 — Acomodações: equilíbrio horizontal no desktop
   - preserva exatamente a largura da coluna da galeria da 4.0.324;
   - desloca o bloco central um pouco para a direita;
   - cria o mesmo respiro entre galeria↔informações e informações↔ações.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        grid-template-columns:minmax(0,40%) minmax(0,1fr) minmax(0,22%)!important;
        column-gap:14px!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        padding-right:18px!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info{
        padding-left:18px!important;
        padding-right:18px!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        padding-left:18px!important;
    }
}

/* =========================================================
   v4.0.328 — Acomodações: galeria maior + alinhamento vertical
   Base funcional: v4.0.325, preservando o equilíbrio obtido na 4.0.327.
   Desktop apenas:
   - amplia levemente a galeria de 40% para 43%;
   - divide igualmente todo o espaço restante entre informações e ações;
   - mantém os gaps/paddings horizontais existentes;
   - centraliza verticalmente apenas informações e ações, sem subir o conteúdo;
   - tablet/mobile permanecem intactos.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        display:grid!important;
        grid-template-columns:minmax(0,43%) minmax(0,1fr) minmax(0,1fr)!important;
        column-gap:14px!important;
        align-items:stretch!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info,
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        flex:none!important;
        flex-basis:auto!important;
        margin-left:0!important;
        margin-right:0!important;
    }

    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        align-self:start!important;
        padding-right:18px!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-info{
        align-self:center!important;
        padding-left:18px!important;
        padding-right:18px!important;
    }
    .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-actions{
        align-self:center!important;
        padding-left:18px!important;
    }
}


/* =========================================================
   v4.0.330 — Acomodações: ajuste fino de 30px entre Informações e Preço
   Desktop apenas:
   - mantém a galeria exatamente em 43%;
   - reduz a coluna de preço/ações em apenas 30px;
   - transfere exatamente esses 30px para a coluna de Informações;
   - tablet/mobile permanecem intactos.
   ========================================================= */
@media (min-width:1001px){
    .eh-rsp-card > .eh-rsp-card-inner{
        grid-template-columns:minmax(0,43%) minmax(0,calc((57% - 28px)/2 + 30px)) minmax(0,calc((57% - 28px)/2 - 30px))!important;
    }
}


/* =========================================================
   v4.0.331 — Características + resumo em até 3 linhas
   - valores das Características em negrito;
   - páginas Acomodações e Resultado da Busca: descrição/resumo
     limitado visualmente a 3 linhas; o JS adiciona " […]" apenas
     quando houver conteúdo excedente.
   ========================================================= */
.eh-dynamic-room-attributes.is-list .eh-room-attr-row dd,
.eh-results-room-attributes .eh-results-attr strong,
.eh-results-room-attributes-full .eh-results-attr strong{
    font-weight:700!important;
}

.eh-rsp-card .elementor-widget-essencial_hosp_room_excerpt_dynamic .eh-dynamic-room-excerpt,
.eh-results-room-excerpt{
    overflow:hidden!important;
}


/* =========================================================
   v4.0.332 — peso correto dos valores de Características
   - Acomodações: dt normal, dd em bold.
   - Resultado da Busca: rótulo normal, somente strong do valor em bold.
   - Seletores finais e específicos para vencer regras antigas do Elementor/theme.
   ========================================================= */
body:not(.single-ehstay_room) .elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dt{
    font-weight:400!important;
}
body:not(.single-ehstay_room) .elementor-widget-essencial_hosp_room_attributes_dynamic .eh-dynamic-room-attributes.is-list .eh-room-attr-row dd{
    font-weight:700!important;
}
.eh-results-detail-section .eh-results-detail-grid .eh-results-detail-item > span{
    font-weight:400!important;
}
.eh-results-detail-section .eh-results-detail-grid .eh-results-detail-item > span > strong{
    font-weight:700!important;
}


/* =========================================================
   v4.0.333 — Resultado da Busca: padding interno padrão 18px
   Mantém 18px entre a borda externa e o conteúdo dos dois cards.
   Especificidade reforçada para prevalecer sobre valores salvos no Elementor.
   ========================================================= */
body .elementor-widget-essencial_hosp_results_recommendation .eh-results-recommendation,
body .elementor-widget-essencial_hosp_results_available_cards .eh-results-room-card,
body .elementor-widget-essencial_hosp_results_page .eh-results-recommendation,
body .elementor-widget-essencial_hosp_results_page .eh-results-room-card{
    padding:18px !important;
    box-sizing:border-box !important;
}

/* =========================================================
   v4.0.335 — Resultado da Busca: ajuste fino da coluna Preço/Ações
   Desktop apenas. Mantém o padding externo de 18px e a largura total do card.
   A coluna direita fica em 295px (+15px sobre a base de 280px) e seus botões
   usam toda a largura útil da coluna, chegando ao respiro direito do card.
   ========================================================= */
@media (min-width:1001px){
    body .elementor-widget-essencial_hosp_results_available_cards .eh-results-room-body,
    body .elementor-widget-essencial_hosp_results_page .eh-results-room-body{
        grid-template-columns:minmax(0,1fr) 295px!important;
    }
    body .elementor-widget-essencial_hosp_results_available_cards .eh-results-room-actions .eh-results-button,
    body .elementor-widget-essencial_hosp_results_page .eh-results-room-actions .eh-results-button{
        width:100%!important;
        max-width:none!important;
    }
}


/* v4.0.336 — Acomodação individual: Características/Comodidades e resumo do calendário.
   Base: v4.0.335. Desktop 4 | Tablet 3 | Mobile 2. Tipografia 14px.
   Grid em fluxo por linha: item 1 esquerda, item 2 direita/seguinte, sucessivamente. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards,
.single-ehstay_room .eh-dynamic-amenities.is-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    gap:12px 18px!important;
    width:100%!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
.single-ehstay_room .eh-dynamic-amenities.is-grid>span{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    text-align:left!important;
    font-size:14px!important;
    line-height:1.4!important;
}
/* Características: check laranja, sem os antigos pictogramas. */
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon{
    width:16px!important;height:16px!important;flex:0 0 16px!important;
    display:grid!important;place-items:center!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:transparent!important;color:#c9973e!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon svg{display:none!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-icon::before{
    content:"✓"!important;font-size:15px!important;line-height:1!important;font-weight:700!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card>span:last-child{
    display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:0!important;
    width:auto!important;min-width:0!important;white-space:normal!important;text-align:left!important;line-height:1.4!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{
    display:inline!important;margin:0!important;padding:0!important;font-size:14px!important;line-height:1.4!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt{font-weight:400!important;color:inherit!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dt::after{content:": "!important;white-space:pre!important}
.single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{font-weight:700!important}
/* Comodidades: mesmo layout/tamanho; check verde. */
.single-ehstay_room .eh-dynamic-amenities.is-grid>span .eh-amenity-grid-icon{
    width:16px!important;height:16px!important;flex:0 0 16px!important;
    display:grid!important;place-items:center!important;margin:0!important;padding:0!important;
    border:0!important;border-radius:0!important;background:transparent!important;color:#277a4b!important;
}
.single-ehstay_room .eh-dynamic-amenities.is-grid>span .eh-amenity-grid-icon svg{
    width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;
}
@media (min-width:768px) and (max-width:1024px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
    .single-ehstay_room .eh-dynamic-amenities.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:767px){
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards,
    .single-ehstay_room .eh-dynamic-amenities.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 14px!important}
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards .eh-room-attr-card,
    .single-ehstay_room .eh-dynamic-amenities.is-grid>span{font-size:14px!important;flex-direction:row!important;text-align:left!important;align-items:center!important}
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards dt,
    .single-ehstay_room .eh-dynamic-room-attributes.is-cards dd{font-size:14px!important}
}
/* Resumo superior do calendário fixo no mesmo padrão tipográfico. */
.single-ehstay_room .eh-room-availability-fixed [data-room-cal-summary]{font-size:11px!important;line-height:1.4!important}

/* v4.0.338 — Acomodação individual: resumo do período em faixa própria acima das setas. */
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    grid-template-rows:auto 38px!important;
    align-items:center!important;
    row-gap:4px!important;
    padding:6px 8px!important;
}
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-summary]{
    grid-column:1 / -1!important;
    grid-row:1!important;
    justify-self:center!important;
    width:100%!important;
    margin:0!important;
    padding:0 4px!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:700!important;
    white-space:normal!important;
}
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-prev]{
    grid-column:1!important;
    grid-row:2!important;
    justify-self:start!important;
}
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-next]{
    grid-column:3!important;
    grid-row:2!important;
    justify-self:end!important;
}

/* v4.0.339 — calendário fixo: faixa superior do período em verde, sem respiro externo. */
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar{
    padding:0 14px 7px!important;
    row-gap:7px!important;
    background:#fafaf8!important;
}
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-summary]{
    grid-column:1 / -1!important;
    grid-row:1!important;
    justify-self:stretch!important;
    width:auto!important;
    margin:0 -14px!important;
    padding:5px 14px!important;
    background:var(--eh-primary,#245f4e)!important;
    color:#fff!important;
    border-radius:13px 13px 0 0!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

/* =========================================================
   v4.0.341 — ajustes responsivos finais
   - Calendário fixo: resumo 13px desktop/tablet e 12px mobile.
   - Resultado da busca: Características 4/3/2 por linha.
   ========================================================= */
.single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-summary]{
    font-size:13px!important;
}

/* Resultado da Busca — Características: desktop 4, tablet 3, mobile 2. */
.eh-results-detail-section .eh-results-detail-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:9px 18px!important;
}
@media (min-width:768px) and (max-width:1024px){
    .eh-results-detail-section .eh-results-detail-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}
@media (max-width:767px){
    .single-ehstay_room .eh-room-availability-fixed .eh-room-cal-toolbar [data-room-cal-summary]{
        font-size:12px!important;
    }
    .eh-results-detail-section .eh-results-detail-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px 14px!important;
    }
}

/* =========================================================
   v4.0.341 — paddings verticais por página
   - Acomodações: card 15px no topo em desktop/tablet; 10px no mobile.
   - Acomodações: galeria sem respiro superior/esquerdo próprio; mantém 18px à direita.
   - Acomodação individual: coluna principal mantém 18px no topo.
   ========================================================= */
/* Página Acomodações — padding do card externo. */
body.page-id-31 .eh-rsp-card{
    --padding-top:15px!important;
    --padding-right:18px!important;
    --padding-bottom:18px!important;
    --padding-left:18px!important;
}

/* Página Acomodações — não soma padding/margem extra na galeria. */
@media (min-width:1001px){
    body.page-id-31 .eh-rsp-card > .eh-rsp-card-inner > .eh-rsp-gallery{
        align-self:start!important;
        padding-right:18px!important;
        padding-top:0!important;
        padding-left:0!important;
        margin-top:0!important;
    }
}

/* Mobile da página Acomodações: topo de 10px; demais lados permanecem 18px. */
@media (max-width:767px){
    body.page-id-31 .eh-rsp-card{
        --padding-top:10px!important;
        --padding-right:18px!important;
        --padding-bottom:18px!important;
        --padding-left:18px!important;
    }
}

/* Página individual da acomodação — coluna esquerda: topo fixo em 18px. */
.single-ehstay_room .eh-room-elementor-main{
    --padding-top:18px!important;
}

/* =========================================================
   v4.0.343 — acomodação individual: padding superior da coluna esquerda
   O HTML real usa o container Elementor rpleft01 diretamente.
   Força 18px no próprio container, sem depender da classe do body.
   ========================================================= */
.elementor-element.elementor-element-rpleft01,
.elementor-element-rpleft01.e-con{
    --padding-top:18px!important;
    padding-block-start:18px!important;
}

/* =========================================================
   v4.0.343 — padronização do arredondamento das galerias
   Acomodações + Resultado da Busca: foto principal e miniaturas em 8px,
   seguindo o mesmo acabamento visual da acomodação individual.
   Não altera dimensões, espaçamentos ou comportamento do slider.
   ========================================================= */
/* Página Acomodações — galeria do card. */
body.page-id-31 .eh-rsp-gallery .eh-room-gallery-main,
body.page-id-31 .eh-rsp-gallery .eh-room-gallery-main img,
body.page-id-31 .eh-rsp-gallery .eh-room-gallery-thumb,
body.page-id-31 .eh-rsp-gallery .eh-room-gallery-thumb img{
    border-radius:8px!important;
}

/* Resultado da Busca — foto de capa e slider de miniaturas. */
.eh-results-room-cover,
.eh-results-room-cover img,
.eh-results-room-thumbs .eh-room-gallery-thumb,
.eh-results-room-thumbs .eh-room-gallery-thumb img{
    border-radius:8px!important;
}
