/*
 * NeuroClinicians — Booking flow (assets/js/nca-booking-flow.js).
 * Shared pieces (header, stepper, grid, cards, filters, form fields, order
 * summary, buttons, confirmation layout) come from nca-paid-review.css, which
 * is scoped to both #nca-pr-app and #nca-bk-app. This file adds only the
 * booking-specific parts, scoped under #nca-bk-app.
 */

/* ---- free feedback ---- */
#nca-bk-app .nca-pr-lede{margin-bottom:24px}
#nca-bk-app .nca-bk-eyebrow{font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--brand); margin:0 0 10px}
#nca-bk-app .nca-bk-fb-p{font-size:13px; color:var(--ink-2); line-height:1.7}
#nca-bk-app .nca-bk-fb-sub{font-size:12px; color:var(--ink-3); margin:-8px 0 14px}
#nca-bk-app .nca-bk-fb-accs{border-top:1px solid var(--line)}
#nca-bk-app .nca-bk-fb-acc{border-bottom:1px solid var(--line)}
#nca-bk-app .nca-bk-fb-acc-hd{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:0; padding:16px 0; margin:0; background:none; border:none; border-radius:0; color:var(--ink); text-align:left; cursor:pointer}
#nca-bk-app .nca-bk-fb-acc-hd:hover, #nca-bk-app .nca-bk-fb-acc-hd:focus{background:none; color:var(--brand)}
#nca-bk-app .nca-bk-fb-acc-hd span{font-family:'Fraunces',serif; font-optical-sizing:auto; font-size:15.5px; font-weight:600}
#nca-bk-app .nca-bk-fb-acc-hd svg{width:20px; height:20px; flex-shrink:0}
#nca-bk-app .nca-bk-fb-acc-body{padding:0 0 18px; font-size:12.5px; color:var(--ink-2); line-height:1.7}
#nca-bk-app .nca-bk-fb-acc-body p{margin:0 0 10px}
#nca-bk-app .nca-bk-fb-tests-hd{font-weight:600; color:var(--ink) !important; margin-top:6px !important}
#nca-bk-app .nca-bk-fb-tests, #nca-bk-app .nca-bk-fb-flags{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px}
#nca-bk-app .nca-bk-fb-tests li, #nca-bk-app .nca-bk-fb-flags li{position:relative; padding-left:14px; margin:0}
#nca-bk-app .nca-bk-fb-tests li::before{content:''; position:absolute; left:2px; top:9px; width:4px; height:4px; border-radius:50%; background:var(--brand)}
#nca-bk-app .nca-bk-fb-tests b{color:var(--ink); font-weight:600}
#nca-bk-app .nca-bk-fb-flags li::before{content:''; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%}
#nca-bk-app .nca-bk-fb-flags li.is-red::before{background:var(--err)}
#nca-bk-app .nca-bk-fb-flags li.is-amber::before{background:#e8a33a}
#nca-bk-app .nca-bk-fb-foot{font-size:10.5px; color:var(--ink-3); line-height:1.6; margin-top:16px}

#nca-bk-app .nca-bk-offer{color:#fff; background:linear-gradient(60deg,#007c91 0%,#1a958c 45%,#5fbf63 100%); border-radius:var(--r-card); padding:22px 20px 20px; box-shadow:0 14px 36px rgba(0,124,145,.2)}
#nca-bk-app .nca-bk-offer-tag{display:inline-block; font-size:10.5px; font-weight:500; color:var(--ink); background:#fff; border-radius:999px; padding:4px 10px; margin-bottom:14px}
#nca-bk-app .nca-bk-offer h3{font-family:'Fraunces',serif; font-optical-sizing:auto; font-size:21px; font-weight:600; line-height:1.25; color:#fff; margin:0 0 10px}
#nca-bk-app .nca-bk-offer p{font-size:12px; line-height:1.6; color:rgba(255,255,255,.92); margin:0 0 12px}
#nca-bk-app .nca-bk-offer ul{list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:5px}
#nca-bk-app .nca-bk-offer li{display:flex; align-items:center; gap:8px; font-size:12px; color:#fff; margin:0; padding:0}
#nca-bk-app .nca-bk-offer li svg{width:13px; height:13px; flex-shrink:0}
#nca-bk-app .nca-bk-offer-price{display:flex; align-items:baseline; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.35); padding-top:14px}
#nca-bk-app .nca-bk-offer-price span{font-size:12px; color:rgba(255,255,255,.92)}
#nca-bk-app .nca-bk-offer-price b{font-family:'Fraunces',serif; font-size:28px; font-weight:600; color:#fff; line-height:1}
#nca-bk-app .nca-bk-wide{width:100%; align-self:stretch}

