/* StayHost Safari Lodge v0.3.19 / Build 22
 * One detail layout only. It reuses the same .stayhost-safari-shell centring
 * primitive as Home and makes the route grid independent of Elementor's
 * generated flex-basis and --width values.
 */
body.stayhost-safari-lodge.safari-detail-request .stayhost-safari-topbar{display:none!important}
body.stayhost-safari-lodge.safari-detail-request.sh-header-style-transparent:not(.sh-header-scrolled) .stayhost-safari-header{top:0!important}
body.stayhost-safari-lodge .safari-detail-route{width:100%;max-width:none;margin:0;padding:0;background:var(--safari-ref-cream,#f5f1e8);overflow-x:hidden}
body.stayhost-safari-lodge .safari-detail-route>.elementor,
body.stayhost-safari-lodge .safari-detail-route>.elementor>.e-con{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding-left:0!important;padding-right:0!important}

/* Full-width hero, same principle as Home. */
body.stayhost-safari-lodge .safari-detail-hero{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.stayhost-safari-lodge .safari-detail-hero>.elementor-widget,
body.stayhost-safari-lodge .safari-detail-hero>.elementor-widget>.elementor-widget-container,
body.stayhost-safari-lodge .safari-detail-hero>.elementor-widget>.elementor-widget-container>.elementor-shortcode{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
body.stayhost-safari-lodge .safari-detail-hero .anywhere-accommodation-detail-hero,
body.stayhost-safari-lodge .safari-detail-hero .anyexp-safari-hero{width:100%!important;max-width:none!important;margin:0!important}

/* Full-width section; the actual Elementor ROW itself carries the same shell
 * class as Home and therefore owns the centring. No e-con-boxed assumptions. */
body.stayhost-safari-lodge .safari-detail-section{width:100%!important;max-width:none!important;margin:0!important;padding:72px 0 88px!important;background:var(--safari-ref-cream,#f5f1e8)}
body.stayhost-safari-lodge .safari-detail-section>.e-con-inner{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
body.stayhost-safari-lodge .safari-detail-row.stayhost-safari-shell{
  width:var(--sh-shell,min(1220px,calc(100% - 40px)))!important;
  max-width:var(--stayhost-container,1220px)!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  align-items:flex-start!important;
  gap:36px!important;
}
body.stayhost-safari-lodge .safari-detail-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.stayhost-safari-lodge .safari-detail-sidebar{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:sticky!important;
  top:96px!important;
  align-self:flex-start!important;
}
body.stayhost-safari-lodge .safari-detail-main>.elementor-widget,
body.stayhost-safari-lodge .safari-detail-sidebar>.elementor-widget,
body.stayhost-safari-lodge .safari-detail-main>.elementor-widget>.elementor-widget-container,
body.stayhost-safari-lodge .safari-detail-sidebar>.elementor-widget>.elementor-widget-container,
body.stayhost-safari-lodge .safari-detail-main>.elementor-widget>.elementor-widget-container>.elementor-shortcode,
body.stayhost-safari-lodge .safari-detail-sidebar>.elementor-widget>.elementor-widget-container>.elementor-shortcode{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}

/* Dynamic fragments fill Elementor containers and never define the page grid. */
body.stayhost-safari-lodge .safari-detail-main .stayhost-detail-fragment,
body.stayhost-safari-lodge .safari-detail-sidebar .stayhost-detail-fragment,
body.stayhost-safari-lodge .safari-detail-main .stayhost-accommodation-presentation,
body.stayhost-safari-lodge .safari-detail-sidebar .stayhost-accommodation-presentation,
body.stayhost-safari-lodge .safari-detail-main .anywhere-stay-detail-page,
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-stay-detail-page,
body.stayhost-safari-lodge .safari-detail-main .anywhere-stay-detail-content,
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-stay-detail-sidebar,
body.stayhost-safari-lodge .safari-detail-main .anyexp-detail-main,
body.stayhost-safari-lodge .safari-detail-sidebar .anyexp-request-form{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}

/* Safari typography; prevent global Elementor/link blue. */
body.stayhost-safari-lodge .safari-detail-route h1,
body.stayhost-safari-lodge .safari-detail-route h2,
body.stayhost-safari-lodge .safari-detail-route h3,
body.stayhost-safari-lodge .safari-detail-route h4,
body.stayhost-safari-lodge .safari-detail-route .elementor-heading-title{font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;color:var(--safari-ref-ink,#161b17)!important}
body.stayhost-safari-lodge .safari-detail-hero h1,
body.stayhost-safari-lodge .safari-detail-hero h2,
body.stayhost-safari-lodge .safari-detail-hero .elementor-heading-title{color:#fff!important}
body.stayhost-safari-lodge .safari-detail-route a:not(.stayhost-safari-book-button):not(.stayhost-safari-button):not(.anyexp-button):not(.elementor-button){color:var(--safari-ref-olive,#70723a)!important}

/* Home-page card language. */
body.stayhost-safari-lodge .safari-detail-main .anywhere-stay-detail-content>section,
body.stayhost-safari-lodge .safari-detail-main .anyexp-section,
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-stay-availability-calendar,
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-property-booking-widget,
body.stayhost-safari-lodge .safari-detail-sidebar .anyexp-request-form,
body.stayhost-safari-lodge .safari-detail-card{background:var(--safari-ref-paper,#fffdf8)!important;border:1px solid var(--safari-ref-line,#ddd6c9)!important;border-radius:2px!important;box-shadow:none!important}
body.stayhost-safari-lodge .safari-detail-main .anywhere-stay-detail-content>section,
body.stayhost-safari-lodge .safari-detail-main .anyexp-section{padding:26px!important;margin:0 0 22px!important}
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-stay-availability-calendar,
body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-property-booking-widget,
body.stayhost-safari-lodge .safari-detail-sidebar .anyexp-request-form,
body.stayhost-safari-lodge .safari-detail-card{padding:22px!important;margin:0 0 20px!important}
body.stayhost-safari-lodge .safari-detail-route input,
body.stayhost-safari-lodge .safari-detail-route select,
body.stayhost-safari-lodge .safari-detail-route textarea{border-radius:2px!important;border:1px solid var(--safari-ref-line,#ddd6c9)!important;background:#fff!important}
body.stayhost-safari-lodge .safari-detail-route button,
body.stayhost-safari-lodge .safari-detail-route input[type=submit],
body.stayhost-safari-lodge .safari-detail-route .anyexp-button{border-radius:2px!important;background:var(--safari-ref-olive,#70723a)!important;border-color:var(--safari-ref-olive,#70723a)!important;color:#fff!important}

body.stayhost-safari-lodge .safari-experience-detail-route .safari-detail-section{background:#1d271f!important}
body.stayhost-safari-lodge .safari-detail-experience-gallery h3{margin-top:0}
body.stayhost-safari-lodge .safari-detail-experience-gallery .anyexp-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
body.stayhost-safari-lodge .safari-detail-experience-gallery .anyexp-gallery-img{width:100%;height:120px;object-fit:cover;display:block}

@media(max-width:980px){
  body.stayhost-safari-lodge .safari-detail-section{padding:52px 0 70px!important}
  body.stayhost-safari-lodge .safari-detail-row.stayhost-safari-shell{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  body.stayhost-safari-lodge .safari-detail-main,
  body.stayhost-safari-lodge .safari-detail-sidebar{width:100%!important;max-width:none!important}
  body.stayhost-safari-lodge .safari-detail-sidebar{position:static!important}
}
@media(max-width:640px){
  body.stayhost-safari-lodge .safari-detail-row.stayhost-safari-shell{width:calc(100% - 24px)!important}
  body.stayhost-safari-lodge .safari-detail-section{padding:38px 0 54px!important}
  body.stayhost-safari-lodge .safari-detail-main .anywhere-stay-detail-content>section,
  body.stayhost-safari-lodge .safari-detail-main .anyexp-section,
  body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-stay-availability-calendar,
  body.stayhost-safari-lodge .safari-detail-sidebar .anywhere-property-booking-widget,
  body.stayhost-safari-lodge .safari-detail-sidebar .anyexp-request-form,
  body.stayhost-safari-lodge .safari-detail-card{padding:18px!important}
}
