/* AM Autocare booking flow — scoped only to Booking-Template.php */
.am-booking-request-section { background:#fff; }
.am-booking-request-layout { display:grid; gap:28px; align-items:start; }
.am-booking-request-intro { min-width:0; }
.am-booking-request-intro h2 { margin:0 0 14px; max-width:560px; }
.am-booking-request-intro > p:not(.am-kicker) { max-width:600px; margin:0; color:var(--am-muted); line-height:1.65; }

.am-booking-roadmap { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid var(--am-line); }
.am-booking-roadmap li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:18px 0; border-bottom:1px solid var(--am-line); opacity:.56; transition:opacity .18s ease; }
.am-booking-roadmap li > span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--am-paper); color:var(--am-muted); font-size:11px; font-weight:800; }
.am-booking-roadmap strong { display:block; color:var(--am-charcoal); font-size:14px; }
.am-booking-roadmap small { display:block; margin-top:4px; color:var(--am-muted); font-size:12px; line-height:1.5; }
.am-booking-roadmap li.is-active,.am-booking-roadmap li.is-done { opacity:1; }
.am-booking-roadmap li.is-active > span { background:var(--am-blue); color:var(--am-charcoal); }
.am-booking-roadmap li.is-done > span { background:var(--am-charcoal); color:#fff; }

.am-booking-direct-contact { margin-top:24px; display:grid; grid-template-columns:44px minmax(0,1fr); gap:13px; align-items:center; }
.am-booking-direct-contact__icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:var(--am-blue-soft); color:var(--am-blue-strong); }
.am-booking-direct-contact__icon .am-icon { width:19px; height:19px; }
.am-booking-direct-contact small,.am-booking-direct-contact span { display:block; color:var(--am-muted); font-size:11px; line-height:1.4; }
.am-booking-direct-contact strong { display:block; margin:2px 0; font-size:16px; }

.am-booking-request-card { overflow:hidden; border:1px solid var(--am-line); border-radius:var(--am-radius-lg); background:#fff; box-shadow:0 18px 48px rgba(16,18,20,.07); }
.am-booking-form-section { padding:26px 22px; border-top:1px solid var(--am-line); }
.am-booking-form-section:first-child { border-top:0; }
.am-booking-form-section[hidden],.am-booking-vehicle[hidden],.am-booking-time-section[hidden] { display:none !important; }
.am-booking-form-section__head { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; margin-bottom:20px; align-items:start; }
.am-booking-form-section__number,.am-booking-time-heading__number { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--am-charcoal); color:var(--am-blue); font-size:11px; font-weight:800; letter-spacing:.06em; }
.am-booking-form-section__head h3 { margin:0 0 5px; font-size:clamp(1.35rem,3vw,1.75rem); }
.am-booking-form-section__head p { margin:0; color:var(--am-muted); font-size:13px; line-height:1.55; }

