/* Complete-getaway result cards: travel there → destination stay → travel home. */
.results-tools{display:flex;align-items:center;gap:24px}.calendar-jump{font-size:13px;color:#d8e8ff;text-underline-offset:4px;white-space:nowrap}.results-heading{scroll-margin-top:24px}.results-heading:focus{outline:none}.fare-calendar{margin-top:28px;scroll-margin-top:24px}
.has-search-results .intro{margin-bottom:22px}.has-search-results .intro h1{font-size:28px;letter-spacing:-1px;margin:0}.has-search-results .intro h1 br{display:none}.has-search-results .intro h1 br::after{content:' '}.has-search-results .intro .eyebrow,.has-search-results .intro p,.has-search-results .stamp{display:none}.has-search-results .workspace{grid-template-columns:minmax(0,1fr)}.has-search-results .workspace>aside{display:none}.has-search-results .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.trip-card{display:flex;flex-direction:column;box-shadow:0 4px 18px #10233f12}.trip-card .card-top{padding:23px 24px 18px;flex:1}.trip-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trip-card h3{font-size:26px;line-height:1.2;letter-spacing:-.8px;overflow-wrap:anywhere}.trip-card h3>span{display:inline-block;font:600 12px 'DM Sans',sans-serif;color:var(--muted);letter-spacing:.5px;vertical-align:middle;margin-left:4px}.trip-origin{margin:4px 0 0;font-size:11px;color:var(--muted)}.trip-card .save{position:static;flex-shrink:0;width:auto;min-width:0;height:36px;border-radius:999px;padding:0 11px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:750;line-height:1;color:#2459a8;background:#fff;border-color:#c7d7e9;margin-top:-2px}.trip-card .save span{font-size:14px;line-height:1}.trip-card .save:hover{border-color:#f28c28;color:#b85b00;background:#fffaf5}.trip-card .save.on{width:36px;height:36px;padding:0;justify-content:center;border-radius:8px;background:#fffaf5;border-color:#f28c28;color:#b85b00}.trip-card .save.on span{font-size:17px;font-weight:700}.trip-total{display:flex;flex-direction:column;margin:12px 0 17px;gap:1px}.trip-total>strong{font:800 clamp(34px,3.4vw,44px)/1.1 Manrope,sans-serif;letter-spacing:-1.8px;color:#1e55a5;font-variant-numeric:tabular-nums}.trip-total>strong>span{font-size:22px;letter-spacing:-.5px}.trip-price-caption{font-size:13px;font-weight:600;color:var(--ink);margin-top:4px}.trip-price-caption>span{font-size:12px;font-weight:400;color:var(--muted)}
.trip-story{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;margin-top:2px}.trip-journey{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;position:relative;padding:10px 0}.journey-marker{width:9px;height:9px;border:2px solid #7e9cc1;border-radius:50%;background:#fff;margin:6px 0 0 4px;z-index:1}.trip-journey.outbound:after,.trip-destination-stay:after{content:'';position:absolute;left:8px;top:25px;bottom:-8px;width:1px;background:#cbd8e8}.journey-content{min-width:0}.journey-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px}.journey-label>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.55px;color:var(--muted)}.journey-label time{font-size:11px;color:var(--muted)}.journey-route{font-size:14px;line-height:1.35}.journey-route>span,.journey-times span{color:#7c93af;margin:0 3px}.journey-times{margin-top:4px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.journey-times>strong{font-size:17px;line-height:1.3;font-variant-numeric:tabular-nums}.arrival-day{font-size:10px;font-weight:500;color:var(--muted);text-align:right}.trip-journey p{margin:3px 0 0;font-size:11px;line-height:1.45;color:var(--muted)}
.trip-destination-stay{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;position:relative;margin:1px -8px;padding:13px 8px;border:1px solid #c7d9ef;border-radius:10px;background:#f0f6ff}.card-stay-pin{font-size:12px;color:#1e55a5;margin:3px 0 0 2px;z-index:1}.card-stay-content{display:flex;flex-direction:column;min-width:0}.card-stay-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.65px;color:#54779f}.card-stay-content>strong{font:800 19px/1.25 Manrope,sans-serif;color:#173e73;margin-top:1px}.card-stay-dates{font-size:12px;line-height:1.45;color:var(--ink);margin-top:2px}.card-stay-time{display:flex;align-items:baseline;gap:5px;font-size:11px;color:#54708f;margin-top:5px}.card-stay-time>strong{font-size:13px;color:#1e55a5}.estimated-trip .trip-destination-stay{background:#f5f8fc;border-color:#d7e0eb}.estimated-trip .card-stay-pin,.estimated-trip .card-stay-content>strong{color:#415e7f}.estimated-trip .card-stay-kicker{color:#71849b}
.trip-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;min-height:25px}.trip-metrics .badge{font-size:11px;padding:5px 8px;line-height:1.3;white-space:nowrap;background:#edf3fb}.trip-metrics .fare-tag{background:#dbeafe;color:#1e4e93}.trip-metrics .estimate-tag{background:#f2f4f7;color:#5f6f82}.trip-card .card-bottom{display:block;padding:16px 24px 18px}
.best-value-sort .sort-label select{border-color:#d6b64c;background:#fff8dc;box-shadow:0 0 0 2px #f2d56c38}.trip-card.best-value-card{border-color:#d8c06a;box-shadow:0 8px 26px #6b571b1c}.best-value-callout{display:flex;align-items:flex-start;gap:9px;margin:-4px 0 15px;padding:9px 10px;border:1px solid #ead894;border-radius:9px;background:#fffaf0}.best-value-mark{flex:0 0 auto;font-size:9px;font-weight:900;letter-spacing:.55px;color:#6d5714;background:#f7df75;border-radius:999px;padding:4px 7px}.best-value-callout p{margin:1px 0 0;font-size:11px;line-height:1.45;color:#635a3b}.trip-card.best-value-card:hover{border-color:#c8aa45;box-shadow:0 12px 30px #5e4b161f}.trip-actions{display:flex;gap:10px;align-items:stretch}.trip-actions>a,.trip-actions>button{flex:1;min-height:44px;text-align:center;padding:12px 10px;text-decoration:none;font-size:13px;white-space:nowrap}.estimated-actions{flex-wrap:wrap}.estimated-actions .destination-dates{flex:0 0 100%;min-height:auto;padding:5px 0;text-align:left}.trip-card .card-bottom p{font-size:11px;line-height:1.6;margin:11px 0 0}.trip-card .card-bottom p>span{color:#6a7d94}.trip-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0c1d3326}.destination-dates{font-size:12px;margin-top:10px;padding:6px 0;text-align:left;color:#2459a8}
@media(min-width:1350px){.has-search-results .cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.has-search-results .cards{grid-template-columns:minmax(0,1fr);gap:18px}.results-tools{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap}.results-tools .sort-label{font-size:11px;gap:6px;margin-left:auto}.results-tools select{font-size:12px;width:auto;max-width:165px}.has-search-results .intro h1{font-size:23px}.trip-card .card-top{padding:20px 20px 15px}.trip-card .card-bottom{padding:15px 20px 17px}.trip-total>strong{font-size:40px}.trip-card h3{font-size:25px}.calendar-jump{font-size:12px}.trip-actions{flex-wrap:wrap}.trip-actions>a,.trip-actions>button{min-width:calc(50% - 5px)}.journey-label{align-items:flex-start}.trip-destination-stay{margin-left:-5px;margin-right:-5px;padding-left:5px;padding-right:5px}}
@media(max-width:420px){.trip-actions>a,.trip-actions>button{flex-basis:100%}.journey-times{flex-direction:column;gap:1px}.arrival-day{text-align:left}.card-stay-time{display:block}.card-stay-time>strong{display:inline}}
@media(prefers-reduced-motion:reduce){.trip-card{transition:none}.trip-card:hover{transform:none}}
.anywhere-hint{color:#c2cede;font-size:13px;line-height:1.6;margin:14px 0 0}.discovery-status{background:#edf3fb;border:1px solid #c3d2e6;padding:16px 20px;border-radius:10px;display:flex;align-items:center;gap:20px;margin-bottom:22px}.discovery-status p{font-size:13px;line-height:1.6;margin:0;flex:1}.discovery-status button{flex-shrink:0}.discovery-status[hidden],.anywhere-hint[hidden],.calendar-jump[hidden],#fareCalendar[hidden]{display:none}@media(max-width:600px){.discovery-status{flex-direction:column;align-items:stretch;gap:12px}}


/* Compact local trip suggestions above the fare calendar. */
.worth-look{margin:18px 0 14px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.worth-look[hidden]{display:none}.worth-look-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:11px}.worth-look-head h2{font-size:20px;margin:2px 0 0}
.worth-look-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.worth-look-card{text-align:left;border:1px solid #d9e3ed;border-radius:11px;background:#f8fafc;color:var(--ink);padding:12px;display:grid;gap:5px;cursor:pointer}.worth-look-card:hover,.worth-look-card:focus-visible{background:#f0f5fa;border-color:#9db6d0;outline:none}.worth-look-labels{display:flex;flex-wrap:wrap;gap:5px}.worth-look-labels span{font-size:9px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;color:#245b54;background:#e6f2ee;border-radius:999px;padding:3px 6px}.worth-look-destination{font-size:16px}.worth-look-destination span,.worth-look-dates,.worth-look-stay,.worth-look-card small{color:var(--muted)}.worth-look-destination span{font-size:12px}.worth-look-dates{font-size:12px}.worth-look-stay{font-size:11px;font-weight:600}.worth-look-price{font-size:15px}.worth-look-card small{font-size:11px;line-height:1.35}
@media(max-width:800px){.worth-look-grid{grid-template-columns:1fr}.worth-look{padding:14px 12px}}


/* Visual Language V2 — small additive travel cues, original card palette preserved. */
.results-heading h2::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--brand-orange);vertical-align:3px}
.trip-card{position:relative}
.trip-card::before{content:"";position:absolute;top:0;left:24px;width:34px;height:3px;border-radius:0 0 4px 4px;background:var(--brand-orange);z-index:2}
.card-stay-kicker::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--brand-orange);margin-right:6px;vertical-align:1px}

/* Shortlist V2 — trip-first comparison workspace, not a table. */
body.shortlist-view .results-heading{padding:18px 20px;border:1px solid #526b88;border-radius:14px;background:#2a405d}
body.shortlist-view .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.shortlist-card{--shortlist-orange:#f28c28;--shortlist-orange-ink:#bf5a00;--shortlist-warm:#fffaf5;position:relative;display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,#fffaf6 0,#fff 30%);border-color:#d8e0ea;box-shadow:0 7px 24px #0c1d3320}
.shortlist-card::before{content:"";position:absolute;top:0;left:24px;width:46px;height:4px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,var(--shortlist-orange),var(--brand-orange));z-index:2}
.shortlist-card .card-top{padding:22px 22px 17px;flex:1}.shortlist-card .save{margin-top:-2px}
.shortlist-card .trip-total{margin:11px 0 15px}.shortlist-card .trip-total>strong{font-size:36px}.shortlist-card .card-bottom{display:block;padding:15px 22px 18px}.shortlist-card .card-bottom p{font-size:11px;line-height:1.55;margin:10px 0 0}
.shortlist-cues{display:flex;flex-wrap:wrap;gap:6px;margin:0 54px 12px 0}.shortlist-cues span{font-size:9px;font-weight:850;letter-spacing:.45px;text-transform:uppercase;color:var(--shortlist-orange-ink);background:transparent;border:1px solid var(--shortlist-orange);border-radius:999px;padding:4px 7px}
.shortlist-trip-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.9fr) minmax(0,1fr);gap:8px;align-items:stretch;margin:4px 0 14px}
.shortlist-leg,.shortlist-stay{min-width:0;border:1px solid #dce5ef;border-radius:10px;background:#f8fafc;padding:10px}
.shortlist-leg>span,.shortlist-stay>span{display:block;font-size:9px;font-weight:850;letter-spacing:.55px;text-transform:uppercase;color:#6c7e93;margin-bottom:5px}
.shortlist-strip-time{min-height:38px}.shortlist-strip-time>strong{display:block;font-size:14px;line-height:1.25;font-variant-numeric:tabular-nums}.shortlist-strip-time small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.shortlist-leg>small,.shortlist-stay>small{display:block;font-size:10px;line-height:1.35;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.shortlist-stay{background:var(--shortlist-warm);border-color:var(--shortlist-orange)}.shortlist-stay>span{color:var(--shortlist-orange-ink)}.shortlist-stay>strong{display:block;font:800 17px/1.2 Manrope,sans-serif;color:var(--shortlist-orange-ink)}.shortlist-stay>small{color:#725f2a}
.shortlist-compare-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #e1e7ef;border-radius:10px;overflow:hidden}
.shortlist-compare-metrics>div{min-width:0;padding:9px 10px;background:#fff;border-top:1px solid #edf1f5}.shortlist-compare-metrics>div:nth-child(-n+2){border-top:0}.shortlist-compare-metrics>div:nth-child(even){border-left:1px solid #edf1f5}.shortlist-compare-metrics>div.wide{grid-column:1/-1;border-left:0}
.shortlist-compare-metrics dt{font-size:9px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:#718197}.shortlist-compare-metrics dd{margin:3px 0 0;font-size:12px;font-weight:650;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}.shortlist-unavailable{font-weight:500;color:#8a97a8}
.shortlist-card .trip-actions{display:flex;gap:9px}.shortlist-card .trip-actions>a,.shortlist-card .trip-actions>button{flex:1;min-height:42px;text-align:center;text-decoration:none;white-space:nowrap}
.shortlist-card:hover{transform:translateY(-2px);border-color:#c9d6e5;box-shadow:0 12px 30px #0c1d3326}
@media(max-width:1250px){body.shortlist-view .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.shortlist-view .results-heading{padding:15px 16px}.shortlist-card .card-top{padding:20px 18px 15px}.shortlist-card .card-bottom{padding:14px 18px 17px}.shortlist-trip-strip{grid-template-columns:1fr}.shortlist-stay{order:2}.shortlist-leg.return{order:3}.shortlist-compare-metrics{grid-template-columns:1fr}.shortlist-compare-metrics>div,.shortlist-compare-metrics>div:nth-child(-n+2),.shortlist-compare-metrics>div:nth-child(even){border-left:0;border-top:1px solid #edf1f5}.shortlist-compare-metrics>div:first-child{border-top:0}.shortlist-compare-metrics>div.wide{grid-column:auto}.shortlist-cues{margin-right:0}}

/* Destination Opportunity Grouping V1 — one full representative, compact local alternatives. */
.destination-opportunity{min-width:0}
.destination-opportunity-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 2px 9px}
.destination-opportunity-head>div{display:grid;gap:2px}.destination-opportunity-head strong{font:800 16px/1.2 Manrope,sans-serif;color:#f2f6fc}.destination-opportunity-head strong span{font-size:11px;color:#b8c8db;font-weight:700}.destination-opportunity-head small,.destination-opportunity-head>span{font-size:10px;line-height:1.35;color:#b8c8db}.destination-opportunity-head>span{text-align:right;max-width:122px}
.destination-opportunity-alternatives{margin-top:9px;border:1px solid #d8e2ed;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #142d4e0a}
.destination-opportunity-alt{appearance:none;width:100%;border:0;border-top:1px solid #e7edf4;background:#fff;color:var(--ink);padding:10px 12px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(105px,.8fr) minmax(92px,.65fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer}
.destination-opportunity-alt:first-child{border-top:0}.destination-opportunity-alt:hover,.destination-opportunity-alt:focus-visible{background:#f3f7fb;outline:none}.destination-opportunity-alt>span{min-width:0;display:grid;gap:2px}.destination-opportunity-alt strong{font-size:11px;line-height:1.3;overflow-wrap:anywhere}.destination-opportunity-alt small{font-size:9px;line-height:1.3;color:var(--muted)}.destination-opportunity-alt-arrow{display:block!important;font-size:16px;color:#55708f;text-align:right}
.destination-opportunity-show-all{display:block;margin:3px auto 8px;font-size:11px;font-weight:700}
@media(max-width:700px){.destination-opportunity-head{align-items:flex-start}.destination-opportunity-head>span{display:none}.destination-opportunity-alt{grid-template-columns:minmax(0,1fr) minmax(90px,.72fr) auto}.destination-opportunity-alt>span:nth-child(2){display:none}}