/* ---- services ---- */
#nca-bk-app .nca-bk-svc-list{background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:8px 20px}
#nca-bk-app .nca-bk-svc-list > .nca-pr-empty{border:none; min-height:220px}
#nca-bk-app .nca-bk-svc-rows{display:flex; flex-direction:column}
#nca-bk-app .nca-bk-svc-row{display:flex; align-items:flex-start; gap:12px; padding:14px 0; margin:0; border-bottom:1px solid var(--line); cursor:pointer}
#nca-bk-app .nca-bk-svc-rows > .nca-bk-svc-row:last-of-type, #nca-bk-app .nca-bk-svc-rows > .nca-bk-svc-hint:last-child{border-bottom:none}
#nca-bk-app .nca-bk-check{appearance:none; -webkit-appearance:none; width:17px; height:17px; flex-shrink:0; margin:2px 0 0; border:1px solid #cfcdc8; border-radius:4px; background:#fff no-repeat center/11px 11px; cursor:pointer; transition:background-color .15s, border-color .15s}
#nca-bk-app .nca-bk-check:checked{background-color:var(--brand); border-color:var(--brand); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
#nca-bk-app .nca-bk-check:focus-visible{outline:2px solid var(--brand-ring); outline-offset:2px}
#nca-bk-app .nca-bk-svc-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px}
#nca-bk-app .nca-bk-svc-name{font-size:13px; color:var(--ink)}
#nca-bk-app .nca-bk-svc-desc{font-size:11.5px; color:var(--ink-3); line-height:1.5}
#nca-bk-app .nca-bk-svc-price{font-family:'Fraunces',serif; font-size:16px; font-weight:600; color:var(--ink); white-space:nowrap}
#nca-bk-app .nca-bk-svc-hint{font-size:11.5px; color:var(--brand); margin:-6px 0 0 29px; padding:0 0 12px; border-bottom:1px solid var(--line)}
#nca-bk-app .nca-bk-empty-h{font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--ink)}

#nca-bk-app .nca-bk-sum-sub{font-size:11.5px; color:var(--ink-3); line-height:1.5; margin:-6px 0 14px}
#nca-bk-app .nca-bk-sum-empty{font-size:11.5px; color:var(--ink-3); line-height:1.5; margin:0 0 4px}
#nca-bk-app .nca-bk-sel{display:flex; flex-direction:column; gap:8px; margin-bottom:6px}
#nca-bk-app .nca-bk-sel-item{display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:12px; padding:10px 12px}
#nca-bk-app .nca-bk-sel-item b{display:block; font-size:12px; font-weight:600; color:var(--ink); line-height:1.35}
#nca-bk-app .nca-bk-sel-item span{display:block; font-size:10.5px; color:var(--ink-3); margin-top:2px}
#nca-bk-app .nca-bk-del{width:26px; height:26px; min-height:0; flex-shrink:0; padding:0; margin:0; border:none; border-radius:50%; background:var(--soft); color:var(--ink-2); display:flex; align-items:center; justify-content:center; cursor:pointer}
#nca-bk-app .nca-bk-del:hover, #nca-bk-app .nca-bk-del:focus{background:var(--err-bg); color:var(--err)}
#nca-bk-app .nca-bk-del svg{width:13px; height:13px}

