/* Quiet booking notes, kept away from the protected station cover. */
.booking-disclosure-wrap{padding-top:16px}
.booking-disclosure{font-size:.8125rem;line-height:1.65;color:#68645c;max-width:930px;font-weight:400}
.booking-group{margin:32px 0 16px;scroll-margin-top:90px}
.booking-heading{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.booking-heading>.pixel-accent{--pixel-size:42px;flex:0 0 auto}
.booking-heading h3{font-size:1.3rem;line-height:1.5;font-weight:700}
.booking-heading p{font-size:.9375rem;color:#655d50;line-height:1.65;margin-top:4px}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.booking-grid.single{grid-template-columns:1fr}
.booking-card{background:#fffdf7;border:1px solid #d8cfbb;border-top:3px solid #2472a3;padding:22px;min-width:0;display:flex;flex-direction:column;box-shadow:3px 3px 0 #8071450d}
.booking-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.booking-card-top .pixel-accent{--pixel-size:46px;flex:0 0 auto}
.booking-card-top>span:last-child{font-size:.875rem;color:#695c40;text-align:right;line-height:1.5}
.booking-card h4{font-size:1.125rem;line-height:1.5;margin:0 0 6px;font-weight:700;letter-spacing:-.03em}
.booking-card>p{font-size:1rem;line-height:1.75;margin:8px 0;color:#3f3b34}
.booking-card .booking-time{font-size:.8125rem;line-height:1.5;color:#655d50;margin:0 0 7px}
.booking-card .booking-evidence{font-size:.75rem;color:#416746;line-height:1.6;margin:8px 0}
.booking-evidence span{color:#68645c}
.booking-check{margin:12px 0;font-size:.875rem;line-height:1.75;border-top:1px dashed #cfc5b2;padding-top:12px}
.booking-check summary{cursor:pointer;color:#3b6380;min-height:30px}
.booking-check ul{padding-left:18px;margin:10px 0}
.booking-check li+li{margin-top:8px}
.booking-check a,.food-source a,.pass-official a{text-decoration:underline;text-underline-offset:3px}
.booking-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px}
.booking-link{font-size:.875rem;color:#195e91;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;line-height:1.6}
.pick-button{border:1px solid #bfb49c;background:transparent;color:#4b514d;border-radius:3px;padding:10px 12px;min-height:44px;font-size:.875rem;text-align:left;line-height:1.6}
.pick-button:hover{background:#edf4f4}
.pick-button[aria-pressed=true]{background:#185f93;border-color:#185f93;color:white}
.booking-card:has(.pick-button[aria-pressed=true]){border-color:#2472a3;box-shadow:3px 3px 0 #2472a31a}
.food-card{border-top-color:#b9943d;background:#fffaf0}
.food-card .booking-card-top .pixel-accent{--pixel-size:40px}
.food-source{font-size:.75rem;line-height:1.6;color:#68645c;margin:9px 0 24px}
.booking-route-note{font-size:.875rem;line-height:1.75;color:#655d50;margin:16px 0}
.pass-compare{padding:24px;background:#edf4f4;border:1px solid #c1d3d8;margin:32px 0}
.pass-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0}
.pass-choice>span{font-size:.9375rem;width:100%}
.pass-choice button{min-height:44px;padding:8px 18px;border:1px solid #9dadad;background:#fffdf7;color:#33576a;border-radius:3px;font-size:.875rem}
.pass-choice button[aria-pressed=true]{background:#185f93;color:white;border-color:#185f93}
.pass-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pass-two h4{margin:0 0 8px;font-size:1rem}.pass-two p{font-size:.9375rem;line-height:1.8}
.pass-official{display:flex;gap:18px;flex-wrap:wrap;font-size:.875rem;color:#195e91}
.booking-card .pass-overlap{font-size:.875rem;background:#fff1ce;padding:12px;border-left:3px solid #b38526}
.pass-overlap a{display:block;color:#195e91;text-decoration:underline;margin-top:5px}
.selected-notes{padding:22px;border:1px solid #cbbfa6;background:#fff9e9;margin-top:24px}
.selected-notes h3{font-size:1.1875rem;margin-bottom:14px}
.selected-notes .selected-empty{font-size:.9375rem;color:#655d50;line-height:1.8}
.selected-note{padding:12px 0;border-bottom:1px dashed #d0c6b2}
.selected-note p{font-size:.8125rem;color:#655d50}
.selected-note strong{font-size:1rem;display:block;margin:3px 0;line-height:1.65}
.selected-note-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.875rem;color:#195e91}
.selected-note-actions button{font:inherit;border:0;background:transparent;padding:8px 0;color:#7e4237;min-height:40px}
.departure-booking{padding:18px;border-top:1px dashed #d8cfbb;margin-top:22px;font-size:.9375rem}
.departure-booking p{margin-bottom:8px}
.tour-selected-note{padding:20px;background:#e9f3f3;border:1px solid #aabdc7;margin:20px 0}
.tour-selected-note p{margin-top:8px;font-size:1rem;line-height:1.8}
.independent-route>summary{font-size:1rem;cursor:pointer;padding:16px 0;color:#195e91}
.independent-route[open]>summary{margin-bottom:10px}
#kyoto-walk{scroll-margin-top:90px}
.my-picks{margin-bottom:36px}.my-picks .booking-heading{margin-bottom:6px}
[data-pick-warning]:empty{display:none}

@media(max-width:700px){.booking-grid,.pass-two{grid-template-columns:1fr}.booking-card{padding:20px}.booking-group{margin-top:28px}.booking-heading h3{font-size:1.1875rem}.booking-disclosure-wrap{padding-top:14px}.pass-compare{padding:20px}.booking-actions{gap:8px}.booking-card-top{margin-bottom:10px}.booking-grid.single .booking-card{max-width:none}}
@media print{.pick-button,.pass-choice{display:none}.booking-card{break-inside:avoid}.booking-check{display:block}}

/* Context-specific booking choices follow the route or attraction they serve. */
.context-bookings{margin:24px 0 12px;padding:18px;border:1px solid #b9cbd8;background:#f3f8fb;min-width:0}
.context-booking-title{margin:0 0 14px;font-weight:700;color:#1764a5;font-size:1rem}
.context-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.context-booking-card{min-width:0;background:#fffdf7;border:1px solid #d3dbe0;padding:16px;display:flex;flex-direction:column;align-items:flex-start}
.context-booking-card h4{font-size:1rem;line-height:1.5;margin:0 0 8px}
.context-booking-card p{font-size:.9375rem;line-height:1.7;margin:0 0 14px}
.context-booking-card .button{font-size:.875rem;line-height:1.5;white-space:normal;margin-top:auto;min-height:44px}
.context-affiliate-note{font-size:.8125rem;line-height:1.65;color:#555;margin:12px 0 0}
.tokyo-note-card .context-bookings{padding:12px;margin-bottom:0}
.tokyo-note-card .context-booking-grid{grid-template-columns:1fr}
@media(max-width:700px){.context-bookings{padding:14px 10px}.context-booking-grid{grid-template-columns:1fr}.context-booking-card{padding:14px}.context-booking-card .button{font-size:.9375rem}}

.tokyo-note-card .context-booking-card{background:transparent;border:0;padding:0}.tokyo-note-card .context-booking-grid{gap:18px}
