/* ============================================================================
   JetFinder — cinematic luxury travel theme (design-craft · Voyage formula).
   Loaded AFTER base.css so it overrides it. Dark teal canvas, coral + sand
   accents, Fraunces display + Cairo (Arabic) + Jost (labels), real imagery,
   hover-zoom cards. Functional hooks (travel-tab/panel/widget-mount, capture__*,
   lang-switch, wsec__body) keep their names so JS/tracking stay intact.
   Logical properties throughout → one sheet serves LTR + RTL.
   ========================================================================== */
:root{
  --bg:#0b1a1c; --bg2:#0f2326; --line:rgba(240,220,190,.16);
  --coral:#e98a6b; --coral-2:#f0a288; --sand:#e9d6b8; --gold:#d9b88a;
  --ink:#f6efe6; --ink-soft:#cdd8d2; --mut:#90a39b;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ar:'Cairo','Segoe UI',sans-serif;
  --sans:'Jost','Cairo',system-ui,sans-serif;
  --panel:#fbf8f2; --radius:16px;
}
body{ background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.7; -webkit-font-smoothing:antialiased; }
[dir="rtl"] body{ font-family:var(--ar); }
.travel img{ display:block; max-width:100%; }
h1,h2,h3{ font-family:var(--serif); font-weight:500; line-height:1.06; color:var(--ink); letter-spacing:0; margin:0 0 .4em; }
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3{ font-family:var(--ar); font-weight:700; }
a{ color:var(--coral); text-decoration:none; }

.wrap{ max-width:1240px; margin-inline:auto; padding-inline:32px; }
.eyebrow{ display:inline-block; font-family:var(--sans); font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--coral); margin-block-end:18px; }
[dir="rtl"] .eyebrow{ letter-spacing:.12em; font-family:var(--ar); font-weight:600; }
.lead{ color:var(--ink-soft); font-size:19px; line-height:1.7; max-width:54ch; }
.center{ text-align:center; } .center .lead{ margin-inline:auto; }
.muted{ color:var(--mut); }

/* Buttons */
.btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:14px; letter-spacing:.05em; font-weight:500;
  padding:15px 30px; border-radius:99px; border:1px solid transparent; cursor:pointer; transition:.35s cubic-bezier(.2,1,.36,1); }
