/* ============================================================
   style.css — بعيون عربية للسياحة
   Premium Travel Website — Light Blue + Cream Theme
   ============================================================ */

/* HOTELS HIDDEN — لإرجاعها احذف هذا البلوك */
.hotels-toggle-wrap,
.city-hotels-wrap { display:none !important; }

/* ===== DESIGN SYSTEM ===== */
:root {
  --blue-royal: #1E5FA8;
  --blue-deep:  #0F3B6D;
  --blue-light: #2F7ED8;
  --blue-pale:  #EEF4FB;

  --cream:       #F5F7FA;
  --cream-light: #EEF4FB;
  --cream-dark:  #E5E7EB;

  --orange:      #F58220;
  --orange-dark: #D46518;
  --orange-light:#F5A060;

  --white:       #FFFFFF;
  --text-main:   #1A1A1A;
  --gray-text:   #6B7280;
  --gray-muted:  #9CA3AF;
  --border-soft: #E5E7EB;

  --font-ar: 'Tajawal', sans-serif;
  --font-en: 'Inter', sans-serif;

  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  24px;
  --space-lg:  40px;
  --space-xl:  64px;
  --space-2xl: 96px;

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 28px;

  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 48px rgba(0,0,0,0.15);
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-ar);
  background: var(--blue-pale);
  color: var(--text-main);
  overflow-x: hidden;
  padding-top: 70px;
}
body.en { font-family: var(--font-en); direction: ltr; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-thumb { background:var(--blue-royal); border-radius:3px; }

/* ===== NAVBAR ===== */
#nav {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  border-bottom: 3px solid var(--orange);
  height: 101px;
  padding: 0 52px;
  display: flex; align-items:center; justify-content:space-between;
  transition: all 0.3s;
  overflow: visible;
  font-family: var(--font-ar);
}
#nav.scrolled { height:101px; box-shadow: var(--shadow-sm); }
.nav-logo img { height:95px; width:auto; object-fit:contain; }
#nav.scrolled .nav-logo img { height:88px; }
.nav-links { display:flex; align-items:center; gap:4px; }
.nav-links > li { position:relative; }
.nav-links > li > a {
  color: var(--text-main); font-size:15px; font-weight:500;
  padding: 8px 14px; border-radius:var(--r-sm);
  display:flex; align-items:center; gap:4px;
  transition: color 0.25s;
  white-space: nowrap;
}
.nav-links > li > a:hover { color: var(--orange); }
.nav-links > li > a.active-page { color: var(--orange); font-weight:700; }
.nav-arrow { font-size:9px; transition:transform 0.3s; }
.nav-links > li:hover > a .nav-arrow { transform:rotate(180deg); }

/* Dropdown */
.nav-dropdown {
  position:absolute; top:calc(100% + 8px); right:0;
  background: var(--white); border-radius:var(--r-md);
  border: 1px solid var(--border-soft);
  padding: 8px; min-width:240px;
  box-shadow: var(--shadow-md);
  opacity:0; visibility:hidden;
  transform: translateY(8px);
  transition: all 0.25s ease; z-index:100;
}
body.en .nav-dropdown { right:auto; left:0; }
.nav-links > li:hover .nav-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown a {
  display:flex; align-items:center; gap:10px;
  padding: 9px 12px; border-radius:var(--r-sm);
  transition: background 0.2s;
}
.nav-dropdown a:hover { background: var(--blue-pale); }
.dd-flag { font-size:20px; width:28px; text-align:center; flex-shrink:0; }
.dd-flag-img { width:28px; height:19px; border-radius:3px; object-fit:cover; flex-shrink:0; display:block; }
.dd-name { font-size:14px; font-weight:700; color:var(--text-main); display:block; }
.dd-cities { font-size:11px; color:var(--gray-muted); display:block; margin-top:1px; }

/* Nav right */
.nav-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.lang-btn {
  display:flex; align-items:center; gap:6px;
  background: transparent;
  border: 2px solid var(--blue-royal);
  color: var(--blue-royal); padding:6px 16px;
  border-radius:999px; font-size:13px; font-weight:700;
  cursor:pointer; transition:all 0.3s;
  font-family: var(--font-ar); white-space:nowrap;
}
.lang-btn:hover { background:var(--blue-royal); color:#ffffff; }
.lang-wrap { position:relative; }
.lang-dropdown {
  position:absolute; top:calc(100% + 8px); left:0; right:auto;
  background: var(--white); border-radius:10px;
  box-shadow: var(--shadow-md);
  border:1px solid var(--border-soft);
  overflow:hidden; min-width:130px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:all 0.2s ease; z-index:2000;
}
body:not(.en) .lang-dropdown { left:auto; right:0; }
.lang-dropdown.open { opacity:1; visibility:visible; transform:translateY(0); }
.lang-option {
  padding:10px 16px; font-size:14px; font-weight:600;
  cursor:pointer; color: var(--blue-deep);
  transition:background 0.2s;
}
.lang-option:hover { background:rgba(245,130,32,0.1); }
.nav-book {
  background: var(--orange); color: var(--white);
  padding: 10px 22px; border-radius:999px;
  font-size:14px; font-weight:700;
  box-shadow: 0 4px 14px rgba(240,124,42,0.35);
  transition: all 0.3s; white-space:nowrap;
  font-family: var(--font-ar);
}
.nav-book:hover { background:var(--orange-dark); transform:translateY(-2px); }

/* Hamburger */
.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:6px; background:none; border:none;
}
.hamburger span {
  width:24px; height:2.5px; background:var(--orange);
  border-radius:2px; transition:all 0.3s; display:block;
}
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Home button — mobile only */
.nav-home-mob { display:none; }

/* Mobile nav */
@media(max-width:900px){
  .nav-links { display:none; }
  .hamburger { display:flex; }
  #nav { padding:0 20px; }
  .nav-right { gap:7px; }
  .lang-btn { padding:5px 10px; font-size:12px; }
  .nav-book { padding:8px 13px; font-size:12px; }
  .nav-home-mob {
    display:flex; align-items:center; justify-content:center;
    width:32px; height:32px; flex-shrink:0;
    border-radius:50%;
    background:rgba(30,95,168,0.08);
    border:1.5px solid rgba(30,95,168,0.22);
    font-size:17px; color:var(--blue-royal);
    text-decoration:none; line-height:1;
  }
}
.nav-links.nav-open {
  display:flex !important; position:fixed;
  top:101px; right:0; left:0;
  background:var(--white); flex-direction:column;
  padding:16px; gap:4px;
  border-bottom: 3px solid var(--orange);
  box-shadow: var(--shadow-md); z-index:999;
  max-height: calc(100vh - 101px); overflow-y:auto;
}
.nav-links.nav-open .nav-dropdown {
  position:static; opacity:1; visibility:visible;
  max-height:600px; overflow:visible;
  transform:none; box-shadow:none; border:none;
  padding:0 0 8px 16px; min-width:auto;
  transition: all 0.3s ease;
}
.nav-links.nav-open .nav-dropdown.mob-closed {
  opacity:0; visibility:hidden;
  max-height:0; overflow:hidden;
  padding:0 0 0 16px;
}
.nav-links.nav-open > li > a { padding:12px 16px; font-size:15px; justify-content:center; }

/* ===== HERO ===== */
.hero {
  background-color: var(--blue-deep);
  background-image: url('imges/hero-main.webp');
  background-size: cover;
  background-position: center center;
  min-height: 660px;
  position:relative; overflow:hidden;
  display:flex; align-items:center;
}
.hero::before {
  content:'';
  position:absolute; inset:0;
  background: rgba(9, 16, 58, 0.68);
  pointer-events:none; z-index:1;
}
.hero::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0;
  height:120px;
  background: linear-gradient(to bottom, transparent, rgba(9,16,58,0.6));
  pointer-events:none; z-index:2;
}
.hero-inner {
  width:100%; max-width:1200px; margin:0 auto;
  padding: 100px 60px;
  display:flex; flex-direction:column;
  align-items:flex-end;
  position:relative; z-index:3;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(240,124,42,0.18);
  border:1px solid rgba(240,124,42,0.35);
  color:var(--orange-light); padding:7px 18px;
  border-radius:999px; font-size:12px; font-weight:700;
  letter-spacing:1.5px; margin-bottom:22px;
}
.hero-title {
  font-family:'Cairo',sans-serif;
  font-size: clamp(32px,5vw,60px);
  font-weight:800; color:#ffffff;
  line-height:1.15; margin-bottom:18px;
}
body.en .hero-title { font-family:'Inter',sans-serif; }
.hero-title .en-line { font-size:0.55em; color:rgba(255,255,255,0.7); display:block; font-weight:500; margin-bottom:6px; }
.hero-sub {
  font-size:17px; color:rgba(255,255,255,0.82);
  line-height:1.85; margin-bottom:34px; max-width:500px;
}
.hero-cta {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--orange); color:#ffffff;
  padding:16px 36px; border-radius:999px;
  font-size:16px; font-weight:700;
  box-shadow: var(--shadow-md);
  transition:all 0.3s;
}
.hero-cta:hover { background:var(--orange-dark); transform:translateY(-2px); }

/* Hero image side */
.hero-img-wrap { display:none; }
.hero-text { max-width:720px; text-align:right; }

/* Hero stats cards */
.hero-stats {
  display:flex; gap:12px; flex-wrap:wrap;
  justify-content:flex-end;
  margin-top:44px;
}
.hstat {
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px);
  border-radius:var(--r-md); padding:14px 22px;
  text-align:center;
  border:1px solid rgba(30,95,168,0.15);
  box-shadow: var(--shadow-md);
  min-width:80px;
}
.hstat-n { font-family:'Cairo',sans-serif; font-size:22px; font-weight:900; color:var(--orange); }
.hstat-l { font-size:11px; color:var(--gray-text); margin-top:2px; font-weight:500; }

/* ===== SECTION HEADER ===== */
.sec-hd {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:40px;
}
.sec-hd-tag {
  font-size:12px; font-weight:700; color:var(--orange);
  letter-spacing:2px; text-transform:uppercase;
  display:block; margin-bottom:8px;
}
.sec-hd-title {
  font-family:'Cairo',sans-serif;
  font-size:clamp(24px,3vw,38px); font-weight:700;
  line-height:1.2;
}
.sec-hd-title.white { color:#ffffff; }
.sec-hd-title.dark  { color:var(--text-main); }
.sec-hd-sub {
  font-size:15px; margin-top:8px; line-height:1.7;
}
.sec-hd-sub.white  { color:rgba(255,255,255,0.7); }
.sec-hd-sub.muted  { color:var(--gray-text); }
.sec-hd-link {
  color:var(--orange); font-size:14px; font-weight:600;
  display:flex; align-items:center; gap:5px;
  transition:gap 0.3s; white-space:nowrap; padding-bottom:4px;
}
.sec-hd-link:hover { gap:9px; }

/* centered header variant */
.sec-hd-center { text-align:center; margin-bottom:40px; }
.sec-hd-center .sec-hd-tag { display:inline-block; }
.sec-hd-center .sec-hd-title { margin:0 auto; }
.sec-hd-line {
  width:44px; height:3px;
  background:linear-gradient(to right,var(--orange),var(--blue-royal));
  border-radius:2px; margin-top:10px;
}
.sec-hd-center .sec-hd-line { margin:10px auto 0; }

/* ===== DESTINATION EXPLORER ===== */
.dest-explorer { max-width:1120px; margin:0 auto; padding:0 24px; }

.dest-tabs-wrap {
  overflow-x:auto; padding-bottom:6px; margin-bottom:18px;
  scrollbar-width:thin; scrollbar-color:var(--orange) transparent;
}
.dest-tabs-wrap::-webkit-scrollbar { height:3px; }
.dest-tabs-wrap::-webkit-scrollbar-track { background:transparent; }
.dest-tabs-wrap::-webkit-scrollbar-thumb { background:var(--orange); border-radius:2px; }
.dest-tabs { display:flex; gap:8px; flex-wrap:nowrap; }

.dest-tab-pill {
  flex-shrink:0; padding:9px 20px; border-radius:30px;
  background: var(--white);
  border:1.5px solid var(--border-soft);
  color: var(--text-main); cursor:pointer;
  font-size:14px; font-weight:600;
  font-family:'Tajawal',sans-serif;
  transition:all 0.25s; white-space:nowrap;
  user-select:none;
  box-shadow: var(--shadow-sm);
}
.dest-tab-pill:hover { background:rgba(245,130,32,0.08); border-color:var(--orange); color:var(--orange); }
.dest-tab-pill.active { background:var(--orange); border-color:var(--orange); color:#fff; box-shadow:none; }

.dest-display {
  position:relative; border-radius:20px; overflow:hidden;
  height:480px; display:grid;
  grid-template-columns:65% 35%; gap:4px;
  transition:opacity 0.3s ease;
}
.dest-display.dest-switching { opacity:0; }

.dest-photo-wrap { position:relative; overflow:hidden; }
.dest-photo-inner {
  position:absolute; inset:-12%;
  background-size:cover; background-position:center;
  animation:kbMain 14s ease-in-out infinite alternate;
}
.dest-photo-inner-2 {
  animation:kbSide 11s ease-in-out infinite alternate;
  animation-delay:-5s;
}
@keyframes kbMain {
  0%   { transform:scale(1.05) translate(0%,0%); }
  100% { transform:scale(1.18) translate(-4%,3%); }
}
@keyframes kbSide {
  0%   { transform:scale(1.18) translate(4%,-3%); }
  100% { transform:scale(1.05) translate(0%,0%); }
}

.dest-display-overlay {
  position:absolute; bottom:0; left:0; right:0; z-index:4;
  background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 50%, transparent 100%);
  padding:44px 36px 30px;
}
.dest-display-en {
  font-size:11px; font-weight:700; letter-spacing:4px;
  color:var(--orange); margin-bottom:8px; font-family:'Inter',sans-serif;
}
.dest-display-name {
  font-family:'Cairo',sans-serif;
  font-size:clamp(28px,4vw,48px);
  font-weight:900; color:#fff; line-height:1; margin-bottom:10px;
}
.dest-display-cities {
  font-size:15px; color:rgba(255,255,255,0.72);
  margin-bottom:20px; letter-spacing:0.3px;
}
.dest-display-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 26px; background:var(--orange);
  color:#fff; border-radius:30px;
  font-size:14px; font-weight:700; text-decoration:none;
  transition:all 0.25s;
}
.dest-display-btn:hover { background:var(--orange-dark); transform:translateX(-5px); }
body.en .dest-display-btn:hover { transform:translateX(5px); }

