/* Elementor owns container geometry. StayHost supplies only the visual skin. */
.stayhost-elementor-page>.elementor{width:100%;min-width:0}
.stayhost-elementor-page .elementor-element,.stayhost-elementor-location .elementor-element{min-width:0}
.stayhost-elementor-location .stayhost-header-inner.e-con,.stayhost-elementor-location .stayhost-footer-grid.e-con,.stayhost-elementor-location .stayhost-footer-bottom.e-con{display:flex!important;grid-template-columns:none!important}
.stayhost-elementor-header{padding:0}
.stayhost-elementor-header .elementor-widget-shortcode,.stayhost-elementor-footer .elementor-widget-shortcode{margin:0}
.stayhost-elementor-header .stayhost-menu-toggle{position:relative;z-index:2}
.stayhost-elementor-footer .stayhost-credit{display:flex;justify-content:space-between;gap:20px;width:100%}
.stayhost-elementor-page .stayhost-detail-layout{padding:0}
.stayhost-elementor-active .stayhost-hero{width:100%;margin:0;min-height:clamp(420px,60vw,680px)}
.stayhost-elementor-active .stayhost-hero-inner{position:relative;inset:auto;padding-block:clamp(64px,9vw,112px)}
.stayhost-elementor-active .stayhost-section-heading{position:static;top:auto}
.stayhost-elementor-active .stayhost-activity-card{transform:none}
.stayhost-elementor-header{position:relative;inset:auto;border-radius:0}
.stayhost-elementor-footer{padding:0}
@media(max-width:900px){.stayhost-elementor-footer .stayhost-footer-grid.e-con{flex-direction:column}.stayhost-elementor-page .stayhost-el-contact-grid.e-con,.stayhost-elementor-page .stayhost-el-detail-layout.e-con{flex-direction:column}.stayhost-elementor-page .stayhost-el-contact-grid.e-con>.e-con,.stayhost-elementor-page .stayhost-el-detail-layout.e-con>.e-con{width:100%}.stayhost-elementor-header .stayhost-header-inner.e-con{flex-wrap:wrap}.stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-navigation){order:10;width:100%}.stayhost-elementor-header .stayhost-navigation.is-open{display:block}.stayhost-elementor-header .stayhost-menu-toggle{display:block}}
@media(max-width:600px){.stayhost-elementor-active .stayhost-hero{min-height:440px}.stayhost-elementor-active .stayhost-hero-inner{padding-block:56px}.stayhost-elementor-footer .stayhost-credit{display:grid}}

/* Digital Eatery capability pages. Geometry remains Elementor-owned; these rules only skin live restaurant data. */
.stayhost-el-restaurant-hero{background:var(--stayhost-primary);color:#fff}
.stayhost-el-restaurant-hero h1,.stayhost-el-restaurant-hero p{color:inherit}
.stayhost-el-restaurant-actions.e-con{flex-wrap:wrap}
.stayhost-de-menu-intro{max-width:760px;color:var(--stayhost-muted);margin:0 0 28px}
.stayhost-de-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.stayhost-de-menu-card{overflow:hidden;background:var(--stayhost-surface);border:1px solid var(--stayhost-border);border-radius:var(--stayhost-card-radius);box-shadow:0 12px 36px rgba(0,0,0,.06)}
.stayhost-de-menu-media{aspect-ratio:1/1;overflow:hidden;background:var(--stayhost-background)}
.stayhost-de-menu-media img{width:100%;height:100%;object-fit:cover;display:block}
.stayhost-de-menu-copy{padding:20px}
.stayhost-de-menu-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.stayhost-de-menu-title h3{margin:0;font-family:var(--stayhost-heading-font);font-size:1.15rem;line-height:1.25;color:var(--stayhost-text)}
.stayhost-de-menu-title strong{white-space:nowrap;color:var(--stayhost-primary)}
.stayhost-de-menu-copy p{margin:12px 0 0;color:var(--stayhost-muted)}
.stayhost-de-reservations,.stayhost-de-online-ordering{width:100%;min-width:0}
@media(max-width:900px){.stayhost-de-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.stayhost-de-menu-grid{grid-template-columns:1fr}.stayhost-de-menu-title{gap:12px}.stayhost-el-restaurant-actions.e-con{flex-direction:column}.stayhost-el-restaurant-actions.e-con>.elementor-element{width:100%}}

/* Shared layout previews use the same location skin as the published header.
   The backdrop makes transparent, white-on-hero headers visible without a hero. */
body.stayhost-layout-preview .stayhost-elementor-header{position:relative!important;inset:auto!important;background:#26352f;color:#fff;min-width:0;width:100%}
.stayhost-elementor-header :is(.sh-header,.stayhost-header-inner).e-con{--flex-wrap:wrap}
.stayhost-elementor-header .elementor-widget-shortcode:not(.elementor-widget__width-initial):not(.elementor-widget__width-inherit){width:auto;flex:0 1 auto}
.stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-brand){flex-shrink:0}
.stayhost-elementor-header .stayhost-brand img{display:block;width:auto;height:auto;max-width:220px;max-height:52px;object-fit:contain}
.stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-navigation){flex-grow:1}
.stayhost-elementor-header .stayhost-menu{justify-content:center;flex-wrap:wrap;column-gap:clamp(12px,2vw,24px);row-gap:8px}
@media(min-width:901px){.stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-menu-toggle){display:none}}
@media(max-width:900px){
 .stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-brand){max-width:calc(100% - 70px)}
 .stayhost-elementor-header .stayhost-brand img{max-width:100%;max-height:44px}
 .stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-navigation){width:100%;flex-basis:100%;order:10}
 .stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-header-book),
 .stayhost-elementor-header .elementor-widget-shortcode:has(.stayhost-navigation:not(.is-open)){display:none}
}