[dir="rtl"] .btn{ font-family:var(--ar); }
.btn--p{ background:var(--coral); color:#1a0d08; } .btn--p:hover{ background:var(--sand); transform:translateY(-2px); }
.btn--g{ background:transparent; border-color:var(--line); color:var(--ink); } .btn--g:hover{ border-color:var(--coral); color:var(--coral); }
.btn .ico{ width:17px; height:17px; }

/* Top utility bar — languages */
.lang-bar{ position:relative; z-index:30; background:var(--bg); border-block-end:1px solid var(--line); }
.lang-bar__inner{ display:flex; align-items:center; gap:14px; padding-block:9px; max-width:1240px; margin-inline:auto; padding-inline:32px; overflow-x:auto; }
.lang-bar__label{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mut); white-space:nowrap; flex:0 0 auto; }
.lang-switch{ display:flex; gap:2px; }
.lang-switch__item{ flex:0 0 auto; padding:5px 11px; border-radius:99px; font-size:13px; color:var(--ink-soft); white-space:nowrap; transition:.25s; }
.lang-switch__item:hover{ background:var(--bg2); color:var(--coral); }
.lang-switch__item.is-active{ background:var(--coral); color:#1a0d08; font-weight:600; }

/* Shared header hidden — we render a bespoke cinematic nav in the top bar. */
.travel .site-header{ display:none; }
.lang-bar__brand{ flex:0 0 auto; font-family:var(--serif); font-size:23px; font-weight:600; color:var(--ink); letter-spacing:.4px; margin-inline-end:18px; }
.lang-bar__brand em{ font-style:italic; color:var(--coral); }

/* ---------- HERO (cinematic full-bleed) ---------- */
.tv-hero{ position:relative; min-height:96vh; display:flex; align-items:center; overflow:hidden; }
.tv-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.62) saturate(1.08); z-index:0; }
.tv-hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top,var(--bg) 3%,rgba(11,26,28,.25) 45%,rgba(11,26,28,.5) 100%); }
[dir="rtl"] .tv-hero::after{ background:linear-gradient(to top,var(--bg) 3%,rgba(11,26,28,.25) 45%,rgba(11,26,28,.5) 100%); }
.tv-hero .wrap{ position:relative; z-index:2; width:100%; padding-block:120px 60px; }
.tv-hero h1{ font-size:clamp(46px,8vw,108px); margin-block:10px 20px; max-width:14ch; }
.tv-hero h1 em{ font-style:italic; color:var(--sand); }
.tv-hero .lead{ color:#e8e0d4; max-width:42ch; }

/* Search panel (holds partner widget) — light, floating */
.travel-search{ position:relative; z-index:2; margin-top:38px; max-width:920px;
  background:var(--panel); border-radius:var(--radius); box-shadow:0 40px 90px -30px rgba(0,0,0,.7); overflow:hidden; color:#15302e; }
.travel-search__bar{ display:flex; align-items:center; gap:10px; padding:14px 22px 0; }
.travel-tabs{ display:flex; gap:4px; padding:14px 16px 0; }
.travel-tab{ flex:0 1 auto; padding:11px 22px; border:0; border-radius:99px 99px 0 0; background:transparent; font:inherit; font-family:var(--sans); font-weight:600; font-size:14px; color:#5c6b66; cursor:pointer; transition:.25s; }
[dir="rtl"] .travel-tab{ font-family:var(--ar); }
.travel-tab:hover{ color:#15302e; }
.travel-tab.is-active{ background:#fff; color:var(--coral); box-shadow:0 -2px 0 var(--coral) inset; }
.travel-tab:focus-visible{ outline:2px solid var(--coral); outline-offset:2px; }
.travel-panel{ padding:18px 22px 24px; }
.travel-panel[hidden]{ display:none; }
.travel-panel__title{ font-family:var(--sans); font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#7d8a85; margin-block-end:14px; }
[dir="rtl"] .travel-panel__title{ font-family:var(--ar); }
.travel-widget{ min-height:70px; }
.travel-widget :is(iframe,img){ max-width:100%; }
.travel-widget--fallback{ display:flex; flex-direction:column; align-items:center; gap:14px; padding-block:22px; text-align:center; }

/* Trust strip under hero */
.trustbar{ position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:26px; margin-top:30px; }
.trustbar .pill{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:#dcd3c4; font-family:var(--sans); letter-spacing:.02em; }
[dir="rtl"] .trustbar .pill{ font-family:var(--ar); }
.trustbar .pill .ico,.trustbar .pill svg{ width:17px; height:17px; color:var(--coral); }

/* ---------- Sections ---------- */
.sec{ padding-block:110px; }
.sec--tight{ padding-block:70px; }
.head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-block-end:48px; flex-wrap:wrap; }
.head h2{ font-size:clamp(32px,4.6vw,60px); margin:0; } .head .lead{ max-width:34ch; }
.head--center{ justify-content:center; text-align:center; flex-direction:column; align-items:center; }

/* Featured destination cards (real images) */
.dest{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.dcard{ position:relative; height:420px; border-radius:12px; overflow:hidden; display:block; }
.dcard img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s cubic-bezier(.2,0,0,1); }
.dcard:hover img{ transform:scale(1.08); }
.dcard::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(8,20,21,.92),transparent 58%); }
.dcard__c{ position:absolute; inset-block-end:0; inset-inline:0; padding:26px; z-index:2; }
.dcard__c h3{ font-size:27px; margin:0 0 4px; color:var(--ink); }
.dcard__c .p{ color:var(--sand); font-family:var(--sans); font-size:14px; }
[dir="rtl"] .dcard__c .p{ font-family:var(--ar); }
@media(max-width:980px){ .dest{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .dest{ grid-template-columns:1fr; } .dcard{ height:340px; } }

/* Full-bleed band */
.band{ position:relative; padding-block:150px; text-align:center; overflow:hidden; }
.band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.42) saturate(1.05); }
.band::after{ content:""; position:absolute; inset:0; background:radial-gradient(70% 70% at 50% 50%,transparent,rgba(11,26,28,.5)); }
.band .wrap{ position:relative; z-index:2; } .band h2{ font-size:clamp(34px,6vw,80px); } .band h2 em{ font-style:italic; color:var(--sand); }
.band .lead{ margin:16px auto 28px; color:#e8e0d4; }

/* Widget sections — light panels framed on dark canvas */
.wsec__head{ max-width:620px; margin-inline:auto; text-align:center; margin-block-end:42px; }
.wsec__head h2{ font-size:clamp(28px,3.6vw,46px); }
.wsec__head .lead{ margin-inline:auto; color:var(--ink-soft); }
.wsec__body{ max-width:980px; margin-inline:auto; overflow:hidden; background:var(--panel); border-radius:var(--radius); padding:22px;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.6); position:relative; }
.wsec__body::before{ content:""; position:absolute; inset-block-start:0; inset-inline:0; height:3px; background:var(--coral); }
.wsec__body :is(iframe,img){ max-width:100%; }
.wsec__body--map{ padding:8px; }

/* Experience / why grid */
.exp{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.exp .ic{ width:30px; height:30px; color:var(--coral); margin-inline:auto; stroke-width:1.5; }
.exp h3{ font-size:22px; margin-block:16px 8px; }
.exp p{ color:var(--mut); font-size:14.5px; font-family:var(--sans); }
[dir="rtl"] .exp p{ font-family:var(--ar); }
@media(max-width:880px){ .exp{ grid-template-columns:1fr 1fr; gap:42px; } }

/* Stats */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; border-block:1px solid var(--line); padding-block:56px; }
.stats .n{ font-family:var(--serif); font-size:clamp(40px,5vw,56px); color:var(--coral); line-height:1; }
[dir="rtl"] .stats .n{ font-family:var(--ar); font-weight:700; }
.stats .l{ color:var(--mut); font-family:var(--sans); font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin-block-start:10px; }
[dir="rtl"] .stats .l{ font-family:var(--ar); letter-spacing:0; }
@media(max-width:760px){ .stats{ grid-template-columns:1fr 1fr; gap:40px; } }

/* Capture / newsletter */
.capture{ max-width:640px; margin-inline:auto; text-align:center; }
.capture__head{ margin-block-end:28px; }
.capture__form{ display:flex; flex-direction:column; gap:16px; background:var(--bg2); border:1px solid var(--line); border-radius:var(--radius); padding:30px; text-align:start; }
.capture__row{ display:flex; gap:12px; flex-wrap:wrap; }
.capture__input{ flex:1 1 220px; padding:14px 18px; border-radius:99px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--ink); font:inherit; font-family:var(--sans); }
[dir="rtl"] .capture__input{ font-family:var(--ar); }
.capture__input::placeholder{ color:var(--mut); } .capture__input:focus-visible{ outline:none; border-color:var(--coral); }
.capture__channels{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; font-size:14px; color:var(--ink-soft); }
.capture__channels-label{ color:var(--mut); }
.capture__channels label{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.capture__consent{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--mut); line-height:1.5; }
.capture__consent input{ margin-block-start:3px; } .capture__consent a{ color:var(--sand); }
.capture__msg{ margin:0; font-weight:600; } .capture__msg.is-ok{ color:#7fd1a8; } .capture__msg.is-err{ color:#f0a288; }
.capture .btn--p{ align-self:flex-start; }
[dir="rtl"] .capture .btn--p{ align-self:flex-end; }

/* Footer (shared partial, scoped) */
.travel .site-footer{ background:var(--bg); border-block-start:1px solid var(--line); padding-block:42px; color:var(--mut); }
.travel .site-footer a{ color:var(--ink-soft); } .travel .site-footer a:hover{ color:var(--coral); }

/* ---------- Destination + sub pages (dark theme) ---------- */
.breadcrumb{ padding-block:16px; font-size:13px; color:var(--mut); }
.breadcrumb a{ color:var(--mut); } .breadcrumb a:hover{ color:var(--coral); }
.dest-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
.dest-chip{ display:block; padding:14px 18px; background:var(--bg2); border:1px solid var(--line); border-radius:12px; font-weight:600; color:var(--ink); transition:.25s; }
.dest-chip:hover{ border-color:var(--coral); color:var(--coral); }
.price-table-wrap{ overflow-x:auto; margin-top:20px; border:1px solid var(--line); border-radius:12px; background:var(--bg2); }
.price-table{ width:100%; border-collapse:collapse; }
.price-table th,.price-table td{ padding:14px 18px; text-align:start; border-block-end:1px solid var(--line); white-space:nowrap; }
.price-table thead th{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mut); }
.price-table tbody tr:last-child td{ border-block-end:0; } .price-table tbody tr:hover{ background:rgba(233,138,107,.06); }
.price-table .price-cell{ font-family:var(--serif); font-weight:600; font-size:20px; color:var(--coral); }
@media(max-width:560px){ .price-table .hide-sm{ display:none; } }

/* Icons */
.ico{ display:inline-block; vertical-align:-.15em; }
[data-lucide]{ vertical-align:-.15em; }

@media(max-width:880px){ .wrap{ padding-inline:22px; } .sec{ padding-block:78px; } .head{ flex-direction:column; align-items:flex-start; } .head--center{ align-items:center; } }
@media (prefers-reduced-motion: reduce){ *{ transition:none!important; animation:none!important; } .dcard img{ transition:none; } }
