#scw-booking-root {
  --scw-navy:#0E111B; --scw-gold:#D4AF37; --scw-bg:#f7f8fa; --scw-line:#e3e6ea;
  font-family:'Federo';
  max-width:640px; margin:0 auto; background:#fff; border:1px solid var(--scw-line);
  border-radius:14px; padding:28px 24px; box-shadow:0 4px 20px rgba(0,0,0,.06); color:#1b1f24;
}
#scw-booking-root h2 { margin:0 0 4px; font-size:22px; color:var(--scw-navy); }
#scw-booking-root p.scw-sub { margin:0 0 22px; color:#5a6472; font-size:14px; }
#scw-booking-root .scw-field { margin-bottom:16px; }
#scw-booking-root .scw-field label { display:block; font-weight:600; font-size:13px; margin-bottom:6px; color:var(--scw-navy); }
#scw-booking-root .scw-field select, #scw-booking-root .scw-field input, #scw-booking-root .scw-field textarea {
  width:100%; padding:10px 12px; border:1px solid var(--scw-line); border-radius:8px;
  font-size:14px; box-sizing:border-box; background:#fff; font-family:inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#scw-booking-root .scw-field textarea { resize:vertical; min-height:64px; }
#scw-booking-root .scw-field select:focus, #scw-booking-root .scw-field input:focus, #scw-booking-root .scw-field textarea:focus { outline:none; border-color:var(--scw-gold); box-shadow:0 0 0 3px rgba(212,175,55,.22); }
#scw-booking-root .scw-optional { font-weight:400; color:#8a92a0; text-transform:none; }
#scw-booking-root .scw-row { display:flex; gap:12px; }
#scw-booking-root .scw-row > .scw-field { flex:1; }
#scw-price-line { font-size:14px; margin-top:-8px; margin-bottom:16px; color:var(--scw-navy); font-weight:600; min-height:18px; }
#scw-slots {
  display:none; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:8px;
}
#scw-slots.scw-visible { display:grid; }
.scw-slot-btn {
  padding:10px 6px; border:1px solid var(--scw-line); border-radius:8px; background:#fff;
  font-size:13px; cursor:pointer; transition:background-color .12s ease, color .12s ease, border-color .12s ease, transform .08s ease;
}
.scw-slot-btn:hover:not(:disabled) { border-color:var(--scw-gold); }
.scw-slot-btn:active:not(:disabled) { transform:scale(.96); }
.scw-slot-btn.selected {
  background: var(--scw-navy) !important;
  color: #fff !important;
  border-color: var(--scw-navy) !important;
}
.scw-slot-btn:disabled { background:var(--scw-bg); color:#aab1ba; text-decoration:line-through; cursor:not-allowed; }
#scw-slots-msg { font-size:13px; color:#5a6472; margin:6px 0 18px; min-height:16px; }
#scw-submit-btn {
  width:100%; padding:13px; background:var(--scw-navy); color:#fff; border:none; border-radius:8px;
  font-size:15px; font-weight:600; cursor:pointer; margin-top:6px;
  transition:background-color .15s ease, transform .08s ease;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
#scw-submit-btn:active:not(:disabled) { transform:scale(.985); }
#scw-submit-btn:disabled { background:#9aa4b0; cursor:not-allowed; }
#scw-submit-btn.scw-loading::before {
  content:""; width:14px; height:14px; border-radius:50%;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff;
  animation:scw-spin .6s linear infinite;
}
@keyframes scw-spin { to { transform:rotate(360deg); } }
#scw-status { margin-top:14px; font-size:14px; padding:10px 12px; border-radius:8px; display:none; opacity:0; transition:opacity .2s ease; }
#scw-status.ok, #scw-status.err { display:block; opacity:1; }
#scw-status.ok { background:#e8f6ec; color:#1c6b34; }
#scw-status.err { background:#fdecec; color:#a3271f; }
@media (max-width:480px){ #scw-booking-root .scw-row { flex-direction:column; gap:0; } #scw-booking-root { padding:22px 16px; } }
