/* StayHost Safari Lodge reference styling — v0.3.7 Build 10 */
:root{--safari-ref-olive:#70723a;--safari-ref-olive-dark:#3f4223;--safari-ref-ink:#161b17;--safari-ref-charcoal:#0f1512;--safari-ref-gold:#c2a56b;--safari-ref-cream:#f5f1e8;--safari-ref-paper:#fffdf8;--safari-ref-line:#ddd6c9;--safari-ref-muted:#6b6a62}
body.stayhost-safari-lodge{background:var(--safari-ref-cream);color:var(--safari-ref-ink)}body.stayhost-safari-lodge h1,body.stayhost-safari-lodge h2,body.stayhost-safari-lodge h3,body.stayhost-safari-lodge h4{font-family:var(--sh-heading-font,'Cormorant Garamond',Georgia,serif);font-weight:600;letter-spacing:-.015em}body.stayhost-safari-lodge .stayhost-safari-shell{width:min(1220px,calc(100% - 40px))}
.stayhost-safari-topbar{height:34px;background:#0c1210;color:rgba(255,255,255,.86);border:0;position:relative;z-index:1002}.stayhost-safari-topbar-inner{width:min(1360px,calc(100% - 34px));height:34px;min-height:34px;margin:auto;display:flex;justify-content:space-between;align-items:center;font-size:.69rem;letter-spacing:.03em}.stayhost-safari-topbar-left,.stayhost-safari-topbar-right{display:flex;align-items:center;gap:18px}.stayhost-safari-topbar a{color:rgba(255,255,255,.88);text-decoration:none}.stayhost-safari-header{background:#111815;color:#fff;border:0;box-shadow:none;min-height:66px}.sh-header-style-transparent:not(.sh-header-scrolled) .stayhost-safari-header{position:absolute;top:34px;left:0;width:100%;background:linear-gradient(180deg,rgba(12,18,15,.96),rgba(12,18,15,.82));border:0;color:#fff;backdrop-filter:none}.sh-header-style-transparent.sh-header-scrolled .stayhost-safari-header,.sh-header-scrolled .stayhost-safari-header{background:rgba(14,20,17,.97)!important;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.15)}.stayhost-safari-header-inner{width:min(1360px,calc(100% - 34px));min-height:66px;gap:22px}.stayhost-safari-brand{gap:10px}.stayhost-safari-brand .custom-logo{max-height:40px!important;width:auto}.stayhost-safari-brand-mark{display:none}.stayhost-safari-brand-copy strong{font-size:1.22rem;color:#fff;text-transform:uppercase;letter-spacing:.055em}.stayhost-safari-brand-copy small{display:none}.stayhost-safari-menu{gap:20px}.stayhost-safari-menu a{color:#fff!important;font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.055em;opacity:.92}.stayhost-safari-menu a:hover,.stayhost-safari-menu .current-menu-item>a{color:#d7c28f!important;opacity:1}.stayhost-safari-header-actions .stayhost-auth-links{display:none!important}.stayhost-safari-book-button,.stayhost-safari-button{min-height:42px;padding:0 19px;border-radius:2px!important;background:var(--safari-ref-olive);border-color:var(--safari-ref-olive);color:#fff!important;font-size:.7rem;text-transform:uppercase;letter-spacing:.065em;font-weight:700;box-shadow:none}.stayhost-safari-book-button:hover,.stayhost-safari-button:hover{background:#626432;border-color:#626432;transform:none}
.safari-ref-hero{position:relative;min-height:690px;background-position:center;background-size:cover;color:#fff;display:flex;align-items:center;overflow:hidden}.safari-ref-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,8,.75) 0%,rgba(5,10,8,.58) 41%,rgba(5,10,8,.16) 72%,rgba(5,10,8,.06) 100%)}.safari-ref-hero-inner{position:relative;z-index:2;width:min(1360px,calc(100% - 64px));margin:auto;padding-top:84px}.safari-ref-hero-copy{max-width:700px}.safari-ref-hero h1{color:#fff;font-size:clamp(3.7rem,6.25vw,6rem);line-height:.96;margin:0 0 22px;text-transform:uppercase;letter-spacing:-.025em}.safari-ref-hero p{font-size:1.03rem;color:rgba(255,255,255,.91);max-width:520px;margin:0 0 28px}.safari-ref-booking-wrap{position:relative;z-index:8;margin:-56px auto 0;width:min(1040px,calc(100% - 48px));background:#fff;padding:17px 19px;border:1px solid rgba(0,0,0,.06);border-radius:4px;box-shadow:0 16px 36px rgba(28,31,24,.2)}.safari-ref-booking-wrap .stayhost-availability-search,.safari-ref-booking-wrap form{margin:0}.safari-ref-booking-wrap input,.safari-ref-booking-wrap select,.safari-ref-booking-wrap button{border-radius:2px!important}.safari-ref-booking-wrap .stayhost-button,.safari-ref-booking-wrap button{background:var(--safari-ref-olive)!important;border-color:var(--safari-ref-olive)!important;text-transform:uppercase;letter-spacing:.06em}
.safari-ref-home-section{padding:88px 0}.safari-ref-home-section.is-paper{background:var(--safari-ref-paper)}.safari-ref-home-section.is-olive{background:#454828;color:#fff}.safari-ref-center{text-align:center;max-width:820px;margin:0 auto 34px}.safari-ref-center .eyebrow{display:block;color:#898b4a;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.safari-ref-center h2{font-size:clamp(2.6rem,4vw,4.1rem);margin:8px 0 10px}.safari-ref-home-section.is-olive .safari-ref-center h2,.safari-ref-home-section.is-olive .safari-ref-center p{color:#fff}.safari-ref-home-section.is-olive .safari-ref-center .eyebrow{color:#d1b36e}.safari-ref-testimonial{display:grid;grid-template-columns:minmax(260px,.7fr) 1.8fr;gap:34px;align-items:center}.safari-ref-quote blockquote{font-family:var(--sh-heading-font);font-size:1.55rem;line-height:1.35;margin:0 0 16px}.safari-ref-quote cite{font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.safari-ref-gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.safari-ref-gallery-strip img{width:100%;height:220px;object-fit:cover;display:block}
.safari-ref-route-hero{position:relative;min-height:280px;background-position:center;background-size:cover;display:flex;align-items:end;justify-content:center;text-align:center;color:#fff;padding:76px 20px 42px;overflow:hidden}.safari-ref-route-hero:before{content:"";position:absolute;inset:0;background:rgba(9,14,11,.55)}.safari-ref-route-hero>*{position:relative;z-index:1}.safari-ref-route-hero h1{color:#fff;font-size:clamp(2.8rem,4.6vw,4.8rem);margin:0;text-transform:uppercase}.safari-ref-route-hero p{color:rgba(255,255,255,.82);margin:8px auto 0;max-width:700px}.safari-ref-overlap-search{position:relative;z-index:7;margin:-34px auto 30px;width:min(1050px,calc(100% - 44px));padding:14px 16px;background:#fff;box-shadow:0 12px 30px rgba(24,29,24,.16);border-radius:3px}.safari-ref-page{padding:52px 0 82px;background:var(--safari-ref-cream)}.safari-ref-page.is-white{background:#fff}.safari-ref-page-heading{text-align:center;margin:0 auto 34px;max-width:760px}.safari-ref-page-heading h1,.safari-ref-page-heading h2{font-size:clamp(2.6rem,4vw,4rem);margin:0 0 7px}.safari-ref-page-heading p{margin:0;color:var(--safari-ref-muted)}
.stayhost-safari-lodge .stayhost-explorer-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}.stayhost-safari-lodge .stayhost-filterbar{top:88px;padding:18px;background:#f7f3ea;border:1px solid var(--safari-ref-line);border-radius:2px!important;box-shadow:none}.stayhost-safari-lodge .stayhost-stay-card{grid-template-columns:180px minmax(0,1fr);border:1px solid var(--safari-ref-line);border-radius:2px!important;background:#fff;box-shadow:none;min-height:122px}.stayhost-safari-lodge .stayhost-stay-card-image{min-height:122px}.stayhost-safari-lodge .stayhost-stay-card-body{padding:16px 18px;gap:16px}.stayhost-safari-lodge .stayhost-stay-card h3{font-size:1.16rem;margin:0 0 10px}.stayhost-safari-lodge .stayhost-stay-specs{font-size:.69rem}.stayhost-safari-lodge .stayhost-stay-amenities{display:none}.stayhost-safari-lodge .stayhost-stay-card-side{min-width:128px}.stayhost-safari-lodge .stayhost-rate strong{font-size:1.1rem}.stayhost-safari-lodge .stayhost-button{border-radius:2px!important;background:var(--safari-ref-olive);border-color:var(--safari-ref-olive);font-size:.66rem;text-transform:uppercase;letter-spacing:.055em}.stayhost-safari-lodge .stayhost-button-outline{background:#fff;color:var(--safari-ref-olive)!important}
.safari-ref-book-banner{position:relative;min-height:170px;background-position:center;background-size:cover;display:flex;align-items:end;justify-content:center;padding:62px 20px 28px;color:#fff;text-align:center}.safari-ref-book-banner:before{content:"";position:absolute;inset:0;background:rgba(8,13,10,.66)}.safari-ref-book-banner h1{position:relative;color:#fff;font-size:clamp(2.6rem,4vw,4rem);margin:0;text-transform:uppercase}.stayhost-safari-lodge .stayhost-booking-header{display:none}.stayhost-safari-lodge .stayhost-booking-panels,.stayhost-safari-lodge .stayhost-booking-summary{border-radius:2px!important;box-shadow:none;border-color:var(--safari-ref-line)}.stayhost-safari-lodge .stayhost-booking-summary{background:#f7f3ea}.stayhost-safari-lodge .stayhost-booking-steps li.is-active span,.stayhost-safari-lodge .stayhost-booking-steps li.is-complete span{background:var(--safari-ref-olive);border-color:var(--safari-ref-olive)}
.safari-ref-experiences{background:#1d271f;color:#fff;padding:48px 0 82px}.stayhost-safari-lodge .anyexp-card-item{background:#fff!important;color:#1e211d;border:0!important;border-radius:2px!important;overflow:hidden;box-shadow:none!important}.stayhost-safari-lodge .anyexp-card-image{min-height:190px}.stayhost-safari-lodge .anyexp-button{border-radius:2px!important;background:var(--safari-ref-olive)!important}
.stayhost-safari-lodge .stayhost-gallery-filters button{border-radius:2px!important}.stayhost-safari-lodge .stayhost-gallery-filters button.is-active{background:var(--safari-ref-olive);border-color:var(--safari-ref-olive)}.stayhost-safari-lodge .stayhost-gallery-grid{gap:2px}.stayhost-safari-lodge .stayhost-gallery figure{border-radius:0!important}
.safari-ref-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:42px}.safari-ref-icon-card{text-align:center;padding:24px 14px}.safari-ref-icon-card h3{font-size:1.12rem;margin:0 0 7px;text-transform:uppercase;letter-spacing:.04em}.safari-ref-icon-card p{font-size:.88rem;color:var(--safari-ref-muted)}
.safari-ref-contact{display:grid;grid-template-columns:.85fr 1.35fr;gap:42px;align-items:start}.safari-ref-contact-details h1{font-size:clamp(2.6rem,4vw,4rem);margin-top:0}.safari-ref-contact-list{display:grid;gap:18px;margin-top:28px}.safari-ref-contact-list strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--safari-ref-olive)}.safari-ref-map{min-height:420px;background:linear-gradient(135deg,#dce2d8,#eff0e7);position:relative;overflow:hidden;border:1px solid #d6dbd2}.safari-ref-map:before,.safari-ref-map:after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(34deg,transparent 0 42px,rgba(105,127,104,.18) 43px 46px,transparent 47px 92px);transform:rotate(-7deg)}.safari-ref-map-pin{position:absolute;z-index:2;left:54%;top:48%;width:20px;height:20px;border-radius:50% 50% 50% 0;background:#a14730;transform:rotate(-45deg)}
.safari-ref-login{min-height:calc(100vh - 100px);display:grid;grid-template-columns:1fr 1fr;background:#fff}.safari-ref-login-media{background-position:center;background-size:cover;min-height:620px;position:relative}.safari-ref-login-media:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,15,.18),rgba(12,18,15,.34))}.safari-ref-login-form{display:flex;align-items:center;justify-content:center;padding:60px}.safari-ref-login-inner{width:min(460px,100%)}.safari-ref-login-inner h1{font-size:3rem;margin:0 0 6px}.safari-ref-login input,.safari-ref-login button{border-radius:2px!important}.safari-ref-login button{background:var(--safari-ref-olive)!important}.safari-ref-dashboard{padding:48px 0 90px;background:#fff}.stayhost-safari-lodge .stayhost-customer-dashboard{--stayhost-card-radius:2px;--stayhost-button-radius:2px}.stayhost-safari-lodge .stayhost-dashboard-hero{background:transparent!important;color:var(--safari-ref-ink)!important;border:0!important;box-shadow:none!important;padding:0 0 28px!important}.stayhost-safari-lodge .stayhost-dashboard-hero h2{color:var(--safari-ref-ink)!important}.stayhost-safari-lodge .stayhost-dashboard-nav,.stayhost-safari-lodge .stayhost-dashboard-stats article,.stayhost-safari-lodge .stayhost-profile-form,.stayhost-safari-lodge .stayhost-payment-row{border-radius:2px!important;box-shadow:none!important;border:1px solid var(--safari-ref-line)!important}.stayhost-safari-lodge .stayhost-customer-dashboard .stayhost-dashboard-nav button.is-active{background:var(--safari-ref-olive)!important;box-shadow:none!important}
.stayhost-safari-prefooter{display:none}.stayhost-safari-footer{background:#111815!important;color:rgba(255,255,255,.78);padding-top:50px}.stayhost-safari-footer h2,.stayhost-safari-footer h3{color:#fff}.stayhost-safari-footer-grid{width:min(1220px,calc(100% - 40px));margin:auto;gap:38px}.stayhost-safari-footer a{color:rgba(255,255,255,.78)}
body.stayhost-safari-lodge .safari-ref-elementor .elementor-heading-title{font-family:var(--sh-heading-font)!important}body.stayhost-safari-lodge .safari-ref-elementor .elementor-widget-text-editor{font-family:var(--sh-body-font)!important}
@media(max-width:980px){.stayhost-safari-menu-toggle{display:flex;color:#fff;background:transparent;border-color:rgba(255,255,255,.35)}.stayhost-safari-nav{background:#111815}.safari-ref-hero{min-height:620px}.safari-ref-testimonial,.safari-ref-contact{grid-template-columns:1fr}.safari-ref-icon-grid{grid-template-columns:repeat(2,1fr)}.stayhost-safari-lodge .stayhost-explorer-layout{grid-template-columns:1fr}.stayhost-safari-lodge .stayhost-filterbar{position:relative;top:auto}.safari-ref-login{grid-template-columns:1fr}.safari-ref-login-media{min-height:340px}}
@media(max-width:640px){.stayhost-safari-topbar{display:none}.sh-header-style-transparent:not(.sh-header-scrolled) .stayhost-safari-header{top:0}.stayhost-safari-header-inner{min-height:62px;width:calc(100% - 24px)}.stayhost-safari-brand .custom-logo{max-height:32px!important}.stayhost-safari-header-actions{display:none}.safari-ref-hero{min-height:610px}.safari-ref-hero-inner{padding-top:70px}.safari-ref-hero h1{font-size:clamp(2.8rem,13vw,4.3rem)}.safari-ref-booking-wrap{margin:-34px auto 0;width:calc(100% - 24px);padding:12px}.safari-ref-gallery-strip{grid-template-columns:1fr 1fr}.safari-ref-gallery-strip img{height:160px}.safari-ref-icon-grid{grid-template-columns:1fr}.safari-ref-page{padding:38px 0 60px}.stayhost-safari-lodge .stayhost-stay-card{grid-template-columns:118px 1fr}.safari-ref-login-media{min-height:260px}.safari-ref-login-form{padding:38px 20px}}
