/* Shared trip editors: custom controls with the same saved-date and airport contracts. */
body #dates-picker,body #departure-picker{box-sizing:border-box;width:min(720px,calc(100vw - 32px));max-width:720px;padding:28px;border-radius:16px}
body #departure-picker{width:min(560px,calc(100vw - 32px))}
#dates-picker .traveller-heading,#departure-picker .traveller-heading{margin-bottom:24px}
#dates-picker .trip-detail-form,#departure-picker .trip-detail-form{display:block}
.trip-date-modes{display:flex;padding:4px;border:1px solid #dce3d5;background:#eff2e9;border-radius:9px;margin-bottom:22px;gap:4px}
.trip-date-modes button{flex:1;padding:10px;border:0;border-radius:6px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;color:#6e7d64;background:transparent}
.trip-date-modes button[aria-pressed=true]{background:#fffefa;color:#344e3d;box-shadow:0 1px 4px #263b3010}
#dates-picker [data-date-exact]{display:block}
#dates-picker [hidden],#departure-picker [hidden]{display:none!important}
.trip-date-range{display:flex;align-items:center;gap:15px;margin-bottom:16px}
.trip-date-range>button{flex:1;min-width:0;padding:12px 14px;text-align:left;background:#fffefa;border:1px solid #d5dece;border-radius:8px;color:#344e3d}
.trip-date-range small,.trip-date-range strong{display:block;font-family:inherit}
.trip-date-range small{font-size:11px;font-weight:400;color:#74816b;margin-bottom:6px}
.trip-date-range strong{font-size:14px;font-weight:500}
.trip-date-range button[aria-pressed=true]{border-color:#4e6e54;box-shadow:0 0 0 1px #4e6e54}
.trip-date-range>span{color:#8c9981}
[data-trip-calendar]{position:relative}
.trip-calendar-nav{display:flex;justify-content:space-between;position:absolute;inset:0 0 auto;pointer-events:none}
.trip-calendar-nav button{pointer-events:auto;border:1px solid #dce3d5;background:transparent;border-radius:7px;color:#4e6e54;width:32px;height:32px;font-size:23px;line-height:1;display:grid;place-items:center}
.trip-calendar-nav button:disabled{opacity:.3;cursor:default}
.trip-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.trip-calendar-month h4{text-align:center;font:500 14px/32px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:0 30px 16px;color:#344e3d}
.trip-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0}
.trip-calendar-grid>span{text-align:center;font-size:10px;color:#87917e;padding:0 0 8px}
.trip-calendar-grid button{border:0;background:transparent;color:#344e3d;min-height:36px;font:400 12px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:0;border-radius:5px}
.trip-calendar-grid button:hover:not(:disabled):not([aria-pressed=true]){background:#e6eddf}
.trip-calendar-grid button:disabled{color:#c5cbbf;cursor:default}
.trip-calendar-grid button[aria-current=date]{text-decoration:underline;text-underline-offset:5px}
.trip-calendar-grid button.in-range{background:#eaf0e3;border-radius:0}
.trip-calendar-grid button.range-start,.trip-calendar-grid button.range-end{background:#4e6e54;color:white}
.trip-range-summary{text-align:center;font-size:12px;color:#6d7e62;margin:16px 0 8px;min-height:18px}
#dates-picker [data-date-flexible] label{display:block;font-size:12px;color:#64765a;margin-block:14px}
#dates-picker [data-date-flexible] input,#departure-picker input[name=departure]{box-sizing:border-box;display:block;width:100%;min-height:46px;border:1px solid #d5dece;border-radius:8px;background:#fffefa;padding:11px 13px;font:400 14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#344e3d;margin-top:8px}
#dates-picker .hint{font-size:11px;line-height:1.6;color:#7e8973;margin:12px 0 0}
#dates-picker .traveller-actions,#departure-picker .traveller-actions{border-top:1px solid #e1e6d9;margin-top:22px;padding-top:20px;display:flex;justify-content:flex-end;align-items:center;gap:20px}
.trip-airport-label{display:block;font-size:12px;color:#6e7d64}
.trip-airport-options{display:grid;gap:3px;border:1px solid #dce3d5;border-radius:9px;background:#fffefa;padding:5px;margin-top:8px;max-height:300px;overflow-y:auto}
.trip-airport-options button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:0;border-radius:6px;padding:13px 10px;background:transparent;color:#344e3d}
.trip-airport-options button:hover,.trip-airport-options button[aria-selected=true]{background:#edf2e5}
.trip-airport-options button>span:nth-child(2){flex:1;min-width:0}
.trip-airport-options strong{display:block;font-size:13px;font-weight:500}
.trip-airport-options small{display:block;font-size:10px;color:#7b8770;line-height:1.6;margin-top:4px}
.trip-airport-options b{font-size:11px;font-weight:500;color:#79866f}
.trip-airport-icon{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#eff3e9;color:#627856;font-size:17px}
.trip-airport-status{font-size:12px;color:#78866d;line-height:1.5}
#dates-picker button:focus-visible,#departure-picker button:focus-visible{outline:2px solid #739360;outline-offset:3px}
@media(max-width:600px){#dates-picker,#departure-picker{padding:22px 18px}.trip-calendar-months{grid-template-columns:1fr;gap:0}.trip-calendar-month:nth-child(2){display:none}.trip-calendar-grid button{min-height:40px;font-size:13px}.trip-date-range{gap:10px}.trip-date-range>button{padding:11px}.trip-date-range strong{font-size:12px}.trip-airport-options{max-height:260px}}

.trip-calendar-grid button.range-start:disabled{opacity:1;color:#fff}