@media(max-width:900px){
  .dest-display { height:640px; grid-template-columns:1fr; grid-template-rows:50% 50%; }
  .dest-photo-wrap:last-of-type { display:block; }
  .dest-display-overlay { padding:36px 24px 24px; }
  .dest-display.dest-al { grid-template-columns:35% 65%; grid-template-rows:1fr; height:480px; }
}
@media(max-width:600px){
  .dest-explorer { padding:0 16px; }
  .dest-display { height:360px; border-radius:14px; }
  .dest-display.dest-al { grid-template-columns:38% 62%; grid-template-rows:1fr; height:340px; }
  .dest-display-name { font-size:26px; }
  .dest-tabs { flex-wrap:wrap; justify-content:center; }
  .dest-tabs-wrap { overflow-x:visible; }
  .dest-tab-pill { font-size:13px; padding:8px 16px; flex-shrink:1; }
}

/* ===== DESTINATIONS ===== */
.dest-sec {
  background: var(--blue-pale);
  padding: 90px 60px;
}
.dest-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.dc {
  position:relative; border-radius:var(--r-xl);
  overflow:hidden; display:block;
  aspect-ratio:4/3; cursor:pointer;
  transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  border:1px solid rgba(255,255,255,0.04);
}
.dc:hover { transform:translateY(-10px); box-shadow:0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(240,124,42,0.2); }
/* Featured first card */
.dc:first-child {
  grid-column: span 2;
  aspect-ratio: 16/9;
  border:1px solid rgba(240,124,42,0.3);
  box-shadow: 0 0 40px rgba(240,124,42,0.08);
}
.dc:first-child .dc-name { font-size:26px; }
.dc:first-child .dc-sub { font-size:13px; }
.dc:first-child::before {
  content:'⭐ الأكثر طلباً';
  position:absolute; top:18px; right:18px; z-index:4;
  background:var(--orange); color:#1a0a00;
  font-size:11px; font-weight:800;
  padding:5px 14px; border-radius:999px;
  letter-spacing:0.5px;
}
body.en .dc:first-child::before { content:'⭐ Most Popular'; right:auto; left:18px; }
.dc-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}
.dc:hover .dc-bg { transform:scale(1.08); }
.dc-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.1) 55%, transparent 100%);
}
.dc-body {
  position:absolute; bottom:0; left:0; right:0;
  padding:20px; z-index:2;
  display:flex; align-items:flex-end; justify-content:space-between;
}
.dc-name {
  font-family:'Cairo',sans-serif;
  font-size:20px; font-weight:700; color:#ffffff;
}
.dc-sub { font-size:11px; color:rgba(255,255,255,0.6); margin-top:4px; letter-spacing:0.3px; }
.dc-plane {
  font-size:20px; flex-shrink:0;
  width:38px; height:38px;
  background:rgba(240,124,42,0.2);
  border:1px solid rgba(240,124,42,0.4);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s;
}
.dc:hover .dc-plane { background:var(--orange); border-color:var(--orange); }

