/* TH Booking 7.0 — Tourism-first UI/UX design system */
:root{
  --thb-ink:#15253a;--thb-muted:#6b7a8c;--thb-deep:#24104f;--thb-violet:#5b2bbd;
  --thb-ocean:#087f8c;--thb-sky:#21b5c5;--thb-lime:#b8ed68;--thb-sand:#fff7df;
  --thb-bg:#f4f8fb;--thb-card:#fff;--thb-line:#dce8ed;--thb-danger:#c23b55;
  --thb-shadow:0 18px 55px rgba(27,60,82,.10);--thb-shadow-sm:0 8px 25px rgba(27,60,82,.08);
  --thb-r-sm:12px;--thb-r:18px;--thb-r-lg:28px;
}

/* Booking issuance must be opened from the booking detail so the agent can
   explicitly choose the debit wallet. */
.althurra-bookings .althurra-confirm-booking{display:none!important}
.thb-booking-detail.is-agent .thb-cloudfares-sync{display:none!important}
.thb-portal .thb-price-sensitive,.thb-portal .thb-offer-price,.thb-portal .thb-summary-row b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;unicode-bidi:isolate}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#f7fbfd 0,#f1f7fa 50%,#f7fafc 100%);color:var(--thb-ink)}
.thb-portal,.thb-flight-engine,.thb-checkout,.thb-booking-detail,.thb-reservations,.thb-account,.thb-finance,.thb-ledger{font-family:"Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif!important;color:var(--thb-ink)}
.thb-portal *,.thb-flight-engine *,.thb-checkout *,.thb-booking-detail *{box-sizing:border-box}

/* Agent chrome */
.thb-portal-topbar,.thb-agent-topbar{background:linear-gradient(112deg,#170b37 0%,#2d1261 46%,#087f8c 135%)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 38px rgba(24,11,55,.22)!important}
.thb-portal-topbar:before,.thb-agent-topbar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0,rgba(33,181,197,.20),transparent 30%),radial-gradient(circle at 85% 0,rgba(184,237,104,.12),transparent 24%)}
.thb-portal-nav,.thb-agent-nav{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--thb-line)!important;box-shadow:0 7px 24px rgba(28,63,82,.07)!important;backdrop-filter:blur(15px)}
.thb-portal-nav a,.thb-agent-nav a{border-radius:11px!important;color:#34445a!important;font-weight:800!important;transition:.2s ease!important}
.thb-portal-nav a:hover,.thb-agent-nav a:hover,.thb-portal-nav a.is-active,.thb-agent-nav a.is-active{background:linear-gradient(135deg,var(--thb-violet),#773bd2)!important;color:#fff!important;box-shadow:0 9px 20px rgba(91,43,189,.22)!important;transform:translateY(-1px)}
.thb-language-switch,.thb-currency-select,.thb-currency-wrap select{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;border-radius:12px!important}
.thb-nav-dropdown{border:1px solid rgba(255,255,255,.12)!important;border-radius:0 0 16px 16px!important;box-shadow:0 20px 45px rgba(20,9,44,.25)!important;overflow:hidden}

/* Travel hero */
.thb-portal-hero{position:relative!important;background:linear-gradient(120deg,rgba(25,10,56,.92),rgba(72,30,119,.78),rgba(8,127,140,.64)),url("hero-destinations.webp") center/cover!important;isolation:isolate}
.thb-portal-hero:before{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,rgba(8,47,68,.36));z-index:-1;pointer-events:none}
.thb-portal-hero h1{font-weight:950!important;letter-spacing:-.035em;text-shadow:0 7px 30px rgba(0,0,0,.23)}
.thb-kicker,.thb-eyebrow{display:inline-flex!important;align-items:center;gap:8px;background:rgba(255,255,255,.12)!important;border:1px solid rgba(184,237,104,.50)!important;color:#edffd5!important;backdrop-filter:blur(8px)}
.thb-hero-search{filter:drop-shadow(0 28px 40px rgba(11,38,58,.18))}

/* Surfaces and typography */
.thb-card,.thb-admin-panel,.thb-checkout-main,.thb-checkout-summary,.thb-bd-section,.thb-r-table-wrap,.thb-a-table-wrap,.thb-agency-table-wrap,.thb-info-card,.thb-finance-card,.thb-kpi{border:1px solid var(--thb-line)!important;background:rgba(255,255,255,.97)!important;border-radius:var(--thb-r)!important;box-shadow:var(--thb-shadow-sm)!important}
.thb-card:hover,.thb-admin-card:hover,.thb-finance-card:hover,.thb-kpi:hover{transform:translateY(-3px);box-shadow:var(--thb-shadow)!important;transition:.22s ease}
.thb-heading h1,.thb-heading h2,.thb-r-head h2,.thb-a-head h2,.thb-admin-head h1,.thb-checkout-section h2,.thb-bd-top h2{letter-spacing:-.025em!important}
.thb-lead,.thb-r-head p,.thb-a-head p,.thb-admin-head p{color:var(--thb-muted)!important;line-height:1.8!important}

/* Inputs */
.thb-field input,.thb-field select,.thb-rule-form input,.thb-rule-form select,.thb-rule-form textarea,.thb-passenger-grid input,.thb-passenger-grid select,.thb-r-field input,.thb-r-field select,.thb-a-field input,.thb-a-field select{min-height:48px!important;border:1px solid #cfdfe5!important;border-radius:12px!important;background:#fff!important;color:var(--thb-ink)!important;box-shadow:inset 0 1px 2px rgba(21,37,58,.025)!important;transition:.2s ease!important}
.thb-field input:hover,.thb-field select:hover,.thb-rule-form input:hover,.thb-rule-form select:hover{border-color:#9fc9d0!important}
.thb-field input:focus,.thb-field select:focus,.thb-rule-form input:focus,.thb-rule-form select:focus,.thb-passenger-grid input:focus,.thb-passenger-grid select:focus{outline:0!important;border-color:var(--thb-ocean)!important;box-shadow:0 0 0 4px rgba(33,181,197,.15)!important}
.thb-field label,.thb-rule-form label,.thb-r-field label,.thb-a-field label{color:#365069!important;font-weight:850!important}

/* Buttons */
.thb-btn,.thb-search-button,.thb-pick,.thb-confirm,.thb-checkout-submit,.thb-r-search,.thb-a-search,.thb-profile-save,.thb-agency-search,.button.button-primary{border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--thb-violet),#7742d1)!important;color:#fff!important;font-weight:900!important;box-shadow:0 11px 24px rgba(91,43,189,.22)!important;transition:.2s ease!important}
.thb-btn:hover,.thb-search-button:hover,.thb-pick:hover,.thb-confirm:hover,.thb-checkout-submit:hover,.button.button-primary:hover{transform:translateY(-2px)!important;filter:saturate(1.08) brightness(1.04)!important;box-shadow:0 16px 30px rgba(91,43,189,.28)!important}
.thb-search-button,.thb-submit-instant,.thb-r-confirm,.thb-a-topup,.thb-r-export{background:linear-gradient(135deg,#96d84a,var(--thb-lime))!important;color:#1d3528!important;box-shadow:0 11px 25px rgba(117,176,54,.22)!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(33,181,197,.34)!important;outline-offset:2px!important}

/* Search */
.thb-search-form{border:1px solid rgba(216,232,238,.92)!important;border-radius:24px!important;background:rgba(255,255,255,.97)!important;box-shadow:var(--thb-shadow)!important;backdrop-filter:blur(12px)}
.thb-trip-tabs{padding:5px!important;border-radius:14px!important;background:#edf5f7!important}
.thb-trip-tabs button{border-radius:10px!important;color:#52667b!important}
.thb-trip-tabs button.is-active{background:linear-gradient(135deg,var(--thb-deep),var(--thb-violet))!important;color:#fff!important;box-shadow:0 8px 18px rgba(60,25,114,.20)!important}
.thb-airline-chip,.thb-date-chip{border:1px solid var(--thb-line)!important;background:#fff!important;border-radius:14px!important;transition:.2s ease!important}
.thb-airline-chip:hover,.thb-date-chip:hover{border-color:var(--thb-sky)!important;transform:translateY(-2px);box-shadow:var(--thb-shadow-sm)!important}

/* Results and filters */
body:has(.thb-flight-engine.is-results){background:linear-gradient(135deg,#f3f8fb,#eef5f7 55%,#f8f6fc)!important}
.thb-flight-engine.is-results .thb-filter-panel{border:1px solid #d6e6eb!important;background:rgba(255,255,255,.98)!important;border-radius:22px!important;box-shadow:var(--thb-shadow-sm)!important}
.thb-filter-panel h3{margin:-20px -20px 12px!important;padding:19px 20px!important;background:linear-gradient(120deg,var(--thb-deep),var(--thb-violet),var(--thb-ocean))!important;color:#fff!important;border-radius:21px 21px 0 0!important}
.thb-filter-group{border-color:#e7eff2!important}
.thb-filter-group input{accent-color:var(--thb-ocean)!important}
.thb-results-top{border:1px solid var(--thb-line)!important;background:linear-gradient(120deg,#fff,#f6fbfc)!important;border-radius:18px!important;box-shadow:var(--thb-shadow-sm)!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-nav{background:linear-gradient(105deg,#251048,#3f176f 58%,#54208d)!important;border-bottom:1px solid rgba(255,255,255,.18)!important;box-shadow:0 9px 26px rgba(28,10,53,.24)!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-nav>a,.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-trigger{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.28)!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-nav>a:hover,.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-nav>a.is-active,.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-trigger:hover,.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-trigger.is-active{background:var(--thb-lime)!important;color:#211238!important;text-shadow:none!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-dropdown{background:#211238!important;border-color:rgba(255,255,255,.16)!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-dropdown a{color:#fff!important;background:transparent!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-dropdown a:hover{background:rgba(184,237,104,.16)!important;color:var(--thb-lime)!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-hero{position:relative!important;z-index:60!important;overflow:visible!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-page{position:relative!important;z-index:1!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-portal-nav{overflow:visible!important;isolation:isolate}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-group{position:relative!important;z-index:80!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-dropdown{z-index:9999!important;top:calc(100% - 1px)!important;min-width:245px!important;overflow:visible!important}
.thb-portal:has(.thb-flight-engine.is-results) .thb-nav-dropdown:before{content:"";position:absolute;right:0;left:0;top:-8px;height:10px}
.thb-demo-tag{background:linear-gradient(135deg,#e7f8f9,#eaffd2)!important;color:#17616a!important;border:1px solid #bfe8df!important;font-weight:850!important}
.thb-offer{position:relative!important;overflow:hidden!important;border:1px solid var(--thb-line)!important;background:linear-gradient(135deg,#fff 0 82%,#f6fbfc 82%)!important;border-radius:22px!important;box-shadow:var(--thb-shadow-sm)!important;transition:.22s ease!important}
.thb-offer:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--thb-violet),var(--thb-sky),var(--thb-lime))}
.thb-offer:hover{transform:translateY(-4px)!important;border-color:#acd7dd!important;box-shadow:0 20px 48px rgba(32,77,96,.15)!important}
.thb-airline-logo img{border:1px solid #dfebef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 18px rgba(31,67,89,.08)!important}
.thb-flight-line i,.thb-route-track i{height:3px!important;background:linear-gradient(90deg,var(--thb-violet),var(--thb-sky),var(--thb-lime))!important;border-radius:99px!important}
.thb-offer-price strong{color:var(--thb-violet)!important;letter-spacing:-.02em}
.thb-commission{color:#138359!important}
.thb-loader{border:1px solid var(--thb-line)!important;background:radial-gradient(circle at 50% 30%,#fff,#f3fafb)!important;border-radius:26px!important;box-shadow:var(--thb-shadow)!important}
.thb-loader-plane{border-top-color:var(--thb-sky)!important;border-right-color:var(--thb-violet)!important}

/* Checkout */
.thb-checkout{max-width:1380px!important}
.thb-checkout-steps{gap:12px!important}
.thb-checkout-step{border:1px solid var(--thb-line)!important;background:#eef5f7!important;border-radius:15px!important}
.thb-checkout-step.is-active{background:linear-gradient(135deg,var(--thb-deep),var(--thb-violet),var(--thb-ocean))!important;box-shadow:var(--thb-shadow-sm)!important}
.thb-checkout-step.is-active b{background:var(--thb-lime)!important;color:#203c2b!important}
.thb-checkout-main,.thb-checkout-summary{border-radius:24px!important;box-shadow:var(--thb-shadow)!important}
.thb-checkout-section{border-color:#e8eff2!important}
.thb-route-review,.thb-passenger-card,.thb-summary-route{border:1px solid var(--thb-line)!important;background:linear-gradient(135deg,#fff,#f5fafb)!important;border-radius:18px!important}
.thb-fare{border:1px solid var(--thb-line)!important;border-radius:18px!important;transition:.2s ease!important}
.thb-fare:hover{border-color:#9ed4db!important;transform:translateY(-2px)}
.thb-fare:has(input:checked){border:2px solid var(--thb-ocean)!important;background:linear-gradient(135deg,#f2fbfc,#f7fff0)!important;box-shadow:0 12px 28px rgba(8,127,140,.14)!important}
.thb-payment-card{border:2px solid var(--thb-ocean)!important;background:#f2fbfc!important}
.thb-payment-icon{background:linear-gradient(135deg,var(--thb-ocean),var(--thb-sky))!important}
.thb-live-price-ok{border:1px solid #b9e5d0!important;background:#effbf3!important;color:#176744!important;border-radius:14px!important}

/* Ticket and booking details */
.thb-ticket-premium{border:1px solid var(--thb-line)!important;border-radius:28px!important;box-shadow:var(--thb-shadow)!important}
.thb-ticket-premium:before{background:linear-gradient(90deg,var(--thb-violet) 0 45%,var(--thb-sky) 45% 78%,var(--thb-lime) 78%)!important}
.thb-ticket-premium .thb-ticket-ref,.thb-bd-top{background:linear-gradient(125deg,var(--thb-deep),var(--thb-violet),var(--thb-ocean))!important}
.thb-bd-section>header{background:linear-gradient(120deg,#f0edf9,#edf8f9)!important;color:var(--thb-violet)!important}
.thb-bd-segment{border:1px solid var(--thb-line)!important;background:linear-gradient(135deg,#fff 0 76%,#f0f8fa 76%)!important;border-radius:18px!important}
.thb-bd-segment:before{background:linear-gradient(var(--thb-violet),var(--thb-sky),var(--thb-lime))!important}
.thb-bd-status{background:#e8f8ee!important;color:#137044!important}

/* Data views */
.thb-r-filters,.thb-a-filters,.thb-agency-filters{border:1px solid var(--thb-line)!important;background:linear-gradient(135deg,#f8fbfc,#f4f8fb)!important;border-radius:18px!important}
.thb-r-kpi,.thb-a-card,.thb-agency-kpi{position:relative;overflow:hidden;border:1px solid var(--thb-line)!important;background:#fff;border-radius:17px!important;box-shadow:var(--thb-shadow-sm)!important}
.thb-r-kpi:before,.thb-a-card:before,.thb-agency-kpi:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--thb-violet),var(--thb-sky),var(--thb-lime))}
.thb-r-table,.thb-a-table,.thb-agency-table,.thb-admin-table{border-collapse:separate!important;border-spacing:0!important}
.thb-r-table th,.thb-a-table th,.thb-agency-table th,.thb-admin-table th{background:#eef5f7!important;color:#314e62!important;border-bottom:1px solid #d7e6eb!important}
.thb-r-table tbody tr:hover,.thb-a-table tbody tr:hover,.thb-agency-table tbody tr:hover,.thb-admin-table tbody tr:hover{background:#f4fbfb!important}

/* Footer */
.thb-portal-footer,.thb-global-footer,.thb-footer{background:linear-gradient(120deg,#13082f,#281051 50%,#075f6b)!important;color:#fff!important}
.thb-portal-footer:before,.thb-global-footer:before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--thb-violet),var(--thb-sky),var(--thb-lime))}
.thb-portal-footer a,.thb-global-footer a,.thb-footer a{color:#e9f7fa!important}
.thb-portal-footer h3,.thb-global-footer h3,.thb-footer h3{color:var(--thb-lime)!important}

/* WordPress admin */
body[class*="althurra"] #wpcontent{background:linear-gradient(135deg,#f1f7fa,#f7f4fb)!important}
.thb-admin{max-width:1580px!important;color:var(--thb-ink)!important}
.thb-admin-head{position:relative!important;overflow:hidden!important;border-radius:0 0 28px 28px!important;background:linear-gradient(115deg,var(--thb-deep),var(--thb-violet),var(--thb-ocean))!important;box-shadow:var(--thb-shadow)!important}
.thb-admin-head:after{content:"✈";position:absolute;left:5%;top:8%;font-size:120px;color:rgba(255,255,255,.07);transform:rotate(-14deg)}
.thb-admin-head h1,.thb-admin-head p{color:#fff!important}
.thb-admin-panel{padding:24px!important;margin-top:20px!important}
.thb-admin-card{position:relative!important;overflow:hidden!important;border:1px solid var(--thb-line);background:#fff;border-radius:var(--thb-r);box-shadow:var(--thb-shadow-sm)}
.thb-admin-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--thb-violet),var(--thb-sky),var(--thb-lime))}
.thb-admin-badge{background:#e8f8ee!important;color:#147247!important;border:1px solid #bce5cf!important}
.thb-admin-badge.off{background:#fff0f2!important;color:#a62943!important;border-color:#f1c4cd!important}

/* Responsive and accessibility */
@media(max-width:1050px){.thb-checkout-grid,.thb-bd-grid{grid-template-columns:1fr!important}.thb-checkout-summary{position:relative!important;top:auto!important}.thb-admin-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.thb-portal-hero{background-position:62% center!important}.thb-offer{grid-template-columns:1fr!important}.thb-results-top,.thb-r-head,.thb-a-head{align-items:flex-start!important;flex-direction:column!important}.thb-passenger-grid,.thb-r-filter-grid,.thb-a-filter-grid,.thb-admin-grid{grid-template-columns:1fr!important}.thb-checkout-section{padding:18px!important}.thb-card,.thb-admin-panel{border-radius:16px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body{background:#fff!important}.thb-portal-topbar,.thb-portal-nav,.thb-portal-footer,.thb-global-footer{display:none!important}.thb-ticket-premium,.thb-bd-section{box-shadow:none!important}}
/* v7.2.3 — Brand airport autocomplete */
.thb-airport-autocomplete{position:relative;display:block;width:100%;z-index:30}
.thb-airport-autocomplete:focus-within{z-index:200020}
.thb-airport-menu{position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:200021;max-height:330px;overflow:auto;padding:8px;border:1px solid rgba(75,25,146,.2);border-top:4px solid #afe560;border-radius:15px;background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%);box-shadow:0 22px 55px rgba(35,13,58,.24);scrollbar-width:thin;scrollbar-color:#7a35b6 #f2ebf8}
.thb-airport-menu[hidden]{display:none!important}
.thb-airport-option{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;min-height:52px;margin:0 0 5px;padding:7px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#281837;text-align:start;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.thb-airport-option:last-child{margin-bottom:0}
.thb-airport-option:hover,.thb-airport-option.is-active{border-color:rgba(75,25,146,.18);background:linear-gradient(100deg,rgba(175,229,96,.22),rgba(239,231,247,.9));transform:translateY(-1px);outline:none}
.thb-airport-code{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:4px 7px;border-radius:9px;background:linear-gradient(135deg,#3e116f,#6c27ab);box-shadow:0 5px 12px rgba(75,25,146,.19);color:#fff;font-size:13px;font-weight:900;letter-spacing:.5px;direction:ltr}
.thb-airport-name{overflow:hidden;color:#38264a;font-size:14px;font-weight:750;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.thb-airport-arrow{color:#78b923;font-size:18px;font-weight:900;direction:ltr}
.thb-airport-empty{padding:17px 12px;color:#766884;font-size:13px;font-weight:700;text-align:center}
.thb-field:has(.thb-airport-autocomplete),.althurra-field:has(.thb-airport-autocomplete){overflow:visible!important}
[dir="rtl"] .thb-airport-option{grid-template-columns:58px minmax(0,1fr) 24px}
@media(max-width:600px){.thb-airport-menu{max-height:270px}.thb-airport-option{grid-template-columns:52px minmax(0,1fr) 20px;min-height:48px;padding:6px 8px}.thb-airport-code{font-size:12px}.thb-airport-name{font-size:13px}}
