/* =====================================================================
   ARKAN TRIP — Luxury Travel  |  Design System
   RTL Arabic · Bootstrap 5 base · custom luxury layer
   ===================================================================== */

:root{
  /* Brand */
  --navy:        #07182E;
  --navy-700:    #0B2038;
  --navy-600:    #102A47;
  --navy-500:    #15355A;
  --gold:        #C89B5E;
  --gold-bright: #D8B179;
  --gold-soft:   #EBD9BC;
  --bg:          #F8F8F8;
  --bg-warm:     #F4F1EA;
  --white:       #FFFFFF;
  --ink:         #1A1A1A;
  --ink-soft:    #45505C;
  --muted:       #7A8794;
  --line:        #E7E4DD;
  --line-dark:   rgba(200,155,94,.18);

  /* Type */
  --ff: "Tajawal", system-ui, "Segoe UI", Tahoma, sans-serif;

  /* Radius */
  --r-xl: 24px;
  --r-lg: 20px;
  --r-md: 14px;
  --r-sm: 10px;
  --r-pill: 999px;

  /* Shadow */
  --sh-sm: 0 4px 14px rgba(7,24,46,.06);
  --sh-md: 0 14px 40px -12px rgba(7,24,46,.16);
  --sh-lg: 0 30px 70px -24px rgba(7,24,46,.30);
  --sh-gold: 0 16px 36px -14px rgba(200,155,94,.55);

  /* Layout */
  --maxw: 1280px;
  --gut: clamp(1.1rem, 4vw, 2rem);
  --section-y: clamp(4.5rem, 9vw, 8rem);
}

/* ---------- base ---------- */
*{ box-sizing:border-box; }
body{
  font-family:var(--ff);
  background:var(--bg);
  color:var(--ink);
  margin:0;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
::selection{ background:var(--gold); color:var(--navy); }

/* icons */
.i{ width:1em; height:1em; flex:0 0 auto; display:inline-block; vertical-align:-.14em;
  fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

h1,h2,h3,h4{ line-height:1.2; margin:0; font-weight:800; letter-spacing:-.01em; color:var(--navy); }
p{ margin:0; }

.container-x{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }

/* =====================================================================
   TYPOGRAPHY HELPERS
   ===================================================================== */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.82rem; font-weight:700; letter-spacing:.18em;
  color:var(--gold); text-transform:uppercase; margin:0 0 1rem;
}
.eyebrow::before{ content:""; width:34px; height:2px; background:var(--gold); display:inline-block; }
.eyebrow.center{ justify-content:center; }
.eyebrow.on-dark{ color:var(--gold-bright); }

.section-title{
  font-size:clamp(1.4rem, 2.8vw, 2.1rem);
  font-weight:800; line-height:1.15; text-wrap:balance;
}
.section-title .accent{ color:var(--gold); }
.section-lead{
  font-size:clamp(1rem,1.6vw,1.18rem); color:var(--ink-soft);
  max-width:60ch; margin-top:1.1rem;
}
.on-dark .section-title,.on-dark h2,.on-dark h3{ color:#fff; }
.on-dark .section-lead,.on-dark p{ color:rgba(233,238,245,.78); }

.section-head{ margin-bottom:clamp(2.2rem,4vw,3.4rem); }

/* =====================================================================
   BUTTONS
   ===================================================================== */
.btn-x{
  --bg:var(--gold); --fg:var(--navy);
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--ff); font-weight:700; font-size:1rem;
  padding:.95rem 1.8rem; border-radius:var(--r-md);
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s, background .25s, color .25s, border-color .25s;
  background:var(--bg); color:var(--fg);
}
.btn-x svg{ width:1.15em; height:1.15em; }
.btn-x:hover{ transform:translateY(-3px); }

.btn-gold{ background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:var(--navy); box-shadow:var(--sh-gold); }
.btn-gold:hover{ box-shadow:0 22px 46px -14px rgba(200,155,94,.7); color:var(--navy); }

.btn-navy{ background:var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-600); color:#fff; box-shadow:var(--sh-md); }

.btn-outline{ background:transparent; border-color:var(--navy); color:var(--navy); }
.btn-outline:hover{ background:var(--navy); color:#fff; }

.btn-outline-gold{ background:transparent; border-color:var(--gold); color:var(--gold); }
.btn-outline-gold:hover{ background:var(--gold); color:var(--navy); }

.btn-ghost-light{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); color:#fff; backdrop-filter:blur(6px); }
.btn-ghost-light:hover{ background:#fff; color:var(--navy); border-color:#fff; }

.btn-block{ width:100%; }
.btn-lg{ padding:1.1rem 2.2rem; font-size:1.05rem; }
.btn-sm{ padding:.6rem 1.1rem; font-size:.9rem; }

/* link arrow */
.link-arrow{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--navy); transition:gap .25s, color .25s; }
.link-arrow svg{ width:1.05em; height:1.05em; transition:transform .25s; }
.link-arrow:hover{ color:var(--gold); gap:.85rem; }
.on-dark .link-arrow{ color:var(--gold-bright); }

/* =====================================================================
   HEADER
   ===================================================================== */
.topbar{
  background:var(--navy); color:rgba(233,238,245,.8);
  font-size:.84rem; border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar a{ color:rgba(233,238,245,.8); transition:color .2s; }
.topbar a:hover{ color:var(--gold-bright); }
.topbar .inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem 0; }
.topbar .tb-list{ display:flex; gap:1.4rem; align-items:center; }
.topbar .tb-list span{ display:inline-flex; align-items:center; gap:.45rem; }
.topbar .tb-list svg{ width:1em; height:1em; color:var(--gold); }

.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(7,24,46,.0); transition:background .35s, box-shadow .35s, padding .35s;
  padding-block:.55rem;
}
.site-header.solid{ background:rgba(7,24,46,.96); backdrop-filter:blur(14px); box-shadow:0 10px 30px -16px rgba(0,0,0,.6); }
.site-header .nav-inner{ display:flex; align-items:center; gap:2rem; position:relative; }
.brand{ display:flex; align-items:center; flex:0 0 auto; }
.brand img{ height:75px; width:auto; }
.nav-menu{ display:flex; align-items:center; gap:.3rem; margin-inline-start:auto; }
.nav-menu a{
  color:rgba(240,244,249,.86); font-weight:600; font-size:.98rem;
  padding:.55rem .9rem; border-radius:var(--r-sm); position:relative; transition:color .2s;
}
.nav-menu a::after{ content:""; position:absolute; bottom:.3rem; right:.9rem; left:.9rem; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .28s; }
.nav-menu a:hover{ color:#fff; }
.nav-menu a:hover::after, .nav-menu a.active::after{ transform:scaleX(1); }

.nav-dropdown{ position:relative; }
.nav-drop-toggle{ display:inline-flex; align-items:center; gap:.3rem; }
.nav-drop-toggle svg{ width:1em; height:1em; transition:transform .2s; }
.nav-dropdown:hover .nav-drop-toggle svg{ transform:rotate(180deg); }
.nav-drop-menu{ position:absolute; top:100%; right:0; min-width:180px; background:rgba(7,24,46,.96); backdrop-filter:blur(14px); box-shadow:var(--sh-lg); border-radius:var(--r-md); padding:.5rem 0; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; z-index:1100; border:1px solid rgba(255,255,255,.1); }
.nav-dropdown:hover .nav-drop-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-drop-menu a{ display:block; padding:.6rem 1.2rem; font-size:.9rem; color:rgba(233,238,245,.86); font-weight:600; border-radius:0; }
.nav-drop-menu a::after{ display:none; }
.nav-drop-menu a:hover{ background:rgba(255,255,255,.05); color:var(--gold-bright); }

/* MEGA MENU */
.nav-dropdown.mega-dropdown { position: static; }
.mega-menu {
  position: absolute; top: 100%; right: 0; left: 0;
  background: #fff; box-shadow: var(--sh-lg);
  border-top: 1px solid var(--line);
  display: flex; opacity: 0; visibility: hidden;
  transform: translateY(10px); transition: .3s;
  z-index: 1100; min-height: 400px; border-radius: 0 0 var(--r-lg) var(--r-lg); overflow: hidden;
}
.site-header.solid .mega-menu { background: rgba(7,24,46,.98); border-color: rgba(255,255,255,.1); }
.nav-dropdown.mega-dropdown:hover .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }

.mega-sidebar {
  width: 260px; flex: 0 0 auto;
  border-inline-end: 1px solid var(--line);
  background: var(--bg); padding: 1.5rem 0; display: block;
}
.site-header.solid .mega-sidebar { background: rgba(255,255,255,.02); border-color: rgba(255,255,255,.08); }
.mega-tab {
  display: flex; align-items: center; justify-content: space-between;
  padding: .8rem 2rem; font-weight: 700; color: var(--navy);
  transition: .2s; border-radius: 0; cursor: pointer; border: 0; background: transparent; width: 100%; text-align: start; font-family: var(--ff); font-size: 1rem;
  appearance: none; -webkit-appearance: none; outline: none;
}
.site-header.solid .mega-tab { color: rgba(255,255,255,.8); }
.mega-tab::after { display: none !important; }
.mega-tab svg { width: 1em; height: 1em; opacity: 0; transform: translateX(-5px); transition: .2s; color: var(--gold); }
.mega-tab:hover, .mega-tab.is-active { background: #fff; color: var(--navy); }
.site-header.solid .mega-tab:hover, .site-header.solid .mega-tab.is-active { background: rgba(255,255,255,.05); color: #fff; }
.mega-tab:hover svg, .mega-tab.is-active svg { opacity: 1; transform: translateX(0); }

.mega-all {
  display: block; margin-top: auto; padding: 1rem 2rem;
  font-weight: 700; color: var(--navy); border-top: 1px solid var(--line);
}
.site-header.solid .mega-all { color: #fff; border-color: rgba(255,255,255,.08); }
.mega-all:hover { color: var(--gold); }
.mega-all::after { display: none !important; }

.mega-content {
  flex: 1; padding: 2.5rem 3rem; position: relative;
  background: #fff;
}
.site-header.solid .mega-content { background: transparent; }
.mega-pane { display: none; }
.mega-pane.is-active { display: block; animation: fadeMega .3s ease; }
@keyframes fadeMega { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }

.mega-pane-title { font-size: 1.6rem; font-weight: 800; color: var(--navy); margin-bottom: 1.5rem; }
.site-header.solid .mega-pane-title { color: #fff; }
.mega-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem 2rem; }
.mega-grid a {
  display: block; font-weight: 600; color: var(--ink-soft);
  padding: .4rem 0; transition: color .2s; border-radius: 0; font-size: .95rem;
}
.site-header.solid .mega-grid a { color: rgba(255,255,255,.7); }
.mega-grid a::after { display: none !important; }
.mega-grid a:hover { color: var(--gold); }


.nav-actions{ display:flex; align-items:center; gap:.7rem; flex:0 0 auto; }
.nav-login{ color:#fff; font-weight:700; padding:.6rem .5rem; display:inline-flex; align-items:center; gap:.45rem; }
.nav-login:hover{ color:var(--gold-bright); }
.burger{ display:none; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#fff; width:46px; height:46px; border-radius:var(--r-sm); cursor:pointer; align-items:center; justify-content:center; appearance: none; -webkit-appearance: none; outline: none; }
.burger svg{ width:24px; height:24px; }

/* =====================================================================
   HERO
   ===================================================================== */
.hero{
  position:relative; margin-top:-92px; padding-top:140px;
  min-height:min(94vh,900px); display:flex; align-items:center;
  color:#fff; overflow:hidden;
}
.hero__bg{ position:absolute; inset:0; z-index:-2; background:var(--navy); }
.hero__bg img{ width:100%; height:100%; object-fit:cover; }
.hero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,24,46,.92) 0%,rgba(7,24,46,.6) 45%,rgba(7,24,46,.25) 100%); }
.hero__inner{ position:relative; z-index:2; width:100%; padding-block:clamp(2rem,6vw,4rem) clamp(3rem,6vw,4.5rem); }
.hero h1{ color:#fff; font-size:clamp(1.8rem,4vw,3.2rem); line-height:1.08; font-weight:800; letter-spacing:-.02em; }
.hero h1 .accent{ color:var(--gold-bright); display:block; }
.hero .sub{ font-size:clamp(1.05rem,2vw,1.35rem); color:rgba(233,238,245,.85); max-width:46ch; margin-top:1.4rem; }

/* search card */
.search-card{
  background:rgba(255,255,255,.97); border-radius:var(--r-lg);
  box-shadow:var(--sh-lg); padding:1rem; margin-top:2.4rem;
  display:grid; grid-template-columns:repeat(4,1fr) auto; gap:.65rem;
}
.search-field{ position:relative; text-align:start; padding:.55rem .9rem; border-radius:var(--r-md); transition:background .2s; }
.search-field + .search-field{ border-inline-start:1px solid var(--line); }
.search-field label{ display:flex; align-items:center; gap:.4rem; font-size:.74rem; font-weight:700; color:var(--muted); letter-spacing:.04em; }
.search-field label svg{ width:1em; height:1em; color:var(--gold); }
.search-field select, .search-field input{
  border:0; background:transparent; font-family:var(--ff); font-weight:700;
  font-size:1rem; color:var(--navy); width:100%; padding:.25rem 0 0; outline:none;
  appearance:none; cursor:pointer; text-align:right; direction:rtl;
}
.search-field input::placeholder{ color:var(--navy); opacity:.55; font-weight:600; }
.search-submit{ align-self:stretch; }
.search-submit .btn-x{ height:100%; padding-inline:1.5rem; }

.hero-trust{ display:flex; flex-wrap:wrap; gap:1.6rem 2.2rem; margin-top:1.8rem; }
.hero-trust .ht{ display:inline-flex; align-items:center; gap:.55rem; font-weight:600; color:rgba(233,238,245,.9); font-size:.98rem; }
.hero-trust .ht svg{ width:1.25em; height:1.25em; color:var(--gold-bright); flex:0 0 auto; }

/* =====================================================================
   SUITABLE FOR BOX
   ===================================================================== */
.suitable-wrap {
  background: #F6F5F0;
  border-radius: var(--r-md);
  padding: 1.5rem;
  margin-bottom: 2.5rem;
}
.suitable-header {
  text-align: end;
  font-size: .85rem;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 1rem;
}
.suitable-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .8rem;
  margin-bottom: 1.2rem;
}
.suitable-card {
  background: #fff;
  border: 1.5px solid #dcdcdc;
  border-radius: var(--r-sm);
  padding: 1.2rem .5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}
.suitable-card.is-suitable {
  border-color: #6C8E64;
}
.suitable-card svg {
  width: 1.8rem; height: 1.8rem;
  color: var(--navy);
}
.suitable-card.is-suitable svg {
  color: #6C8E64;
}
.suitable-card strong {
  font-size: .95rem;
  color: var(--navy);
  font-weight: 700;
}
.suitable-card span {
  font-size: .8rem;
  font-weight: 700;
}
.suitable-card.is-suitable span { color: #6C8E64; }
.suitable-card.not-suitable span { color: var(--muted); }
.suitable-card.not-suitable svg { color: var(--muted); }

.suitable-warning {
  background: #F1EBDE;
  color: #796136;
  padding: .8rem 1.2rem;
  border-radius: var(--r-sm);
  font-size: .9rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.suitable-warning svg { width: 1.2em; height: 1.2em; flex: 0 0 auto; }

/* =====================================================================
   SECTION SHELLS
   ===================================================================== */
.section{ padding-block:var(--section-y); }
.section.tight{ padding-block:clamp(3rem,6vw,5rem); }
.band-dark{ position:relative; background:
   radial-gradient(120% 120% at 85% 0%, var(--navy-600) 0%, var(--navy) 55%); color:#fff; overflow:hidden; }
.band-dark::before{ content:""; position:absolute; inset:0; opacity:.5;
  background-image:radial-gradient(circle at 1px 1px, rgba(200,155,94,.12) 1px, transparent 0);
  background-size:34px 34px; pointer-events:none; }
.band-warm{ background:var(--bg-warm); }

/* =====================================================================
   ABOUT
   ===================================================================== */
.about-slider{ position:relative; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-lg); aspect-ratio:4/4.6; }
.about-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1s ease; }
.about-slide.is-active{ opacity:1; z-index:1; }
.about-slide img{ width:100%; height:100%; object-fit:cover; }
.about-slide .badge-float{
  position:absolute; inset-block-end:1.4rem; inset-inline-start:1.4rem;
  background:rgba(255,255,255,.96); border-radius:var(--r-md); padding:1rem 1.3rem;
  box-shadow:var(--sh-md); display:flex; align-items:center; gap:.9rem;
}
.about-btn-prev { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); z-index: 10; }
.about-btn-next { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); z-index: 10; }
.about-btn-prev:hover, .about-btn-next:hover { transform: translateY(-50%) scale(1.05) !important; }
.about-slide .badge-float .num{ font-size:1.9rem; font-weight:800; color:var(--gold); line-height:1; }
.about-slide .badge-float .lbl{ font-size:.86rem; color:var(--ink-soft); font-weight:600; }
.feature-list{ list-style:none; padding:0; margin:1.8rem 0 0; display:grid; gap:1rem; }
.feature-list li{ display:flex; gap:.85rem; align-items:flex-start; font-weight:600; color:var(--ink-soft); }
.feature-list .ic{ flex:0 0 auto; width:42px; height:42px; border-radius:12px; background:var(--gold-soft); color:var(--navy); display:grid; place-items:center; }
.feature-list .ic svg{ width:1.25em; height:1.25em; }

/* =====================================================================
   CONSULTANT (dark)
   ===================================================================== */
.consultant-media{ position:relative; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-lg); border:1px solid rgba(255,255,255,.08); }
.consultant-media img{ width:100%; aspect-ratio:4/4.4; object-fit:cover; }
.consultant-media .ribbon{
  position:absolute; inset-block-start:1.3rem; inset-inline-end:1.3rem;
  background:var(--gold); color:var(--navy); font-weight:800; font-size:.85rem;
  padding:.5rem 1rem; border-radius:var(--r-pill);
}
.benefit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.4rem; margin:2rem 0; }
.benefit{ display:flex; gap:.8rem; align-items:flex-start; }
.benefit .ic{ flex:0 0 auto; width:40px; height:40px; border-radius:12px; background:rgba(200,155,94,.16); color:var(--gold-bright); display:grid; place-items:center; border:1px solid rgba(200,155,94,.3); }
.benefit .ic svg{ width:1.2em; height:1.2em; }
.benefit b{ color:#fff; display:block; font-size:1.02rem; }
.benefit span{ color:rgba(233,238,245,.65); font-size:.9rem; }

/* =====================================================================
   HOW IT WORKS — timeline
   ===================================================================== */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; position:relative; }