/* Country placeholder gradients */
.bg-az { background:linear-gradient(145deg,#0e2244,#1a4a8a); }
.bg-uz { background:linear-gradient(145deg,#0e2a1e,#1a6040); }
.bg-kz { background:linear-gradient(145deg,#0e2a1e,#1a5a35); }
.bg-ge { background:linear-gradient(145deg,#2a0e0e,#6a1a1a); }
.bg-ru { background:linear-gradient(145deg,#0e0e2a,#2a2a7a); }
.bg-ba { background:linear-gradient(145deg,#0e1a2a,#1a3a6a); }
.bg-pl { background:linear-gradient(145deg,#2a0e14,#6a1a2a); }
.bg-me { background:linear-gradient(145deg,#1a0e2a,#3a1a5a); }
.bg-al { background:linear-gradient(145deg,#2a0e0e,#7a1010); }

/* ===== B2B + B2C CARDS ===== */
.b2bc-sec {
  background: var(--blue-pale);
  padding: 80px 60px;
}
.b2bc-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.b2bc-card {
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow:var(--shadow-md);
  display:block; cursor:pointer; transition:all 0.35s;
  position:relative; text-decoration:none;
}
.b2bc-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.b2bc-card:hover .b2bc-card-overlay { background: rgba(7,26,16,0.65); }

.b2bc-card-img-wrap {
  position:relative; width:100%; min-height:560px;
  display:flex; align-items:flex-end;
}
.b2bc-card-img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  display:block;
}
.b2bc-card-placeholder {
  position:absolute; inset:0;
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:64px;
  background:linear-gradient(135deg,var(--blue-deep),var(--blue-royal));
}
.b2bc-card-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(7,26,16,0.92) 0%, rgba(7,26,16,0.55) 50%, rgba(7,26,16,0.25) 100%);
  transition: background 0.4s;
}
.b2bc-card-content {
  position:relative; z-index:2;
  padding:36px 32px 36px;
  width:100%;
  direction:rtl; text-align:right;
}
.b2bc-card-tag {
  font-size:11px; font-weight:700; color:var(--orange);
  letter-spacing:2px; text-transform:uppercase;
  margin-bottom:10px; display:block;
}
.b2bc-card-title {
  font-family:'Cairo',sans-serif;
  font-size:28px; font-weight:900; color:#ffffff;
  margin-bottom:10px; line-height:1.3;
}
.b2bc-card-sub {
  font-size:13px; color:rgba(255,255,255,0.8);
  line-height:1.75; margin-bottom:18px;
}
.b2bc-list {
  list-style:none; padding:0; margin:0 0 22px;
}
.b2bc-list li {
  font-size:13px; color:rgba(255,255,255,0.9);
  padding:5px 0; display:flex; align-items:center;
  gap:8px; justify-content:flex-end;
}
.b2bc-list li::before {
  content:'✓'; color:var(--orange);
  font-weight:700; font-size:14px;
  order:1;
}
.b2bc-card-btn {
  display:inline-block;
  background:transparent;
  border:2px solid rgba(255,255,255,0.7);
  color:#fff;
  padding:10px 24px;
  border-radius:8px;
  font-size:13px; font-weight:700;
  transition:all 0.3s;
}
.b2bc-card:hover .b2bc-card-btn {
  border-color:var(--orange); color:var(--orange);
}
.b2bc-card-btn-orange {
  background:var(--orange); border-color:var(--orange); color:#111;
}
.b2bc-card:hover .b2bc-card-btn-orange {
  background:#c98a35; border-color:#c98a35; color:#111;
}

/* ===== SERVICES ===== */
.services-sec {
  background: var(--cream-light);
  padding: 90px 60px;
}
.services-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  max-width:1100px; margin:0 auto; justify-content:center;
}
.svc-card {
  background: var(--white);
  border-radius:var(--r-lg);
  padding: 36px 22px; text-align:center;
  border:1px solid var(--border-soft);
  box-shadow: var(--shadow-sm);
  transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
  position:relative; overflow:hidden;
}
.svc-card::before {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(245,130,32,0.04) 0%, transparent 60%);
  opacity:0; transition:opacity 0.35s;
}
.svc-card:hover {
  border-color:rgba(245,130,32,0.35);
  box-shadow: 0 12px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(245,130,32,0.15);
  transform:translateY(-6px);
}
.svc-card:hover::before { opacity:1; }
.svc-icon {
  font-size:36px;
  display:flex; align-items:center; justify-content:center;
  width:72px; height:72px;
  background: linear-gradient(135deg, rgba(245,130,32,0.12), rgba(30,95,168,0.12));
  border:1px solid rgba(245,130,32,0.2);
  border-radius:20px;
  margin:0 auto 20px;
  transition:all 0.35s;
  position:relative; z-index:1;
}
.svc-card:hover .svc-icon {
  background: linear-gradient(135deg, rgba(245,130,32,0.22), rgba(30,95,168,0.18));
  border-color:rgba(245,130,32,0.4);
  transform:scale(1.08);
}
.svc-title {
  font-size:16px; font-weight:700; color:var(--text-main);
  margin-bottom:10px; position:relative; z-index:1;
}
.svc-desc { font-size:13px; color:var(--gray-text); line-height:1.75; position:relative; z-index:1; }
.svc-explore {
  display:inline-flex; align-items:center;
  margin-top:auto; font-size:12px; font-weight:700;
  color:var(--orange); letter-spacing:0.3px;
  border:1.5px solid rgba(245,130,32,0.5);
  padding:6px 16px; border-radius:50px;
  position:relative; z-index:1;
  transition:all 0.25s;
}
a.svc-card:hover .svc-explore { background:rgba(245,130,32,0.12); border-color:var(--orange); }
/* ── services-sec image cards ── */
.services-sec .svc-card, .inner-sec .svc-card { padding:0; display:flex; flex-direction:column; }
.svc-img { width:100%; height:148px; background:linear-gradient(135deg,var(--blue-deep),rgba(245,130,32,0.15)); background-size:cover; background-position:center; flex-shrink:0; }
.svc-card-body { padding:22px; display:flex; flex-direction:column; align-items:center; flex:1; }

/* ===== TEAM ===== */
.team-sec {
  background: var(--white);
  padding: 90px 60px;
}
.team-ceo-wrap {
  display:flex; justify-content:center; margin-bottom:40px;
}
.team-ceo {
  background:var(--white);
  border-radius:var(--r-xl); padding:32px 36px;
  box-shadow:var(--shadow-md);
  border-top:4px solid var(--orange);
  text-align:center; width:300px;
  transition:all 0.3s;
}
.team-ceo:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.team-photo {
  width:110px; height:110px; border-radius:50%;
  border:4px solid var(--orange);
  overflow:hidden; margin:0 auto 16px;
  object-fit:cover;
}
.team-photo-placeholder {
  width:110px; height:110px; border-radius:50%;
  border:4px solid var(--orange);
  background:linear-gradient(135deg,var(--blue-royal),var(--blue-light));
  display:flex; align-items:center; justify-content:center;
  font-family:'Cairo',sans-serif; font-size:38px;
  font-weight:900; color:#ffffff;
  margin:0 auto 16px;
}
.team-ceo .team-photo,
.team-ceo .team-photo-placeholder { width:120px; height:120px; font-size:44px; }
.team-name {
  font-family:'Cairo',sans-serif;
  font-size:18px; font-weight:700; color:var(--text-main);
  margin-bottom:4px;
}
.team-role {
  font-size:13px; color:var(--orange); font-weight:600;
  margin-bottom:8px;
}
.team-flag { font-size:22px; margin-bottom:12px; }
.team-socials { display:flex; gap:8px; justify-content:center; }
.team-soc {
  width:32px; height:32px; border-radius:var(--r-sm);
  background:var(--blue-pale); border:1px solid var(--border-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; transition:all 0.3s; text-decoration:none;
}
.team-soc:hover { background:var(--blue-royal); color:#ffffff; }

.team-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  max-width:1100px; margin:0 auto;
}
.team-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:24px 18px; text-align:center;
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-sm);
  transition:all 0.3s;
}
.team-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.team-card .team-photo,
.team-card .team-photo-placeholder {
  width:90px; height:90px; font-size:30px;
}
.team-card .team-name { font-size:15px; }

/* ===== REVIEWS ===== */
.reviews-sec {
  background: var(--cream-light);
  padding: 80px 60px;
}
/* TikTok embeds layout */
.tt-country-block {
  max-width:1160px; margin:40px auto 0; padding:0 20px;
}
.tt-country-label {
  font-family:'Cairo',sans-serif; font-size:20px; font-weight:700;
  color:var(--blue-royal); margin-bottom:20px;
  border-right:4px solid var(--orange); padding-right:14px;
}
body.en .tt-country-label { border-right:none; border-left:4px solid var(--orange); padding-right:0; padding-left:14px; }
.tt-embeds-row {
  display:flex; flex-wrap:wrap; gap:20px;
  justify-content:center; direction:ltr;
}
.tt-embed-wrap { display:flex; flex-direction:column; align-items:center; }
.tt-embed-wrap iframe { border-radius:12px; display:block; border:none; }
.tt-all-row { max-width:1160px; margin:40px auto 0; padding:0 20px; }
.tt-poster {
  width:325px; height:740px; border-radius:12px; cursor:pointer;
  background:linear-gradient(160deg,#1a2557 0%,#0d47a1 50%,#1976d2 100%);
  background-size:cover; background-position:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:16px; transition:opacity 0.2s; position:relative; overflow:hidden;
}
/* overlay داكن فوق الصورة */
.tt-poster::before {
  content:''; position:absolute; inset:0;
  background:rgba(0,0,0,0.35); border-radius:inherit;
  transition:background 0.2s;
}
.tt-poster:hover::before { background:rgba(0,0,0,0.2); }
.tt-poster-play, .tt-poster-hint { position:relative; z-index:1; }
.tt-poster-play {
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,0.2); border:2px solid rgba(255,255,255,0.6);
  display:flex; align-items:center; justify-content:center;
  font-size:26px; color:#fff; padding-left:4px;
  transition:transform 0.2s, background 0.2s;
}
.tt-poster:hover .tt-poster-play { transform:scale(1.1); background:rgba(255,255,255,0.35); }
.tt-poster-hint { font-size:13px; color:rgba(255,255,255,0.85); font-family:'Tajawal',sans-serif; }
.tt-label {
  margin-top:8px; font-size:13px; font-weight:700;
  color:var(--orange); text-align:center;
}

.reviews-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
  max-width:680px; margin:0 auto;
}
.reviews-grid-home {
  grid-template-columns:repeat(3,1fr);
  max-width:1000px;
}
.rv-card {
  border-radius:var(--r-md); overflow:hidden;
  aspect-ratio:9/16; max-height:480px;
  position:relative; cursor:pointer;
  background:var(--blue-pale); transition:all 0.3s;
}
.rv-card:hover { transform:scale(1.03); box-shadow:var(--shadow-md); }
.rv-card img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.4s;
}
.rv-card:hover img { transform:scale(1.05); }
.rv-overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.25);
  display:flex; align-items:center; justify-content:center;
}
.rv-play {
  width:60px; height:60px; border-radius:50%;
  background:var(--orange); color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; box-shadow:var(--shadow-md);
  transition:transform 0.3s;
}
.rv-card:hover .rv-play { transform:scale(1.1); }
.rv-info {
  position:absolute; bottom:0; left:0; right:0;
  padding:12px 14px;
  background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
}
.rv-name { font-size:13px; font-weight:700; color:#ffffff; }
.rv-dest { font-size:11px; color:var(--orange-light); margin-top:2px; }
.rv-placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg,var(--blue-royal),var(--blue-light));
  display:flex; align-items:center; justify-content:center;
  font-size:52px;
}

/* ===== CONTACT FORM ===== */
.contact-sec {
  background: var(--blue-pale);
  padding: 80px 60px;
}
.contact-card {
  background: var(--white);
  border-radius:var(--r-xl); padding:48px;
  box-shadow:var(--shadow-lg);
  max-width:720px; margin:0 auto;
}
.contact-card h2 {
  font-family:'Cairo',sans-serif;
  font-size:28px; font-weight:700; color:var(--text-main);
  margin-bottom:6px;
}
.contact-card .sub {
  font-size:14px; color:var(--gray-text); margin-bottom:28px; line-height:1.7;
}
.form-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;
}
.form-full { grid-column:1/-1; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label {
  font-size:13px; font-weight:700; color:var(--text-main);
}
.form-group input,
.form-group select,
.form-group textarea {
  background:var(--white);
  border:1.5px solid var(--cream-dark);
  border-radius:var(--r-sm);
  padding:13px 15px; font-size:14px;
  font-family:var(--font-ar); color:var(--text-main);
  transition:all 0.25s; outline:none;
}
body.en .form-group input,
body.en .form-group select,
body.en .form-group textarea { font-family:var(--font-en); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(240,124,42,0.15);
}
.form-group textarea { min-height:110px; resize:vertical; }
.form-submit {
  width:100%; background:var(--orange);
  color:#ffffff; border:none;
  padding:16px; border-radius:var(--r-sm);
  font-size:16px; font-weight:700;
  cursor:pointer; font-family:var(--font-ar);
  transition:all 0.3s; margin-top:8px;
}
body.en .form-submit { font-family:var(--font-en); }
.form-submit:hover { background:var(--orange-dark); transform:translateY(-2px); }

/* ===== FOOTER ===== */
footer.site-footer {
  background: var(--blue-deep);
  padding: 60px 60px 30px; color:#ffffff;
}
.footer-grid {
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  gap:40px; max-width:1200px; margin:0 auto 40px;
}
.f-logo-row { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.f-logo-row img { background:#fff; border-radius:18px; padding:6px; object-fit:contain; }
.f-logo-ico {
  width:42px; height:42px; background:var(--blue-royal);
  border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:#ffffff; font-size:20px;
}
.f-logo-ar { font-size:15px; font-weight:900; color:#ffffff; display:block; }
.f-logo-en { font-size:9px; color:var(--orange); letter-spacing:2px; font-weight:700; display:block; }
.f-desc { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.85; margin-bottom:20px; max-width:260px; }
.f-social { display:flex; gap:8px; }
.f-soc {
  width:36px; height:36px; border-radius:var(--r-sm);
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.75); text-decoration:none; transition:all 0.3s;
}
.f-soc svg { display:block; }
.f-soc:hover { background:var(--orange); border-color:var(--orange); color:#fff; }
.f-social-link {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:16px; padding:9px 20px; border-radius:999px;
  border:1.5px solid rgba(240,124,42,0.45);
  color:var(--orange-light); text-decoration:none;
  font-size:13px; font-weight:700; font-family:var(--font-ar);
  transition:all 0.2s; letter-spacing:0.3px;
}
body.en .f-social-link { font-family:var(--font-en); }
.f-social-link:hover { background:var(--orange); border-color:var(--orange); color:#fff; }
.f-col h4 {
  font-family:'Cairo',sans-serif;
  font-size:16px; font-weight:700; color:var(--orange);
  margin-bottom:18px;
}
.f-contact-items { display:flex; flex-direction:column; gap:12px; }
.f-ci {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:rgba(255,255,255,0.65);
  text-decoration:none; transition:color 0.3s;
}
.f-ci:hover { color:var(--orange); }
.f-ci span { unicode-bidi: plaintext; }
.f-ci-icon {
  width:32px; height:32px; border-radius:var(--r-sm);
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0;
}
.f-links-list { display:flex; flex-direction:column; gap:10px; }
.f-links-list a {
  font-size:13px; color:rgba(255,255,255,0.65);
  text-decoration:none; transition:color 0.3s;
  display:flex; align-items:center; gap:6px;
}
.f-links-list a::before { content:'›'; color:var(--orange); }
.f-links-list a:hover { color:var(--orange); }
.f-bottom {
  max-width:1200px; margin:0 auto;
  padding-top:22px; border-top:1px solid rgba(255,255,255,0.08);
  text-align:center; font-size:12px; color:rgba(255,255,255,0.4);
}

/* ===== FLOATING WHATSAPP ===== */
.fwa {
  position:fixed; bottom:28px; left:28px;
  width:58px; height:58px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  font-size:28px; z-index:999; text-decoration:none;
  box-shadow:0 4px 16px rgba(37,211,102,0.4);
  animation:wapulse 2.5s ease-in-out infinite;
}
@keyframes wapulse {
  0%,100% { box-shadow:0 4px 16px rgba(37,211,102,0.4); }
  50% { box-shadow:0 4px 16px rgba(37,211,102,0.4),0 0 0 12px rgba(37,211,102,0.1); }
}

/* ===== COUNTRY PAGE HERO ===== */
.country-hero {
  min-height:420px; position:relative;
  display:flex; align-items:flex-end; padding:60px;
  overflow:hidden;
}
.country-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}
.country-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, rgba(0,0,0,0.75) 50%, transparent 100%);
}
body.en .country-hero-overlay {
  background:linear-gradient(to left, rgba(0,0,0,0.75) 50%, transparent 100%);
}
.country-hero-body { position:relative; z-index:2; }
.country-breadcrumb {
  font-size:13px; color:rgba(255,255,255,0.6);
  margin-bottom:14px; display:flex; align-items:center; gap:6px;
}
.country-breadcrumb a { color:var(--orange); text-decoration:none; }
.country-breadcrumb a:hover { color:#fff; }
.country-breadcrumb span { color:rgba(255,255,255,0.3); }
.country-hero-title {
  font-family:'Cairo',sans-serif;
  font-size:clamp(36px,5vw,60px); font-weight:800; color:#ffffff;
  margin-bottom:10px;
}
.h-en {
  font-size:11px; color:rgba(255,255,255,0.4); letter-spacing:2.5px;
  font-weight:700; font-family:var(--font-en); margin-bottom:10px; text-transform:uppercase;
}
.h-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.h-tag {
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.8); padding:5px 13px;
  border-radius:999px; font-size:12px; font-weight:600;
}
.country-hero-sub { font-size:16px; color:#ffffff; line-height:1.75; max-width:600px; }
.country-hero-tag { font-size:13px; color:rgba(255,255,255,0.65); margin-top:10px; font-weight:500; letter-spacing:0.2px; }

/* ===== EXP CARDS (country pages) ===== */
.exp-cards-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.exp-card {
  background:#fff; border:1px solid rgba(13,79,138,0.09);
  border-radius:22px; padding:32px 26px;
  box-shadow:0 2px 18px rgba(0,0,0,0.05);
  transition:transform 0.25s,box-shadow 0.25s;
}
.exp-card:hover { transform:translateY(-5px); box-shadow:0 10px 32px rgba(0,0,0,0.09); }
.exp-card-icon { font-size:22px; color:var(--orange); margin-bottom:14px; line-height:1; }
.exp-card-title { font-size:17px; font-weight:800; color:#0a1825; margin-bottom:10px; line-height:1.45; font-family:'Cairo',sans-serif; }
.exp-card-desc { font-size:13.5px; color:#6b7a8d; line-height:1.95; }
@media(max-width:860px){
  .exp-cards-grid { grid-template-columns:repeat(2,1fr); gap:14px; }
  .exp-cards-grid .exp-card:nth-child(3) { grid-column:1/-1; max-width:calc(50% - 7px); justify-self:center; }
}
@media(max-width:500px){
  .info-sec { padding:24px 16px; }
}

/* City Tabs */
.city-tabs-bar {
  background:var(--white); border-bottom:2px solid var(--border-soft);
  padding:0 60px; position:sticky; top:70px; z-index:100;
  box-shadow:var(--shadow-sm);
  overflow-x:auto; white-space:nowrap;
  display:flex; gap:4px; align-items:center;
}
.city-tab {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 20px; font-size:14px; font-weight:600;
  color:var(--text-main); border-bottom:3px solid transparent;
  cursor:pointer; transition:all 0.25s; white-space:nowrap;
  text-decoration:none; border-radius:0;
}
.city-tab:hover { color:var(--orange); }
.city-tab.active { color:var(--orange); border-bottom-color:var(--orange); }

/* City section */
.city-sec { padding:60px; }
.city-sec + .city-sec { border-top:1px solid var(--border-soft); }
.city-title {
  font-family:'Cairo',sans-serif;
  font-size:32px; font-weight:700; color:var(--text-main); margin-bottom:12px;
}
.city-desc { font-size:15px; color:var(--gray-text); line-height:1.85; margin-bottom:36px; max-width:700px; }

/* Hotel cards */
.hotel-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.hotel-card {
  border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--border-soft); box-shadow:var(--shadow-sm);
  background:var(--white); transition:all 0.3s;
}
.hotel-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.hotel-img {
  width:100%; height:180px; object-fit:cover;
  background:linear-gradient(135deg,var(--blue-royal),var(--blue-light));
  display:flex; align-items:center; justify-content:center;
  font-size:40px; color:rgba(255,255,255,0.4);
}
.hotel-body { padding:18px; }
.hotel-stars { color:var(--orange); font-size:14px; margin-bottom:6px; }
.hotel-name {
  font-family:'Cairo',sans-serif; font-size:16px; font-weight:700;
  color:var(--text-main); margin-bottom:6px;
}
.hotel-desc { font-size:13px; color:var(--gray-text); line-height:1.7; margin-bottom:14px; }
.hotel-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:#25D366; color:#ffffff;
  padding:9px 18px; border-radius:999px;
  font-size:13px; font-weight:700; transition:all 0.3s;
}
.hotel-btn:hover { background:#1aad4f; transform:translateY(-1px); }

/* ===== POPUP OVERLAY ===== */
body.popup-blur-active > *:not(#lang-popup-overlay) {
  filter:blur(4px); pointer-events:none; transition:filter 0.4s;
}
#lang-popup-overlay {
  position:fixed; inset:0; z-index:99999;
  background:rgba(0,0,0,0.72);
  display:flex; align-items:center; justify-content:center;
  overflow-y:auto; padding:20px 0;
  animation:fadeOvIn 0.4s ease;
}
@keyframes fadeOvIn { from{opacity:0;} to{opacity:1;} }
#lang-popup-box {
  background: var(--white); border:2px solid var(--blue-royal);
  border-radius:var(--r-xl);
  padding:40px 40px; text-align:center;
  max-width:480px; width:90%;
  box-shadow: var(--shadow-lg);
  animation:popIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes popIn { from{opacity:0;transform:scale(0.88);} to{opacity:1;transform:scale(1);} }
#lang-popup-box img { height:200px; width:auto; margin:0 auto 5px; display:block; object-fit:contain; }#lang-popup-box h2 {
  font-family:'Cairo',sans-serif; font-size:22px; font-weight:800;
  color: var(--text-main); margin-bottom:6px;
}
#lang-popup-box p { font-size:13px; color: var(--gray-text); margin-bottom:28px; }
.lang-options { display:grid; grid-template-columns:1fr; gap:12px; }
.lang-opt {
  background: var(--blue-pale); border:1px solid var(--border-soft);
  border-radius:var(--r-md); padding:0 20px;
  cursor:pointer; transition:border-color 0.25s, background 0.25s, box-shadow 0.25s;
  display:flex; flex-direction:row; align-items:center; gap:12px;
  height: 65px;
}
.lang-opt:hover { border-color:var(--orange); background:rgba(245,130,32,0.08); box-shadow:0 0 0 2px rgba(245,130,32,0.2); }
.lang-opt * { pointer-events: none; }

.lang-opt-flag { width:28px; height:19px; border-radius:3px; display:block; object-fit:cover; }
.lang-opt-name { font-size:16px; font-weight:800; color: var(--blue-deep); font-family:'Tajawal',sans-serif; }
.lang-opt-sub { font-size:12px; color: var(--gray-text); }

@media(max-width:600px){
  #lang-popup-overlay { align-items:flex-start; }
  #lang-popup-box { padding:24px 20px; }
  #lang-popup-box img { height:120px; }
}

/* Mini trip popup */
#mini-popup-wrap {
  position:fixed; bottom:24px; left:24px; z-index:9000;
  display:flex; align-items:flex-end; gap:12px;
  animation:mpSlideUp 0.4s ease;
}
body.en #mini-popup-wrap { left:auto; right:24px; flex-direction:row-reverse; }
@keyframes mpSlideUp { from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }

#mini-popup-side {
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
#mini-popup-close-btn {
  width:34px; height:34px; border-radius:9px;
  background:#fff; border:none; cursor:pointer;
  font-size:17px; color:#333; line-height:1;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,0.18);
  transition:background 0.2s;
}
#mini-popup-close-btn:hover { background:#f0f0f0; }
#mini-popup-wa {
  width:56px; height:56px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 18px rgba(37,211,102,0.45);
  transition:transform 0.2s;
}
#mini-popup-wa:hover { transform:scale(1.08); }

#mini-popup-card {
  background: var(--white); border-radius:16px;
  padding:16px 18px 14px; width:240px;
  box-shadow: var(--shadow-md);
  direction:rtl;
}
body.en #mini-popup-card { direction:ltr; }
.mini-popup-title {
  font-size:15px; font-weight:700;
  color:var(--orange); margin-bottom:5px; line-height:1.4;
}
.mini-popup-sub {
  font-size:13px; color: var(--gray-text);
  line-height:1.55; margin-bottom:14px;
}
.mini-popup-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:#25D366; color:#fff;
  padding:10px 14px; border-radius:10px;
  font-size:13px; font-weight:700; text-decoration:none;
  transition:background 0.2s;
}
.mini-popup-btn:hover { background:#1aad4f; }

/* ===== ANIMATIONS ===== */
.reveal { opacity:0; transform:translateY(30px); transition:all 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
  .hero-inner{ padding:60px 40px; }
  .dest-sec,.b2bc-sec,.services-sec,.team-sec,.reviews-sec,.contact-sec,footer.site-footer{
    padding-right:40px; padding-left:40px;
  }
}
@media(max-width:1024px){
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:900px){
  .hero-inner{ grid-template-columns:1fr; }
  .hero-img-wrap{ display:none; }
  .dest-grid{ grid-template-columns:repeat(2,1fr); }
  .dc:first-child { grid-column: span 2; aspect-ratio:16/9; }
  .b2bc-grid{ grid-template-columns:1fr; }
  .b2bc-card-img-wrap{ min-height:380px; }
  .b2bc-card-content{ padding:24px 20px 28px; }
  .b2bc-card-title{ font-size:22px; }
  .city-tabs-bar{ padding:0 20px; }
  .city-sec{ padding:40px 28px; }
  .hotel-grid{ grid-template-columns:1fr; }
}
@media(max-width:768px){
  .dest-sec,.b2bc-sec,.services-sec,.team-sec,.reviews-sec,.contact-sec,footer.site-footer{
    padding-right:20px; padding-left:20px;
  }
  .dest-grid{ grid-template-columns:1fr 1fr; }
  .dc:first-child { grid-column: span 2; }
  .reviews-grid{ grid-template-columns:repeat(2,1fr); }
  .reviews-grid-home{ grid-template-columns:repeat(3,1fr); }
  .form-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:28px; }
  .contact-card{ padding:28px 20px; }
  .sec-hd{ flex-direction:column; align-items:flex-start; gap:8px; }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px){
  .dest-grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .dc:first-child { grid-column: span 2; aspect-ratio:16/9; }
  .services-grid{ grid-template-columns:1fr 1fr; }
  .team-grid{ grid-template-columns:1fr 1fr; }
  .hero-inner{ padding:40px 16px; }
}

/* ===== COUNTRY PAGE — INFO CARDS ===== */
.info-sec {
  background:var(--cream-light);
  padding:36px 60px;
  border-bottom:1px solid var(--border-soft);
}
.info-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; max-width:820px; margin:0 auto;
}
.ic {
  background:var(--white);
  border:1px solid var(--border-soft);
  border-top:3px solid var(--blue-royal);
  border-radius:var(--r-md); padding:22px;
  text-align:center; transition:all 0.3s;
  box-shadow:var(--shadow-sm);
}
.ic:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ic-icon { font-size:28px; margin-bottom:10px; }
.ic-lbl { font-size:11px; color: var(--gray-muted); letter-spacing:1px; margin-bottom:6px; text-transform:uppercase; }
.ic-val { font-size:15px; font-weight:800; color:var(--orange); }

/* ===== COUNTRY PAGE — CITIES SECTION ===== */
.cities-sec { padding:60px; background:var(--white); }
.sec-head { margin-bottom:36px; }
.sec-tag-pill {
  display:inline-block;
  background:rgba(30,95,168,0.08);
  color:var(--blue-royal);
  font-size:11px; font-weight:800;
  letter-spacing:2px; padding:5px 16px;
  border-radius:999px; margin-bottom:12px;
  text-transform:uppercase;
}
.sec-title-lg {
  font-family:'Cairo',sans-serif;
  font-size:clamp(22px,3vw,34px);
  font-weight:700; color:var(--text-main);
}
.sec-title-lg span { color:var(--orange); }
.sec-line-sm {
  width:44px; height:3px;
  background:linear-gradient(to right,var(--orange),var(--blue-royal));
  border-radius:2px; margin-top:10px;
}

/* City tab pills (country pages) */
.city-tabs-pills {
  display:flex;
  justify-content:center;
  align-items:center;
  position:sticky; top:101px; z-index:90;
  padding: 8px 0 12px;
  background: rgba(247,245,240,0.97);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.city-tabs-pills-inner {
  display:inline-flex; gap:10px; flex-wrap:wrap;
  background: var(--white);
  padding:16px 22px;
  border-radius:20px;
  box-shadow: var(--shadow-md);
  border:1px solid var(--border-soft);
}
.city-tab-pill {
  display:flex; align-items:center; gap:8px;
  padding:11px 22px; border-radius:999px;
  border:2px solid var(--border-soft);
  background:var(--white);
  cursor:pointer; font-size:14px; font-weight:700;
  color:var(--gray-text); transition:all 0.3s;
  font-family:var(--font-ar); outline:none;
}
body.en .city-tab-pill { font-family:var(--font-en); }
.city-tab-pill:hover { border-color:var(--orange); color:var(--orange); }
.city-tab-pill.active { background:var(--orange); color:#1a0a00; border-color:var(--orange); }

/* City content */
.city-content { display:none; }
.city-content.active { display:block; }
.city-info-box {
  background:var(--cream-light);
  border-radius:var(--r-md); padding:24px 28px;
  margin-top:36px;
  margin-bottom:32px;
  border-right:4px solid var(--orange);
}
body.en .city-info-box { border-right:none; border-left:4px solid var(--orange); }
.city-info-box h3 {
  font-family:'Cairo',sans-serif;
  font-size:20px; font-weight:700; color:var(--text-main);
  margin-bottom:8px;
}
.city-info-box p { font-size:14px; color:var(--gray-text); line-height:1.85; }

/* Stars header */
.stars-section { margin-bottom:40px; }
.stars-header {
  display:flex; align-items:center; gap:12px;
  margin-bottom:20px; padding-bottom:14px;
  border-bottom:1.5px solid var(--border-soft);
}
.stars-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 18px; border-radius:999px;
  font-size:13px; font-weight:800;
}
.stars-5 { background:rgba(255,215,0,0.12); color:#b8860b; border:1.5px solid rgba(255,215,0,0.3); }
.stars-4 { background:rgba(192,192,192,0.12); color:#888; border:1.5px solid rgba(192,192,192,0.3); }
.stars-3 { background:rgba(205,127,50,0.12); color:#9a6200; border:1.5px solid rgba(205,127,50,0.3); }
.stars-count { font-size:13px; color:var(--gray-muted); font-weight:600; }

/* ── Star filter bar ───────────────────────────────────────── */
.star-filter-bar { display:flex; flex-direction:column; gap:10px; padding:16px 0 20px; }
.sfb-label {
  display:inline-flex; align-items:center;
  padding:6px 16px; border-radius:999px; width:fit-content;
  font-size:13px; font-weight:800; color:#0F3B6D;
  background:rgba(30,95,168,0.07); border:1.5px solid rgba(30,95,168,0.18);
}
.sfb-btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.sfb {
  border:1.5px solid rgba(30,95,168,0.18); background:#f4f7fb;
  border-radius:99px; padding:8px 18px;
  font-size:13px; font-weight:700; color:#0F3B6D;
  cursor:pointer; font-family:inherit; transition:all 0.18s; white-space:nowrap;
}
.sfb:hover { background:#dde8f5; }
.sfb.active                { background:#1E5FA8; color:#fff; border-color:#1E5FA8; }
.sfb.active[data-stars="5"]{ background:linear-gradient(135deg,#f59e0b,#d97706); border-color:#d97706; }
.sfb.active[data-stars="4"]{ background:linear-gradient(135deg,#9ca3af,#6b7280); border-color:#6b7280; }
.sfb.active[data-stars="3"]{ background:linear-gradient(135deg,#b97a3a,#8a5c28); border-color:#8a5c28; }
.stars-section.sf-hidden   { display:none !important; }
@media(max-width:768px) {
  .sfb-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .sfb-btns .sfb { width:100%; text-align:center; }
  .sfb-btns .sfb:last-child { grid-column:1/-1; width:55%; justify-self:center; }
}

/* Hotel card (country pages) */
.hotels-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.hc {
  background:var(--white);
  border:1px solid var(--border-soft);
  border-radius:var(--r-lg); overflow:hidden;
  transition:all 0.35s; box-shadow:var(--shadow-sm);
}
.hc:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }

/* Slider */
.hs-wrap { position:relative; height:260px; overflow:hidden; }
.hs-slides { display:flex; height:100%; transition:transform 0.45s ease; direction:ltr; }
.hs-slide {
  min-width:100%; height:100%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:52px; position:relative;
}
.hs-slide img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hs-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  width:30px; height:30px;
  background:rgba(255,255,255,0.9);
  border:none; border-radius:50%;
  font-size:15px; cursor:pointer;
  transition:all 0.3s; z-index:2;
  color:var(--blue-royal); font-weight:700;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-sm);
}
.hs-btn:hover { background:var(--orange); color:#ffffff; }
.hs-prev { right:10px; }
.hs-next { left:10px; }
.hs-dots {
  position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
  display:flex; gap:4px; z-index:2;
}
.hs-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.5); transition:all 0.3s; }
.hs-dot.active { background:var(--orange); width:16px; border-radius:3px; }
.star-tag {
  position:absolute; top:10px; right:10px;
  padding:4px 10px; border-radius:var(--r-sm);
  font-size:11px; font-weight:800; z-index:2;
}
.star-tag-5 { background:rgba(255,215,0,0.92); color:#6b5500; }
.star-tag-4 { background:rgba(200,200,200,0.92); color:#333; }
.star-tag-3 { background:rgba(205,127,50,0.92); color:#fff; }

/* Hotel body */
.hc-body { padding:11px 14px; }
.hc-name { font-family:'Cairo',sans-serif; font-size:15px; font-weight:700; color:var(--text-main); margin-bottom:2px; }
.hc-stars { color:#f5a623; font-size:12px; letter-spacing:1px; margin-bottom:2px; }
.hc-loc { font-size:11px; color:var(--gray-muted); margin-bottom:8px; }
.hc-feats { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.hf {
  background:var(--blue-pale); color:var(--blue-royal);
  font-size:11px; font-weight:600; padding:4px 10px; border-radius:999px;
}
.book-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:#25D366; color:#ffffff;
  padding:7px 16px; border-radius:999px;
  font-size:12px; font-weight:700; text-decoration:none;
  transition:all 0.3s;
}
.book-btn:hover { background:#1aad4f; transform:translateY(-1px); }

/* CTA section (country pages) */
.cta-sec {
  background:var(--blue-royal);
  padding:72px 60px; text-align:center;
  position:relative; overflow:hidden;
}
.cta-sec::before {
  content:''; position:absolute;
  top:-100px; right:-100px;
  width:300px; height:300px; border-radius:50%;
  background:rgba(255,255,255,0.05);
}
.cta-inner { max-width:600px; margin:0 auto; position:relative; z-index:1; }
.cta-title {
  font-family:'Cairo',sans-serif;
  font-size:clamp(24px,3.5vw,38px);
  font-weight:800; color:#ffffff; margin-bottom:12px;
}
.cta-sub { font-size:15px; color:rgba(255,255,255,0.75); line-height:1.85; margin-bottom:28px; }
.wa-btn {
  display:inline-flex; align-items:center; gap:12px;
  background:#25D366; color:#ffffff;
  padding:16px 40px; border-radius:999px;
  font-size:16px; font-weight:700; text-decoration:none;
  box-shadow:0 6px 22px rgba(37,211,102,0.35);
  transition:all 0.3s;
}
.wa-btn:hover { transform:translateY(-2px); }

/* Gradient BGs for hotel placeholders */
.bg1{background:linear-gradient(135deg,#1a3a5c,#2a5a8c);}
.bg2{background:linear-gradient(135deg,#2a1a3c,#4a2a7c);}
.bg3{background:linear-gradient(135deg,#1a3a2a,#2a6a4a);}
.bg4{background:linear-gradient(135deg,#3a2a1a,#7a4a2a);}
.bg5{background:linear-gradient(135deg,#1a2a3a,#2a4a6a);}
.bg6{background:linear-gradient(135deg,#2a1a2a,#5a2a5a);}

@media(max-width:1024px){
  .info-sec,.cities-sec,.cta-sec{ padding-right:28px; padding-left:28px; }
  .info-grid{ grid-template-columns:repeat(3,1fr); }
  .hotels-grid{ grid-template-columns:1fr; }
}
@media(max-width:768px){
  .info-grid{ grid-template-columns:repeat(2,1fr); }
  .info-grid .ic:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:calc(50% - 8px);
    margin:0 auto;
  }
  .cities-sec{ padding:36px 20px; }
  .cta-sec{ padding:52px 20px; }
  .hs-wrap{ height:210px; }
  .hc-body{ padding:10px 12px; }
  .hc-name{ font-size:14px; }
}

/* ===== CITY PHOTO SLIDER ===== */
.city-slider {
  position:relative; height:500px; border-radius:var(--r-lg);
  overflow:hidden; margin-bottom:32px; box-shadow:var(--shadow-md);
  max-width:720px; margin-left:auto; margin-right:auto;
}
.city-sl-slides { display:flex; height:100%; transition:transform 0.5s ease; direction:ltr; }
.city-sl-slide {
  min-width:100%; height:100%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.city-sl-slide img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.city-sl-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%);
  z-index:1;
}
.city-sl-icon { font-size:90px; position:relative; z-index:1; }
.city-sl-caption {
  position:absolute; bottom:22px; right:26px; z-index:2;
  color:#ffffff; font-size:16px; font-weight:700;
  font-family:'Cairo',sans-serif; text-shadow:0 2px 8px rgba(0,0,0,0.5);
}
body.en .city-sl-caption { right:auto; left:26px; }
.city-sl-btn {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:46px; height:46px; background:rgba(255,255,255,0.92);
  border:none; border-radius:50%; font-size:22px; font-weight:700;
  color:var(--blue-royal); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-md); transition:all 0.3s;
}
.city-sl-btn:hover { background:var(--orange); color:#ffffff; }
.city-sl-prev { right:14px; }
.city-sl-next { left:14px; }
body.en .city-sl-prev { right:auto; left:14px; }
body.en .city-sl-next { left:auto; right:14px; }
.city-sl-dots {
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
  display:flex; gap:6px; z-index:3;
}
.city-sl-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.5); transition:all 0.3s; cursor:pointer;
}
.city-sl-dot.active { background:var(--orange); width:22px; border-radius:4px; }

/* ===== CITY ATTRACTIONS (list style) ===== */
.city-attractions { margin-bottom:32px; }
.city-landmarks-box {
  background:var(--cream-light);
  border-radius:var(--r-md);
  padding:24px 28px;
  border-right:4px solid var(--orange);
  display:inline-block;
  min-width:260px;
  max-width:420px;
}
body.en .city-landmarks-box { border-right:none; border-left:4px solid var(--orange); }
.city-landmarks-title {
  font-family:'Cairo',sans-serif;
  font-size:18px; font-weight:900;
  color:var(--orange);
  margin-bottom:18px;
}
.city-landmarks-list {
  list-style:none;
  display:flex; flex-direction:column; gap:12px;
}
.city-landmarks-list li {
  font-size:15px; color:var(--text-main);
  font-family:var(--font-ar);
  display:flex; align-items:center; gap:10px;
  flex-direction:row-reverse; justify-content:flex-end;
}
.city-landmarks-list li::before {
  content:'📍';
  font-size:15px;
  flex-shrink:0;
}
body.en .city-landmarks-list li { flex-direction:row; }
@media(max-width:768px){
  .city-landmarks-box { max-width:100%; display:block; }
  .city-info-box { margin-top:150px; }
}

/* ===== HOTELS TOGGLE ===== */
.hotels-toggle-wrap { text-align:center; margin:28px 0 4px; }
.hotels-toggle-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--orange); color:#1a0a00;
  padding:14px 40px; border-radius:999px;
  font-size:15px; font-weight:700; cursor:pointer; border:none;
  font-family:var(--font-ar);
  box-shadow:0 6px 20px rgba(240,124,42,0.4);
  transition:all 0.3s;
}
.hotels-toggle-btn:hover { background:var(--orange-light); transform:translateY(-2px); }
.hotels-toggle-btn.open { background:var(--orange-dark); color:#fff; box-shadow:none; }
.city-hotels-wrap { display:none; margin-top:32px; }
.city-hotels-wrap.open { display:block; }

@media(max-width:768px){
  .city-slider { height:240px; }
  .city-attr-grid { grid-template-columns:repeat(2,1fr); }
  .city-sl-icon { font-size:60px; }
  .city-tabs-pills-inner {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    padding:8px 12px;
  }
  .city-tab-pill { padding:6px 12px; font-size:12px; gap:4px; }
  .city-tab-pill span:first-child { font-size:14px; }
}
@media(max-width:400px){
  .city-tabs-pills-inner { gap:4px; padding:6px 8px; }
  .city-tab-pill { padding:5px 9px; font-size:11px; }
  .city-tab-pill span:first-child { font-size:13px; }
}

/* ===== FAQ ACCORDION (country pages) ===== */
.faq-sec { padding:60px; background:var(--cream-light); }
.faq-list { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.faq-item {
  background:var(--white); border:1px solid var(--border-soft);
  border-radius:var(--r-md); overflow:hidden;
  transition:box-shadow 0.3s;
}
.faq-item.open { box-shadow:var(--shadow-sm); }
.faq-q {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px; background:none; border:none; cursor:pointer;
  font-family:var(--font-ar); font-size:15px; font-weight:700;
  color:var(--text-main); text-align:right; gap:12px;
}
body.en .faq-q { text-align:left; font-family:var(--font-en); }
.faq-q-icon { font-size:20px; flex-shrink:0; }
.faq-q-text { flex:1; }
.faq-q-arr {
  font-size:18px; color:var(--blue-royal); transition:transform 0.3s;
  flex-shrink:0;
}
.faq-item.open .faq-q-arr { transform:rotate(180deg); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height 0.4s ease, padding 0.3s;
  padding:0 22px;
}
.faq-item.open .faq-a { max-height:300px; padding:0 22px 18px; }
.faq-a p { font-size:14px; color:var(--gray-text); line-height:1.85; }
.faq-a strong { color:var(--blue-royal); }
@media(max-width:768px){ .faq-sec{ padding:36px 20px; } }

/* ===== ACTIVITIES SECTION (country pages) ===== */
.acts-sec { padding:60px; background:var(--white); }
.acts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1100px; margin:0 auto; }
.act-card {
  border-radius:var(--r-lg); overflow:hidden;
  height:220px; position:relative;
  cursor:default; transition:transform 0.35s, box-shadow 0.35s;
  box-shadow:var(--shadow-sm);
}
.act-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.act-card-bg {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:72px;
}
.act-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,24,40,0.82) 0%, rgba(10,24,40,0.2) 60%, transparent 100%);
}
.act-card-body {
  position:absolute; bottom:0; right:0; left:0;
  padding:18px 20px; z-index:1;
}
body.en .act-card-body { right:0; left:0; text-align:left; }
.act-card-title {
  font-family:'Cairo',sans-serif; font-size:16px; font-weight:700;
  color:#ffffff; margin-bottom:4px;
}
.act-card-sub { font-size:12px; color:rgba(255,255,255,0.72); }
@media(max-width:900px){ .acts-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .acts-grid{ grid-template-columns:1fr 1fr; } .acts-sec{ padding:36px 20px; } }

/* ===== DISTANCE STRIP (country pages) ===== */
.dist-sec { padding:48px 60px; background:var(--blue-royal); }
.dist-title {
  font-family:'Cairo',sans-serif; font-size:18px; font-weight:700;
  color:rgba(255,255,255,0.85); text-align:center; margin-bottom:32px;
}
.dist-strip {
  display:flex; align-items:center; justify-content:center;
  gap:0; flex-wrap:wrap; max-width:860px; margin:0 auto;
}
.dist-city {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  flex-shrink:0;
}
.dist-city-icon { font-size:28px; }
.dist-city-name {
  font-family:'Cairo',sans-serif; font-size:14px; font-weight:800;
  color:#ffffff;
}
.dist-city-sub { font-size:11px; color:rgba(255,255,255,0.6); }
.dist-line {
  flex:1; min-width:80px; max-width:160px;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:0 12px; position:relative;
}
.dist-dots {
  width:100%; height:3px;
  background:repeating-linear-gradient(to left, var(--orange) 0,var(--orange) 6px, transparent 6px, transparent 14px);
  border-radius:2px;
}
.dist-info {
  font-size:12px; font-weight:700; color:var(--orange);
  white-space:nowrap; text-align:center;
}
.dist-info span { display:block; font-weight:400; color:rgba(255,255,255,0.55); font-size:11px; }
@media(max-width:600px){
  .dist-sec{ padding:36px 20px; }
  .dist-strip{ gap:8px; }
  .dist-line{ min-width:50px; }
}

/* ===== INNER PAGES (b2b, b2c, services, testimonials) ===== */
.page-hero {
  min-height: 380px;
  background: var(--blue-royal);
  display:flex; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden;
  padding: 120px 60px 80px;
}
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}
.page-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.45) 100%);
}
.page-hero-body { position:relative; z-index:2; max-width:680px; width:100%; }
.page-hero-tag {
  display:inline-flex; align-items:center;
  background:rgba(240,124,42,0.18);
  border:1px solid rgba(240,124,42,0.3);
  padding:6px 18px; border-radius:999px;
  font-size:12px; color:var(--orange-light);
  letter-spacing:2px; font-weight:700; margin-bottom:18px;
}
.page-hero-title {
  font-family:'Cairo',sans-serif;
  font-size:clamp(28px,4.5vw,54px);
  font-weight:800; color:#ffffff; margin-bottom:14px; line-height:1.2;
}
body.en .page-hero-title { font-family:'Inter',sans-serif; }
.page-hero-sub { font-size:16px; color:rgba(255,255,255,0.75); line-height:1.85; }

/* Services grid (inner page) */
.inner-sec { padding:72px 60px; }
.inner-sec.bg-cream { background:var(--cream-light); }
.inner-sec.bg-white { background:var(--white); }
.inner-sec.bg-blue  { background:var(--blue-royal); }

/* B2B service cards */
.svc-grid-lg {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  max-width:1100px; margin:0 auto;
}
.svc-card-lg {
  background:var(--white);
  border-radius:var(--r-lg); padding:32px 26px;
  border:1px solid rgba(20,35,90,0.08);
  box-shadow:0 2px 12px rgba(20,35,90,0.05); transition:box-shadow 0.25s, transform 0.25s;
}
.svc-card-lg:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(20,35,90,0.10); }
.svc-card-lg .icon { font-size:42px; margin-bottom:16px; }
.svc-icon-wrap {
  width:48px; height:48px;
  background:rgba(20,35,90,0.07);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.svc-icon-wrap svg { width:22px; height:22px; stroke:#14235a; }
.svc-card-lg h3 { font-family:'Cairo',sans-serif; font-size:17px; font-weight:700; color:var(--text-main); margin-bottom:8px; }
.svc-card-lg p { font-size:13px; color:var(--gray-text); line-height:1.85; }

/* ===== B2B IMAGE CARDS ===== */
.b2b-img-card { padding:0; overflow:hidden; }
.b2b-card-img {
  width:100%; height:210px;
  background-size:cover; background-position:center;
  background-color:rgba(20,35,90,0.08);
}
.b2b-icon-float {
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,0.10);
  border:2px solid #fff;
  margin:-26px auto 14px;
  position:relative; z-index:1;
}
.b2b-icon-float svg { stroke:#f58220; }
.b2b-card-body { padding:0 24px 28px; text-align:center; }
.b2b-card-body h3 { font-family:'Cairo',sans-serif; font-size:17px; font-weight:700; color:var(--text-main); margin-bottom:8px; }
.b2b-card-body p { font-size:13px; color:var(--gray-text); line-height:1.85; }

.b2b-growth-grid {
  align-items: stretch;
}
.b2b-growth-card {
  display:flex;
  flex-direction:column;
  min-height:360px;
}
.b2b-growth-card .b2b-card-lead {
  font-family:'Cairo',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--blue-royal);
  line-height:1.75;
  margin-bottom:14px;
}
.b2b-card-list {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.b2b-card-list li {
  position:relative;
  padding-inline-start:22px;
  font-size:13px;
  color:var(--gray-text);
  line-height:1.85;
}
.b2b-card-list li::before {
  content:'✓';
  position:absolute;
  inset-inline-start:0;
  top:0;
  color:var(--orange);
  font-weight:900;
}
.b2b-card-note {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--border-soft);
  font-weight:700;
  color:var(--text-main) !important;
}

/* Testimonials — chat screenshots */
.chat-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  max-width:1100px; margin:0 auto;
}
.chat-ss {
  border-radius:var(--r-md); overflow:hidden;
  aspect-ratio:9/16; background:var(--blue-pale);
  cursor:pointer; transition:all 0.3s;
  display:flex; align-items:center; justify-content:center;
  font-size:42px; border:1px solid var(--border-soft);
}
.chat-ss:hover { transform:scale(1.03); box-shadow:var(--shadow-md); }
@media(min-width:1025px){
  .chat-grid .chat-ss:nth-child(9) { grid-column-start:2; }
  /* 4-col desktop: no centering hack needed */
}
.tt-mobile-teaser { display:none; }
.tt-desktop-btn { text-align:center; margin-top:32px; }
@media(max-width:768px){
  .tt-hide-mobile { display:none !important; }
  .tt-desktop-btn { display:none; }
  .tt-mobile-teaser {
    display:flex; flex-direction:column; align-items:center; gap:14px;
    margin-top:24px; padding:0 20px; text-align:center;
  }
  .tt-mobile-teaser p {
    font-family:'Tajawal',sans-serif; font-size:15px; color:var(--text-main);
    line-height:1.7; margin:0;
  }
  .tt-mobile-teaser a {
    display:inline-block; background:var(--blue-royal); color:#fff;
    padding:11px 28px; border-radius:999px; font-size:14px; font-weight:700;
    font-family:'Cairo',sans-serif; text-decoration:none;
    transition:background 0.25s;
  }
  .tt-mobile-teaser a:hover { background:var(--orange); }
  .tt-all-row {
    display:grid; grid-template-columns:repeat(2,1fr);
    gap:10px; padding:0 10px; margin-top:24px;
  }
  .tt-embed-wrap { width:100%; }
  .tt-poster { width:100%; height:auto; aspect-ratio:9/16; }
  .tt-embed-wrap iframe { width:100% !important; height:auto !important; aspect-ratio:9/16; }
  #testimonials .tt-all-row { display:flex; flex-direction:column; align-items:center; }
  #testimonials .tt-embeds-row { width:100%; max-width:260px; }
}
@media(max-width:540px) {
  .tt-all-row {
    grid-template-columns: repeat(2,1fr);
    padding: 0 8px;
  }
  .tt-all-row .tt-embed-wrap:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 5px);
  }
}
.chat-ss img { width:100%; height:100%; object-fit:cover; }

/* ===== COMBINED FEED (testimonials interleaved) ===== */
.combined-feed {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:16px; max-width:1200px; margin:40px auto 0; padding:0 20px;
  align-items:start; direction:ltr;
}
.combined-feed .tt-embed-wrap { width:100%; }
.combined-feed .tt-poster { width:100% !important; height:auto !important; aspect-ratio:9/16; }
.combined-feed iframe { width:100% !important; height:auto !important; aspect-ratio:9/16; }
@media(min-width:769px){
  .combined-feed > *:nth-child(21) { grid-column-start:2; }
}
@media(max-width:768px){
  .combined-feed { grid-template-columns:repeat(2,1fr); gap:10px; padding:0 12px; margin-top:24px; }
}

/* Lightbox */
#lightbox {
  position:fixed; inset:0; z-index:99999;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center;
}
#lightbox.open { display:flex; }
#lightbox img { max-width:90vw; max-height:90vh; border-radius:var(--r-md); box-shadow:var(--shadow-lg); }
#lightbox-close {
  position:absolute; top:20px; right:20px;
  background:rgba(255,255,255,0.15); border:none; color:white;
  width:40px; height:40px; border-radius:50%;
  font-size:20px; cursor:pointer; transition:all 0.3s;
}
#lightbox-close:hover { background:var(--orange); }

@media(max-width:1024px){
  .svc-grid-lg{ grid-template-columns:repeat(2,1fr); }
  .chat-grid{ grid-template-columns:repeat(2,1fr); }
  .inner-sec{ padding-right:28px; padding-left:28px; }
  .page-hero{ padding:116px 28px 68px; }
}
@media(max-width:768px){
  .svc-grid-lg{ grid-template-columns:repeat(2,1fr); }
  .chat-grid{ grid-template-columns:repeat(2,1fr); }
  .inner-sec{ padding:52px 20px; }
  .page-hero{ padding:120px 20px 64px; min-height:auto; }
  .page-hero-title{ font-size:26px; }
  .page-hero-sub{ font-size:14px; }
  .hero-btns-row{ flex-direction:column; align-items:center; gap:10px; margin-top:20px; }
  .hero-btns-row .btn-pri,
  .hero-btns-row .btn-wa-s{ width:100%; max-width:300px; justify-content:center; font-size:14px; padding:12px 20px; }
}

/* ===== INNER PAGE HELPERS ===== */
.btn-pri {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--orange); color:#ffffff;
  padding:13px 30px; border-radius:999px;
  font-size:15px; font-weight:700; text-decoration:none;
  transition:all 0.3s; font-family:var(--font-ar);
}
body.en .btn-pri { font-family:var(--font-en); }
.btn-pri:hover { background:var(--orange-dark); transform:translateY(-2px); }
.btn-wa-s {
  display:inline-flex; align-items:center; gap:8px;
  background:#25D366; color:#ffffff;
  padding:13px 30px; border-radius:999px;
  font-size:15px; font-weight:700; text-decoration:none;
  transition:all 0.3s; font-family:var(--font-ar);
}
body.en .btn-wa-s { font-family:var(--font-en); }
.btn-wa-s:hover { background:#1aad4f; transform:translateY(-2px); }
.hero-btns-row {
  display:flex; gap:14px; flex-wrap:wrap;
  justify-content:center; margin-top:28px;
}
.svc-card-lg ul {
  margin-top:12px; padding-right:18px; list-style:disc;
}
body.en .svc-card-lg ul { padding-right:0; padding-left:18px; }
.svc-card-lg ul li { font-size:13px; color:var(--gray-text); line-height:2; }

/* ===== SPLIT SECTION (b2c) ===== */
.split-sec {
  display:grid; grid-template-columns:3fr 2fr;
  gap:48px; align-items:center;
  max-width:1100px; margin:0 auto;
}
.split-text h2 {
  font-family:'Cairo',sans-serif;
  font-size:clamp(22px,3vw,32px); font-weight:700;
  color:var(--text-main); margin-bottom:14px;
}
.split-text p { font-size:15px; color:var(--gray-text); line-height:1.85; margin-bottom:20px; }
.split-list {
  list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:24px;
}
.split-list li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; color:var(--gray-text); line-height:1.7;
}
.split-list li::before { content:'✓'; color:var(--orange); font-weight:700; flex-shrink:0; margin-top:2px; }
.split-visual {
  background:var(--blue-royal); border-radius:var(--r-xl);
  padding:40px; text-align:center; color:#ffffff; box-shadow:var(--shadow-md);
}
.split-visual-emoji { font-size:72px; display:block; margin-bottom:16px; }
.split-visual-img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  margin-bottom: 16px;
  display: block;
}
.split-visual p { font-size:14px; color:rgba(255,255,255,0.75); line-height:1.85; }
@media(max-width:900px){ .split-sec { grid-template-columns:1fr; } }

/* ===== SERVICES PAGE ===== */
.flow-back {
  background:none; border:none; cursor:pointer;
  color:var(--blue-royal); font-size:14px; font-weight:700;
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:28px; padding:8px 0;
  font-family:var(--font-ar); transition:all 0.25s;
}
body.en .flow-back { font-family:var(--font-en); }
.flow-back:hover { color:var(--orange); gap:12px; }
.flow-step { display:none; }
.flow-step.active { display:block; animation:fadeUp 0.4s ease; }
.flow-header { text-align:center; margin-bottom:36px; }
.flow-breadcrumb {
  display:flex; align-items:center; justify-content:center;
  gap:10px; font-size:13px; color:var(--gray-muted); margin-bottom:14px;
}
.active-crumb { color:var(--orange); font-weight:700; }
.flow-title {
  font-family:'Cairo',sans-serif;
  font-size:clamp(22px,3vw,34px); font-weight:700;
  color:var(--text-main); margin-bottom:8px;
}
.flow-sub { font-size:14px; color:var(--gray-text); }
.flow-countries {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  max-width:900px; margin:0 auto;
}
.flow-country {
  background:var(--white); border:2px solid var(--border-soft);
  border-radius:var(--r-md); padding:24px 18px; text-align:center;
  cursor:pointer; transition:all 0.25s;
}
.flow-country:hover { border-color:var(--blue-royal); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.flow-country-flag { font-size:36px; margin-bottom:10px; }
.flow-country-name { font-size:16px; font-weight:700; color:var(--text-main); margin-bottom:4px; }
.flow-country-cities { font-size:12px; color:var(--gray-muted); }
.flow-cities {
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  max-width:700px; margin:0 auto;
}
.flow-city {
  background:var(--white); border:2px solid var(--border-soft);
  border-radius:var(--r-md); padding:20px; text-align:center;
  cursor:pointer; transition:all 0.25s;
}
.flow-city:hover { border-color:var(--orange); background:rgba(226,158,66,0.05); transform:translateY(-3px); }
.flow-city-icon { font-size:30px; margin-bottom:8px; }
.flow-city-name { font-size:15px; font-weight:700; color:var(--text-main); }
.svc-detail { display:none; }
.svc-detail.active { display:block; animation:fadeUp 0.4s ease; }
.svc-detail h3 {
  font-family:'Cairo',sans-serif;
  font-size:clamp(20px,3vw,30px); font-weight:700;
  color:var(--text-main); margin-bottom:14px;
}
.svc-detail h3 span { color:var(--orange); }
.svc-detail > .split-sec > .split-text p { font-size:15px; color:var(--gray-text); line-height:1.85; margin-bottom:20px; }
.svc-list {
  list-style:disc; padding-right:20px;
  display:flex; flex-direction:column; gap:8px; margin-bottom:28px;
}
body.en .svc-list { padding-right:0; padding-left:20px; }
.svc-list li { font-size:14px; color:var(--gray-text); line-height:1.7; }
@media(max-width:768px){
  .flow-countries { grid-template-columns:repeat(2,1fr); }
  .flow-countries > .flow-country:last-child:nth-child(odd) { grid-column:1 / -1; max-width:calc(50% - 8px); justify-self:center; }
  .flow-cities { grid-template-columns:repeat(2,1fr); }
}

/* ===== CONTACT PAGE ===== */
.contact-wa-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
  max-width:720px; margin:0 auto 40px;
}
.contact-wa-grid .cwa-card:first-child { grid-column: span 2; }
.cwa-card {
  background:var(--white); border:1px solid var(--border-soft);
  border-top:4px solid #25D366; border-radius:var(--r-lg);
  padding:28px 22px; text-align:center;
  box-shadow:var(--shadow-sm); transition:all 0.3s;
  text-decoration:none; display:block;
  min-width:0; overflow:hidden;
}
.cwa-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.cwa-flag { font-size:36px; margin-bottom:10px; display:block; }
.cwa-flags-row { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; margin-bottom:10px; font-size:22px; line-height:1; }
.cwa-team { font-size:16px; font-weight:700; color:var(--text-main); margin-bottom:4px; }
.cwa-num { font-size:14px; color:var(--gray-text); direction:ltr; margin-bottom:10px; display:block; }
.cwa-dest { font-size:12px; color:var(--gray-muted); margin-bottom:18px; line-height:1.7; }
.cwa-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:#25D366; color:#ffffff;
  padding:9px 22px; border-radius:999px;
  font-size:13px; font-weight:700;
}
@media(max-width:600px){
  .contact-wa-grid {
    grid-template-columns:1fr;
    max-width:100%;
  }
  .contact-wa-grid .cwa-card:first-child { grid-column:1; }
  .cwa-dest { font-size:13px; }
}
.info-strip {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  max-width:960px; margin:0 auto;
}
.info-strip-item {
  display:flex; align-items:flex-start; gap:14px;
  background:var(--cream-light); border-radius:var(--r-md);
  padding:20px; border:1px solid var(--border-soft);
}
.info-strip-ico {
  width:44px; height:44px; border-radius:var(--r-sm);
  background:var(--blue-royal); color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex-shrink:0;
}
.info-strip-title { font-size:14px; font-weight:700; color:var(--text-main); margin-bottom:6px; }
.info-strip-text { font-size:13px; color:var(--gray-text); line-height:1.7; }
.form-split {
  display:grid; grid-template-columns:2fr 1fr; gap:32px;
  max-width:1100px; margin:0 auto; align-items:start;
}
.form-side-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:24px; box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft); margin-bottom:16px;
}
.form-side-title {
  font-family:'Cairo',sans-serif; font-size:16px; font-weight:700;
  color:var(--text-main); margin-bottom:16px;
  padding-bottom:12px; border-bottom:2px solid var(--border-soft);
}
.wa-contact-btn {
  display:flex; align-items:center; gap:10px;
  background:var(--cream-light); border:1px solid var(--border-soft);
  border-radius:var(--r-md); padding:12px 14px;
  text-decoration:none; margin-bottom:10px; transition:all 0.25s;
}
.wa-contact-btn:last-child { margin-bottom:0; }
.wa-contact-btn:hover { border-color:#25D366; background:rgba(37,211,102,0.05); }
.wa-contact-btn div { font-size:13px; font-weight:700; color:var(--text-main); }
.wa-contact-btn span { font-size:12px; color:var(--gray-muted); direction:ltr; display:block; margin-top:2px; }
.social-row {
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
  max-width:700px; margin:0 auto;
}
.social-pill {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--white); border:1.5px solid var(--border-soft);
  border-radius:999px; padding:12px 26px;
  font-size:14px; font-weight:700; color:var(--text-main);
  text-decoration:none; transition:all 0.3s; box-shadow:var(--shadow-sm);
}
.social-pill:hover { border-color:var(--orange); color:var(--orange); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.social-pill-icon { font-size:22px; }
@media(max-width:900px){
  .info-strip { grid-template-columns:1fr; }
  .form-split { grid-template-columns:1fr; }
}

/* ===== HOTELS SECTION ===== */
.hotels-sec { background: var(--cream); }
.hotels-wrap { max-width:1160px; margin:0 auto; padding:0 20px; }
.hotels-city-h {
  font-family:'Cairo',sans-serif; font-size:18px; font-weight:900;
  color:var(--blue-royal); margin:40px 0 14px; padding-bottom:8px;
  border-bottom:3px solid var(--orange); display:inline-block;
}
.hotels-city-h:first-child { margin-top:0; }
.hotel-item {
  margin-bottom:20px; border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid var(--border-soft);
}
.hotel-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:11px 16px; background:var(--blue-deep);
}
.hotel-name { font-family:'Cairo',sans-serif; font-size:14px; font-weight:700; color:#fff; }
.hotel-stars { color:#ffd700; font-size:13px; letter-spacing:1px; }
.hotel-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.hg-card {
  position:relative; aspect-ratio:3/4; overflow:hidden; cursor:pointer;
  background:linear-gradient(160deg,var(--blue-deep),var(--blue-royal));
  background-size:cover; background-position:center;
}
.hg-card.h5 { background:linear-gradient(160deg,#5d4037,#bf8a2e); }
.hg-card.h4 { background:linear-gradient(160deg,#1a2557,#1565c0); }
.hg-card.h3 { background:linear-gradient(160deg,#37474f,#607d8b); }
.hg-card.hresort { background:linear-gradient(160deg,#1b5e20,#388e3c); }
.hg-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.04) 55%);
}
.hg-card span {
  position:absolute; bottom:0; left:0; right:0;
  padding:8px 7px; font-family:'Tajawal',sans-serif; font-size:11px;
  color:#fff; text-align:center; line-height:1.4; z-index:1;
}
@media(max-width:768px){
  .hotel-grid { grid-template-columns:repeat(2,1fr); }
  .hotels-city-h { font-size:15px; margin:24px 0 10px; }
}
@media(max-width:480px){
  .hg-card span { font-size:10px; padding:6px 5px; }
}

/* ===== TRANSPORT PAGE ===== */
.transport-svc-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  max-width:1100px; margin:0 auto;
}
.transport-svc-card {
  background:var(--blue-deep); border-radius:20px; overflow:hidden; text-align:center;
  border:1px solid var(--border-soft); transition:all 0.35s; display:flex; flex-direction:column;
}
.transport-svc-card:hover {
  border-color:rgba(240,124,42,0.4); transform:translateY(-6px);
  box-shadow:0 14px 40px rgba(0,0,0,0.28);
}
.transport-svc-img {
  width:100%; height:190px; position:relative;
  background:var(--cream-light) center/cover no-repeat;
}
.transport-svc-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.12) 0%, rgba(15,26,62,0.55) 100%);
}
.transport-svc-body { padding:26px 20px 30px; flex:1; display:flex; flex-direction:column; align-items:center; }
.transport-svc-icon { font-size:38px; display:block; margin-bottom:12px; }
.transport-svc-title {
  font-family:'Cairo',sans-serif; font-size:17px; font-weight:700;
  color:#fff; margin-bottom:8px;
}
.transport-svc-desc { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.75; }

/* Vehicles grid */
.vehicles-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  max-width:1100px; margin:0 auto 52px;
}
.vehicle-card {
  border-radius:var(--r-lg); overflow:hidden; height:220px;
  position:relative; box-shadow:var(--shadow-sm);
  transition:transform 0.35s,box-shadow 0.35s;
}
.vehicle-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.vehicle-card-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center; font-size:64px;
}
.vehicle-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,24,40,0.87) 0%,rgba(10,24,40,0.18) 60%,transparent 100%);
}
.vehicle-card-body { position:absolute; bottom:0; right:0; left:0; padding:18px 20px; z-index:1; }
.vehicle-card-title {
  font-family:'Cairo',sans-serif; font-size:16px; font-weight:700; color:#fff;
}
.vehicle-card-cap { font-size:12px; color:rgba(255,255,255,0.6); margin-top:3px; }

/* ── Diagonal split vehicle card ───────────────────────────── */
.vehicle-card-diagonal .vcd-half {
  position:absolute; inset:0; background-size:cover; background-position:center; z-index:0;
}
.vehicle-card-diagonal .vcd-half-1 { clip-path:polygon(0 0,100% 0,0 100%); }
.vehicle-card-diagonal .vcd-half-2 { clip-path:polygon(100% 0,100% 100%,0 100%); }
.vehicle-card-diagonal .vcd-sep {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(
    135deg,
    transparent calc(50% - 2px),
    rgba(255,255,255,0.55) calc(50% - 0.5px),
    rgba(255,255,255,0.55) calc(50% + 0.5px),
    transparent calc(50% + 2px)
  );
}
.vehicle-card-diagonal .vehicle-card-overlay { z-index:3; }
.vehicle-card-diagonal .vehicle-card-body    { z-index:5; }
.vcd-badge {
  position:absolute; z-index:4;
  font-size:10px; font-weight:700; letter-spacing:0.04em;
  color:rgba(255,255,255,0.93); background:rgba(0,0,0,0.42);
  border-radius:99px; padding:3px 9px; backdrop-filter:blur(5px);
}
.vcd-badge-tl { top:12px; left:12px; }
.vcd-badge-br { bottom:46px; right:12px; }

/* VIP section */
.vip-section {
  background:linear-gradient(135deg,#0F1A3E,#162248);
  border-radius:24px; padding:40px;
  max-width:1100px; margin:0 auto;
  border:1px solid rgba(212,175,55,0.2);
}
.vip-header { display:flex; align-items:center; gap:14px; margin-bottom:28px; flex-wrap:wrap; }
.vip-badge {
  background:linear-gradient(135deg,#D4AF37,#B8960C); color:#000;
  font-weight:800; font-size:13px; letter-spacing:2px;
  padding:6px 18px; border-radius:999px;
}
.vip-section-title {
  font-family:'Cairo',sans-serif; font-size:22px; font-weight:800; color:#fff;
}
.vip-section-sub { font-size:14px; color:rgba(255,255,255,0.55); margin-top:4px; }
.vip-photos-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.vip-photo {
  border-radius:14px; overflow:hidden; height:200px; position:relative;
  box-shadow:0 4px 20px rgba(0,0,0,0.3); transition:transform 0.3s;
}
.vip-photo:hover { transform:scale(1.04); }
.vip-photo-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center; font-size:50px;
}
.vip-photo-label {
  position:absolute; bottom:0; right:0; left:0;
  background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
  padding:14px 14px 10px; font-size:12px; color:#D4AF37; font-weight:600;
}

/* TikTok cards */
.tktok-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  max-width:860px; margin:0 auto;
}
.tktok-card {
  background:#010101; border-radius:20px; overflow:hidden;
  position:relative; aspect-ratio:9/15;
  box-shadow:0 8px 32px rgba(0,0,0,0.5); transition:transform 0.35s;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:28px 20px; text-align:center;
  border:1px solid rgba(255,255,255,0.07);
}
.tktok-card:hover { transform:translateY(-6px); }
.tktok-logo { width:44px; height:44px; }
.tktok-play {
  width:60px; height:60px;
  background:linear-gradient(135deg,rgba(240,124,42,0.9),rgba(254,44,85,0.9));
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#fff; box-shadow:0 4px 20px rgba(254,44,85,0.4);
}
.tktok-label { font-size:15px; font-weight:700; color:#fff; line-height:1.5; }
.tktok-sub { font-size:12px; color:rgba(255,255,255,0.45); }
.tktok-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18);
  color:#fff; padding:9px 22px; border-radius:999px;
  font-size:13px; font-weight:600; text-decoration:none; transition:all 0.3s;
}
.tktok-btn:hover { background:rgba(254,44,85,0.28); border-color:#fe2c55; }

@media(max-width:1024px){
  .transport-svc-grid { grid-template-columns:repeat(2,1fr); }
  .vehicles-grid { grid-template-columns:repeat(2,1fr); }
  .vip-photos-grid { grid-template-columns:repeat(2,1fr); }
  .tktok-grid { grid-template-columns:repeat(2,1fr); max-width:580px; }
  .vip-section { padding:28px 24px; }
}
@media(max-width:600px){
  .transport-svc-grid { grid-template-columns:repeat(2,1fr); }
  .vehicles-grid { grid-template-columns:repeat(2,1fr); }
  .tktok-grid { grid-template-columns:1fr; max-width:300px; }
  .vip-photos-grid { grid-template-columns:repeat(2,1fr); }
}
/* Center the final card when a card grid ends with a lonely item */
@media(min-width:769px){
  .services-grid > *:last-child:nth-child(4n + 1),
  .team-grid > *:last-child:nth-child(4n + 1),
  .transport-svc-grid > *:last-child:nth-child(4n + 1),
  .vehicles-grid > *:last-child:nth-child(4n + 1){
    grid-column:2 / span 2;
    width:calc((100% - 60px) / 4);
    justify-self:center;
  }

  .svc-grid-lg > *:last-child:nth-child(3n + 1),
  .acts-grid > *:last-child:nth-child(3n + 1),
  .tktok-grid > *:last-child:nth-child(3n + 1){
    grid-column:2;
    justify-self:center;
    width:100%;
  }
}

@media(min-width:769px) and (max-width:1100px){
  .services-grid > *:last-child:nth-child(2n + 1),
  .team-grid > *:last-child:nth-child(2n + 1),
  .svc-grid-lg > *:last-child:nth-child(2n + 1),
  .acts-grid > *:last-child:nth-child(2n + 1),
  .transport-svc-grid > *:last-child:nth-child(2n + 1),
  .vehicles-grid > *:last-child:nth-child(2n + 1),
  .vip-photos-grid > *:last-child:nth-child(2n + 1){
    grid-column:1 / -1;
    width:100%;
    max-width:calc((100% - 20px) / 2);
    justify-self:center;
  }
}

@media(max-width:768px){
  .services-grid > *:last-child:nth-child(2n + 1),
  .team-grid > *:last-child:nth-child(2n + 1),
  .svc-grid-lg > *:last-child:nth-child(2n + 1),
  .acts-grid > *:last-child:nth-child(2n + 1),
  .transport-svc-grid > *:last-child:nth-child(2n + 1),
  .vehicles-grid > *:last-child:nth-child(2n + 1),
  .vip-photos-grid > *:last-child:nth-child(2n + 1){
    grid-column:1 / -1;
    width:100%;
    max-width:calc((100% - 20px) / 2);
    justify-self:center;
  }
}
/* Better balance for transport service cards */
@media(max-width:768px){
  .transport-svc-body{padding:20px 14px 22px;}
  .transport-svc-icon{font-size:31px;margin-bottom:8px;}
  .transport-svc-title{font-size:15px;margin-bottom:7px;line-height:1.45;}
  .transport-svc-desc{font-size:12px;line-height:1.65;}
}

@media(max-width:520px){
  .transport-svc-img{height:175px;}
  .transport-svc-body{padding:18px 12px 20px;}
}
/* Home booking destination picker */
.home-book-open{border:none;font-family:inherit;cursor:pointer;}
.home-book-modal{position:fixed;inset:0;background:rgba(7,18,48,0.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999;}
.home-book-modal.open{display:flex;}
.home-book-box{width:min(560px,100%);background:var(--white);border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(11,24,64,0.24);border:1px solid var(--border-soft);position:relative;text-align:center;}
.home-book-close{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-soft);background:var(--cream-light);color:var(--text-main);font-size:20px;line-height:1;cursor:pointer;}
.home-book-title{font-family:'Cairo',sans-serif;font-size:22px;font-weight:900;color:var(--text-main);margin:8px 0 6px;}
.home-book-sub{font-size:14px;color:var(--gray-text);line-height:1.8;margin:0 auto 18px;max-width:420px;}
.home-book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.home-book-grid button{border:1px solid rgba(20,35,90,0.14);background:var(--cream-light);color:var(--text-main);border-radius:999px;padding:11px 12px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:all 0.2s;}
.home-book-grid button:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-1px);}
@media(max-width:560px){.home-book-box{padding:22px 16px;}.home-book-grid{grid-template-columns:repeat(2,1fr);}.home-book-title{font-size:20px;}.home-book-grid button{font-size:13px;padding:10px 8px;}}
/* Uzbekistan distance cards */
.uz-dist-sec .dist-title{margin-bottom:24px;}
.uz-distance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto;}
.uz-distance-card{background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.16);border-radius:16px;padding:18px 16px;text-align:center;box-shadow:0 14px 34px rgba(0,0,0,0.12);}
.uz-distance-route{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;font-family:'Cairo',sans-serif;font-size:16px;font-weight:800;color:#fff;line-height:1.5;}
.uz-distance-route span:nth-child(2){color:var(--orange);font-size:18px;}
.uz-distance-meta{margin-top:9px;font-size:12px;font-weight:800;color:var(--orange-light);}
.uz-distance-time{margin-top:6px;font-size:13px;font-weight:700;color:rgba(255,255,255,0.78);}
.uz-distance-grid > .uz-distance-card:last-child:nth-child(3n + 2){grid-column:2;}
@media(max-width:768px){
  .uz-distance-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .uz-distance-card{padding:15px 10px;border-radius:14px;}
  .uz-distance-route{font-size:14px;gap:7px;}
  .uz-distance-meta{font-size:11px;margin-top:7px;}
  .uz-distance-time{font-size:12px;line-height:1.5;}
  .uz-distance-grid > .uz-distance-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc((100% - 12px) / 2);width:100%;justify-self:center;}
}
@media(max-width:430px){
  .uz-dist-sec{padding-right:14px;padding-left:14px;}
  .uz-distance-grid{gap:10px;}
  .uz-distance-card{padding:14px 8px;}
  .uz-distance-route{font-size:13px;}
}
/* ===== TOUR BOOK SECTION (tours.html) ===== */
.tour-book-sec { text-align: center; }
.tour-book-sub {
  color: var(--text-sub); font-size: 16px; line-height: 1.7;
  margin: 14px auto 36px; max-width: 480px;
}
.tour-book-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--orange); color: #fff;
  font-family: 'Cairo', sans-serif; font-size: 20px; font-weight: 700;
  padding: 20px 52px; border-radius: 100px; border: none; cursor: pointer;
  box-shadow: 0 8px 36px rgba(240,124,42,0.45);
  transition: all 0.25s;
}
.tour-book-btn:hover { transform: translateY(-4px); box-shadow: 0 18px 56px rgba(240,124,42,0.55); filter: brightness(1.05); }
.tour-book-btn:active { transform: translateY(-1px); }

