/* StayHost Safari Lodge v0.3.7 Build 10
 * Presentation adapter for live StayHost and Experience Listing Builder components.
 * Functionality/data remain owned by their plugins.
 */

body.stayhost-safari-lodge{
  --safari-ui-olive:#666a35;
  --safari-ui-olive-dark:#404422;
  --safari-ui-gold:#bea066;
  --safari-ui-cream:#f4f0e6;
  --safari-ui-paper:#fffdf8;
  --safari-ui-ink:#191d18;
  --safari-ui-muted:#6d6d63;
  --safari-ui-line:#d9d2c4;
  --safari-ui-dark:#1c261e;
  --safari-ui-dark-2:#111812;
}

/* Never allow browser-default controls to leak through live hospitality components. */
body.stayhost-safari-lodge .stayhost-explorer *,
body.stayhost-safari-lodge .anyexp-elementor-grid-wrap *,
body.stayhost-safari-lodge .anyexp-detail *{box-sizing:border-box}
body.stayhost-safari-lodge .stayhost-explorer input,
body.stayhost-safari-lodge .stayhost-explorer select,
body.stayhost-safari-lodge .stayhost-explorer button,
body.stayhost-safari-lodge .anyexp-elementor-grid-wrap input,
body.stayhost-safari-lodge .anyexp-elementor-grid-wrap select,
body.stayhost-safari-lodge .anyexp-elementor-grid-wrap button{
  font:inherit;
}
body.stayhost-safari-lodge input[type="checkbox"],
body.stayhost-safari-lodge input[type="radio"]{accent-color:var(--safari-ui-olive)}

/* --------------------------------------------------------------------------
   Accommodation Explorer
   -------------------------------------------------------------------------- */