.steps::before{ content:""; position:absolute; top:34px; right:8%; left:8%; height:2px;
  background:linear-gradient(90deg,transparent,var(--line),transparent); z-index:0; }
.on-dark .steps::before{ background:linear-gradient(90deg,transparent,rgba(200,155,94,.4),transparent); }
.step{ text-align:center; position:relative; z-index:1; }
.step .num{
  width:68px; height:68px; margin:0 auto 1.2rem; border-radius:50%;
  display:grid; place-items:center; font-size:1.5rem; font-weight:800;
  background:var(--white); color:var(--navy); border:2px solid var(--gold);
  box-shadow:var(--sh-sm); transition:transform .3s, background .3s, color .3s;
}
.on-dark .step .num{ background:var(--navy-700); color:var(--gold-bright); }
.step:hover .num{ transform:translateY(-6px); background:var(--gold); color:var(--navy); }
.step h4{ font-size:1.2rem; margin-bottom:.4rem; }
.on-dark .step h4{ color:#fff; }
.step p{ font-size:.95rem; color:var(--ink-soft); max-width:24ch; margin-inline:auto; }
.on-dark .step p{ color:rgba(233,238,245,.7); }

/* =====================================================================
   CAROUSEL RAIL (shared)
   ===================================================================== */
.rail-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.rail-nav{ display:flex; gap:.6rem; }
.rail-btn{
  width:50px; height:50px; border-radius:50%; border:1.5px solid var(--line);
  background:#fff; color:var(--navy); display:grid; place-items:center; cursor:pointer;
  transition:all .25s;
}
.rail-btn svg{ width:1.3em; height:1.3em; }
.rail-btn:hover{ background:var(--navy); color:#fff; border-color:var(--navy); }
.rail-btn:disabled{ opacity:.35; cursor:default; }
.on-dark .rail-btn{ background:transparent; border-color:rgba(255,255,255,.25); color:#fff; }
.on-dark .rail-btn:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }
.rail{
  display:grid; grid-auto-flow:column; gap:1.4rem;
  overflow-x:auto; scroll-snap-type:x mandatory; padding:.5rem .25rem 1.5rem;
  scrollbar-width:none; scroll-behavior:smooth;
}
.rail::-webkit-scrollbar{ display:none; }
.rail > *{ scroll-snap-align:start; }

/* =====================================================================
   DESTINATION CARD
   ===================================================================== */
.dest-card{
  position:relative; border-radius:var(--r-lg); overflow:hidden; background:#fff;
  box-shadow:var(--sh-sm); border:1px solid var(--line);
  transition:transform .35s, box-shadow .35s; display:flex; flex-direction:column;
}
.dest-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.dest-card__media{ position:relative; aspect-ratio:5/4.4; overflow:hidden; }
.dest-card__media::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(0deg, rgba(7,18,34,.85) 0%, rgba(7,18,34,.15) 50%, rgba(7,18,34,.35) 100%);
  transition:opacity .4s; }
.dest-card:hover .dest-card__media::after{ opacity:.9; }
.dest-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.3,1); }
.dest-card:hover .dest-card__media img{ transform:scale(1.07); }
.dest-card__media .chip-badge,
.dest-card__media .bookmark,
.dest-card__name{ z-index:2; }
.dest-card__name{ position:absolute; inset-block-end:1rem; inset-inline-start:1.1rem; color:#fff; }
.dest-card__name .ar{ font-size:1.3rem; font-weight:800; line-height:1; color:#ffffff !important; text-shadow:0 2px 4px rgba(0,0,0,0.8), 0 1px 2px rgba(0,0,0,0.5); }
.dest-card__name .en{ font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-bright) !important; margin-top:.3rem; text-shadow:0 1px 3px rgba(0,0,0,0.8); }
.chip-badge{
  position:absolute; inset-block-start:.9rem; display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.94); color:var(--navy); font-weight:700; font-size:.8rem;
  padding:.4rem .75rem; border-radius:var(--r-pill); box-shadow:var(--sh-sm); backdrop-filter:blur(4px);
}
.chip-badge.start{ inset-inline-start:.9rem; }
.chip-badge.end{ inset-inline-end:.9rem; }
.chip-badge .code{ background:var(--navy); color:#fff; font-size:.66rem; padding:.12rem .4rem; border-radius:5px; letter-spacing:.05em; }
.chip-badge.hot{ background:var(--gold); color:var(--navy); }
.bookmark{ position:absolute; inset-block-start:.9rem; inset-inline-end:.9rem; width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.94); display:grid; place-items:center; color:var(--navy); border:0; cursor:pointer; transition:.2s; }
.bookmark:hover{ background:var(--gold); }
.bookmark svg{ width:1.1em; height:1.1em; }

