
/* Compact, accessible, custom (NON-TYPEABLE) calendar and slot picker */
.vll-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(9,8,16,.77);backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;padding:18px}.vll-backdrop.is-open{display:flex}.vll-dialog{position:relative;background:#f7f4f0;color:#292234;max-width:1000px;width:100%;max-height:min(94dvh,900px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #d7c0ab;border-radius:8px;box-shadow:0 25px 95px #05040be6}.vll-top{position:relative;background:radial-gradient(at 85% -30%,#704572,transparent 70%),linear-gradient(120deg,#212034,#3c2b48);padding:22px 28px;color:white;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.vll-kicker{display:block;color:#e7c59d;font-size:10px;letter-spacing:.19em;font-weight:700}.vll-top h2{font:normal clamp(28px,4vw,42px)/1.1 Georgia,serif;letter-spacing:-.035em;margin:7px 0}.vll-top p{margin:0;color:#d4cbdc;font-size:12px;line-height:1.6}.vll-close{display:grid;place-items:center;border:1px solid #c8b3bd77;background:#ffffff17;border-radius:50%;color:#fff;min-width:35px;height:35px;font-size:20px}.vll-columns{display:grid;grid-template-columns:1.02fr .98fr}.vll-picker{padding:25px 28px;border-right:1px solid #ddd4d6}.vll-fields{padding:25px 28px}.vll-label{display:block;font-size:12px;font-weight:750;color:#423445;margin-bottom:9px}.vll-label small{font-weight:450;color:#695d69}.vll-input,.vll-select{width:100%;display:block;padding:12px 13px;min-height:44px;background:#fff;color:#28202f;border:1px solid #d8ccd4;border-radius:5px;font:14px system-ui,sans-serif}.vll-input:focus,.vll-select:focus{outline:2px solid #aa83b3;outline-offset:1px}.vll-form-row{margin-bottom:14px}.vll-cal{background:#fff;padding:12px;border:1px solid #e1d8dc;border-radius:7px}.vll-cal-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:1px 0 15px}.vll-cal-head strong{font-size:14px;color:#272031}.vll-arrow{height:34px;width:34px;background:#f5f0f6;border:1px solid #ded3dd;color:#4e3554;border-radius:5px;font-weight:750}.vll-arrow:hover:not(:disabled){background:#e9dbea}.vll-arrow:disabled{opacity:.35}.vll-dow,.vll-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.vll-dow span{text-align:center;font-size:10px;font-weight:700;color:#817284;padding:4px 0}.vll-day{border:1px solid transparent;background:#faf8fa;color:#2b2530;border-radius:5px;height:35px;min-width:0;display:grid;place-items:center;font:12px system-ui,sans-serif}.vll-day:hover:not(:disabled){border-color:#b088aa;background:#eee2ee}.vll-day.is-selected{background:#684a73;color:#fff;border-color:#684a73;font-weight:700}.vll-day:disabled{color:#ccc4cc;background:transparent;cursor:not-allowed}.vll-day.is-today:not(.is-selected){border-color:#d6b288}.vll-day-empty{height:35px}.vll-slots{margin-top:16px}.vll-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.vll-slot{background:#fff;border:1px solid #d8cbd9;border-radius:5px;color:#3a2d41;min-height:39px;font-size:12px}.vll-slot.is-selected{background:#684a73;color:#fff;border-color:#684a73}.vll-slot:disabled{color:#aaa0aa;background:#f3eff2;cursor:not-allowed;text-decoration:line-through}.vll-slot:hover:not(:disabled){border-color:#8d6790}.vll-hint{font-size:12px;color:#756a78;margin:10px 0;line-height:1.6}.vll-notice{border-left:3px solid #97749c;background:#f1e8f2;padding:11px 13px;font-size:11px;line-height:1.6;color:#4f3b55;margin-bottom:15px}.vll-notice.is-error{background:#fff0ed;border-color:#c04b41;color:#84382b}.vll-privacy{font-size:12px;line-height:1.5;color:#625664;display:flex;gap:9px;align-items:flex-start;cursor:pointer;margin:17px 0}.vll-privacy input{margin-top:3px;accent-color:#765780;flex-shrink:0}.vll-privacy a{color:#67487b;text-decoration:underline}.vll-submit{background:linear-gradient(120deg,#5c3b70,#9e699b);color:#fff;font-size:13px;font-weight:700;border:0;border-radius:5px;min-height:47px;width:100%;cursor:pointer;transition:box-shadow .2s}.vll-submit:not(:disabled):hover{box-shadow:0 8px 23px #6f437448}.vll-submit:disabled{opacity:.53;cursor:not-allowed}.vll-result{font-size:12px;line-height:1.65;color:#4c3554;margin:12px 0}.vll-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.vll-locked{overflow:hidden!important}.vll-spinner{display:inline-block;width:12px;height:12px;border:2px solid #95809e;border-right-color:transparent;border-radius:50%;animation:vllspin .6s linear infinite}@keyframes vllspin{to{transform:rotate(360deg)}}@media(max-width:700px){.vll-backdrop{padding:0;align-items:stretch}.vll-dialog{max-width:none;max-height:100dvh;height:100dvh;border-radius:0}.vll-top{padding:19px 18px}.vll-columns{grid-template-columns:1fr}.vll-picker{border-right:0;border-bottom:1px solid #ddd4d6;padding:20px 17px}.vll-fields{padding:20px 17px 35px}.vll-top h2{font-size:29px}.vll-day{height:38px}.vll-label{font-size:13px}.vll-hint{font-size:11px}}@media(prefers-reduced-motion:reduce){.vll-spinner{animation:none}}
