.booking-form{max-width:850px;margin-top:38px}.booking-form .button{margin-top:22px}.booking-form .notice{margin:28px 0}.booking-form .success{border:1px solid var(--gold);padding:18px;background:var(--panel);color:var(--ink)}

.booking-form .form-grid{display:grid;grid-template-columns:1fr;gap:24px}
.booking-form .field{display:flex;flex-direction:column;gap:8px}
.booking-form textarea{width:100%;padding:14px 18px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);font:inherit;resize:vertical;min-height:120px}
.booking-form textarea::placeholder{color:var(--muted)}

#pickup-date,#pickup-time,#pickup-time option{font-family:"Merriweather",Georgia,serif;font-size:14px}
#pickup-date::-webkit-datetime-edit{font-family:"Merriweather",Georgia,serif}

#pickup-date{cursor:pointer}
.booking-form input::placeholder{color:var(--muted);opacity:1}
.date-picker{position:relative}
.date-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:14px/1.65 "Merriweather",Georgia,serif;text-align:left;cursor:pointer}
.date-trigger:hover,.date-trigger[aria-expanded=true]{border-color:var(--gold)}
.pickup-calendar{position:absolute;top:calc(100% + 12px);left:0;width:min(440px,100%);z-index:20;padding:16px;background:#3c2e25;border:1px solid #806447;border-radius:20px;box-shadow:0 18px 45px #0007;color:var(--ink)}
.pickup-calendar[hidden]{display:none}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#281e18;padding:14px;border-radius:12px;margin-bottom:14px}
.calendar-header>div:first-child{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.calendar-month-label{color:var(--muted);font-size:12px}
#calendar-month{font:15px/1.4 "Merriweather",Georgia,serif;font-weight:700}
.calendar-navigation{display:flex;gap:5px;flex-shrink:0}
.calendar-navigation button{width:28px;height:30px;padding:0;background:#493629;border:1px solid #806447;border-radius:8px;color:var(--ink);font:24px/1 Georgia,serif}
.calendar-navigation button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekdays{text-align:center;font-size:11px;color:#d6bfa5;margin-bottom:9px}
.calendar-day{position:relative;min-height:48px;padding:0;background:#725440;border:1px solid #957355;border-radius:8px;color:#fff2df;font:13px/1.4 "Merriweather",Georgia,serif}
.calendar-day span{position:absolute;right:8px;top:6px}
.calendar-day:hover:not(:disabled){background:#906b4d;border-color:var(--gold)}
.calendar-day:disabled{background:#46372d;border-color:#554336;color:#857365;cursor:default}
.calendar-day.is-selected{background:var(--gold);border-color:#ead1a1;color:#201915}
.calendar-hint{font-size:11px;color:#cfbca7;margin:12px 0 0;text-align:center}
@media(max-width:480px){.pickup-calendar{padding:12px}.calendar-header{padding:10px}.calendar-header>div:first-child{gap:10px}.calendar-days,.calendar-weekdays{gap:5px}.calendar-day{min-height:42px}.calendar-day span{right:6px}#calendar-month{font-size:13px}}

/* White source background disappears through inversion and screen blending. */
.pickup-calendar{isolation:isolate}
.calendar-flock{position:absolute;left:-8px;top:-14px;width:200px;height:200px;pointer-events:none;z-index:0;mix-blend-mode:screen;opacity:.22}
.calendar-flock img{display:block;width:100%;height:100%;filter:invert(1) sepia(1) saturate(.8);pointer-events:none}
.pickup-calendar>.calendar-header,.pickup-calendar>.calendar-weekdays,.pickup-calendar>.calendar-days,.pickup-calendar>.calendar-hint{position:relative;z-index:1}
@media(max-width:480px){.calendar-flock{width:175px;height:175px;top:-8px;left:-7px}}
