:root{--ink:#103f42;--dark:#065a5a;--aqua:#00a1bc;--mint:#1ebcbd;--olive:#9fa137;--cream:#f9e5c8;--canvas:#f7faf9;--line:#d9e7e5;--muted:#617778;--shadow:0 22px 60px rgba(6,90,90,.12)}
@font-face{font-family:Alexandria;src:url('/assets/Alexandria.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:Alexandria,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.5}
a{color:inherit}
.wrap{width:min(1160px,calc(100% - 40px));margin:0 auto}
.site-header{height:88px;background:#fff;border-bottom:1px solid rgba(6,90,90,.1)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-actions{display:flex;align-items:center;gap:16px}
.language-switcher{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px;background:#fff}
.language-switcher button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:18px;line-height:1;padding:6px 7px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}
.language-switcher button:hover{color:var(--dark)}
.language-switcher button.is-active,.language-switcher button[aria-pressed="true"]{background:var(--dark);color:#fff}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo img{display:block;width:210px;height:auto;max-height:68px;object-fit:contain}
.tagline{font-size:14px;color:var(--dark);font-style:italic}
.staging-banner{padding:8px 20px;background:var(--cream);color:var(--dark);text-align:center;font-size:12px;font-weight:800;letter-spacing:.04em;border-bottom:1px solid #ead1aa}
.hero{padding:74px 0 90px;background:linear-gradient(110deg,#eefafa 0 54%,#fff8ee 54%)}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px;color:var(--aqua);margin-bottom:14px}
.hero h1,.page-hero h1,.confirmation h1{font-size:clamp(42px,6vw,74px);line-height:1.01;letter-spacing:-.05em;margin:0 0 24px;color:var(--dark)}
.hero h1 span{color:var(--aqua)}
.hero p{font-size:18px;color:var(--muted);max-width:530px}
.search-card{background:#fff;padding:30px;border-radius:20px;box-shadow:var(--shadow);border:1px solid #e4efed}
.trip-tabs{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}
.trip-tabs strong{color:var(--dark)}
.trip-tabs span{font-size:13px;color:var(--muted)}
label{display:flex;flex-direction:column;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid #c8dcda;border-radius:10px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit;font-size:15px;text-transform:none;letter-spacing:normal;outline:none}
textarea{min-height:104px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(0,161,188,.13)}
.route-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end}
.route-grid input{font-size:24px;font-weight:800;color:var(--dark);text-transform:uppercase}
.route-mark{padding:0 0 13px;color:var(--aqua);font-size:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:22px 0}
.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:13px 20px;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}
.primary{background:var(--aqua);color:#fff;box-shadow:0 8px 18px rgba(0,161,188,.2)}
.primary:hover{background:#008da5}
.secondary{background:#fff;border:1px solid var(--aqua);color:var(--dark)}
.full{width:100%}
.micro{font-size:12px!important;text-align:center;margin:13px 0 0!important}
.trust-strip{background:var(--dark);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:40px}
.trust-grid div{display:flex;flex-direction:column}
.trust-grid span{font-size:13px;opacity:.7}
footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.footer-nav{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.footer-nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:12px}
.footer-nav a:hover{color:var(--dark)}
.footer-separator{color:#a9b9b8}
.footer-tagline{white-space:nowrap}
.page-hero{background:#eefafa;padding:42px 0}
.page-hero.compact{padding:34px 0}
.page-hero h1{font-size:46px;margin:9px 0 5px}
.page-hero h1 span{font-size:25px;color:var(--muted);font-weight:400}
.page-hero p{margin:0;color:var(--muted)}
.back{font-size:13px;text-decoration:none;color:var(--dark)}
.results{padding:38px 0 70px}
.flight-card{display:grid;grid-template-columns:1fr 220px;border:1px solid var(--line);border-radius:16px;margin-bottom:16px;overflow:hidden;box-shadow:0 7px 24px rgba(6,90,90,.06)}
.flight-main{display:grid;grid-template-columns:1.3fr .7fr 1.2fr .7fr;align-items:center;gap:25px;padding:28px}
.carrier{display:flex;align-items:center;gap:12px}
.carrier-dot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cream);font-weight:900;color:var(--dark)}
.carrier small,.time span,.fare small,.fare span{display:block;color:var(--muted);font-size:12px}
.time b{font-size:22px}
.flight-line{text-align:center}
.flight-line i{display:block;height:1px;background:var(--line);position:relative;margin:8px}
.flight-line i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--aqua)}
.flight-line span{font-size:12px;color:var(--dark)}
.fare{background:#f8fbfa;border-left:1px solid var(--line);padding:25px;display:flex;flex-direction:column;justify-content:center}
.fare strong{font-size:28px;color:var(--dark)}
.fare .primary{margin-top:13px}
.checkout{display:grid;grid-template-columns:1fr 350px;gap:30px;padding:40px 0 70px;align-items:start}
.panel,.trip-summary,.confirmation-card,.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:20px}
.panel h2,.trip-summary h2,.admin-card h2{margin:0 0 20px;color:var(--dark)}
fieldset{border:0;padding:20px 0;margin:0;border-top:1px solid var(--line)}
legend{font-weight:900;color:var(--dark);padding-top:18px}
.trip-summary{position:sticky;top:20px;box-shadow:var(--shadow)}
.trip-summary hr{border:0;border-top:1px solid var(--line)}
.total{display:flex;justify-content:space-between;font-size:20px}
.notice{padding:15px 17px;border-radius:10px;background:var(--cream);border-left:4px solid var(--olive);font-size:14px;margin:18px 0}
.notice.error{border-color:#b84b4b;background:#fff0f0;color:#792f2f}
.confirmation{padding:70px 0;text-align:center;background:var(--canvas);min-height:calc(100vh - 150px)}
.narrow{max-width:760px}
.status-icon{display:grid;place-items:center;margin:0 auto 20px;width:60px;height:60px;border-radius:50%;background:#d8f2f0;color:var(--dark);font-size:28px}
.status-icon.done{background:var(--dark);color:#fff}
.confirmation h1{font-size:50px;margin-bottom:12px}
.confirmation>.wrap>p{color:var(--muted);font-size:17px}
.confirmation-card{text-align:left;margin:32px 0}
.route-title{font-size:33px;font-weight:900;color:var(--dark);display:flex;gap:20px;align-items:center;margin-bottom:25px}
.route-title i{color:var(--aqua);font-style:normal}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.detail-grid div{display:flex;flex-direction:column}
.detail-grid small{color:var(--muted)}
.tickets{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}
.tickets>div{display:flex;justify-content:space-between;padding:8px 0}
.empty{text-align:center;padding:60px 20px;border:1px dashed #b8cfcc;border-radius:16px}
.admin-body{background:var(--canvas)}
.admin-header{height:88px;background:#fff;color:var(--dark);border-bottom:1px solid var(--line)}
.admin-header nav{display:flex;gap:25px}
.admin-header nav a{font-size:14px;text-decoration:none;opacity:.82;font-weight:700}
.admin-header nav a:hover{opacity:1}
.admin-main{padding:40px 0 80px}
.admin-main>h1{font-size:38px;letter-spacing:-.035em;margin:0 0 30px}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}
.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column}
.metric b{font-size:38px;color:var(--dark)}
.metric.warning{border-top:4px solid var(--olive)}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.pill{display:inline-flex;border-radius:99px;padding:4px 9px;background:#dcf4f3;color:var(--dark);font-size:11px;font-weight:900;text-transform:uppercase}
.pill.danger{background:#fff0df;color:#805a11}
.muted{color:var(--muted)}
.text-link{display:inline-block;color:var(--aqua);font-weight:800;margin-top:20px;text-decoration:none}
.block{display:block}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;margin:20px 0}
table{width:100%;border-collapse:collapse;text-align:left}
th{background:var(--dark);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
th,td{padding:15px;border-bottom:1px solid var(--line);white-space:nowrap}
td a{font-weight:800;color:var(--aqua)}
.definition{display:grid;grid-template-columns:1.3fr 1fr;gap:0}
.definition span,.definition b{padding:10px 0;border-bottom:1px solid var(--line)}
.definition span{color:var(--muted)}
.sourcing-card{display:flex;justify-content:space-between;align-items:center}
.inline{display:inline-block;margin-left:8px}
.locked{background:#f2f5f4;border:1px dashed #aac2bf;padding:20px;border-radius:10px}
.traveler-private{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--line)}
.timeline{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(260px,2fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.timeline time{font-size:12px;color:var(--muted)}
@media(max-width:800px){.hero-grid,.checkout,.admin-grid{grid-template-columns:1fr}
.logo img{width:185px}
.hero{padding:40px 0}
.flight-card{grid-template-columns:1fr}
.flight-main{grid-template-columns:1fr 1fr;gap:18px}
.carrier{grid-column:1/-1}
.fare{border-left:0;border-top:1px solid var(--line)}
.trust-grid,.metric-grid{grid-template-columns:1fr}
.admin-header{height:auto;padding:15px 0}
.admin-header .nav{display:block}
.admin-header nav{overflow:auto;margin-top:12px;padding-bottom:5px}
.sourcing-card{display:block}
.inline{display:block;margin:8px 0}
.form-grid{grid-template-columns:1fr}
.tagline{display:none}
.timeline{grid-template-columns:1fr}
}
/* ---- Gate 6B search & results ---------------------------------------------------- */
.search-form{display:flex;flex-direction:column;gap:18px}
.trip-type{display:flex;gap:8px;flex-wrap:wrap}
.chip{flex-direction:row;align-items:center;gap:0;position:relative;text-transform:none;letter-spacing:normal;font-size:14px}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span,.chip.is-static{display:inline-block;padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--dark);font-weight:700;cursor:pointer;background:#fff}
.chip input:checked+span{background:var(--dark);border-color:var(--dark);color:#fff}
.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,161,188,.25)}
.route-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start}
.airport-field{position:relative}
.airport-field input{font-size:24px;font-weight:800;color:var(--dark);text-transform:uppercase;padding:11px 14px}
.airport-hint{min-height:18px;font-size:12px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.swap{margin-top:30px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--aqua);font-size:20px;cursor:pointer;line-height:1}
.swap:hover{border-color:var(--aqua);background:#eefafa}
.airport-suggestions{position:absolute;z-index:30;top:78px;left:0;right:0;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:320px;overflow:auto;text-transform:none;letter-spacing:normal}
.airport-suggestions li{display:flex;gap:12px;align-items:baseline;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink)}
.airport-suggestions li b{min-width:40px;color:var(--dark)}
.airport-suggestions li.is-active,.airport-suggestions li:hover{background:#eefafa}
.date-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.date-row.is-one-way{grid-template-columns:1fr}
.date-row.is-one-way [data-return-field]{display:none}
.travelers{border:1px solid #c8dcda;border-radius:10px;background:#fff}
.travelers summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.travelers summary::-webkit-details-marker{display:none}
.travelers summary::after{content:"▾";color:var(--aqua)}
.travelers[open] summary::after{content:"▴"}
.travelers-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}
.travelers summary b{color:var(--dark);font-size:15px}
.travelers-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:4px 14px 14px}
.travelers-panel small{font-weight:500;text-transform:none;letter-spacing:normal}
.travelers-rule{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}
.check{flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.check input{width:18px;height:18px;padding:0;accent-color:var(--aqua)}
.check small{margin-left:auto;color:var(--muted);font-weight:500}
.primary.is-busy{opacity:.8;cursor:progress}
.primary:disabled{cursor:progress}
.results-hero{padding:30px 0 26px}
.results-hero h1{font-size:clamp(30px,4.2vw,46px)}
.edit-search{margin-top:16px}
.edit-search summary{display:inline-flex;cursor:pointer;color:var(--dark);font-weight:800;font-size:14px;padding:9px 16px;border:1px solid var(--aqua);border-radius:10px;background:#fff}
.edit-search .search-card{margin-top:16px;max-width:760px}
.search-card.compact{padding:22px}
.demo-notice{display:flex;flex-direction:column;gap:2px;padding:13px 16px;margin-bottom:22px;border-radius:12px;background:var(--cream);border-left:4px solid var(--olive);font-size:13px;color:var(--dark)}
.results-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.results-main{min-width:0}
.filters{position:sticky;top:18px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.filters-head h3{margin:0;color:var(--dark);font-size:17px}
.text-button{border:0;background:none;color:var(--aqua);font:inherit;font-weight:700;cursor:pointer;padding:4px}
.filter-group{border:0;border-top:1px solid var(--line);padding:14px 0 6px;margin:0;display:flex;flex-direction:column;gap:9px}
.filter-group legend{padding:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.filter-group .check{font-size:13px}
.filter-group input[type=range]{padding:0;border:0;box-shadow:none;accent-color:var(--aqua)}
.filter-group output{font-size:13px;font-weight:700;color:var(--dark)}
.filters-toggle,.filters-close{display:none}
.results-toolbar p{margin:0 0 12px;color:var(--muted);font-size:14px}
.results-toolbar b{color:var(--dark)}
.sort-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px;background:#fff}
.sort-tab{display:flex;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;border-right:1px solid var(--line);color:var(--dark)}
.sort-tab:last-child{border-right:0}
.sort-tab b{font-size:14px}
.sort-tab small{font-size:12px;color:var(--muted)}
.sort-tab.is-active{background:#eefafa;box-shadow:inset 0 -3px 0 var(--aqua)}
.result-card{display:grid;grid-template-columns:1fr 230px;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden;background:#fff;box-shadow:0 7px 24px rgba(6,90,90,.06)}
.result-card[hidden]{display:none}
.result-legs{padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.leg{display:grid;grid-template-columns:1.35fr .7fr 1.1fr .7fr;align-items:center;gap:16px}
.leg+.leg{padding-top:14px;border-top:1px dashed var(--line)}
.leg-airline{display:flex;align-items:center;gap:11px;min-width:0}
.leg-airline b{display:block;color:var(--dark);font-size:14px}
.leg-airline small{display:block;color:var(--muted);font-size:12px}
.airline-badge{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--dark);font-weight:900;font-size:13px}
.leg-time b{display:block;font-size:20px;color:var(--ink);white-space:nowrap}
.leg-time span{font-size:12px;color:var(--muted);font-weight:700}
.rollover{font-size:11px;color:#b85c00;font-weight:800;margin-left:2px}
.leg-path{text-align:center}
.leg-path small{font-size:12px;color:var(--muted)}
.leg-path i{display:block;height:1px;background:var(--line);position:relative;margin:7px 4px}
.leg-path i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--aqua)}
.leg-path span{font-size:12px;color:#b85c00;font-weight:700}
.leg-path span.is-nonstop{color:var(--dark)}
.result-fare{grid-row:span 2;background:#f8fbfa;border-left:1px solid var(--line);padding:20px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.result-fare .price{font-size:28px;color:var(--dark);line-height:1.1}
.result-fare small,.result-fare .bag{font-size:12px;color:var(--muted)}
.result-fare .per-person{color:var(--dark);font-weight:700}
.price-breakdown{display:grid;gap:3px;margin:6px 0;font-size:12px;color:var(--muted)}
.price-breakdown span{display:flex;justify-content:space-between;gap:16px}
.price-breakdown b{color:var(--dark);font-weight:700}
.result-fare .primary{margin:10px 0 2px}
.selection-form{margin:8px 0 0;display:flex;flex-direction:column;gap:7px}.selection-form .primary{width:100%;margin-top:2px}.selection-email{font-size:10px}.selection-email input{padding:9px 10px;font-size:13px;text-transform:none;letter-spacing:normal}.selection-form .selection-note{font-size:10px;line-height:1.35;color:var(--muted)}
.result-fare .hold{font-size:11px}
.result-details{grid-column:1;border-top:1px solid var(--line);padding:0 22px}
.result-details summary{cursor:pointer;padding:11px 0;font-size:13px;font-weight:800;color:var(--aqua)}
.details-leg h4{margin:4px 0 8px;font-size:13px;color:var(--dark)}
.segments{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:2px solid var(--line)}
.segment{padding:6px 0;font-size:13px}
.segment span,.segment-times{color:var(--muted)}
.segment-times{font-size:12px}
.layover{margin:4px 0;padding:6px 10px;border-radius:8px;background:var(--cream);font-size:12px;color:var(--dark);font-weight:700}
.details-note{font-size:12px;color:var(--muted);margin:0 0 14px}
.state{text-align:center;padding:46px 24px;border:1px solid var(--line);border-radius:16px;background:var(--canvas)}
.state h2{margin:0 0 8px;color:var(--dark)}
.state p{margin:0 auto 18px;max-width:520px;color:var(--muted)}
.state-actions{display:flex;justify-content:center;gap:12px}
.ranking-note{font-size:12px;color:var(--muted);margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.summary-leg{padding:12px 0;border-bottom:1px solid var(--line)}
.summary-leg .eyebrow{margin:0 0 4px;font-size:11px}
.summary-route{margin:0 0 3px;font-size:15px}
.summary-leg small,.summary-meta{font-size:12px;color:var(--muted)}
.summary-meta{margin:12px 0 0}
legend small{font-weight:500;color:var(--muted);font-size:12px;margin-left:6px}
.confirmation-trip{max-width:560px;margin:0 auto 20px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 22px 16px}
@media (max-width:900px){
  .hero{padding:40px 0 50px;background:linear-gradient(180deg,#eefafa 0 55%,#fff8ee 55%)}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .results-layout{grid-template-columns:1fr}
  .filters{display:none}
  .filters.is-open{display:block;position:fixed;inset:0;z-index:50;border-radius:0;overflow:auto;padding:22px 20px 90px}
  .filters.is-open .filters-close{display:flex;position:fixed;left:20px;right:20px;bottom:16px;width:auto}
  .filters-toggle{display:inline-flex;margin-bottom:12px}
  body.filters-open{overflow:hidden}
  .sort-tabs{grid-template-columns:repeat(2,1fr)}
  .sort-tab:nth-child(2){border-right:0}
  .sort-tab:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .result-card{grid-template-columns:1fr}
  .result-fare{grid-row:auto;border-left:0;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}
  .result-fare .primary{margin:6px 0 0;width:100%}
  .result-details{grid-column:auto}
  .checkout{grid-template-columns:1fr}
  .trip-summary{position:static}
}
@media (max-width:560px){
  .wrap{width:calc(100% - 28px)}
  .site-header{height:72px}
  .logo img{width:168px}
  .tagline{display:none}
  .search-card{padding:20px}
  .route-row{grid-template-columns:1fr;gap:6px}
  .swap{margin:0 auto;transform:rotate(90deg)}
  .airport-suggestions{top:74px}
  .date-row{grid-template-columns:1fr 1fr}
  .travelers-panel{grid-template-columns:1fr 1fr}
  .leg{grid-template-columns:auto 1fr auto;grid-template-areas:"air air air" "dep path arr";row-gap:8px}
  .leg-airline{grid-area:air}
  .leg-time:nth-of-type(2){grid-area:dep}
  .leg-path{grid-area:path}
  .leg-time:last-child{grid-area:arr;text-align:right}
  .leg-time b{font-size:18px}
  .result-legs{padding:16px}
  .trust-grid{grid-template-columns:1fr;gap:14px}
  .footer-row{flex-direction:column;gap:10px;text-align:center}.footer-nav{gap:10px 14px}.footer-tagline{white-space:normal}
}
/* Grid and form tracks may shrink below their content's intrinsic width (e.g. native date inputs). */
.hero-grid>*,.route-row>*,.date-row>*,.travelers-panel>*,.results-layout>*{min-width:0}
.search-form input,.search-form select{min-width:0}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.results-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:360px){.date-row{grid-template-columns:1fr}}
@media (max-width:900px){.checkout .trip-summary{order:-1}}
/* Editorial, legal and support surfaces used by the production cutover. */
.page-hero.compact{padding:56px 0 42px;background:linear-gradient(135deg,#edfafa,#fff8ee)}
.page-hero.compact h1{max-width:760px;margin:6px 0 12px;color:var(--dark);font-size:clamp(34px,5vw,56px)}
.page-hero.compact p{max-width:650px;margin:0;color:var(--muted);font-size:18px;line-height:1.6}
.narrow{max-width:760px}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:40px 0 62px}
.content-card{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(6,90,90,.06)}
.content-card h2{margin:8px 0;color:var(--dark);font-size:20px;line-height:1.28}.content-card h2 a{color:inherit;text-decoration:none}.content-card h2 a:hover{text-decoration:underline}
.content-card p{margin:0 0 16px;color:var(--muted);line-height:1.55}.text-link{margin-top:auto;color:var(--aqua);font-weight:800;text-decoration:none}
.content-date{margin:0;color:var(--muted);font-size:13px;font-weight:700}.content-article{padding:62px 0 74px}.content-article h1{margin:6px 0 4px;color:var(--dark);font-size:clamp(34px,5vw,54px)}.content-article p{color:var(--ink);font-size:17px;line-height:1.75}.content-article .content-date{margin:0 0 30px}
.contact-list{display:grid;gap:6px;margin-top:25px;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--line)}.contact-list .primary{justify-self:start}.contact-list p{font-size:15px}.contact-list b{color:var(--dark)}
/* Round launcher sized like the Crisp bubble (60px, 24px from the edge) and stacked above it. */
.support-float{position:fixed;right:24px;bottom:98px;z-index:20;width:60px;height:60px;border-radius:50%;padding:0;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(37,211,102,.32);display:inline-flex;align-items:center;justify-content:center;border:0}
.support-float:hover{background:#1ebe5d;transform:translateY(-1px)}
.whatsapp-icon{width:32px;height:32px;flex:0 0 32px;display:block}
.support-float:focus-visible{outline:3px solid #128C7E;outline-offset:3px}
.analytics-consent{position:fixed;z-index:40;right:18px;bottom:18px;width:min(420px,calc(100% - 36px));padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.analytics-consent p{margin:0 0 12px;color:var(--ink);line-height:1.45}.analytics-consent div{display:flex;justify-content:flex-end;gap:10px}.analytics-consent button{font:inherit}
@media (max-width:900px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.content-grid{grid-template-columns:1fr;padding:28px 0 48px}.content-article{padding:42px 0 55px}.page-hero.compact{padding:42px 0 32px}.support-float{right:14px;bottom:86px;width:56px;height:56px}.analytics-consent{right:14px;bottom:14px;width:calc(100% - 28px)}}
/* Waiting game (search PROCESSING only). Static panel by default; the canvas replaces it via JS. */
.wait-game{margin:22px auto 0;max-width:360px}
/* On phones the searching block sits below the route hero; keep the whole board on one screen. */
@media (max-width:560px){.wait-game{margin-top:14px}.wait-game-canvas{width:min(100%,360px,calc((100svh - 230px) * .75));min-width:min(210px,100%);margin:0 auto}body.wait-game-active .support-float{display:none}}
.wait-game-canvas{display:block;width:100%;height:auto;aspect-ratio:3/4;border-radius:16px;background:#00A1BC;touch-action:none;box-shadow:0 10px 28px rgba(6,90,90,.22);cursor:pointer}
.wait-game-canvas[hidden],.wait-game-static[hidden]{display:none}
.wait-game-static{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;border-radius:16px;background:#F9E5C8}
.wait-game-static p{margin:0;color:#065A5A}.wait-game-static [data-game-play]{min-height:44px;margin-top:8px;touch-action:manipulation}
.wait-game-controls{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin:10px auto 0;max-width:320px}
.wait-game-controls button{min-height:48px;border:1px solid #087b86;border-radius:12px;background:#fff;color:var(--dark);font:800 15px Alexandria,sans-serif;touch-action:manipulation;box-shadow:0 3px 10px rgba(6,90,90,.12)}
.wait-game-controls button[data-game-action="fire"]{background:var(--orange);border-color:var(--orange);color:var(--dark)}
.wait-game-controls button:active{transform:translateY(1px);box-shadow:none}.wait-game-controls button:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}
.wait-game-options{display:flex;justify-content:center;gap:10px;margin:8px auto 0}.wait-game-options button{min-height:40px;padding:7px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--dark);font:700 13px Alexandria,sans-serif;touch-action:manipulation}.wait-game-options button:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}.wait-game-options button[hidden]{display:none}
.wait-game-hint{margin:10px 0 0;font-size:.85rem;color:var(--muted);text-align:center}
.wait-game-score{margin:6px 0 0;font-size:.9rem;font-weight:600;color:var(--dark);text-align:center}


/* Independent provider selection: this never starts an unrequested second search. */
.dual-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.dual-source-actions .primary{min-height:52px;text-align:center}
@media(max-width:560px){.dual-source-actions{grid-template-columns:minmax(0,1fr)}}

/* Opt-in progressive dual-supplier results, one customer-facing search button. */
.combined-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.combined-status{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:18px;border-radius:14px;background:#fff}
.combined-status strong{font-size:17px}
.combined-status [data-source-message]{color:var(--muted)}
.combined-source-label{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
[data-combined-cards]>.result-card{margin-bottom:14px}
/* The regular result grid reserves 260px for a filter sidebar. Combined results
 * have NO filter sidebar: without this override the only child occupies that
 * 260px track and the full flight card overflows/clips its route and prices. */
[data-combined-results] .results-layout{grid-template-columns:260px minmax(0,1fr);gap:28px;width:100%}
[data-combined-results] .results-main,
[data-combined-results] [data-combined-cards]{min-width:0;width:100%}
[data-combined-results] .result-card{box-sizing:border-box;min-width:0;max-width:100%}
[data-combined-waiting][hidden]{display:none!important}
@media(max-width:560px){.combined-progress{grid-template-columns:1fr}}

/* Classic result columns and controls restored for the progressive two-job view only. */
[data-combined-results] [data-combined-filters][hidden],
[data-combined-results] [data-combined-toggle][hidden],
[data-combined-results] [data-combined-toolbar][hidden],
[data-combined-results] [data-combined-sorts][hidden],
[data-combined-results] [data-combined-no-match][hidden],
[data-combined-results] [data-combined-ranking][hidden]{display:none!important}
[data-combined-results] .sort-tab{cursor:pointer}
@media(max-width:900px){
  [data-combined-results] .results-layout{grid-template-columns:minmax(0,1fr)}
}
