/* Travel N Breakz — Modern consumer travel UI layer
 * Intentionally isolated from API/business/fare-rule code.
 */
:root {
  --tnb-ink: #0b1f3a;
  --tnb-ink-2: #17345d;
  --tnb-blue: #2563eb;
  --tnb-blue-2: #0ea5e9;
  --tnb-sky: #eaf4ff;
  --tnb-bg: #f6f9fc;
  --tnb-card: #ffffff;
  --tnb-muted: #64748b;
  --tnb-border: #e4eaf2;
  --tnb-success: #16a34a;
  --tnb-warning: #f59e0b;
  --tnb-shadow: 0 14px 40px rgba(15, 35, 65, .08);
  --tnb-shadow-lg: 0 24px 70px rgba(15, 35, 65, .13);
  --tnb-radius: 18px;
}

html { scroll-behavior: smooth; }
body.tnb-modern {
  background: var(--tnb-bg) !important;
  color: #1e293b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.tnb-modern .header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226,232,240,.85);
  box-shadow: 0 6px 24px rgba(15,35,65,.05);
}
body.tnb-modern .header .container { max-width: 1240px; }
body.tnb-modern .navigation { min-height: 78px; }
body.tnb-modern .nav-brand img { max-height: 44px; width: auto; }
body.tnb-modern .nav-menu > li > a {
  color: var(--tnb-ink) !important;
  font-weight: 650;
  font-size: 14px;
  padding: 30px 15px !important;
  transition: color .2s ease, background .2s ease;
}
body.tnb-modern .nav-menu > li > a:hover { color: var(--tnb-blue) !important; }
body.tnb-modern .nav-menu-social > li > a {
  color: var(--tnb-blue) !important;
  padding-left: 18px !important;
  padding-right: 4px !important;
}
body.tnb-modern .nav-menu-social i { box-shadow: 0 7px 16px rgba(37,99,235,.22); }

/* Global surface system */
body.tnb-modern section { position: relative; }
body.tnb-modern .card,
body.tnb-modern .flights-list-item,
body.tnb-modern .filter-searchBar,
body.tnb-modern .blogGrid-wrap,
body.tnb-modern .pop-touritems .card,
body.tnb-modern .contactForm {
  border: 1px solid var(--tnb-border) !important;
  border-radius: var(--tnb-radius) !important;
  box-shadow: var(--tnb-shadow);
  background: var(--tnb-card);
}
body.tnb-modern .card-header {
  background: linear-gradient(180deg,#fff,#f8fbff) !important;
  border-bottom: 1px solid var(--tnb-border) !important;
  padding: 18px 22px !important;
}
body.tnb-modern .card-body { padding: 22px !important; }
body.tnb-modern .gray-simple,
body.tnb-modern .gray { background: var(--tnb-bg) !important; }
body.tnb-modern section { padding-top: 64px; padding-bottom: 64px; }
body.tnb-modern h1, body.tnb-modern h2, body.tnb-modern h3,
body.tnb-modern h4, body.tnb-modern h5, body.tnb-modern h6 {
  color: var(--tnb-ink);
  letter-spacing: -.02em;
}
body.tnb-modern p { color: #64748b; }

/* Homepage hero */
body.tnb-modern .hero-header {
  min-height: 620px;
  display: flex;
  align-items: center;
  background-position: center !important;
  background-size: cover !important;
  overflow: visible;
}
body.tnb-modern .hero-header::before {
  background: linear-gradient(135deg, rgba(4,22,48,.84), rgba(12,62,112,.58) 55%, rgba(14,165,233,.18)) !important;
}
body.tnb-modern .hero-header h1 {
  color: #fff !important;
  font-size: clamp(36px, 5vw, 62px);
  font-weight: 800;
  line-height: 1.05;
  text-shadow: 0 8px 30px rgba(0,0,0,.2);
}
body.tnb-modern .hero-header p { color: rgba(255,255,255,.86) !important; }
body.tnb-modern #tour-pills-tab {
  position: relative;
  z-index: 4;
  margin-bottom: 0 !important;
}
body.tnb-modern #tour-pills-tab .nav-link {
  border-radius: 999px !important;
  padding: 11px 22px !important;
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18);
  margin: 0 4px;
  backdrop-filter: blur(8px);
}
body.tnb-modern #tour-pills-tab .nav-link.active {
  color: #fff !important;
  background: var(--tnb-blue) !important;
  border-color: var(--tnb-blue);
  box-shadow: 0 10px 25px rgba(37,99,235,.3);
}
body.tnb-modern .search-wrap {
  position: relative;
  z-index: 5;
  border: 1px solid rgba(255,255,255,.75) !important;
  border-radius: 22px !important;
  box-shadow: var(--tnb-shadow-lg) !important;
  padding: 20px !important;
}
body.tnb-modern .search-wrap .form-control,
body.tnb-modern .search-wrap .btn-outline-secondary {
  min-height: 52px;
  border-radius: 12px !important;
  border-color: #dce5ef !important;
  background: #fff !important;
}
body.tnb-modern .search-wrap .btn-primary,
body.tnb-modern .search-wrap input[type=submit] {
  min-height: 52px;
  border-radius: 12px !important;
  font-weight: 750;
  padding: 0 22px !important;
}
body.tnb-modern .passenger-box {
  border: 1px solid var(--tnb-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--tnb-shadow-lg) !important;
}

