/* Shared trip overview: dates, overnight cities and essential travel logistics. */
.itinerary .time{font-size:18px;line-height:1.45}
.itinerary .day{border-top:0;margin-top:112px;padding-top:0}
.itinerary .trip-calendar+.day{margin-top:64px}
.itinerary .stay-note{font-size:14px;color:#536f7e;margin:12px 0 18px}
.itinerary .trip-calendar{margin:30px 0 0;padding:22px 0 0}
.itinerary .calendar-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.itinerary .calendar-heading h2{font-size:23px;color:#12354b;margin:0}
.itinerary .calendar-heading>span{color:#647b88;font-size:12px;font-weight:700;letter-spacing:.04em}
.itinerary .calendar-hint{color:#647b88;font-size:13px;margin:0 0 17px}
.itinerary .trip-calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.itinerary a.trip-day-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:15px 9px 13px;border:1px solid #c8dfe9;border-radius:8px;background:#f3f9fb;color:#174b66;text-decoration:none;box-shadow:0 2px 0 #e6eff3;transition:background .15s,border-color .15s}
.itinerary a.trip-day-card:hover{background:#e1f0f6;border-color:#87b6cd;text-decoration:none}
.itinerary .trip-day-weekday{font-size:11px;font-weight:800;letter-spacing:.05em}
.itinerary .trip-day-date{font-size:32px;font-weight:800;line-height:1.2;margin:5px 0 12px;color:#12354b}
.itinerary .trip-day-city{font-size:16px;font-weight:800;line-height:1.3}
.itinerary .trip-day-night{font-size:10px;color:#687f8d;margin:4px 0 12px}
.itinerary .trip-day-badges{display:flex;flex-direction:column;gap:5px;width:100%;margin-top:auto}
.itinerary .trip-day-badge{font-size:10px;font-weight:700;line-height:1.45;background:#dfedf5;border-radius:4px;padding:5px 3px;color:#1c5c7d}
.itinerary .trip-day-badge.meeting-badge{background:#fff1d6;color:#7b591d}
.itinerary .flight-card{border:1px solid #bfd8e6;border-radius:8px;background:#f4f9fc;padding:16px 18px;margin:13px 0 7px}
.itinerary .flight-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#587384}
.itinerary .flight-code{display:inline-block;background:#195a80;color:white;border-radius:4px;padding:3px 8px;letter-spacing:.04em;font-size:13px;font-weight:800;white-space:nowrap}
.itinerary .flight-route{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:15px 0 11px}
.itinerary .flight-endpoint{display:flex;flex-direction:column;gap:2px}.itinerary .flight-endpoint:last-child{text-align:right}
.itinerary .flight-clock{font-size:25px;font-weight:800;color:#195a80;line-height:1.2}
.itinerary .flight-airport{font-size:12px;color:#536f81}.itinerary .flight-arrow{font-size:25px;color:#195a80}
.itinerary .flight-card-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;font-size:12px;color:#536f81}
.itinerary .flight-local-note{font-size:11px;color:#647b88;margin:9px 0 0}
@media(prefers-reduced-motion:reduce){.itinerary .trip-day-card{transition:none}}
@media(max-width:700px){.itinerary .trip-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.itinerary .trip-day-card:last-child{grid-column:1/-1}.itinerary .calendar-heading{align-items:flex-start}.itinerary .calendar-heading h2{font-size:21px}.itinerary .calendar-heading>span{font-size:10px;text-align:right}.itinerary .trip-day-card{padding:14px 10px}.itinerary .trip-day-badges{max-width:230px}.itinerary .trip-day-night{font-size:11px}.itinerary .trip-day-badge{font-size:11px}.itinerary .time{font-size:17px}.itinerary .day{margin-top:96px;padding-top:0;border-top:0}.itinerary .trip-calendar+.day{margin-top:52px}.itinerary .flight-card{padding:13px 12px}.itinerary .flight-card-top{font-size:11px}.itinerary .flight-clock{font-size:23px}.itinerary .flight-airport{font-size:11px}.itinerary .flight-route{gap:8px}}
@media print{.itinerary .trip-calendar-grid{grid-template-columns:repeat(5,1fr)}.itinerary .day{margin-top:45px}.itinerary .flight-card{break-inside:avoid}}