.dest-card__body{ padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.dest-meta{ display:flex; flex-direction:column; gap:.55rem; }
.dest-meta .row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; font-size:.9rem; }
.dest-meta .row .k{ display:inline-flex; align-items:center; gap:.45rem; color:var(--muted); font-weight:600; }
.dest-meta .row .k svg{ width:1.1em; height:1.1em; color:var(--gold); }
.dest-meta .row .v{ font-weight:700; color:var(--navy); display:inline-flex; align-items:center; gap:.4rem; }
.pill-soft{ background:#F1F5EE; color:#3E6B4E; font-weight:700; font-size:.8rem; padding:.25rem .6rem; border-radius:var(--r-pill); }
.dest-card__foot{ margin-top:auto; padding-top:.9rem; border-top:1px dashed var(--line); display:flex; justify-content:space-between; align-items:center; }

/* =====================================================================
   CATEGORIES (filters)
   ===================================================================== */
.cat-row{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; }
.cat-chip{
  display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
  background:#fff; border:1.5px solid var(--line); color:var(--navy);
  font-weight:700; font-size:.98rem; padding:.7rem 1.3rem; border-radius:var(--r-pill);
  transition:all .25s;
}
.cat-chip svg{ width:1.2em; height:1.2em; color:var(--gold); transition:color .25s; }
.cat-chip:hover{ border-color:var(--gold); transform:translateY(-2px); }
.cat-chip.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.cat-chip.active svg{ color:var(--gold-bright); }

/* =====================================================================
   PACKAGE CARD
   ===================================================================== */
.pkg-card{
  background:#fff; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line);
  box-shadow:var(--sh-sm); display:flex; flex-direction:column; height:100%;
  transition:transform .35s, box-shadow .35s;
}
.pkg-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.pkg-card__media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.pkg-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.3,1); }
.pkg-card:hover .pkg-card__media img{ transform:scale(1.07); }
.pkg-card__body{ padding:1.3rem 1.4rem 1.4rem; display:flex; flex-direction:column; gap:.85rem; flex:1; }
.pkg-loc{ display:inline-flex; align-items:center; gap:.4rem; color:var(--muted); font-weight:600; font-size:.86rem; }
.pkg-loc svg{ width:1.05em; height:1.05em; color:var(--gold); }
.pkg-card h3{ font-size:1.15rem; line-height:1.35; }
.pkg-specs{ display:flex; flex-wrap:wrap; gap:.5rem .9rem; font-size:.86rem; color:var(--ink-soft); font-weight:600; }
.pkg-specs span{ display:inline-flex; align-items:center; gap:.4rem; }
.pkg-specs svg{ width:1.05em; height:1.05em; color:var(--navy-500); }
.pkg-incl{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:.5rem .8rem; }
.pkg-incl li{ display:flex; align-items:center; gap:.5rem; font-size:.88rem; color:var(--ink-soft); font-weight:600; }
.pkg-incl svg{ width:1.05em; height:1.05em; color:#3E8E5A; flex:0 0 auto; }
.pkg-price{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); }
.pkg-price .from{ font-size:.82rem; color:var(--muted); font-weight:600; }
.pkg-price .amt{ font-size:1.75rem; font-weight:800; color:var(--gold); line-height:1; }
.pkg-price .amt small{ font-size:.8rem; color:var(--muted); font-weight:600; margin-inline-start:.2rem; }
.pkg-card__cta{ padding:0 1.4rem 1.4rem; }

/* Horizontal Package Card */
.pkg-card-hz {
  display: flex; flex-direction: row; align-items: stretch;
  background: #fff; border-radius: var(--r-xl); overflow: hidden;
  box-shadow: var(--sh-sm); border: 1px solid var(--line);
  transition: transform 0.3s, box-shadow 0.3s;
  height: 100%; text-decoration: none;
}
.pkg-card-hz:hover { transform: translateY(-8px); box-shadow: var(--sh-md); text-decoration: none; }
.pkg-card-hz__media { flex: 0 0 45%; position: relative; overflow: hidden; }
.pkg-card-hz__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1); }
.pkg-card-hz:hover .pkg-card-hz__media img { transform: scale(1.05); }
.pkg-card-hz__body { padding: 2rem; display: flex; flex-direction: column; justify-content: center; flex: 1; }
.pkg-card-hz h3 { font-size: 1.4rem; font-weight: 800; color: var(--navy); margin-bottom: 0.8rem; line-height: 1.4; }
.pkg-card-hz .pkg-loc { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--muted); font-weight: 700; font-size: 0.95rem; margin-bottom: 0.5rem; }
.pkg-card-hz .pkg-loc svg { width: 1.1em; height: 1.1em; color: var(--gold); }
.pkg-card-hz .pkg-specs { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1.2rem; font-size: 0.95rem; color: var(--ink-soft); font-weight: 600; }
.pkg-card-hz .pkg-specs span { display: inline-flex; align-items: center; gap: 0.4rem; }
.pkg-card-hz .pkg-specs svg { width: 1.1em; height: 1.1em; color: var(--navy-500); }
.pkg-card-hz .pkg-incl { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.pkg-card-hz .pkg-incl li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; color: var(--ink-soft); font-weight: 600; }
.pkg-card-hz .pkg-incl svg { width: 1.1em; height: 1.1em; color: #3E8E5A; }
.pkg-card-hz .pkg-price { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: auto; padding-top: 1.5rem; border-top: 1px dashed var(--line); }
.pkg-card-hz .pkg-price .from { font-size: 0.9rem; color: var(--muted); font-weight: 600; }
.pkg-card-hz .pkg-price .amt { font-size: 1.8rem; font-weight: 900; color: var(--gold); line-height: 1; }
.pkg-card-hz .pkg-price .amt small { font-size: 0.9rem; color: var(--muted); font-weight: 600; margin-inline-start: 0.2rem; }
@media (max-width: 992px) {
  .pkg-card-hz { flex-direction: column; }
  .pkg-card-hz__media { flex: 0 0 260px; height: 260px; }
  .pkg-card-hz__body { padding: 1.5rem; }
}

/* =====================================================================
   ACTIVITIES
   ===================================================================== */
.activity-card{
  position:relative; border-radius:var(--r-lg); overflow:hidden; min-height:230px;
  display:flex; align-items:flex-end; color:#fff; box-shadow:var(--sh-sm);
  transition:transform .35s, box-shadow .35s;
}
.activity-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); }
.activity-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.activity-card:hover img{ transform:scale(1.08); }
.activity-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,24,46,.85),rgba(7,24,46,.05) 60%); }
.activity-card .ac-body{ position:relative; z-index:2; padding:1.3rem 1.4rem; width:100%; }
.activity-card h4{ color:#fff; font-size:1.25rem; }
.activity-card .ac-meta{ color:rgba(255,255,255,.78); font-size:.86rem; margin-top:.25rem; display:flex; align-items:center; gap:.5rem; }
.activity-card .ac-meta .price{ color:var(--gold-bright); font-weight:800; }
.activity-cta{
  border-radius:var(--r-lg); background:var(--navy); color:#fff; min-height:230px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; text-align:center;
  padding:2rem; border:1px solid rgba(255,255,255,.08);
}
.activity-cta .plus{ width:64px; height:64px; border-radius:50%; border:2px solid var(--gold); color:var(--gold-bright); display:grid; place-items:center; }
.activity-cta .plus svg{ width:1.8em; height:1.8em; }
.activity-cta:hover{ background:var(--navy-600); }

/* =====================================================================
   TESTIMONIALS
   ===================================================================== */
.tcard{ background:#fff; border-radius:var(--r-lg); padding:2rem; box-shadow:var(--sh-sm); border:1px solid var(--line); height:100%; display:flex; flex-direction:column; gap:1.1rem; }
.tcard .stars{ display:flex; gap:.2rem; color:var(--gold); }
.tcard .stars svg{ width:1.1em; height:1.1em; }
.tcard .quote{ font-size:1.05rem; color:var(--ink-soft); line-height:1.85; flex:1; }
.tcard .who{ display:flex; align-items:center; gap:.85rem; }
.tcard .who img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
.tcard .who b{ color:var(--navy); display:block; }
.tcard .who span{ color:var(--muted); font-size:.86rem; }
.qmark{ font-size:3rem; color:var(--gold-soft); line-height:.5; font-family:Georgia,serif; }

/* =====================================================================
   OFFER BANNER
   ===================================================================== */
.offer{ position:relative; border-radius:var(--r-xl); overflow:hidden; color:#fff; }
.offer__bg{ position:absolute; inset:0; }
.offer__bg img{ width:100%; height:100%; object-fit:cover; }
.offer__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,24,46,.92),rgba(7,24,46,.55)); }
.offer__inner{ position:relative; z-index:2; padding:clamp(2.4rem,5vw,4rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; }
.countdown{ display:flex; gap:.8rem; }
.cd-box{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:var(--r-md); padding:.9rem 1.1rem; text-align:center; min-width:78px; backdrop-filter:blur(6px); }
.cd-box .n{ font-size:2rem; font-weight:800; color:var(--gold-bright); line-height:1; font-variant-numeric:tabular-nums; }
.cd-box .l{ font-size:.78rem; color:rgba(255,255,255,.7); margin-top:.35rem; }

/* =====================================================================
   STATS strip
   ===================================================================== */
.stat{ text-align:center; }
.stat .n{ font-size:clamp(2rem,4vw,3rem); font-weight:800; color:var(--gold-bright); line-height:1; }
.stat .l{ color:rgba(233,238,245,.7); margin-top:.4rem; font-weight:600; }

/* =====================================================================
   PARTNERS
   ===================================================================== */
.partners-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(2rem,5vw,4.5rem); }
.partners-row img{ height:clamp(34px,4.5vw,52px); width:auto; filter:grayscale(1); opacity:.5; transition:filter .3s, opacity .3s, transform .3s; }
.partners-row img:hover{ filter:grayscale(0); opacity:1; transform:scale(1.05); }