/* Form language */
body.tnb-modern .form-label {
  color: #334155;
  font-weight: 650;
  font-size: 13px;
  margin-bottom: 7px;
}
body.tnb-modern .form-control,
body.tnb-modern .form-select {
  min-height: 48px;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  color: #0f172a;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15,23,42,.03);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.tnb-modern .form-control:focus,
body.tnb-modern .form-select:focus {
  border-color: rgba(37,99,235,.65) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
}
body.tnb-modern .btn-primary {
  --bs-btn-bg: var(--tnb-blue);
  --bs-btn-border-color: var(--tnb-blue);
  --bs-btn-hover-bg: #1d4ed8;
  --bs-btn-hover-border-color: #1d4ed8;
  border-radius: 12px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(37,99,235,.2);
}
body.tnb-modern .btn-outline-secondary { color: #334155; }

/* Listing / search pages */
body.tnb-modern .filter-searchBar { overflow: hidden; }
body.tnb-modern .filter-searchBar-head { background: linear-gradient(135deg,#f8fbff,#eef6ff); }
body.tnb-modern .flights-list-item {
  padding: 20px !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.tnb-modern .flights-list-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(15,35,65,.11);
  border-color: #cfe0f6 !important;
}
body.tnb-modern .result-step { margin-bottom: 16px; }
body.tnb-modern .flights-list-item .btn { border-radius: 10px; }
body.tnb-modern .nav-tabs .nav-link,
body.tnb-modern .nav-pills .nav-link { border-radius: 10px; }
body.tnb-modern .airline-column,
body.tnb-modern .table-container { border-color: var(--tnb-border) !important; }

/* Page banners */
body.tnb-modern .bg-cover.position-relative[data-overlay] {
  min-height: 290px;
  display: flex;
  align-items: center;
  background-position: center !important;
  background-size: cover !important;
}
body.tnb-modern .bg-cover.position-relative[data-overlay]::before {
  background: linear-gradient(135deg, rgba(4,22,48,.86), rgba(17,68,117,.64)) !important;
}
body.tnb-modern .bg-cover .xl-heading,
body.tnb-modern .bg-cover h1 { color: #fff !important; font-weight: 800; }

/* Destination / offer / blog cards */
body.tnb-modern .cardCities,
body.tnb-modern .blogGrid-wrap,
body.tnb-modern .pop-touritems .card {
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
body.tnb-modern .cardCities:hover,
body.tnb-modern .blogGrid-wrap:hover,
body.tnb-modern .pop-touritems .card:hover { transform: translateY(-5px); box-shadow: var(--tnb-shadow-lg); }
body.tnb-modern .blogGrid-pics img,
body.tnb-modern .offers-pic img,
body.tnb-modern .cardCities-image img { transition: transform .35s ease; }
body.tnb-modern .blogGrid-wrap:hover img,
body.tnb-modern .pop-touritems .card:hover img,
body.tnb-modern .cardCities:hover img { transform: scale(1.04); }

/* Contact + FAQ */
body.tnb-modern .contactForm { background: #fff !important; }
body.tnb-modern .accordion-item {
  border: 1px solid var(--tnb-border) !important;
  border-radius: 14px !important;
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 5px 18px rgba(15,35,65,.04);
}
body.tnb-modern .accordion-button { font-weight: 700; padding: 18px 20px; }
body.tnb-modern .accordion-button:not(.collapsed) { color: var(--tnb-blue); background: #f7fbff; box-shadow: none; }

/* Booking experience */
body.tnb-modern .booking-page .card,
body.tnb-modern #flight_booking_form .card { box-shadow: 0 12px 35px rgba(15,35,65,.07); }
body.tnb-modern #flight_booking_form .card-header h6 { font-size: 15px; }
body.tnb-modern #flight_booking_form .card-body { background: #fff; }
body.tnb-modern #screenBlocker { backdrop-filter: blur(4px); }
body.tnb-modern #loadingSubmit {
  border-radius: 18px !important;
  box-shadow: var(--tnb-shadow-lg) !important;
}
body.tnb-modern .tnb-card-field { position: relative; }
body.tnb-modern .tnb-card-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #fff;
  color: #0b1f3a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  position: absolute;
  right: 10px;
  bottom: 9px;
  box-shadow: 0 4px 12px rgba(15,35,65,.08);
  pointer-events: none;
}
body.tnb-modern .tnb-card-brand:empty { display:none; }
body.tnb-modern .tnb-inline-status { margin-top: 6px; font-size: 12px; font-weight: 650; }
body.tnb-modern .tnb-inline-status.ok { color: var(--tnb-success); }
body.tnb-modern .tnb-inline-status.warn { color: var(--tnb-warning); }

/* Success / empty states */
body.tnb-modern .square--80.circle.bg-success { box-shadow: 0 12px 30px rgba(22,163,74,.2); }
body.tnb-modern .border.br-dashed { border-color: #dbe4ee !important; background: #fbfdff; }

/* Footer */
body.tnb-modern .footer {
  background: #071a33 !important;
  color: rgba(255,255,255,.78);
  border-top: 1px solid rgba(255,255,255,.08);
}
body.tnb-modern .footer .widget-title { color: #fff !important; font-weight: 750; }
body.tnb-modern .footer p,
body.tnb-modern .footer .footer-menu li a { color: rgba(226,232,240,.72) !important; }
body.tnb-modern .footer .footer-menu li a:hover { color: #fff !important; }
body.tnb-modern .foot-socials ul li a {
  width: 38px; height: 38px; display:flex; align-items:center; justify-content:center;
  border: 1px solid rgba(255,255,255,.12); border-radius: 50%;
  color: #fff; background: rgba(255,255,255,.05);
}
body.tnb-modern .foot-socials ul li a:hover { background: var(--tnb-blue); border-color: var(--tnb-blue); }
body.tnb-modern .footer-bottom { border-color: rgba(255,255,255,.1) !important; }
body.tnb-modern #back2Top { background: var(--tnb-blue); border-radius: 12px; box-shadow: 0 10px 24px rgba(37,99,235,.25); }

/* Autocomplete */
body.tnb-modern .autocomplete-items {
  border: 1px solid #dbe4ee !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: var(--tnb-shadow-lg);
  background: #fff;
}
body.tnb-modern .autocomplete-items div { padding: 11px 14px !important; border-bottom-color:#edf2f7 !important; }
body.tnb-modern .autocomplete-items div:hover { background:#eff6ff !important; }

/* Responsive */
@media (max-width: 991px) {
  body.tnb-modern .nav-menu > li > a { padding: 14px 18px !important; }
  body.tnb-modern .hero-header { min-height: 700px; }
  body.tnb-modern .search-wrap { border-radius: 18px !important; }
}
@media (max-width: 575px) {
  body.tnb-modern .hero-header { min-height: 760px; }
  body.tnb-modern .hero-header h1 { font-size: 36px; }
  body.tnb-modern section { padding-top: 46px; padding-bottom: 46px; }
  body.tnb-modern .card-body { padding: 17px !important; }
}

/* Header utility strip */
body.tnb-modern .tnb-topbar {
  background: #071a33;
  color: rgba(255,255,255,.76);
  font-size: 11px;
  letter-spacing: .02em;
  padding: 7px 0;
}
body.tnb-modern .tnb-support-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: var(--tnb-blue) !important;
  font-weight: 750 !important;
  white-space: nowrap;
}
body.tnb-modern .tnb-support-link i {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eff6ff;
}
@media (max-width: 991px) {
  body.tnb-modern .header { position: relative; }
  body.tnb-modern .nav-menu-social { display:none !important; }
}

/* ===== Reference-faithful FaresHunt visual system ===== */
body.tnb-modern{
  --tnb-ink:#0A1628;--tnb-ink-2:#1B2B4B;--tnb-blue:#C41E3A;--tnb-blue-2:#D4AF37;
  --tnb-sky:#F1F3F8;--tnb-bg:#F8F9FC;--tnb-muted:#6B7A99;--tnb-border:#E2E7F0;
  background:#F8F9FC!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.tnb-modern .tnb-topbar{background:#0A1628!important;color:rgba(255,255,255,.78);padding:8px 0;font-size:11px}
body.tnb-modern .header{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #E2E7F0;box-shadow:0 3px 18px rgba(10,22,40,.04)}
body.tnb-modern .navigation{min-height:82px}
body.tnb-modern .nav-menu>li>a{color:#0A1628!important;font-weight:700;padding:32px 15px!important}
body.tnb-modern .nav-menu>li>a:hover{color:#C41E3A!important}
body.tnb-modern .tnb-support-link{color:#0A1628!important;border:1px solid #E2E7F0;border-radius:999px;padding:8px 13px!important}
body.tnb-modern .tnb-support-link i{background:#FFF0F2;color:#C41E3A;box-shadow:none}
body.tnb-modern .hero-header{min-height:760px;background:linear-gradient(135deg,#0A1628 0%,#1B2B4B 42%,#0F2040 72%,#0A1628 100%)!important;position:relative;overflow:hidden!important;padding-top:80px;padding-bottom:120px}
body.tnb-modern .hero-header:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:60px 60px;opacity:.7}
body.tnb-modern .hero-header:before{content:""!important;position:absolute!important;inset:-20%!important;background:radial-gradient(circle at 18% 35%,rgba(196,30,58,.22),transparent 26%),radial-gradient(circle at 80% 66%,rgba(212,175,55,.12),transparent 24%)!important;opacity:1!important}
body.tnb-modern .hero-header .container{position:relative;z-index:2;max-width:1260px}
body.tnb-modern .hero-header h1{font-size:clamp(44px,5.2vw,76px);font-weight:850;letter-spacing:-.045em;line-height:1.02;text-shadow:none;margin-bottom:18px}
body.tnb-modern .hero-header p{font-size:18px!important;max-width:760px;margin:auto;color:rgba(255,255,255,.68)!important}
body.tnb-modern #tour-pills-tab{margin-top:34px!important;margin-bottom:14px!important}
body.tnb-modern #tour-pills-tab .nav-link{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.72)!important;padding:10px 20px!important}
body.tnb-modern #tour-pills-tab .nav-link.active{background:#C41E3A!important;border-color:#C41E3A!important;box-shadow:0 12px 30px rgba(196,30,58,.35)}
body.tnb-modern .search-wrap{background:#fff!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:20px!important;padding:22px!important;box-shadow:0 28px 86px rgba(3,10,24,.34)!important}
body.tnb-modern .search-wrap .form-control,body.tnb-modern .search-wrap .form-select,body.tnb-modern .search-wrap .btn-outline-secondary{min-height:56px!important;border:1px solid #E2E7F0!important;border-radius:12px!important;background:#fff!important;font-size:13px}
body.tnb-modern .search-wrap .form-control:focus,body.tnb-modern .search-wrap .form-select:focus{border-color:#C41E3A!important;box-shadow:0 0 0 3px rgba(196,30,58,.10)!important}
body.tnb-modern .search-wrap .btn-primary,body.tnb-modern .search-wrap input[type=submit]{background:#C41E3A!important;border-color:#C41E3A!important;min-height:56px!important;border-radius:12px!important;box-shadow:0 10px 26px rgba(196,30,58,.28)!important;font-weight:800}
body.tnb-modern .search-wrap .btn-primary:hover,body.tnb-modern .search-wrap input[type=submit]:hover{background:#A01830!important;border-color:#A01830!important;transform:translateY(-1px)}
body.tnb-modern .home-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:-78px;position:relative;z-index:8;color:rgba(255,255,255,.72);font-size:12px}.home-trust-row span{display:flex;align-items:center;gap:8px}.home-trust-row i{color:#D4AF37}
body.tnb-modern section{padding-top:72px;padding-bottom:72px}
body.tnb-modern .gray-simple{background:#F3F5F9!important}
body.tnb-modern .featuresBox-wrap{background:#fff;border:1px solid #E2E7F0;border-radius:18px;padding:22px;height:100%;box-shadow:0 8px 28px rgba(10,22,40,.05)}
body.tnb-modern .featuresBox-icons i{color:#C41E3A!important}.featuresBox-wrap h4{font-weight:800!important;color:#0A1628!important}
body.tnb-modern .secHeading-wrap h2{font-size:clamp(28px,3vw,42px);font-weight:850;letter-spacing:-.035em}.secHeading-wrap p{max-width:760px;margin:10px auto 0;color:#6B7A99!important}
body.tnb-modern .cardCities,body.tnb-modern .blogGrid-wrap,body.tnb-modern .fltsOffers-card{border:1px solid #E2E7F0!important;border-radius:20px!important;box-shadow:0 8px 30px rgba(10,22,40,.06)!important;overflow:hidden;background:#fff}
body.tnb-modern .fltsOffers-card{transition:.22s ease}.fltsOffers-card:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(10,22,40,.12)!important}
body.tnb-modern .fltsOffers-card .btn-primary{background:#C41E3A!important;border-color:#C41E3A!important}
body.tnb-modern .logo-scroller{background:#fff;border-top:1px solid #E2E7F0;border-bottom:1px solid #E2E7F0;padding:26px 0}
body.tnb-modern .newsletter-forms .btn-dark{background:#C41E3A!important;border-color:#C41E3A!important}
body.tnb-modern .footer{background:#0A1628!important}.footer .widget-title{font-weight:800!important}.foot-socials ul li a:hover{background:#C41E3A!important;border-color:#C41E3A!important}
body.tnb-modern #back2Top{background:#C41E3A!important}
body.tnb-modern .btn-primary{--bs-btn-bg:#C41E3A;--bs-btn-border-color:#C41E3A;--bs-btn-hover-bg:#A01830;--bs-btn-hover-border-color:#A01830}
body.tnb-modern .text-primary{color:#C41E3A!important}
@media(max-width:991px){body.tnb-modern .hero-header{min-height:920px;padding-top:55px}.home-trust-row{margin-top:-98px}.search-wrap .row.g-2>[class*=col]{width:100%}}
