/*
 * Bid2Stay 28.24.6 — Botswana Quiet Adventure Texture + Contrast Lock
 * Visual-only layer. No layout, navigation, form, data or runtime changes.
 */

:root{
  --b2s-earth-ink:#18201d;
  --b2s-earth-forest:#26382f;
  --b2s-earth-mopane:#56664f;
  --b2s-earth-sand:#dcc7a3;
  --b2s-earth-ivory:#f8f3e8;
  --b2s-earth-amber:#d89438;
  --b2s-earth-terracotta:#a95f3b;
  --b2s-earth-line:rgba(118,91,51,.18);
  --b2s-earth-shadow:0 18px 44px rgba(49,39,25,.09);
}

/* Warm, natural canvas without introducing decorative noise. */
body.b2s-global-public:not(.b2s-login-page),
body.b2s-guest-portal,
body.b2s-provider-portal,
body[data-bid2stay-release="28.16.7"]{
  background:
    radial-gradient(circle at 8% 5%,rgba(216,148,56,.07),transparent 24rem),
    radial-gradient(circle at 94% 24%,rgba(86,102,79,.055),transparent 28rem),
    linear-gradient(rgba(248,246,240,.72),rgba(248,246,240,.72)),
    url("botswana-wildlife-tracks-282401.png") center top/960px auto repeat,
    #f8f6f0;
  color:var(--b2s-earth-ink);
}

/* Public header: charcoal softened with a subtle earth-green cast. */
body.b2s-global-public .b2s-global-header,
body[data-bid2stay-release="28.16.7"] .b2s-global-header{
  background:rgba(19,27,23,.97)!important;
  border-bottom-color:rgba(216,148,56,.38)!important;
  box-shadow:0 10px 30px rgba(12,18,15,.18)!important;
}

body.b2s-global-public .b2s-global-nav a:hover,
body.b2s-global-public .b2s-global-nav a:focus-visible,
body[data-bid2stay-release="28.16.7"] .b2s-global-nav a:hover,
body[data-bid2stay-release="28.16.7"] .b2s-global-nav a:focus-visible{
  color:#efbd70!important;
}

body.b2s-global-public .b2s-global-login,
body[data-bid2stay-release="28.16.7"] .b2s-global-login{
  border-color:rgba(232,199,145,.48)!important;
}