/* ---- clinician & time ---- */
#nca-bk-app .nca-bk-cl-grid{display:grid; grid-template-columns:260px minmax(0,1fr); gap:22px; align-items:start}
#nca-bk-app .nca-bk-cl-left{display:flex; flex-direction:column; gap:16px; position:sticky; top:20px}
@media (max-width:900px){
  #nca-bk-app .nca-bk-cl-grid{grid-template-columns:1fr}
  #nca-bk-app .nca-bk-cl-left{position:static}
}
#nca-bk-app .nca-bk-cl-left h4{font-family:'Fraunces',serif; font-optical-sizing:auto; font-size:18px; font-weight:600; color:var(--ink); margin:0 0 12px}
#nca-bk-app .nca-bk-cl-svcs{display:flex; flex-direction:column; gap:10px}
#nca-bk-app .nca-bk-cl-svc{position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:12px; padding:11px 12px; cursor:pointer; transition:border-color .15s, background .15s}
#nca-bk-app .nca-bk-cl-svc:hover{border-color:var(--brand-soft)}
#nca-bk-app .nca-bk-cl-svc.is-active{background:var(--brand-tint); border-color:var(--brand)}
#nca-bk-app .nca-bk-cl-svc.is-done{border-color:#8fd19a}
#nca-bk-app .nca-bk-cl-svc.is-done.is-active{background:var(--brand-tint); border-color:#8fd19a}
#nca-bk-app .nca-bk-cl-svc-tick{position:absolute; top:-8px; right:-7px; width:18px; height:18px; border-radius:50%; background:#5cbf6a; color:#fff; display:flex; align-items:center; justify-content:center}
#nca-bk-app .nca-bk-cl-svc-tick svg{width:11px; height:11px}
#nca-bk-app .nca-bk-cl-svc-txt{min-width:0}
#nca-bk-app .nca-bk-cl-svc-txt b{display:block; font-size:12px; font-weight:600; color:var(--ink); line-height:1.35}
#nca-bk-app .nca-bk-cl-svc-txt span{display:block; font-size:10.5px; color:var(--ink-3); margin-top:3px; line-height:1.45}

#nca-bk-app .nca-bk-cl-filters{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto}
#nca-bk-app .nca-bk-pills{display:flex; align-items:center; gap:4px; padding:0 14px; border-left:1px solid var(--line)}
#nca-bk-app .nca-bk-pills button{min-height:28px; padding:5px 12px; margin:0; border:none; border-radius:999px; background:none; color:var(--ink-2); font-size:11.5px; font-weight:400; cursor:pointer; white-space:nowrap}
#nca-bk-app .nca-bk-pills button:hover{background:var(--brand-tint); color:var(--brand)}
#nca-bk-app .nca-bk-pills button.on, #nca-bk-app .nca-bk-pills button.on:hover{background:var(--brand); color:#fff}
@media (max-width:760px){
  #nca-bk-app .nca-bk-cl-filters{grid-template-columns:1fr; border-radius:18px}
  #nca-bk-app .nca-bk-cl-filters .nca-pr-filter + .nca-pr-filter{border-left:none; border-top:1px solid var(--line)}
  #nca-bk-app .nca-bk-pills{border-left:none; border-top:1px solid var(--line); padding:9px 12px; flex-wrap:wrap}
}

