/* Click-to-pick calendar — shared by both brands.
   Lifted from the Velez pages, where it was inlined four times over.
   Colours come from --cal-* so each site can set its own accent;
   the defaults below are EDU's. */
/* Click-to-pick calendar. The native date input still expects typing on
   desktop and its icon disappears on a dark form, so the month grid is drawn
   here instead. The real value lives in a hidden input so existing form code
   keeps reading .value as YYYY-MM-DD. */
.vdp{position:relative}
/* a <button> with no background falls back to the UA's light grey, which on a
   dark form looked like a disabled field and dropped the placeholder to
   1.85:1. Inherit the surrounding field styling instead. */
.vdp-btn{width:100%;text-align:left;cursor:pointer;font-family:inherit;position:relative;
  background:transparent;color:inherit;border:inherit}
.vdp-btn::after{content:'';position:absolute;right:0.85rem;top:50%;width:15px;height:14px;
  transform:translateY(-50%);opacity:.5;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zM5 9h14v10H5V9z'/></svg>") no-repeat center/contain;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zM5 9h14v10H5V9z'/></svg>") no-repeat center/contain}
/* placeholder text on the dark quote panel measured 2.98:1 — legible enough
   to look designed, not enough to read. Lifted to clear 4.5. */
.vdp-btn.is-empty{color:var(--cal-mute,#a9b2c4)}
.vdp-pop{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:290px;max-width:calc(100vw - 2.5rem);
  background:var(--cal-surface,#0e1838);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.85rem;
  box-shadow:0 22px 60px rgba(0,0,0,.6)}
.vdp-pop[hidden]{display:none}
/* Near the foot of the page there is no room below the field, so the
   calendar flips above it instead of being clipped by the footer. */
.vdp-pop.is-up{top:auto;bottom:calc(100% + 8px)}
.vdp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.vdp-title{font-weight:800;font-size:.92rem;color:var(--cal-ink,#eaf1ff);letter-spacing:-.01em}
.vdp-nav{width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.14);
  background:transparent;color:var(--cal-ink,#eaf1ff);cursor:pointer;font-size:1rem;line-height:1;display:flex;
  align-items:center;justify-content:center;transition:background .18s}
.vdp-nav:hover:not(:disabled){background:color-mix(in srgb,var(--cal-accent,#2e7fff) 22%,transparent)}
.vdp-nav:disabled{opacity:.25;cursor:default}
.vdp-dow,.vdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.vdp-dow span{text-align:center;font-size:.6rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cal-mute,#828b9d);padding:.3rem 0}
.vdp-day{aspect-ratio:1;border:none;background:transparent;color:var(--cal-ink,#eaf1ff);border-radius:8px;
  font-size:.8rem;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}
.vdp-day:hover:not(:disabled){background:color-mix(in srgb,var(--cal-accent,#2e7fff) 20%,transparent);color:#fff}
.vdp-day:disabled{color:var(--cal-line,rgba(255,255,255,.14));cursor:default}
.vdp-day.is-today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cal-accent,#2e7fff) 55%,transparent)}
.vdp-day.is-sel{background:var(--cal-accent,#2e7fff);color:#fff;font-weight:800}
.vdp-day.is-blank{visibility:hidden}
.vdp-foot{display:flex;justify-content:space-between;margin-top:.6rem;padding-top:.55rem;
  border-top:1px solid rgba(255,255,255,.08)}
.vdp-link{background:none;border:none;color:var(--cal-mute,#828b9d);font-size:.72rem;font-family:inherit;
  cursor:pointer;padding:.15rem .2rem}
.vdp-link:hover{color:var(--cal-accent,#2e7fff)}
