.itinerary-layout{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:24px 0 72px}.itinerary-hero{margin:0 0 28px}.itinerary-hero img{display:block;width:100%;height:min(44vh,380px);object-fit:cover;border-radius:18px;background:var(--mist)}.itinerary-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;color:var(--muted);font-size:.9rem}.itinerary-title{margin:0 0 16px;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.12;letter-spacing:-.02em}.itinerary-intro{margin:0 0 24px;font-size:1.05rem;line-height:1.55}.itinerary-layout>.affiliate-cta{margin-top:0;margin-bottom:28px}.itinerary-tip{margin:0 0 28px;padding:16px 18px;border-left:4px solid var(--pink);border-radius:0 12px 12px 0;background:var(--soft-pink)}.itinerary-tip h3{margin:0 0 6px;font-size:.95rem}.itinerary-tip p{margin:0;font-size:.92rem;line-height:1.5}.itinerary-toc{margin:0 0 36px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}.itinerary-toc h2{margin:0 0 10px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.itinerary-toc ol{margin:0;padding-left:1.25rem;line-height:1.6}.itinerary-section{margin:0 0 48px}.itinerary-section>h2{margin:0 0 12px;font-size:clamp(1.5rem,3.5vw,1.85rem);font-weight:700;letter-spacing:-.03em;line-height:1.2}.itinerary-section.place-section>h2{font-size:clamp(1.5rem,3.5vw,1.85rem)}.itinerary-section>p.lead{margin:0 0 20px;color:var(--muted);line-height:1.55}.itinerary-section.place-section>p.lead{margin-bottom:28px}.itinerary-logistics.facts{margin:0 0 24px}.itinerary-logistics.facts .fact-icon .booking-icon{display:grid;place-items:center;width:36px;height:36px;color:var(--pink)}.itinerary-logistics.facts .fact-icon .booking-icon svg{width:22px;height:22px}.itinerary-logistics-flight--arrival .booking-icon svg{transform:rotate(115deg)}.itinerary-logistics-flight--departure .booking-icon svg{transform:rotate(-65deg)}.itinerary-hub-grid{display:grid;gap:16px;align-items:stretch}@media(min-width:720px){.itinerary-hub-grid{grid-template-columns:repeat(3,1fr)}}.itinerary-hub-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.itinerary-hub-card-media{flex:none;height:168px;overflow:hidden;background:var(--mist)}.itinerary-hub-card-media img{display:block;width:100%;height:100%;object-fit:cover}.itinerary-hub-card-body{flex:1;padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.itinerary-hub-kicker{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.itinerary-hub-card-title{margin:0;font-size:1.12rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.itinerary-hub-days{margin:0;font-size:.85rem;color:var(--muted)}.itinerary-hub-card p{margin:0;font-size:.9rem;line-height:1.45}.itinerary-hub-card a.guide-link{margin-top:8px;font-size:.88rem;font-weight:600;text-decoration:none}.itinerary-overview-wrap{margin:0 0 28px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.itinerary-overview-list{list-style:none;margin:0;padding:0 16px}.itinerary-overview-list li{border-bottom:1px solid var(--line)}.itinerary-overview-list li:last-child{border-bottom:none}.itinerary-overview-list a{display:flex;align-items:flex-start;gap:14px;padding:14px 0;color:inherit;text-decoration:none}.itinerary-overview-list a:hover .itinerary-overview-copy strong{color:var(--brand)}.itinerary-overview-list img{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--mist);flex:none}.itinerary-overview-copy{min-width:0}.itinerary-overview-copy strong{display:block;color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.35}.itinerary-overview-meta{display:block;margin-top:4px;color:var(--muted);font-size:.9rem;line-height:1.4}.itinerary-table-wrap{overflow-x:auto;margin:0 0 28px;border:1px solid var(--line);border-radius:14px}.itinerary-table{width:100%;border-collapse:collapse;font-size:.9rem}.itinerary-table th,.itinerary-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.itinerary-table th{background:#fafafa;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.itinerary-table tr:last-child td{border-bottom:none}.itinerary-table td:first-child{font-weight:600;white-space:nowrap}.itinerary-hub-block{margin:0 0 48px;padding-top:24px;border-top:1px solid var(--line)}.itinerary-hub-head{margin:0 0 16px}.itinerary-hub-block-kicker{display:block;margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.itinerary-section.place-section .itinerary-hub-title{margin:0;font-size:clamp(1.28rem,2.8vw,1.52rem);font-weight:700;letter-spacing:-.025em;line-height:1.28;color:var(--ink)}.itinerary-hub-intro{margin:0 0 20px;color:var(--muted);font-size:.98rem;line-height:1.55}.itinerary-subblock h4{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.itinerary-hub-figure{margin:0 0 24px}.itinerary-hub-figure img{display:block;width:100%;border-radius:16px;aspect-ratio:16 / 9;object-fit:cover;background:var(--mist)}.itinerary-hub-map-block{margin:0 0 24px}.itinerary-hub-map{height:240px;border-radius:16px;overflow:hidden;background:var(--mist)}@media(max-width:767px){.itinerary-hub-map{height:min(320px,52vw);min-height:260px}}.itinerary-hub-map .maplibregl-canvas-container,.itinerary-hub-map .maplibregl-map{border-radius:16px}.itinerary-map-stop{display:grid;place-items:center;width:38px;height:38px;border:2.5px solid var(--pink);border-radius:50%;background:#fff;color:var(--ink);font-size:15px;font-weight:700;line-height:1;box-shadow:0 2px 8px #0000001f;pointer-events:none}.itinerary-hub-map-cta{display:inline-block;margin-top:14px;padding:12px 18px;border:none;border-radius:999px;background:var(--pink);color:#fff;font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none}.itinerary-hub-map-cta:hover{filter:brightness(1.05)}.itinerary-hub-guide{margin:0 0 56px;padding-top:32px;border-top:1px solid var(--line)}.itinerary-hub-guide .place-guide-essentials .place-section:first-child>h2{margin-top:0}.itinerary-day{margin:0 0 40px;padding:22px 20px 24px;border:1px solid var(--line);border-radius:18px;background:#fff}.itinerary-day-header{margin:0 0 20px}.itinerary-day-kicker{display:block;margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.itinerary-section.place-section .itinerary-day-header h3{margin:0;font-size:clamp(1.02rem,2.1vw,1.18rem);font-weight:700;line-height:1.3;color:var(--ink)}.itinerary-segment{margin:0 0 24px}.itinerary-segment h4{margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.itinerary-segment-lead{margin:0 0 12px;font-size:.92rem;line-height:1.5;color:var(--muted)}.itinerary-thing-cards{margin:0}.itinerary-stop-note-wrap{list-style:none;grid-column:1 / -1}.itinerary-stop-note{margin:0 0 8px;padding:10px 12px;border-radius:10px;background:#fafafa;font-size:.88rem;line-height:1.45;color:var(--ink)}.itinerary-day-extras{display:grid;gap:16px;margin:8px 0 0;padding-top:18px;border-top:1px dashed var(--line)}@media(min-width:640px){.itinerary-day-extras{grid-template-columns:1fr 1fr}}.itinerary-day-extra h4{margin:0 0 8px;font-size:.88rem;font-weight:700}.itinerary-day-extra ul{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.itinerary-day-planb{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted);line-height:1.5}.itinerary-transfer{margin:28px 0 0;padding:18px 16px;border:none;border-radius:18px;background:var(--pink);color:#fff}.itinerary-transfer h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:#fff}.itinerary-transfer p{margin:0 0 8px;font-size:.92rem;line-height:1.45;color:#fff}.itinerary-transfer p:last-child{margin-bottom:0}.itinerary-related-section .routes{margin:0}
