/* Booking-specific styles - modern, professional, small scope overrides */
:root{
  --bh-primary: #065f46;
  --bh-accent: #10b981;
  --bh-card: #ffffff;
  --bh-bg: #fbfdfb;
  --bh-muted: #475569;
}

/* Wizard container */
.booking-wizard-container{
  padding: 36px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,252,250,0.98));
  box-shadow: 0 10px 30px rgba(6,95,70,0.06);
  border: 1px solid rgba(6,95,70,0.06);
}

.wizard-progress{display:flex;gap:12px;align-items:center;position:relative;margin-bottom:32px}
.wizard-progress::before{content:'';position:absolute;left:6%;right:6%;height:3px;background:#f0f3f1;top:22px;border-radius:3px}
.wizard-step{flex:1;display:flex;flex-direction:column;align-items:center;z-index:1}
.step-number{width:44px;height:44px;border-radius:50%;background:var(--bh-card);border:2px solid rgba(15,23,42,0.06);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bh-muted)}
.wizard-step.active .step-number{background:var(--bh-primary);border-color:var(--bh-primary);color:#fff;transform:scale(1.06)}
.wizard-step.completed .step-number{background:var(--bh-primary);border-color:var(--bh-primary);color:#fff}
.step-label{font-size:0.75rem;color:var(--bh-muted);margin-top:8px;text-align:center}
.wizard-step.active .step-label, .wizard-step.completed .step-label{color:var(--bh-primary);font-weight:600}

/* Step content */
.step-content{display:none}
.step-content.active{display:block}
.step-title{font-size:1.4rem;margin-bottom:8px}
.step-subtitle{color:var(--bh-muted);margin-bottom:24px}

/* Service cards */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}
.service-card{background:var(--bh-card);border:1px solid rgba(15,23,42,0.04);border-radius:14px;padding:18px;text-align:center;cursor:pointer;transition:all .16s ease}
.service-card .icon{font-size:1.6rem;margin-bottom:8px;color:var(--bh-primary)}
.service-card .label{font-weight:700;color:var(--bh-muted)}
.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(6,95,70,0.04)}
.service-card.selected{border-color:var(--bh-primary);background:linear-gradient(180deg, rgba(6,95,70,0.03), transparent)}

/* Calendar */
.wizard-calendar{padding:18px;border-radius:12px;border:1px solid rgba(15,23,42,0.04);background:transparent}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}
.calendar-weekday{font-weight:700;color:var(--bh-muted);text-align:center;font-size:0.9rem}
.calendar-day{padding:10px;border-radius:10px;background:var(--bh-card);border:1px solid rgba(15,23,42,0.04);cursor:pointer}
.calendar-day.available{background:linear-gradient(180deg,rgba(16,185,129,0.04),transparent)}
.calendar-day.full{opacity:0.6;text-decoration:line-through}
.calendar-day.disabled{opacity:0.45;cursor:not-allowed}

/* Time buttons */
.time-grid-wizard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.time-btn{padding:12px;border-radius:10px;border:1px solid rgba(15,23,42,0.06);background:var(--bh-card);font-weight:700;cursor:pointer}
.time-btn.selected{background:var(--bh-primary);color:#fff;border-color:var(--bh-primary)}
.time-btn:disabled{opacity:0.4;cursor:not-allowed}

/* Summary */
.summary-card{border-radius:12px;padding:20px;background:linear-gradient(180deg, #fff, #fbfffb);border:1px solid rgba(15,23,42,0.06)}
.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed rgba(15,23,42,0.04)}
.summary-row:last-child{border-bottom:none}

/* Buttons */
.btn{background:var(--bh-primary);color:#fff;padding:12px 20px;border-radius:10px;border:none;font-weight:800;cursor:pointer}
.btn:disabled{opacity:0.6}
.btn-secondary{background:transparent;border:1px solid rgba(15,23,42,0.06);padding:12px 18px;border-radius:10px;cursor:pointer}

/* Selected info */
.selected-info{background:rgba(16,185,129,0.06);color:var(--bh-primary);padding:10px;border-radius:10px;text-align:center;font-weight:700}

@media (max-width:600px){
  .time-grid-wizard{grid-template-columns:repeat(2,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
}
