/* Local pilot: the itinerary stays server-rendered; navigation narrows the working area. */
.destination-page.pilot-page { --pilot-line:#d5dfeb; background:#f5f7fb; padding-bottom:48px; }
.pilot-page .journey-header { display:block; padding-block:16px; }
.pilot-page .journey-header h1 { font-size:36px; line-height:1.1; letter-spacing:-.02em; }
.pilot-page .destination-meta { margin:12px 0 0; }
.pilot-page .destination-navigation { position:static; margin-bottom:24px; }
.pilot-page .in-page-nav { display:grid; grid-template-columns:repeat(6,1fr); padding:0; background:white; border:1px solid var(--pilot-line); }
.pilot-page .in-page-nav a { text-align:center; padding:16px 8px; border-bottom:3px solid transparent; }
.pilot-page .in-page-nav a[aria-current] { color:#123fa0; border-bottom-color:#123fa0; background:#edf2fc; }
.pilot-page [data-plan-panel] { padding-block:24px; }
.pilot-page [data-plan-panel] h2 { font-size:24px; line-height:1.2; letter-spacing:0; margin-bottom:16px; }
.pilot-page [data-plan-panel] h3 { font-size:20px; line-height:1.3; letter-spacing:0; }
.pilot-page .pilot-intro { max-width:72ch; margin-bottom:24px; }
.pilot-overview-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:32px; align-items:start; }
.pilot-map { position:relative; aspect-ratio:640/420; background:#e6ede8; border:1px solid var(--pilot-line); }
.pilot-map>img,.pilot-pins { position:absolute; inset:0; width:100%; height:100%; }
.pilot-north { position:absolute; right:16px; top:12px; font-weight:700; z-index:1; }
.pilot-pins text { fill:white; text-anchor:middle; font:bold 18px Barlow,sans-serif; pointer-events:none; }
.pilot-map-pin circle { fill:#123fa0; stroke:white; stroke-width:3; }
.pilot-map-base rect { fill:#ffdf54; stroke:#142950; stroke-width:2; }
.pilot-map-base text { fill:#142950; }
.pilot-pins a:focus circle,.pilot-pins a:focus rect { stroke:#aa3300; stroke-width:5; }
.pilot-map-legend { list-style:none; padding:0; margin:16px 0 24px; display:grid; gap:8px; }
.pilot-map-legend a { display:flex; align-items:center; gap:12px; padding:8px; background:white; text-decoration:none; }
.pilot-map-legend span { background:#123fa0; color:white; min-width:28px; height:28px; text-align:center; line-height:28px; }
.pilot-settings { padding:24px; background:white; border:1px solid var(--pilot-line); }
.pilot-settings form { display:grid; gap:16px; }
.pilot-settings label { display:grid; gap:8px; font-weight:600; }
.pilot-settings input,.pilot-settings select { width:100%; min-width:0; max-width:100%; }
.pilot-settings p { margin:0 0 16px; }
.pilot-page .journey-route { display:grid; gap:24px; }
.pilot-page .journey-route>li { display:grid; grid-template-columns:100px minmax(180px,280px) minmax(0,1fr); gap:24px; padding:24px; background:white; border:1px solid var(--pilot-line); }
.pilot-page .journey-route>li:not(:has(.travel-photo)) { grid-template-columns:100px minmax(0,1fr); }
.pilot-page .journey-route .travel-photo img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.pilot-page .journey-route .travel-photo { margin:0; }
.pilot-day-date { display:block; font-size:14px; font-weight:400; margin-top:8px; }
.pilot-page .pilot-places { margin:16px 0; }
.pilot-place { border-left:3px solid #c9d7ee; padding:8px 12px; margin:12px 0; }
.pilot-place>span { display:block; }
.pilot-closed { padding:12px; background:#fff1db; border-left:3px solid #925000; color:#4b3000; }
.pilot-base-choice { padding:20px; background:white; border:1px solid var(--pilot-line); margin-bottom:24px; }
.pilot-base-choice fieldset { display:grid; gap:12px; }
.pilot-page .booking-section { display:block; }
.pilot-page .journey-next-steps { margin:24px 0; }
.pilot-page .paper-section { background:transparent; }
.pilot-page .journey-route .journey-day-intro { font-size:16px; }
@media(max-width:900px) { .pilot-page .journey-route>li { grid-template-columns:72px minmax(0,1fr); } .pilot-page .journey-route .journey-day-content { grid-column:2; } .pilot-page .journey-route .travel-photo { max-width:400px; } }
@media(max-width:680px) {
 .pilot-page .journey-header h1 { font-size:28px; }
 .pilot-page .destination-navigation { margin-bottom:8px; }
 .pilot-page .in-page-nav { grid-template-columns:repeat(3,1fr); gap:0; }
 .pilot-page .in-page-nav a { font-size:15px; padding:12px 4px; }
 .pilot-overview-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .pilot-settings { padding:16px; }
 .pilot-page .journey-route>li,.pilot-page .journey-route>li:not(:has(.travel-photo)) { display:block; padding:16px; }
 .pilot-page .journey-route .travel-photo { margin:16px 0; max-width:none; }
 .pilot-day-date { display:inline; margin-left:12px; }
 .pilot-page .destination-meta { font-size:13px; }
}
@media print { .pilot-page [data-plan-panel][hidden] { display:block!important; } .pilot-settings,.pilot-base-choice,.pilot-page .destination-navigation { display:none; } .pilot-page .journey-route>li { break-inside:avoid; } }
.pilot-page .journey-heading-month { display:inline; }
.pilot-page .journey-header h1 { margin-bottom:8px; }
.pilot-page .pilot-settings input[type=date],.pilot-page .pilot-settings select { min-height:44px; border:1px solid #7c8ba2; border-radius:0; padding:8px; background:white; font:inherit; color:#17233b; }
.pilot-page .pilot-intro h2 { margin-bottom:8px; }
.pilot-page .pilot-map-pin:focus,.pilot-page .pilot-map-base:focus { outline:3px solid #17233b; }
.pilot-page .in-page-nav a { border-radius:0; }
.pilot-page .journey-route img { border-radius:0; }
.pilot-page .pilot-distance { padding:8px 12px; background:#edf2fc; }
@media(max-width:680px) { .pilot-page .journey-route .travel-photo img { aspect-ratio:16/9; max-height:220px; } .pilot-page .section-heading { margin-bottom:16px; } }
@media screen { .pilot-page [data-plan-panel][hidden] { display:none!important; } }
.pilot-page .pilot-intro { max-width:none; display:grid; grid-template-columns:1fr 240px; gap:24px; align-items:center; }
.pilot-page .pilot-intro .travel-photo { margin:0; }
.pilot-page .pilot-intro img { width:240px; height:120px; object-fit:cover; }
.pilot-map { background-color:#f1f4f6; background-image:linear-gradient(#dbe2e7 1px,transparent 1px),linear-gradient(90deg,#dbe2e7 1px,transparent 1px); background-size:64px 42px; }
.pilot-map-label { position:absolute; left:16px; top:12px; font-size:13px; color:#43546d; }
.pilot-save { display:grid; gap:12px; margin:20px 0; padding-top:16px; border-top:1px solid var(--pilot-line); }
.pilot-page [data-pilot-read][hidden],.pilot-page [data-pilot-load][hidden],.pilot-page [data-pilot-save][hidden],.pilot-page [data-pilot-remove][hidden] { display:none; }
@media(max-width:680px) { .pilot-page .pilot-intro { grid-template-columns:minmax(0,1fr) 120px; gap:16px; } .pilot-page .pilot-intro img { width:120px; height:100px; } .pilot-page .pilot-intro p { font-size:15px; } }

.pilot-overview > .button { margin:16px 0 24px; }
.pilot-options { margin-bottom:24px; }
.pilot-options > summary { cursor:pointer; padding:12px 0; font-weight:700; }
.pilot-options[open] > summary { margin-bottom:16px; }