/* =====================================================================
   FINAL CTA
   ===================================================================== */
.final-cta{ position:relative; overflow:hidden; color:#fff; text-align:center; }
.final-cta__bg{ position:absolute; inset:0; z-index:-1; }
.final-cta__bg img{ width:100%; height:100%; object-fit:cover; }
.final-cta__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,24,46,.82),rgba(7,24,46,.94)); }
.final-cta h2{ color:#fff; font-size:clamp(1.7rem,4vw,2.8rem); }
.cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{ background:var(--navy); color:rgba(233,238,245,.72); padding-top:clamp(3.5rem,6vw,5rem); }
.site-footer h5{ color:#fff; font-size:1.05rem; font-weight:700; margin-bottom:1.3rem; letter-spacing:.02em; }
.site-footer a{ color:rgba(233,238,245,.72); transition:color .2s, padding .2s; display:inline-block; padding-block:.32rem; }
.site-footer a:hover{ color:var(--gold-bright); padding-inline-start:.3rem; }
.foot-brand img{ height:75px; margin-bottom:1.2rem; }
.foot-contact{ list-style:none; padding:0; margin:0; display:grid; gap:.85rem; }
.foot-contact li{ display:flex; gap:.7rem; align-items:flex-start; }
.foot-contact svg{ width:1.2em; height:1.2em; color:var(--gold); flex:0 0 auto; margin-top:.3rem; }
.socials{ display:flex; gap:.6rem; margin-top:1.4rem; }
.socials a{ width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.16); display:grid; place-items:center; padding:0; transition:all .25s; }
.socials a:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); transform:translateY(-3px); }
.socials svg{ width:1.2em; height:1.2em; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:clamp(2.5rem,5vw,4rem); padding-block:1.6rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; font-size:.88rem; }
.pay-row{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
.pay-chip{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:8px; padding:.4rem .7rem; font-size:.78rem; font-weight:700; color:#fff; letter-spacing:.03em; }

/* =====================================================================
   MOBILE DRAWER
   ===================================================================== */
.drawer-overlay{ position:fixed; inset:0; background:rgba(4,10,22,.55); backdrop-filter:blur(3px); z-index:1090; opacity:0; visibility:hidden; transition:.3s; }
.drawer-overlay.open{ opacity:1; visibility:visible; }
.drawer{
  position:fixed; top:0; bottom:0; right:0; left:auto; width:min(86vw,360px); z-index:1100;
  background:var(--navy); color:#fff; transform:translateX(110%); transition:transform .35s cubic-bezier(.3,.8,.3,1);
  display:flex; flex-direction:column; padding:1.4rem; overflow-y:auto;
}
.drawer.open{ transform:translateX(0); }
.drawer__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.6rem; }
.drawer__top img{ height:42px; }
.drawer__close{ width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1); border:0; color:#fff; cursor:pointer; display:grid; place-items:center; }
.drawer__close svg{ width:1.4em; height:1.4em; }
.drawer-nav{ display:flex; flex-direction:column; }
.drawer-nav a{ padding:1rem .4rem; font-size:1.1rem; font-weight:700; border-bottom:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; }
.drawer-nav a svg{ width:1.1em; height:1.1em; color:var(--gold); }
.drawer-cta{ margin-top:auto; padding-top:1.6rem; display:grid; gap:.7rem; }

/* whatsapp float */
.wa-float{ position:fixed; inset-block-end:1.3rem; inset-inline-start:auto; inset-inline-end:1.3rem; z-index:1080; width:60px; height:60px; border-radius:50%;
  background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 12px 30px -8px rgba(37,211,102,.6); transition:transform .25s; }
.wa-float:hover{ transform:scale(1.08) translateY(-2px); }
.wa-float svg{ width:32px; height:32px; }

/* =====================================================================
   SCROLL REVEAL
   ===================================================================== */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .5s cubic-bezier(.2,.7,.3,1), transform .5s cubic-bezier(.2,.7,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.04s; }
.reveal[data-d="2"]{ transition-delay:.08s; }
.reveal[data-d="3"]{ transition-delay:.12s; }
.reveal[data-d="4"]{ transition-delay:.16s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* =====================================================================
   INNER PAGE bits
   ===================================================================== */
.page-hero{ position:relative; color:#fff; padding-top:160px; padding-bottom:clamp(3rem,6vw,5rem); overflow:hidden; }
.page-hero__bg{ position:absolute; inset:0; z-index:-1; }
.page-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.page-hero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,24,46,.9),rgba(7,24,46,.5)); }
.breadcrumb-x{ display:flex; gap:.5rem; align-items:center; font-size:.9rem; color:rgba(233,238,245,.75); margin-bottom:1rem; }
.breadcrumb-x a:hover{ color:var(--gold-bright); }
.breadcrumb-x .sep{ opacity:.5; }
.page-hero h1{ color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); }

.info-card{ background:#fff; border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--sh-sm); padding:1.6rem; }
.booking-box{ background:#fff; border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--sh-md); padding:1.6rem; position:sticky; top:100px; }
.booking-box .price-big{ font-size:2.4rem; font-weight:800; color:var(--gold); line-height:1; }
.form-row{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-row label{ font-size:.85rem; font-weight:700; color:var(--ink-soft); }
.form-row input,.form-row select{ font-family:var(--ff); border:1.5px solid var(--line); border-radius:var(--r-md); padding:.8rem 1rem; font-weight:600; color:var(--navy); outline:none; transition:border .2s; }
.form-row input:focus,.form-row select:focus{ border-color:var(--gold); }
.itinerary{ list-style:none; padding:0; margin:0; }
.itinerary li{ position:relative; padding:0 2.2rem 1.8rem; }
.itinerary li::before{ content:""; position:absolute; inset-inline-start:9px; top:6px; bottom:-6px; width:2px; background:var(--line); }
.itinerary li:last-child::before{ display:none; }
.itinerary .dot{ position:absolute; inset-inline-start:0; top:2px; width:20px; height:20px; border-radius:50%; background:var(--gold); border:4px solid var(--gold-soft); }
.itinerary h4{ font-size:1.12rem; margin-bottom:.3rem; }
.itinerary .day{ font-size:.78rem; font-weight:800; letter-spacing:.1em; color:var(--gold); text-transform:uppercase; }
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.gallery-grid img{ border-radius:var(--r-md); aspect-ratio:1; object-fit:cover; }
.gallery-grid img:first-child{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; height:100%; }
.tag-row{ display:flex; flex-wrap:wrap; gap:.6rem; }
.tag{ background:var(--bg-warm); border:1px solid var(--line); color:var(--navy); font-weight:700; font-size:.82rem; padding:.4rem .9rem; border-radius:var(--r-pill); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1100px){
  .search-card{ grid-template-columns:repeat(2,1fr); }
  .search-field + .search-field{ border-inline-start:0; }
  .search-submit{ grid-column:1 / -1; }
  .search-submit .btn-x{ width:100%; padding-block:.95rem; }
  .benefit-grid{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px){
  .nav-menu, .topbar{ display:none; }
  .nav-actions .btn-x{ display:none; }
  .burger{ display:flex; }
  .nav-login{ display:none; }
  .steps{ grid-template-columns:repeat(2,1fr); gap:2.2rem 1rem; }
  .steps::before{ display:none; }
  .pkg-incl{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .hero{ margin-top:-110px; padding-top:140px; }
  .search-card{ grid-template-columns:1fr; }
  .search-field + .search-field{ border-top:1px solid var(--line); }
  .steps{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:1fr; }
  .gallery-grid img:first-child{ grid-column:span 1; grid-row:span 1; }
  .offer__inner{ flex-direction:column; align-items:flex-start; }
  .cd-box{ min-width:64px; padding:.7rem .8rem; }
  .btn-x{ display:flex; width:100%; justify-content:center; }
  .cta-actions .btn-x{ width:auto; }
  .wa-float{ position:fixed !important; bottom:calc(1.5rem + env(safe-area-inset-bottom)) !important; inset-inline-start:auto !important; inset-inline-end:1.3rem !important; }
}

@media (max-width: 768px) {
  .site-footer {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }
  .site-footer .row {
    --bs-gutter-y: 2rem;
  }
  .site-footer h5 {
    margin-bottom: 0.8rem;
  }
  .foot-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    margin-top: 2rem;
    padding-block: 1.2rem;
  }
  .foot-bottom > div:first-child {
    flex-direction: column !important;
    gap: 0.6rem !important;
    align-items: center !important;
  }
  .foot-bottom > div:first-child span[style*="opacity"] {
    display: none !important;
  }
  .pay-row {
    justify-content: center;
    width: 100%;
    gap: 0.5rem;
  }
  .pay-chip {
    padding: 0.3rem 0.6rem;
    font-size: 0.72rem;
  }
}


/* =====================================================================
   ★★★  LUXURY POLISH LAYER  ★★★
   ===================================================================== */

/* ---------- HERO SLIDER ---------- */
.hero-slider{ position:absolute; inset:0; z-index:-2; background:var(--navy); overflow:hidden; }
.hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.3s ease; }
.hero-slide.is-active{ opacity:1; }
.hero-slide img{ width:100%; height:100%; object-fit:cover; }
.hero-slide.is-active img{ animation:heroKen 8s ease-out forwards; }
@keyframes heroKen{ from{ transform:scale(1.09); } to{ transform:scale(1); } }
.hero__scrim{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(4,11,22,.94) 0%, rgba(4,11,22,.72) 42%, rgba(4,11,22,.40) 100%),
    linear-gradient(0deg, rgba(4,11,22,.86) 0%, rgba(4,11,22,0) 48%);
}
.hero-arrow{ position:absolute; top:42%; transform:translateY(-50%); z-index:6;
  width:clamp(44px,4vw,56px); height:clamp(44px,4vw,56px); border-radius:50%;
  border:1px solid rgba(255,255,255,.32); background:rgba(7,24,46,.32); color:#fff;
  backdrop-filter:blur(8px); display:grid; place-items:center; cursor:pointer; transition:.28s; }
.hero-arrow svg{ width:1.5em; height:1.5em; }
.hero-arrow:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); transform:translateY(-50%) scale(1.06); }
.hero-arrow--prev{ inset-inline-start:clamp(.5rem,2vw,1.6rem); }
.hero-arrow--next{ inset-inline-end:clamp(.5rem,2vw,1.6rem); }
.hero-dots{ position:absolute; left:0; right:0; bottom:clamp(1rem,2.5vw,1.7rem); z-index:6;
  display:flex; justify-content:center; gap:.55rem; }