#nca-bk-app .nca-bk-cl-list{display:flex; flex-direction:column; gap:12px}
#nca-bk-app .nca-bk-cl-card{display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px 20px}
#nca-bk-app .nca-bk-cl-card .nca-pr-av{width:42px; height:42px; font-size:14px}
#nca-bk-app .nca-bk-cl-body{flex:1; min-width:0}
#nca-bk-app .nca-bk-cl-name{font-family:'Fraunces',serif; font-optical-sizing:auto; font-size:19px; font-weight:600; color:var(--ink); line-height:1.25}
#nca-bk-app .nca-bk-cl-name span{font-family:'Poppins',sans-serif; font-size:11px; font-weight:400; color:var(--ink-4); margin-left:8px}
#nca-bk-app .nca-bk-cl-types{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
#nca-bk-app .nca-bk-cl-types span{display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--ink-2); background:var(--brand-tint); border-radius:999px; padding:3px 9px}
#nca-bk-app .nca-bk-cl-types svg{width:12px; height:12px; color:var(--brand)}
#nca-bk-app .nca-bk-cl-side{display:flex; flex-direction:column; align-items:flex-end; gap:10px; padding-left:18px; border-left:1px solid var(--line); flex-shrink:0}
#nca-bk-app .nca-bk-cl-price{font-family:'Fraunces',serif; font-size:24px; font-weight:600; color:var(--brand); line-height:1}
#nca-bk-app .nca-bk-cl-view{min-height:38px; padding:8px 18px; font-size:12px}
@media (max-width:600px){
  #nca-bk-app .nca-bk-cl-card{flex-wrap:wrap; align-items:flex-start}
  #nca-bk-app .nca-bk-cl-side{flex-direction:row; align-items:center; justify-content:space-between; width:100%; padding:12px 0 0; border-left:none; border-top:1px solid var(--line)}
}

