/* ═══════════════════════════════════════════════════════════════════════════════════
   Search-bar dropdowns — a location panel and a calendar, in the same language as the
   rest of the card. The native <select> / <input type="date"> stay in the DOM and keep
   holding the value; these panels just write to them, so every existing submit path is
   untouched and the page still works if the script never runs.
   ═══════════════════════════════════════════════════════════════════════════════════ */
.vp-pop{position:absolute;z-index:1600;background:#fff;border:1px solid #E6E8EE;
  border-radius:16px;box-shadow:0 18px 50px -12px rgba(16,24,40,.32),0 2px 6px rgba(16,24,40,.06);
  opacity:0;transform:translateY(-6px) scale(.985);transform-origin:top center;
  pointer-events:none;transition:opacity .16s ease,transform .18s cubic-bezier(.2,.85,.25,1);
  overflow:hidden;}
.vp-pop.on{opacity:1;transform:none;pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.vp-pop{transition:none;}}

/* the field the panel belongs to reads as active while it is open */
.bk-well.vp-open{border-color:var(--red,#E8001D)!important;
  box-shadow:0 0 0 3.5px rgba(232,0,29,.1)!important;}

/* ── Location list ─────────────────────────────────────────────────────────────── */
.vp-loc-h{padding:10px 12px 8px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#98A2B3;}
.vp-opt{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:none;
  background:none;font-family:inherit;padding:11px 12px;border-radius:11px;cursor:pointer;
  transition:background .14s;}
.vp-opt:hover{background:#F5F6F8;}
.vp-opt[aria-selected="true"]{background:rgba(232,0,29,.06);}
.vp-opt-ic{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  background:#F2F3F6;color:#344054;margin-top:1px;}
.vp-opt[aria-selected="true"] .vp-opt-ic{background:rgba(232,0,29,.1);color:var(--red,#E8001D);}
.vp-opt-ic svg{width:18px;height:18px;}
.vp-opt-b{min-width:0;flex:1;}
.vp-opt-t{display:block;font-size:15.5px;font-weight:600;color:#0a0a0a;line-height:1.3;}
.vp-opt-s{display:block;font-size:13px;font-weight:400;color:#8A90A0;line-height:1.35;margin-top:1px;}
.vp-opt-tag{flex:0 0 auto;align-self:center;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#98A2B3;background:#F2F3F6;border-radius:99px;padding:4px 9px;}
.vp-opt[disabled]{cursor:default;opacity:.55;}
.vp-opt[disabled]:hover{background:none;}

/* ── Calendar ──────────────────────────────────────────────────────────────────── */
.vp-cal{width:min(660px,calc(100vw - 32px));padding:16px 16px 12px;}
/* The arrows sit level with the month name, not floating over the day grid. */
.vp-cal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  margin-bottom:10px;}
.vp-nav{margin-top:-2px;}
.vp-nav{width:34px;height:34px;flex:0 0 auto;border:none;border-radius:50%;background:#F2F3F6;
  color:#0a0a0a;cursor:pointer;display:grid;place-items:center;transition:background .14s;}
.vp-nav:hover:not(:disabled){background:#E6E8EE;}
.vp-nav:disabled{opacity:.35;cursor:default;}
.vp-nav svg{width:17px;height:17px;}
.vp-months{display:grid;gap:26px;flex:1;min-width:0;}
@media(min-width:760px){.vp-months{grid-template-columns:1fr 1fr;}}
.vp-m-h{text-align:center;font-size:17px;font-weight:700;color:#0a0a0a;margin-bottom:10px;}
.vp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;}
.vp-dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#98A2B3;padding:4px 0;}
.vp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.vp-d{position:relative;aspect-ratio:1;border:none;background:none;font-family:inherit;
  font-size:14.5px;font-weight:600;color:#0a0a0a;border-radius:10px;cursor:pointer;
  transition:background .12s,color .12s;}
.vp-d:hover:not(:disabled):not(.on){background:#F2F3F6;}
.vp-d:disabled{color:#C9CED8;cursor:default;}
.vp-d.mute{visibility:hidden;}
.vp-d.today:not(.on){box-shadow:inset 0 0 0 1.5px #D9DDE6;}
.vp-d.in{background:#F2F3F6;border-radius:0;}
.vp-d.on{background:#111316;color:#fff;}
.vp-d.on.start{border-radius:10px 0 0 10px;}
.vp-d.on.end{border-radius:0 10px 10px 0;}
.vp-d.on.start.end{border-radius:10px;}
.vp-cal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid #EDEFF3;margin-top:12px;padding-top:12px;}
.vp-cal-note{font-size:13px;color:#8A90A0;}
.vp-done{border:none;border-radius:10px;background:var(--red,#E8001D);color:#fff;
  font-family:inherit;font-size:14.5px;font-weight:700;padding:11px 22px;cursor:pointer;
  transition:background .14s;}
.vp-done:hover{background:#C5001A;}

/* ── Time list ─────────────────────────────────────────────────────────────────── */
.vp-time{width:min(220px,calc(100vw - 32px));padding:8px;max-height:280px;overflow-y:auto;
  scrollbar-width:thin;}
.vp-t{display:block;width:100%;text-align:left;border:none;background:none;font-family:inherit;
  font-size:15px;font-weight:600;color:#0a0a0a;padding:10px 12px;border-radius:9px;cursor:pointer;
  transition:background .12s;}
.vp-t:hover{background:#F5F6F8;}
.vp-t.on{background:#111316;color:#fff;}

/* ── Location panel: list on the left, branch detail on the right ──────────────── */
.vp-loc{width:min(720px,calc(100vw - 24px));padding:0;display:grid;}
@media(min-width:760px){.vp-loc{grid-template-columns:300px 1fr;}}
.vp-loc-list{padding:8px;min-width:0;}
@media(min-width:760px){.vp-loc-list{border-right:1px solid #EDEFF3;}}
.vp-loc-det{background:#F7F8FA;padding:20px 22px 22px;min-width:0;}
.vp-det-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.vp-det-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;
  background:#fff;color:var(--red,#E8001D);border:1px solid #E6E8EE;}
.vp-det-ic svg{width:20px;height:20px;}
.vp-det-tag{font-size:12px;font-weight:700;color:var(--red,#E8001D);border:1.5px solid rgba(232,0,29,.4);
  border-radius:99px;padding:5px 12px;white-space:nowrap;}
.vp-det-tag.soon{color:#98A2B3;border-color:#D9DDE6;}
.vp-det-name{font-size:24px;font-weight:800;color:#0a0a0a;line-height:1.15;margin-bottom:5px;}
.vp-det-name span{font-weight:500;color:#667085;}
.vp-det-addr{font-size:14px;color:#667085;line-height:1.5;margin-bottom:18px;}
.vp-det-h{font-size:15px;font-weight:700;color:#0a0a0a;margin-bottom:8px;}
.vp-hrs{margin-bottom:20px;}
.vp-hr{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  font-size:14px;color:#667085;padding:3px 0;}
.vp-hr b{color:#0a0a0a;font-weight:600;font-variant-numeric:tabular-nums;}
.vp-det-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.vp-pick{border:none;border-radius:99px;background:var(--red,#E8001D);color:#fff;font-family:inherit;
  font-size:15px;font-weight:700;padding:13px 26px;cursor:pointer;transition:background .15s;}
.vp-pick:hover:not(:disabled){background:#C5001A;}
.vp-pick:disabled{background:#E6E8EE;color:#98A2B3;cursor:default;}
.vp-det-link{font-size:14px;font-weight:600;color:#0a0a0a;text-decoration:underline;
  text-underline-offset:3px;}
.vp-det-link:hover{color:var(--red,#E8001D);}
@media(max-width:759px){
  .vp-loc-det{padding:16px 16px 18px;}
  .vp-det-name{font-size:20px;}
}
