/* Lounge291 Karaoke Availability - frontend additions only. */
.l291-guided-sidebar{
  display:flex !important;
  flex-direction:column !important;
}

/* Keep Amelia's extra price from breaking into $1,500. / 00 on narrow cards. */
.amelia-v2-booking .am-fs__extras-card__header-right,
.amelia-v2-booking .am-fs__extras-card__header-right *{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* Availability status is rendered as a floating toast so it never changes
   Amelia's card/grid geometry. The Karaoke card only gets a subtle state border. */
.amelia-v2-booking .l291-karaoke-card{
  position:relative !important;
}
.amelia-v2-booking .l291-karaoke-card[data-l291-karaoke-state="available"]{
  box-shadow:inset 0 0 0 1px rgba(23,107,45,.20) !important;
}
.amelia-v2-booking .l291-karaoke-card[data-l291-karaoke-state="unavailable"],
.amelia-v2-booking .l291-karaoke-card[data-l291-karaoke-state="error"]{
  box-shadow:inset 0 0 0 1px rgba(138,31,26,.22) !important;
}

.l291-karaoke-status{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  position:fixed !important;
  right:24px !important;
  bottom:92px !important;
  width:min(380px, calc(100vw - 32px)) !important;
  max-width:380px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:13px 15px !important;
  border-radius:14px !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  box-shadow:0 14px 36px rgba(15,23,42,.18) !important;
  z-index:999999 !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.l291-karaoke-status[hidden]{
  display:none !important;
}
.l291-karaoke-status__text{
  display:block !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.l291-karaoke-dot{
  width:9px !important;
  height:9px !important;
  min-width:9px !important;
  flex:0 0 9px !important;
  margin-top:5px !important;
  border-radius:50% !important;
  background:currentColor !important;
}
.l291-karaoke-status--pending,
.l291-karaoke-status--checking{
  background:#fffaf0 !important;
  border:1px solid #ead29a !important;
  color:#6b5420 !important;
}
.l291-karaoke-status--available{
  background:#effaf2 !important;
  border:1px solid #9dd8aa !important;
  color:#176b2d !important;
}
.l291-karaoke-status--unavailable,
.l291-karaoke-status--error{
  background:#fff3f2 !important;
  border:1px solid #e7a3a0 !important;
  color:#8a1f1a !important;
}

.l291-karaoke-disabled-control{
  opacity:.38 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}
.l291-karaoke-conflict{
  margin:0 0 16px !important;
  padding:14px 16px !important;
  border-radius:10px !important;
  background:#fff1f0 !important;
  border:1px solid #e7a3a0 !important;
  color:#8a1f1a !important;
  font-weight:600 !important;
  line-height:1.45 !important;
}

@media (max-width: 560px){
  .l291-karaoke-status{
    left:12px !important;
    right:12px !important;
    bottom:86px !important;
    width:auto !important;
    max-width:none !important;
    padding:12px 13px !important;
    border-radius:12px !important;
    font-size:12px !important;
    line-height:1.4 !important;
  }
}
