/* ═══════════════════════════════════════════════════════════════════════════
   TripHunt Design System v1.0 — Single source of truth for all pages
   Loaded after th-bundle.min.css, wins the cascade cleanly.
   ═══════════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,700..900;1,9..144,700..900&family=Outfit:wght@400;500;600;700;800&display=swap');

:root {
  --th-navy: #040d1a; --th-navy2: #0a1628; --th-navy3: #0f2040;
  --th-blue: #1e40ff; --th-blue2: #1635d1; --th-blue-lt: #eef1ff;
  --th-orange: #f97316; --th-orange2: #ea6c0a; --th-orange-lt: #fff7ed;
  --th-green: #059669; --th-green-lt: #ecfdf5;
  --th-red: #dc2626; --th-amber: #d97706;
  --th-white: #ffffff; --th-bg: #f8fafc; --th-surface: #ffffff;
  --th-border: rgba(0,0,0,.08); --th-border2: rgba(0,0,0,.14);
  --th-ink: #0a1628; --th-ink2: #1e293b; --th-muted: #64748b; --th-muted2: #94a3b8;
  --th-sh1: 0 1px 3px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.05);
  --th-sh2: 0 4px 20px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.05);
  --th-sh3: 0 12px 40px rgba(0,0,0,.13),0 4px 12px rgba(0,0,0,.06);
  --th-sh4: 0 24px 64px rgba(0,0,0,.16),0 8px 20px rgba(0,0,0,.08);
  --th-sh-orange: 0 4px 16px rgba(249,115,22,.3);
  --th-sh-blue: 0 4px 16px rgba(30,64,255,.25);
  --th-r8:8px; --th-r12:12px; --th-r16:16px; --th-r20:20px; --th-r24:24px; --th-r99:9999px;
  --th-font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --th-font-body:'Outfit','Inter',system-ui,-apple-system,sans-serif;
  --th-nav-h:62px;
}

*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--th-font-body)!important;background:var(--th-bg)!important;color:var(--th-ink)!important;-webkit-font-smoothing:antialiased!important;overflow-x:hidden!important;padding-top:var(--th-nav-h)!important}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
::selection{background:rgba(30,64,255,.15)!important}
:focus-visible{outline:2px solid var(--th-blue)!important;outline-offset:3px!important;border-radius:4px!important}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}

/* ─── NAV ──────────────────────────────────────────────────────────────── */
.nav,nav.nav,#site-nav{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:999!important;height:var(--th-nav-h)!important;background:rgba(4,13,26,.95)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 2px 24px rgba(0,0,0,.4)!important;display:flex!important;align-items:center!important}
.nav-inner{max-width:1280px!important;margin:0 auto!important;padding:0 24px!important;width:100%!important;display:flex!important;align-items:center!important;gap:4px!important;height:100%!important}
.nav-logo{display:flex!important;align-items:center!important;gap:9px!important;font-family:var(--th-font-display)!important;font-size:19px!important;font-weight:900!important;letter-spacing:-.04em!important;color:#fff!important;text-decoration:none!important;flex-shrink:0!important;margin-right:16px!important}
.nav-logo-mark,.nav-logo-icon{width:32px!important;height:32px!important;background:var(--th-orange)!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 8px rgba(249,115,22,.4)!important;flex-shrink:0!important}
.nav-links{display:flex!important;align-items:center!important;gap:2px!important;flex:1!important;overflow-x:auto!important;scrollbar-width:none!important}
.nav-links::-webkit-scrollbar{display:none!important}
.nav-link{font-size:13px!important;font-weight:500!important;color:rgba(255,255,255,.6)!important;padding:6px 12px!important;border-radius:var(--th-r8)!important;transition:color .15s,background .15s!important;white-space:nowrap!important;text-decoration:none!important}
.nav-link:hover,.nav-link.active{color:#fff!important;background:rgba(255,255,255,.1)!important}
.nav-right{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important;flex-shrink:0!important}
.nav-sign-in{font-size:13px!important;font-weight:500!important;color:rgba(255,255,255,.55)!important;padding:7px 14px!important;border-radius:var(--th-r8)!important;transition:color .15s!important;text-decoration:none!important}
.nav-sign-in:hover{color:#fff!important}
.nav-cta,.nav-btn-cta{font-size:13px!important;font-weight:700!important;color:#fff!important;background:var(--th-blue)!important;padding:8px 18px!important;border-radius:var(--th-r99)!important;transition:all .15s!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:var(--th-sh-blue)!important;border:none!important;cursor:pointer!important}
.nav-cta:hover,.nav-btn-cta:hover{background:var(--th-blue2)!important;transform:translateY(-1px)!important}
.nav-premium-pill{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:7px 16px!important;background:linear-gradient(135deg,var(--th-orange),var(--th-orange2))!important;color:#fff!important;border-radius:var(--th-r99)!important;font-size:12.5px!important;font-weight:800!important;letter-spacing:-.01em!important;text-decoration:none!important;box-shadow:var(--th-sh-orange)!important;transition:all .15s!important;white-space:nowrap!important;border:none!important;overflow:hidden!important;position:relative!important}
.nav-premium-pill::after{content:''!important;position:absolute!important;top:0!important;left:-100%!important;width:60%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)!important;animation:premiumShine 3.5s ease infinite!important}
@keyframes premiumShine{0%{left:-100%}40%,100%{left:160%}}
.nav-premium-pill:hover{transform:translateY(-1px)!important;box-shadow:0 6px 20px rgba(249,115,22,.45)!important}
@media(max-width:768px){.nav-links{display:none!important}.nav-sign-in{display:none!important}.nav-premium-pill{display:none!important}}

/* ─── TICKER ────────────────────────────────────────────────────────────── */
.deal-ticker{background:linear-gradient(90deg,var(--th-navy),#0f2040,var(--th-navy))!important;height:36px!important;overflow:hidden!important;display:flex!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.ticker-track{display:flex!important;align-items:center!important;white-space:nowrap!important;animation:tickerScroll 50s linear infinite!important}
.deal-ticker:hover .ticker-track{animation-play-state:paused!important}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{padding:0 22px!important;font-size:12px!important;font-weight:500!important;color:rgba(255,255,255,.65)!important;display:inline-flex!important;align-items:center!important;gap:6px!important;border-right:1px solid rgba(255,255,255,.1)!important;height:36px!important;cursor:pointer!important}
.ticker-item:hover{color:#fff!important}
.t-price{font-weight:800!important;color:#34d399!important}

/* ─── PAGE HERO (non-homepage) ──────────────────────────────────────────── */
.page-hero,.deals-hero,.ef-hero,.wknd-hero,.hero-section:not(#hero-section){background:linear-gradient(135deg,var(--th-navy) 0%,var(--th-navy3) 60%,rgba(30,64,255,.12) 100%)!important;padding:52px 24px 44px!important;position:relative!important;overflow:hidden!important;text-align:center!important}
.page-hero::before{content:''!important;position:absolute!important;inset:0!important;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(30,64,255,.2),transparent 70%)!important;pointer-events:none!important}
.page-hero h1,.deals-hero h1,.ef-hero h1{font-family:var(--th-font-display)!important;font-size:clamp(28px,5vw,52px)!important;font-weight:900!important;letter-spacing:-.04em!important;color:#fff!important;line-height:1.1!important;margin-bottom:12px!important;position:relative!important;z-index:1!important}
.page-hero h1 em,.deals-hero h1 em{font-style:italic!important;color:var(--th-orange)!important}
.page-hero p,.deals-hero p{font-size:15px!important;color:rgba(255,255,255,.7)!important;line-height:1.65!important;max-width:560px!important;margin:0 auto!important;position:relative!important;z-index:1!important}

/* ─── SECTION HEADERS ───────────────────────────────────────────────────── */
.sec-title,.section-title,.sec-hdr h2{font-family:var(--th-font-display)!important;font-size:clamp(22px,3vw,30px)!important;font-weight:900!important;letter-spacing:-.04em!important;color:var(--th-ink)!important;line-height:1.1!important;margin:0!important}
.sec-title em,.section-title em{font-style:italic!important;color:var(--th-blue)!important}
.sec-sub,.section-sub{font-size:13.5px!important;color:var(--th-muted)!important;margin-top:5px!important}
.sec-link{font-size:13px!important;font-weight:700!important;color:var(--th-blue)!important;background:var(--th-blue-lt)!important;padding:7px 16px!important;border-radius:var(--th-r99)!important;text-decoration:none!important;white-space:nowrap!important;flex-shrink:0!important;transition:background .15s!important;display:inline-flex!important;align-items:center!important}
.sec-link:hover{background:#dde6ff!important}

/* ─── STATIC DEAL CARDS (.thx-static-card) ──────────────────────────────── */
.thx-static-card{display:flex!important;flex-direction:column!important;background:var(--th-surface)!important;border:1px solid var(--th-border)!important;border-radius:var(--th-r20)!important;overflow:hidden!important;text-decoration:none!important;color:var(--th-ink)!important;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .24s!important;box-shadow:var(--th-sh1)!important;cursor:pointer!important}
.thx-static-card:hover{transform:translateY(-8px)!important;box-shadow:var(--th-sh3)!important;border-color:rgba(30,64,255,.15)!important}
.thx-static-media{display:block!important;width:100%!important;height:190px!important;overflow:hidden!important;position:relative!important;flex-shrink:0!important;background:linear-gradient(135deg,#1e3a8a,#1e40ff)!important}
.thx-static-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .5s ease!important}
.thx-static-card:hover .thx-static-media img{transform:scale(1.06)!important}
.thx-static-media::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to bottom,rgba(0,0,0,.02) 40%,rgba(0,0,0,.45) 100%)!important;pointer-events:none!important}
.thx-static-body{display:flex!important;flex-direction:column!important;gap:4px!important;padding:16px 18px 18px!important;flex:1!important}
.thx-static-top{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:6px!important}
.thx-static-badge{font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:3px 10px!important;border-radius:var(--th-r99)!important;background:var(--th-blue-lt)!important;color:var(--th-blue)!important}
.thx-static-verified{font-size:11px!important;color:var(--th-muted2)!important;font-weight:500!important}
.thx-static-routecodes{display:block!important;font-family:var(--th-font-display)!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.03em!important;color:var(--th-ink)!important;line-height:1.1!important}
.thx-static-routenames{display:block!important;font-size:12px!important;color:var(--th-muted)!important;margin-bottom:6px!important}
.thx-static-meta{display:flex!important;gap:12px!important;font-size:11px!important;color:var(--th-muted2)!important;font-weight:500!important}
.thx-static-bottom{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--th-border)!important}
.thx-static-price{display:block!important;font-family:var(--th-font-display)!important;font-size:34px!important;font-weight:900!important;letter-spacing:-.04em!important;color:var(--th-ink)!important;line-height:1!important}
.thx-static-save{display:block!important;font-size:11px!important;color:var(--th-green)!important;font-weight:700!important;margin-top:3px!important}
.thx-static-cta{display:inline-flex!important;align-items:center!important;padding:10px 18px!important;background:var(--th-blue)!important;color:#fff!important;border-radius:var(--th-r12)!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important;transition:background .15s!important;flex-shrink:0!important}
.thx-static-card:hover .thx-static-cta{background:var(--th-blue2)!important}

/* ─── DYNAMIC DEAL CARDS (.deal-card / .dc-*) ───────────────────────────── */
.deal-card{display:block!important;background:var(--th-surface)!important;border:1px solid var(--th-border)!important;border-radius:var(--th-r20)!important;overflow:hidden!important;text-decoration:none!important;color:var(--th-ink)!important;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .24s!important;box-shadow:var(--th-sh1)!important}
.deal-card:hover{transform:translateY(-8px)!important;box-shadow:var(--th-sh3)!important;border-color:rgba(30,64,255,.12)!important}
.deal-card .dc-img,.dc-img{height:190px!important;overflow:hidden!important;position:relative!important;background:linear-gradient(135deg,#1e3a8a,#1e40ff)!important;display:block!important}
.dc-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .5s ease!important}
.deal-card:hover .dc-img img{transform:scale(1.06)!important}
.dc-img::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.5) 100%)!important;pointer-events:none!important}
.dc-price{position:absolute!important;bottom:12px!important;left:14px!important;z-index:2!important;font-family:var(--th-font-display)!important;font-size:28px!important;font-weight:900!important;color:#fff!important;letter-spacing:-.04em!important;line-height:1!important;text-shadow:0 1px 6px rgba(0,0,0,.5)!important}
.dc-badge{position:absolute!important;top:12px!important;left:12px!important;z-index:2!important;font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:4px 10px!important;border-radius:var(--th-r99)!important;backdrop-filter:blur(8px)!important;border:1px solid rgba(255,255,255,.25)!important}
.dc-body{padding:16px 18px 18px!important}
.dc-dest{font-family:var(--th-font-display)!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.03em!important;color:var(--th-ink)!important;margin-bottom:3px!important;line-height:1.2!important}
.dc-route{font-size:12px!important;color:var(--th-muted)!important;margin-bottom:10px!important}
.dc-saving{font-size:11px!important;font-weight:800!important;color:var(--th-green)!important;background:var(--th-green-lt)!important;padding:2px 8px!important;border-radius:var(--th-r99)!important}
.dc-was{font-size:13px!important;color:var(--th-muted2)!important;text-decoration:line-through!important}
.dc-book-btn{display:flex!important;align-items:center!important;justify-content:center!important;background:var(--th-blue)!important;color:#fff!important;border:none!important;border-radius:var(--th-r12)!important;padding:11px 16px!important;font-size:13px!important;font-weight:700!important;width:100%!important;margin-top:12px!important;cursor:pointer!important;transition:background .15s!important;text-decoration:none!important;font-family:var(--th-font-body)!important}
.dc-book-btn:hover{background:var(--th-blue2)!important}

/* ─── RESULTS CARDS (.fc) ────────────────────────────────────────────────── */
html body .fc{background:var(--th-surface)!important;border:1px solid var(--th-border)!important;border-radius:var(--th-r16)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;transition:transform .24s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s!important;box-shadow:var(--th-sh1)!important;position:relative!important;isolation:isolate!important}
html body .fc:hover{transform:translateY(-5px)!important;box-shadow:var(--th-sh3)!important;border-color:rgba(30,64,255,.15)!important}
html body .fc-img{height:170px!important;width:100%!important;display:block!important;background-size:cover!important;background-position:center!important;background-color:#1e3a8a!important;position:relative!important;flex-shrink:0!important}
html body .fc-img::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.55) 100%)!important;pointer-events:none!important}
html body .fc-main{flex:1!important;display:flex!important;flex-direction:column!important;padding:14px 16px 0!important;min-width:0!important}
html body .fc-price-col{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-end!important;padding:14px 16px 16px!important;border-top:1px solid var(--th-border)!important;margin-top:12px!important}
html body .fc-price{font-family:var(--th-font-display)!important;font-size:30px!important;font-weight:900!important;letter-spacing:-.04em!important;color:var(--th-ink)!important;line-height:1!important}
html body .fc-dest{font-family:var(--th-font-display)!important;font-size:18px!important;font-weight:900!important;letter-spacing:-.03em!important;color:var(--th-ink)!important;line-height:1.2!important;margin-bottom:4px!important}
html body .fc-time{font-size:20px!important;font-weight:800!important;letter-spacing:-.03em!important;color:var(--th-ink)!important;line-height:1!important}
html body .fc-apt,html body .fc-date-sm,html body .fc-via,html body .fc-pp{font-size:11px!important;color:var(--th-muted)!important;font-weight:500!important}
html body .fc-stops-tag{font-size:10px!important;font-weight:800!important;padding:2px 9px!important;border-radius:var(--th-r99)!important;letter-spacing:.04em!important;text-transform:uppercase!important}
html body .stop-direct{background:var(--th-green-lt)!important;color:var(--th-green)!important}
html body .stop-1stop{background:#fffbeb!important;color:var(--th-amber)!important}
html body .stop-2stops{background:#fef2f2!important;color:var(--th-red)!important}
html body .fc-save{font-size:12px!important;font-weight:800!important;color:var(--th-green)!important;background:var(--th-green-lt)!important;padding:2px 8px!important;border-radius:var(--th-r99)!important}
html body .book-btn{display:block!important;width:100%!important;background:linear-gradient(135deg,var(--th-blue),var(--th-blue2))!important;color:#fff!important;border:none!important;border-radius:var(--th-r12)!important;padding:12px 18px!important;font-size:14px!important;font-weight:800!important;text-align:center!important;cursor:pointer!important;transition:all .18s!important;box-shadow:var(--th-sh-blue)!important;text-decoration:none!important;font-family:var(--th-font-body)!important;letter-spacing:-.01em!important;margin-top:10px!important}
html body .book-btn:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(30,64,255,.38)!important;background:linear-gradient(135deg,#2952ff,var(--th-blue2))!important}
html body .fc-bag-note{font-size:11px!important;color:var(--th-muted)!important;padding:5px 8px!important;border-radius:7px!important;background:var(--th-bg)!important;border:1px solid var(--th-border)!important;margin:5px 0 7px!important;line-height:1.4!important}
html body .fc-bag-warning{background:#fffbeb!important;border-color:#fde68a!important;color:#78350f!important}

/* ─── TH DEAL CARDS (homepage/inspire .th-deal-card) ───────────────────── */
.th-deal-card{border-radius:20px!important;overflow:hidden!important;cursor:pointer!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;min-height:300px!important;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s!important;box-shadow:var(--th-sh2)!important;isolation:isolate!important}
.th-deal-card:hover{transform:translateY(-10px) scale(1.015)!important;box-shadow:var(--th-sh4)!important}
.th-card-photo{position:absolute!important;inset:0!important;z-index:0!important}
.th-card-photo img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .55s ease!important}
.th-deal-card:hover .th-card-photo img{transform:scale(1.07)!important}
.th-card-photo::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.6) 70%,rgba(0,0,0,.85) 100%)!important;z-index:1!important}
.th-card-photo-fallback{position:absolute!important;inset:0!important;z-index:0!important;background:linear-gradient(135deg,#0f2040 0%,#1e40ff 60%,#0ea5e9 100%)!important}
.th-card-photo-fallback-emoji{position:absolute!important;bottom:90px!important;left:50%!important;transform:translateX(-50%)!important;font-size:64px!important;z-index:2!important;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))!important}
.th-card-body{position:relative!important;z-index:10!important;padding:18px 18px 16px!important}
.th-card-dest{font-family:var(--th-font-display)!important;font-size:22px!important;font-weight:900!important;color:#fff!important;letter-spacing:-.03em!important;line-height:1.1!important;margin-bottom:2px!important;text-shadow:0 1px 8px rgba(0,0,0,.4)!important}
.th-card-country{font-size:12px!important;color:rgba(255,255,255,.65)!important;margin-bottom:12px!important}
.th-card-price-plate{display:flex!important;align-items:center!important;justify-content:space-between!important;background:rgba(255,255,255,.12)!important;backdrop-filter:blur(16px) saturate(180%)!important;-webkit-backdrop-filter:blur(16px) saturate(180%)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:14px!important;padding:12px 14px!important;gap:10px!important}
.th-card-price{font-family:var(--th-font-display)!important;font-size:30px!important;font-weight:900!important;color:#fff!important;letter-spacing:-.05em!important;line-height:1!important}
.th-card-saving{font-size:10px!important;font-weight:800!important;background:rgba(52,211,153,.22)!important;color:#6ee7b7!important;padding:2px 8px!important;border-radius:var(--th-r99)!important;border:1px solid rgba(52,211,153,.3)!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.th-card-was{font-size:12px!important;color:rgba(255,255,255,.5)!important;text-decoration:line-through!important}
.th-card-airline{font-size:11px!important;color:rgba(255,255,255,.55)!important;margin-top:3px!important}
.th-card-book{background:rgba(255,255,255,.18)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:11px!important;font-size:13px!important;font-weight:700!important;padding:10px 16px!important;cursor:pointer!important;transition:background .18s!important;white-space:nowrap!important;flex-shrink:0!important;text-decoration:none!important}
.th-deal-card:hover .th-card-book{background:var(--th-blue)!important;border-color:var(--th-blue)!important}
.th-card-top{position:absolute!important;top:14px!important;left:14px!important;right:14px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;z-index:10!important}
.th-card-badge{font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:5px 11px!important;border-radius:var(--th-r99)!important;backdrop-filter:blur(16px)!important;border:1px solid rgba(255,255,255,.25)!important;line-height:1!important}
.th-card-badge.fire{background:rgba(239,68,68,.85)!important;color:#fff!important}
.th-card-badge.bolt{background:rgba(30,64,255,.85)!important;color:#fff!important}
.th-card-badge.error{background:rgba(239,68,68,.9)!important;color:#fff!important;animation:errPulse 2s ease infinite!important}
.th-card-badge.good{background:rgba(0,0,0,.52)!important;color:#fff!important}
.th-card-badge.direct{background:rgba(5,150,105,.85)!important;color:#fff!important}
@keyframes errPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}

/* ─── ERROR FARE CARDS ──────────────────────────────────────────────────── */
.ef-card{background:var(--th-surface)!important;border:1px solid rgba(220,38,38,.18)!important;border-radius:var(--th-r20)!important;overflow:hidden!important;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .24s!important;box-shadow:var(--th-sh1)!important;display:flex!important;flex-direction:column!important}
.ef-card:hover{transform:translateY(-8px)!important;box-shadow:0 16px 48px rgba(220,38,38,.14)!important;border-color:rgba(220,38,38,.35)!important}
.ef-banner{background:linear-gradient(135deg,#dc2626,#ef4444)!important;padding:14px 18px!important;color:#fff!important}
.ef-route{font-family:var(--th-font-display)!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.03em!important;color:#fff!important}
.ef-body{padding:16px 18px 18px!important}
.ef-price{font-family:var(--th-font-display)!important;font-size:38px!important;font-weight:900!important;color:var(--th-ink)!important;letter-spacing:-.05em!important;line-height:1!important}
.ef-typical{font-size:15px!important;color:var(--th-muted2)!important;text-decoration:line-through!important}
.ef-saving{font-size:12px!important;font-weight:700!important;color:#fff!important;background:var(--th-green)!important;padding:3px 10px!important;border-radius:var(--th-r99)!important}
.ef-meta{font-size:13px!important;color:var(--th-muted)!important;margin-bottom:14px!important;line-height:1.5!important}
.ef-book-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:var(--th-red)!important;color:#fff!important;border:none!important;border-radius:var(--th-r12)!important;padding:12px!important;font-size:14px!important;font-weight:700!important;width:100%!important;margin-top:14px!important;cursor:pointer!important;transition:background .15s,transform .15s!important;text-decoration:none!important;font-family:var(--th-font-body)!important}
.ef-book-btn:hover{background:#b91c1c!important;transform:translateY(-1px)!important}

/* ─── RESULTS BAR ────────────────────────────────────────────────────────── */
.results-bar,#rb-bar{background:var(--th-navy)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:12px 24px!important;position:sticky!important;top:var(--th-nav-h)!important;z-index:100!important;display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:wrap!important}
.rb-route{font-family:var(--th-font-display)!important;font-size:18px!important;font-weight:900!important;color:#fff!important;letter-spacing:-.03em!important}
.rb-arrow{color:rgba(255,255,255,.5)!important;margin:0 4px!important}
.rb-meta{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.rb-chip{font-size:12px!important;color:rgba(255,255,255,.65)!important;background:rgba(255,255,255,.1)!important;padding:3px 10px!important;border-radius:var(--th-r99)!important}
.rb-chip.best{color:#6ee7b7!important;background:rgba(52,211,153,.15)!important}
.sort-btn{font-size:12px!important;font-weight:600!important;color:rgba(255,255,255,.6)!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--th-r99)!important;padding:6px 14px!important;cursor:pointer!important;transition:all .15s!important;font-family:var(--th-font-body)!important}
.sort-btn:hover,.sort-btn.active{color:#fff!important;background:var(--th-blue)!important;border-color:var(--th-blue)!important}

/* ─── AIRPORT PILLS ──────────────────────────────────────────────────────── */
.airport-pill,.airport-tab,.th-filter-pill{padding:7px 16px!important;border-radius:var(--th-r99)!important;border:1.5px solid var(--th-border2)!important;background:var(--th-surface)!important;font-size:12.5px!important;font-weight:600!important;color:var(--th-muted)!important;cursor:pointer!important;transition:all .15s!important;font-family:var(--th-font-body)!important}
.airport-pill:hover,.airport-tab:hover{border-color:var(--th-blue)!important;color:var(--th-blue)!important;background:var(--th-blue-lt)!important}
.airport-pill.active,.airport-tab.active{background:var(--th-blue)!important;border-color:var(--th-blue)!important;color:#fff!important;box-shadow:var(--th-sh-blue)!important}

/* ─── TRUST BAR ──────────────────────────────────────────────────────────── */
.th-trust-bar{background:var(--th-navy)!important;padding:18px 24px!important;border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.th-trust-bar-inner{max-width:1200px!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:40px!important;flex-wrap:wrap!important}
.th-trust-item{display:flex!important;align-items:center!important;gap:8px!important;font-size:13px!important;font-weight:500!important;color:rgba(255,255,255,.7)!important;white-space:nowrap!important}
.th-trust-item strong{color:#fff!important;font-weight:700!important}
.trust-icon{font-size:16px!important}

/* ─── EMAIL CAPTURE ──────────────────────────────────────────────────────── */
.email-capture-premium,.ecp-wrap{background:linear-gradient(135deg,var(--th-navy) 0%,var(--th-navy3) 60%,#1e3a8a 100%)!important;position:relative!important;overflow:hidden!important}
.ecp-h2{font-family:var(--th-font-display)!important;font-size:clamp(28px,4vw,44px)!important;font-weight:900!important;letter-spacing:-.04em!important;color:#fff!important}
.ecp-h2 em{font-style:italic!important;color:var(--th-orange)!important}
.ecp-sub{color:rgba(255,255,255,.6)!important}
.ecp-input{background:rgba(255,255,255,.1)!important;border:1.5px solid rgba(255,255,255,.18)!important;color:#fff!important;border-radius:13px!important}
.ecp-input:focus{border-color:var(--th-blue)!important;outline:none!important}
.ecp-input::placeholder{color:rgba(255,255,255,.35)!important}
.ecp-btn{background:var(--th-orange)!important;color:#fff!important;border:none!important;border-radius:13px!important;font-weight:800!important;cursor:pointer!important;transition:all .15s!important}
.ecp-btn:hover{background:var(--th-orange2)!important;transform:translateY(-1px)!important}

/* ─── FOOTER ─────────────────────────────────────────────────────────────── */
.footer{background:#04081c!important;color:rgba(255,255,255,.5)!important;padding:60px 0 32px!important}
.footer-col-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:rgba(255,255,255,.35)!important;margin-bottom:14px!important}
.footer-link{font-size:13px!important;color:rgba(255,255,255,.45)!important;transition:color .15s!important;text-decoration:none!important;display:block!important}
.footer-link:hover{color:#fff!important}
.footer-copy{font-size:11px!important;color:rgba(255,255,255,.25)!important;line-height:1.6!important}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06)!important;padding-top:22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px!important}
.footer-bottom-link{font-size:11px!important;color:rgba(255,255,255,.25)!important;text-decoration:none!important;transition:color .15s!important}
.footer-bottom-link:hover{color:rgba(255,255,255,.65)!important}

/* ─── GRIDS ──────────────────────────────────────────────────────────────── */
.deals-grid,.th-deal-grid,.radar-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:18px!important}
@media(max-width:640px){.deals-grid,.th-deal-grid,.radar-grid{grid-template-columns:1fr!important;gap:12px!important}}

/* ─── SKELETONS ──────────────────────────────────────────────────────────── */
.sk-box,.skel-card,.radar-skeleton,.th-skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%)!important;background-size:200% 100%!important;animation:skShimmer 1.5s ease-in-out infinite!important;border-radius:var(--th-r16)!important}
@keyframes skShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ─── UTILITIES ──────────────────────────────────────────────────────────── */
.fc,.deal-card,.thx-static-card,.th-deal-card,.ef-card,.weekend-card{isolation:isolate!important}
img[loading="lazy"]{opacity:0;transition:opacity .3s ease}img[loading="lazy"].loaded{opacity:1}
@media(max-width:768px){body{padding-bottom:64px!important}}
