/* Bid2Stay production surface cleanup: button contrast, label inheritance and clean interaction states. */

/* Every actionable surface must keep its label legible. */
:where(button,.btn,[role="button"],a.btn,a[class*="button"],a[class*="-btn"],a[class*="_btn"],
       input[type="button"],input[type="submit"],input[type="reset"]){
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}
:where(button,.btn,[role="button"],a.btn,a[class*="button"],a[class*="-btn"],a[class*="_btn"])
  :where(span,strong,b,em,small,label){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  text-shadow:none!important;
}

/* Canonical Bid2Stay action palettes. */
:where(.btn.primary,.btn.gold,.btn-gold,.b2s-btn-primary,.b2s-gh-btn.primary,.b2s151-btn.primary,
       .b2s30-card-button.primary,.s04-btn.primary,.primary-button,[class*="button"][class*="primary"],
       [class*="btn"][class*="primary"],[class*="button"][class*="gold"],[class*="btn"][class*="gold"]){
  color:#071828!important;
  -webkit-text-fill-color:#071828!important;
}
:where(.btn.dark,.btn.btn-dark,.btn-dark,.b2s-btn-dark,.s04-btn.dark,
       [class*="button"][class*="dark"],[class*="btn"][class*="dark"],
       [class*="button"][class*="navy"],[class*="btn"][class*="navy"]){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
:where(.btn.light,.btn.btn-light,.btn-light,.b2s-btn-ghost,.b2s-gh-btn.secondary,.b2s151-btn.light,
       .b2s30-card-button.secondary,.s04-btn.light,[class*="button"][class*="light"],
       [class*="btn"][class*="light"],[class*="button"][class*="secondary"],
       [class*="btn"][class*="secondary"]){
  color:#0b1f32!important;
  -webkit-text-fill-color:#0b1f32!important;
}

/* High-value booking / protection actions. */
.b2s29033-protection-card>a{
  background:#0b1f32!important;
  border-color:#0b1f32!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.b2s29033-protection-card>a *{color:#fff!important;-webkit-text-fill-color:#fff!important}
.b2s29033-direction-actions a.primary,
.b2s29033-head-actions a.message{
  color:#071828!important;
  -webkit-text-fill-color:#071828!important;
}

/* Never make disabled text disappear; state is conveyed by opacity + cursor. */
:where(button,.btn,[role="button"],a.btn):disabled,
:where(button,.btn,[role="button"],a.btn)[aria-disabled="true"]{
  opacity:.58!important;
  -webkit-text-fill-color:currentColor!important;
  cursor:not-allowed!important;
}

/* Keep active/focus states readable instead of letting legacy rules invert only the background. */
:where(button,.btn,[role="button"],a.btn,a[class*="button"],a[class*="-btn"]):focus-visible{
  outline:3px solid rgba(22,115,210,.35)!important;
  outline-offset:2px!important;
}

/* Runtime marks controls after measured contrast correction. */
[data-b2s29041-contrast="dark"]{color:#071828!important;-webkit-text-fill-color:#071828!important}
[data-b2s29041-contrast="light"]{color:#fff!important;-webkit-text-fill-color:#fff!important}
[data-b2s29041-contrast] :where(span,strong,b,em,small,label){color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Development-only surface text is removed by JS; this class avoids layout gaps. */
.b2s-dev-copy-removed{display:none!important}
