/* Bid2Stay Release 12.8.4.0.7.1.7.6 — Typography Contrast & Readability Hotfix */
:root{
  --muted:#536174;
  --b2s-text:#111827;
  --b2s-text-secondary:#4b596c;
  --b2s-text-soft:#667085;
  --b2s-dark-text:#f8fafc;
  --b2s-dark-secondary:#d6deea;
}

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{color:var(--b2s-text);font-weight:450;line-height:1.5}

/* Primary headings */
:where(h1,h2,h3,h4,h5,h6,.page-title,.card-title,.section-title,.panel-title){
  color:var(--b2s-text);
  font-weight:780;
  text-wrap:balance;
}

/* Paragraphs, descriptions and secondary text */
:where(p,.subtitle,.description,.helper-text,.supporting-text,.card-subtitle,.page-subtitle,.muted,.text-muted,.secondary-text){
  color:var(--b2s-text-secondary);
  font-weight:500;
  line-height:1.55;
}

/* Small labels and metadata */
:where(small,.meta,.caption,.eyebrow,.overline,.kicker,.metric span,.metric small,.stat-label,.metric-label,.table th,.field label,label){
  color:#465366;
  font-weight:700;
}

/* KPI values and important numbers */
:where(.metric strong,.stat-value,.metric-value,.kpi-value,.amount,.price){
  color:#101828;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

/* Table and list readability */
:where(td,.table td,.row span,.list-item-subtitle,.booking-meta,.offer-meta){
  color:#445166;
  font-weight:500;
}
:where(th,.table th){color:#3f4b5d;font-weight:800}

/* Inputs and placeholders */
:where(input,select,textarea){color:#111827;font-weight:550}
:where(input,textarea)::placeholder{color:#7a8699;opacity:1;font-weight:500}
:where(select option){color:#111827}

/* Buttons and navigation */
:where(button,.btn,[role="button"],.sidebar a,.public-nav a,.mobile-menu a){font-weight:750}

/* Dark surfaces */
:where(.topbar,.sidebar,.hero,.login-card,.auth-card,.dark-card,.dark-panel,.nav-dropdown,.account-menu,.profile-menu){
  color:var(--b2s-dark-text);
}
:where(.topbar,.sidebar,.hero,.login-card,.auth-card,.dark-card,.dark-panel,.nav-dropdown,.account-menu,.profile-menu)
:where(p,small,.subtitle,.description,.helper-text,.supporting-text,.card-subtitle,.page-subtitle,.muted,.text-muted,.secondary-text,.meta,.caption){
  color:var(--b2s-dark-secondary);
}
:where(.topbar,.sidebar,.hero,.login-card,.auth-card,.dark-card,.dark-panel,.nav-dropdown,.account-menu,.profile-menu)
:where(h1,h2,h3,h4,h5,h6,strong,label,.field label){
  color:#fff;
}

/* Keep intentionally muted empty-state text readable */
:where(.empty,.empty-state,.no-data,.loading-state){color:#526074}
:where(.empty,.empty-state,.no-data,.loading-state) p{color:#637084}

/* Status/badge text clarity */
:where(.badge,.chip,.pill,.status-badge){font-weight:800;letter-spacing:.01em}

/* Mobile readability */
@media(max-width:640px){
  body{font-size:16px}
  :where(p,.subtitle,.description,.helper-text,.supporting-text,.card-subtitle,.page-subtitle){line-height:1.58}
  :where(small,.meta,.caption,.metric small){font-size:max(12px,.75rem)}
}