/* Country Picker Modal */
#cpk-overlay, #b2c-cpk {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,15,50,0.82); backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center; padding: 20px;
  opacity: 0; pointer-events: none; transition: opacity 0.25s;
}
#cpk-overlay.active, #b2c-cpk.active { opacity: 1; pointer-events: all; }
.cpk-box {
  background: var(--blue-royal);
  border: 1px solid rgba(255,255,255,0.15); border-radius: 24px;
  padding: 44px 36px 36px; max-width: 580px; width: 100%;
  position: relative; max-height: 88vh; overflow-y: auto;
  box-shadow: 0 30px 100px rgba(0,0,0,0.6);
  animation: cpkIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes cpkIn { from { transform: scale(0.9) translateY(20px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
.cpk-close {
  position: absolute; top: 16px; right: 16px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.7); width: 36px; height: 36px;
  border-radius: 50%; font-size: 14px; cursor: pointer; transition: all 0.2s;
}
.cpk-close:hover { background: rgba(255,255,255,0.18); color: #fff; }
.cpk-title { font-family: 'Cairo',sans-serif; font-size: 24px; font-weight: 800; color: #fff; text-align: center; margin-bottom: 6px; }
.cpk-sub { font-size: 14px; color: rgba(255,255,255,0.55); text-align: center; margin-bottom: 28px; }
.cpk-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.cpk-item {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 18px; padding: 20px 10px 16px;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  cursor: pointer; transition: all 0.2s; text-align: center; color: #fff;
}
.cpk-item:hover { background: var(--orange); border-color: var(--orange); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(240,124,42,0.3); }
.cpk-flag { font-size: 36px; line-height: 1; }
.cpk-name { font-family: 'Cairo',sans-serif; font-size: 14px; font-weight: 700; }
.cpk-cities { font-size: 10px; color: rgba(255,255,255,0.5); line-height: 1.5; }
.cpk-item:hover .cpk-cities { color: rgba(255,255,255,0.85); }
@media(max-width:600px) {
  .tour-book-btn { font-size: 16px; padding: 17px 28px; }
  .tour-book-sub { font-size: 14px; }
  .cpk-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .cpk-box { padding: 40px 16px 24px; border-radius: 20px; }
  .cpk-title { font-size: 20px; }
  .cpk-flag { font-size: 30px; }
}

/* Shared destination distance cards */
.dest-dist-sec .dist-title{margin-bottom:24px;}
.dest-distance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto;}
.dest-distance-grid.one-card{grid-template-columns:minmax(0,360px);justify-content:center;}
.dest-distance-card{background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.16);border-radius:16px;padding:18px 16px;text-align:center;box-shadow:0 14px 34px rgba(0,0,0,0.12);}
.dest-distance-route{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;font-family:'Cairo',sans-serif;font-size:16px;font-weight:800;color:#fff;line-height:1.5;}
.dest-distance-route span:nth-child(2){color:var(--orange);font-size:18px;}
.dest-distance-meta{margin-top:9px;font-size:12px;font-weight:800;color:var(--orange-light);}
.dest-distance-time{margin-top:6px;font-size:13px;font-weight:700;color:rgba(255,255,255,0.78);line-height:1.55;}
.dest-distance-grid::after,.uz-distance-grid::after{
  content:"* الأوقات تقديرية وقد تختلف حسب الازدحام المروري";
  grid-column:1/-1; display:block;
  text-align:center; margin-top:6px;
  font-size:11px; color:rgba(255,255,255,0.45);
  line-height:1.5;
}
body.en .dest-distance-grid::after,body.en .uz-distance-grid::after{
  content:"* Times are approximate and may vary with traffic";
}
.dest-distance-grid:not(.one-card):not(.two-card) > .dest-distance-card:last-child:nth-child(3n + 1){grid-column:2;}
.dest-distance-grid.two-card{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;justify-content:center;}
@media(max-width:768px){
  .dest-distance-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .dest-distance-grid.one-card{grid-template-columns:minmax(0,320px);justify-content:center;}
  .dest-distance-grid.two-card{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;}
  .dest-distance-card{padding:15px 10px;border-radius:14px;}
  .dest-distance-route{font-size:14px;gap:7px;}
  .dest-distance-meta{font-size:11px;margin-top:7px;}
  .dest-distance-time{font-size:12px;}
  .dest-distance-grid:not(.one-card):not(.two-card) > .dest-distance-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc((100% - 12px) / 2);width:100%;justify-self:center;}
}
@media(max-width:430px){
  .dest-dist-sec{padding-right:14px;padding-left:14px;}
  .dest-distance-grid{gap:10px;}
  .dest-distance-card{padding:14px 8px;}
  .dest-distance-route{font-size:13px;}
}
/* B2B growth cards mobile compact */
@media(max-width:768px){
  .b2b-growth-grid{
    grid-template-columns:1fr;
    gap:14px;
    max-width:520px;
  }
  .b2b-growth-grid > *:last-child:nth-child(2n + 1){
    grid-column:auto;
    max-width:none;
    width:100%;
  }
  .b2b-growth-card{
    min-height:0;
    padding:20px 18px;
    border-radius:14px;
  }
  .b2b-growth-card .icon{
    font-size:30px;
    margin-bottom:8px;
  }
  .b2b-growth-card h3{
    font-size:16px;
    line-height:1.35;
    margin-bottom:6px;
  }
  .b2b-growth-card .b2b-card-lead{
    font-size:13.5px;
    line-height:1.55;
    margin-bottom:8px;
  }
  .svc-card-lg .b2b-card-list{
    list-style:none;
    padding:0;
    margin:0;
    gap:5px;
  }
  .svc-card-lg .b2b-card-list li{
    font-size:12.5px;
    line-height:1.55;
    padding-inline-start:18px;
  }
  .b2b-card-note{
    margin-top:8px;
    padding-top:8px;
    font-size:12.5px;
    line-height:1.55;
  }
}
/* Footer destination links */
.f-dest-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:10px;
}
@media(max-width:480px){
  .f-dest-links { grid-template-columns:repeat(2,1fr); column-gap:12px; }
}
/* Home services image-led cards */
.services-sec .svc-icon {
  display:none;
}
.services-sec .svc-img {
  height:178px;
}
.services-sec .svc-card-body {
  padding-top:24px;
}
@media(max-width:768px){
  .services-sec .svc-img { height:158px; }
}
@media(max-width:480px){
  .services-sec .svc-img { height:138px; }
  .services-sec .svc-card-body { padding:18px 14px 20px; }
}
/* Home mobile section spacing */
@media(max-width:768px){
  .dest-sec,
  .b2bc-sec,
  .services-sec,
  .reviews-sec,
  .team-sec,
  .contact-sec {
    padding-top:46px;
    padding-bottom:46px;
  }
  .dest-sec { padding-bottom:34px; }
  .b2bc-sec { padding-top:34px; }
  .services-sec { padding-top:40px; }
  .sec-hd-center { margin-bottom:26px; }
  .sec-hd-sub { margin-top:8px; }
  .dest-display { height:330px; }
  .b2bc-grid { gap:18px; }
  .b2bc-card-img-wrap { min-height:340px; }
}
@media(max-width:480px){
  .dest-sec,
  .b2bc-sec,
  .services-sec,
  .reviews-sec,
  .team-sec,
  .contact-sec {
    padding-top:38px;
    padding-bottom:38px;
  }
  .dest-sec { padding-bottom:26px; }
  .b2bc-sec { padding-top:26px; }
  .services-sec { padding-top:34px; }
  .sec-hd-center { margin-bottom:22px; }
  .dest-display { height:324px; }
  .b2bc-card-img-wrap { min-height:320px; }
}
/* ── Home reviews carousel ─────────────────────────────── */
.tt-mobile-nav { display:none; }

/* Desktop: force all 3 videos visible at full size */
@media (min-width:769px) {
  #testimonials .tt-embeds-row { display:flex !important; flex-wrap:wrap; gap:20px; justify-content:center; }
  #testimonials .tt-embed-wrap,
  #testimonials .tt-hide-mobile { display:flex !important; flex-direction:column; align-items:center; flex-shrink:0; }
  #testimonials .tt-poster { width:325px; height:740px; }
}

/* Mobile: one video at a time with prev/next arrows */
@media (max-width:768px) {
  #testimonials .tt-mobile-slider { position:relative; width:100%; overflow:hidden; padding:0; }
  #testimonials .tt-mobile-slider .tt-embeds-row { display:block !important; width:100%; max-width:none; }
  #testimonials .tt-mobile-slider .tt-embed-wrap,
  #testimonials .tt-mobile-slider .tt-hide-mobile { display:none !important; width:100%; padding:0 12px; box-sizing:border-box; }
  #testimonials .tt-mobile-slider .tt-embed-wrap.active { display:flex !important; flex-direction:column; align-items:center; }
  #testimonials .tt-mobile-slider .tt-poster { width:100%; height:auto; aspect-ratio:9/16; }
  #testimonials .tt-mobile-slider iframe { width:100% !important; height:auto !important; aspect-ratio:9/16; }
  #testimonials .tt-mobile-nav {
    display:flex; align-items:center; justify-content:center;
    gap:14px; margin-top:16px; direction:ltr;
  }
  .tt-slide-btn {
    width:42px; height:42px; border-radius:50%;
    border:1px solid rgba(30,95,168,0.25);
    background:#fff; color:var(--blue-royal);
    font-size:26px; line-height:1; cursor:pointer;
    box-shadow:0 2px 8px rgba(0,0,0,0.12);
    display:flex; align-items:center; justify-content:center;
  }
  .tt-slide-dots { display:flex; align-items:center; gap:6px; }
  .tt-slide-dots span { width:7px; height:7px; border-radius:50%; background:rgba(30,95,168,0.22); transition:all .2s; }
  .tt-slide-dots span.active { width:20px; background:var(--orange); border-radius:999px; }
  #testimonials .tt-mobile-teaser { margin-top:24px; }
}
/* Luxury tours page refresh */
.tour-experience-grid,
.tour-dest-grid,
.tour-steps-grid,
.tour-why-grid {
  display:grid;
  gap:20px;
  max-width:1120px;
  margin:0 auto;
}
.tour-experience-grid { grid-template-columns:repeat(4,1fr); }
.tour-experience-card {
  background:#fff;
  border:1px solid var(--border-soft);
  border-radius:18px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:var(--shadow-sm);
  transition:transform 0.3s, box-shadow 0.3s;
}
.tour-experience-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.tour-experience-img { height:210px; background:center/cover no-repeat; }
.tour-experience-body { padding:22px 20px 24px; text-align:right; }
body.en .tour-experience-body { text-align:left; }
.tour-experience-body h3,
.tour-step-card h3,
.tour-why-card h3 {
  font-family:'Cairo',sans-serif;
  font-size:17px;
  font-weight:800;
  color:var(--text-main);
  margin-bottom:8px;
  line-height:1.4;
}
.tour-experience-body p,
.tour-step-card p,
.tour-why-card p {
  font-size:13px;
  color:var(--gray-text);
  line-height:1.75;
}
.tour-dest-grid { grid-template-columns:repeat(3,1fr); }
.tour-dest-card {
  min-height:230px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  padding:24px;
  background:center/cover no-repeat;
  text-decoration:none;
  box-shadow:var(--shadow-sm);
  isolation:isolate;
}
.tour-dest-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,26,16,0.86),rgba(7,26,16,0.18));
  z-index:-1;
}
.tour-dest-card span {
  font-family:'Cairo',sans-serif;
  font-size:24px;
  font-weight:900;
  color:#fff;
}
.tour-dest-card b {
  width:max-content;
  background:var(--orange);
  color:#fff;
  border-radius:999px;
  padding:8px 18px;
  font-size:13px;
}
.tour-steps-grid { grid-template-columns:repeat(4,1fr); }
.tour-step-card,
.tour-why-card {
  background:#fff;
  border:1px solid var(--border-soft);
  border-radius:16px;
  padding:24px 22px;
  box-shadow:var(--shadow-sm);
}
.tour-step-card span {
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  background:rgba(240,124,42,0.12);
  color:var(--orange);
  font-weight:900;
  margin-bottom:14px;
}
.tour-why-grid { grid-template-columns:repeat(3,1fr); }
.tours-final-cta .wa-btn { background:var(--orange); }
@media(max-width:1024px){
  .tour-experience-grid,
  .tour-steps-grid,
  .tour-why-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .tour-experience-grid,
  .tour-dest-grid,
  .tour-steps-grid,
  .tour-why-grid { grid-template-columns:1fr; gap:16px; }
  .tour-experience-img { height:220px; }
  .tour-dest-card { min-height:210px; }
  .tour-experience-body,
  .tour-step-card,
  .tour-why-card { padding:20px 18px; }
}


