/* MCCW Detail Booking — brand styles (v0.2.0).
 * Mr. Clean identity (Blurple / Cyan / Red). Fonts inherit from the theme —
 * if the theme loads Forza Black / Hazelnuts, the uppercase headings pick them up. */
.mccw-db{
  --mdb-blurple:#2E008B; --mdb-cyan:#00A9E0; --mdb-red:#EE2737; --mdb-ink:#1a0b3d;
  --mdb-line:#e6e3ef; --mdb-muted:#6b6386; --mdb-soft:#f6f4fb;
  max-width:720px; margin:0 auto; color:var(--mdb-ink); font-family:inherit;
}
.mccw-db *{box-sizing:border-box}
.mdb-loading,.mdb-err{padding:26px;text-align:center;color:var(--mdb-muted)}
.mdb-err{color:var(--mdb-red);font-weight:600}
.mdb-card{background:#fff;border-radius:16px;border-top:8px solid var(--mdb-cyan);box-shadow:0 18px 44px rgba(46,0,139,.15);overflow:hidden}

/* stepper */
.mdb-steps{display:flex;padding:20px 26px 0;gap:2px}
.mdb-st{flex:1;text-align:center;position:relative;font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#b3a9cf}
.mdb-st .n{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:99px;background:#ece8f5;color:#b3a9cf;margin:0 auto 6px;font-weight:800}
.mdb-st.active{color:var(--mdb-blurple)} .mdb-st.active .n{background:var(--mdb-blurple);color:#fff}
.mdb-st.done .n{background:var(--mdb-cyan);color:#fff}
.mdb-st::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:3px;background:#ece8f5;z-index:0}
.mdb-st .n{position:relative;z-index:1}
.mdb-st:first-child::before{display:none}
.mdb-st.done::before,.mdb-st.active::before{background:var(--mdb-cyan)}

.mdb-body{padding:22px 26px 24px}
.mdb-h{font-size:1.45rem;font-weight:800;text-transform:uppercase;color:var(--mdb-blurple);margin:4px 0 16px;line-height:1.05}
.mdb-lbl{display:block;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mdb-blurple);margin:2px 0 7px}
.mdb-note{background:var(--mdb-soft);border-radius:10px;padding:11px 13px;font-size:.9rem;color:var(--mdb-muted);margin:6px 0 2px}
.mdb-note b{color:var(--mdb-ink)}
.mccw-db input,.mccw-db textarea{width:100%;font:inherit;font-size:1rem;padding:11px 12px;border:2px solid var(--mdb-line);border-radius:9px;background:#fff;color:var(--mdb-ink);margin-bottom:6px}
.mccw-db input:focus,.mccw-db textarea:focus{outline:none;border-color:var(--mdb-cyan);box-shadow:0 0 0 3px rgba(0,169,224,.16)}
.mdb-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.mdb-2col{grid-template-columns:1fr}}

/* location + vehicle pills */
.mdb-locs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}
@media(max-width:520px){.mdb-locs{grid-template-columns:1fr}}
.mdb-loc,.mdb-vt{font:inherit;font-size:1rem;font-weight:700;text-align:left;padding:14px 16px;border:2px solid var(--mdb-line);border-radius:11px;background:#fff;color:var(--mdb-ink);cursor:pointer;transition:.12s}
.mdb-vts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.mdb-vt{flex:1;text-align:center;min-width:120px}
.mdb-loc:hover,.mdb-vt:hover{border-color:var(--mdb-cyan)}
.mdb-loc.on,.mdb-vt.on{border-color:var(--mdb-blurple);background:var(--mdb-blurple);color:#fff}

/* service cards */
.mdb-svc{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;text-align:left;border:2px solid var(--mdb-line);border-left:7px solid var(--mdb-cyan);border-radius:13px;padding:15px 17px;margin-bottom:11px;cursor:pointer;background:#fff;transition:.12s}
.mdb-svc:hover{transform:translateY(-1px);border-color:var(--mdb-cyan)}
.mdb-svc.on{border-color:var(--mdb-blurple);box-shadow:0 0 0 2px rgba(46,0,139,.16)}
.mdb-svc .l{display:flex;flex-direction:column;gap:2px}
.mdb-svc .nm{font-weight:800;font-size:1.05rem;color:var(--mdb-ink)}
.mdb-svc .ds{font-size:.85rem;color:var(--mdb-muted)}
.mdb-svc .mt{font-size:.75rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--mdb-cyan)}
.mdb-svc .pr{font-weight:800;font-size:1.15rem;color:var(--mdb-blurple);white-space:nowrap}

/* add-on pills */
.mdb-add{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:2px solid var(--mdb-line);border-radius:11px;padding:12px 15px;margin-bottom:9px;cursor:pointer;background:#fff;font:inherit;transition:.12s}
.mdb-add:hover{border-color:var(--mdb-cyan)}
.mdb-add.on{border-color:var(--mdb-blurple);background:#f3f0fb}
.mdb-add .nm{font-weight:700;color:var(--mdb-ink)}
.mdb-add .pr{font-weight:700;color:var(--mdb-blurple);white-space:nowrap}
.mdb-add.on .nm::before{content:"✓ ";color:var(--mdb-blurple);font-weight:900}

/* time slots */
.mdb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:9px;margin-top:6px}
.mdb-slot{font:inherit;font-weight:700;padding:11px 8px;border:2px solid var(--mdb-line);border-radius:9px;background:#fff;color:var(--mdb-ink);cursor:pointer;transition:.12s}
.mdb-slot:hover{border-color:var(--mdb-cyan)}
.mdb-slot.on{border-color:var(--mdb-blurple);background:var(--mdb-blurple);color:#fff}

/* summary + checkboxes */
.mdb-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;background:var(--mdb-soft);border-radius:12px;padding:15px 18px;margin-bottom:12px}
.mdb-summary .k{font-size:.72rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--mdb-muted);align-self:center}
.mdb-summary .v{font-weight:700;color:var(--mdb-ink)}
.mdb-summary .k:nth-last-child(2),.mdb-summary .v:last-child{font-size:1.05rem;color:var(--mdb-blurple)}
.mdb-check{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--mdb-ink);margin:10px 0 2px;cursor:pointer;line-height:1.35}
.mdb-check input{width:auto;margin:2px 0 0}

/* footer buttons */
.mdb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.mdb-btn{font:inherit;font-weight:800;letter-spacing:.3px;text-transform:uppercase;font-size:.95rem;padding:13px 26px;border:0;border-radius:10px;background:var(--mdb-cyan);color:#fff;cursor:pointer;transition:.12s}
.mdb-btn:hover{filter:brightness(1.05)}
.mdb-btn.light{background:#fff;color:var(--mdb-blurple);border:2px solid var(--mdb-line);padding:11px 22px}
.mdb-btn[disabled]{opacity:.45;cursor:not-allowed}

/* done */
.mdb-done{text-align:center;padding:14px 6px}
.mdb-done .mdb-ic{width:64px;height:64px;border-radius:99px;background:#e6f7ee;color:#0a7a44;font-size:32px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.mdb-done .mdb-h{text-align:center}
.mdb-done .mdb-conf{font-size:1.1rem;margin:0 0 6px}
.mdb-done .mdb-note{display:inline-block;text-align:left;max-width:440px}
.mdb-done .mdb-btn{margin-top:16px}


/* Multi-select service picker. A service that clashes with one already
   chosen is shown but disabled, with the reason on it — hiding it would
   leave the customer wondering where it went. */
.mdb-svc.off { opacity:.5; cursor:not-allowed; }
.mdb-svc.off .pr { text-decoration:line-through; }
.mdb-clash { display:block; color:#EE2737; font-size:.82rem; margin-top:2px; }
.mdb-running { background:#F0EBF9; border-left:3px solid #2E008B; }
