/* A single range field, with a transactional calendar in the site's own dialog. */
.mv-stay-field {grid-column:1/-1;min-width:0;display:grid;gap:7px}
.mv-stay-field>span {font-size:13px;font-weight:750}
.mv-stay-trigger {display:flex;align-items:center;gap:12px;min-height:68px;width:100%;padding:11px 12px;border:1px solid #bacad5;border-radius:12px;background:#f6f9fc;color:#122b55;text-align:left}
.mv-stay-trigger>span {flex:1;min-width:0}.mv-stay-trigger strong {display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.mv-stay-trigger small {display:block;font-size:13px;font-weight:400;line-height:1.5;color:#536677}
.mv-stay-trigger>.mv-icon {flex-shrink:0;color:#27858b}
.mv-date-dialog {width:min(430px,calc(100% - 8px));max-width:none;max-height:calc(100dvh - 16px);margin:auto;padding:0;border:1px solid #d5e2e8;border-radius:22px;background:#fff;color:#122b55;box-shadow:0 20px 70px #071b3559;overflow:hidden}
.mv-date-dialog:not([open]) {display:none}.mv-date-dialog::backdrop {background:#061a368f}
.mv-calendar-shell {display:flex;flex-direction:column;max-height:calc(100dvh - 18px)}
.mv-calendar-header {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 0;flex-shrink:0}
.mv-calendar-header h2 {margin:0;font-size:18px;font-family:inherit;font-weight:750;line-height:1.3;color:#122b55}
.mv-calendar-icon {display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid #dce6eb;border-radius:12px;background:#f5f8fa;color:#122b55}
.mv-calendar-icon:disabled {opacity:.35;cursor:default}
.mv-calendar-hint {margin:6px 14px 8px;min-height:40px;display:flex;align-items:center;font-size:14px;line-height:1.4;font-weight:650;color:#20757c;flex-shrink:0}
.mv-calendar-scroll {overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:56px;min-height:0;padding:0 12px 8px}
.mv-calendar-navigation {position:sticky;top:0;z-index:1;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.mv-calendar-navigation h3 {margin:0;font-family:inherit;font-size:16px;font-weight:750;text-transform:none;color:#122b55}
.mv-calendar-grid {table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;color:#122b55}
.mv-calendar-grid th {height:28px;text-align:center;font-size:12px;font-weight:650;color:#536677}
.mv-calendar-grid td {padding:0;height:44px;text-align:center;border:0}
.mv-calendar-grid td.is-between {background:#e1f2ef}
.mv-calendar-grid td.is-between.is-first {background:linear-gradient(to right,transparent 50%,#e1f2ef 50%)}
.mv-calendar-grid td.is-between.is-last {background:linear-gradient(to left,transparent 50%,#e1f2ef 50%)}
.mv-calendar-grid button {position:relative;isolation:isolate;display:grid;place-items:center;width:100%;min-width:0;height:44px;padding:0;border:0;border-radius:0;background:transparent;font-size:15px;font-weight:650;color:#122b55}
/* Keep the whole cell tappable; only the visual marker has a square footprint. */
.mv-calendar-grid button::before {content:"";position:absolute;z-index:-1;pointer-events:none;inset:50% auto auto 50%;width:min(44px,100%);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}
.mv-calendar-grid button:disabled {color:#a4afbb;cursor:default;font-weight:400}
.mv-calendar-grid button[aria-current=date]::before {box-shadow:inset 0 0 0 1px #71919f}
.mv-calendar-grid .is-first button,.mv-calendar-grid .is-last button {color:#fff}
.mv-calendar-grid .is-first button::before,.mv-calendar-grid .is-last button::before {background:#20757c}
.mv-calendar-grid button:not(:disabled):hover::before {box-shadow:inset 0 0 0 2px #27858b}
.mv-date-dialog button:focus-visible {outline:3px solid #122b55;outline-offset:-3px}
.mv-date-dialog .mv-calendar-grid button:focus-visible {outline:none}
.mv-date-dialog .mv-calendar-grid button:focus-visible::before {outline:3px solid #122b55;outline-offset:-3px}
.mv-calendar-footer {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dce6eb;background:#fff;flex-shrink:0}
.mv-calendar-footer button {min-height:46px;font-size:14px;white-space:nowrap;padding-inline:16px}
@media(max-width:767px) {.mv-date-dialog {margin:auto auto 0;border-radius:22px 22px 0 0}.mv-calendar-footer .mv-button-primary {flex:1}}
@media(prefers-reduced-motion:no-preference) {.mv-date-dialog[open] {animation:mv-calendar-in .16s ease-out}@keyframes mv-calendar-in {from {opacity:0;transform:translateY(12px)}to {opacity:1;transform:translateY(0)}}}

.mv-calendar-navigation h3::first-letter {text-transform:uppercase}
