/* =====================================================================================================
   BookFares: public site styles.
   Look: warm "paper and ink", serif headlines, a coral call-to-action, boarding-pass details.
   Colours come from the theme (Admin > Theme and logo): --navy/--navy2 ink, --gold accent (+ -d -l -xl tints),
   --amber highlight, --paper background, --cta call-to-action.
   ===================================================================================================== */

/* ---------- fonts (bundled, no Google needed) ---------- */
@font-face{font-family:'Sora';src:url('../fonts/sora-latin-wght-normal.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';src:url('../fonts/sora-latin-ext-wght-normal.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Cairo';src:url('../fonts/cairo-arabic-wght-normal.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Cairo';src:url('../fonts/cairo-latin-wght-normal.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{
  --navy:#0A2A2F;--navy2:#12444A;--gold:#0E7C7B;--gold-d:#0A5F5E;--gold-l:#D3EEEA;--gold-xl:#EEF8F6;--amber:#5FE0C9;
  --paper:#F6F8FD;--cta:#FF6B57;--cta-d:#E5503C;--on-cta:#0A2A2F;
  --bg:var(--paper);--card:#fff;--card2:var(--gold-xl);
  --ink:var(--navy);--ink2:#45595B;--muted:#5D7072;--line:#DDD8CC;--line2:#EAE6DB;
  --link:var(--gold);--link-h:var(--gold-d);--panel:var(--navy);--panel2:var(--navy2);--on-panel:#EAF4F2;--on-panel2:#A9C5C2;
  --btn-bg:var(--navy);--btn-ink:#fff;
  --red:#B42318;--red-l:#FEF3F2;--ok:#047857;--radius:20px;--radius-s:14px;
  --shadow:0 1px 2px rgba(10,42,47,.06),0 10px 30px rgba(10,42,47,.07);
  --shadow-l:0 2px 4px rgba(10,42,47,.06),0 24px 60px rgba(10,42,47,.14);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --head:'Sora','Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* legacy names used by some pages */
  --brand:var(--gold);--brand-dark:var(--gold-d);--brand-light:var(--gold-l);--danger:var(--red);
  --warn-bg:#FFF4D6;--warn-line:#E0B100;--warn-ink:#5B4500;
  color-scheme:light;
}
@supports (color:color-mix(in srgb,red,blue)){
  :root{
    --ink2:color-mix(in srgb,var(--navy) 80%,var(--paper));--muted:color-mix(in srgb,var(--navy) 64%,var(--paper));
    --line:color-mix(in srgb,var(--navy) 17%,var(--paper));--line2:color-mix(in srgb,var(--navy) 9%,var(--paper));
  }
}
html[data-mode="dark"]{
  --bg:#06171A;--card:#0E2A2F;--card2:#123840;--ink:#EEF5F4;--ink2:#C4D6D3;--muted:#9AB3B0;--line:rgba(255,255,255,.16);--line2:rgba(255,255,255,.09);
  --link:var(--amber);--link-h:#fff;--panel:#0B2428;--panel2:#12363C;--btn-bg:var(--gold);--btn-ink:#fff;
  --gold-xl:rgba(255,255,255,.06);--gold-l:rgba(255,255,255,.12);--gold-d:var(--amber);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 34px rgba(0,0,0,.35);--shadow-l:0 30px 70px rgba(0,0,0,.55);
  --warn-bg:#3A2F0A;--warn-line:#8A6E10;--warn-ink:#FFE9A8;--red-l:#3A1512;--red:#FF8A7E;--ok:#34D399;
  color-scheme:dark;
}
@supports (color:color-mix(in srgb,red,blue)){
  html[data-mode="dark"]{
    --bg:color-mix(in srgb,var(--navy) 80%,#000);--card:color-mix(in srgb,var(--navy2) 64%,var(--navy));--card2:color-mix(in srgb,var(--navy2) 90%,var(--navy));
    --panel:color-mix(in srgb,var(--navy) 70%,#000);--panel2:color-mix(in srgb,var(--navy2) 80%,var(--navy));
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;font:16.5px/1.68 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--link-h)}
h1,h2,h3,h4{font-family:var(--head);line-height:1.12;margin:0 0 .55em;color:var(--ink);font-weight:600;letter-spacing:-.022em;font-optical-sizing:auto}
h1{font-size:clamp(2.4rem,5.6vw,4.3rem);letter-spacing:-.035em;font-weight:600}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem);letter-spacing:-.03em}
h3{font-size:1.28rem;letter-spacing:-.015em;font-weight:600}
h4{font-size:1.02rem}
h1 em,h2 em,h1 .hl,h2 .hl{font-style:italic;font-weight:500;color:var(--gold)}
html[data-mode="dark"] h1 em,html[data-mode="dark"] h2 em,html[data-mode="dark"] h1 .hl,html[data-mode="dark"] h2 .hl{color:var(--amber)}
p{margin:0 0 1em}
::selection{background:var(--cta);color:var(--on-cta)}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.narrow{max-width:800px;margin:0 auto;padding:0 22px}
.wrap.narrow{max-width:800px}
.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.875rem}.lead{font-size:1.2rem;color:var(--ink2);line-height:1.62}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px;border-radius:6px}
.hidden,[hidden]{display:none!important}
.link{background:none;border:0;padding:0;color:var(--link);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.mono{font-family:var(--mono)}

/* ---------- top bars ---------- */
.modebar{background:#7c2d12;color:#fff;text-align:center;font-size:.85rem;padding:6px 12px;font-weight:700}
.announce{background:var(--panel);color:var(--on-panel);text-align:center;font:600 .82rem/1.3 var(--font);letter-spacing:.01em;padding:9px 14px}
.announce b{color:var(--amber)}

/* ---------- header: a floating pill ---------- */
.site-header{position:sticky;top:10px;z-index:40;margin:10px 12px 0;pointer-events:none}
.header-in{pointer-events:auto;display:flex;align-items:center;gap:14px;min-height:66px;max-width:1260px;margin:0 auto;padding:7px 12px 7px 16px;position:relative;
  background:color-mix(in srgb,var(--card) 86%,transparent);background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:22px;
  backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 10px 30px rgba(10,42,47,.08);transition:box-shadow .25s,background .25s}
@supports (color:color-mix(in srgb,red,blue)){.header-in{background:color-mix(in srgb,var(--card) 84%,transparent)}}
html[data-mode="dark"] .header-in{background:rgba(14,42,47,.82);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.site-header.scrolled .header-in{box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 16px 40px rgba(10,42,47,.16)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}
.brand:hover{color:var(--ink)}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt b{font-family:var(--head);font-weight:600;font-size:1.32rem;letter-spacing:-.03em;white-space:nowrap}
.brand-txt b i{font-style:italic;font-weight:500;color:var(--cta-d)}
html[data-mode="dark"] .brand-txt b i{color:var(--cta)}
.brand-txt small{font:700 .58rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.logo-mark{flex:none;filter:drop-shadow(0 3px 6px rgba(10,42,47,.22))}
.nav{display:flex;gap:0;margin-left:auto;align-items:center}
.nav a{position:relative;text-decoration:none;color:var(--ink);padding:9px 11px;font-weight:700;font-size:.9rem;white-space:nowrap;border-radius:10px}
.nav a:not(.cta-nav)::after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:2px;background:var(--cta);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:not(.cta-nav):hover::after,.nav a.on::after{transform:scaleX(1)}
.nav a:hover,.nav a.on{color:var(--ink)}
.nav a.cta-nav{background:var(--cta);color:var(--on-cta);margin-left:8px;padding:11px 18px;border-radius:14px;box-shadow:0 3px 0 var(--cta-d);transition:transform .12s,box-shadow .12s}
.nav a.cta-nav:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--cta-d);color:var(--on-cta)}
.cur select{padding:7px 26px 7px 10px;border-radius:10px;border:1.5px solid var(--line);font:inherit;font-size:.82rem;font-weight:800;background-color:var(--card);color:var(--ink);width:auto;min-height:38px}
.modebtn{width:38px;height:38px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0 4px;padding:0;transition:transform .2s,background .2s}
.modebtn:hover{transform:rotate(18deg);background:var(--gold-xl)}
.modebtn .i-moon{display:none}html[data-mode="dark"] .modebtn .i-sun{display:none}html[data-mode="dark"] .modebtn .i-moon{display:block}
.navtoggle,.navbtn{display:none}
.langs{display:inline-flex;gap:2px;align-items:center;margin:0 4px;padding:3px;border-radius:12px;background:var(--gold-xl)}
.langs a{padding:6px 9px;font-size:.8rem;border-radius:9px;text-decoration:none;color:var(--ink2);font-weight:800}
.langs a::after{display:none!important}
.langs a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(10,42,47,.18)}
@media(max-width:1180px){
  .brand-txt small{display:none}
  .navbtn{display:flex;margin-left:auto;width:46px;height:46px;align-items:center;justify-content:center;border-radius:14px;cursor:pointer;background:var(--btn-bg)}
  .navbtn span,.navbtn span::before,.navbtn span::after{display:block;width:20px;height:2px;background:#fff;position:relative;content:"";border-radius:2px;transition:.25s}
  .navbtn span::before{position:absolute;top:-6px}.navbtn span::after{position:absolute;top:6px}
  .navtoggle:checked ~ .navbtn span{background:transparent}.navtoggle:checked ~ .navbtn span::before{top:0;transform:rotate(45deg)}.navtoggle:checked ~ .navbtn span::after{top:0;transform:rotate(-45deg)}
  .nav{display:none;position:fixed;left:12px;right:12px;top:84px;bottom:12px;background:var(--bg);border:1px solid var(--line);border-radius:26px;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:22px 22px 28px;margin:0;box-shadow:var(--shadow-l);overflow:auto;gap:2px;pointer-events:auto}
  .navtoggle:checked ~ .nav{display:flex;animation:navin .28s cubic-bezier(.2,.8,.2,1)}
  .nav a{font:600 1.7rem/1.2 var(--head);letter-spacing:-.02em;padding:11px 6px;border-bottom:1px dashed var(--line);border-radius:0}
  .nav a:not(.cta-nav)::after{display:none}
  .nav a.cta-nav{font:800 1.05rem var(--font);margin:16px 0 0;text-align:center;border-bottom:0;border-radius:16px;padding:16px}
  .nav .cur,.nav .langs,.nav .modebtn{align-self:flex-start;margin:14px 6px 0 0}
  .nav .cur{display:inline-block}
  .nav .langs a{font:800 .9rem var(--font);padding:8px 12px;border:0}
  .nav .modebtn{display:inline-flex}
}
@keyframes navin{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- buttons and forms ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:50px;background:var(--btn-bg);color:var(--btn-ink);border:2px solid var(--btn-bg);border-radius:14px;padding:12px 24px;font:800 1rem/1.2 var(--font);cursor:pointer;text-decoration:none;text-align:center;transition:transform .14s,box-shadow .14s,background .14s,color .14s;box-shadow:0 3px 0 rgba(0,0,0,.28)}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(1px);box-shadow:0 2px 0 rgba(0,0,0,.28)}
.btn:active{transform:translateY(3px);box-shadow:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-p{background:var(--cta);border-color:var(--cta);color:var(--on-cta);box-shadow:0 3px 0 var(--cta-d)}
.btn-p:hover{background:var(--cta);border-color:var(--cta);color:var(--on-cta);box-shadow:0 2px 0 var(--cta-d)}
.btn-p:active{box-shadow:none}
.btn-o,.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none}
.btn-o:hover,.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);box-shadow:none}
.btn-accent{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-block{display:flex;width:100%}.btn-lg{min-height:58px;padding:15px 30px;font-size:1.06rem;border-radius:16px}
.btn-sm{min-height:40px;padding:8px 16px;font-size:.9rem;border-radius:12px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
label,.flab{display:block;font-weight:800;font-size:.86rem;margin:0 0 7px;color:var(--ink);letter-spacing:.005em}
.field{margin-bottom:16px}
input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;font:inherit;font-size:1rem;background:var(--card);color:var(--ink);transition:border-color .15s,box-shadow .15s}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23778' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
[dir="rtl"] select{background-position:left 12px center;padding-right:14px;padding-left:34px}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}
textarea{min-height:120px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted);margin-top:5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:860px){.grid3,.grid4{grid-template-columns:1fr 1fr}}@media(max-width:620px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check input{width:auto;min-height:0;margin-top:5px;accent-color:var(--gold)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ---------- cards and alerts ---------- */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;border:1.5px solid var(--line2)}
.alert{border-radius:14px;padding:13px 16px;margin:0 0 16px;font-size:.95rem}
.alert-warn,.notice,.note{background:var(--warn-bg);border:1.5px solid var(--warn-line);color:var(--warn-ink)}
.alert-ok{background:#d6f5e6;border:1.5px solid #6ee7b7;color:#064e3b}
.alert-error{background:#fde3e1;border:1.5px solid #f6a39b;color:#7f1d1d}
.alert-info{background:var(--gold-xl);border:1.5px solid var(--gold-l);color:var(--gold-d)}
html[data-mode="dark"] .alert-ok{background:#0B3B2B;border-color:#1F7A5A;color:#C5F5DF}
html[data-mode="dark"] .alert-error{background:#431714;border-color:#8F3A33;color:#FFD2CD}
.notice,.note{border-radius:14px;padding:13px 16px;font-size:.92rem}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:54px 0 70px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;right:-14%;top:-30%;width:68%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--gold) 0,var(--navy) 78%);opacity:.96}
html[data-mode="dark"] .hero::before{opacity:.55}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--gold) 26%,transparent) 1.4px,transparent 1.5px);background-size:24px 24px;-webkit-mask:linear-gradient(100deg,#000 0,#000 38%,transparent 60%);mask:linear-gradient(100deg,#000 0,#000 38%,transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero::before{width:130%;right:-40%;top:auto;bottom:-14%;aspect-ratio:1.4}.hero::after{-webkit-mask:none;mask:none;opacity:.5}}
.hero h1{max-width:10em;margin-bottom:.38em;font-size:clamp(2.4rem,4.7vw,3.9rem)}
.hero .lead{max-width:26em}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1.5px solid var(--line);color:var(--ink);font:700 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:8px 14px 8px 10px;margin-bottom:20px;box-shadow:0 2px 0 var(--line)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--cta);box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 28%,transparent);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px transparent}}
.hsteps{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;padding:0;margin:26px 0 28px}
.hsteps li{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:.92rem;background:color-mix(in srgb,var(--card) 70%,transparent);border:1.5px dashed var(--line);border-radius:99px;padding:6px 16px 6px 7px}
.hsteps b{width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--amber);display:flex;align-items:center;justify-content:center;font:700 .82rem var(--mono)}
.proof{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;color:var(--ink2);font-size:.88rem;font-weight:600}
.proof span::before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-3px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.page-hero{position:relative;padding:58px 0 46px;border-bottom:1.5px dashed var(--line);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;z-index:-1;right:-6%;top:-70%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--gold-l),transparent 70%)}
.page-hero::after{content:"";position:absolute;z-index:-1;right:6%;bottom:18px;width:300px;height:64px;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 64'%3E%3Cpath d='M2 58C70 58 110 6 200 8s90 30 98 50' fill='none' stroke='%23777' stroke-width='2' stroke-dasharray='1 9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.page-hero h1{margin:0;font-size:clamp(2.1rem,4.6vw,3.3rem);max-width:16em}
.page-hero p{color:var(--ink2);margin:12px 0 0;font-size:1.12rem;max-width:36em}
@media(max-width:700px){.page-hero::after{display:none}}

/* ---------- hero boarding passes: tall wallet-style passes ---------- */
.deck{position:relative;width:100%;max-width:540px;margin:0 auto;min-height:650px;perspective:1200px}
.pass{position:absolute;width:262px;filter:drop-shadow(0 28px 30px rgba(6,23,26,.34));color:#0A2A2F;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pass-a{left:0;top:6px;transform:rotate(-6deg);z-index:2}
.pass-b{right:0;top:58px;transform:rotate(5deg);z-index:1}
.deck:hover .pass-a{transform:rotate(-8.5deg) translate(-8px,-4px)}.deck:hover .pass-b{transform:rotate(7.5deg) translate(8px,6px)}
.pass-in{position:relative;background:#FFFDF8;border-radius:24px;overflow:hidden;--notch:352px;
  -webkit-mask:radial-gradient(circle 12px at 0 var(--notch),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--notch),#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 12px at 0 var(--notch),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--notch),#0000 97%,#000) right/51% 100% no-repeat}
.pass-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 18px;background:var(--gold);color:#fff}
.pass-b .pass-h{background:var(--cta);color:var(--on-cta)}
.pass-al{display:flex;align-items:center;gap:8px;font:800 .72rem/1 var(--font);letter-spacing:.09em}
.pass-logo{width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center}
.pass-b .pass-logo{background:rgba(0,0,0,.12)}
.pass-kind{font:700 .56rem/1 var(--mono);letter-spacing:.14em;opacity:.9}
.pass-body{padding:16px 18px 6px}
.pass .lbl{display:block;font:700 .56rem/1 var(--mono);letter-spacing:.13em;color:#6C7F80;text-transform:uppercase;margin-bottom:5px}
.pass-leg{display:grid;grid-template-columns:auto 1fr;gap:0 14px}
.pass-code{font:600 2.7rem/.95 var(--head);letter-spacing:-.04em;color:#0A2A2F}
.pass-city{font:700 .72rem/1.3 var(--font);color:#4D6466;align-self:center}
.pass-line{grid-column:1;position:relative;height:64px;display:flex;justify-content:center}
.pass-line::before{content:"";position:absolute;top:2px;bottom:2px;left:50%;border-left:2.5px dotted color-mix(in srgb,var(--gold) 60%,#fff)}
.pass-line i{position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--cta);color:var(--on-cta);display:flex;align-items:center;justify-content:center;transform:rotate(180deg);font-style:normal;box-shadow:0 0 0 5px #FFFDF8}
.pass-dur{grid-column:2;align-self:center;font:700 .66rem/1.3 var(--mono);letter-spacing:.04em;color:var(--gold-d)}
.pass-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 8px;margin-top:14px;padding:13px 0 12px;border-top:1.5px solid #EDE7DA;font:700 .86rem/1.2 var(--mono);color:#0A2A2F}
.pass-meta .pax{grid-column:1/-1;border:0;margin:0;padding:0;font:800 .84rem/1.2 var(--font);letter-spacing:.02em}
.pass-stub{position:relative;padding:15px 18px 18px;border-top:2.5px dashed #D9D1BF;display:flex;flex-direction:column;gap:10px;background:linear-gradient(#FFFDF8,#F6F0E2)}
.pass-ref{font:700 1.6rem/1 var(--mono);letter-spacing:.14em;color:#0A2A2F}
.pass-bar{height:38px;border-radius:3px;background:repeating-linear-gradient(90deg,#0A2A2F 0 2px,transparent 2px 4px,#0A2A2F 4px 5px,transparent 5px 8px,#0A2A2F 8px 11px,transparent 11px 13px,#0A2A2F 13px 14px,transparent 14px 17px)}
.pass-stamp{position:absolute;right:14px;top:-17px;transform:rotate(-9deg);font:800 .6rem/1 var(--mono);letter-spacing:.14em;color:var(--cta-d);border:2.5px solid var(--cta-d);border-radius:8px;padding:6px 9px;background:#FFFDF8;opacity:.96}
.sticker{position:absolute;right:-8px;top:-26px;width:118px;height:118px;z-index:3;border-radius:50%;background:var(--navy);color:var(--amber);box-shadow:0 18px 30px rgba(6,23,26,.35);display:flex;align-items:center;justify-content:center;transform:rotate(-8deg)}
.sticker svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite}
.sticker .logo-mark{filter:none}
.sticker text{font:700 10.5px var(--mono);letter-spacing:3px;fill:var(--amber)}
.verify{position:absolute;left:26px;bottom:78px;z-index:3;display:flex;align-items:center;gap:10px;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:16px;padding:10px 14px 10px 10px;box-shadow:var(--shadow-l);font:700 .8rem/1.25 var(--font);max-width:240px}
.verify b{flex:none;width:30px;height:30px;border-radius:10px;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center}
.verify small{display:block;font:500 .66rem/1.2 var(--mono);color:var(--muted);letter-spacing:.03em;margin-top:2px}
.deck-chips{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.deck .deck-chips{position:absolute;left:0;right:0;bottom:-6px}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1.5px solid var(--line);color:var(--ink);border-radius:99px;padding:7px 13px;font-size:.8rem;font-weight:800}
.chip b{width:18px;height:18px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem}
@media(prefers-reduced-motion:no-preference){
  .deck.run .pass-a{animation:dealA .9s cubic-bezier(.2,.9,.25,1) .1s both,bobA 9s ease-in-out 1.2s infinite}
  .deck.run .pass-b{animation:dealB .9s cubic-bezier(.2,.9,.25,1) .3s both,bobB 10s ease-in-out 1.4s infinite}
  .deck.run .sticker{animation:pop .6s cubic-bezier(.2,1.4,.4,1) .9s both}
  .deck.run .verify{animation:pop .6s cubic-bezier(.2,1.4,.4,1) 1.5s both}
  .deck.run .deck-chips{animation:rise .6s ease 1.8s both}
  .hero .hero-grid>div:first-child>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .hero .hero-grid>div:first-child>*:nth-child(2){animation-delay:.07s}.hero .hero-grid>div:first-child>*:nth-child(3){animation-delay:.14s}.hero .hero-grid>div:first-child>*:nth-child(4){animation-delay:.21s}.hero .hero-grid>div:first-child>*:nth-child(5){animation-delay:.28s}.hero .hero-grid>div:first-child>*:nth-child(6){animation-delay:.35s}
}
@keyframes dealA{from{opacity:0;transform:translate(60px,120px) rotate(14deg) scale(.8)}to{opacity:1;transform:rotate(-6deg)}}
@keyframes dealB{from{opacity:0;transform:translate(-60px,140px) rotate(-12deg) scale(.8)}to{opacity:1;transform:rotate(5deg)}}
@keyframes bobA{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(-5.2deg) translateY(-8px)}}
@keyframes bobB{0%,100%{transform:rotate(5deg)}50%{transform:rotate(4.2deg) translateY(-6px)}}
@keyframes pop{from{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.verify,.sticker{will-change:transform}
@media(max-width:560px){
  .deck{min-height:590px;max-width:380px}.pass{width:186px}.pass-code{font-size:1.95rem}.pass-in{--notch:318px}.pass-line{height:50px}.pass-ref{font-size:1.05rem;letter-spacing:.08em}
  .pass-body{padding:12px 13px 4px}.pass-h{padding:11px 12px}.pass-stub{padding:12px 13px 14px}.pass-al{font-size:.6rem}.pass-kind{display:none}
  .pass-meta{font-size:.7rem;gap:10px 4px}.pass-meta .pax{font-size:.74rem}.pass-city{font-size:.62rem}.pass-dur{font-size:.56rem}
  .pass-b{top:46px}.sticker{width:88px;height:88px;right:-2px;top:-22px}.verify{left:4px;bottom:72px;max-width:200px}
}
[dir="rtl"] .deck,[dir="rtl"] .pass,[dir="rtl"] .sticker{direction:ltr}

/* ---------- ticker strip ---------- */
.ticker{background:var(--panel);color:var(--on-panel);overflow:hidden;border-block:2px solid var(--navy2);position:relative;direction:ltr}
.ticker-in{display:flex;width:max-content;animation:tick 48s linear infinite}
.ticker:hover .ticker-in{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:18px;padding:15px 18px 15px 0;font:700 .76rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.ticker span::after{content:"\2708";color:var(--cta);font-size:1rem;transform:rotate(45deg)}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-in{animation:none;flex-wrap:wrap}}

/* ---------- sections ---------- */
section.block,section.s{padding:92px 0}
section.alt{background:var(--card);border-block:1.5px solid var(--line2)}
.sec-h{max-width:760px;margin:0 auto 52px;text-align:center}
.sec-h .lead{max-width:34em;margin-inline:auto}
.kicker{display:inline-block;font:700 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);background:var(--gold-xl);border:1.5px solid var(--gold-l);border-radius:8px;padding:7px 11px;margin-bottom:16px}
html[data-mode="dark"] .kicker{color:var(--amber)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in,.no-js .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* how it works: numbered steps joined by a flight line */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:st;list-style:none;padding:0;margin:0;position:relative}
.steps li{padding:0 26px 0 0;counter-increment:st;position:relative}
.steps li::before{content:counter(st,decimal-leading-zero);display:block;font:500 3.6rem/1 var(--head);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--gold);margin-bottom:16px;font-style:italic}
html[data-mode="dark"] .steps li::before{-webkit-text-stroke-color:var(--amber)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:34px;left:92px;right:14px;border-top:2.5px dotted var(--line)}
.steps h3{margin-bottom:.35em}.steps p{margin:0;color:var(--muted);font-size:.95rem}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:40px}.steps li:nth-child(2)::after{display:none}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.steps li::after{display:none}}

/* why us: bento */
.features{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.feature{grid-column:span 4;background:var(--card);border:1.5px solid var(--line2);border-radius:26px;padding:28px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}
.feature:nth-child(1){grid-column:span 7;background:var(--panel);color:var(--on-panel);border-color:transparent;min-height:230px}
.feature:nth-child(1) h3{color:#fff;font-size:1.9rem}.feature:nth-child(1) p{color:var(--on-panel2);font-size:1.05rem;max-width:28em}
.feature:nth-child(1)::after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--gold),transparent 70%);opacity:.55}
.feature:nth-child(2){grid-column:span 5;background:var(--cta);border-color:transparent;color:var(--on-cta)}
.feature:nth-child(2) h3,.feature:nth-child(2) p{color:var(--on-cta)}
.feature:nth-child(3){grid-column:span 5;background:var(--gold-xl)}
.feature:nth-child(4){grid-column:span 7;background:var(--card2)}
.feature .ic{width:52px;height:52px;border-radius:16px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.feature:nth-child(1) .ic{background:var(--cta);color:var(--on-cta)}
.feature:nth-child(2) .ic{background:var(--navy);color:#fff}
.feature h3{margin-bottom:.35em}.feature p{margin:0;color:var(--muted);font-size:.97rem}
@media(max-width:900px){.features{grid-template-columns:1fr 1fr}.feature,.feature:nth-child(n){grid-column:span 1;min-height:0}.feature:nth-child(1){grid-column:1/-1}}
@media(max-width:560px){.features{grid-template-columns:1fr}.feature:nth-child(n){grid-column:1}}

/* plan cards (older markup) */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;align-items:stretch}
@media(max-width:900px){.plans{grid-template-columns:1fr}}
.plancard{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;display:flex;flex-direction:column}
.plancard.pop{border-color:var(--cta)}
.plancard .flag{position:absolute;top:-13px;left:24px;background:var(--cta);color:var(--on-cta);font-size:.74rem;font-weight:800;border-radius:99px;padding:4px 12px;letter-spacing:.04em}
.plancard h3{font-size:1.25rem;margin-bottom:.2em}.plancard .big{font-family:var(--head);font-size:2.6rem;font-weight:600;line-height:1.1}
.plancard .big small{font-size:.9rem;font-weight:600;color:var(--muted)}
.plancard ul{list-style:none;padding:0;margin:16px 0 22px;flex:1}.plancard li{padding:5px 0 5px 26px;position:relative;font-size:.95rem}
.plancard li::before{content:"\2713";position:absolute;left:0;color:var(--ok);font-weight:800}
.plancard li.no::before{content:"\2715";color:var(--red)}
table.cmp{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:.95rem;border:1.5px solid var(--line2)}
table.cmp th,table.cmp td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line2);vertical-align:top}
table.cmp tr:last-child td{border-bottom:0}
table.cmp th{background:var(--navy);color:#fff;font:600 1.02rem var(--head)}
html[data-mode="dark"] table.cmp th{background:var(--panel2)}
table.cmp td:first-child{font-weight:800;color:var(--ink2)}
.tablewrap{overflow-x:auto}
.tickl,.tick{list-style:none;padding:0;margin:14px 0 0}.tickl li,.tick li{padding:5px 0 5px 30px;position:relative;font-size:.97rem}
.tickl li::before,.tick li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.dark{position:relative;overflow:hidden;background:var(--panel);color:var(--on-panel);border-radius:34px;padding:56px 52px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;isolation:isolate}
.dark::before{content:"";position:absolute;z-index:-1;right:-80px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,var(--cta),transparent 68%);opacity:.5}
.dark::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:90px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 90' preserveAspectRatio='none'%3E%3Cpath d='M-10 80C200 90 330 10 560 30s330 40 460 -10' fill='none' stroke='%23fff' stroke-opacity='.35' stroke-width='2' stroke-dasharray='1 10' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.dark h2{color:#fff;margin:0;font-size:clamp(1.8rem,3.4vw,2.7rem);max-width:15em}.dark p{margin:10px 0 0;color:var(--on-panel2);font-size:1.08rem}
@media(max-width:700px){.dark{padding:36px 26px;border-radius:26px}}

/* FAQ */
details.faq,details.q{background:var(--card);border:1.5px solid var(--line2);border-radius:18px;margin:0 0 12px;transition:border-color .2s,box-shadow .2s}
details.faq summary,details.q summary{cursor:pointer;font:600 1.12rem/1.35 var(--head);letter-spacing:-.01em;padding:18px 22px;list-style:none;position:relative;padding-right:62px}
details summary::-webkit-details-marker{display:none}
details.faq summary::after,details.q summary::after{content:"";position:absolute;right:18px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--gold-xl) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s,background-color .3s}
details.faq[open],details.q[open]{border-color:var(--gold);box-shadow:var(--shadow)}
details.faq[open] summary::after,details.q[open] summary::after{transform:rotate(135deg);background-color:var(--cta)}
details.faq .ans,details.q .a{padding:0 22px 20px;color:var(--ink2)}
.guide{background:var(--card);border:1.5px solid var(--line2);border-radius:18px;padding:4px 22px;margin-bottom:12px}
.guide summary{cursor:pointer;font:600 1.1rem var(--head);padding:15px 0}.guide ul{margin:4px 0 14px;padding-left:20px}.guide li{margin-bottom:.4em}

/* reviews */
.rsum{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:28px}
.rsum .avg{font-family:var(--head);font-size:3.6rem;font-weight:600;line-height:1}
.stars{color:var(--cta);letter-spacing:2px;font-size:1.1rem}.stars i{color:var(--line);font-style:normal}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.rgrid{grid-template-columns:1fr}}
.rcard{background:var(--card);border:1.5px solid var(--line2);border-radius:24px;padding:26px 24px;position:relative}
.rcard::before{content:"\201C";position:absolute;right:20px;top:2px;font:600 5.2rem/1 var(--head);color:var(--gold-l);pointer-events:none}
.rcard .who{display:flex;gap:8px;align-items:center;font-size:.9rem;margin-top:12px;flex-wrap:wrap}
.vbadge{background:var(--gold-xl);color:var(--gold-d);font:700 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 8px;border:1px solid var(--gold-l)}
.rreply{background:var(--gold-xl);border-radius:14px;padding:11px 14px;margin-top:12px;font-size:.9rem}

/* prose pages (terms, privacy) */
.prose{font-size:1.02rem}
.prose h2{margin-top:1.9em;font-size:1.65rem}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.45em}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1em 0}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.prose th{background:var(--gold-xl)}
.prose a{font-weight:700}

/* order page */
.pill{display:inline-block;padding:4px 12px;border-radius:99px;font:700 .72rem var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#6b7280}
.pill-green{background:var(--ok)}.pill-amber{background:#b45309}.pill-red{background:var(--red)}.pill-purple{background:#6d28d9}.pill-gray{background:#6b7280}.pill-warn{background:#b45309}
html[data-mode="dark"] .pill-green{color:#032}html[data-mode="dark"] .pill-red{color:#300}
.pnr{font:700 2.5rem/1.1 var(--mono);letter-spacing:.14em;color:var(--ink)}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}.kv dt{color:var(--muted);font-size:.9rem}.kv dd{margin:0;font-weight:700}
@media(max-width:560px){.kv{grid-template-columns:1fr}.kv dt{margin-top:8px}}
table.flights{width:100%;border-collapse:collapse;font-size:.95rem}
table.flights th,table.flights td{padding:11px 8px;border-bottom:1px solid var(--line2);text-align:left}
table.flights th{font:700 .66rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.loading{display:inline-block;width:16px;height:16px;border:3px solid var(--line);border-top-color:var(--cta);border-radius:50%;animation:spin 1s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.timeline{list-style:none;padding:0;margin:16px 0 0;border-left:3px dotted var(--line)}
.timeline li{padding:0 0 18px 20px;position:relative}.timeline li::before{content:"";position:absolute;left:-10px;top:3px;width:17px;height:17px;border-radius:50%;background:var(--card);border:3px solid var(--line)}
.timeline li.done::before{background:var(--ok);border-color:var(--ok)}.timeline li.now::before{border-color:var(--cta);background:var(--cta)}

/* footer */
.site-footer{position:relative;overflow:hidden;background:var(--panel);color:var(--on-panel2);padding:72px 0 30px;margin-top:0;isolation:isolate}
.site-footer::before{content:"BookFares";position:absolute;z-index:-1;left:50%;bottom:-.22em;transform:translateX(-50%);white-space:nowrap;font:600 clamp(3.4rem,11vw,10rem)/1 var(--head);letter-spacing:-.05em;color:rgba(255,255,255,.035);pointer-events:none}
.site-footer a{color:var(--on-panel);text-decoration-color:rgba(255,255,255,.25)}.site-footer a:hover{color:var(--cta)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:36px}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font:700 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.3em}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.55em;font-size:.94rem}
.foot-brand{margin-bottom:.9em}.foot-brand .brand-txt b{color:#fff}.foot-brand .brand-txt b i{color:var(--cta)}.foot-brand{color:#fff}
.muted-light{color:var(--on-panel2);font-size:.92rem}
.fine{border-top:1px solid rgba(255,255,255,.13);margin:34px 0 0;padding-top:18px;font-size:.8rem;color:var(--on-panel2)}
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.28);z-index:50}

/* ===== booking form ===== */
.stepbar{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 24px;flex-wrap:wrap}
.stepbar li{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--muted);font-size:.9rem}
.stepbar li b{width:30px;height:30px;border-radius:10px;background:var(--line2);color:var(--muted);display:flex;align-items:center;justify-content:center;font:700 .82rem var(--mono)}
.stepbar li.on{color:var(--ink)}.stepbar li.on b{background:var(--navy);color:var(--amber)}.stepbar li.done{color:var(--ok)}.stepbar li.done b{background:var(--ok);color:#fff}
html[data-mode="dark"] .stepbar li.on b{background:var(--gold);color:#fff}
.stepbar li:not(:last-child)::after{content:"";width:30px;height:0;border-top:2.5px dotted var(--line);margin-left:6px}
.bk-grid{display:grid;grid-template-columns:1fr 380px;gap:26px;align-items:start}
@media(max-width:980px){.bk-grid{grid-template-columns:1fr}}
.bk-main{display:flex;flex-direction:column;gap:22px}
.bk-main .card h2{font-size:1.55rem;margin-bottom:.55em}
.bk-sum{position:sticky;top:100px;display:flex;flex-direction:column;gap:12px}
@media(max-width:980px){.bk-sum{position:static}}
.bk-sum h2{font-size:1.35rem;margin:0}
.bk-sum.card{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--cta)}
.sumrow{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;border-bottom:1.5px dashed var(--line);padding-bottom:11px}.sumrow small{display:block;color:var(--muted);font-size:.82rem}
.sumrow.tot{border:0;font-size:1.15rem;align-items:center;font-weight:800}.sumrow.tot .amt{font-family:var(--head);font-size:2rem;font-weight:600}
.optlist{display:flex;flex-direction:column;gap:11px}
.opt{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:16px 18px;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.opt:hover{border-color:var(--gold);transform:translateY(-1px)}.opt.on{border-color:var(--ink);background:var(--gold-xl);box-shadow:4px 4px 0 var(--cta)}
.opt .dot{flex:0 0 24px;height:24px;border-radius:50%;border:2px solid var(--muted);position:relative}.opt.on .dot{border-color:var(--ink)}.opt.on .dot::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--cta)}
.opt .grow{flex:1;display:flex;flex-direction:column;gap:2px}.opt small{color:var(--muted);font-size:.85rem}
.opt .pr{text-align:right;font-family:var(--head);font-weight:600;font-size:1.45rem;display:flex;flex-direction:column}.opt .pr small{font-family:var(--font);font-weight:700;font-size:.74rem}
.tag{display:inline-block;background:var(--cta);color:var(--on-cta);font:700 .6rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:3px 8px;margin-left:6px;vertical-align:middle}
.seg{display:inline-flex;background:var(--line2);border-radius:16px;padding:5px;gap:4px;margin-bottom:20px;flex-wrap:wrap}
.segb{border:0;background:transparent;border-radius:12px;padding:10px 18px;font:800 .95rem var(--font);color:var(--ink2);cursor:pointer;min-height:44px}.segb.on{background:var(--ink);color:var(--bg);box-shadow:0 2px 0 rgba(0,0,0,.25)}
.route{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start;margin-bottom:12px}
.route .swap{margin-top:30px;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:14px;width:48px;height:48px;font-size:1.1rem;cursor:pointer;transition:transform .3s,background .2s}
.route .swap:hover{transform:rotate(180deg);background:var(--gold-xl)}
.route:has(.swap) {grid-template-columns:1fr auto 1fr}
@media(max-width:640px){.route{grid-template-columns:1fr}.route .swap{margin:0;justify-self:center}}
.leg .route{grid-template-columns:1fr 1fr}.leg{border:2px dashed var(--line);border-radius:20px;padding:18px;margin-bottom:14px}
@media(max-width:640px){.leg .route{grid-template-columns:1fr}}
.legh{font:800 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;color:var(--gold-d)}
.ac{position:relative}.aclist{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow-l);z-index:40;max-height:320px;overflow:auto}
.acitem{padding:11px 15px;cursor:pointer;border-bottom:1px solid var(--line2)}.acitem:last-child{border:0}.acitem:hover,.acitem.act{background:var(--gold-xl)}
.acitem .code{background:var(--navy);color:var(--amber);border-radius:6px;padding:2px 8px;font:700 .74rem var(--mono);margin-left:6px}.acitem small{display:block;color:var(--muted);font-size:.8rem}
.acnone{padding:13px 15px;color:var(--muted);font-size:.9rem}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:12px}
.fg5{display:grid;grid-template-columns:96px 128px 1fr 1fr 168px;gap:12px}@media(max-width:980px){.fg5{grid-template-columns:1fr 1fr 1fr}}@media(max-width:560px){.fg5{grid-template-columns:1fr 1fr}}
.fg4{display:grid;grid-template-columns:110px 1fr 1fr 170px;gap:12px}@media(max-width:820px){.fg4{grid-template-columns:1fr 1fr}}@media(max-width:520px){.fg4{grid-template-columns:1fr}}
.pxrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 6px}
.pax{border-top:1.5px dashed var(--line);padding-top:16px;margin-top:16px}
.dpanel{background:var(--gold-xl);border:1.5px solid var(--gold-l);border-radius:18px;padding:18px;margin-top:14px}
.chipsrow{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.chipsrow .chip,button.chip{border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:7px 14px;font:800 .85rem var(--font);cursor:pointer;min-height:38px}
.chipsrow .chip.on,button.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.err{color:var(--red);font-size:.86rem;margin-top:5px;min-height:0;display:none}.err.show,.err:not(:empty){display:block}
.errbox{background:var(--red-l);color:var(--red);border:1.5px solid color-mix(in srgb,var(--red) 35%,transparent);border-radius:14px;padding:11px 14px;font-size:.92rem}
.rowb{display:flex;justify-content:space-between;align-items:center}.rowb h2{margin:0}
.rv{padding:11px 0;border-bottom:1.5px dashed var(--line)}.rv:last-child{border:0}.rv b{display:block}.rv small{color:var(--muted)}
.cbrow{display:flex;gap:12px;align-items:flex-start;font-size:.93rem;line-height:1.55;margin:12px 0;font-weight:500}.cbrow input{width:22px;height:22px;min-height:0;flex:0 0 22px;margin-top:2px;accent-color:var(--gold)}
.fxnote:empty{display:none}
.opt .tag{align-self:flex-start;margin-left:0;margin-top:3px}
.tag-free{background:var(--ok);color:#fff}
.free-amt{font-family:var(--head);font-weight:600;font-size:1.4rem;color:var(--ok)}
.flag-free{background:var(--ok)!important}
.freecard{border-style:dashed}
.promocard{border:2px solid var(--cta);box-shadow:7px 7px 0 var(--cta)}
.opt.promo{border-color:var(--cta)}
.opt[disabled]{opacity:.55;cursor:not-allowed}
.cprow{display:flex;gap:10px;align-items:stretch}.cprow input{flex:1;text-transform:uppercase}
.sumrow.disc .amt,.sumrow.disc small{color:var(--ok)}

@media print{.site-header,.site-footer,.modebar,.announce,.noprint,.ticker,.chatfloat,.mbar{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ccc}}

/* chat buttons */
.chatfloat{position:fixed;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:10px}
.chatfloat.right{right:18px}.chatfloat.left{left:18px}
.chatfloat a{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 rgba(0,0,0,.2),0 10px 22px rgba(0,0,0,.22);transition:transform .15s}
.chatfloat a:hover{transform:translateY(-3px) rotate(-4deg)}
.chat-wa{background:#25d366}.chat-ms{background:#0084ff}.chat-tg{background:#229ed9}

/* ===== calendar ===== */
.dp-in{cursor:pointer;background-color:var(--card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:42px!important}
[dir="rtl"] .dp-in{background-position:left 13px center;padding-right:14px!important;padding-left:42px!important}
.dp-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:70;background:var(--card);border:2px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--cta),var(--shadow-l);padding:16px;min-width:300px}
.dp-pop.up{top:auto;bottom:calc(100% + 6px)}
.dp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.dp-title{font:600 1.1rem var(--head)}
.dp-nav{width:40px;height:40px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}
.dp-nav:hover{background:var(--gold-xl);border-color:var(--gold)}
.dp-sel{width:auto!important;padding:8px 28px 8px 10px!important;min-height:40px!important;font-weight:800}
.dp-months{display:flex;gap:24px}
.dp-m{min-width:268px}
.dp-mt{font:600 1rem var(--head);text-align:center;margin:2px 0 8px}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.dp-w{font:700 .62rem var(--mono);text-transform:uppercase;color:var(--muted);text-align:center;padding:5px 0}
.dp-day{height:40px;border:0;border-radius:12px;background:transparent;font:700 .95rem var(--font);color:var(--ink);cursor:pointer}
.dp-day:hover:not([disabled]){background:var(--gold-l)}
.dp-day[disabled]{color:var(--line);cursor:not-allowed;text-decoration:line-through}
.dp-day.today{box-shadow:inset 0 0 0 2px var(--cta)}
.dp-day.sel,.dp-day.edge{background:var(--ink);color:var(--bg)}
.dp-day.rng{background:var(--gold-xl);border-radius:0}
.dp-foot{display:flex;gap:16px;justify-content:space-between;border-top:1.5px dashed var(--line);margin-top:10px;padding-top:10px}
.dp-link{background:none;border:0;color:var(--link);font:inherit;font-weight:800;cursor:pointer;padding:6px 2px}
.dp-shade{display:none}
@media(max-width:720px){.dp-months{display:block}.dp-m{min-width:0}}
@media(max-width:640px){
  .dp-shade{display:block;position:fixed;inset:0;background:rgba(6,23,26,.6);z-index:60}
  .dp-pop{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:26px 26px 0 0;padding:18px 16px 24px;z-index:70;max-height:88vh;overflow:auto;box-shadow:none;border-width:2px 0 0}
  .dp-day{height:46px}
}

/* live flights */
.fl{border:2px solid var(--line);border-radius:22px;padding:16px 18px;margin-bottom:14px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.fl.on{border-color:var(--ink);background:var(--gold-xl);box-shadow:5px 5px 0 var(--cta)}
.fl-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.fl-al{display:flex;align-items:center;gap:10px;font-weight:800}
.fl-al b{width:36px;height:36px;border-radius:12px;background:var(--navy);color:var(--amber);display:flex;align-items:center;justify-content:center;font:700 .76rem var(--mono)}
.fl-chip{font:700 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:4px 9px;background:var(--line2);color:var(--ink2)}.fl-chip.ok{background:#d1fae5;color:#065f46}
.fl-row{display:grid;grid-template-columns:90px 1fr 90px;gap:8px 10px;align-items:center;padding:12px 0;border-top:1.5px dashed var(--line)}
.fl-row:first-of-type{border-top:0}
.fl-t b{font:600 1.6rem/1.1 var(--head);display:block}.fl-t sup{font-size:.6rem;color:var(--red);margin-left:2px}.fl-t small{color:var(--muted);font-size:.78rem}
.fl-t:last-of-type{text-align:right}
.fl-mid{text-align:center;color:var(--muted);font-size:.78rem}.fl-mid small{display:block}
.fl-mid i{display:block;border-top:2.5px dotted var(--line);margin:6px 4px;position:relative}.fl-mid i::after{content:"";position:absolute;right:-2px;top:-7px;border:5px solid transparent;border-left:8px solid var(--line)}
.fl-no{grid-column:1/-1;font-size:.78rem;color:var(--muted)}
.fl-f{display:flex;justify-content:flex-end;margin-top:6px}
.fl-load{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 10px;text-align:center}.fl-load .loading{width:34px;height:34px}
.fl-sp{flex:1}
@media(max-width:560px){.fl-row{grid-template-columns:70px 1fr 70px}.fl-t b{font-size:1.25rem}}

/* ---------- product cards: Verifiable Flight Reservation / Flight Itinerary / Real Flight Ticket ---------- */
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,360px));gap:24px;justify-content:center;align-items:stretch}
.prod{--pc:var(--gold);position:relative;background:var(--card);border:2px solid var(--line);border-radius:28px;display:flex;flex-direction:column;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.prod:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:var(--shadow-l)}
.prod-itin{--pc:var(--ok)}.prod-tkt{--pc:#8a8f98}
.prod-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 24px 16px;position:relative}
.prod-ic{width:48px;height:48px;border-radius:16px;background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 4px 0 rgba(0,0,0,.18);transform:rotate(-4deg)}
.prod-h h3{margin:0;font-size:1.28rem;line-height:1.15;flex:1;min-width:140px}
.prod-badge{font:700 .6rem var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--pc);color:#fff;border-radius:7px;padding:5px 9px}
.prod-b{padding:4px 24px 20px;flex:1}
.prod-price{font:600 3.3rem/1.05 var(--head);letter-spacing:-.04em;color:var(--ink);margin-bottom:6px}.prod-price small{font:700 .92rem var(--font);letter-spacing:0;color:var(--muted);margin-left:4px}
.pfree{color:var(--ok)}
.prod-ref{margin:16px 0;padding:14px 16px;border-radius:16px;border:2px dashed color-mix(in srgb,var(--pc) 45%,var(--line));background:color-mix(in srgb,var(--pc) 7%,var(--card))}
.prod-ref .k{display:block;font:700 .6rem var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:5px}
.prod-ref .v{display:flex;align-items:center;gap:8px;font-weight:800}
.prod-ref .v.ok{color:var(--ok)}.prod-ref .v.no{color:var(--ink2)}.dash{display:inline-block;width:16px;text-align:center}
.prod-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.prod-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.prod-list li.n{color:var(--muted)}
.prod-list .pi{flex:none;margin-top:3px}.pi-y{color:var(--ok)}.pi-n{color:var(--muted)}
.prod-note{margin:16px 0 0;font:700 .72rem var(--mono);letter-spacing:.04em;color:var(--cta-d)}
.prod-f{padding:0 24px 24px;position:relative}
.prod-f::before{content:"";position:absolute;left:14px;right:14px;top:-12px;border-top:2.5px dashed var(--line)}
.prod .choose{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font:800 1.02rem var(--font);color:#fff;background:var(--btn-bg);text-decoration:none;padding:16px 18px;border-radius:16px;box-shadow:0 4px 0 rgba(0,0,0,.28);transition:transform .14s,box-shadow .14s;margin-top:4px}
.prod .choose:hover{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.28)}
.prod .choose.off{background:var(--line2);color:var(--muted);box-shadow:none;cursor:not-allowed}.prod .choose.off:hover{transform:none}
.prod-res{border-color:var(--ink);box-shadow:9px 9px 0 var(--cta)}
.prod-res:hover{box-shadow:12px 12px 0 var(--cta);transform:translate(-2px,-4px)}
.prod-res .prod-ic{background:var(--cta);color:var(--on-cta)}
.prod-res .prod-badge{background:var(--cta);color:var(--on-cta)}
.prod-res .choose{background:var(--cta);color:var(--on-cta);box-shadow:0 4px 0 var(--cta-d)}
.prod-res .choose:hover{box-shadow:0 2px 0 var(--cta-d)}
.prod-dim{background:var(--bg);box-shadow:none}.prod-dim:hover{transform:none;box-shadow:none}
.prod-dim h3,.prod-dim .prod-price{color:var(--muted)}
.prod-dim .prod-ref .v.ok,.prod-dim .pi-y{color:#5b9b7c}
.pnote{font-size:1.05rem;font-weight:600;color:var(--ink2);font-family:var(--font);letter-spacing:0}
.prod-price .pnote{font-size:1rem;font-weight:600;line-height:1.5;display:block;padding:6px 0}

/* sample PDFs */
.samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}
.sample{position:relative;background:var(--card);border:2px solid var(--line);border-radius:24px;padding:26px 24px 24px;display:flex;flex-direction:column;gap:6px;transition:transform .22s,box-shadow .22s,border-color .22s}
.sample::after{content:"PDF";position:absolute;right:18px;top:18px;font:700 .62rem var(--mono);letter-spacing:.12em;color:var(--cta-d);border:2px solid var(--cta-d);border-radius:6px;padding:4px 7px;transform:rotate(6deg)}
.sample:hover{transform:translateY(-5px);box-shadow:var(--shadow-l);border-color:var(--ink)}
.sample p{flex:1;color:var(--ink2);font-size:.95rem}.sample .btn{margin-right:6px;margin-top:6px}
.sample h3{max-width:12em}
.sic{width:54px;height:54px;border-radius:16px;background:var(--panel);color:var(--amber);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:8px;box-shadow:0 4px 0 rgba(0,0,0,.2);transform:rotate(-5deg)}

.get-app{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:14px 16px;background:var(--panel);border-top:1px solid rgba(255,255,255,.12)}
.get-app:empty{display:none}.get-app .btn-o{color:#fff;border-color:rgba(255,255,255,.5)}.get-app .btn-o:hover{background:#fff;color:var(--navy)}
.get-app .btn[hidden]{display:none}
html.in-app .get-app{display:none}
.get-app[hidden]{display:none}

/* app section */
.appband{position:relative;overflow:hidden;background:var(--panel);color:var(--on-panel);isolation:isolate}
.appband::before{content:"";position:absolute;z-index:-1;right:-6%;top:-30%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--gold),transparent 68%);opacity:.6}
.appgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}
@media(max-width:800px){.appgrid{grid-template-columns:1fr}}
.appband h2{color:#fff}.appband .lead{color:var(--on-panel2)}
.appband .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.appfeat{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.appfeat li{display:flex;gap:12px;align-items:center;font-weight:700}
.appfeat b{width:24px;height:24px;border-radius:8px;background:var(--cta);color:var(--on-cta);display:flex;align-items:center;justify-content:center;font-size:.7rem}
.storebtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.store{display:inline-flex;align-items:center;gap:12px;background:#000;color:#fff;border:1.5px solid #8a8f98;border-radius:14px;padding:10px 20px;font:700 1.05rem/1.1 var(--font);text-decoration:none;cursor:pointer;transition:transform .15s,border-color .15s}
.store small{display:block;font:700 .58rem var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.store:hover{border-color:#fff;transform:translateY(-2px);color:#fff}.store[hidden]{display:none}
.phonewrap{display:flex;justify-content:center}
.phone{position:relative;width:236px;border-radius:38px;background:#04100F;padding:10px;box-shadow:0 36px 60px rgba(0,0,0,.5),0 0 0 2px #26403f inset;transform:rotate(4deg)}
.phone-notch{position:absolute;top:15px;left:50%;transform:translateX(-50%);width:72px;height:17px;border-radius:99px;background:#04100F;z-index:2}
.phone-scr{background:#FBF7F0;color:#0A2A2F;border-radius:30px;padding:36px 14px 18px;min-height:390px}
.ph-top{display:flex;align-items:center;gap:8px;font:600 .9rem var(--head)}
.ph-h{font:600 1.15rem var(--head);margin:16px 0 8px;color:#0A2A2F}
.ph-card{background:#fff;border-radius:16px;padding:13px;box-shadow:0 8px 18px rgba(10,42,47,.12);border:1.5px solid #EAE3D3}
.ph-r{display:flex;justify-content:space-between;align-items:center;font:600 1.6rem var(--head);color:#0A2A2F}.ph-r span{color:var(--cta-d);font-size:1rem}
.ph-m{display:flex;justify-content:space-between;font:700 .56rem var(--mono);color:#6C7F80;letter-spacing:.08em;margin:5px 0 9px}
.ph-ref{font:700 1.05rem var(--mono);letter-spacing:.16em;border-top:2px dashed #D9D1BF;padding-top:9px;color:#0A2A2F}
.ph-btn{margin-top:12px;background:#0A2A2F;color:#fff;text-align:center;border-radius:12px;padding:11px;font:800 .8rem var(--font)}
.ph-btn2{background:transparent;color:#0A2A2F;border:2px solid #0A2A2F}
.bp2-logo{display:inline-flex;align-items:center;justify-content:center}

/* payments strip */
.payrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:30px 0 6px;padding:14px 20px;border-radius:16px}
.payrow-dark{background:rgba(0,0,0,.28);color:#f3f4f6;border:1px solid rgba(255,255,255,.1)}
.payrow-light{background:#fff;color:#111827}
.payrow-plain{padding:0;color:#e5e7eb}
.payrow-t{font:700 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-right:4px}
.pay{display:inline-flex;align-items:center;height:30px}
.pay svg{height:26px;width:auto;display:block}
.pay-chip{background:#e5e7eb;border-radius:7px;padding:0 8px;height:30px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.pay-chip svg{height:22px}
.payrow-light .pay-free{color:#111827}

/* sticky "Book now" bar on phones */
.mbar{display:none}
@media(max-width:700px){
  .mbar{display:flex;align-items:center;gap:12px;position:fixed;left:10px;right:10px;bottom:10px;z-index:45;background:var(--panel);color:#fff;border-radius:20px;padding:10px 10px 10px 18px;box-shadow:0 14px 34px rgba(0,0,0,.35);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .mbar.show{transform:none}
  .mbar span{flex:1;font:600 1.02rem/1.15 var(--head)}.mbar span small{display:block;font:700 .56rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-panel2);margin-bottom:3px}
  .mbar .btn{min-height:46px;padding:10px 20px}
  body.has-mbar .chatfloat{bottom:84px}
  body.has-mbar{padding-bottom:84px}
}

/* ---------- Arabic (right to left) ---------- */
html[lang="ar"] body,html[lang="ar"] input,html[lang="ar"] select,html[lang="ar"] textarea,html[lang="ar"] button{font-family:"Cairo","Manrope",system-ui,sans-serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,html[lang="ar"] .brand-txt b,html[lang="ar"] .nav a{font-family:"Cairo","Fraunces",system-ui,sans-serif;line-height:1.4;letter-spacing:0}
html[lang="ar"] h1,html[lang="ar"] h2{font-weight:800}
html[lang="ar"] h1 em,html[lang="ar"] h2 em,html[lang="ar"] .hl{font-style:normal}
html[lang="ar"] .eyebrow,html[lang="ar"] .lbl,html[lang="ar"] .kicker,html[lang="ar"] .site-footer h4,html[lang="ar"] .tag,html[lang="ar"] .pill{letter-spacing:0;text-transform:none}
html[lang="ar"] .brand-txt b{font-family:"Sora","Cairo",sans-serif;letter-spacing:-.03em;line-height:1}
html[lang="ar"] .steps li::before{font-style:normal}
[dir="rtl"] .nav{margin-left:0;margin-right:auto}
[dir="rtl"] .nav a.cta-nav{margin-left:0;margin-right:8px}
[dir="rtl"] .proof span::before{margin-right:0;margin-left:8px}
[dir="rtl"] .plancard .flag{left:auto;right:24px}
[dir="rtl"] .plancard li::before,[dir="rtl"] .tickl li::before,[dir="rtl"] .tick li::before{left:auto;right:0}
[dir="rtl"] .plancard li,[dir="rtl"] .tickl li,[dir="rtl"] .tick li{padding-left:0;padding-right:30px}
[dir="rtl"] table.cmp th,[dir="rtl"] table.cmp td,[dir="rtl"] .prose th,[dir="rtl"] .prose td,[dir="rtl"] table.flights th,[dir="rtl"] table.flights td{text-align:right}
[dir="rtl"] details.faq summary,[dir="rtl"] details.q summary{padding-right:22px;padding-left:62px}
[dir="rtl"] details.faq summary::after,[dir="rtl"] details.q summary::after{right:auto;left:18px}
[dir="rtl"] .guide ul,[dir="rtl"] .prose ul,[dir="rtl"] .prose ol{padding-left:0;padding-right:1.3em}
[dir="rtl"] .loading{margin-right:0;margin-left:8px}
[dir="rtl"] .timeline{border-left:0;border-right:3px dotted var(--line)}
[dir="rtl"] .timeline li{padding:0 20px 18px 0}
[dir="rtl"] .timeline li::before{left:auto;right:-10px}
[dir="rtl"] .stepbar li:not(:last-child)::after{margin-left:0;margin-right:6px}
[dir="rtl"] .opt{text-align:right}
[dir="rtl"] .opt .pr{text-align:left}
[dir="rtl"] .tag{margin-left:0;margin-right:6px}
[dir="rtl"] .acitem .code{margin-left:0;margin-right:6px}
[dir="rtl"] .sample .btn{margin-right:0;margin-left:6px}
[dir="rtl"] .sample::after{right:auto;left:18px;transform:rotate(-6deg)}
[dir="rtl"] .payrow-t{margin-right:0;margin-left:4px}
[dir="rtl"] .wa-float{right:auto;left:18px}
[dir="rtl"] .chatfloat.right{right:auto;left:18px}
[dir="rtl"] .chatfloat.left{left:auto;right:18px}
[dir="rtl"] .prod-price small{margin-left:0;margin-right:4px}
[dir="rtl"] .steps li{padding:0 0 0 26px}
[dir="rtl"] .steps li:not(:last-child)::after{left:14px;right:92px}
[dir="rtl"] .rcard::before{right:auto;left:20px}
[dir="rtl"] .prod-ic{transform:rotate(4deg)}
[dir="rtl"] .eyebrow{padding:8px 10px 8px 14px}
[dir="rtl"] .site-footer::before{direction:ltr}
/* Flight data and the sample boarding passes keep their left-to-right layout so codes, times and references read correctly. */
[dir="rtl"] .deck,[dir="rtl"] .pass,[dir="rtl"] .phone,[dir="rtl"] .fl-t,[dir="rtl"] .fl-mid,[dir="rtl"] .pnr,[dir="rtl"] input[type="email"],[dir="rtl"] input[type="tel"],[dir="rtl"] .acitem .code,[dir="rtl"] .ticker{direction:ltr}
[dir="rtl"] input[type="email"],[dir="rtl"] input[type="tel"]{text-align:right}
@media(max-width:1180px){[dir="rtl"] .navbtn{margin-left:0;margin-right:auto}}
[dir="rtl"] input[data-k="dep"],[dir="rtl"] input[data-k="ret"],[dir="rtl"] input[data-k="ddate"],[dir="rtl"] input[data-p$=":born_on"],[dir="rtl"] input[type="email"],[dir="rtl"] input[type="tel"],[dir="rtl"] input[data-ac]{direction:ltr;text-align:right}
[dir="rtl"] .pass .lbl,[dir="rtl"] .pass-meta{text-align:left}
.sample .row{margin-top:8px;flex-wrap:nowrap}.sample .row .btn{flex:1;margin:0;padding-inline:12px}
@media(min-width:981px){[dir="rtl"] .hero::before{right:auto;left:-14%}[dir="rtl"] .hero::after{-webkit-mask:linear-gradient(260deg,#000 0,#000 38%,transparent 60%);mask:linear-gradient(260deg,#000 0,#000 38%,transparent 60%)}[dir="rtl"] .page-hero::before{right:auto;left:-6%}[dir="rtl"] .page-hero::after{right:auto;left:6%;transform:scaleX(-1)}}