.am-plate-form > label,.am-booking-notes-field > span { display:block; margin-bottom:8px; color:var(--am-charcoal); font-size:11px; font-weight:800; }
.am-plate-form > small { display:block; margin-top:8px; color:var(--am-muted); font-size:11px; line-height:1.45; }
.am-booking-plate-control { display:grid; grid-template-columns:52px minmax(0,1fr); overflow:hidden; border:1px solid #aeb7bb; border-radius:14px; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.am-booking-plate-control:focus-within { border-color:var(--am-blue-strong); box-shadow:0 0 0 3px rgba(0,161,233,.12); }
.am-booking-plate-country { display:grid; place-items:center; min-height:60px; border-right:1px solid #d6dcdf; background:#f3f7f9; color:var(--am-blue-strong); font-size:12px; font-weight:900; letter-spacing:.06em; }
.am-booking-plate-control input { width:100%; min-width:0; height:60px; padding:0 16px; border:0; outline:0; background:#fff; color:var(--am-charcoal); font:inherit; font-size:clamp(1.3rem,4vw,1.65rem); font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.am-booking-lookup-button { grid-column:1/-1; min-height:54px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; border-top:1px solid var(--am-charcoal); background:var(--am-charcoal); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.am-booking-lookup-button .am-icon { width:18px; height:18px; color:var(--am-blue); }
.am-booking-lookup-button:disabled { opacity:.62; cursor:wait; }
.am-booking-page .am-form-status { min-height:20px; margin:10px 0 0; color:var(--am-muted); font-size:12px; line-height:1.45; }
.am-booking-page .am-form-status:empty { display:none; min-height:0; }
.am-booking-page .am-form-status.is-error { color:#a62828; }
.am-booking-page .am-form-status.is-success { color:#197348; }

.am-booking-vehicle { margin-top:16px; padding:16px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:13px; align-items:center; border:1px solid #b7e5f8; border-radius:16px; background:#f3fbff; }
.am-booking-vehicle__icon { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; background:var(--am-blue); color:var(--am-charcoal); }
.am-booking-vehicle__icon .am-icon { width:22px; height:22px; }
.am-booking-vehicle__copy { min-width:0; }
.am-booking-vehicle__copy small { display:block; color:var(--am-blue-strong); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.am-booking-vehicle__copy strong { display:block; margin-top:2px; color:var(--am-charcoal); font-size:1rem; line-height:1.3; }
.am-booking-vehicle__copy > span { display:block; margin-top:4px; color:var(--am-muted); font-size:12px; }
.am-booking-reset { min-height:36px; padding:0 11px; border:1px solid #bfd3dc; border-radius:10px; background:#fff; color:var(--am-charcoal); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }

.am-service-picker--request { display:grid; gap:9px; overflow:visible; border:0; }
.am-service-picker--request .am-service-choice {
  width:100%; min-height:74px; padding:11px 12px; display:grid;
  grid-template-columns:38px minmax(0,1fr) 22px; gap:12px; align-items:center;
  border:1px solid var(--am-line); border-radius:14px; background:#fff;
  color:var(--am-charcoal); text-align:left; transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.am-service-picker--request .am-service-choice:hover { border-color:#b9cbd3; background:#fbfdfe; transform:translateY(-1px); }
.am-service-picker--request .am-service-choice.is-selected { border-color:var(--am-blue-strong); background:#f2fbff; box-shadow:0 0 0 2px rgba(0,161,233,.08); }
.am-service-choice__icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#eef0ef; color:#555c5f; transition:background .16s ease,color .16s ease; }
.am-service-choice__icon .am-icon { width:19px; height:19px; }
.am-service-choice.is-selected .am-service-choice__icon { background:var(--am-blue); color:var(--am-charcoal); }
.am-service-choice__copy { min-width:0; }
.am-service-choice__copy strong { display:block; margin-bottom:2px; font-size:13px; font-weight:700; }
.am-service-choice__copy small { display:block; color:var(--am-muted); font-size:11.5px; line-height:1.4; }
.am-service-choice__mark { width:20px; height:20px; display:grid; place-items:center; justify-self:end; border:1.5px solid #aeb4b5; border-radius:50%; background:#fff; }
.am-service-choice.is-selected .am-service-choice__mark { border:6px solid var(--am-blue-strong); }

.am-booking-notes-field { display:block; margin-top:18px; }
.am-booking-notes-field small { color:var(--am-muted); font-weight:500; }
.am-booking-notes-field textarea { width:100%; min-height:112px; padding:13px 14px; border:1px solid #c6ced1; border-radius:12px; background:#fff; color:var(--am-charcoal); font:inherit; resize:vertical; }
.am-booking-notes-field textarea:focus { outline:none; border-color:var(--am-blue-strong); box-shadow:0 0 0 3px rgba(0,161,233,.11); }
.am-booking-loaner { margin-top:14px; padding:14px; display:grid; grid-template-columns:18px 40px minmax(0,1fr); gap:11px; align-items:center; border:1px solid var(--am-line); border-radius:14px; background:var(--am-paper); cursor:pointer; }
.am-booking-loaner input { width:18px; height:18px; accent-color:var(--am-blue); }
.am-booking-loaner__icon { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff; color:var(--am-blue-strong); }
.am-booking-loaner__icon .am-icon { width:18px; height:18px; }
.am-booking-loaner strong { display:block; font-size:13px; }
.am-booking-loaner small { display:block; margin-top:3px; color:var(--am-muted); font-size:11px; line-height:1.4; }
.am-booking-submit-row { margin-top:20px; padding-top:20px; display:grid; gap:14px; border-top:1px solid var(--am-line); }
.am-booking-submit-row > p { margin:0; color:#a62828; font-size:12px; }
.am-booking-submit-row > p:empty { display:none; }
.am-primary-action {
  width:auto; min-width:190px; margin:0; justify-self:end; justify-content:space-between;
  border-color:var(--am-charcoal); border-radius:10px; background:var(--am-charcoal);
  color:#fff; box-shadow:none;
}
.am-primary-action:disabled { cursor:not-allowed; background:#c7cbcc; border-color:#c7cbcc; color:#fff; transform:none; }
.am-primary-action.is-ready:not(:disabled) { background:var(--am-blue); border-color:var(--am-blue); color:var(--am-charcoal); }
.am-primary-action.is-loading { cursor:wait; opacity:.78; }

.am-booking-time-section { padding:54px 0 64px; border-top:1px solid var(--am-line); background:var(--am-paper); }
.am-booking-time-heading { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; align-items:start; margin-bottom:26px; }
.am-booking-time-heading h2 { margin:0 0 6px; }
.am-booking-time-heading p:not(.am-kicker) { margin:0; color:var(--am-muted); }

@media (min-width:640px) {
  .am-booking-plate-control { grid-template-columns:52px minmax(0,1fr) auto; }
  .am-booking-lookup-button { grid-column:auto; min-width:150px; border-top:0; border-left:1px solid var(--am-charcoal); }
  .am-service-picker--request { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .am-booking-submit-row { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
}
@media (min-width:900px) {
  .am-booking-request-layout { grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr); gap:64px; }
  .am-booking-request-intro { position:-webkit-sticky; position:sticky; top:calc(var(--am-header) + 28px); align-self:start; height:fit-content; }
  .am-booking-form-section { padding:32px 34px; }
}
@media (max-width:639px) {
  .am-booking-request-card { border-radius:var(--am-radius-md); }
  .am-booking-form-section { padding:22px 16px; }
  .am-booking-form-section__head { grid-template-columns:38px minmax(0,1fr); }
  .am-booking-form-section__number { width:38px; height:38px; }
  .am-booking-vehicle { grid-template-columns:44px minmax(0,1fr); }
  .am-booking-reset { grid-column:1/-1; width:100%; }
  .am-booking-submit-row .am-primary-action { width:100%; justify-content:center; }
}
