.holiday-wrap{max-width:1100px;margin:auto;padding:0 30px}.holiday-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:45px;align-items:center;padding:25px 0 35px}.holiday-hero h1{font:600 clamp(28px,3vw,40px)/1.6 var(--serif);margin:14px 0 23px}.holiday-hero>div>p:not(.kicker){color:var(--muted);line-height:2}.holiday-hero>div>small{display:block;margin-top:20px;color:var(--muted);font-size:11px}.route-art{background:#edf7f5;border:1px solid #d3e9e6;padding:25px;border-radius:70px 12px 12px 12px;position:relative}.route-art>.kicker{display:block;text-align:right;margin-bottom:20px}.route-art>a{display:flex;gap:15px;align-items:center;padding:12px 0;position:relative}.route-art>a>span{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:50%;background:#fff;border:1px solid #cce4df;color:var(--teal)}.route-art>a:nth-of-type(2n)>span{background:#fff8e9;border-color:#ede3cc}.route-art svg{width:27px;height:27px}.route-art strong{font-size:14px;display:block}.route-art a small{color:var(--teal);font:600 12px Georgia,serif}.route-art>small{display:block;margin-top:16px;font-size:9px;color:var(--muted)}.trip-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-block:1px solid var(--line);padding:23px 0;gap:20px}.trip-facts>div{border-right:1px solid var(--line);padding-left:15px}.trip-facts>div:last-child{border:0}.trip-facts small{display:block;color:var(--muted);font-size:11px}.trip-facts strong{font-size:24px;line-height:1.7}.trip-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 35px}.trip-actions>a,.trip-actions>button,.stop-buttons>a{padding:10px 15px;border:1px solid #bed9d9;border-radius:7px;background:white;font-size:13px;font-weight:600;color:var(--teal)}.trip-actions>a:first-child,.stop-buttons>a:first-child{background:var(--teal);color:#fff;border-color:var(--teal)}.trip-actions [aria-pressed=true]{background:#e5f3f1}.holiday-wrap section{margin-bottom:45px;scroll-margin-top:24px}.departure{background:#faf8f2;border:1px solid #eee6d8;padding:25px 30px;border-radius:12px}.departure h2{font-size:23px}.departure dl{margin:15px 0 0}.departure dl>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:8px 0;font-size:13px}.departure dt{font-weight:700;color:#7c6549}.departure dd{margin:0}.travel-note{font-size:12px;color:var(--muted);line-height:1.9}.route-strip{display:flex;border:1px solid var(--line);border-radius:10px;margin:20px 0 28px;overflow:hidden}.route-strip>a{flex:1;padding:15px 18px;border-right:1px solid var(--line);font-size:12px}.route-strip>a:last-child{border:0}.route-strip b{display:block;color:var(--teal);font:600 20px/1.5 Georgia,serif}.trip-stop{border:1px solid #dce6e6;border-top:3px solid var(--brand);border-radius:12px;padding:30px;box-shadow:0 7px 24px #123e4810;scroll-margin-top:24px}.trip-stop>header{display:flex;gap:18px;align-items:center}.trip-stop h2{font-size:26px}.trip-stop .kicker{margin-bottom:4px}.stop-icon{display:grid;place-items:center;flex-shrink:0;width:65px;height:65px;background:var(--mint);border-radius:50%;color:var(--teal)}.stop-icon svg{width:34px;height:34px}.spot-name{color:var(--teal);font-weight:600;margin-top:6px}.stop-lead{font-size:15px;line-height:2;margin:25px 0}.stop-price{background:#faf7ef;border:1px solid #eae2d4;border-radius:9px;padding:16px 20px}.stop-price>span{display:block;font-size:10px;letter-spacing:.1em;color:#79664c;margin-bottom:5px}.stop-price p{font-size:15px;font-weight:600}.stop-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:20px 0}.stop-facts>div{padding:13px 0;border-bottom:1px solid var(--line)}.stop-facts dt{font-size:11px;color:var(--muted);margin-bottom:5px}.stop-facts dd{font-size:13px;margin:0}.stop-note{font-size:13px;line-height:1.9;background:#f3f7f7;border-left:3px solid #a2c8c7;padding:13px 17px}.stop-note b{display:block;font-size:11px;margin-bottom:4px;color:var(--teal)}.stop-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 14px}.trip-sources{font-size:11px;color:var(--muted)}.trip-sources summary{cursor:pointer}.trip-sources a{text-decoration:underline}.trip-transfer{padding:21px 30px;display:flex;gap:15px;justify-content:space-between;color:var(--teal);font-size:12px}.trip-transfer>a{text-decoration:underline}.trip-budget{padding:28px;background:#f5f8f6;border-radius:12px}.trip-budget>p{font-size:13px;margin-top:15px}.trip-budget table{border-collapse:collapse;width:100%;margin:20px 0;background:white}.trip-budget caption{font-size:11px;text-align:left;margin-bottom:9px;color:var(--muted)}.trip-budget th,.trip-budget td{border-bottom:1px solid var(--line);padding:13px 17px;text-align:left;font-size:13px}.trip-budget th{font-weight:500}.trip-budget td{white-space:nowrap;text-align:right}.budget-total{background:#e0eeea}.budget-total th,.budget-total td{font-weight:700;font-size:17px}.plan-fallback{border:1px solid #e7dfcb;border-radius:10px;padding:25px;background:#fffbf0}.plan-fallback h2{font-size:23px;margin-bottom:14px}.plan-fallback p{font-size:14px;line-height:2}.trip-policy{font-size:12px;color:var(--muted)}.trip-policy h2{font-size:19px;margin-bottom:14px}.trip-policy p+p{margin-top:10px}.route-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.route-tile{border:1px solid var(--line);padding:25px;border-radius:12px;display:block}.tile-icons{display:flex;align-items:center;gap:12px;background:#eef7f5;border-radius:8px;padding:18px;margin-bottom:18px;color:var(--teal)}.tile-icons svg{width:30px;height:30px}.tile-icons span{color:#9bafaa}.route-tile h2{font-size:22px;margin:8px 0 13px}.route-tile>small,.route-tile p{font-size:12px;color:var(--muted)}.route-tile b{font-size:12px;color:var(--teal);display:block;margin-top:15px}.all-routes{display:block;text-align:center;padding:16px;background:var(--mint);border-radius:8px;color:var(--teal)}.plan-index{padding-top:45px}.plan-index h1{font:600 38px/1.6 var(--serif);margin-bottom:20px}#modal{border:1px solid var(--line);border-radius:12px;max-width:min(560px,92vw);padding:24px}#modal::backdrop{background:#0a213b66}.modal-head{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{font-size:22px}.modal-head button,.saved-item button{padding:7px;border:1px solid var(--line);border-radius:5px;background:white;font-size:12px}.saved-item{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#153f46;color:#fff;padding:12px 20px;border-radius:10px;max-width:90vw;width:max-content;font-size:12px;opacity:0;pointer-events:none;z-index:90}#toast.visible{opacity:1}
@media(max-width:700px){.holiday-wrap{padding:0 18px}.holiday-hero{grid-template-columns:1fr;gap:25px;padding-top:12px}.holiday-hero h1{font-size:28px}.holiday-hero>div>p:not(.kicker){font-size:14px}.route-art{padding:22px;border-radius:40px 10px 10px 10px}.route-art>a{padding:8px 0}.trip-facts{gap:8px;padding:15px 0}.trip-facts>div{padding-left:5px}.trip-facts strong{font-size:16px}.trip-facts small{font-size:9px}.trip-actions{gap:8px}.trip-actions>a,.trip-actions>button{padding:10px;font-size:12px}.departure{padding:20px}.departure dl>div{display:block}.departure dt{margin-bottom:4px}.holiday-wrap section{margin-bottom:32px}.route-strip{flex-direction:column}.route-strip>a{display:flex;align-items:center;gap:15px;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.route-strip b{font-size:18px;min-width:48px}.trip-stop{padding:20px 16px}.trip-stop>header{gap:12px;align-items:flex-start}.stop-icon{width:44px;height:44px}.stop-icon svg{width:25px;height:25px}.trip-stop h2{font-size:22px}.spot-name{font-size:12px}.stop-lead{font-size:14px;margin:20px 0}.stop-price{padding:14px}.stop-price p{font-size:13px}.stop-facts{grid-template-columns:1fr;gap:0;margin:15px 0}.stop-buttons{gap:8px}.stop-buttons>a{font-size:12px;padding:10px;flex:1;text-align:center}.stop-buttons>a[href^="tel:"]{flex-basis:100%;order:3}.trip-transfer{padding:18px 8px;display:block}.trip-transfer>a{display:block;margin-top:7px}.trip-budget{padding:20px 15px}.trip-budget h2{font-size:24px}.trip-budget th,.trip-budget td{padding:12px 9px;font-size:12px}.budget-total th,.budget-total td{font-size:14px}.plan-fallback{padding:20px}.route-tiles{grid-template-columns:1fr}.route-tile{padding:20px}.plan-index{padding-top:28px}.plan-index h1{font-size:30px}}
