/* Bid2Stay Release 15.0.8.2 — production typography, visibility and alignment cleanup */
:root{
  --b2s-prod-text:#101828;
  --b2s-prod-secondary:#526174;
  --b2s-prod-soft:#667085;
  --b2s-prod-line:#d8e0e8;
  --b2s-prod-dark-text:#f8fafc;
  --b2s-prod-dark-secondary:#d7e0ea;
}

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{color:var(--b2s-prod-text);font-size:15px;line-height:1.55}

/* Let text inherit the correct surface colour. This prevents dark text on dark cards. */
:where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,strong,em,small,label){color:inherit}
:where(h1,h2,h3,h4,h5,h6){line-height:1.14;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:normal;word-break:normal}
:where(h1){line-height:1.08}
:where(p,li,dt,dd){line-height:1.58}
:where(small,.meta,.caption,.helper-text,.supporting-text,.description,.subtitle,.page-subtitle,.card-subtitle){line-height:1.48;opacity:1}

/* Readable secondary copy on light surfaces. */
:where(.page-head p,.section-head p,.panel-head p,.card-subtitle,.page-subtitle,.subtitle,.description,.helper-text,.supporting-text,.text-muted,.muted,.meta,.caption){
  color:var(--b2s-prod-secondary);
  opacity:1;
}
:where(.empty,.empty-state,.no-data,.loading-state,.b2s1505-empty,.b2s15-empty,.s04-detail-empty){color:var(--b2s-prod-secondary)}
:where(.empty,.empty-state,.no-data,.loading-state,.b2s1505-empty,.b2s15-empty,.s04-detail-empty) :where(p,small,span){color:#617084;opacity:1}

/* Dark-surface visibility. */
:where(.topbar,.sidebar,.hero,.dark-card,.dark-panel,.login-card,.auth-card,.b2s-login-card,.b2s-login-intro,.s04-hero,.s04-detail-hero,.b2s1503-checkin-hero,.b2s1506-live-head,.b2s151-action-card.primary,.b2s15-hero,.b2s40-hero,.b2s45-hero,.bpr-hero)
  :where(h1,h2,h3,h4,h5,h6,strong,label){color:var(--b2s-prod-dark-text)}
:where(.topbar,.sidebar,.hero,.dark-card,.dark-panel,.login-card,.auth-card,.b2s-login-card,.b2s-login-intro,.s04-hero,.s04-detail-hero,.b2s1503-checkin-hero,.b2s1506-live-head,.b2s151-action-card.primary,.b2s15-hero,.b2s40-hero,.b2s45-hero,.bpr-hero)
  :where(p,li,small,span,.subtitle,.description,.helper-text,.supporting-text,.meta,.caption){color:var(--b2s-prod-dark-secondary);opacity:1}
.s04-hero h1,.s04-detail-hero h2{color:#fff!important}
.s04-hero p,.s04-detail-hero p{color:#dce7f1!important;opacity:1!important}

/* Minimum readable sizes. */
:where(button,.btn,[role="button"],input,select,textarea){font-size:max(13px,.82rem);line-height:1.35}
:where(label,.field label,.s04-field label,.b2s15-field label,.b2s1506-publish-controls label){font-size:max(12px,.75rem);line-height:1.4}
:where(small,.meta,.caption,.helper-text,.metric small,.stat-label,.metric-label,.table th,th){font-size:max(11px,.69rem)}
:where(td,.table td){font-size:max(13px,.81rem);line-height:1.45}
:where(.sidebar a,.public-nav a,.mobile-menu a,.b2s-global-nav a){font-size:max(13px,.81rem);line-height:1.3}
:where(.badge,.chip,.pill,.status-badge,.s04-pill,.b2s1506-state){font-size:max(10px,.625rem);line-height:1.3}

/* Prevent text collision and clipping. */
:where(.page-head,.section-head,.panel-head,.card-head,.toolbar,.actions,.button-row,.filter-row,.admin-toolbar,.admin-actions,.s04-panel-head,.s04-actions,.s04-footer-actions,.b2s1505-hero-head,.b2s1505-card-head){
  min-width:0;max-width:100%;flex-wrap:wrap;row-gap:10px;
}
:where(.grid,.metrics,.form,.s04-grid,.s04-layout,.s04-summary,.b2s1505-grid,.b2s1505-kpis,.b2s1505-section-grid,.b2s15-grid)>*{min-width:0;max-width:100%}
:where(.card,.panel,.surface,.content-card,.metric,.metric-card,.stat-card,.offer-card,.booking-card,.property-card,.s04-panel,.b2s1505-card){overflow-wrap:anywhere;word-break:normal}
:where(h1,h2,h3,h4,h5,h6,p,a,button,label,span,strong,small,th,td){max-width:100%}
:where(button,.btn,[role="button"],.tab,.s04-step){white-space:normal;text-align:center}
:where(input,select,textarea){min-width:0;color:#101828;opacity:1}
:where(input,textarea)::placeholder{color:#758399;opacity:1}

/* Remove faded static text while retaining proper disabled controls. */
:where(p,li,dt,dd,label,small,.meta,.caption,.subtitle,.description,.helper-text,.supporting-text,.metric span,.metric small,.stat-label,.metric-label){opacity:1}
:where(button:disabled,input:disabled,select:disabled,textarea:disabled,.is-disabled,[aria-disabled="true"]){opacity:.58}

/* Production navigation alignment. */
.sidebar[data-production-navigation] .b2s-nav-section{color:rgba(255,255,255,.72);font-size:11px;line-height:1.4}
.sidebar[data-production-navigation] a{display:flex;align-items:center;min-height:48px;line-height:1.25}
.sidebar[data-production-navigation] .b2s-nav-label{min-width:0;overflow-wrap:normal}
.sidebar[data-production-navigation] .b2s-nav-badge{flex:none}

/* Admin command centre clarity. */
.b2s1505-kicker{font-size:11px;line-height:1.35}
.b2s1505-kpi span,.b2s1505-kpi small,.b2s1505-card p,.b2s1505-card small{color:#59687b!important;opacity:1!important}
.b2s1505-kpi span{font-size:11px!important;line-height:1.4!important}
.b2s1505-kpi small{font-size:11px!important}
.b2s1505-card h2,.b2s1505-card h3{line-height:1.2}

/* Accommodation submission portal visibility and form alignment. */
.s04-shell{width:100%;min-width:0}
.s04-hero>div,.s04-panel-head>div{min-width:0}
.s04-summary span{font-size:11px;line-height:1.4;color:#536174}
.s04-step{min-height:42px;line-height:1.3}
.s04-field small,.s04-panel-head p,.s04-form-step>.intro{color:#5b697c;opacity:1}
.s04-footer-actions{align-items:center}

/* Login and public pages: remove mobile clipping and low-contrast copy. */
.b2s-login-shell,.b2s-login-intro,.b2s-login-card{min-width:0;max-width:100%}
.b2s-login-intro h1{overflow:visible;white-space:normal;word-break:normal;text-wrap:balance}
.b2s-login-intro>p,.b2s-login-benefits li,.b2s-login-card-header p,.b2s-login-security,.b2s-login-account{opacity:1}
.b2s-login-card :where(label,.b2s-login-security,.b2s-login-account){color:#c4cfdd}
.b2s-login-card input,.b2s-login-card select{color:#102033;background:#fff}

/* Tables remain usable without compressing text into overlapping columns. */
:where(.table-wrap,.admin-table-wrap,.responsive-table,.data-table-wrap){overflow-x:auto;-webkit-overflow-scrolling:touch}
:where(table){table-layout:auto}
:where(th,td){vertical-align:top;overflow-wrap:normal;word-break:normal}

@media(max-width:900px){
  body{font-size:15px}
  :where(.page-head,.section-head,.panel-head,.card-head){align-items:flex-start}
  :where(.page-head h1){font-size:clamp(30px,8vw,42px)}
  :where(.metrics,.b2s1505-kpis,.s04-summary){grid-auto-rows:auto}
}

@media(max-width:640px){
  body{font-size:16px;line-height:1.58}
  .main{padding:18px 14px}
  :where(h1){font-size:clamp(30px,9vw,42px);line-height:1.1;letter-spacing:-.035em}
  :where(h2){font-size:clamp(22px,6vw,30px);line-height:1.16}
  :where(h3){line-height:1.2}
  :where(p,li,dt,dd){line-height:1.62}
  :where(button,.btn,[role="button"]){min-height:44px}
  :where(.page-head,.s04-hero,.b2s1505-hero-head){gap:14px}
  .s04-hero h1{font-size:30px!important;line-height:1.12!important}
  .s04-stepper{gap:7px}
  .s04-step{font-size:11px;min-height:44px;padding:10px 8px}
  .s04-footer-actions{gap:10px}
  .s04-footer-actions>*{flex:1 1 auto}

  body.b2s-login-page .b2s-login-shell,
  body.b2s-login-discovery-home .b2s-login-shell{
    width:100%!important;max-width:100%!important;padding:34px 16px 52px!important;overflow:visible!important;
  }
  body.b2s-login-page .b2s-login-intro,
  body.b2s-login-discovery-home .b2s-login-intro{
    width:100%!important;max-width:100%!important;margin-inline:auto!important;overflow:visible!important;
  }
  body.b2s-login-page .b2s-login-intro h1,
  body.b2s-login-discovery-home .b2s-login-intro h1{
    width:100%!important;max-width:100%!important;font-size:clamp(38px,10.5vw,48px)!important;line-height:1.08!important;letter-spacing:-.04em!important;overflow:visible!important;
  }
  body.b2s-login-page .b2s-login-intro>p,
  body.b2s-login-discovery-home .b2s-login-intro>p,
  body.b2s-login-page .b2s-login-benefits li,
  body.b2s-login-discovery-home .b2s-login-benefits li{color:#d4deea!important;opacity:1!important}
  body.b2s-login-page .b2s-login-card,
  body.b2s-login-discovery-home .b2s-login-card{width:100%!important;max-width:100%!important;margin-inline:auto!important;padding:24px 18px!important;overflow:visible!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Final targeted readability corrections from rendered desktop/mobile audit. */
:where(.metric span,.metric small,.admin-metric span,.admin-metric small,.admin-card span,.admin-card small,.b2s1505-kpi span,.b2s1505-kpi small,.s04-summary span,.b2s1506-summary span,.b2s1506-summary small){font-size:11px!important;line-height:1.4!important;opacity:1!important}
:where(.admin-kicker,.kicker,.b2s1505-kicker,.b2s-comparison-kicker){font-size:11px!important;line-height:1.35!important}
:where(table th,.table th){font-size:11px!important;line-height:1.35!important}
:where(.currency button){font-size:11px!important}
:where(.admin-badge,.badge,.b2s15-badge,.s04-pill){min-width:max-content}

.b2s151-action-card span{opacity:1!important}
.b2s151-action-card.primary span{color:#dce7f2!important}
.b2s151-action-card:not(.primary) span{color:#566579!important}

.b2s-login-intro h1,.b2s-login-card h2{color:#f8fafc!important;opacity:1!important}
.b2s-login-eyebrow{color:#cbd6e3!important;opacity:1!important}
.b2s-login-intro>p,.b2s-login-benefits li{color:#d7e1ec!important;opacity:1!important}
.b2s-login-card-header p,.b2s-login-security,.b2s-login-account{color:#c0ccda!important;opacity:1!important}
.b2s-login-links a{opacity:1!important}

/* High-specificity production overrides for legacy !important rules. */
body[data-production-release="15.0.8.2"] .currency button{font-size:11px!important}
body[data-production-release="15.0.8.2"] .admin-kicker,
body[data-production-release="15.0.8.2"] .kicker{font-size:11px!important;line-height:1.35!important}
body[data-production-release="15.0.8.2"] .admin-metric span,
body[data-production-release="15.0.8.2"] .admin-metric small,
body[data-production-release="15.0.8.2"] .hotel-metric span,
body[data-production-release="15.0.8.2"] .hotel-metric small,
body[data-production-release="15.0.8.2"] .hotel-summary span,
body[data-production-release="15.0.8.2"] .admin-summary span{font-size:11px!important;line-height:1.4!important;opacity:1!important}
body[data-production-release="15.0.8.2"] table th,
body[data-production-release="15.0.8.2"] .table th{font-size:11px!important;line-height:1.35!important}
body[data-production-release="15.0.8.2"] .admin-badge,
body[data-production-release="15.0.8.2"] .b2s15-badge{font-size:10px!important;line-height:1.3!important;white-space:nowrap!important}
body[data-production-release="15.0.8.2"] .admin-badge,
body[data-production-release="15.0.8.2"] .b2s15-badge{font-size:11px!important;padding-inline:9px!important}

/* Full-project audit corrections for remaining legacy micro-text. */
body[data-production-release="15.0.8.2"] .field label,
body[data-production-release="15.0.8.2"] .field.wide label{font-size:12px!important;line-height:1.4!important}
body[data-production-release="15.0.8.2"] .metric span,
body[data-production-release="15.0.8.2"] .metric small{font-size:11px!important;line-height:1.4!important;opacity:1!important}
body[data-production-release="15.0.8.2"] .b2s40-filter,
body[data-production-release="15.0.8.2"] .b2s40-new-support{font-size:12px!important;line-height:1.3!important}
body[data-production-release="15.0.8.2"] .b2s40-conversation-head p,
body[data-production-release="15.0.8.2"] .b2s40-attach,
body[data-production-release="15.0.8.2"] .b2s40-composer-note{font-size:11px!important;line-height:1.45!important;opacity:1!important}
body[data-production-release="15.0.8.2"] .b2s152-kpis small,
body[data-production-release="15.0.8.2"] .bpr-balance small,
body[data-production-release="15.0.8.2"] .b2s151-field small{font-size:11px!important;line-height:1.4!important;opacity:1!important}
body[data-production-release="15.0.8.2"] .guest-kicker,
body[data-production-release="15.0.8.2"] .hotel-kicker,
body[data-production-release="15.0.8.2"] .r11-eyebrow,
body[data-production-release="15.0.8.2"] .b2s-pass-security{font-size:11px!important;line-height:1.35!important;opacity:1!important}
body[data-production-release="15.0.8.2"] .b2s-stay-detail span,
body[data-production-release="15.0.8.2"] .b2s-stay-stat span,
body[data-production-release="15.0.8.2"] .b2s-location-copy span,
body[data-production-release="15.0.8.2"] .r11-live-stat span{font-size:11px!important;line-height:1.4!important;opacity:1!important}
body[data-production-release="15.0.8.2"] .r11-footer-grid h4{font-size:12px!important;line-height:1.35!important}
