.reservation-checkout-calendar{position:relative}
.reservation-checkout-calendar>input[type=text]{cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23263f39' stroke-width='1.7'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M8 3v4m8-4v4M4 11h16'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.reservation-checkout-popup{position:fixed;z-index:1080;width:294px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;padding:14px;border:1px solid #ccdcd5;border-radius:6px;background:#fff;box-shadow:0 10px 28px rgba(22,54,45,.16)}
.reservation-checkout-popup[hidden]{display:none}
.reservation-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.reservation-calendar-header strong{font-size:.86rem;color:#254f45}
.reservation-calendar-header button{width:32px;height:32px;border:0;background:transparent;color:#254f45;font-size:1.5rem;line-height:1}
.reservation-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.reservation-calendar-weekday{padding:4px 0;font-size:.7rem;color:#6a8179}
.reservation-calendar-grid button{height:33px;border:0;border-radius:3px;background:#f4f8f5;color:#254f45;font-size:.8rem;cursor:pointer}
.reservation-calendar-grid button:hover:not(:disabled){background:#dcece5}
.reservation-calendar-grid button[aria-pressed=true]{background:var(--site-primary);color:#fff}
.reservation-calendar-grid button:disabled{background:#f8f8f8;color:#b9bfbc;cursor:not-allowed;text-decoration:line-through}
.reservation-checkout-popup button:focus-visible{outline:2px solid var(--site-primary);outline-offset:1px}