/* The existing Okavango hero becomes the visual anchor for the new identity. */
body[data-bid2stay-release="28.16.7"] .b2s-home-hero{
  background-image:
    linear-gradient(90deg,rgba(17,27,22,.94) 0%,rgba(25,39,31,.82) 43%,rgba(102,61,35,.34) 76%,rgba(166,91,44,.16) 100%),
    url("discover-botswana/okavango-delta.webp")!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-hero::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:linear-gradient(90deg,var(--b2s-earth-mopane),var(--b2s-earth-amber) 48%,var(--b2s-earth-terracotta));
  opacity:.86;
  pointer-events:none;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-hero h1 span,
body[data-bid2stay-release="28.16.7"] .b2s-home-hero .b2s-home-kicker{
  color:#f0bd68!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-btn-primary,
body[data-bid2stay-release="28.16.7"] .b2s30-card-button.primary{
  background:linear-gradient(135deg,#e4aa4e,#d38b31)!important;
  border-color:#d38b31!important;
  color:#172019!important;
  box-shadow:0 10px 24px rgba(169,95,59,.18)!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-journey{
  background:
    linear-gradient(180deg,rgba(248,243,232,.72),rgba(243,236,223,.72)),
    url("botswana-wildlife-tracks-282401.png") center/960px auto repeat,
    #f3ecdf!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-provider{
  background:linear-gradient(110deg,#14241d 0%,#26382f 58%,#5d3c28 130%)!important;
  color:#fff!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-provider :is(h2,p){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-provider .b2s-home-kicker{
  color:#efbd70!important;
  -webkit-text-fill-color:#efbd70!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-provider .b2s-btn-dark{
  background:linear-gradient(135deg,#e5aa4d,#cf8431)!important;
  border-color:#d89438!important;
  color:#18201d!important;
  -webkit-text-fill-color:#18201d!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-discover{
  background:
    linear-gradient(90deg,rgba(86,102,79,.035),transparent 34%,rgba(169,95,59,.03)),
    linear-gradient(rgba(245,241,233,.72),rgba(245,241,233,.72)),
    url("botswana-wildlife-tracks-282401.png") center/960px auto repeat,
    #f5f1e9!important;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-section,
body.b2s-global-public .b2s-about-section,
body.b2s-global-public .b2s30-discovery-section{
  position:relative;
}

body[data-bid2stay-release="28.16.7"] .b2s-home-section::before,
body.b2s-global-public .b2s-about-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1120px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(86,102,79,.24),rgba(216,148,56,.34),transparent);
  pointer-events:none;
}

body[data-bid2stay-release="28.16.7"] .b2s-how-card,
body[data-bid2stay-release="28.16.7"] .b2s-journey-panel,
body[data-bid2stay-release="28.16.7"] .b2s30-destination-card,
body.b2s-global-public .b2s-audience-card{
  border-color:var(--b2s-earth-line)!important;
  background:#fffdf8!important;
  box-shadow:0 12px 32px rgba(49,39,25,.065)!important;
}

body[data-bid2stay-release="28.16.7"] .b2s30-destination-card{
  overflow:hidden;
}

body[data-bid2stay-release="28.16.7"] .b2s30-destination-card:hover{
  border-color:rgba(169,95,59,.34)!important;
  box-shadow:0 18px 40px rgba(58,42,25,.12)!important;
}

body[data-bid2stay-release="28.16.7"] .b2s30-category,
body[data-bid2stay-release="28.16.7"] .b2s-home-kicker,
body.b2s-global-public .b2s-section-eyebrow{
  color:#8f6032!important;
}

/* Discovery pages retain their photography while gaining one coherent palette. */
body.b2s30-discovery-page main,
body.b2s-discover-card-system-23527 main,
body.b2s-global-public .b2s-about-main,
body.b2s-global-public .b2s-contact-main{
  background:transparent!important;
}

body.b2s30-discovery-page .b2s30-destination-card,
body.b2s-discover-card-system-23527 .b2s30-destination-card,
body.b2s-global-public .property,
body.b2s-global-public .b2s-contact-card{
  border-color:var(--b2s-earth-line)!important;
  box-shadow:var(--b2s-earth-shadow)!important;
}

body.b2s30-discovery-page .b2s30-category,
body.b2s-discover-card-system-23527 .b2s30-category{
  color:#9a6034!important;
}

body.b2s30-discovery-page .b2s30-card-button.primary,
body.b2s-discover-card-system-23527 .b2s30-card-button.primary,
body.b2s-global-public button[type="submit"]:not(.b2s-password-toggle){
  background:linear-gradient(135deg,#e1a449,#c98232)!important;
  border-color:#c98232!important;
  color:#18201d!important;
}

/* Find a Stay results: stable contrast on the night-safari results canvas. */
body.b2s30-discovery-page .b2s-find-results-stage{
  background:linear-gradient(145deg,#06131f 0%,#0a1b28 58%,#10261f 140%)!important;
  border-top:1px solid rgba(216,148,56,.24)!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-results-head>div>span{
  color:#e5ad43!important;
  -webkit-text-fill-color:#e5ad43!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-results-head h2{
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-results-head>a{
  color:#c7d3df!important;
  -webkit-text-fill-color:#c7d3df!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-results-head>a:hover,
body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-results-head>a:focus-visible{
  color:#f0bf5b!important;
  -webkit-text-fill-color:#f0bf5b!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s30-results-state{
  background:#fbfcfd!important;
  border-color:#d8e0e6!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s30-results-state h2{
  color:#102b43!important;
  -webkit-text-fill-color:#102b43!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s30-results-state p{
  color:#5f7284!important;
  -webkit-text-fill-color:#5f7284!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s30-explore-all{
  background:#071827!important;
  border:1px solid #071827!important;
  color:#f3bd48!important;
  -webkit-text-fill-color:#f3bd48!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s30-explore-all:hover,
body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s30-explore-all:focus-visible{
  background:#17352a!important;
  border-color:#d89438!important;
  color:#fffaf0!important;
  -webkit-text-fill-color:#fffaf0!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s2039-secondary{
  color:#102b43!important;
  -webkit-text-fill-color:#102b43!important;
}

body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s2039-secondary:hover,
body.b2s30-discovery-page .b2s-find-results-stage .b2s2039-empty-actions .b2s2039-secondary:focus-visible{
  color:#8b5b16!important;
  -webkit-text-fill-color:#8b5b16!important;
}

/* Find a Stay introduction stays dynamic, but no longer behaves like a giant campaign hero. */
body.b2s30-discovery-page .b2s30-search-hero{
  padding-top:82px!important;
}

body.b2s30-discovery-page .b2s30-search-hero [data-b2s30-search-title]{
  max-width:980px!important;
  font-size:clamp(32px,3.25vw,46px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
}

body.b2s30-discovery-page .b2s30-search-hero [data-b2s30-search-copy]{
  max-width:760px!important;
  font-size:15px!important;
  line-height:1.5!important;
}

/* Map detail controls remain visibly interactive above the Leaflet canvas. */
body.b2s30-discovery-page .b2s2811-filterbar{
  position:relative!important;
  z-index:5!important;
}

body.b2s30-discovery-page .b2s2811-chip{
  position:relative!important;
  z-index:6!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
}

body.b2s30-discovery-page .b2s2811-chip[aria-pressed="true"],
body.b2s30-discovery-page .b2s2811-chip.is-active{
  background:#102b43!important;
  border-color:#102b43!important;
  color:#f3bd48!important;
  -webkit-text-fill-color:#f3bd48!important;
  box-shadow:0 5px 14px rgba(7,24,39,.18)!important;
}

body.b2s30-discovery-page .b2s2811-chip:hover,
body.b2s30-discovery-page .b2s2811-chip:focus-visible{
  border-color:#d89438!important;
}

/* Guest travel workspace. Navigation remains exactly as locked. */
body.b2s-guest-portal .topbar{
  background:rgba(22,31,26,.98)!important;
  border-bottom-color:rgba(216,148,56,.3)!important;
  box-shadow:0 9px 28px rgba(17,24,20,.14)!important;
}

body.b2s-guest-portal .b2s-guest-desktop-nav a[aria-current="page"],
body.b2s-guest-portal .b2s-guest-desktop-nav a:hover,
body.b2s-guest-portal .b2s-guest-desktop-nav a:focus-visible{
  color:#efbd70!important;
}

body.b2s-guest-home .b2s-gh-hero-premium .b2s-gh-intro{
  background:
    linear-gradient(90deg,rgba(17,28,22,.94) 0%,rgba(24,39,30,.82) 47%,rgba(118,67,38,.44) 100%),
    url("discover-botswana/okavango-delta.webp") center/cover no-repeat!important;
  border:1px solid rgba(216,148,56,.3)!important;
}

body.b2s-guest-home .b2s-gh-hero-premium .b2s-gh-intro::after{
  background:radial-gradient(circle,rgba(216,148,56,.24),transparent 68%)!important;
}

body.b2s-guest-home .b2s-gh-search-elevated,
body.b2s-guest-home .b2s-gh-welcome-panel,
body.b2s-guest-home .b2s-gh-action-card,
body.b2s-guest-portal .b23-card,
body.b2s-guest-portal .guest-panel,
body.b2s-guest-portal .guest-card,
body.b2s-guest-portal .card,
body.b2s-guest-portal .b2s-stay-card,
body.b2s-guest-portal .b2s2833-request-card,
body.b2s-guest-portal .b2s-pass-card{
  border-color:var(--b2s-earth-line)!important;
  background-color:#fffdf8!important;
  box-shadow:var(--b2s-earth-shadow)!important;
}

body.b2s-guest-home .b2s-gh-search-elevated{
  background:linear-gradient(180deg,#fffdf8,#f8f1e5)!important;
}

body.b2s-guest-home .b2s-gh-welcome-card-intro{
  background:linear-gradient(135deg,#1b2b23,#304438)!important;
}

body.b2s-guest-home .b2s-gh-hero-premium .b2s-gh-intro :is(h1,p),
body.b2s-guest-home .b2s-gh-welcome-card-intro :is(h3,p){
  color:#f7f5ee!important;
  -webkit-text-fill-color:#f7f5ee!important;
}

body.b2s-guest-home .b2s-gh-hero-premium .b2s-gh-intro h1 span{
  color:#f2b632!important;
  -webkit-text-fill-color:#f2b632!important;
}

body.b2s-guest-home .b2s-gh-welcome-card-intro .b2s-gh-welcome-kicker{
  color:#efbd70!important;
  -webkit-text-fill-color:#efbd70!important;
}

body.b2s-guest-home .b2s-gh-welcome-card-budget,
body.b2s-guest-home .b2s-gh-action-card-accent{
  background:linear-gradient(135deg,#fff8e9,#f5e3c3)!important;
}

body.b2s-guest-home .b2s-gh-btn.primary,
body.b2s-guest-portal .b2s-mobile-guest-primary,
body.b2s-guest-portal .btn.primary,
body.b2s-guest-portal button.primary{
  background:linear-gradient(135deg,#e2a64e,#ce8432)!important;
  border-color:#ce8432!important;
  color:#18201d!important;
  box-shadow:0 10px 24px rgba(169,95,59,.18)!important;
}

body.b2s-guest-portal .b2s-mobile-guest-primary{
  color:#18201d!important;
  -webkit-text-fill-color:#18201d!important;
}

/* The icon lock and legacy hierarchy can both decorate this CTA; retain one. */
body.b2s-guest-home #guestHomeBid .b2s2887-icon{
  display:none!important;
}

body.b2s-guest-home #guestHomeBid :is(.b2s-ui-icon,.b2s2887-icon) ~ :is(.b2s-ui-icon,.b2s2887-icon){
  display:none!important;
}

body.b2s-guest-home .b2s-gh-panel-kicker,
body.b2s-guest-home .b2s-gh-section-kicker,
body.b2s-guest-home .b2s-gh-welcome-kicker,
body.b2s-guest-portal .b23-kicker{
  color:#976331!important;
}

/* Provider workspace: professional, natural and deliberately quieter than guest discovery. */
body.b2s-provider-portal .b2s-provider-topbar,
body.b2s-provider-portal .b2s284113-header{
  background:rgba(22,31,26,.98)!important;
  border-bottom-color:rgba(216,148,56,.3)!important;
}

body.b2s-provider-portal .provider-interest-card,
body.b2s-provider-portal .availability-card,
body.b2s-provider-portal .availability-switch-card,
body.b2s-provider-portal .done-card,
body.b2s-provider-portal .b2s28411-card,
body.b2s-provider-portal .b2s28411-panel,
body.b2s-provider-portal .b2s2842-share-card,
body.b2s-provider-portal .s04-card{
  border-color:var(--b2s-earth-line)!important;
  background-color:#fffdf8!important;
  box-shadow:var(--b2s-earth-shadow)!important;
}

body.b2s-provider-portal button[type="submit"],
body.b2s-provider-portal .btn.primary{
  background:linear-gradient(135deg,#e1a449,#ca8132)!important;
  border-color:#ca8132!important;
  color:#18201d!important;
}

/* Inputs stay familiar, with only a warmer focus state. */
body.b2s-global-public :is(input,select,textarea):focus,
body.b2s-guest-portal :is(input,select,textarea):focus,
body.b2s-provider-portal :is(input,select,textarea):focus{
  border-color:#b87939!important;
  box-shadow:0 0 0 3px rgba(216,148,56,.15)!important;
  outline:none!important;
}

/* Preserve the approved Chobe login artwork and improve palette continuity only. */
body.b2s-login-page .b2s-login-card{
  border-color:rgba(220,199,163,.42)!important;
  box-shadow:0 24px 64px rgba(5,12,8,.34)!important;
}

body.b2s-login-page .b2s-login-submit{
  background:linear-gradient(135deg,#e1a449,#c97d31)!important;
  color:#172019!important;
}

body.b2s-login-page .b2s-login-eyebrow{
  color:#efbd70!important;
}

/* Contact keeps its established night-safari canvas with deliberate contrast. */
body.b2s-contact-page .b2s-contact-card{
  background:rgba(5,16,27,.82)!important;
  border-color:rgba(220,199,163,.2)!important;
}

body.b2s-contact-page .b2s-contact-intro h1,
body.b2s-contact-page .b2s-contact-card h2,
body.b2s-contact-page .b2s-contact-option strong{
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
}

body.b2s-contact-page .b2s-contact-intro h1 span{
  color:#f4b21d!important;
  -webkit-text-fill-color:#f4b21d!important;
}

body.b2s-contact-page :is(.b2s-contact-intro>p,.b2s-contact-card-header p,.b2s-contact-option span,.b2s-contact-note){
  color:#b8c2d1!important;
  -webkit-text-fill-color:#b8c2d1!important;
}

body.b2s-contact-page .b2s-contact-field label{
  color:#dce3ec!important;
  -webkit-text-fill-color:#dce3ec!important;
}

body.b2s-contact-page .b2s-contact-field :is(input,select,textarea){
  color:#182234!important;
  -webkit-text-fill-color:#182234!important;
}

body.b2s-contact-page .b2s-production-support{
  background:rgba(248,243,232,.92)!important;
  border-color:rgba(216,148,56,.42)!important;
  color:#0d2a42!important;
  -webkit-text-fill-color:#0d2a42!important;
}

/* Discovery bridge: pale action stays legible against its natural dark panel. */
body.b2s-global-public .accommodation-bridge{
  background:linear-gradient(110deg,#17271f,#304438)!important;
}

body.b2s-global-public .accommodation-bridge :is(h2,p){
  color:#f8faf7!important;
  -webkit-text-fill-color:#f8faf7!important;
}

body.b2s-global-public .accommodation-bridge .eyebrow{
  color:#efbd70!important;
  -webkit-text-fill-color:#efbd70!important;
}

body.b2s-global-public .accommodation-bridge .btn-light{
  background:#fffaf0!important;
  border-color:#dcc7a3!important;
  color:#172019!important;
  -webkit-text-fill-color:#172019!important;
}

/* Maintain clarity and restraint on small screens. */
@media(max-width:760px){
  body.b2s-global-public:not(.b2s-login-page),
  body.b2s-guest-portal,
  body.b2s-provider-portal,
  body[data-bid2stay-release="28.16.7"]{
    background:
      radial-gradient(circle at 5% 2%,rgba(216,148,56,.055),transparent 18rem),
      linear-gradient(rgba(248,246,240,.78),rgba(248,246,240,.78)),
      url("botswana-wildlife-tracks-282401.png") center top/760px auto repeat,
      #f8f6f0;
  }

  body.b2s30-discovery-page.b2s-find-mobile-282340 .b2s30-search-hero{
    padding-top:20px!important;
  }

  body.b2s30-discovery-page.b2s-find-mobile-282340 .b2s30-search-hero [data-b2s30-search-title]{
    font-size:clamp(25px,7vw,30px)!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body[data-bid2stay-release="28.16.7"] .b2s-home-hero{
    background-image:
      linear-gradient(180deg,rgba(16,27,21,.86),rgba(18,31,24,.75) 54%,rgba(92,54,34,.52)),
      url("discover-botswana/okavango-delta.webp")!important;
  }

  body.b2s-guest-home .b2s-gh-hero-premium .b2s-gh-intro{
    background:
      linear-gradient(180deg,rgba(16,28,21,.88),rgba(20,35,26,.72) 56%,rgba(94,56,35,.55)),
      url("discover-botswana/okavango-delta.webp") center/cover no-repeat!important;
  }

  /* Mobile destination cards are a vertical one-card system, never a carousel. */
  body.b2s-global-public :is(.destination-grid,.b2s30-destination-grid),
  body.b2s-guest-portal :is(.b2s30-destination-grid,.b2s-gh-destinations){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:visible!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
    overscroll-behavior-x:none!important;
    -webkit-overflow-scrolling:auto!important;
  }

  /* Homepage mobile cards: one complete card per row, with no side swipe. */
  body[data-bid2stay-release="28.16.7"] .b2s-home-how :is(.b2s-how-grid,[class*="steps"]),
  body[data-bid2stay-release="28.16.7"] .b2s-home-featured-destinations{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding-inline:0!important;
    overflow-x:hidden!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
    overscroll-behavior-x:none!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:pan-y!important;
  }

  body[data-bid2stay-release="28.16.7"] .b2s-home-how :is(.b2s-how-grid,[class*="steps"])>* ,
  body[data-bid2stay-release="28.16.7"] .b2s-home-featured-destinations>.b2s30-destination-card{
    grid-column:1!important;
    flex:0 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-inline:0!important;
    scroll-snap-align:none!important;
  }

  body.b2s-global-public :is(.destination-grid,.b2s30-destination-grid)>*,
  body.b2s-guest-portal :is(.b2s30-destination-grid,.b2s-gh-destinations)>*{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    scroll-snap-align:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.b2s-global-public *,
  body.b2s-guest-portal *,
  body.b2s-provider-portal *{
    transition-duration:.01ms!important;
  }
}
