:root{
  --navy:#06121e;--navy2:#0a1c2e;--navy3:#0f2438;--navy4:#162f47;
  --gold:#007a8a;--gold2:#00c4d8;--gold3:#7fe3ee;--gold-lt:rgba(0,158,176,0.12);
  --red:#e8502a;--red2:#ff6b45;--green:#1e8a3e;--green2:#27ae60;
  --white:#ffffff;--mid:#8890aa;--border:rgba(0,158,176,0.18);
  --tx:0.22s cubic-bezier(0.4,0,0.2,1);
  /* Dark theme to match traveller / hotel / checkout pages */
  --card-bg:#0a1c2e;--card-bg2:#0f2438;--card-bdr:rgba(0,158,176,0.18);
  --txt1:#ffffff;--txt2:#cdd7e2;--txt3:#9fb2c2;--txt4:#7c8ba0;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;width:100%;}
body{font-family:'DM Sans',sans-serif;background:#06121e;color:var(--txt1);
     overflow-x:hidden;word-break:break-word;overflow-wrap:break-word;
     padding-top:70px;width:100%;max-width:100%;box-sizing:border-box;}

/* --- NAVBAR --- */
.navbar{position:fixed;top:0;left:0;right:0;z-index:500;height:70px;
  display:flex;align-items:center;justify-content:space-between;padding:0 48px;
  background:rgba(6,9,26,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,158,176,0.14);}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.logo-badge{background:var(--red);color:#fff;font-size:13px;font-weight:800;
  letter-spacing:1px;padding:4px 10px;border-radius:6px;}
.logo-text{font-size:20px;font-weight:700;color:#fff;letter-spacing:-0.3px;}
.logo-text span{color:var(--gold2);}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{font-size:13px;font-weight:500;color:rgba(255,255,255,0.65);
  text-decoration:none;transition:color var(--tx);}
.nav-links a:hover,.nav-links a.nav-active{color:var(--gold2);}
.nav-call{display:flex;align-items:center;gap:11px;
  background:linear-gradient(135deg,rgba(15,12,30,0.92),rgba(26,18,48,0.95));
  border:none;border-radius:100px;padding:5px 18px 5px 5px;text-decoration:none;
  transition:all 0.28s ease;flex-shrink:0;position:relative;overflow:hidden;
  box-shadow:0 0 0 1.5px rgba(0,158,176,0.7),
             0 0 0 3px rgba(0,158,176,0.12),
             0 4px 24px rgba(0,0,0,0.45),
             inset 0 1px 0 rgba(255,255,255,0.06);}
.nav-call::before{content:'';position:absolute;top:0;left:-80%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(0,158,176,0.12),transparent);
  transform:skewX(-18deg);animation:callShimmer 3.5s ease-in-out infinite;pointer-events:none;}
@keyframes callShimmer{0%{left:-80%;opacity:0}40%{opacity:1}70%{left:130%;opacity:0}100%{left:130%;opacity:0}}
.nav-call:hover{background:linear-gradient(135deg,rgba(25,18,50,0.98),rgba(40,28,70,0.98));
  box-shadow:0 0 0 1.5px rgba(232,192,106,1),0 0 0 4px rgba(0,158,176,0.2),
             0 8px 32px rgba(0,158,176,0.2),inset 0 1px 0 rgba(255,255,255,0.08);
  transform:translateY(-2px);}
.nav-call-avatar{width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#007a8a,#00c4d8);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px rgba(0,158,176,0.35),0 3px 12px rgba(0,158,176,0.5);
  position:relative;flex-shrink:0;transition:box-shadow 0.28s ease;}
.nav-call-avatar svg{width:17px;height:17px;fill:#1a0e00;flex-shrink:0;}
.nav-call-avatar::after{content:'';position:absolute;top:1px;right:1px;
  width:10px;height:10px;border-radius:50%;background:#22c55e;
  border:2px solid #0f0c1e;animation:livePulse 2s ease-in-out infinite;z-index:2;}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0.8)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.nav-call-info{display:flex;flex-direction:column;gap:3px;}
.nav-call-label{font-size:7.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(0,158,176,0.75);line-height:1;}
.nav-call-number{font-size:17px;font-weight:800;color:#00c4d8;letter-spacing:-0.3px;line-height:1;}
.nav-hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;cursor:pointer;padding:8px;width:42px;height:42px;border-radius:10px;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);}
.nav-hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;z-index:490;
  background:rgba(6,9,26,0.98);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(0,158,176,0.15);padding:20px 24px;
  flex-direction:column;gap:4px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:15px;font-weight:500;color:rgba(255,255,255,0.78);
  text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.06);}


/* -- RSF Autocomplete dropdown -- */
.rsf-drop{
  display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:#1a1f35;border:1px solid rgba(0,158,176,0.25);
  border-radius:10px;z-index:1600;max-height:220px;overflow-y:auto;
  box-shadow:0 8px 32px rgba(0,0,0,0.5);
  scrollbar-width:thin;scrollbar-color:rgba(0,158,176,0.3) transparent;
}
.rsf-drop.open{display:block;}
.rsf-drop-item{
  padding:9px 12px;font-size:12px;color:rgba(255,255,255,0.8);cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.05);transition:background 0.12s;
  display:flex;align-items:center;gap:8px;
}
.rsf-drop-item:last-child{border-bottom:none;}
.rsf-drop-item:hover,.rsf-drop-item.active{background:rgba(0,158,176,0.15);cursor:pointer;}
.rsf-drop-code{
  font-size:11px;font-weight:800;color:var(--gold2);
  background:rgba(0,158,176,0.1);border-radius:4px;padding:2px 5px;
  flex-shrink:0;
}
.rsf-drop-city{flex:1;}
.rsf-drop-country{font-size:10px;color:rgba(255,255,255,0.35);}