body.stayhost-safari-lodge .stayhost-explorer{font-family:var(--sh-body-font,Manrope,system-ui,sans-serif);color:var(--safari-ui-ink)}
body.stayhost-safari-lodge .stayhost-explorer-layout{
  display:grid!important;
  grid-template-columns:272px minmax(0,1fr)!important;
  gap:34px!important;
  align-items:start!important;
}
body.stayhost-safari-lodge .stayhost-filterbar{
  position:sticky!important;
  top:92px!important;
  padding:0!important;
  background:var(--safari-ui-paper)!important;
  border:1px solid var(--safari-ui-line)!important;
  border-radius:2px!important;
  box-shadow:0 12px 34px rgba(24,28,21,.055)!important;
  overflow:hidden!important;
}
body.stayhost-safari-lodge .stayhost-filter-form{margin:0!important;padding:0!important}
body.stayhost-safari-lodge .stayhost-filterbar-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  margin:0!important;padding:18px 20px!important;
  background:var(--safari-ui-olive-dark)!important;border:0!important;color:#fff!important;
}
body.stayhost-safari-lodge .stayhost-filterbar-head strong{
  color:#fff!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.2rem!important;font-weight:600!important;line-height:1!important;
}
body.stayhost-safari-lodge .stayhost-filterbar-head a{
  color:#ddd0a8!important;text-decoration:none!important;text-transform:uppercase!important;
  letter-spacing:.08em!important;font-size:.62rem!important;font-weight:800!important;
}
body.stayhost-safari-lodge .stayhost-filterbar fieldset{
  display:block!important;min-width:0!important;margin:0 18px!important;padding:18px 0!important;
  border:0!important;border-bottom:1px solid var(--safari-ui-line)!important;
}
body.stayhost-safari-lodge .stayhost-filterbar fieldset:last-of-type{border-bottom:0!important}
body.stayhost-safari-lodge .stayhost-filterbar legend{
  float:none!important;width:auto!important;margin:0 0 12px!important;padding:0!important;
  color:var(--safari-ui-ink)!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.08rem!important;font-weight:600!important;line-height:1.15!important;
}
body.stayhost-safari-lodge .stayhost-filterbar label{
  display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin:0 0 10px!important;
  color:#3d4039!important;font-size:.78rem!important;font-weight:600!important;
}
body.stayhost-safari-lodge .stayhost-filterbar .stayhost-check{
  display:flex!important;align-items:center!important;gap:9px!important;margin:8px 0!important;
  font-weight:500!important;line-height:1.25!important;
}
body.stayhost-safari-lodge .stayhost-filterbar .stayhost-check input{
  flex:0 0 15px!important;width:15px!important;height:15px!important;margin:0!important;padding:0!important;
}
body.stayhost-safari-lodge .stayhost-filterbar input[type="date"],
body.stayhost-safari-lodge .stayhost-filterbar input[type="number"],
body.stayhost-safari-lodge .stayhost-filterbar select,
body.stayhost-safari-lodge .stayhost-sort-form select{
  display:block!important;width:100%!important;min-height:40px!important;margin:0!important;padding:9px 10px!important;
  color:var(--safari-ui-ink)!important;background:#fff!important;border:1px solid #cfc8ba!important;border-radius:2px!important;
  box-shadow:none!important;outline:none!important;font-size:.78rem!important;line-height:1.2!important;
}
body.stayhost-safari-lodge .stayhost-filterbar input:focus,
body.stayhost-safari-lodge .stayhost-filterbar select:focus,
body.stayhost-safari-lodge .stayhost-sort-form select:focus{
  border-color:var(--safari-ui-olive)!important;box-shadow:0 0 0 2px rgba(102,106,53,.12)!important;
}
body.stayhost-safari-lodge .stayhost-price-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
body.stayhost-safari-lodge .stayhost-price-range{
  width:100%!important;height:4px!important;margin:7px 0 0!important;padding:0!important;
  accent-color:var(--safari-ui-olive)!important;cursor:pointer!important;
}
body.stayhost-safari-lodge .stayhost-amenity-filters{max-height:250px!important;overflow:auto!important;padding-right:5px!important}
body.stayhost-safari-lodge .stayhost-filter-apply{
  width:calc(100% - 36px)!important;min-height:43px!important;margin:18px!important;padding:0 18px!important;
  border:1px solid var(--safari-ui-olive)!important;border-radius:2px!important;background:var(--safari-ui-olive)!important;
  color:#fff!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.66rem!important;font-weight:800!important;
  box-shadow:none!important;transform:none!important;
}
body.stayhost-safari-lodge .stayhost-filter-apply:hover{background:#575b2b!important;border-color:#575b2b!important}

body.stayhost-safari-lodge .stayhost-results-toolbar{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;
  margin:0 0 18px!important;padding:0 0 14px!important;border-bottom:1px solid var(--safari-ui-line)!important;
  color:var(--safari-ui-muted)!important;font-size:.78rem!important;
}
body.stayhost-safari-lodge .stayhost-results-toolbar>span strong{
  color:var(--safari-ui-ink)!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.3rem!important;font-weight:600!important;
}
body.stayhost-safari-lodge .stayhost-sort-form{margin:0!important}
body.stayhost-safari-lodge .stayhost-sort-form label{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important}
body.stayhost-safari-lodge .stayhost-sort-form select{width:auto!important;min-width:160px!important}
body.stayhost-safari-lodge .stayhost-accommodation-results{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
body.stayhost-safari-lodge .stayhost-stay-card{
  display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;min-height:164px!important;
  overflow:hidden!important;background:#fff!important;border:1px solid var(--safari-ui-line)!important;border-radius:2px!important;
  box-shadow:0 8px 24px rgba(23,28,21,.045)!important;
}
body.stayhost-safari-lodge .stayhost-stay-card-image{display:block!important;min-height:164px!important;background:#d9d4c8!important;overflow:hidden!important}
body.stayhost-safari-lodge .stayhost-stay-card-image img{display:block!important;width:100%!important;height:100%!important;min-height:164px!important;object-fit:cover!important}
body.stayhost-safari-lodge .stayhost-stay-card-body{
  display:grid!important;grid-template-columns:minmax(0,1fr) 148px!important;gap:20px!important;padding:18px 20px!important;align-items:center!important;
}
body.stayhost-safari-lodge .stayhost-eyebrow{
  margin:0 0 5px!important;color:#7a7c48!important;font-size:.62rem!important;font-weight:800!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
}
body.stayhost-safari-lodge .stayhost-stay-card h3{margin:0 0 11px!important;line-height:1.05!important}
body.stayhost-safari-lodge .stayhost-stay-card h3,
body.stayhost-safari-lodge .stayhost-stay-card h3 a{
  color:var(--safari-ui-ink)!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.42rem!important;font-weight:600!important;text-decoration:none!important;
}
body.stayhost-safari-lodge .stayhost-stay-specs{display:flex!important;flex-wrap:wrap!important;gap:7px 14px!important;color:#6f7068!important;font-size:.69rem!important}
body.stayhost-safari-lodge .stayhost-stay-amenities{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:12px!important}
body.stayhost-safari-lodge .stayhost-stay-amenities span{
  padding:3px 7px!important;border:1px solid #e0dacd!important;border-radius:1px!important;background:#faf7f0!important;
  color:#77776f!important;font-size:.61rem!important;
}
body.stayhost-safari-lodge .stayhost-stay-card-side{
  min-width:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:7px!important;
  text-align:right!important;
}
body.stayhost-safari-lodge .stayhost-rate{margin-bottom:3px!important}
body.stayhost-safari-lodge .stayhost-rate small,
body.stayhost-safari-lodge .stayhost-rate span{display:block!important;color:#77786f!important;font-size:.61rem!important;line-height:1.2!important}
body.stayhost-safari-lodge .stayhost-rate strong{
  display:block!important;color:var(--safari-ui-ink)!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.38rem!important;font-weight:600!important;line-height:1.05!important;
}
body.stayhost-safari-lodge .stayhost-stay-card-side .stayhost-button{
  width:100%!important;min-height:36px!important;padding:0 10px!important;border-radius:2px!important;
  background:var(--safari-ui-olive)!important;border-color:var(--safari-ui-olive)!important;color:#fff!important;
  font-size:.6rem!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;text-align:center!important;
}
body.stayhost-safari-lodge .stayhost-stay-card-side .stayhost-button-outline{background:#fff!important;color:var(--safari-ui-olive)!important}
body.stayhost-safari-lodge .stayhost-empty{border:1px solid var(--safari-ui-line)!important;background:#fff!important;border-radius:2px!important}

/* --------------------------------------------------------------------------
   Experience Listing Builder
   -------------------------------------------------------------------------- */
body.stayhost-safari-lodge .safari-ref-experiences{background:var(--safari-ui-dark)!important;color:#fff!important}
body.stayhost-safari-lodge .safari-ref-experiences .stayhost-safari-shell{width:min(1220px,calc(100% - 40px))!important;margin:0 auto!important}
body.stayhost-safari-lodge .safari-ref-experiences h1,
body.stayhost-safari-lodge .safari-ref-experiences h2,
body.stayhost-safari-lodge .safari-ref-experiences h3,
body.stayhost-safari-lodge .safari-ref-experiences .elementor-heading-title{color:#fff!important}
body.stayhost-safari-lodge .anyexp-elementor-grid-wrap{width:100%!important;color:#fff!important;font-family:var(--sh-body-font,Manrope,system-ui,sans-serif)!important}
body.stayhost-safari-lodge .anyexp-grid-controls{
  display:grid!important;grid-template-columns:minmax(220px,1.3fr) minmax(180px,.8fr) minmax(300px,1.4fr)!important;
  gap:10px!important;align-items:end!important;margin:0 0 24px!important;padding:14px!important;
  background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:2px!important;
}
body.stayhost-safari-lodge .anyexp-grid-search,
body.stayhost-safari-lodge .anyexp-grid-category-filter{display:block!important;min-width:0!important;width:100%!important;margin:0!important}
body.stayhost-safari-lodge .anyexp-grid-search input,
body.stayhost-safari-lodge .anyexp-grid-category-filter select,
body.stayhost-safari-lodge .anyexp-grid-date-filter input{
  display:block!important;width:100%!important;height:43px!important;margin:0!important;padding:9px 12px!important;
  border:1px solid rgba(255,255,255,.27)!important;border-radius:2px!important;background:#fff!important;color:#1e211d!important;
  box-shadow:none!important;outline:none!important;font-size:.78rem!important;
}
body.stayhost-safari-lodge .anyexp-grid-date-filter{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:end!important}
body.stayhost-safari-lodge .anyexp-grid-date-filter label{display:grid!important;gap:5px!important;margin:0!important;color:#ded6c5!important;font-size:.62rem!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important}
body.stayhost-safari-lodge .anyexp-grid-list,
body.stayhost-safari-lodge .anyexp-elementor-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin:0!important;
}
body.stayhost-safari-lodge .anyexp-card-item{
  display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;
  background:#fff!important;color:var(--safari-ui-ink)!important;border:0!important;border-radius:2px!important;
  box-shadow:0 12px 32px rgba(0,0,0,.17)!important;
}
body.stayhost-safari-lodge .anyexp-card-image{
  display:block!important;width:100%!important;min-height:225px!important;aspect-ratio:4/3!important;
  background-color:#303a2c!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
}
body.stayhost-safari-lodge .anyexp-card-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:20px!important}
body.stayhost-safari-lodge .anyexp-kicker{
  display:block!important;margin:0 0 8px!important;color:#797b43!important;font-size:.61rem!important;font-weight:800!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
}
body.stayhost-safari-lodge .anyexp-card-body h3{margin:0 0 9px!important;line-height:1.08!important}
body.stayhost-safari-lodge .anyexp-card-body h3,
body.stayhost-safari-lodge .anyexp-card-body h3 a{
  color:var(--safari-ui-ink)!important;font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;
  font-size:1.55rem!important;font-weight:600!important;text-decoration:none!important;
}
body.stayhost-safari-lodge .anyexp-card-excerpt{margin:0 0 12px!important;color:#666960!important;font-size:.79rem!important;line-height:1.55!important}
body.stayhost-safari-lodge .anyexp-card-meta{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 13px!important}
body.stayhost-safari-lodge .anyexp-card-meta span{
  padding:4px 7px!important;border:1px solid #e1dbce!important;border-radius:1px!important;background:#faf7f0!important;
  color:#73746c!important;font-size:.59rem!important;
}
body.stayhost-safari-lodge .anyexp-price-from{
  display:block!important;margin:auto 0 13px!important;color:var(--safari-ui-olive-dark)!important;
  font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif)!important;font-size:1.13rem!important;font-weight:700!important;
}
body.stayhost-safari-lodge .anyexp-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;width:max-content!important;
  padding:0 15px!important;border:1px solid var(--safari-ui-olive)!important;border-radius:2px!important;background:var(--safari-ui-olive)!important;
  color:#fff!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.61rem!important;font-weight:800!important;
}
body.stayhost-safari-lodge .anyexp-button:hover{background:#575b2b!important;border-color:#575b2b!important;filter:none!important}
body.stayhost-safari-lodge .anyexp-grid-empty{grid-column:1/-1!important;padding:30px!important;background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important}

/* Single experience detail keeps the same visual language. */
body.stayhost-safari-lodge .anyexp-detail-wrap{width:min(1160px,calc(100% - 40px))!important;max-width:none!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:26px!important}
body.stayhost-safari-lodge .anyexp-section,
body.stayhost-safari-lodge .anyexp-request-form{
  border:1px solid var(--safari-ui-line)!important;border-radius:2px!important;background:#fff!important;box-shadow:none!important;
}
body.stayhost-safari-lodge .anyexp-section h2,
body.stayhost-safari-lodge .anyexp-request-form h2,
body.stayhost-safari-lodge .anyexp-request-form h3{color:var(--safari-ui-ink)!important}
body.stayhost-safari-lodge .anyexp-pricing-card,
body.stayhost-safari-lodge .anyexp-package-quantities,
body.stayhost-safari-lodge .anyexp-date-options{border-radius:2px!important;background:#f8f4eb!important}
body.stayhost-safari-lodge .anyexp-request-form input,
body.stayhost-safari-lodge .anyexp-request-form select,
body.stayhost-safari-lodge .anyexp-request-form textarea{border-radius:2px!important;border-color:#cec7b8!important}

@media(max-width:1040px){
  body.stayhost-safari-lodge .anyexp-grid-controls{grid-template-columns:1fr 1fr!important}
  body.stayhost-safari-lodge .anyexp-grid-date-filter{grid-column:1/-1!important}
  body.stayhost-safari-lodge .anyexp-grid-list,
  body.stayhost-safari-lodge .anyexp-elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.stayhost-safari-lodge .stayhost-explorer-layout{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .stayhost-filterbar{position:static!important;top:auto!important}
  body.stayhost-safari-lodge .stayhost-stay-card{grid-template-columns:190px minmax(0,1fr)!important}
  body.stayhost-safari-lodge .anyexp-detail-wrap{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  body.stayhost-safari-lodge .anyexp-grid-controls{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .anyexp-grid-date-filter{grid-column:auto!important;grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .anyexp-grid-list,
  body.stayhost-safari-lodge .anyexp-elementor-grid{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .stayhost-stay-card{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .stayhost-stay-card-image,
  body.stayhost-safari-lodge .stayhost-stay-card-image img{min-height:220px!important;height:220px!important}
  body.stayhost-safari-lodge .stayhost-stay-card-body{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .stayhost-stay-card-side{align-items:flex-start!important;text-align:left!important}
  body.stayhost-safari-lodge .stayhost-stay-card-side .stayhost-button{width:auto!important}
}
@media(max-width:480px){
  body.stayhost-safari-lodge .stayhost-price-pair{grid-template-columns:1fr!important}
  body.stayhost-safari-lodge .stayhost-results-toolbar{align-items:flex-start!important;flex-direction:column!important}
  body.stayhost-safari-lodge .stayhost-sort-form,
  body.stayhost-safari-lodge .stayhost-sort-form label,
  body.stayhost-safari-lodge .stayhost-sort-form select{width:100%!important}
}

/* Elementor headings inside dark Safari sections must never inherit global blue link/theme colors. */
body.stayhost-safari-lodge .safari-ref-home-section.is-olive,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive .elementor-widget-container,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive .elementor-heading-title,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive h1,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive h2,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive h3{color:#fff!important}
body.stayhost-safari-lodge .safari-ref-home-section.is-olive>.elementor-element:first-child .elementor-heading-title,
body.stayhost-safari-lodge .safari-ref-home-section.is-olive .elementor-widget-heading:first-child .elementor-heading-title{
  color:#d1b36e!important;font-family:var(--sh-body-font,Manrope,system-ui,sans-serif)!important;
  font-size:.7rem!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;
}