/* ===== HOTEL BOOKING MODAL ===== */
.hotel-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(20,35,90,0.55); backdrop-filter:blur(4px);
  z-index:9999; align-items:center; justify-content:center; padding:16px;
}
.hotel-overlay.open { display:flex; }
.hotel-modal {
  background:#fff; border-radius:20px; padding:28px 24px;
  max-width:480px; width:100%; position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,0.22);
  animation:hotelIn 0.32s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes hotelIn {
  from { opacity:0; transform:scale(0.88) translateY(24px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}
.hotel-modal-close {
  position:absolute; top:14px; left:14px;
  background:rgba(20,35,90,0.08); border:none; border-radius:50%;
  width:32px; height:32px; font-size:15px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#14235a; transition:background 0.2s; line-height:1;
}
.hotel-modal-close:hover { background:rgba(20,35,90,0.16); }
.hotel-modal-title {
  font-size:17px; font-weight:800; color:#14235a;
  margin-bottom:18px; text-align:center;
}
.hotel-countries-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
}
.hotel-country-btn {
  background:#f7f5f0; border:1.5px solid rgba(20,35,90,0.1);
  border-radius:12px; padding:12px 6px; cursor:pointer;
  font-size:12px; font-weight:700; color:#14235a;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  transition:all 0.2s; font-family:inherit;
}
.hotel-country-btn:hover {
  border-color:var(--orange); background:rgba(245,130,32,0.08); color:var(--orange);
}
.hotel-country-flag { font-size:26px; }
.hotel-back-btn {
  background:none; border:none; color:#14235a; font-size:13px;
  font-weight:700; cursor:pointer; margin-bottom:10px;
  display:flex; align-items:center; gap:4px; font-family:inherit; padding:0;
}
.hotel-selected-label {
  background:rgba(245,130,32,0.08); border:1.5px solid rgba(245,130,32,0.3);
  border-radius:10px; padding:9px 14px; margin-bottom:16px;
  font-size:14px; font-weight:700; color:#14235a; text-align:center;
}
.hotel-form-row {
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px;
}
.hotel-form-group { display:flex; flex-direction:column; gap:5px; }
.hotel-form-label { font-size:12px; font-weight:700; color:#14235a; text-align:right; }
.hotel-form-input {
  border:1.5px solid rgba(20,35,90,0.15); border-radius:10px;
  padding:10px 12px; font-size:14px; color:#14235a;
  font-family:inherit; text-align:right; width:100%; box-sizing:border-box;
  transition:border-color 0.2s; background:#fff;
}
.hotel-form-input:focus { outline:none; border-color:var(--orange); }
.hotel-ages-wrap { margin-bottom:14px; display:none; }
.hotel-ages-label { font-size:12px; font-weight:700; color:#14235a; margin-bottom:7px; }
.hotel-ages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.hotel-submit-btn {
  width:100%; background:var(--orange); color:#fff; border:none;
  border-radius:50px; padding:14px; font-size:15px; font-weight:800;
  cursor:pointer; transition:all 0.2s; margin-top:6px; font-family:inherit;
}
.hotel-submit-btn:hover { background:#d97a1a; transform:translateY(-1px); }
@media(max-width:480px) {
  .hotel-form-row { grid-template-columns:1fr; }
  .hotel-ages-grid { grid-template-columns:repeat(3,1fr); }
}

/* ── Guide Link Card (shared across destination pages) ──────── */
.guide-link-sec{padding:0 24px 48px}
.guide-link-inner{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:linear-gradient(135deg,#eef4ff 0%,#e6effe 100%);border-radius:20px;padding:26px 30px;border:1px solid rgba(30,95,168,.13)}
.guide-link-icon{font-size:2.2rem;flex-shrink:0}
.guide-link-content{flex:1;min-width:180px}
.guide-link-label{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:5px}
.guide-link-title{font-size:1.02rem;font-weight:900;color:var(--navy);font-family:'Cairo',sans-serif;margin:0 0 5px}
.guide-link-desc{font-size:.82rem;color:#666;margin:0;line-height:1.7}
.guide-link-btn{display:inline-flex;align-items:center;gap:7px;background:var(--blue-royal);color:#fff;text-decoration:none;padding:11px 22px;border-radius:30px;font-size:.83rem;font-weight:700;font-family:'Cairo',sans-serif;white-space:nowrap;transition:background .2s,transform .18s;flex-shrink:0}
.guide-link-btn:hover{background:var(--navy);transform:translateY(-2px)}
@media(max-width:580px){.guide-link-inner{padding:18px;gap:14px}.guide-link-btn{width:100%;justify-content:center}}