/* ---- Find me a Clinician ---- */
#nca-bk-app .nca-bk-find{display:flex; flex-direction:column; align-items:center; text-align:center; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:32px 20px}
#nca-bk-app .nca-bk-find > svg{width:30px; height:30px; color:var(--ink-3); margin-bottom:10px}
#nca-bk-app .nca-bk-find h3{font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:var(--ink); margin:0 0 8px}
#nca-bk-app .nca-bk-find-sub{max-width:420px; font-size:12.5px; color:var(--ink-2); line-height:1.6; margin:0 0 18px}
#nca-bk-app .nca-bk-findform{width:100%; max-width:420px; text-align:left; border:1px solid var(--line); border-radius:18px; padding:18px; display:flex; flex-direction:column; gap:14px}
#nca-bk-app .nca-bk-ff-row{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px}
@media (max-width:480px){ #nca-bk-app .nca-bk-ff-row{grid-template-columns:1fr} }
#nca-bk-app .nca-bk-find-ok{font-size:12px; color:var(--green); background:var(--green-bg); border-radius:10px; padding:10px 12px; line-height:1.5}
#nca-bk-app .nca-pr-cal-grid span.off{color:#c4c4c4; cursor:not-allowed}
#nca-bk-app .nca-pr-cal-grid span.off:hover{background:transparent}
#nca-bk-app .nca-pr-cal-hd button:disabled{opacity:.35; cursor:default}

#nca-bk-app .nca-bk-seg{display:flex; gap:2px; padding:3px; border:1px solid var(--field-line); border-radius:999px; background:var(--field-bg)}
#nca-bk-app .nca-bk-seg button{flex:1; min-height:36px; padding:6px 14px; margin:0; border:none; border-radius:999px; background:none; color:var(--ink-2); font-size:12.5px; font-weight:400; cursor:pointer}
#nca-bk-app .nca-bk-seg button:hover{color:var(--brand); background:none}
#nca-bk-app .nca-bk-seg button.on, #nca-bk-app .nca-bk-seg button.on:hover{background:var(--brand); color:#fff; font-weight:500}
#nca-bk-app .nca-bk-seg.is-tabs{display:inline-flex}
#nca-bk-app .nca-bk-seg.is-tabs button{flex:0 0 auto; min-width:84px}
#nca-bk-app .field.has-error .nca-bk-seg{border-color:var(--err)}

/* ---- popups ---- */
#nca-bk-app .nca-bk-overlay{position:fixed; inset:0; z-index:100000; background:rgba(20,34,38,.5); display:flex; align-items:center; justify-content:center; padding:20px}
#nca-bk-app .nca-bk-x{width:30px; height:30px; min-height:0; padding:0; margin:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0}
#nca-bk-app .nca-bk-x:hover, #nca-bk-app .nca-bk-x:focus{background:var(--brand-tint); color:var(--brand); border-color:var(--brand)}
#nca-bk-app .nca-bk-x svg{width:13px; height:13px}

#nca-bk-app .nca-bk-confirm{position:relative; width:100%; max-width:400px; background:#fff; border-radius:var(--r-card); padding:26px 24px 22px; box-shadow:0 24px 64px rgba(0,40,46,.28)}
#nca-bk-app .nca-bk-confirm .nca-bk-x{position:absolute; top:18px; right:18px}
#nca-bk-app .nca-bk-confirm h3{font-family:'Fraunces',serif; font-size:20px; font-weight:600; color:var(--ink); margin:0 30px 8px 0}
#nca-bk-app .nca-bk-confirm p{font-size:12.5px; color:var(--ink-2); line-height:1.6; margin:0 0 20px}
#nca-bk-app .nca-bk-confirm-ft{display:flex; gap:10px}
#nca-bk-app .nca-bk-confirm-ft > *{flex:1; width:auto}

#nca-bk-app .nca-bk-sch{width:100%; max-width:540px; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; background:#fff; border-radius:var(--r-card); box-shadow:0 24px 64px rgba(0,40,46,.28)}
#nca-bk-app .nca-bk-sch > .nca-bk-x{margin:16px 16px 0 auto}
#nca-bk-app .nca-bk-sch-hd{display:flex; align-items:center; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); flex-shrink:0}
#nca-bk-app .nca-bk-sch-who{flex:1; min-width:0}
#nca-bk-app .nca-bk-sch-hd .nca-bk-cl-name{font-size:18px}
#nca-bk-app .nca-bk-sch-hd .nca-bk-cl-price{font-size:22px; margin-right:6px}
#nca-bk-app .nca-bk-sch-body{padding:16px 22px; overflow-y:auto; flex:1 1 auto}
#nca-bk-app .nca-bk-sch-for{font-size:12.5px; color:var(--ink-3); margin:0 0 16px}
#nca-bk-app .nca-bk-sch-for b{color:var(--ink); font-weight:600}
#nca-bk-app .nca-bk-sch-sec{margin-bottom:16px}
#nca-bk-app .nca-bk-sch-sec h5{font-size:12px; font-weight:500; color:var(--ink); margin:0 0 8px}
#nca-bk-app .nca-bk-sch-range{display:flex; align-items:center; justify-content:space-between; min-height:26px; margin-bottom:8px}
#nca-bk-app .nca-bk-sch-range > span{font-size:11.5px; color:var(--ink-3)}
#nca-bk-app .nca-bk-sch-nav{display:flex; gap:6px}
#nca-bk-app .nca-bk-sch-nav button{width:26px; height:26px; min-height:0; padding:0; margin:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer}
#nca-bk-app .nca-bk-sch-nav button:hover:not(:disabled){border-color:var(--brand); color:var(--brand)}
#nca-bk-app .nca-bk-sch-nav button:disabled{opacity:.35; cursor:default}
#nca-bk-app .nca-bk-sch-nav button svg{width:12px; height:12px}
#nca-bk-app .nca-bk-sch-nav button.is-next svg{transform:rotate(180deg)}
#nca-bk-app .nca-bk-sch-days{display:grid; grid-template-columns:repeat(var(--per,7),minmax(0,1fr)); gap:6px}
#nca-bk-app .nca-bk-sch-day{display:flex; flex-direction:column; align-items:center; gap:1px; min-height:0; padding:9px 2px; margin:0; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); cursor:pointer; transition:border-color .15s, background .15s}
#nca-bk-app .nca-bk-sch-day span{font-size:10px; color:var(--ink-3); line-height:1.3}
#nca-bk-app .nca-bk-sch-day b{font-family:'Fraunces',serif; font-size:19px; font-weight:600; line-height:1.15}
#nca-bk-app .nca-bk-sch-day:hover:not(:disabled){border-color:var(--brand)}
#nca-bk-app .nca-bk-sch-day.is-on, #nca-bk-app .nca-bk-sch-day.is-on:hover{background:var(--brand); border-color:var(--brand); color:#fff}
#nca-bk-app .nca-bk-sch-day.is-on span{color:rgba(255,255,255,.85)}
#nca-bk-app .nca-bk-sch-day.is-off, #nca-bk-app .nca-bk-sch-day:disabled{opacity:.4; cursor:not-allowed}
#nca-bk-app .nca-bk-sch-times{display:flex; flex-wrap:wrap; gap:8px}
#nca-bk-app .nca-bk-sch-times button{min-height:36px; min-width:64px; padding:6px 14px; margin:0; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-size:12.5px; cursor:pointer}
#nca-bk-app .nca-bk-sch-times button:hover{border-color:var(--brand); color:var(--brand); background:#fff}
#nca-bk-app .nca-bk-sch-times button.is-on, #nca-bk-app .nca-bk-sch-times button.is-on:hover{background:var(--brand); border-color:var(--brand); color:#fff}
#nca-bk-app .nca-bk-sch-msg{font-size:12.5px; color:var(--ink-3); margin:0 0 10px}
#nca-bk-app .nca-bk-sch-msg.is-err{color:var(--err)}
#nca-bk-app .nca-bk-sch-clash{font-size:12px; color:var(--err); background:var(--err-bg); border-radius:10px; padding:10px 12px; line-height:1.5}
#nca-bk-app .nca-bk-sch-ft{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 22px; border-top:1px solid var(--line); flex-shrink:0}
#nca-bk-app .nca-bk-sch-ft > span{font-size:12px; color:var(--ink-3)}
#nca-bk-app .nca-bk-sch-ft > span b{color:var(--ink); font-weight:600}
#nca-bk-app .nca-bk-sch-ft .nca-pr-cta{min-width:160px}
@media (max-width:560px){
  #nca-bk-app .nca-bk-overlay{padding:12px}
  #nca-bk-app .nca-bk-sch-hd, #nca-bk-app .nca-bk-sch-body, #nca-bk-app .nca-bk-sch-ft{padding-left:16px; padding-right:16px}
  #nca-bk-app .nca-bk-sch-ft{flex-direction:column; align-items:stretch}
  #nca-bk-app .nca-bk-sch-ft .nca-pr-cta{width:100%}
}

/* ---- appointments box (checkout / payment / confirmed) ---- */
#nca-bk-app .nca-bk-appt{display:flex; flex-direction:column; gap:3px; padding:12px 0; border-bottom:1px solid var(--line)}
#nca-bk-app .nca-bk-appt:last-child{border-bottom:none; padding-bottom:0}
#nca-bk-app .nca-bk-appts .nca-pr-clinbox-hd{margin-bottom:2px}
#nca-bk-app .nca-bk-appt-name{font-size:12.5px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
#nca-bk-app .nca-bk-appt.is-cf .nca-bk-appt-name{white-space:normal}
#nca-bk-app .nca-bk-appt-who{font-size:11.5px; color:var(--ink-3)}
#nca-bk-app .nca-bk-appt-when{display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:2px}
#nca-bk-app .nca-bk-appt-when > span{display:inline-flex; align-items:center; gap:5px; font-size:11.5px; color:var(--brand)}
#nca-bk-app .nca-bk-appt-when svg{width:12px; height:12px}
#nca-bk-app .nca-bk-booked{color:var(--green) !important; font-weight:600}
#nca-bk-app .nca-pr-more.nca-bk-cal-btn{align-self:flex-start; min-height:32px; padding:5px 14px; margin-top:6px; font-size:11.5px; gap:6px}
#nca-bk-app .nca-pr-more.nca-bk-cal-btn svg{width:12px; height:12px}
#nca-bk-app .nca-bk-err-sub{display:inline-block; margin-top:4px; font-size:11px; color:var(--ink-3)}
#nca-bk-app .nca-pr-orow.is-line span{max-width:65%}


/* ---- Find me a Clinician: banner (first in the clinician list) + popup — neuro tokens ---- */
#nca-bk-app .nca-bk-findbanner{display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; padding:22px 24px; background:var(--brand-tint); border:1px solid var(--brand-line); border-radius:var(--r-card)}
#nca-bk-app .nca-bk-findbanner-ico{display:flex; color:var(--brand)}
#nca-bk-app .nca-bk-findbanner-ico svg{width:76px; height:76px}
#nca-bk-app .nca-bk-findbanner-txt h3{font-family:'Fraunces',serif; font-optical-sizing:auto; font-size:21px; font-weight:600; line-height:1.25; color:var(--ink); margin:0 0 6px}
#nca-bk-app .nca-bk-findbanner-txt h3 span, #nca-bk-app .nca-bk-findmodal h3 span{color:var(--brand)}
#nca-bk-app .nca-bk-findbanner-txt p{font-size:12.5px; line-height:1.55; color:var(--ink-2); margin:0 0 12px}
#nca-bk-app .nca-bk-findbanner-chips{display:flex; flex-wrap:wrap; gap:8px 22px}
#nca-bk-app .nca-bk-findbanner-chips span{display:inline-flex; align-items:center; gap:7px; font-size:11.5px; color:var(--ink)}
#nca-bk-app .nca-bk-findbanner-chips svg{width:14px; height:14px; color:var(--brand)}
#nca-bk-app .nca-bk-findbanner-btn{white-space:nowrap}
@media (max-width:760px){
  #nca-bk-app .nca-bk-findbanner{grid-template-columns:auto minmax(0,1fr); gap:14px 16px; padding:18px}
  #nca-bk-app .nca-bk-findbanner-ico svg{width:56px; height:56px}
  #nca-bk-app .nca-bk-findbanner-btn{grid-column:1/-1; width:100%}
}
#nca-bk-app .nca-bk-confirm.nca-bk-findmodal{max-width:540px; overflow:visible}
#nca-bk-app .nca-bk-findmodal p b{color:var(--ink); font-weight:600}
#nca-bk-app .nca-bk-findmodal .nca-bk-ff-row{margin-bottom:14px}
#nca-bk-app .nca-bk-findmodal .nca-bk-confirm-ft{margin-top:22px}
@media (max-width:480px){
  #nca-bk-app .nca-bk-findmodal .nca-bk-confirm-ft{flex-direction:column-reverse}
  #nca-bk-app .nca-bk-findmodal .nca-bk-confirm-ft > *{width:100%; flex:none}
}
/* popups that redraw in place must never re-animate */
#nca-bk-app .is-static{animation:none !important}
/* popup paragraph style (.nca-bk-confirm p) was overriding the field error — restore neuro's error look */
#nca-bk-app .nca-bk-confirm p.nca-pr-field-error{color:var(--err); font-size:11.5px; line-height:1.4; margin:6px 0 0 16px}
/* ---- v1.6.0 (synced with cardiac): Location filters, open requests ---- */
/* Services screen with the Location filter: Location | Service | Search */
#nca-bk-app .nca-bk-svc-filters.has-loc{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)}
/* Clinicians screen when the EHR returned no locations: Search | type pills */
#nca-bk-app .nca-bk-cl-filters.no-loc{grid-template-columns:minmax(0,1fr) auto}
@media (max-width:760px){
  #nca-bk-app .nca-bk-svc-filters.has-loc, #nca-bk-app .nca-bk-cl-filters.no-loc{grid-template-columns:1fr; border-radius:18px}
  #nca-bk-app .nca-bk-svc-filters.has-loc .nca-pr-filter + .nca-pr-filter{border-left:none; border-top:1px solid var(--line)}
}
/* "Find me a Clinician" open requests in appointment lists / order lines */
#nca-bk-app .nca-bk-req-notes{display:block; margin-top:4px; font-size:11.5px; line-height:1.45; color:var(--ink-3); font-style:italic; white-space:pre-line; overflow-wrap:anywhere}
#nca-bk-app .nca-bk-req-tag{display:inline-block; margin-left:6px; padding:1px 8px; border-radius:999px; background:var(--brand-tint2); color:var(--brand); font-size:10.5px; font-style:normal; font-weight:500; vertical-align:1px}
#nca-bk-app .nca-bk-findmodal > .field + .field{margin-top:14px}
#nca-bk-app .nca-bk-findmodal textarea.nca-bk-ff-notes{min-height:76px}
