:root{--b2s-brand-header-height:76px;--b2s-brand-logo-header-height:62px;--b2s-brand-logo-header-height-mobile:52px}

.b2s-admin-topbar{height:var(--b2s-brand-header-height)!important;min-height:var(--b2s-brand-header-height)!important;background:#fff!important}
.b2s-admin-topbar-inner{height:100%!important;min-height:0!important;align-items:center!important}
.b2s-admin-logo,header .logo,header .b2s-global-brand,header .provider-interest-logo,header .availability-brand{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important}
.b2s-admin-logo img,header .logo img,header .b2s-global-brand img,header .provider-interest-logo img,header .availability-brand img{width:auto!important;height:var(--b2s-brand-logo-header-height)!important;max-width:132px!important;max-height:var(--b2s-brand-logo-header-height)!important;margin:0!important;background:transparent!important;object-fit:contain!important;object-position:left center!important}

.b2s-auth-recovery-brand img{width:auto!important;height:76px!important;max-width:230px!important;background:transparent!important;object-fit:contain!important}
.b2s30-footer-brand img,.b2s-footer-brand img,.footer-brand img{width:auto!important;height:74px!important;max-width:230px!important;background:transparent!important;object-fit:contain!important}

@media(max-width:900px){
.b2s-admin-logo img,header .logo img,header .b2s-global-brand img,header .provider-interest-logo img,header .availability-brand img{height:var(--b2s-brand-logo-header-height-mobile)!important;max-height:var(--b2s-brand-logo-header-height-mobile)!important;max-width:112px!important}
}
@media(max-width:520px){
.b2s-admin-topbar-inner{padding-left:14px!important;padding-right:14px!important}
.b2s-admin-logo img,header .logo img,header .b2s-global-brand img,header .provider-interest-logo img,header .availability-brand img{height:48px!important;max-height:48px!important;max-width:104px!important}
.b2s-auth-recovery-brand img{height:68px!important;max-width:205px!important}
}

:root{--b2s-prod-gold:#d8a51d;--b2s-prod-navy:#0c2234;--b2s-prod-ink:#172536;--b2s-prod-muted:#667585;--b2s-prod-line:#dce3e9;--b2s-prod-soft:#f5f7f9;--b2s-prod-focus:rgba(216,165,29,.18)}
html{-webkit-text-size-adjust:100%}
body,input,select,textarea,button{font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{min-height:44px;border-color:var(--b2s-prod-line);box-shadow:none}
textarea{min-height:96px}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{outline:none;border-color:var(--b2s-prod-gold);box-shadow:0 0 0 3px var(--b2s-prod-focus)}
button,.btn,[class*="button"],[class*="btn"]{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Bid2Stay 27.8.5 — public header logo clarity lock */
header.b2s-global-header[data-b2s-header-type="public"] .b2s-global-brand{
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
header.b2s-global-header[data-b2s-header-type="public"] .b2s-global-brand img[src*="bid2stay-logo-header-horizontal.png"]{
  width:auto!important;
  height:36px!important;
  min-height:0!important;
  max-height:36px!important;
  max-width:174px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
@media(max-width:900px){
  header.b2s-global-header[data-b2s-header-type="public"] .b2s-global-brand img[src*="bid2stay-logo-header-horizontal.png"]{
    height:33px!important;
    max-height:33px!important;
    max-width:154px!important;
  }
}
@media(max-width:420px){
  header.b2s-global-header[data-b2s-header-type="public"] .b2s-global-brand img[src*="bid2stay-logo-header-horizontal.png"]{
    height:30px!important;
    max-height:30px!important;
    max-width:140px!important;
  }
}

/* Bid2Stay 27.8.6 — global header identity consolidation */
:root{
  --b2s-header-logo-desktop-h:38px;
  --b2s-header-logo-mobile-h:32px;
  --b2s-header-logo-desktop-w:184px;
  --b2s-header-logo-mobile-w:154px;
}
/* Public dark header + guest dark header */
header.b2s-global-header .b2s-global-brand,
header.topbar .logo,
header.b2s-admin-topbar .b2s-admin-logo,
header.provider-interest-header .provider-interest-logo{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  min-width:0!important;
  overflow:visible!important;
}
header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal"],
header.topbar .logo img[src*="bid2stay-logo-header-horizontal"],
header.b2s-admin-topbar .b2s-admin-logo img[src*="bid2stay-logo-header-horizontal"],
header.provider-interest-header .provider-interest-logo img[src*="bid2stay-logo-header-horizontal"]{
  display:block!important;
  width:auto!important;
  height:var(--b2s-header-logo-desktop-h)!important;
  min-height:0!important;
  max-height:var(--b2s-header-logo-desktop-h)!important;
  max-width:var(--b2s-header-logo-desktop-w)!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
  filter:none!important;
}
/* Keep logo proportions stable in both legacy locked and current portal headers. */
body .topbar[data-b2s-topbar-lock] .logo img[src*="bid2stay-logo-header-horizontal"],
body[data-portal-role="guest"] .topbar .logo img[src*="bid2stay-logo-header-horizontal"],
body[data-portal-role="provider"] .topbar .logo img[src*="bid2stay-logo-header-horizontal"]{
  height:var(--b2s-header-logo-desktop-h)!important;
  max-height:var(--b2s-header-logo-desktop-h)!important;
  max-width:var(--b2s-header-logo-desktop-w)!important;
}
/* Admin is intentionally a light surface; use the navy/gold horizontal asset. */
.b2s-admin-topbar .b2s-admin-logo img[src*="bid2stay-logo-header-horizontal-dark.png"]{
  height:36px!important;
  max-height:36px!important;
  max-width:176px!important;
}
@media(max-width:900px){
  header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal"],
  header.topbar .logo img[src*="bid2stay-logo-header-horizontal"],
  header.b2s-admin-topbar .b2s-admin-logo img[src*="bid2stay-logo-header-horizontal"],
  header.provider-interest-header .provider-interest-logo img[src*="bid2stay-logo-header-horizontal"],
  body .topbar[data-b2s-topbar-lock] .logo img[src*="bid2stay-logo-header-horizontal"]{
    height:var(--b2s-header-logo-mobile-h)!important;
    max-height:var(--b2s-header-logo-mobile-h)!important;
    max-width:var(--b2s-header-logo-mobile-w)!important;
  }
}
@media(max-width:420px){
  :root{--b2s-header-logo-mobile-h:29px;--b2s-header-logo-mobile-w:140px}
}

/* Bid2Stay 27.8.8 — global header logo proportion and clarity lock
   Final override for legacy performance CSS logo constraints. */
:root{
  --b2s-logo-public-h:44px;
  --b2s-logo-public-w:214px;
  --b2s-logo-admin-h:40px;
  --b2s-logo-admin-w:194px;
}
header.b2s-global-header .b2s-global-brand,
header.topbar .logo,
header.b2s-admin-topbar .b2s-admin-logo,
header.provider-interest-header .provider-interest-logo{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex-shrink:0!important;
  overflow:visible!important;
}
header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal"],
header.topbar .logo img[src*="bid2stay-logo-header-horizontal"],
header.provider-interest-header .provider-interest-logo img[src*="bid2stay-logo-header-horizontal"]{
  width:auto!important;
  height:var(--b2s-logo-public-h)!important;
  min-width:0!important;
  max-width:var(--b2s-logo-public-w)!important;
  min-height:0!important;
  max-height:var(--b2s-logo-public-h)!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:none!important;
  filter:none!important;
}
header.b2s-admin-topbar .b2s-admin-logo img[src*="bid2stay-logo-header-horizontal-dark.png"]{
  width:auto!important;
  height:var(--b2s-logo-admin-h)!important;
  max-width:var(--b2s-logo-admin-w)!important;
  max-height:var(--b2s-logo-admin-h)!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:none!important;
  filter:none!important;
}
/* Guest/provider locked topbars require an explicit override because historical bundles use !important max-widths. */
body .topbar[data-b2s-topbar-lock] .logo img[src*="bid2stay-logo-header-horizontal"],
body[data-portal-role="guest"] header.topbar .logo img[src*="bid2stay-logo-header-horizontal"],
body[data-portal-role="provider"] header.topbar .logo img[src*="bid2stay-logo-header-horizontal"],
body.b2s-guest-home header.topbar .logo img[src*="bid2stay-logo-header-horizontal"]{
  width:auto!important;
  height:var(--b2s-logo-public-h)!important;
  max-width:var(--b2s-logo-public-w)!important;
  max-height:var(--b2s-logo-public-h)!important;
}
@media(max-width:900px){
  :root{--b2s-logo-public-h:38px;--b2s-logo-public-w:184px;--b2s-logo-admin-h:36px;--b2s-logo-admin-w:174px}
}
@media(max-width:520px){
  :root{--b2s-logo-public-h:34px;--b2s-logo-public-w:164px;--b2s-logo-admin-h:33px;--b2s-logo-admin-w:158px}
  header.b2s-global-header .b2s-global-brand,
  header.topbar .logo,
  header.b2s-admin-topbar .b2s-admin-logo{max-width:none!important}
}

/* Bid2Stay 27.8.9 — canonical header contrast lock.
   Dark public / guest / private-provider headers MUST use the light horizontal asset.
   Light admin and public-provider-interest headers retain the navy/gold asset. */
header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal-light.png"],
header.topbar .logo img[src*="bid2stay-logo-header-horizontal-light.png"]{
  display:block!important;
  width:auto!important;
  height:44px!important;
  max-width:214px!important;
  max-height:44px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  opacity:1!important;
}
@media(max-width:900px){
  header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal-light.png"],
  header.topbar .logo img[src*="bid2stay-logo-header-horizontal-light.png"]{
    height:38px!important;max-width:184px!important;max-height:38px!important;
  }
}
@media(max-width:520px){
  header.b2s-global-header .b2s-global-brand img[src*="bid2stay-logo-header-horizontal-light.png"],
  header.topbar .logo img[src*="bid2stay-logo-header-horizontal-light.png"]{
    height:34px!important;max-width:164px!important;max-height:34px!important;
  }
}

/* Bid2Stay 27.9.6 — footer brand consolidation */
.b2s30-footer-brand img,
.b2s-footer-brand img,
.footer-brand img {
  width:auto!important;
  height:48px!important;
  max-width:190px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  opacity:1!important;
}
@media (max-width:640px){
  .b2s30-footer-brand img,
  .b2s-footer-brand img,
  .footer-brand img {
    height:42px!important;
    max-width:170px!important;
  }
}


/* Bid2Stay 27.9.7 — project-wide logo identity lock.
   Canonical rule: light horizontal mark on dark surfaces; navy/gold horizontal mark on light surfaces.
   This is the last cascade layer and intentionally overrides historical performance-bundle logo sizing. */
:root{
  --b2s-brand-header-logo-h:44px;
  --b2s-brand-header-logo-w:214px;
  --b2s-brand-admin-logo-h:40px;
  --b2s-brand-admin-logo-w:194px;
  --b2s-brand-footer-logo-h:44px;
  --b2s-brand-footer-logo-w:190px;
  --b2s-brand-inline-logo-h:42px;
  --b2s-brand-inline-logo-w:190px;
}
/* Canonical horizontal artwork must never be stretched, filtered or faded. */
img[src*="bid2stay-logo-header-horizontal-light.png"],
img[src*="bid2stay-logo-header-horizontal-dark.png"]{
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}
/* Dark public, guest and private-provider topbars. */
header.b2s-global-header .b2s-global-brand img[src*="-horizontal-light.png"],
header.topbar .logo img[src*="-horizontal-light.png"]{
  width:auto!important;height:var(--b2s-brand-header-logo-h)!important;
  max-width:var(--b2s-brand-header-logo-w)!important;max-height:var(--b2s-brand-header-logo-h)!important;
  min-width:0!important;min-height:0!important;object-position:left center!important;
}
/* Light admin/provider-interest topbars. */
header.b2s-admin-topbar .b2s-admin-logo img[src*="-horizontal-dark.png"],
header.provider-interest-header .provider-interest-logo img[src*="-horizontal-dark.png"]{
  width:auto!important;height:var(--b2s-brand-admin-logo-h)!important;
  max-width:var(--b2s-brand-admin-logo-w)!important;max-height:var(--b2s-brand-admin-logo-h)!important;
  min-width:0!important;min-height:0!important;object-position:left center!important;
}
/* Auth recovery and standalone provider availability are light surfaces. */
.b2s-auth-recovery-brand img[src*="-horizontal-dark.png"],
.availability-brand img[src*="-horizontal-dark.png"]{
  display:block!important;width:auto!important;height:var(--b2s-brand-inline-logo-h)!important;
  max-width:var(--b2s-brand-inline-logo-w)!important;max-height:var(--b2s-brand-inline-logo-h)!important;
  margin:0!important;object-position:left center!important;
}
.availability-brand{width:auto!important;max-width:var(--b2s-brand-inline-logo-w)!important;display:flex!important;justify-content:center!important}
/* Dark footers use the light mark at a deliberately subordinate size. */
.b2s30-footer-brand img[src*="-horizontal-light.png"],
.b2s-footer-brand img[src*="-horizontal-light.png"],
.footer-brand img[src*="-horizontal-light.png"]{
  width:auto!important;height:var(--b2s-brand-footer-logo-h)!important;
  max-width:var(--b2s-brand-footer-logo-w)!important;max-height:var(--b2s-brand-footer-logo-h)!important;
  object-position:left center!important;
}
@media(max-width:900px){
  :root{--b2s-brand-header-logo-h:38px;--b2s-brand-header-logo-w:184px;--b2s-brand-admin-logo-h:36px;--b2s-brand-admin-logo-w:174px}
}
@media(max-width:520px){
  :root{--b2s-brand-header-logo-h:34px;--b2s-brand-header-logo-w:164px;--b2s-brand-admin-logo-h:33px;--b2s-brand-admin-logo-w:158px;--b2s-brand-footer-logo-h:40px;--b2s-brand-footer-logo-w:164px;--b2s-brand-inline-logo-h:38px;--b2s-brand-inline-logo-w:170px}
}

/* 28.0.6 — dark recovery/onboarding card uses light-on-dark identity */
.b2s-auth-recovery-brand img[src*="-horizontal-light.png"]{
  display:block!important;width:auto!important;height:var(--b2s-brand-inline-logo-h)!important;
  max-width:var(--b2s-brand-inline-logo-w)!important;max-height:var(--b2s-brand-inline-logo-h)!important;
  margin:0!important;object-fit:contain!important;object-position:left center!important;filter:none!important;opacity:1!important;
}