.hero-dots button{ width:9px; height:9px; border-radius:99px; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.4); transition:.3s; }
.hero-dots button.active{ background:var(--gold-bright); width:30px; }
.hero .sub{ font-size:clamp(1.02rem,1.7vw,1.28rem); color:rgba(233,238,245,.86); max-width:48ch; margin-top:1.1rem; }

/* ---------- HERO SEARCH (wider / balanced) ---------- */
@media (min-width: 1101px) {
  .search-card{ grid-template-columns:repeat(4,1fr) minmax(176px,200px); gap:.45rem; padding:1.05rem; margin-top:2.2rem; }
  .search-field{ padding:.7rem 1rem; }
  .search-field label{ font-size:.76rem; }
  .search-field select, .search-field input{ font-size:1.02rem; }
  .search-submit .btn-x{ font-size:1.02rem; }
}

/* ---------- HERO TRUST (full-width bar) ---------- */
.hero-trust{ width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin-top:1.5rem; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-md); padding:.3rem; backdrop-filter:blur(8px); }
.hero-trust .ht{ display:flex; align-items:center; gap:.7rem; padding:.85rem 1.1rem; }
.hero-trust .ht + .ht{ border-inline-start:1px solid rgba(255,255,255,.12); }
.hero-trust .ht-ic{ flex:0 0 auto; width:42px; height:42px; border-radius:12px;
  background:rgba(200,155,94,.18); border:1px solid rgba(200,155,94,.35); color:var(--gold-bright);
  display:grid; place-items:center; }
.hero-trust .ht-ic svg{ width:1.3em; height:1.3em; }
.hero-trust .ht-tx{ display:flex; flex-direction:column; line-height:1.3; }
.hero-trust .ht-tx b{ color:#fff; font-size:.98rem; font-weight:700; }
.hero-trust .ht-tx i{ color:rgba(233,238,245,.6); font-style:normal; font-size:.82rem; }
@media (max-width:900px){ .hero-trust{ grid-template-columns:repeat(2,1fr); }
  .hero-trust .ht:nth-child(odd){ border-inline-start:0; }
  .hero-trust .ht:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.12); } }
@media (max-width:520px){ .hero-trust{ grid-template-columns:1fr; }
  .hero-trust .ht{ border-inline-start:0 !important; }
  .hero-trust .ht + .ht{ border-top:1px solid rgba(255,255,255,.12); } }

/* ---------- UNIVERSAL CAROUSEL ---------- */
.carousel{ --per:3; --gap:1.5rem; position:relative; }
.carousel[data-per="2"]{ --per:2; }
.carousel__vp{ overflow:hidden; padding:.5rem .3rem; }
.carousel__track{ display:flex; gap:var(--gap); align-items:stretch; transition:transform .6s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.carousel__track > *{ flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); min-width:0; height:auto; }
.carousel__dots{ display:flex; justify-content:center; gap:.5rem; margin-top:1.1rem; }
.carousel__dots button{ width:9px; height:9px; border-radius:99px; border:0; padding:0; cursor:pointer;
  background:var(--line); transition:.3s; }
.carousel__dots button.active{ background:var(--gold); width:28px; }
.rail-tools{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }
@media (max-width:980px){ .carousel{ --per:2 !important; } }
@media (max-width:600px){ .carousel{ --per:1 !important; } }

/* ---------- DESTINATION CARD (image-forward, shorter) ---------- */
.dest-card__media{ aspect-ratio:4/3.5; }
.dest-card__media::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(0deg, rgba(7,18,34,.88) 2%, rgba(7,18,34,.12) 42%, rgba(7,18,34,.32) 100%);
  transition:opacity .4s; }
.dest-card:hover .dest-card__media::after{ opacity:.85; }
.dest-card__media .chip-badge,
.dest-card__media .bookmark,
.dest-card__name{ z-index:2; }
.dest-card__name .ar{ font-size:1.7rem; }
.dest-card__name .en{ font-size:.78rem; }
.dest-card__body{ padding:.95rem 1.15rem 1.15rem; gap:.7rem; }
.dest-meta{ flex-direction:row; flex-wrap:wrap; gap:.5rem 1.2rem; }
.dest-meta .dm{ display:inline-flex; align-items:center; gap:.45rem; font-size:.86rem; color:var(--ink-soft); font-weight:600; }
.dest-meta .dm svg{ width:1.05em; height:1.05em; color:var(--gold); }
.dest-card__foot{ padding-top:.8rem; }

/* ---------- PACKAGE CARD (taller image, prominent price) ---------- */
.pkg-card__media{ aspect-ratio:16/11; }
.pkg-price{ background:linear-gradient(180deg, transparent, rgba(200,155,94,.06)); border-radius:0 0 4px 4px; }
.pkg-price .amt{ font-size:2.05rem; }
.pkg-price .from{ font-size:.84rem; }
.pkg-card__cta .btn-x{ padding-block:1.05rem; font-size:1.05rem; letter-spacing:.01em; }

/* ---------- CONSULTANT — COMPACT HORIZONTAL BANNER ---------- */
.advisor-banner{ display:grid; grid-template-columns:35% 1fr; gap:0; overflow:hidden;
  border-radius:var(--r-xl); border:1px solid rgba(200,155,94,.28);
  background:linear-gradient(135deg, var(--navy-600), var(--navy-700));
  box-shadow:var(--sh-lg); max-height:none; }
.advisor-banner__media{ position:relative; min-height:280px; }
.advisor-banner__media img{ width:100%; height:100%; object-fit:cover; }
.advisor-banner__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 55%, var(--navy-700) 99%); }
.advisor-banner__tag{ position:absolute; top:1rem; inset-inline-start:1rem; z-index:2;
  display:inline-flex; align-items:center; gap:.4rem; background:var(--gold); color:var(--navy);
  font-weight:800; font-size:.82rem; padding:.45rem .9rem; border-radius:var(--r-pill); white-space:nowrap; }
.advisor-banner__tag svg{ width:1.05em; height:1.05em; }
.advisor-banner__rate{ position:absolute; bottom:1rem; inset-inline-end:1rem; z-index:2;
  display:inline-flex; align-items:center; gap:.35rem; background:rgba(7,24,46,.7); color:#fff;
  font-weight:800; font-size:.88rem; padding:.4rem .8rem; border-radius:var(--r-pill); backdrop-filter:blur(6px); }
