/* Bid2Stay production readiness lock.
   Loaded last on every surface. Keeps interaction labels legible without changing business logic. */

:root{
  --b2s-ink:#071828;
  --b2s-white:#ffffff;
  --b2s-gold:#f6b817;
}

/* Text inside any interactive surface must inherit the surface label colour. */
: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"]){
  text-shadow:none!important;
  -webkit-text-fill-color:currentColor;
}
:where(button,.btn,[role="button"],a.btn,a[class*="button"],a[class*="-btn"],a[class*="_btn"])
  :where(span,strong,b,em,small,label,p){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  text-shadow:none!important;
  opacity:1!important;
}

/* Known dark action surfaces: white labels, always. */
: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"],
       [class*="button"][class*="black"],[class*="btn"][class*="black"],
       .b2s29033-protection-card>a,.b2s2904-admin-primary,.b2s2904-checkin-action,
       .b2s2904-checkout-action){
  color:var(--b2s-white)!important;
  -webkit-text-fill-color:var(--b2s-white)!important;
}
:where(.b2s29033-protection-card>a,.b2s2904-admin-primary,.b2s2904-checkin-action,
       .b2s2904-checkout-action) *{
  color:var(--b2s-white)!important;
  -webkit-text-fill-color:var(--b2s-white)!important;
  opacity:1!important;
}

/* Gold / yellow action surfaces: deep ink labels. */
: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,.b2s-mobile-guest-primary,
       [class*="button"][class*="primary"],[class*="btn"][class*="primary"],
       [class*="button"][class*="gold"],[class*="btn"][class*="gold"]){
  color:var(--b2s-ink)!important;
  -webkit-text-fill-color:var(--b2s-ink)!important;
}

/* Light/outline surfaces: deep ink labels. */
: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;
}

/* Runtime-measured contrast locks. */
[data-b2s-rc-contrast="light"]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
[data-b2s-rc-contrast="dark"]{
  color:#071828!important;
  -webkit-text-fill-color:#071828!important;
}
[data-b2s-rc-contrast] :where(span,strong,b,em,small,label,p){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  opacity:1!important;
}

/* Disabled means visibly inactive, never unreadable. */
:where(button,.btn,[role="button"],a.btn):disabled,
:where(button,.btn,[role="button"],a.btn)[aria-disabled="true"]{
  opacity:.58!important;
  cursor:not-allowed!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Interaction surfaces must stay above decorative layers. Do not reactivate disabled controls. */
:where(a[href],button:not(:disabled),[role="button"]:not([aria-disabled="true"])){
  touch-action:manipulation;
}

/* Confirmed-stay guest protection is a high-value support action. */
.b2s29033-protection-card>a{
  background:#0b1f32!important;
  border-color:#0b1f32!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}

/* Mobile More menu: one icon and one interaction owner. */
@media(max-width:900px){
  .b2s-mobile-overflow-links a>.b2s2887-icon~.b2s2887-icon,
  .b2s-mobile-overflow-actions a>.b2s2887-icon~.b2s2887-icon{display:none!important}
  .b2s-mobile-overflow-links a[data-b2s2887-icon]::before,
  .b2s-mobile-overflow-actions a[data-b2s2887-icon]::before{display:none!important;content:none!important}
  .b2s-mobile-more-button{pointer-events:auto!important;touch-action:manipulation!important;z-index:10050!important}
  .b2s-mobile-overflow-panel{pointer-events:auto!important;z-index:10049!important}
}
