.booking-shell{
  min-height:calc(100vh - 66px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:56px 24px 80px;
  background:
    radial-gradient(ellipse 700px 400px at 50% 0%, rgba(183,146,74,0.06), transparent 60%);
}
.booking-card{
  width:100%;max-width:460px;
  border:1px solid var(--border);border-radius:12px;
  background:var(--bg-alt);padding:32px;
}
.progress{display:flex;gap:6px;margin-bottom:28px;}
.progress-bar{height:2px;flex:1;border-radius:999px;background:var(--border);transition:background .2s;}
.progress-bar.active{background:var(--gold);}
.step{display:none;}
.step.visible{display:block;}
.section-head{margin-bottom:24px;}
.section-head .eyebrow{margin-bottom:4px;}
.section-head h2{font-size:20px;color:var(--text-bright);margin:0;}
.section-head .sub{font-size:14px;color:var(--text-dim);margin-top:4px;}
.question{margin-bottom:24px;}
.question p{font-size:14px;margin-bottom:8px;}
.opt-btn,.tier-btn,.toggle-btn,.time-btn{
  width:100%;text-align:left;font-size:14px;
  padding:12px 16px;border-radius:6px;
  border:1px solid var(--border);background:transparent;color:var(--text);
  cursor:pointer;margin-bottom:8px;transition:border-color .15s,background .15s;
  font-family:inherit;
}
.opt-btn:hover,.tier-btn:hover{border-color:var(--border-hover);}
.opt-btn.selected,.tier-btn.selected,.toggle-btn.selected{
  border-color:var(--gold);background:var(--gold-dim);color:var(--text-bright);
}
.primary-btn{
  width:100%;padding:14px;border-radius:6px;border:none;
  background:var(--gold);color:var(--bg);font-weight:600;font-size:14px;
  letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:8px;font-family:inherit;
}
.primary-btn:disabled{background:#1a1b1d;color:var(--text-faint);cursor:not-allowed;}
.row-btns{display:flex;gap:12px;}
.ghost-btn{
  padding:14px 16px;border-radius:6px;border:1px solid var(--border);
  background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;
}
#tiers{max-height:420px;overflow-y:auto;margin-bottom:16px;padding-right:4px;}
#tiers::-webkit-scrollbar{width:5px;}
#tiers::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px;}
.tier-card{position:relative;padding:16px;}
.tier-card .badge-rec{
  position:absolute;top:-8px;right:12px;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;background:var(--gold);color:var(--bg);
  padding:2px 8px;border-radius:999px;font-weight:700;
}
.tier-inner{display:flex;align-items:flex-start;gap:12px;}
.tier-inner svg{color:var(--text-dim);flex-shrink:0;margin-top:2px;}
.tier-card.selected .tier-inner svg{color:var(--gold);}
.tier-title-row{display:flex;justify-content:space-between;align-items:baseline;}
.tier-name{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--text-bright);}
.tier-price{font-size:12px;color:var(--text-dim);}
.tier-tag{font-size:12px;color:var(--gold);margin:2px 0 4px;}
.tier-desc{font-size:12px;color:var(--text-dim);line-height:1.5;}
.dog-toggle{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:20px;}
.dog-toggle svg.dog-icon{color:var(--text-dim);}
.dog-toggle.selected svg.dog-icon{color:var(--gold);}
.dog-text{flex:1;text-align:left;}
.dog-text .t{font-size:14px;color:var(--text-bright);}
.dog-text .s{font-size:12px;color:var(--text-dim);}
.checkbox{width:20px;height:20px;border-radius:50%;border:1px solid var(--border-hover);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.checkbox.checked{border-color:var(--gold);background:var(--gold);}
.checkbox.checked svg{width:12px;height:12px;color:var(--bg);}
.input-wrap{position:relative;margin-bottom:12px;}
.input-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-dim);width:16px;height:16px;}
.input-wrap svg.primary{color:var(--gold);}
.input-wrap input{
  width:100%;background:var(--panel);border:1px solid var(--border);border-radius:6px;
  padding:14px 14px 14px 42px;font-size:14px;color:var(--text);font-family:inherit;
}
.input-wrap input:focus{outline:none;border-color:var(--gold);}
.input-wrap input::placeholder{color:var(--text-faint);}
.time-row{display:flex;gap:8px;margin-bottom:20px;}
.time-btn{text-align:center;text-transform:capitalize;margin-bottom:0;}
.card{border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px;}
.summary-row{display:flex;align-items:center;gap:12px;}
.summary-row .name{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--text-bright);}
.summary-row .tag{font-size:12px;color:var(--text-dim);}
.summary-price{margin-left:auto;font-size:14px;color:var(--gold);}
.divider{border-top:1px solid var(--border);margin:14px 0;padding-top:14px;}
.kv{display:flex;justify-content:space-between;font-size:13px;color:var(--text-dim);margin-bottom:6px;}
.kv span.v{color:var(--text);}
.map-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative;height:200px;margin-bottom:20px;background:var(--panel);}
.eta-badge{position:absolute;top:12px;left:12px;background:rgba(11,12,14,0.8);backdrop-filter:blur(4px);
  padding:6px 12px;border-radius:6px;font-size:12px;color:var(--gold);display:flex;align-items:center;gap:6px;}