/* -- Pax dropdown -- */
.rsf-pax-drop{
  display:none;position:absolute;top:calc(100% + 6px);left:0;
  min-width:280px;background:var(--navy2)fff;border:1px solid #e8e4dc;
  border-radius:14px;z-index:1500;
  box-shadow:0 8px 32px rgba(0,0,0,0.22),0 2px 8px rgba(0,0,0,0.1);
  overflow:hidden;animation:rsFadeDown 0.18s ease;
}
.rsf-pax-drop.open{display:block;}
@keyframes rsFadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.rsf-pax-head{
  padding:10px 14px 8px;font-size:9px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:#9e9ab8;
  border-bottom:1px solid var(--border);background:var(--navy3);
}
.rsf-pax-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 14px;border-bottom:1px solid #f5f3ee;
}
.rsf-pax-info{display:flex;flex-direction:column;gap:2px;}
.rsf-pax-lbl{font-size:13px;font-weight:600;color:#1a1a2e;}
.rsf-pax-sub{font-size:10px;color:#9e9ab8;}
.rsf-pax-ctrl{display:flex;align-items:center;gap:12px;}
.rsf-pax-btn{
  width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);
  background:var(--navy3);color:#444;font-size:17px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all 0.15s;
}
.rsf-pax-btn:hover:not(:disabled){border-color:#e8502a;color:#e8502a;background:rgba(212,52,26,0.06);}
.rsf-pax-btn:disabled{opacity:0.25;cursor:not-allowed;}
.rsf-pax-num{font-size:15px;font-weight:700;color:#1a1a2e;min-width:18px;text-align:center;}
.rsf-pax-sep{
  padding:8px 14px 5px;font-size:9px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:#9e9ab8;
  border-bottom:1px solid var(--border);background:var(--navy3);
}
.rsf-cabin-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:10px 14px;}
.rsf-cabin-opt{
  padding:7px 8px;border-radius:8px;border:1.5px solid var(--border);
  background:var(--navy3);font-size:11px;font-weight:600;color:#6e6a88;
  cursor:pointer;text-align:center;transition:all 0.15s;
}
.rsf-cabin-opt:hover{border-color:var(--gold);color:#3a3650;}
.rsf-cabin-opt.active-cabin{background:#06121e;color:#fff;border-color:#06121e;}
.rsf-pax-done{
  display:block;width:calc(100% - 28px);margin:6px 14px 12px;
  padding:9px;background:linear-gradient(135deg,#e8502a,#ff6b45);
  color:#fff;border:none;border-radius:9px;font-size:12px;font-weight:700;
  cursor:pointer;transition:all 0.18s;
}
.rsf-pax-done:hover{box-shadow:0 4px 14px rgba(212,52,26,0.3);}

/* -- Mini Calendar -- */
.rsf-cal-overlay{
  display:none;position:fixed;inset:0;z-index:1900;
  background:rgba(6,9,26,0.5);backdrop-filter:blur(4px);cursor:pointer;
}
.rsf-cal-overlay.open{display:flex;align-items:center;justify-content:center;}
.rsf-cal-panel{
  background:var(--navy2);border-radius:18px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);width:320px;cursor:default;
}
.rsf-cal-head{
  display:flex;align-items:center;gap:6px;padding:12px 14px;
  background:linear-gradient(135deg,#1a1a2e,#2d1f3d);
}
.rsf-cal-nav{
  width:30px;height:30px;border-radius:50%;border:none;
  background:rgba(255,255,255,0.1);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all 0.15s;
  flex-shrink:0;
}
.rsf-cal-nav svg{width:14px;height:14px;color:#ffffff;}
.rsf-cal-nav:hover{background:rgba(0,158,176,0.25);}
.rsf-cal-nav:disabled{opacity:0.2;pointer-events:none;}
.rsf-cal-title{
  flex:1;text-align:center;font-family:'Playfair Display','Cormorant Garamond',serif;
  font-size:15px;font-weight:700;font-style:italic;color:#fff;
}
.rsf-cal-close{
  width:28px;height:28px;border-radius:50%;border:none;
  background:rgba(255,255,255,0.1);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background 0.15s;
  flex-shrink:0;
}
.rsf-cal-close svg{width:12px;height:12px; color:#ffffff;}
.rsf-cal-close:hover{background:rgba(212,52,26,0.5);}
.rsf-cal-dow{
  display:grid;grid-template-columns:repeat(7,1fr);
  background:var(--navy3);border-bottom:1px solid #ece9f5;
}
.rsf-cal-dow span{
  text-align:center;padding:6px 0;font-size:9px;font-weight:700;
  letter-spacing:0.5px;text-transform:uppercase;color:#9e9ab8;
}
.rsf-cal-days{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 6px 6px;}
.rsf-cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:500;cursor:pointer;border-radius:50%;
  transition:all 0.12s;color:#0d0b1a;margin:1px;
}
.rsf-cal-day:hover{background:#d0e3e7;}
.rsf-cal-day.past{color:#c8c5d8;pointer-events:none;}
.rsf-cal-day.sel{
  background:linear-gradient(135deg,#e8502a,#ff6b45);
  color:#fff;font-weight:700;
}
.rsf-cal-day.today{font-weight:800;color:#e8502a;}
.rsf-cal-day.empty{pointer-events:none;}
.rsf-cal-foot{padding:10px 14px;border-top:1px solid var(--border);background:var(--navy3);}
.rsf-cal-info{font-size:11px;font-weight:600;color:#6e6a88;}

/* --- SEARCH BAR --- */
.search-bar-wrap{background:var(--navy2);border-bottom:1px solid rgba(0,158,176,0.15);
  position:fixed;top:70px;z-index:400;box-shadow:0 4px 24px rgba(0,0,0,0.3);
  width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;}
.results-wrap{scroll-margin-top:130px;}
/* Clear sticky bars when scrolled */
.sbc{max-width:100%;width:100%;margin:0 auto;display:flex;align-items:center;
  padding:0 20px;gap:10px;cursor:pointer;height:52px;max-height:52px;
  overflow:hidden;flex-wrap:nowrap;}
.sbc-route{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;}
.sbc-city{font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.sbc-arrow{color:var(--gold2);font-size:13px;flex-shrink:0;}
.sbc-meta{font-size:11px;color:var(--mid);white-space:nowrap;
  padding-left:10px;border-left:1px solid rgba(255,255,255,0.1);margin-left:4px;
  overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0;}
.sbc-edit{font-size:11px;font-weight:700;color:var(--gold2);
  background:rgba(0,158,176,0.1);border:1px solid rgba(0,158,176,0.25);
  border-radius:20px;padding:5px 14px;white-space:nowrap;flex-shrink:0;transition:all 0.18s;}
.sbc-edit:hover{background:rgba(0,158,176,0.2);}
.sbe{max-width:100%;width:100%;margin:0 auto;padding:14px 16px 16px;display:none;overflow:visible;box-sizing:border-box;}
/* When expanded, search bar needs to not clip its children */
.search-bar-wrap.expanded{overflow:visible !important;z-index:450;}
.sbe.open{display:block;}
.rsf-grid{display:grid;grid-template-columns:1fr 36px 1fr 120px 120px auto auto;gap:8px;align-items:end;}
.rsf-field{display:flex;flex-direction:column;gap:4px;}
.rsf-lbl{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.rsf-wrap{position:relative;}
.rsf-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;z-index:1;}
.rsf-inp{height:44px;padding:0 0px 0 36px;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);
  border-radius:10px;color:#fff;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;
  outline:none;transition:all 0.18s;width:100%;}
.rsf-inp:focus{background:rgba(255,255,255,0.12);border-color:var(--gold);}
.rsf-inp::placeholder{color:rgba(255,255,255,0.3);}
.rsf-swap{width:36px;height:44px;border-radius:10px;background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);color:var(--gold2);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all 0.18s;align-self:end;}
.rsf-swap:hover{background:rgba(0,158,176,0.15);}
.rsf-btn{height:44px;padding:0 20px;background:linear-gradient(135deg,var(--red),var(--red2));
  border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;white-space:nowrap;transition:all 0.18s;
  box-shadow:0 3px 12px rgba(212,52,26,0.3);}
.rsf-btn:hover{box-shadow:0 5px 18px rgba(212,52,26,0.45);transform:translateY(-1px);}





/* --- FARE MATRIX TABLE --- */
.fare-matrix-wrap{
  background:var(--card-bg);
  border:1.5px solid var(--card-bdr);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:10px;
  width:100%;box-sizing:border-box;
}
.fare-matrix-note{
  padding:10px 14px;
  background:var(--navy3);
  border-bottom:1px solid var(--card-bdr);
  font-size:11px;color:var(--txt3);line-height:1.5;
}
.fare-matrix-note b{color:var(--txt1);}
.fare-matrix-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--card-bdr);
  background:var(--card-bg2);user-select:none;
}
.fmt-toggle-lbl{
  font-size:12px;font-weight:700;color:var(--txt1);
  display:flex;align-items:center;gap:7px;
}
.fmt-toggle-lbl span{font-size:16px;}
.fmt-toggle-arrow{
  font-size:11px;color:var(--txt3);
  transition:transform 0.22s;display:inline-block;
}
.fare-matrix-toggle.open .fmt-toggle-arrow{transform:rotate(180deg);}
.fare-matrix-body{
  display:none;overflow-x:auto;-webkit-overflow-scrolling:touch;
  max-width:100%;
}
.fare-matrix-body.open{display:block;}
/* Table */
.fmt{
  width:100%;border-collapse:collapse;min-width:480px;
}
.fmt th,.fmt td{
  padding:10px 12px;text-align:center;vertical-align:middle;
  border-bottom:1px solid var(--card-bdr);
  border-right:1px solid var(--card-bdr);
  font-size:11px;
}
.fmt th:last-child,.fmt td:last-child{border-right:none;}
.fmt tr:last-child td{border-bottom:none;}
/* Header row */
.fmt thead tr{background:var(--navy3);}
.fmt-al-header{
  display:flex;flex-direction:column;align-items:center;gap:5px;
}
.fmt-al-logo{
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;
}
.fmt-al-name{
  font-size:10px;font-weight:600;color:var(--txt2);line-height:1.2;
}
/* Row label cell */
.fmt-row-lbl{
  font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--txt4);text-align:left;padding-left:14px;
  background:var(--navy3);border-right:1px solid var(--card-bdr);
  white-space:nowrap;
}
.fmt-row-lbl.nonstop{color:#16a34a;}
.fmt-row-lbl.one-stop{color:#d97706;}
/* Price cells */
.fmt-price{cursor:pointer;transition:background 0.14s;}
.fmt-price:hover{background:#06121e;}
.fmt-price-amt{
  font-size:12px;font-weight:700;color:var(--txt1);display:block;
}
.fmt-price-amt.best{color:var(--red);font-size:13px;}
.fmt-price-lbl{
  font-size:9px;color:var(--txt4);display:block;margin-top:1px;
}
.fmt-price-usd{
  font-size:9px;color:var(--txt4);
}
.fmt-empty{color:var(--txt4);font-size:16px;}
.fmt-header-row th:first-child{
  text-align:left;padding-left:14px;font-size:9px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;color:var(--txt4);
  background:var(--navy3);
}
/* Highlight best price */
.fmt-price.highlight-best{
  background:rgba(212,52,26,0.04);
}

/* --- RESULTS LAYOUT --- */
.results-wrap{max-width:1200px;width:100%;margin:0 auto;padding:90px 16px 60px;box-sizing:border-box;
  display:grid;grid-template-columns:220px 1fr 200px;gap:14px;
  align-items:start;align-content:start;
  scroll-margin-top:130px;}
.sticky-spacer{height:0;}

/* --- RESULTS HEADER --- */
.results-header{grid-column:1/-1;align-self:start;display:flex;align-items:flex-start;
  justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:10px;
  scroll-margin-top:130px;}
.rh-title{font-family:'Playfair Display','Cormorant Garamond',serif;font-size:22px;font-weight:700;
  color:var(--txt1);letter-spacing:-0.3px;line-height:1.1;}
.rh-meta{font-size:12px;color:var(--txt3);margin-top:3px;}
.rh-count{font-size:12px;font-weight:600;color:var(--txt3);}
.rh-count b{color:var(--red);}
.sort-tabs{display:flex;gap:5px;flex-wrap:wrap;}
.sort-tab{font-size:11px;font-weight:600;padding:6px 14px;border-radius:20px;
  border:1.5px solid var(--card-bdr);background:var(--card-bg);color:var(--txt3);
  cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.sort-tab:hover{border-color:var(--gold);color:var(--txt2);}
.sort-tab.active{background:var(--navy);color:#fff;border-color:var(--navy);}

/* --- FILTER PANEL --- */
.filter-panel{background:var(--card-bg);border-radius:14px;
  border:1px solid var(--card-bdr);overflow:hidden;
  position:sticky;top:130px;display:block;
  align-self:start;
  max-height:calc(100vh - 140px);overflow-y:auto;}
.fp-head{padding:12px 14px;border-bottom:1px solid var(--card-bdr);
  display:flex;align-items:center;justify-content:space-between;}
.fp-title{font-size:12px;font-weight:700;color:var(--txt1);}
.fp-reset{font-size:11px;font-weight:600;color:var(--red);background:none;border:none;cursor:pointer;}
.filter-section{padding:12px 14px;border-bottom:1px solid var(--card-bdr);}
.filter-section:last-child{border-bottom:none;}
.fs-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--txt4);margin-bottom:8px;}
.stop-pills{display:flex;gap:4px;}
.stop-pill{flex:1;text-align:center;padding:6px 2px;border-radius:7px;
  border:1.5px solid var(--card-bdr);background:var(--card-bg2);
  font-size:11px;font-weight:600;color:var(--txt3);cursor:pointer;transition:all 0.15s;}
.stop-pill.active{background:var(--red2);color:#fff;border-color:var(--navy);}
input[type=range]{width:100%;height:4px;-webkit-appearance:none;
  background:linear-gradient(to right,var(--red) 70%,#ddd 70%);
  border-radius:2px;outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;
  width:16px;height:16px;background:var(--red);border-radius:50%;
  border:2px solid #fff;box-shadow:0 2px 8px rgba(212,52,26,0.4);}
.range-labels{display:flex;justify-content:space-between;font-size:10px;
  color:var(--txt4);margin-top:5px;}
.airline-list{display:flex;flex-direction:column;gap:7px;}
.airline-item{display:flex;align-items:center;gap:8px;cursor:pointer;}
.airline-cb{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--card-bdr);
  background:var(--card-bg);flex-shrink:0;display:flex;align-items:center;justify-content:center;
  transition:all 0.15s;font-size:9px;}
.airline-item.checked .airline-cb{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;}
.airline-logo{width:24px;height:24px;border-radius:5px;display:flex;align-items:center;
  justify-content:center;font-size:8px;font-weight:800;flex-shrink:0;}
.airline-name{font-size:11px;font-weight:500;color:var(--txt2);}
.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.time-pill{padding:7px 4px;border-radius:7px;border:1.5px solid var(--card-bdr);
  background:var(--card-bg2);text-align:center;cursor:pointer;transition:all 0.15s;}
.time-pill.active{background:var(--navy);border-color:var(--red2);}
.time-pill-icon{font-size:14px;display:block;margin-bottom:2px;}
.time-pill-lbl{font-size:9px;font-weight:600;color:var(--txt3);}
.time-pill.active .time-pill-lbl{color:#252525;}

/* --- FLIGHT CARD --- */
.flights-list{display:flex;flex-direction:column;gap:16px;}
.flight-card{background:var(--card-bg);border:1.5px solid var(--card-bdr);
  border-radius:14px;overflow:hidden;transition:all 0.2s ease;
  cursor:pointer;position:relative;width:100%;box-sizing:border-box;}
.flight-card:hover{border-color:var(--gold);box-shadow:0 6px 28px rgba(100,80,180,0.14),0 1px 4px rgba(0,0,0,0.05);transform:translateY(-2px);}
.flight-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(0,158,176,0.12);}
.fc-badge{position:absolute;top:0;right:0;font-size:9px;font-weight:700;
  letter-spacing:0.8px;text-transform:uppercase;padding:4px 12px;
  border-radius:0 12px 0 10px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);
  white-space:nowrap;z-index:2;}
.fc-badge.red{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;}
.fc-badge.green{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;}

/* Card body: OUTBOUND row + divider + RETURN row */
.fc-trip{padding:30px 12px 8px;overflow:hidden;box-sizing:border-box;}
/* Cards without any badge: normal top padding */
.flight-card:not(:has(.fc-badge)) .fc-trip{padding-top:12px;}
/* Row label */
.fc-leg-label{font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--txt3);margin-bottom:8px;display:flex;align-items:center;gap:7px;
  padding:5px 10px 5px 12px;border-radius:6px;margin:-2px -2px 8px -2px;}
.fc-leg-label.outbound{
  background:linear-gradient(90deg,rgba(59,130,246,0.08),transparent);
  border-left:3px solid #3b82f6;
  color:#3b82f6;
}
.fc-leg-label.return{
  background:linear-gradient(90deg,rgba(22,163,74,0.08),transparent);
  border-left:3px solid #16a34a;
  color:#16a34a;
}
.fc-leg-label::after{content:'';flex:1;height:1px;
  background:linear-gradient(90deg,currentColor,transparent);opacity:0.15;}
.fc-leg-icon{font-size:12px;flex-shrink:0;}
/* Flight row */
.fc-row{display:flex;align-items:flex-start;gap:10px;width:100%;box-sizing:border-box;
  padding:8px 6px;border-radius:8px;}
/* Outbound row — first fc-row in trip */
.fc-trip .fc-row:nth-of-type(1){background:rgba(59,130,246,0.04);border-left:2px solid rgba(59,130,246,0.2);}
/* Return row — second fc-row in trip */
.fc-trip .fc-row:nth-of-type(2){background:rgba(22,163,74,0.04);border-left:2px solid rgba(22,163,74,0.2);}
.fc-al-logo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:8px;font-weight:800;flex-shrink:0;border:1px solid var(--card-bdr);}
.fc-al-name{font-size:9px;color:var(--txt4);margin-top:2px;text-align:center;line-height:1.2;}
.fc-al-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:46px;}
.fc-times-col{flex:1;min-width:0;overflow:hidden;}
.fc-trow{display:flex;align-items:center;gap:0;width:100%;}
.fc-t{font-family:'Playfair Display','Cormorant Garamond',serif;font-size:20px;font-weight:700;
  color:var(--txt1);letter-spacing:-0.5px;line-height:1;white-space:nowrap;flex-shrink:0;}
.fc-t small{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;
  color:var(--txt4);vertical-align:super;margin-left:1px;}
.fc-dur-wrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;padding:0 6px;overflow:hidden;}
.fc-dur{font-size:10px;font-weight:600;color:var(--txt3);margin-bottom:3px;}
.fc-line{width:100%;height:1.5px;background:var(--card-bdr);position:relative;}
.fc-line::before,.fc-line::after{content:'';position:absolute;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--card-bdr);}
.fc-line::before{left:-1px;}.fc-line::after{right:-1px;}
.fc-stp{font-size:9px;font-weight:600;color:var(--txt4);margin-top:3px;}
.fc-stp.ns{color:#16a34a;}.fc-stp.one{color:#d97706;}
.fc-sub{display:flex;gap:10px;margin-top:4px;}
.fc-sub span{font-size:9px;color:var(--txt4);}
.fc-price-col{text-align:right;}
/* Divider between legs */
.fc-div{margin:10px 0;display:flex;align-items:center;gap:8px;}
.fc-div::before,.fc-div::after{content:"";flex:1;height:1px;background:var(--card-bdr);}
.fc-div-chip{
  background:var(--card-bg2);border:1px solid var(--card-bdr);
  border-radius:20px;padding:3px 12px;
  font-size:9px;font-weight:700;color:var(--txt3);
  white-space:nowrap;flex-shrink:0;
  display:flex;align-items:center;gap:4px;
}
/* Price + CTA row */
.fc-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px 12px;border-top:1px solid var(--card-bdr);flex-wrap:wrap;}
.fc-total-wrap{}
.fc-total-lbl{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt4);}
.fc-total{font-family:'Playfair Display','Cormorant Garamond',serif;font-size:26px;font-weight:700;
  color:var(--txt1);letter-spacing:-0.8px;line-height:1;white-space:nowrap;}
.fc-total.deal{color:var(--red);}
.fc-total-was{font-size:11px;color:var(--txt4);text-decoration:line-through;margin-bottom:1px;}
.fc-pp{font-size:10px;color:var(--txt4);}
.fc-tags-wrap{display:flex;gap:5px;flex-wrap:wrap;flex:1;padding:0 10px;}
.fc-tag{font-size:9px;font-weight:600;padding:3px 8px;border-radius:20px;
  background:var(--card-bg2);color:var(--txt3);border:1px solid var(--card-bdr);
  display:flex;align-items:center;gap:3px;white-space:nowrap;}
.fc-tag.green{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0;}
.fc-tag.amber{background:#fffbeb;color:#92400e;border-color:#fde68a;}
.fc-tag.blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.fc-tag.purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;}
.fc-select-btn{background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;border:none;border-radius:10px;padding:11px 22px;
  font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;
  transition:all 0.2s ease;box-shadow:0 3px 12px rgba(212,52,26,0.28);
  flex-shrink:0;letter-spacing:0.2px;}
.fc-select-btn:hover{transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(212,52,26,0.42);
  background:linear-gradient(135deg,#ff6b45,#f05535);}
.fc-select-btn:hover{box-shadow:0 6px 20px rgba(212,52,26,0.4);transform:translateY(-1px);}
/* Mobile full-width select */
.fc-select-mob{display:none;width:100%;padding:13px;margin:0 16px 14px;
  width:calc(100% - 32px);
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;
  cursor:pointer;box-shadow:0 3px 12px rgba(212,52,26,0.28);transition:all 0.18s;}
/* Expand details */
.fc-expand-btn{width:100%;padding:8px 16px;background:none;border:none;
  border-top:1px solid var(--card-bdr);display:flex;align-items:center;
  justify-content:center;gap:6px;font-size:10px;font-weight:600;
  color:var(--txt4);cursor:pointer;transition:all 0.15s;}
.fc-expand-btn:hover{background:var(--card-bg2);color:var(--txt2);}
.fc-expand-btn svg{transition:transform 0.22s;}
.fc-expand-btn.open svg{transform:rotate(180deg);}
.fc-details{display:none;padding:14px 16px;border-top:1px solid var(--card-bdr);
  background:var(--card-bg2);}
.fc-details.open{display:block;}
.fcd-section-lbl{font-size:9px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--txt4);margin-bottom:10px;}
.fc-leg-detail{display:flex;gap:12px;align-items:flex-start;padding:8px 0;
  border-bottom:1px dashed var(--card-bdr);}
.fc-leg-detail:last-child{border-bottom:none;}
.fc-ld-line{display:flex;flex-direction:column;align-items:center;padding-top:3px;}
.fc-ld-dot{width:9px;height:9px;border-radius:50%;background:var(--red);
  border:2px solid rgba(212,52,26,0.2);flex-shrink:0;}
.fc-ld-vline{width:1.5px;flex:1;background:var(--card-bdr);min-height:30px;}
.fc-ld-city{font-size:12px;font-weight:700;color:var(--txt1);}
.fc-ld-time{font-size:11px;color:var(--txt3);}
.fc-ld-flight{font-size:10px;color:var(--txt4);margin-top:3px;}
.layover-chip{display:flex;align-items:center;gap:6px;
  background:#fffbeb;border:1px solid #fde68a;border-radius:7px;
  padding:5px 10px;margin:6px 0;font-size:10px;font-weight:600;color:#92400e;}
.fc-bags-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;
  padding-top:10px;border-top:1px solid var(--card-bdr);}
.fc-bag-item{}
.fc-bag-lbl{font-size:8px;color:var(--txt4);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;}
.fc-bag-val{font-size:12px;font-weight:600;color:var(--txt1);}

/* --- CALL CTA --- */
.call-cta{background:linear-gradient(135deg,var(--navy3),var(--navy4));
  border:1px solid var(--border);border-radius:14px;padding:16px;
  display:flex;align-items:center;gap:12px;text-decoration:none;transition:all 0.2s;}
.call-cta:hover{border-color:var(--gold2);box-shadow:0 6px 28px rgba(0,158,176,0.12);}
.cc-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 12px rgba(0,158,176,0.4);}
.cc-icon svg{width:20px;height:20px;fill:var(--navy);}
.cc-body{flex:1;}
.cc-tag{font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold2);margin-bottom:2px;}
.cc-title{font-size:14px;font-weight:700;color:#fff;line-height:1.2;}
.cc-sub{font-size:10px;color:var(--mid);margin-top:2px;}
.cc-arrow{color:var(--gold2);font-size:16px;}

/* --- PRICE ALERT --- */
.alert-strip{background:linear-gradient(135deg,#0f172a,#1e1b4b);
  border:1px solid rgba(129,140,248,0.3);border-radius:12px;
  padding:12px 14px;display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.as-icon{font-size:18px;flex-shrink:0;}
.as-body{flex:1;}
.as-title{font-size:12px;font-weight:700;color:#fff;}
.as-sub{font-size:10px;color:rgba(255,255,255,0.45);margin-top:1px;}
.as-btn{font-size:10px;font-weight:700;color:#818cf8;
  background:rgba(129,140,248,0.12);border:1px solid rgba(129,140,248,0.3);
  border-radius:20px;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:all 0.15s;}
.as-btn:hover{background:rgba(129,140,248,0.22);}

/* --- SORT BAR ABOVE CARDS --- */
.cards-sort-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 16px;
  background:var(--card-bg);
  border:1.5px solid var(--card-bdr);
  border-radius:14px;
  margin-bottom:10px;
  box-sizing:border-box;
  width:100%;
}
.cards-sort-count{
  font-size:12px;font-weight:600;color:var(--txt3);white-space:nowrap;flex-shrink:0;
}
.cards-sort-count b{color:var(--red);}
/* Sort tabs — enhanced */
.sort-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.sort-tab{
  font-size:12px;font-weight:600;
  padding:7px 14px;border-radius:20px;
  border:1.5px solid var(--card-bdr);
  background:var(--card-bg2);color:var(--txt3);
  cursor:pointer;transition:all 0.15s;white-space:nowrap;
  display:flex;align-items:center;gap:5px;
}
.sort-tab .st-icon{font-size:11px;}
.sort-tab:hover{border-color:var(--gold);color:var(--txt1);background:var(--navy3);}
.sort-tab.active{
  background:var(--navy);color:#fff;border-color:var(--navy);
  box-shadow:0 2px 8px rgba(6,9,26,0.25);
}
/* Inline strips between cards */
.inline-strip{margin:4px 0;}

/* --- BEST DEAL BANNER --- */
.best-deal{background:linear-gradient(135deg,#0f1e0a,#1a3a10);
  border:1px solid rgba(74,222,128,0.25);border-radius:10px;
  padding:9px 14px;display:flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;color:rgba(255,255,255,0.75);}
.best-deal b{color:#4ade80;}

/* --- SIDEBAR TRUST WIDGETS --- */
.sidebar-cta-card{
  background:linear-gradient(135deg,#e8502a,#ff6b45,#c02010);
  border-radius:16px;padding:20px;margin-bottom:10px;text-align:center;
  position:relative;overflow:hidden;
}
.sidebar-cta-card::before{
  content:'';position:absolute;top:-30px;right:-30px;
  width:120px;height:120px;border-radius:50%;
  background:rgba(255,255,255,0.07);
}
.sidebar-cta-card::after{
  content:'';position:absolute;bottom:-20px;left:-20px;
  width:80px;height:80px;border-radius:50%;
  background:rgba(255,255,255,0.05);
}
.scta-title{
  font-family:'Playfair Display','Cormorant Garamond',serif;
  font-size:20px;font-weight:700;color:#fff;
  margin-bottom:6px;line-height:1.2;position:relative;z-index:1;
}
.scta-sub{
  font-size:11px;color:rgba(255,255,255,0.75);
  margin-bottom:14px;line-height:1.5;position:relative;z-index:1;
}
.scta-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.18);border:1.5px solid rgba(255,255,255,0.35);
  border-radius:10px;padding:10px 18px;color:#fff;
  font-size:12px;font-weight:700;text-decoration:none;
  cursor:pointer;transition:all 0.18s;position:relative;z-index:1;
  letter-spacing:0.3px;
}
.scta-btn:hover{background:rgba(255,255,255,0.28);border-color:rgba(255,255,255,0.6);}

/* Perks list */
.sidebar-perks{
  background:var(--card-bg);border:1.5px solid var(--card-bdr);
  border-radius:14px;overflow:hidden;margin-bottom:10px;
}
.perk-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-bottom:1px solid var(--card-bdr);
  transition:background 0.12s;
}
.perk-item:last-child{border-bottom:none;}
.perk-item:hover{background:var(--card-bg2);}
.perk-icon{
  width:36px;height:36px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.perk-body{}
.perk-title{font-size:12px;font-weight:700;color:var(--txt1);}
.perk-sub{font-size:10px;color:var(--txt3);margin-top:1px;}

/* Review card */
.sidebar-review{
  background:var(--navy);border:1px solid rgba(0,158,176,0.2);
  border-radius:14px;padding:16px 14px;text-align:center;margin-bottom:10px;
}
.sr-stars{font-size:16px;letter-spacing:2px;margin-bottom:8px;}
.sr-title{
  font-family:'Playfair Display','Cormorant Garamond',serif;
  font-size:16px;font-weight:700;color:#fff;margin-bottom:4px;
}
.sr-sub{font-size:10px;color:var(--mid);margin-bottom:12px;line-height:1.4;}
.sr-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(0,158,176,0.12);border:1.5px solid rgba(0,158,176,0.35);
  border-radius:20px;padding:8px 16px;color:var(--gold2);
  font-size:11px;font-weight:700;text-decoration:none;
  cursor:pointer;transition:all 0.18s;
}
.sr-btn:hover{background:rgba(0,158,176,0.22);border-color:var(--gold2);}

/* Hide on mobile — shows in sidebar column only */
.sidebar-trust-widgets{display:none;position:sticky;top:130px;align-self:start;}
@media(min-width:769px){
  .sidebar-trust-widgets{display:block;}
}

/* --- PAGINATION --- */
.pagination{display:flex;align-items:center;justify-content:center;
  gap:5px;padding:16px 0 8px;}
.pg-btn{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--card-bdr);
  background:var(--card-bg);font-size:12px;font-weight:600;color:var(--txt3);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.pg-btn:hover{border-color:var(--gold);color:var(--txt1);}
.pg-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}

/* --- FOOTER --- */
.mini-footer{background:var(--navy);border-top:1px solid rgba(0,158,176,0.12);padding:18px 20px;}
.mf-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:10px;}
.mf-copy{font-size:11px;color:rgba(255,255,255,0.22);}
.mf-links{display:flex;gap:16px;flex-wrap:wrap;}
.mf-links a{font-size:10px;color:rgba(255,255,255,0.22);text-decoration:none;transition:color 0.2s;}
.mf-links a:hover{color:var(--gold2);}

/* --- MOBILE FILTER FAB --- */
/* --- MOBILE FILTER DRAWER --- */
.mob-filter-fab{
  display:none;
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  animation:fabBounce 2.5s 2s ease both;
  z-index:500;
  background:var(--navy);
  border:1.5px solid rgba(0,158,176,0.4);
  border-radius:100px;
  padding:12px 24px;
  align-items:center;gap:8px;
  font-family:'DM Sans',sans-serif;
  font-size:13px;font-weight:700;
  color:var(--gold2);
  box-shadow:0 6px 28px rgba(0,0,0,0.5),0 0 0 1px rgba(0,158,176,0.15);
  cursor:pointer;touch-action:manipulation;
  white-space:nowrap;
}
.mob-filter-fab-icon{font-size:15px;}
.mob-filter-badge{
  background:var(--red);color:#fff;
  font-size:10px;font-weight:800;
  width:18px;height:18px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  flex-shrink:0;
}
.mob-filter-badge.show{display:flex;}

/* Backdrop */
.mob-filter-backdrop{
  display:none;position:fixed;inset:0;
  background:rgba(6,9,26,0.6);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:590;cursor:pointer;
}
.mob-filter-backdrop.open{display:block;}

/* Drawer — slides in from left */
.mob-filter-close{
  display:none;
  position:sticky;top:0;z-index:2;
  background:var(--navy2);
  padding:14px 16px;
  align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--card-bdr);
  flex-shrink:0;
}
.mob-filter-close-title{
  font-size:15px;font-weight:700;color:var(--txt1);
  display:flex;align-items:center;gap:8px;
}
.mob-filter-close-btn{
  font-size:22px;background:none;border:none;cursor:pointer;
  color:var(--txt3);padding:0 4px;touch-action:manipulation;
}
/* Apply button inside drawer */
.mob-filter-apply{
  position:sticky;bottom:0;
  padding:12px 16px;
  background:var(--card-bg);
  border-top:1px solid var(--card-bdr);
  display:none;
}
.mob-filter-apply-btn{
  width:100%;padding:13px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;border:none;border-radius:12px;
  font-family:'DM Sans',sans-serif;
  font-size:14px;font-weight:700;
  cursor:pointer;touch-action:manipulation;
  box-shadow:0 4px 14px rgba(212,52,26,0.3);
}
.mob-filter-apply-btn:active{opacity:0.9;}

/* --- ANIMATIONS --- */

/* Loading shimmer animation */
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.skeleton {
  background: linear-gradient(90deg, #06121e 25%, #162f47 50%, #06121e 75%);
  background-size: 800px 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 6px;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fabBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
.fu{animation:fadeUp 0.35s ease both;}
.fu1{animation:fadeUp 0.35s 0.05s ease both;}
.fu2{animation:fadeUp 0.35s 0.10s ease both;}
.fu3{animation:fadeUp 0.35s 0.15s ease both;}
.fu4{animation:fadeUp 0.35s 0.20s ease both;}
.fu5{animation:fadeUp 0.35s 0.25s ease both;}

/* --- RESPONSIVE NAV BREAKPOINTS --- */

/* =1200px — hide Blog, Customer Support, My Reservation */
@media(max-width:1200px){
  .navbar{padding:0 24px;}
  .nav-links{gap:18px;}
  .nav-links a{font-size:12px;}
  .nav-hide-1200{display:none!important;}
  .nav-call-label{display:none;}
  .nav-call{padding:5px 14px 5px 5px;gap:8px;}
  .nav-call-avatar{width:34px;height:34px;}
  .nav-call-avatar svg{width:14px;height:14px;}
  .nav-call-number{font-size:15px;}
}

/* =960px — hide all except Flights, show hamburger */
@media(max-width:960px){
  .nav-hide-960{display:none!important;}
  .nav-hamburger{display:flex;}
  .nav-links li:not(:first-child){display:none;}
  .nav-call-label{display:none;}
  .nav-call-number{font-size:14px;}
  .sbc-meta{display:none!important;}
}

/* =768px (existing) — all links hidden, hamburger only */
@media(max-width:768px){
  .navbar{padding:0 14px;height:56px;}
  body{padding-top:56px;}
  .search-bar-wrap{top:56px;}
  .mobile-menu{top:56px;}
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}
  .nav-call-label{display:none;}
  .nav-call{padding:4px 12px 4px 4px;gap:7px;}
  .nav-call-avatar{width:28px;height:28px;}
  .nav-call-avatar svg{width:12px;height:12px;}
  .nav-call-number{font-size:14px;}

  /* Results: single column — filter panel NOT in grid */
  .results-wrap{
    grid-template-columns:1fr !important;
    padding:16px 12px 88px;
    gap:10px;
    scroll-margin-top:110px;
    margin-top:0;
  }
  .sidebar-trust-widgets{display:none !important;}

  /* Filter panel — ALWAYS hidden from page flow, shown as drawer only */
  .filter-panel{
    display:none !important;
    position:fixed !important;
    top:0 !important;left:0 !important;bottom:0 !important;
    width:min(320px, 88vw) !important;
    z-index:600 !important;
    border-radius:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    transform:translateX(-100%) !important;
    transition:transform 0.28s cubic-bezier(0.4,0,0.2,1) !important;
    box-shadow:4px 0 32px rgba(0,0,0,0.35) !important;
  }
  .filter-panel.mob-open{
    display:block !important;
    transform:translateX(0) !important;
  }

  /* FAB, backdrop, close, apply */
  .mob-filter-fab{display:flex !important;}
  .mob-filter-close{display:flex !important;}
  .mob-filter-apply{display:block !important;}
  .mob-filter-backdrop{z-index:590;}

  /* Compact search bar */
  .sbc{padding:0 14px;gap:8px;height:48px;max-height:48px;overflow:hidden;flex-wrap:nowrap;}
  .sbe.open{overflow-x:hidden;}
  .rsf-grid{overflow:hidden;}
  .sbc-meta{display:none !important;}
  .sbc-city{font-size:13px;max-width:100px;}
  .sbc-arrow{font-size:12px;}
  .sbc-edit{font-size:10px;padding:4px 10px;}

  /* Expanded search form */
  .rsf-grid{grid-template-columns:1fr 34px 1fr;grid-template-rows:auto auto auto;}
  .rsf-date1{grid-column:1/2;grid-row:2;}
  .rsf-date2{grid-column:2/4;grid-row:2;}
  .rsf-pax{grid-column:1/3;grid-row:3;}
  .rsf-sbtn{grid-column:3/4;grid-row:3;}

  /* Pax dropdown fixed position */
  .rsf-pax-drop{
    position:fixed !important;
    left:12px !important;right:12px !important;
    top:auto !important;bottom:auto !important;
    width:auto !important;min-width:0 !important;
    z-index:2000 !important;
  }
  .rsf-date1,.rsf-date2{grid-column:span 1;}
  .rsf-pax{grid-column:1/3;}
  .rsf-sbtn{grid-column:3;}
  /* -- Flight cards mobile -- */
  .fc-trip{padding:28px 10px 6px;}
  .fc-al-col{width:34px;}
  .fc-al-logo{width:34px;height:34px;font-size:8px;}
  .fc-al-name{font-size:8px;}
  .fc-t{font-size:14px;}
  .fc-dur{font-size:9px;}
  .fc-stp{font-size:9px;}
  .fc-sub{flex-wrap:wrap;gap:4px;margin-top:2px;}
  .fc-sub span{font-size:8px;}
  .fc-div{margin:6px 0;}
  .fc-div-chip{font-size:8px;padding:1px 7px;}
  .fc-bottom{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px 10px;}
  .fc-total-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .fc-total-lbl{font-size:9px;}
  .fc-total-was{font-size:10px;margin-bottom:0;}
  .fc-total{font-size:20px;}
  .fc-pp{font-size:9px;width:100%;}
  .fc-tags-wrap{flex-wrap:wrap;gap:4px;padding:0;}
  .fc-tag{font-size:9px;padding:2px 6px;}
  .fc-select-btn{display:none !important;}
  .fc-select-mob{display:block !important;width:100%;padding:13px;font-size:14px;
    font-weight:700;background:linear-gradient(135deg,var(--red),var(--red2));
    color:#fff;border:none;border-radius:10px;cursor:pointer;text-align:center;
    box-shadow:0 3px 12px rgba(212,52,26,0.28);}
  .fc-expand-btn{font-size:10px;padding:8px 10px;}
  .fc-details{padding:8px 10px;}
  .fc-ld-city{font-size:11px;}
  .fc-ld-time{font-size:10px;}
  .fc-ld-flight{font-size:9px;}
  .layover-chip{font-size:9px;padding:3px 8px;}
  .fc-bag-lbl{font-size:8px;}
  .fc-bag-val{font-size:11px;}
  .fc-badge{font-size:8px;padding:3px 10px;right:0;top:0;border-radius:0 10px 0 8px;}
  .fc-leg-label{font-size:8px;margin-bottom:4px;}
  /* Fare matrix mobile */
  .fare-matrix-note{font-size:10px;padding:8px 12px;}
  .fare-matrix-toggle{padding:9px 12px;}
  .fmt-toggle-lbl{font-size:11px;}
  .fmt th,.fmt td{padding:7px 8px;}
  .fmt-al-logo{width:28px;height:28px;font-size:8px;border-radius:6px;}
  .fmt-al-name{font-size:9px;}
  .fmt-price-amt{font-size:11px;}
  .fmt-price-usd{font-size:8px;}
  .cards-sort-bar{padding:10px 12px;gap:8px;flex-wrap:nowrap;}
  .sort-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding-bottom:2px;scrollbar-width:none;}
  .sort-tabs::-webkit-scrollbar{display:none;}
  .sort-tab{font-size:11px;padding:6px 12px;flex-shrink:0;}
  .st-icon{display:none;}
  .cards-sort-count{display:none;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}}
@media print{
  .navbar,.search-bar-wrap,.filter-panel,.mob-filter-fab,.call-cta{display:none!important;}
  body{background:#fff!important;padding-top:0!important;}
}

.logo-words{display:flex;flex-direction:column;line-height:1;}.logo-l1{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#00c4d8;}.logo-l2{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;font-style:italic;color:#fff;}

/* ===== LIGHT THEME OVERRIDES (toggle) ===== */
:root[data-theme="light"]{
  --navy:#f4f6f8;      /* page background */
  --navy2:#ffffff;     /* card background */
  --navy3:#f8fafb;     /* inset/panel */
  --navy4:#eef2f5;     /* deeper inset */
  --white:#15212e;     /* primary text (was #fff) */
  --mid:#5a6b7a;       /* muted text */
  --border:rgba(0,122,138,0.18);
  --card-bg:#ffffff;--card-bg2:#f8fafb;--card-bdr:rgba(0,122,138,0.16);
  --txt1:#15212e;--txt2:#2b3a47;--txt3:#5a6b7a;--txt4:#8090a0;
}
:root[data-theme="light"] body{ background:#f4f6f8; color:#15212e; }
/* Navbar stays deep for contrast with the logo, but lighten border */
:root[data-theme="light"] .navbar{ background:rgba(10,28,46,0.97); }
/* Cards/surfaces that hardcode dark backgrounds -> light */
:root[data-theme="light"] .card,
:root[data-theme="light"] .summary,
:root[data-theme="light"] .pax-card,
:root[data-theme="light"] .bk,
:root[data-theme="light"] .next,
:root[data-theme="light"] .recap,
:root[data-theme="light"] .ccard,
:root[data-theme="light"] .hotel,
:root[data-theme="light"] .room,
:root[data-theme="light"] .leg{ background:#ffffff; }
:root[data-theme="light"] .fg input,
:root[data-theme="light"] .fg select,
:root[data-theme="light"] .bk-field input,
:root[data-theme="light"] .bk-field select{ background:#f8fafb; color:#15212e; }
:root[data-theme="light"] .fg input::placeholder{ color:#9aa7b4; }
/* Hero gradients can stay; just ensure their text remains light on the dark hero */

/* ===== Theme toggle button ===== */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.08);border:1px solid var(--border);color:#fff;cursor:pointer;font-size:16px;
  transition:all .22s;margin-right:6px;flex-shrink:0;}
.theme-toggle:hover{background:rgba(0,196,216,0.18);border-color:rgba(0,196,216,0.4);}
:root[data-theme="light"] .theme-toggle{color:#fff;}
.nav-actions{display:flex;align-items:center;gap:8px;}


/* ===== LIGHT MODE CONTRAST FIXES ===== */
:root[data-theme="light"] .sum-trust div,
:root[data-theme="light"] .consent span,
:root[data-theme="light"] .note-box p,
:root[data-theme="light"] .pay-note p,
:root[data-theme="light"] .about-txt,
:root[data-theme="light"] .amen,
:root[data-theme="light"] .policy span,
:root[data-theme="light"] .policy b,
:root[data-theme="light"] .review p,
:root[data-theme="light"] .bk-perk,
:root[data-theme="light"] .leg-air,
:root[data-theme="light"] .leg-time,
:root[data-theme="light"] .recap-line .v,
:root[data-theme="light"] .next-step .d,
:root[data-theme="light"] .pax-type,
:root[data-theme="light"] .csub,
:root[data-theme="light"] .co-sub{ color:#5a6b7a !important; }

:root[data-theme="light"] .sum-trust,
:root[data-theme="light"] .pax-title,
:root[data-theme="light"] .next-step .t,
:root[data-theme="light"] .policy b,
:root[data-theme="light"] .recap h2,
:root[data-theme="light"] .next h2,
:root[data-theme="light"] .summary h3,
:root[data-theme="light"] .bk h3,
:root[data-theme="light"] .card h2,
:root[data-theme="light"] .c-hotel,
:root[data-theme="light"] .h-name,
:root[data-theme="light"] .room-name,
:root[data-theme="light"] .hotel-name,
:root[data-theme="light"] .co-title,
:root[data-theme="light"] .leg-ap,
:root[data-theme="light"] .sum-line .v,
:root[data-theme="light"] .price-row .v,
:root[data-theme="light"] .c-grid .v,
:root[data-theme="light"] .recap-line .k,
:root[data-theme="light"] .sl,
:root[data-theme="light"] .fg label,
:root[data-theme="light"] .bk-field label,
:root[data-theme="light"] .field-lbl{ color:#15212e !important; }

/* inputs/selects on light cards */
:root[data-theme="light"] .fg input,
:root[data-theme="light"] .fg select,
:root[data-theme="light"] .bk-field input,
:root[data-theme="light"] .bk-field select,
:root[data-theme="light"] input,
:root[data-theme="light"] select{ color:#15212e !important; }
:root[data-theme="light"] .fg input::placeholder,
:root[data-theme="light"] input::placeholder{ color:#9aa7b4 !important; }

/* dividers/labels that were light-on-dark */
:root[data-theme="light"] .sum-line .k,
:root[data-theme="light"] .c-grid .k,
:root[data-theme="light"] .price-row .k,
:root[data-theme="light"] .leg-time,
:root[data-theme="light"] .csub,
:root[data-theme="light"] .crumb{ color:#5a6b7a !important; }

/* keep buttons/badges white text on coloured fills */
:root[data-theme="light"] .pay-btn,
:root[data-theme="light"] .bk-btn,
:root[data-theme="light"] .room-btn,
:root[data-theme="light"] .hotel-btn,
:root[data-theme="light"] .btn.primary,
:root[data-theme="light"] .sbtn.primary,
:root[data-theme="light"] .nav-call,
:root[data-theme="light"] .rating-badge,
:root[data-theme="light"] .badge,
:root[data-theme="light"] .pax-badge,
:root[data-theme="light"] .next-num,
:root[data-theme="light"] .circle{ color:#ffffff !important; }
/* but pax-badge/next-num use teal text on tinted bg -> keep teal */
:root[data-theme="light"] .pax-badge,
:root[data-theme="light"] .next-num{ color:#007a8a !important; }


/* ===== LIGHT MODE: flight-results components ===== */
:root[data-theme="light"] .rsf-inp,
:root[data-theme="light"] .rsf-drop-item,
:root[data-theme="light"] .rsf-cabin-opt,
:root[data-theme="light"] .rsf-cal-day,
:root[data-theme="light"] .rsf-cal-nav,
:root[data-theme="light"] .rsf-cal-close,
:root[data-theme="light"] .rsf-pax-done,
:root[data-theme="light"] .sr-title,
:root[data-theme="light"] .sbc-city,
:root[data-theme="light"] .as-title,
:root[data-theme="light"] .cc-title,
:root[data-theme="light"] .fc-badge,
:root[data-theme="light"] .sort-tab,
:root[data-theme="light"] .time-pill,
:root[data-theme="light"] .pg-btn{ color:#15212e !important; }

:root[data-theme="light"] .rsf-lbl,
:root[data-theme="light"] .rsf-drop-country,
:root[data-theme="light"] .as-sub,
:root[data-theme="light"] .best-deal,
:root[data-theme="light"] .score,
:root[data-theme="light"] .scta-sub{ color:#5a6b7a !important; }

/* search-bar / dropdown / calendar surfaces -> light */
:root[data-theme="light"] .rsf-inp,
:root[data-theme="light"] .rsf-pax-drop,
:root[data-theme="light"] .rsf-cal-panel,
:root[data-theme="light"] .rsf-cabin-opt,
:root[data-theme="light"] .sort-tab,
:root[data-theme="light"] .time-pill,
:root[data-theme="light"] .filter-panel,
:root[data-theme="light"] .fare-matrix,
:root[data-theme="light"] .matrix-cell,
:root[data-theme="light"] .pg-btn{ background:#ffffff !important; }
:root[data-theme="light"] .rsf-inp{ background:#f8fafb !important; }

/* coloured CTA buttons keep white text */
:root[data-theme="light"] .fc-select-btn,
:root[data-theme="light"] .fc-select-mob,
:root[data-theme="light"] .scta-btn,
:root[data-theme="light"] .mob-filter-apply-btn,
:root[data-theme="light"] .fc-badge.best-deal,
:root[data-theme="light"] .logo-badge,
:root[data-theme="light"] .mob-filter-badge{ color:#ffffff !important; }

/* flight card body on light */
:root[data-theme="light"] .flight-card,
:root[data-theme="light"] .sr-card,
:root[data-theme="light"] .as-card,
:root[data-theme="light"] .cc-card,
:root[data-theme="light"] .matrix-wrap{ background:#ffffff !important; }


/* ===== LIGHT MODE: keep these design elements dark (white text intended) ===== */
:root[data-theme="light"] .hero,
:root[data-theme="light"] .mega-footer,
:root[data-theme="light"] .footer,
:root[data-theme="light"] .cta-band,
:root[data-theme="light"] .chat-panel,
:root[data-theme="light"] .chat-fab,
:root[data-theme="light"] .float-call,
:root[data-theme="light"] .dest-card,
:root[data-theme="light"] .thead,
:root[data-theme="light"] .acct-hero,
:root[data-theme="light"] .auth-aside{ background:#0a1c2e !important; }
:root[data-theme="light"] .mega-footer{ background:#06121e !important; }
:root[data-theme="light"] .hero{ background:linear-gradient(155deg,#06121e,#0a1c2e 50%,#0f2438) !important; }

/* text inside those dark blocks stays light */
:root[data-theme="light"] .hero-title,
:root[data-theme="light"] .hero-subtitle,
:root[data-theme="light"] .footer-col-title,
:root[data-theme="light"] .footer-bottom-copy,
:root[data-theme="light"] .footer-bottom-links a,
:root[data-theme="light"] .footer-nav a,
:root[data-theme="light"] .footer-desc,
:root[data-theme="light"] .footer-copy,
:root[data-theme="light"] .footer-links a,
:root[data-theme="light"] .cta-title,
:root[data-theme="light"] .cta-sub,
:root[data-theme="light"] .dest-city,
:root[data-theme="light"] .dest-country,
:root[data-theme="light"] .thead h1,
:root[data-theme="light"] .thead-meta{ color:rgba(255,255,255,0.92) !important; }
:root[data-theme="light"] .hero-subtitle,
:root[data-theme="light"] .footer-desc,
:root[data-theme="light"] .footer-copy,
:root[data-theme="light"] .footer-links a,
:root[data-theme="light"] .cta-sub,
:root[data-theme="light"] .dest-country{ color:rgba(255,255,255,0.6) !important; }



/* ============ MEGA FOOTER v2 ============ */
.ah-footer{background:linear-gradient(180deg,var(--navy,#06121e),#040d16);border-top:1px solid var(--border,rgba(0,158,176,0.18));margin-top:auto;}
.ah-foot-trust{border-bottom:1px solid rgba(0,158,176,0.14);padding:26px 24px 24px;background:rgba(0,158,176,0.035);}
.ah-foot-trust-head{text-align:center;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold2,#00c4d8);margin-bottom:18px;}
.ah-foot-trust-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:stretch;}
.ah-badge{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(0,158,176,0.16);border-radius:12px;padding:10px 14px;transition:all .2s;text-decoration:none;}
.ah-badge:hover{background:rgba(0,158,176,0.1);border-color:rgba(0,196,216,0.4);transform:translateY(-2px);}
.ah-badge-ic{font-size:22px;line-height:1;}
.ah-badge div{display:flex;flex-direction:column;line-height:1.25;}
.ah-badge b{font-size:12.5px;font-weight:700;color:#fff;}
.ah-badge span{font-size:10px;color:var(--mid,#8890aa);}
.ah-badge-tp{background:rgba(0,182,122,0.1);border-color:rgba(0,182,122,0.35);}
.ah-badge-tp b{color:#fff;}.ah-badge-tp span{color:#3ddc97;font-weight:600;}
.ah-foot-main{max-width:1180px;margin:0 auto;padding:44px 24px 30px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:34px;}
.ah-foot-brand{max-width:320px;}
.ah-foot-logo{display:flex;align-items:center;gap:12px;margin-bottom:15px;}
.ah-foot-logo>span{display:flex;flex-direction:column;line-height:1;}
.ah-foot-l1{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold2,#00c4d8);}
.ah-foot-l2{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:700;font-style:italic;color:#fff;}
.ah-foot-desc{font-size:13px;line-height:1.75;color:var(--mid,#8890aa);margin-bottom:16px;}
.ah-foot-call{display:block;font-size:16px;font-weight:700;color:var(--gold2,#00c4d8);margin-bottom:6px;}
.ah-foot-email{display:block;font-size:13px;color:var(--mid,#8890aa);margin-bottom:16px;transition:color .2s;}
.ah-foot-email:hover{color:var(--gold2,#00c4d8);}
.ah-foot-social{display:flex;gap:10px;}
.ah-foot-social a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,0.06);border:1px solid rgba(0,158,176,0.2);display:flex;align-items:center;justify-content:center;color:#9fb2c2;transition:all .22s;}
.ah-foot-social a:hover{background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,158,176,0.4);}
.ah-foot-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:15px;}
.ah-foot-col a{display:block;font-size:13px;color:var(--mid,#8890aa);padding:5px 0;transition:color .2s,padding-left .2s;}
.ah-foot-col a:hover{color:var(--gold2,#00c4d8);padding-left:4px;}
.ah-foot-bottom{border-top:1px solid rgba(0,158,176,0.14);padding:18px 24px;}
.ah-foot-bottom-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.ah-foot-copy{font-size:11px;color:var(--mid,#8890aa);line-height:1.6;}
.ah-foot-legal{display:flex;gap:18px;flex-wrap:wrap;}
.ah-foot-legal a{font-size:11.5px;color:var(--mid,#8890aa);transition:color .2s;}
.ah-foot-legal a:hover{color:var(--gold2,#00c4d8);}
@media(max-width:900px){.ah-foot-main{grid-template-columns:1fr 1fr;gap:28px;}.ah-foot-brand{grid-column:1/-1;max-width:none;}}
@media(max-width:560px){.ah-foot-main{grid-template-columns:1fr 1fr;}.ah-foot-trust-inner{gap:10px;}.ah-foot-bottom-inner{flex-direction:column;text-align:center;}.ah-foot-copy{text-align:center;}}
:root[data-theme="light"] .ah-footer{background:linear-gradient(180deg,#06121e,#040d16);}

/* ============ CHAT WIDGET ============ */
.ah-chat{position:fixed;right:22px;bottom:22px;z-index:9000;font-family:'DM Sans',sans-serif;}
.ah-chat-fab{position:relative;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));color:#fff;cursor:pointer;box-shadow:0 8px 28px rgba(0,158,176,0.45);transition:transform .2s;display:flex;align-items:center;justify-content:center;}
.ah-chat-fab:hover{transform:scale(1.07);}
.ah-chat-fab-ic{font-size:26px;}
.ah-chat-fab-badge{position:absolute;top:-2px;right:-2px;background:var(--red,#e8502a);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--navy,#06121e);}
.ah-chat-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 32px);background:var(--navy2,#0a1c2e);border:1px solid var(--border,rgba(0,158,176,0.18));border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,0.5);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .25s;}
.ah-chat-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
.ah-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));}
.ah-chat-agent{display:flex;align-items:center;gap:10px;}
.ah-chat-av{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:14px;}
.ah-chat-name{font-size:14px;font-weight:700;color:#fff;}
.ah-chat-status{font-size:11px;color:rgba(255,255,255,0.85);}
.ah-chat-x{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;opacity:.85;}
.ah-chat-body{padding:16px;height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;}
.ah-chat-msg{max-width:84%;padding:10px 13px;border-radius:13px;font-size:13px;line-height:1.5;}
.ah-chat-msg.bot{background:var(--navy3,#0f2438);color:#e7eef5;align-self:flex-start;border-bottom-left-radius:4px;}
.ah-chat-msg.user{background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));color:#fff;align-self:flex-end;border-bottom-right-radius:4px;}
.ah-chat-quick{display:flex;flex-direction:column;gap:7px;margin-top:4px;}
.ah-chat-quick button{text-align:left;background:rgba(0,158,176,0.1);border:1px solid var(--border,rgba(0,158,176,0.18));color:var(--gold2,#00c4d8);font-size:12.5px;font-weight:600;padding:9px 12px;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit;}
.ah-chat-quick button:hover{background:rgba(0,158,176,0.2);}
.ah-chat-foot{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border,rgba(0,158,176,0.18));}
.ah-chat-foot input{flex:1;background:var(--navy3,#0f2438);border:1px solid var(--border,rgba(0,158,176,0.18));border-radius:10px;padding:10px 12px;color:#fff;font-size:13px;outline:none;font-family:inherit;}
.ah-chat-foot input:focus{border-color:var(--gold,#007a8a);}
.ah-chat-foot button{width:40px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));color:#fff;font-size:15px;cursor:pointer;}
.ah-chat-callnote{text-align:center;font-size:11.5px;color:var(--mid,#8890aa);padding:0 14px 12px;}
.ah-chat-callnote a{color:var(--gold2,#00c4d8);font-weight:700;}
@media(max-width:480px){.ah-chat{right:16px;bottom:16px;}.ah-chat-fab{width:54px;height:54px;}.ah-chat-fab-ic{font-size:23px;}.ah-chat-panel{bottom:66px;}}

/* light theme support for shared blocks */
:root[data-theme="light"] .ah-footer{background:#06121e;}
:root[data-theme="light"] .ah-chat-panel{background:#ffffff;}
:root[data-theme="light"] .ah-chat-msg.bot{background:#eef2f5;color:#15212e;}
:root[data-theme="light"] .ah-chat-body{background:#fff;}
:root[data-theme="light"] .ah-chat-foot input{background:#f4f6f8;color:#15212e;}


/* mobile burger nav (added in unification) */
.nav-burger{display:none;}
@media(max-width:768px){.nav-burger{display:inline-block !important;}}
.nav-links.ah-mobile-open{display:flex !important;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--navy2,#0a1c2e);padding:18px;gap:14px;border-bottom:1px solid var(--border,rgba(0,158,176,0.18));z-index:199;}

/* ============ SHARED HEADER ============ */
.ah-nav{position:sticky;top:0;z-index:500;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(6,18,30,0.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--border,rgba(0,158,176,0.18));font-family:'DM Sans',sans-serif;}
.ah-nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.ah-nav-words{display:flex;flex-direction:column;line-height:1;}
.ah-nav-l1{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold2,#00c4d8);}
.ah-nav-l2{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;font-style:italic;color:#fff;}
.ah-nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;}
.ah-nav-links a{font-size:13.5px;font-weight:600;color:#cdd8e3;text-decoration:none;transition:color .2s;white-space:nowrap;}
.ah-nav-links a:hover{color:var(--gold2,#00c4d8);}
.ah-nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.ah-nav-signin{font-size:13.5px;font-weight:600;color:#cdd8e3;text-decoration:none;white-space:nowrap;}
.ah-nav-signin:hover{color:var(--gold2,#00c4d8);}
.ah-nav-call{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--gold,#007a8a),var(--gold2,#00c4d8));color:#fff;padding:9px 17px;border-radius:100px;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(0,158,176,0.35);white-space:nowrap;transition:transform .2s;}
.ah-nav-call:hover{transform:translateY(-1px);}
.ah-nav-burger{display:none;background:none;border:none;color:#fff;font-size:23px;cursor:pointer;padding:0 4px;}
@media(max-width:1040px){.ah-nav-links{gap:18px;}.ah-nav-links a{font-size:13px;}}
@media(max-width:900px){
  .ah-nav-links{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--navy2,#0a1c2e);border-bottom:1px solid var(--border,rgba(0,158,176,0.18));padding:8px 0;box-shadow:0 16px 40px rgba(0,0,0,0.4);}
  .ah-nav-links.ah-open{display:flex;}
  .ah-nav-links li{width:100%;}
  .ah-nav-links a{display:block;padding:13px 32px;width:100%;font-size:14.5px;}
  .ah-nav-links a:hover{background:rgba(0,158,176,0.1);}
  .ah-nav-burger{display:inline-block;}
  .ah-nav-signin{display:none;}
}
@media(max-width:520px){.ah-nav{padding:0 16px;}.ah-nav-call{padding:8px 13px;font-size:12px;}}
:root[data-theme="light"] .ah-nav{background:rgba(10,28,46,0.98);}