.advisor-banner__rate svg{ width:1.05em; height:1.05em; color:var(--gold-bright); }
.advisor-banner__content{ padding:clamp(1.4rem,2.6vw,2.3rem); display:flex; flex-direction:column; justify-content:center; gap:.55rem; }
.advisor-banner__title{ color:#fff; font-size:clamp(1.2rem,2vw,1.75rem); line-height:1.2; }
.advisor-banner__title .accent{ color:var(--gold-bright); }
.advisor-banner__lead{ color:rgba(233,238,245,.74); font-size:1.02rem; max-width:62ch; }
.advisor-benefits{ display:flex; flex-wrap:wrap; gap:.55rem 1.6rem; margin:.35rem 0; }
.ab-item{ display:inline-flex; align-items:center; gap:.55rem; font-weight:700; color:#fff; font-size:.95rem; }
.ab-ic{ flex:0 0 auto; width:32px; height:32px; border-radius:9px; background:rgba(200,155,94,.16);
  border:1px solid rgba(200,155,94,.32); color:var(--gold-bright); display:grid; place-items:center; }
.ab-ic svg{ width:1.05em; height:1.05em; }
.advisor-actions{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:.5rem; }
@media (max-width:820px){
  .advisor-banner{ grid-template-columns:1fr; max-height:none; }
  .advisor-banner__media{ min-height:220px; max-height:240px; }
  .advisor-banner__media::after{ background:linear-gradient(0deg, var(--navy-700) 2%, transparent 60%); }
}

/* ---------- HOW IT WORKS — LUXURY TIMELINE ---------- */
.journey{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; padding-top:.8rem; }
.journey__line{ position:absolute; top:47px; right:11%; left:11%; height:2px; z-index:0;
  background:linear-gradient(90deg, transparent, var(--gold) 12%, var(--gold) 88%, transparent); opacity:.42; }
.jstep{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.jstep__node{ position:relative; width:80px; height:80px; border-radius:50%; display:grid; place-items:center;
  background:#fff; border:2px solid var(--gold); color:var(--navy); box-shadow:var(--sh-md); margin-bottom:1.3rem; transition:.35s; }
.jstep__node svg{ width:1.9em; height:1.9em; color:var(--navy); transition:.35s; }
.jstep__num{ position:absolute; top:-7px; inset-inline-end:-7px; width:30px; height:30px; border-radius:50%;
  background:var(--gold); color:var(--navy); font-size:.82rem; font-weight:800; display:grid; place-items:center;
  box-shadow:var(--sh-sm); border:2px solid var(--bg-warm); }
.jstep:hover .jstep__node{ background:var(--gold); transform:translateY(-7px); box-shadow:var(--sh-gold); }
.jstep:hover .jstep__node svg{ color:var(--navy); }
.jstep__card h4{ font-size:1.22rem; margin-bottom:.4rem; }
.jstep__card p{ color:var(--ink-soft); font-size:.95rem; max-width:25ch; margin-inline:auto; }
@media (max-width:820px){
  .journey{ grid-template-columns:repeat(2,1fr); gap:2.4rem 1.2rem; }
  .journey__line{ display:none; }
}
@media (max-width:520px){ .journey{ grid-template-columns:1fr; } }

/* ---------- CATEGORIES (premium filter) ---------- */
.cat-row{ gap:1rem; }
.cat-chip{ padding:.82rem 1.5rem; }
.cat-chip:hover{ background:var(--navy); color:#fff; border-color:var(--navy); box-shadow:var(--sh-md); transform:translateY(-3px); }
.cat-chip:hover svg{ color:var(--gold-bright); }
.cat-chip .cc-ic{ display:inline-grid; place-items:center; }

/* ---------- ACTIVITIES (larger, consistent) ---------- */
.activity-card{ min-height:308px; }
.activity-card h4{ font-size:1.32rem; }
.activity-card::after{ background:linear-gradient(0deg, rgba(7,24,46,.9) 4%, rgba(7,24,46,.08) 62%); }
.activity-card .ac-tag{ position:absolute; top:1rem; inset-inline-start:1rem; z-index:2;
  display:inline-flex; align-items:center; gap:.35rem; background:rgba(7,24,46,.55); color:#fff;
  font-size:.8rem; font-weight:700; padding:.35rem .75rem; border-radius:var(--r-pill); backdrop-filter:blur(6px); }
.activity-card .ac-tag svg{ width:1em; height:1em; color:var(--gold-bright); }
.activity-card .ac-go{ display:inline-flex; align-items:center; gap:.45rem; color:var(--gold-bright);
  font-weight:700; font-size:.9rem; margin-top:.7rem; opacity:0; transform:translateY(8px); transition:.35s; }
.activity-card:hover .ac-go{ opacity:1; transform:none; }
.activity-cta--wide{ flex-direction:row; justify-content:flex-start; gap:1.5rem; text-align:start; min-height:auto; padding:1.8rem 2.2rem; }
.activity-cta--wide .acw-tx{ flex:1; }
.activity-cta--wide .btn-x{ flex:0 0 auto; }
@media (max-width:680px){ .activity-cta--wide{ flex-direction:column; text-align:center; } }

/* ---------- TESTIMONIALS (bigger, wider) ---------- */
.tcard{ padding:2.3rem; gap:1.2rem; }
.tcard__top{ display:flex; align-items:center; justify-content:space-between; }
.tcard .qmark{ font-size:3.4rem; }
.tcard .stars{ font-size:1.3rem; }
.tcard .quote{ font-size:1.12rem; line-height:1.9; }
.tcard .who img{ width:64px; height:64px; border:2px solid var(--gold-soft); }
.tcard .who b{ font-size:1.05rem; }

/* ---------- PARTNERS — INFINITE MARQUEE (JS-driven) ---------- */
.marquee{ position:relative; overflow:hidden; padding:1.1rem 0;
  -webkit-mask:linear-gradient(90deg,transparent, #000 7%, #000 93%, transparent);
          mask:linear-gradient(90deg,transparent, #000 7%, #000 93%, transparent); }
.marquee__track{ display:flex; align-items:center; gap:clamp(2rem,4.5vw,4.2rem); width:max-content; will-change:transform; }
.partner-logo{ height:clamp(34px,4.4vw,52px); width:auto; flex:0 0 auto;
  filter:grayscale(1); opacity:.5; transition:filter .35s, opacity .35s, transform .35s; cursor:pointer; }
.partner-logo:hover{ filter:grayscale(0); opacity:1; transform:scale(1.07); }

/* ---------- ANIMATION POLISH ---------- */
.about-media .badge-float{ animation:floatY 4.5s ease-in-out infinite; }
@keyframes floatY{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
.reveal[data-d="2"]{ transition-delay:.08s; }
.reveal[data-d="3"]{ transition-delay:.12s; }
.reveal[data-d="4"]{ transition-delay:.16s; }
@media (prefers-reduced-motion:reduce){
  .hero-slide.is-active img{ animation:none; }
  .marquee__track{ animation:none; }
  .about-media .badge-float{ animation:none; }
  .hero-slide{ transition:none; }
}

/* =====================================================================
   ★ LUXURY PRELOADER ★
   ===================================================================== */

@media (max-width: 767px) {
	.preloader {
		display: none !important;
	}
	body.preloading {
		overflow: auto !important;
	}
}

.preloader {
	position: fixed;
	inset: 0;
	z-index: 99999;
	overflow: hidden;

	display: grid;
	place-items: center;

	background: linear-gradient(
		135deg,
		#07182e 0%,
		#0d2340 50%,
		#142f55 100%
	);

	transition:
		opacity 0.7s ease,
		visibility 0.7s ease;
}

/* خلفية دائرية خفيفة */
.preloader::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;

	background: radial-gradient(
		60% 60% at 50% 44%,
		rgba(200, 155, 94, 0.07),
		transparent 70%
	);
}

/* نقاط خفيفة في الخلفية */
.preloader::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;

	opacity: 0.3;

	background-image: radial-gradient(
		circle at 1px 1px,
		rgba(255, 255, 255, 0.035) 1px,
		transparent 0
	);

	background-size: 38px 38px;
}

/* إخفاء البريلودر */
.preloader.is-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* =====================================================================
   AMBIENT GLOW
   ===================================================================== */

.preloader__glow {
	position: absolute;
	z-index: 1;

	width: min(60vw, 620px);
	aspect-ratio: 1;
	border-radius: 50%;

	background: radial-gradient(
		circle,
		rgba(99, 140, 196, 0.08) 0%,
		transparent 64%
	);

	filter: blur(16px);
}

/* =====================================================================
   FLOATING DUST
   ===================================================================== */

.preloader__dust {
	position: absolute;
	inset: 0;
	z-index: 1;

	pointer-events: none;
}

.preloader__dust span {
	position: absolute;
	bottom: 30%;

	border-radius: 50%;

	background: rgba(216, 177, 121, 0.38);
	box-shadow: 0 0 4px rgba(216, 177, 121, 0.25);

	opacity: 0;

	animation-name: preDust;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes preDust {
	0% {
		transform: translateY(40px) scale(0.5);
		opacity: 0;
	}

	18% {
		opacity: 0.35;
	}

	82% {
		opacity: 0.25;
	}

	100% {
		transform: translateY(-120px) scale(1);
		opacity: 0;
	}
}

/* =====================================================================
   LOGO STAGE
   ===================================================================== */

.preloader__stage {
	position: relative;
	z-index: 3;

	display: grid;
	place-items: center;

	animation: preEnter 1s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}

@keyframes preEnter {
	from {
		opacity: 0;
		transform: scale(0.92);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* البوكس الذي يحتوي على اللوجو */
.preloader__logobox {
	position: relative;
	display: inline-block;

	animation: preFloat 5s ease-in-out 0.9s infinite;
}

@keyframes preFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-6px);
	}
}

/* =====================================================================
   LOGO
   ===================================================================== */

.preloader__logo {
	position: relative;
	z-index: 2;

	display: block;

	width: clamp(220px, 32vw, 360px);
	height: auto;

	animation: preBreathe 3.6s ease-in-out infinite;
}

/* شادو أخف على اللوجو */
@keyframes preBreathe {
	0%,
	100% {
		filter:
			drop-shadow(0 6px 14px rgba(0, 0, 0, 0.2))
			drop-shadow(0 0 0 rgba(216, 177, 121, 0));
	}

	50% {
		filter:
			drop-shadow(0 6px 14px rgba(0, 0, 0, 0.2))
			drop-shadow(0 0 6px rgba(216, 177, 121, 0.18));
	}
}

/* =====================================================================
   GOLD GLOW
   ===================================================================== */

.preloader__goldglow {
	position: absolute;
	z-index: 1;

	top: 50%;
	left: 18%;

	width: clamp(120px, 16vw, 210px);
	aspect-ratio: 1;

	border-radius: 50%;

	background: radial-gradient(
		circle,
		rgba(216, 177, 121, 0.18) 0%,
		rgba(200, 155, 94, 0.05) 42%,
		transparent 70%
	);

	filter: blur(10px);

	animation: preGoldGlow 3.4s ease-in-out infinite;
}

@keyframes preGoldGlow {
	0%,
	100% {
		opacity: 0.18;
		transform: translate(-50%, -50%) scale(0.92);
	}

	50% {
		opacity: 0.38;
		transform: translate(-50%, -50%) scale(1.03);
	}
}

/* =====================================================================
   LOGO SHINE
   ===================================================================== */

.preloader__shine {
	position: absolute;
	inset: 0;
	z-index: 3;

	pointer-events: none;
	mix-blend-mode: screen;

	-webkit-mask: url("../assets/images/logo-loader.png") center / contain no-repeat;
	mask: url("../assets/images/logo-loader.png") center / contain no-repeat;

	background: linear-gradient(
		108deg,
		transparent 38%,
		rgba(255, 243, 224, 0.32) 47%,
		rgba(255, 247, 233, 0.5) 50%,
		rgba(216, 177, 121, 0.32) 53%,
		transparent 62%
	);

	background-size: 280% 100%;
	background-position: 190% 0;

	animation: preShine 3.8s ease-in-out 1s infinite;
}

@keyframes preShine {
	0% {
		background-position: 190% 0;
	}

	55%,
	100% {
		background-position: -120% 0;
	}
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (max-width: 900px) {
	.preloader__logo {
		width: clamp(120px, 24vw, 180px);
	}

	.preloader__goldglow {
		width: clamp(90px, 14vw, 150px);
	}
}

@media (max-width: 560px) {
	.preloader__logo {
		width: clamp(120px, 38vw, 140px);
	}

	.preloader__goldglow {
		width: 100px;
	}

	.preloader__glow {
		width: 80vw;
		filter: blur(12px);
	}
}

/* =====================================================================
   PAGE REVEAL
   ===================================================================== */

body.preloading {
	overflow: hidden;
}

@keyframes pageReveal {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

body.is-revealed {
	animation: pageReveal 0.8s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}

/* =====================================================================
   REDUCED MOTION
   ===================================================================== */

@media (prefers-reduced-motion: reduce) {
	.preloader__stage,
	.preloader__logobox,
	.preloader__logo,
	.preloader__goldglow,
	.preloader__shine,
	.preloader__dust span,
	body.is-revealed {
		animation: none;
	}
}
/* =====================================================================
   SHARED HEROES (travel & content)
   ===================================================================== */

/* ── 1. Travel Hero Pattern (Used in Destination/Package Pages) ── */
.hero-travel {
  position: relative;
  min-height: 450px;
  display: block;
  background: var(--navy);
  color: #fff;
  padding-top: 60px;
  padding-bottom: 60px;
}
.hero-travel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, rgba(7,24,46,0.6) 0%, rgba(7,24,46,0.9) 100%);
  z-index: 1;
}
.ht-content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
}
.ht-content > :not(.ht-actions):not(.ht-badge) {
  grid-column: 1;
}
.ht-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-bottom: 1.5rem;
}
.ht-breadcrumb a { color: #fff; text-decoration: none; transition: color 0.3s; }
.ht-breadcrumb a:hover { color: var(--gold); }
.ht-breadcrumb .sep { color: var(--gold); }
.ht-badge {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  width: max-content;
  display: inline-block;
  padding: 0.4rem 1.2rem;
  background: rgba(200,155,94,0.15);
  border: 1px solid rgba(200,155,94,0.3);
  color: var(--gold-bright);
  border-radius: var(--r-pill);
  font-size: 0.85rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
}
.ht-title {
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 1rem;
  line-height: 1.2;
  text-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.ht-desc {
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.8;
  color: rgba(255,255,255,0.9);
  margin-bottom: 2rem;
  max-width: 650px;
}
.ht-actions {
  grid-column: 2;
  grid-row: 2 / 10;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.ht-info-wrapper {
  position: absolute;
  bottom: -40px;
  left: 0; right: 0;
  z-index: 10;
}
.ht-info-strip {
  background: #fff;
  border-radius: var(--r-lg);
  padding: 1.5rem 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--sh-lg);
  border: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 1.5rem;
}
.ht-info-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.ht-info-icon {
  width: 48px;
  height: 48px;
  background: rgba(200,155,94,0.1);
  color: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ht-info-icon svg { width: 1.5rem; height: 1.5rem; }
.ht-info-text { display: flex; flex-direction: column; }
.ht-info-label { font-size: 0.8rem; font-weight: 700; color: var(--muted); text-transform: uppercase; }
.ht-info-value { font-size: 1rem; font-weight: 800; color: var(--navy); }
@media (max-width: 992px) {
  .ht-info-wrapper { position: relative; bottom: 0; margin-top: 3rem; }
  .ht-info-strip { flex-direction: column; align-items: flex-start; }
  .ht-content { grid-template-columns: 1fr; }
  .ht-content > :not(.ht-actions):not(.ht-badge) { grid-column: 1; }
  .ht-badge { grid-column: 1; grid-row: auto; justify-self: start; }
  .ht-actions { grid-column: 1; grid-row: auto; margin-bottom: 0; margin-top: 1rem; justify-content: flex-start; }
}

/* ── 2. Content Hero Pattern (Used in Internal/Content Pages) ── */
.hero-minimal-dark {
  background: #07182E;
  position: relative;
  display: block;
  color: #fff;
  overflow: hidden;
  padding-top: 40px;
  padding-bottom: 50px;
}
.hero-minimal-dark::before {
  content: '';
  position: absolute; right: 0; top: 0; bottom: 0; left: 0;
  background-image: radial-gradient(rgba(200,155,94,.08) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.hero-minimal-dark::after {
  content: '';
  position: absolute; left: -10%; top: -30%;
  width: 60vw; height: 60vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,155,94,.05) 0%, transparent 60%);
  pointer-events: none;
}
.hmd-inner { position: relative; z-index: 2; width: 100%; }
.hmd-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.6);
  margin-bottom: 1rem;
}
.hmd-breadcrumb a { color: rgba(255,255,255,0.9); text-decoration: none; transition: color 0.3s; }
.hmd-breadcrumb a:hover { color: var(--gold); }
.hmd-breadcrumb .sep { color: var(--gold); }
.hmd-badge {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  background: rgba(200,155,94,0.1);
  border: 1px solid rgba(200,155,94,0.3);
  color: var(--gold-bright);
  border-radius: var(--r-pill);
  font-size: 0.75rem;
  font-weight: 800;
  margin-bottom: 1rem;
  margin-right: auto;
  letter-spacing: 0.5px;
}
.hmd-title {
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 0.8rem;
  line-height: 1.1;
  text-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.hmd-desc {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
  max-width: 650px;
  margin-bottom: 0;
}
@media (max-width: 992px) {
  .hero-minimal-dark { padding-top: 30px; padding-bottom: 3rem; }
  .hmd-title { font-size: 2rem; }
}

/* =====================================================================
   ADDITIONAL COMPONENTS FOR ISTANBUL PAGE
   ===================================================================== */
/* Experiences */
.exp-card{ position:relative; overflow:hidden; border-radius:var(--r-md); }
.exp-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.exp-overlay{ position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 60%); padding:1.5rem; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; }
.exp-card:hover img{ transform:scale(1.1); }
.exp-title{ font-size:1.3rem; margin-bottom:.5rem; text-shadow:0 2px 4px rgba(0,0,0,.5); }
.exp-btn{ font-size:.85rem; font-weight:700; color:var(--gold); display:flex; align-items:center; gap:.4rem; opacity:0; transform:translateY(10px); transition:.4s; }
.exp-card:hover .exp-btn{ opacity:1; transform:translateY(0); }
.exp-btn svg{ width:1.2em; height:1.2em; }

/* Packages Grid */
.pkg-card{ background:#fff; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-sm); transition:transform .3s,box-shadow .3s; display:flex; flex-direction:column; height:100%; }
.pkg-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-md); }
.pc-img{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.pc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.pkg-card:hover .pc-img img{ transform:scale(1.05); }
.pc-badge{ position:absolute; top:1rem; right:1rem; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); color:#fff; padding:.3rem .8rem; border-radius:var(--r-pill); font-size:.75rem; font-weight:700; z-index:2; border:1px solid rgba(255,255,255,.2); }
.pc-body{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.pc-title{ font-size:1.25rem; font-weight:800; color:var(--navy); margin-bottom:.5rem; }
.pc-desc{ font-size:.9rem; color:var(--ink-soft); line-height:1.6; margin-bottom:1rem; flex:1; }
.pc-meta{ display:flex; gap:1rem; font-size:.85rem; font-weight:700; color:var(--navy); margin-bottom:1.2rem; }
.pc-meta span{ display:flex; align-items:center; gap:.4rem; background:var(--bg-warm); padding:.3rem .6rem; border-radius:var(--r-sm); }
.pc-meta svg{ width:1em; height:1em; color:var(--gold); }
.pc-price-row{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:1rem; }
.pc-price{ font-size:.85rem; color:var(--ink-soft); }
.pc-price span{ font-size:1.4rem; font-weight:800; color:var(--gold); margin-right:.2rem; }

/* Hotels Tabs & Hz Cards */
.nav-pills .nav-link{ color:var(--navy); font-weight:700; border-radius:var(--r-pill); padding:.6rem 1.5rem; margin:0 .2rem; transition:.3s; }
.nav-pills .nav-link.active{ background:var(--navy); color:#fff; }
.hotel-card-hz{ background:#fff; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-sm); transition:box-shadow .3s; }
.hotel-card-hz:hover{ box-shadow:var(--sh-md); }
.hotel-img-hz{ position:relative; height:100%; min-height:250px; }
.hotel-img-hz img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hotel-stars{ position:absolute; top:1rem; right:1rem; background:rgba(255,255,255,.9); padding:.2rem .6rem; border-radius:var(--r-pill); font-weight:800; font-size:.8rem; color:var(--navy); display:flex; align-items:center; gap:.2rem; z-index:2; }
.hotel-stars svg{ width:1em; height:1em; color:var(--gold); }
.hotel-body-hz{ padding:2rem; display:flex; flex-direction:column; justify-content:center; height:100%; }
.hotel-title{ font-size:1.4rem; font-weight:800; color:var(--navy); margin-bottom:.5rem; }
.hotel-loc{ font-size:.85rem; color:var(--gold); font-weight:700; margin-bottom:.8rem; display:flex; align-items:center; gap:.3rem; }
.hotel-loc svg{ width:1em; height:1em; }
.hotel-desc{ font-size:.95rem; color:var(--ink-soft); line-height:1.6; margin-bottom:1.5rem; }

/* Food Section */
.food-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.food-item{ position:relative; border-radius:var(--r-md); overflow:hidden; aspect-ratio:4/3; }
.food-item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.food-item:hover img{ transform:scale(1.08); }
.food-overlay{ position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 60%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; color:#fff; }
.food-title{ font-size:1.2rem; font-weight:800; margin-bottom:.3rem; }
.food-desc{ font-size:.85rem; color:rgba(255,255,255,.8); margin:0; }
@media (max-width:992px){ .food-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:576px){ .food-grid{ grid-template-columns:1fr; } .hotel-img-hz{ min-height:200px; } }

/* =====================================================================
   BLOG & ARTICLE COMPONENTS
   ===================================================================== */
/* Regular Article Card */
.article-card{ display:flex; flex-direction:column; background:#fff; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-sm); transition:transform .3s,box-shadow .3s; height:100%; color:var(--navy); text-decoration:none; }
.article-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-md); color:var(--navy); }
.ac-img{ aspect-ratio:16/9; overflow:hidden; position:relative; }
.ac-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.article-card:hover .ac-img img{ transform:scale(1.05); }
.ac-body{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.article-cat{ font-size:.75rem; font-weight:800; color:var(--gold); text-transform:uppercase; margin-bottom:.5rem; letter-spacing:.5px; }
.ac-title{ font-size:1.25rem; font-weight:800; margin-bottom:.8rem; color:var(--navy); line-height:1.4; }
.ac-excerpt{ font-size:.95rem; color:var(--ink-soft); line-height:1.6; margin-bottom:1.2rem; flex:1; }
.article-meta{ display:flex; gap:1rem; font-size:.8rem; color:var(--ink-soft); font-weight:600; margin-bottom:1.2rem; }
.article-meta span{ display:flex; align-items:center; gap:.3rem; }
.article-meta svg{ width:1em; height:1em; color:var(--gold); }
.ac-footer{ display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px solid var(--line); font-size:.85rem; }
.ac-author{ font-weight:700; }

/* Featured Article Card */
.fa-card{ display:flex; background:#fff; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-md); transition:box-shadow .3s; color:var(--navy); text-decoration:none; }
.fa-card:hover{ box-shadow:var(--sh-lg); color:var(--navy); }
.fa-img{ flex:1; min-height:300px; overflow:hidden; }
.fa-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.fa-card:hover .fa-img img{ transform:scale(1.05); }
.fa-content{ flex:1; padding:3rem; display:flex; flex-direction:column; justify-content:center; }
.fa-title{ font-size:2rem; font-weight:900; margin-bottom:1rem; }
.fa-excerpt{ font-size:1.05rem; color:var(--ink-soft); line-height:1.7; margin-bottom:1.5rem; }
.fa-btn{ font-weight:800; color:#fff; background:var(--gold); display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.4rem; border-radius:var(--r-pill); transition:all .3s; text-decoration:none; }
.fa-btn:hover, .fa-card:hover .fa-btn, .article-card:hover .fa-btn{ background:var(--navy); color:#fff !important; }
.fa-btn svg{ width:1.1em; height:1.1em; transition:transform .3s; }
.fa-card:hover .fa-btn svg, .article-card:hover .fa-btn svg{ transform:translateX(-4px); }

/* Blog Categories */
.bc-list{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; margin-bottom:2rem; }
.bc-item{ display:inline-block; text-decoration:none; padding:.5rem 1.2rem; border-radius:var(--r-pill); border:1px solid var(--line); color:var(--navy); font-weight:700; font-size:.9rem; transition:.3s; }
.bc-item:hover, .bc-item.active{ background:var(--navy); color:#fff; border-color:var(--navy); }

@media (max-width:992px){
  .fa-card{ flex-direction:column; }
  .fa-content{ padding:2rem; }
}

/* Pagination */
.pagination-wrapper{ display:flex; justify-content:center; margin-top:3rem; }
.pagination{ display:flex; align-items:center; gap:.5rem; background:#fff; padding:.5rem; border-radius:var(--r-pill); border:1px solid var(--line); box-shadow:var(--sh-sm); }
.page-link{ display:flex; justify-content:center; align-items:center; width:40px; height:40px; border-radius:50%; color:var(--navy); font-weight:700; text-decoration:none; transition:.3s; }
.page-link svg{ width:1.2em; height:1.2em; }
.page-link:hover{ background:var(--bg-warm); color:var(--gold); }
.page-link.active{ background:var(--gold); color:#fff; }
.page-link.disabled{ opacity:.4; pointer-events:none; }
.page-dots{ color:var(--ink-soft); font-weight:700; padding:0 .5rem; }
/* =====================================================================
   PAYMENT CHIPS (Colored)
   ===================================================================== */
.pay-chip.visa { color: #1a1f71; background: #fff; }
.pay-chip.mastercard { color: #eb001b; background: #fff; }
.pay-chip.mada { color: #14b480; background: #fff; }
.pay-chip.apple { color: #000; background: #fff; }
.pay-chip.stc { color: #4F008C; background: #fff; }
.pay-chip.tabby { color: #3EF0A8; background: #000; border-color: #000; }
.pay-chip.tamara { color: #ff91a0; background: #fff; border-color: #ff91a0; }

/* =====================================================================
   AUTHOR BOX
   ===================================================================== */
.author-box {
  display: flex; gap: 1.5rem; align-items: center; background: var(--bg-warm);
  padding: 2rem; border-radius: var(--r-lg); border: 1px solid var(--line);
  margin-top: 3rem;
}
.author-box__img {
  flex: 0 0 auto; width: 80px; height: 80px; border-radius: 50%;
  object-fit: cover; border: 3px solid #fff; box-shadow: var(--sh-sm);
}
.author-box__info h4 { font-size: 1.2rem; margin-bottom: .4rem; }
.author-box__info p { font-size: .95rem; color: var(--ink-soft); line-height: 1.6; margin: 0; }

/* =====================================================================
   NEWSLETTER
   ===================================================================== */
.newsletter-box {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 2.5rem; text-align: center; box-shadow: var(--sh-md); margin-top: 3rem;
}
.newsletter-box svg { width: 3rem; height: 3rem; color: var(--gold); margin-bottom: 1rem; }
.newsletter-box h3 { font-size: 1.5rem; margin-bottom: .5rem; }
.newsletter-box p { color: var(--ink-soft); margin-bottom: 1.5rem; }
.newsletter-form { display: flex; max-width: 400px; margin: 0 auto; gap: .5rem; }
.newsletter-form input {
  flex: 1; padding: .8rem 1.2rem; border: 1px solid var(--line);
  border-radius: var(--r-md); font-family: var(--ff); outline: none;
}
.newsletter-form input:focus { border-color: var(--gold); }
.newsletter-form button {
  background: var(--navy); color: #fff; border: 0; padding: 0 1.5rem;
  border-radius: var(--r-md); font-family: var(--ff); font-weight: 700; cursor: pointer;
  transition: .3s;
}
.newsletter-form button:hover { background: var(--navy-600); }

/* =====================================================================
   NEW SECTIONS (City, Activity, Dest)
   ===================================================================== */
.visa-guide-box {
  background: rgba(200,155,94,.08); border: 1px solid rgba(200,155,94,.3);
  padding: 2rem; border-radius: var(--r-lg); display: flex; gap: 1.5rem; align-items: flex-start;
  margin-bottom: 2rem;
}
.visa-guide-box .icon {
  width: 50px; height: 50px; background: #fff; border-radius: 50%;
  display: grid; place-items: center; color: var(--gold); box-shadow: var(--sh-sm); flex: 0 0 auto;
}
.visa-guide-box .icon svg { width: 1.5em; height: 1.5em; }

.trans-methods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 1.5rem; }
.trans-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 1.5rem 1rem; text-align: center; box-shadow: var(--sh-sm);
}
.trans-card svg { width: 2em; height: 2em; color: var(--navy); margin-bottom: .8rem; }
.trans-card h5 { font-size: 1.1rem; margin-bottom: .4rem; }
.trans-card p { font-size: .85rem; color: var(--ink-soft); line-height: 1.4; }
.trans-tip {
  background: #fff; border-right: 4px solid var(--gold); padding: 1.2rem;
  box-shadow: var(--sh-sm); margin-top: 1.5rem; border-radius: var(--r-md);
  display: flex; gap: 1rem; align-items: center; font-size: .95rem; font-weight: 600;
}

.suitable-for { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1.5rem 0; }
.suit-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 1.5rem 1rem; text-align: center;
}
.suit-card svg { width: 2em; height: 2em; color: #14b480; margin-bottom: .8rem; }
.suit-card.warning svg { color: #eb001b; }
.suit-card h5 { font-size: 1rem; font-weight: 700; color: var(--navy); }

@media (max-width: 860px) {
  .trans-methods, .suitable-for { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .trans-methods, .suitable-for { grid-template-columns: 1fr; }
  .newsletter-form { flex-direction: column; }
  .newsletter-form button { padding: .8rem; }
}

/* Click support for desktop dropdown */
.nav-dropdown.is-open .nav-drop-menu,
.nav-dropdown.is-open .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-dropdown.is-open .nav-drop-toggle svg { transform: rotate(180deg); }

/* =====================================================================
   MOBILE DRAWER DRILL-DOWN (SLIDE-IN PANELS)
   ===================================================================== */
.mob-dropdown { margin: 0; padding: 0; }
.mob-drop-toggle, .mob-sub-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; 
  padding: 1rem .4rem; font-size: 1.1rem; font-weight: 700; background: transparent; 
  color: #fff; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); cursor: pointer; text-align: start; font-family: var(--ff);
}
.mob-sub-toggle { padding: 0.8rem .4rem; font-size: 1rem; font-weight: 600; color: rgba(233,238,245,.8); border-bottom: 1px dashed rgba(255,255,255,.08); }
.mob-drop-toggle svg, .mob-sub-toggle svg { width: 1.1em; height: 1.1em; color: rgba(255,255,255,.4); }

.mob-panel {
  position: absolute;
  top: 0; bottom: 0; right: 0; left: 0;
  background: var(--navy);
  z-index: 20;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.3, 0.8, 0.3, 1), visibility 0.3s;
  visibility: hidden;
  display: flex;
  flex-direction: column;
  padding: 1.4rem;
  overflow-y: auto;
}
.mob-panel.is-open {
  transform: translateX(0);
  visibility: visible;
}
.mob-back {
  display: flex; align-items: center; gap: 0.5rem;
  background: transparent; border: none;
  color: var(--gold-bright); font-size: 1.05rem; font-weight: 700;
  padding: 0 0 1.5rem; cursor: pointer; font-family: var(--ff); text-align: start;
}
.mob-back svg { width: 1.2em; height: 1.2em; }
.mob-panel-title {
  font-size: 1.6rem; font-weight: 800; color: #fff;
  margin-bottom: 1.2rem; padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.mob-panel-body { display: flex; flex-direction: column; }
.mob-panel-body a {
  padding: 0.8rem .4rem; color: rgba(233,238,245,.8);
  font-size: 1.05rem; font-weight: 600; text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.08); display: block;
}
.mob-panel-body a:last-child { border-bottom: 0; }
.mob-panel-body a:hover { color: #fff; }

/* ===== WP Desktop Header Menu Fix ===== */

.nav-menu .header-wp-menu {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav-menu .header-wp-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav-menu .header-wp-menu li::marker {
    content: "" !important;
}

.nav-menu .header-wp-menu a {
    color: inherit !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    font: inherit !important;
}

.nav-menu .header-wp-menu .current-menu-item > a,
.nav-menu .header-wp-menu .current_page_item > a {
    color: var(--gold-bright) !important;
}

.nav-menu > a,
.nav-menu > .nav-dropdown,
.nav-menu > .header-wp-menu {
    flex-shrink: 0 !important;
}

.nav-menu .header-wp-menu li,
.nav-menu .header-wp-menu li a {
    display: inline-flex !important;
}

.footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-list li {
    margin: 0;
    padding: 0;
}

.footer-menu-list li a {
    display: block;
    color: inherit;
    text-decoration: none;
    margin-bottom: 14px;
}