/* Booking modal styles */
:root{
  --rv-primary:#d7332a;
  --rv-text:#111827;
  --rv-muted:#6b7280;
  --rv-border:#e5e7eb;
  --rv-bg:#ffffff;
}

.rvb-btn{
  display:inline-block;background:var(--rv-primary);color:#fff;font-weight:700;
  padding:12px 18px;border:none;border-radius:10px;cursor:pointer;text-decoration:none;
  transition:transform .08s ease, filter .2s ease;line-height:1
}
.rvb-btn:hover{filter:brightness(.95)}
.rvb-btn:active{transform:scale(.98)}
.rvb-btn.secondary{background:#e5e7eb;color:#111827}

.rvb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;z-index:9999;padding:18px;overflow:auto}
.rvb-overlay.is-open{display:block;animation:rvb-fade .18s ease-out}
@keyframes rvb-fade{from{opacity:0}to{opacity:1}}
.rvb-box{position:relative;max-width:680px;margin:40px auto;background:var(--rv-bg);
  border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.3);overflow:hidden;font-family:system-ui,Arial;color:var(--rv-text)}
.rvb-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--rv-border)}
.rvb-title{font-weight:700}
.rvb-close{background:transparent;border:none;font-size:22px;cursor:pointer;line-height:1;padding:6px}

.rvb-body{padding:14px}
.rvb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rvb-field{background:#f3f4f6;border-radius:10px;padding:10px;border:1px solid transparent;width:100%}
.rvb-field:focus{outline:2px solid var(--rv-primary);background:#fff}
.rvb-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}

.rvb-times{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.rvb-times button{padding:8px 12px;background:#ffffff;border:1px solid var(--rv-border);border-radius:12px;cursor:pointer;color:#111827}
.rvb-times button.active{outline:3px solid var(--rv-primary)}

.rvb-alert{margin-top:10px;padding:10px;border-radius:10px;font-size:14px}
.rvb-alert.warn{background:#fffbea;border:1px solid #f59e0b}
.rvb-alert.error{background:#fee2e2;border:1px solid #ef4444}
.rvb-alert.ok{background:#ecfdf5;border:1px solid #10b981}

.hidden{display:none}
.success-view{padding:18px}
.success-view ul{padding-left:18px}

/* Progress */
.rvb-progress{height:8px;background:#eee;border-radius:10px;overflow:hidden;margin-bottom:12px}
.rvb-progress .bar{height:100%;width:0;background:var(--rv-primary);transition:width .25s ease}

/* Headings */
.rvb-h{margin:4px 0 6px;font-size:22px;font-weight:800}
.rvb-sub{margin:0 0 12px;color:var(--rv-muted)}

/* Service cards */
.rvb-services{display:grid;gap:10px}
.rvb-card{border:1px solid var(--rv-border);background:#fff;border-radius:14px;padding:12px}
.rvb-card-title{font-weight:700;margin-bottom:6px}
.rvb-card .rvb-btn{margin-top:6px}

/* Previews */
.rvb-previews{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.rvb-previews img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--rv-border)}

/* Review */
.rvb-review ul{padding-left:18px}

/* Close X position & style */
.rvb-head{position:sticky;top:0;background:#fff;z-index:2}
.rvb-close{position:relative;right:0;color:#6b7280}
.rvb-close:hover{color:#111827}

/* Card clickable */
.rvb-card{cursor:pointer;transition:box-shadow .15s ease, border-color .15s ease}
.rvb-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.06);border-color:#d1d5db}

.rvb-field.invalid{border-color:#ef4444;background:#fff5f5}