.driver-row{display:flex;align-items:center;gap:16px;}
.avatar{width:48px;height:48px;border-radius:50%;background:#1a1b1d;border:1px solid var(--border-hover);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.avatar svg{color:var(--gold);}
.driver-name{font-size:14px;color:var(--text-bright);}
.driver-sub{font-size:12px;color:var(--text-dim);}
.call-btn{width:40px;height:40px;border-radius:50%;background:var(--gold-dim);border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.call-btn svg{color:var(--gold);width:15px;height:15px;}
.vehicle-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);
  font-size:13px;color:var(--text-dim);}
.link-btn{width:100%;padding:12px;background:none;border:none;color:var(--text-faint);font-size:12px;cursor:pointer;font-family:inherit;}
/* ITINERARY STEP */
.stop-card{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;background:var(--panel);}
.stop-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.stop-card-head .label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--royal);display:flex;align-items:center;gap:6px;}
.stop-card-head .label svg{width:13px;height:13px;}
.remove-stop{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;}
.stop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stop-grid .full{grid-column:1/-1;}
.mini-field label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:5px;}
.mini-field input,.mini-field select{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:5px;
  padding:9px 11px;font-size:13px;color:var(--text);font-family:inherit;
}
.mini-field input:focus,.mini-field select:focus{outline:none;border-color:var(--royal);}
.add-stop-btn{
  width:100%;padding:12px;border-radius:6px;border:1px dashed var(--border-hover);
  background:transparent;color:var(--text-dim);font-size:13px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;font-family:inherit;
}
.add-stop-btn:hover{border-color:var(--royal);color:var(--royal);}
.flight-toggle{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:16px;}
.flight-toggle svg.flight-icon{color:var(--text-dim);}
.flight-toggle.selected svg.flight-icon{color:var(--royal);}
.flight-toggle.selected{border-color:var(--royal);background:var(--royal-dim);}
.flight-panel{display:none;margin-bottom:20px;}
.flight-panel.show{display:block;}
.itinerary-summary-item{display:flex;gap:10px;font-size:13px;color:var(--text-dim);padding:8px 0;border-top:1px solid var(--border);}
.itinerary-summary-item:first-child{border-top:none;}
.itinerary-summary-item svg{width:14px;height:14px;color:var(--royal);flex-shrink:0;margin-top:2px;}
.itinerary-summary-item .v{color:var(--text);}

@media (max-width:520px){
  .booking-card{padding:24px 20px;}
  .stop-grid{grid-template-columns:1fr;}
}

/* DIVISION SELECT */
.division-btn{
  width:100%;display:flex;align-items:center;gap:16px;text-align:left;
  padding:20px;border-radius:8px;border:1px solid var(--border);background:transparent;
  cursor:pointer;margin-bottom:14px;transition:border-color .15s,background .15s;font-family:inherit;
}
.division-btn svg{width:24px;height:24px;color:var(--gold);flex-shrink:0;}
.division-btn.royal svg{color:var(--royal);}
.division-btn.selected{border-color:var(--gold);background:var(--gold-dim);}
.division-btn.royal.selected{border-color:var(--royal);background:var(--royal-dim);}
.division-btn .dtext .t{font-size:15px;color:var(--text-bright);margin-bottom:4px;}
.division-btn .dtext .s{font-size:12px;color:var(--text-dim);line-height:1.5;}

/* CONSULT BADGE ON TIER CARDS */
.badge-rec.consult{background:var(--royal);}

/* ASSESSMENT FIELDS (reuse .field/.radio-group/.form-section-title from style.css) */
#assessment-fields .field label{color:var(--text-dim);}
#assessment-fields textarea{min-height:70px;}

/* SUBMITTED STATE */
.submitted-box{text-align:center;padding:12px 0 8px;}
.status-tag{
  display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:5px 14px;margin-bottom:16px;
}
.status-tag.review{color:var(--royal);border-color:var(--royal);}
.submitted-copy{font-size:13px;color:var(--text-dim);line-height:1.7;max-width:340px;margin:0 auto;}
