/* BookingHoldWidget_v1 — SG static safe */

:root{
  --bh-bg: rgba(11, 21, 30, 0.72);
  --bh-card: rgba(4, 7, 10, 0.75);
  --bh-border: rgba(158, 244, 254, 0.18);
  --bh-text: #F4F3EF;
  --bh-muted: rgba(244, 243, 239, 0.72);
  --bh-accent: #028CC3;
  --bh-accent2: #9EF4FE;
  --bh-danger: #ff5a5f;
  --bh-warn: #f6c343;
  --bh-ok: #35d07f;

  --bh-radius: 18px;
  --bh-pad: 18px;
  --bh-gap: 12px;
  --bh-shadow: 0 10px 26px rgba(0,0,0,0.35);
  --bh-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.bh-wrap{
  font-family: var(--bh-font);
  color: var(--bh-text);
  background: var(--bh-bg);
  border: 1px solid var(--bh-border);
  border-radius: var(--bh-radius);
  box-shadow: var(--bh-shadow);
  padding: var(--bh-pad);
  max-width: 980px;
}

.bh-header{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--bh-gap);
  justify-content: space-between;
  margin-bottom: 14px;
}

.bh-title{
  font-size: 18px;
  letter-spacing: 0.2px;
  margin: 0;
}

.bh-sub{
  margin: 0;
  font-size: 13px;
  color: var(--bh-muted);
}

.bh-row{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 14px;
}

@media (max-width: 860px){
  .bh-row{ grid-template-columns: 1fr; }
}

.bh-panel{
  background: var(--bh-card);
  border: 1px solid var(--bh-border);
  border-radius: var(--bh-radius);
  padding: 14px;
}

.bh-label{
  font-size: 12px;
  color: var(--bh-muted);
  margin-bottom: 8px;
}

.bh-controls{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.bh-input{
  background: rgba(4,7,10,0.55);
  border: 1px solid var(--bh-border);
  color: var(--bh-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
}

.bh-input:focus{
  border-color: rgba(158, 244, 254, 0.38);
}

.bh-btn{
  border: 1px solid var(--bh-border);
  background: rgba(2,140,195,0.12);
  color: var(--bh-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  cursor: pointer;
  transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
}

.bh-btn:hover{
  background: rgba(2,140,195,0.18);
  border-color: rgba(158, 244, 254, 0.32);
}

.bh-btn:active{
  transform: translateY(1px);
}

.bh-btn[disabled]{
  opacity: 0.5;
  cursor: not-allowed;
}

.bh-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 980px){
  .bh-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .bh-grid{ grid-template-columns: 1fr; }
}

.bh-slot{
  text-align: left;
  background: rgba(4,7,10,0.52);
  border: 1px solid var(--bh-border);
  border-radius: 14px;
  padding: 12px;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.bh-slot:hover{
  background: rgba(4,7,10,0.62);
  border-color: rgba(158, 244, 254, 0.32);
}

.bh-slot strong{
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.bh-slot span{
  font-size: 12px;
  color: var(--bh-muted);
}

.bh-slot[aria-selected="true"]{
  border-color: rgba(158, 244, 254, 0.60);
  background: rgba(2,140,195,0.10);
}

.bh-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--bh-border);
  background: rgba(4,7,10,0.52);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--bh-muted);
}

.bh-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--bh-muted);
}

.bh-dot.ok{ background: var(--bh-ok); }
.bh-dot.warn{ background: var(--bh-warn); }
.bh-dot.danger{ background: var(--bh-danger); }

.bh-kv{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 12px;
  font-size: 13px;
}

.bh-kv div:nth-child(odd){
  color: var(--bh-muted);
}

.bh-actions{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

.bh-pay{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(158, 244, 254, 0.35);
  background: rgba(2,140,195,0.18);
  color: var(--bh-text);
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 15px;
  cursor: pointer;
}

.bh-pay:hover{
  background: rgba(2,140,195,0.22);
}

.bh-msg{
  font-size: 13px;
  color: var(--bh-muted);
  line-height: 1.35;
}

.bh-error{
  border: 1px solid rgba(255,90,95,0.35);
  background: rgba(255,90,95,0.08);
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--bh-text);
}