/* ============================================================
   JUST EASY TRAVEL — Main Stylesheet
   Brand: Blue #1E6FC5 | Red #D92B2B | White #FFFFFF
   ============================================================ */

:root {
  --primary:        #1E6FC5;
  --primary-light:  #4A9BD5;
  --primary-dark:   #0D4A8F;
  --accent:         #D92B2B;
  --accent-dark:    #A81E1E;
  --white:          #FFFFFF;
  --off-white:      #F5F8FC;
  --gray-100:       #F3F4F6;
  --gray-200:       #E5E7EB;
  --gray-400:       #9CA3AF;
  --gray-600:       #4B5563;
  --gray-800:       #1F2937;
  --shadow-sm:      0 2px 8px rgba(30,111,197,.10);
  --shadow-md:      0 4px 24px rgba(30,111,197,.15);
  --shadow-lg:      0 12px 48px rgba(30,111,197,.20);
  --shadow-xl:      0 24px 72px rgba(0,0,0,.22);
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  24px;
  --r-xl:  40px;
  --t:     all .3s ease;
  --t-s:   all .5s ease;
}

/* ── Reset ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Inter','Open Sans',sans-serif;
  color:var(--gray-800);
  background:var(--white);
  overflow-x:hidden;
  line-height:1.65;
}
img { display:block; max-width:100%; }
a  { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; outline:none; font-family:inherit; }

h1,h2,h3,h4,h5,h6 {
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  line-height:1.2;
}

/* ── Utility ── */
.container { width:90%; max-width:1200px; margin:0 auto; }
.section-title {
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  color:var(--primary-dark);
  margin-bottom:.6rem;
}
.section-subtitle {
  font-size:1rem;
  color:var(--gray-600);
  max-width:620px;
  line-height:1.7;
}
.section-header { margin-bottom:3rem; }
.section-header.centered { text-align:center; }
.section-header.centered .section-subtitle { margin:0 auto; }
.badge {
  display:inline-block;
  background:rgba(30,111,197,.1);
  color:var(--primary);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.35rem .9rem;
  border-radius:100px;
  margin-bottom:1rem;
}
.badge.red { background:rgba(217,43,43,.1); color:var(--accent); }

/* ── Buttons ── */
.btn {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.82rem 2rem;
  border-radius:var(--r-sm);
  font-weight:600;
  font-size:.95rem;
  transition:var(--t);
  white-space:nowrap;
}
.btn-primary {
  background:var(--primary);
  color:var(--white);
  box-shadow:0 4px 18px rgba(30,111,197,.38);
}
.btn-primary:hover {
  background:var(--primary-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(30,111,197,.45);
}
.btn-accent {
  background:var(--accent);
  color:var(--white);
  box-shadow:0 4px 18px rgba(217,43,43,.35);
}
.btn-accent:hover {
  background:var(--accent-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(217,43,43,.42);
}
.btn-outline {
  background:transparent;
  color:var(--white);
  border:2px solid rgba(255,255,255,.7);
}
.btn-outline:hover {
  background:var(--white);
  color:var(--primary);
  border-color:var(--white);
}
.btn-outline-blue {
  background:transparent;
  color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline-blue:hover {
  background:var(--primary);
  color:var(--white);
}
.btn-lg { padding:1rem 2.6rem; font-size:1.05rem; }
.btn-sm { padding:.55rem 1.3rem; font-size:.85rem; }

/* ════════════════════════════════════════
   NAVBAR
════════════════════════════════════════ */
.navbar {
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  padding:1.2rem 0;
  transition:var(--t);
}
.navbar.transparent { background:transparent; }
.navbar.solid {
  background:rgba(13,74,143,.97);
  backdrop-filter:blur(12px);
  padding:.8rem 0;
  box-shadow:0 2px 24px rgba(0,0,0,.25);
}
.nav-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
/* Logo */
.nav-logo {
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-shrink:0;
}
.nav-logo-icon {
  width:52px; height:40px;
}
.nav-logo-img {
  height:64px;
  width:auto;
  object-fit:contain;
}
.nav-logo-text { color:var(--white); }
.nav-logo-text .just { font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; opacity:.8; display:block; }
.nav-logo-text .name { font-family:'Montserrat',sans-serif; font-size:1.25rem; font-weight:900; line-height:1; letter-spacing:.02em; }
.nav-logo-text .travel { font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; opacity:.85; display:block; }

/* Nav links */
.nav-menu {
  display:flex;
  align-items:center;
  gap:.2rem;
}
.nav-link {
  color:rgba(255,255,255,.88);
  font-size:.92rem;
  font-weight:500;
  padding:.5rem .9rem;
  border-radius:var(--r-sm);
  transition:var(--t);
  position:relative;
}
.nav-link:hover, .nav-link.active {
  color:var(--white);
  background:rgba(255,255,255,.12);
}

/* Dropdown */
.nav-dropdown { position:relative; }
.nav-dropdown > .nav-link { display:flex; align-items:center; gap:.3rem; }
.nav-dropdown > .nav-link::after {
  content:'';
  width:8px; height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:var(--t);
}
.nav-dropdown:hover > .nav-link::after { transform:rotate(-135deg) translateY(-2px); }
.dropdown-menu {
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:var(--white);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-xl);
  min-width:260px;
  padding:.6rem;
  opacity:0;
  visibility:hidden;
  transition:var(--t);
  pointer-events:none;
}
.nav-dropdown:hover .dropdown-menu {
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
.dropdown-item {
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.7rem 1rem;
  border-radius:var(--r-sm);
  color:var(--gray-800);
  font-size:.9rem;
  font-weight:500;
  transition:var(--t);
}
.dropdown-item:hover {
  background:var(--off-white);
  color:var(--primary);
}
.dropdown-item .icon {
  width:32px; height:32px;
  background:rgba(30,111,197,.1);
  color:var(--primary);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  flex-shrink:0;
}

/* Nav CTA */
.nav-cta { margin-left:.8rem; }

/* Hamburger */
.nav-toggle {
  display:none;
  flex-direction:column;
  gap:5px;
  padding:.5rem;
  background:transparent;
}
.nav-toggle span {
  display:block;
  width:24px; height:2px;
  background:var(--white);
  border-radius:2px;
  transition:var(--t);
}
.nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.hero {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg { position:absolute; inset:0; }
.hero-slide {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  animation:heroFade 42s infinite;
  transform:scale(1.08);
  transition:transform 12s ease;
}
.hero-slide:nth-child(1)  { animation-delay:0s; }
.hero-slide:nth-child(2)  { animation-delay:6s; }
.hero-slide:nth-child(3)  { animation-delay:12s; }
.hero-slide:nth-child(4)  { animation-delay:18s; }
.hero-slide:nth-child(5)  { animation-delay:24s; }
.hero-slide:nth-child(6)  { animation-delay:30s; }
.hero-slide:nth-child(7)  { animation-delay:36s; }
@keyframes heroFade {
  0%   { opacity:0;   transform:scale(1.08); }
  4%   { opacity:1;   transform:scale(1.04); }
  14%  { opacity:1;   transform:scale(1); }
  18%  { opacity:0;   transform:scale(1); }
  100% { opacity:0; }
}
.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(13,74,143,.88) 0%,rgba(30,111,197,.70) 50%,rgba(74,155,213,.55) 100%);
}
.hero-content {
  position:relative;
  z-index:2;
  width:90%;
  max-width:1200px;
  margin:0 auto;
  padding:8rem 0 5rem;
  display:grid;
  grid-template-columns:1fr 400px;
  gap:4rem;
  align-items:center;
}
.hero-text .badge { background:rgba(255,255,255,.2); color:var(--white); }
.hero-title {
  font-size:clamp(2.4rem,5.5vw,4rem);
  color:var(--white);
  margin-bottom:1.2rem;
  font-weight:900;
  text-shadow:0 2px 20px rgba(0,0,0,.25);
}
.hero-title span { color:#FFD700; }
.hero-desc {
  font-size:1.1rem;
  color:rgba(255,255,255,.88);
  margin-bottom:2rem;
  max-width:540px;
  line-height:1.75;
}
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
/* ── Hero Airlines Ticker ── */
.hero-airlines-ticker {
  overflow:hidden;
  width:100%;
  max-width:500px;
  margin:.8rem 0;
  -webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
  mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
}
.hero-airlines-track {
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-flex-direction:row;
  flex-direction:row;
  -webkit-flex-wrap:nowrap;
  flex-wrap:nowrap;
  -webkit-box-align:center;
  -webkit-align-items:center;
  align-items:center;
  gap:.7rem;
  white-space:nowrap;
  -webkit-animation:heroTicker 20s linear infinite;
  animation:heroTicker 20s linear infinite;
}
.hero-airlines-track img {
  display:inline-block;
  height:26px;
  width:auto;
  max-width:70px;
  object-fit:contain;
  background:white;
  border-radius:6px;
  padding:3px 8px;
  opacity:.95;
  -webkit-flex-shrink:0;
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
@-webkit-keyframes heroTicker {
  0%   { -webkit-transform:translateX(0); transform:translateX(0); }
  100% { -webkit-transform:translateX(-50%); transform:translateX(-50%); }
}
@keyframes heroTicker {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* ── Hero IATA Badge inline ── */
.hero-iata-inline {
  margin:1.2rem 0;
}
.hero-iata-inline img {
  display:block;
  height:100px;
  width:auto;
  border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,.5), 0 0 0 3px rgba(255,255,255,.2);
  transition:transform .3s ease, box-shadow .3s ease;
  animation: iata-pulse 3s ease-in-out infinite;
}
.hero-iata-inline img:hover {
  transform:scale(1.05);
  box-shadow:0 10px 36px rgba(0,0,0,.6), 0 0 0 4px rgba(255,255,255,.35);
}
@keyframes iata-pulse {
  0%,100% { filter:drop-shadow(0 0 5px rgba(255,255,255,.15)); }
  50%      { filter:drop-shadow(0 0 12px rgba(255,255,255,.38)); }
}

.hero-stats {
  display:flex;
  gap:2rem;
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.2);
}
.stat-item { text-align:center; }
.stat-num {
  font-family:'Montserrat',sans-serif;
  font-size:1.8rem;
  font-weight:900;
  color:var(--white);
  display:block;
}
.stat-label {
  font-size:.8rem;
  color:rgba(255,255,255,.7);
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* Search Box */
.search-box {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2rem;
  box-shadow:var(--shadow-xl);
}
.search-box h3 {
  font-size:1.2rem;
  color:var(--primary-dark);
  margin-bottom:1.5rem;
  padding-bottom:.8rem;
  border-bottom:2px solid var(--gray-200);
}
.search-tabs {
  display:flex;
  gap:.4rem;
  margin-bottom:1.5rem;
}
.s-tab {
  flex:1;
  padding:.5rem;
  text-align:center;
  font-size:.8rem;
  font-weight:600;
  color:var(--gray-600);
  background:var(--gray-100);
  border-radius:var(--r-sm);
  cursor:pointer;
  transition:var(--t);
  border:none;
  font-family:inherit;
}
.s-tab.active, .s-tab:hover {
  background:var(--primary);
  color:var(--white);
}
.form-group { margin-bottom:1rem; }
.form-group label {
  display:block;
  font-size:.78rem;
  font-weight:600;
  color:var(--gray-600);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:.4rem;
}
.form-control {
  width:100%;
  padding:.75rem 1rem;
  border:1.5px solid var(--gray-200);
  border-radius:var(--r-sm);
  font-size:.9rem;
  color:var(--gray-800);
  font-family:inherit;
  transition:var(--t);
  background:var(--white);
}
.form-control:focus {
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(30,111,197,.1);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }

/* ════════════════════════════════════════
   SERVICES STRIP
════════════════════════════════════════ */
.services-strip {
  background:var(--white);
  padding:0;
  position:relative;
  z-index:10;
  margin-top:-40px;
}
.strip-inner {
  background:var(--white);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.strip-item {
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.6rem 1.8rem;
  border-right:1px solid var(--gray-200);
  transition:var(--t);
  cursor:default;
}
.strip-item:last-child { border-right:none; }
.strip-item:hover { background:var(--off-white); }
.strip-icon {
  width:48px; height:48px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  color:var(--white);
  flex-shrink:0;
  box-shadow:0 4px 14px rgba(30,111,197,.3);
}
.strip-text .label {
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--gray-400);
}
.strip-text .value {
  font-weight:700;
  font-size:.95rem;
  color:var(--gray-800);
}

/* ════════════════════════════════════════
   ABOUT SECTION
════════════════════════════════════════ */
.about-section { padding:6rem 0; background:var(--off-white); }
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}
.about-images {
  position:relative;
  height:500px;
}
.about-img-main {
  position:absolute;
  top:0; left:0;
  width:78%;
  height:85%;
  object-fit:cover;
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
}
.about-img-sec {
  position:absolute;
  bottom:0; right:0;
  width:55%;
  height:60%;
  object-fit:cover;
  border-radius:var(--r-lg);
  border:4px solid var(--white);
  box-shadow:var(--shadow-lg);
}
.experience-badge {
  position:absolute;
  top:50%;
  left:60%;
  transform:translate(-50%,-50%);
  background:var(--accent);
  color:var(--white);
  border-radius:50%;
  width:100px; height:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-family:'Montserrat',sans-serif;
  box-shadow:0 8px 24px rgba(217,43,43,.4);
  z-index:2;
  text-align:center;
}
.experience-badge .num { font-size:1.6rem; font-weight:900; line-height:1; }
.experience-badge .txt { font-size:.55rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; line-height:1.2; opacity:.9; }

.about-text .section-title { margin-bottom:1rem; }
.about-text .section-subtitle { margin-bottom:2rem; }
.about-features { display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.about-feature {
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.feature-check {
  width:28px; height:28px;
  background:rgba(30,111,197,.1);
  color:var(--primary);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  flex-shrink:0;
  margin-top:.1rem;
}
.about-feature p { font-size:.95rem; color:var(--gray-600); line-height:1.6; }
.about-feature strong { color:var(--gray-800); font-weight:600; }

/* ════════════════════════════════════════
   SERVICES SECTION
════════════════════════════════════════ */
.services-section { padding:6rem 0; }
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
.service-card {
  background:var(--white);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--gray-200);
  transition:var(--t-s);
  position:relative;
}
.service-card:hover {
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.service-card-img {
  height:200px;
  overflow:hidden;
  position:relative;
}
.service-card-img img {
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.service-card:hover .service-card-img img { transform:scale(1.08); }
.service-card-img-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(13,74,143,.6),transparent);
}
.service-card-body { padding:1.6rem; }
.service-icon-wrap {
  width:52px; height:52px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  color:var(--white);
  margin-bottom:1rem;
  box-shadow:0 4px 14px rgba(30,111,197,.3);
}
.service-card-title {
  font-size:1.1rem;
  color:var(--primary-dark);
  margin-bottom:.5rem;
}
.service-card-desc {
  font-size:.9rem;
  color:var(--gray-600);
  line-height:1.65;
  margin-bottom:1.2rem;
}
.service-card-link {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.88rem;
  font-weight:600;
  color:var(--primary);
  transition:var(--t);
}
.service-card-link:hover { gap:.8rem; color:var(--primary-dark); }
.service-card-link svg { transition:var(--t); }

/* Featured card */
.service-card.featured {
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  border-color:transparent;
  color:var(--white);
}
.service-card.featured .service-card-title { color:var(--white); }
.service-card.featured .service-card-desc { color:rgba(255,255,255,.8); }
.service-card.featured .service-card-link { color:rgba(255,255,255,.9); }
.service-card.featured .service-card-link:hover { color:var(--white); }
.service-card.featured .service-icon-wrap { background:rgba(255,255,255,.2); box-shadow:none; }

/* ════════════════════════════════════════
   DESTINATIONS
════════════════════════════════════════ */
.destinations-section { padding:6rem 0; background:var(--off-white); }
.dest-filter {
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin-bottom:2.5rem;
}
.filter-btn {
  padding:.5rem 1.2rem;
  border-radius:100px;
  font-size:.85rem;
  font-weight:600;
  color:var(--gray-600);
  background:var(--white);
  border:1.5px solid var(--gray-200);
  cursor:pointer;
  transition:var(--t);
  font-family:inherit;
}
.filter-btn:hover, .filter-btn.active {
  background:var(--primary);
  color:var(--white);
  border-color:var(--primary);
}
.dest-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:auto;
  gap:1.2rem;
}
.dest-card {
  position:relative;
  border-radius:var(--r-md);
  overflow:hidden;
  cursor:pointer;
}
.dest-card:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.dest-card:nth-child(4) { grid-column:span 2; }
.dest-card-img {
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  transition:transform .6s ease;
  display:block;
}
.dest-card:nth-child(1) .dest-card-img { min-height:460px; }
.dest-card:hover .dest-card-img { transform:scale(1.07); }
.dest-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(13,74,143,.85) 0%,rgba(0,0,0,.1) 60%,transparent 100%);
  transition:var(--t);
}
.dest-card:hover .dest-overlay { background:linear-gradient(to top,rgba(13,74,143,.92) 0%,rgba(0,0,0,.2) 70%,transparent 100%); }
.dest-info {
  position:absolute;
  bottom:0; left:0; right:0;
  padding:1.4rem;
}
.dest-country {
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.75);
  margin-bottom:.2rem;
}
.dest-city {
  font-family:'Montserrat',sans-serif;
  font-size:1.15rem;
  font-weight:700;
  color:var(--white);
}
.dest-card:nth-child(1) .dest-city { font-size:1.6rem; }
.dest-price {
  display:inline-block;
  background:var(--accent);
  color:var(--white);
  font-size:.78rem;
  font-weight:700;
  padding:.25rem .75rem;
  border-radius:100px;
  margin-top:.5rem;
}

/* ════════════════════════════════════════
   WHY US
════════════════════════════════════════ */
.why-section {
  padding:6rem 0;
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);
  position:relative;
  overflow:hidden;
}
.why-section::before {
  content:'';
  position:absolute;
  top:-40%;
  right:-20%;
  width:600px; height:600px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
}
.why-section::after {
  content:'';
  position:absolute;
  bottom:-30%;
  left:-10%;
  width:400px; height:400px;
  border-radius:50%;
  background:rgba(255,255,255,.03);
}
.why-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
  position:relative;
  z-index:1;
}
.why-text .badge { background:rgba(255,255,255,.2); color:var(--white); }
.why-text .section-title { color:var(--white); }
.why-text .section-subtitle { color:rgba(255,255,255,.8); }
.why-features { margin-top:2rem; display:flex; flex-direction:column; gap:1.4rem; }
.why-feature {
  display:flex;
  gap:1.2rem;
  align-items:flex-start;
}
.why-feature-icon {
  width:48px; height:48px;
  background:rgba(255,255,255,.15);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  flex-shrink:0;
  color:var(--white);
}
.why-feature-text h4 { color:var(--white); font-size:1rem; margin-bottom:.3rem; }
.why-feature-text p { color:rgba(255,255,255,.75); font-size:.9rem; line-height:1.6; }

.why-stats-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.why-stat-card {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-md);
  padding:2rem;
  text-align:center;
  backdrop-filter:blur(8px);
  transition:var(--t);
}
.why-stat-card:hover { background:rgba(255,255,255,.17); transform:translateY(-4px); }
.why-stat-card .num {
  font-family:'Montserrat',sans-serif;
  font-size:2.4rem;
  font-weight:900;
  color:var(--white);
  display:block;
  line-height:1;
  margin-bottom:.3rem;
}
.why-stat-card .num span { color:#FFD700; }
.why-stat-card p { color:rgba(255,255,255,.75); font-size:.88rem; }

/* ════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════ */
.testimonials-section { padding:6rem 0; }
.testimonials-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
.testimonial-card {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2rem;
  border:1px solid var(--gray-200);
  box-shadow:var(--shadow-sm);
  transition:var(--t-s);
  position:relative;
}
.testimonial-card::before {
  content:'"';
  position:absolute;
  top:1rem; right:1.5rem;
  font-size:4rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  color:var(--gray-200);
  line-height:1;
}
.testimonial-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
}
.testimonial-stars {
  display:flex;
  gap:.2rem;
  margin-bottom:1rem;
  color:#FFB800;
  font-size:.9rem;
}
.testimonial-text {
  font-size:.95rem;
  color:var(--gray-600);
  line-height:1.75;
  margin-bottom:1.5rem;
  font-style:italic;
}
.testimonial-author { display:flex; align-items:center; gap:.8rem; }
.author-avatar {
  width:44px; height:44px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}
.author-info .name { font-weight:700; font-size:.9rem; color:var(--gray-800); }
.author-info .dest { font-size:.8rem; color:var(--primary); }

/* ════════════════════════════════════════
   CTA BANNER
════════════════════════════════════════ */
.cta-section { padding:5rem 0; }
.cta-inner {
  background:linear-gradient(135deg,var(--accent-dark),var(--accent));
  border-radius:var(--r-xl);
  padding:4rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:3rem;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cta-inner::before {
  content:'✈';
  position:absolute;
  right:200px; top:50%;
  transform:translateY(-50%);
  font-size:8rem;
  opacity:.06;
  pointer-events:none;
}
.cta-text .section-title { color:var(--white); }
.cta-text p { color:rgba(255,255,255,.85); margin-top:.8rem; max-width:500px; font-size:1.05rem; }
.cta-actions { display:flex; gap:1rem; flex-shrink:0; }

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer {
  background:var(--gray-800);
  color:rgba(255,255,255,.75);
  padding:5rem 0 0;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;
  margin-bottom:3rem;
}
.footer-brand .nav-logo-text .just { color:rgba(255,255,255,.6); }
.footer-brand .nav-logo-text .name { color:var(--white); }
.footer-brand .nav-logo-text .travel { color:rgba(255,255,255,.6); }
.footer-desc { font-size:.9rem; line-height:1.75; margin-top:1rem; max-width:280px; }
.footer-socials { display:flex; gap:.6rem; margin-top:1.5rem; }
.social-btn {
  width:38px; height:38px;
  background:rgba(255,255,255,.1);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  color:rgba(255,255,255,.7);
  transition:var(--t);
}
.social-btn:hover { background:var(--primary); color:var(--white); }
.footer-heading {
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--white);
  margin-bottom:1.2rem;
}
.footer-links { display:flex; flex-direction:column; gap:.6rem; }
.footer-links a {
  font-size:.9rem;
  color:rgba(255,255,255,.65);
  transition:var(--t);
  display:flex;
  align-items:center;
  gap:.4rem;
}
.footer-links a:hover { color:var(--primary-light); padding-left:.3rem; }
.footer-contact-item {
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  margin-bottom:.9rem;
  font-size:.9rem;
}
.footer-contact-item i { color:var(--primary-light); font-size:1rem; margin-top:.1rem; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.1);
  padding:1.5rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.85rem;
}
.footer-bottom a { color:var(--primary-light); }

/* ════════════════════════════════════════
   PAGE HERO (inner pages)
════════════════════════════════════════ */
.page-hero {
  padding:10rem 0 5rem;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  position:relative;
  overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute;
  inset:0;
  background-image:url('');
  background-size:cover;
  background-position:center;
  opacity:.15;
}
.page-hero-content { position:relative; z-index:1; }
.page-hero .breadcrumb {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.85rem;
  color:rgba(255,255,255,.7);
  margin-bottom:1rem;
}
.page-hero .breadcrumb a { color:rgba(255,255,255,.7); transition:var(--t); }
.page-hero .breadcrumb a:hover { color:var(--white); }
.page-hero .breadcrumb span { color:rgba(255,255,255,.4); }
.page-hero h1 {
  font-size:clamp(2rem,5vw,3.2rem);
  color:var(--white);
  margin-bottom:1rem;
}
.page-hero p { font-size:1.05rem; color:rgba(255,255,255,.82); max-width:580px; }

/* ════════════════════════════════════════
   SERVICE DETAIL PAGE
════════════════════════════════════════ */
.service-detail { padding:5rem 0; }
.service-detail-grid {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:4rem;
  align-items:start;
}
.service-detail-content h2 { color:var(--primary-dark); font-size:1.9rem; margin-bottom:1rem; }
.service-detail-content p { color:var(--gray-600); line-height:1.8; margin-bottom:1.2rem; }
.service-detail-features { display:flex; flex-direction:column; gap:.8rem; margin:1.5rem 0; }
.detail-feature {
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.9rem 1.2rem;
  background:var(--off-white);
  border-radius:var(--r-sm);
  font-size:.92rem;
  color:var(--gray-700);
}
.detail-feature i { color:var(--primary); font-size:1rem; }
.service-sidebar .sticky-card {
  position:sticky;
  top:100px;
}
.price-card {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2rem;
  border:1px solid var(--gray-200);
  box-shadow:var(--shadow-md);
  margin-bottom:1.2rem;
}
.price-card .from { font-size:.8rem; color:var(--gray-400); text-transform:uppercase; letter-spacing:.06em; }
.price-card .price { font-family:'Montserrat',sans-serif; font-size:2.2rem; font-weight:900; color:var(--primary-dark); }
.price-card .price span { font-size:1rem; font-weight:400; color:var(--gray-400); }
.contact-card {
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  border-radius:var(--r-lg);
  padding:2rem;
  color:var(--white);
  text-align:center;
}
.contact-card h4 { margin-bottom:.5rem; }
.contact-card p { font-size:.9rem; color:rgba(255,255,255,.8); margin-bottom:1.5rem; }

/* ════════════════════════════════════════
   ABOUT PAGE
════════════════════════════════════════ */
.values-section { padding:5rem 0; background:var(--off-white); }
.values-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
.value-card {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2rem;
  text-align:center;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--gray-200);
  transition:var(--t-s);
}
.value-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.value-icon {
  width:64px; height:64px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  color:var(--white);
  margin:0 auto 1.2rem;
  box-shadow:0 6px 20px rgba(30,111,197,.3);
}
.value-card h3 { font-size:1.1rem; color:var(--primary-dark); margin-bottom:.6rem; }
.value-card p { font-size:.9rem; color:var(--gray-600); line-height:1.7; }
.team-section { padding:5rem 0; }
.team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.8rem;
}
.team-card {
  text-align:center;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--gray-200);
  background:var(--white);
  transition:var(--t-s);
}
.team-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.team-card img { width:100%; height:220px; object-fit:cover; }
.team-info { padding:1.2rem; }
.team-info h4 { font-size:1rem; color:var(--gray-800); }
.team-info span { font-size:.85rem; color:var(--primary); }

/* ════════════════════════════════════════
   DESTINATIONS PAGE
════════════════════════════════════════ */
.destinations-full { padding:5rem 0; }
.dest-full-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
.dest-full-card {
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  background:var(--white);
  border:1px solid var(--gray-200);
  transition:var(--t-s);
}
.dest-full-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.dest-full-img {
  height:240px;
  overflow:hidden;
  position:relative;
}
.dest-full-img img {
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.dest-full-card:hover .dest-full-img img { transform:scale(1.07); }
.dest-full-body { padding:1.5rem; }
.dest-full-body h3 { font-size:1.2rem; color:var(--primary-dark); margin-bottom:.4rem; }
.dest-full-body .country { font-size:.82rem; color:var(--gray-400); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.8rem; }
.dest-full-body p { font-size:.9rem; color:var(--gray-600); line-height:1.65; margin-bottom:1.2rem; }
.dest-meta { display:flex; justify-content:space-between; align-items:center; }
.dest-meta .price-tag { font-family:'Montserrat',sans-serif; font-size:1.2rem; font-weight:700; color:var(--primary); }
.dest-meta .price-tag span { font-size:.78rem; font-weight:400; color:var(--gray-400); }

/* ════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════ */
.contact-section { padding:5rem 0; }
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
}
.contact-quick-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
}
.contact-info h2 { font-size:1.8rem; color:var(--primary-dark); margin-bottom:1rem; }
.contact-info p { color:var(--gray-600); line-height:1.75; margin-bottom:2rem; }
.contact-items { display:flex; flex-direction:column; gap:1.2rem; }
.contact-item {
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.2rem;
  background:var(--off-white);
  border-radius:var(--r-md);
}
.contact-item-icon {
  width:44px; height:44px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-size:1rem;
  flex-shrink:0;
}
.contact-item-text h4 { font-size:.95rem; color:var(--gray-800); margin-bottom:.2rem; }
.contact-item-text p { font-size:.9rem; color:var(--gray-600); }
.contact-form-wrap {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2.5rem;
  box-shadow:var(--shadow-md);
  border:1px solid var(--gray-200);
}
.contact-form-wrap h3 { font-size:1.4rem; color:var(--primary-dark); margin-bottom:1.5rem; }

/* ════════════════════════════════════════
   BACK TO TOP
════════════════════════════════════════ */
.back-to-top {
  position:fixed;
  bottom:2rem; right:2rem;
  width:46px; height:46px;
  background:var(--primary);
  color:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  box-shadow:0 4px 18px rgba(30,111,197,.4);
  opacity:0;
  pointer-events:none;
  transition:var(--t);
  z-index:999;
  border:none;
  cursor:pointer;
}
.back-to-top.visible { opacity:1; pointer-events:auto; }
.back-to-top:hover { background:var(--primary-dark); transform:translateY(-3px); }

/* ════════════════════════════════════════
   ANIMATIONS (AOS-like custom)
════════════════════════════════════════ */
[data-animate] {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
[data-animate].animated {
  opacity:1;
  transform:translateY(0);
}
[data-animate="fade-left"] { transform:translateX(-30px); }
[data-animate="fade-left"].animated { transform:translateX(0); }
[data-animate="fade-right"] { transform:translateX(30px); }
[data-animate="fade-right"].animated { transform:translateX(0); }
[data-animate="zoom"] { transform:scale(.95); }
[data-animate="zoom"].animated { transform:scale(1); }

.delay-1 { transition-delay:.1s !important; }
.delay-2 { transition-delay:.2s !important; }
.delay-3 { transition-delay:.3s !important; }
.delay-4 { transition-delay:.4s !important; }
.delay-5 { transition-delay:.5s !important; }
.delay-6 { transition-delay:.6s !important; }

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width:1024px) {
  .hero-content { grid-template-columns:1fr; }
  .search-box { max-width:500px; margin:0 auto; }
  .strip-inner { grid-template-columns:repeat(2,1fr); }
  .about-grid { grid-template-columns:1fr; gap:3rem; }
  .about-images { height:340px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .dest-grid { grid-template-columns:repeat(2,1fr); }
  .dest-card:nth-child(1) { grid-column:span 1; grid-row:span 1; }
  .dest-card:nth-child(4) { grid-column:span 1; }
  .dest-card:nth-child(1) .dest-card-img { min-height:220px; }
  .why-grid { grid-template-columns:1fr; gap:3rem; }
  .why-stats-grid { grid-template-columns:repeat(4,1fr); }
  .testimonials-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .dest-full-grid { grid-template-columns:repeat(2,1fr); }
  .service-detail-grid { grid-template-columns:1fr; }
}

@media (max-width:768px) {
  /* ── Navbar mobile menu ── */
  .nav-menu {
    display:none;
    position:fixed;
    top:0; left:0;
    width:100vw;
    height:100vh;
    background:var(--primary-dark);
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    padding:5rem 0 2rem;
    gap:0;
    z-index:9998;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }
  /* Remove backdrop-filter when menu open (fixes fixed positioning inside navbar) */
  .navbar.menu-open {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  /* Keep logo and toggle above menu */
  .nav-logo { position:relative; z-index:10000; }
  .nav-toggle { z-index:10000; }
  .nav-menu.open { display:flex; }
  .nav-menu > li { width:100%; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav-link {
    display:flex;
    align-items:center;
    font-size:1.05rem;
    padding:.9rem 1.5rem;
    color:var(--white) !important;
    width:100%;
    border-radius:0;
    background:none;
  }
  .nav-link:hover, .nav-link.active { background:rgba(255,255,255,.08); color:var(--white) !important; }
  /* Mobile dropdown */
  .nav-dropdown > .nav-link { justify-content:space-between; }
  .nav-dropdown > .nav-link::after { content:''; display:inline-block; width:8px; height:8px; border-right:2px solid rgba(255,255,255,.6); border-bottom:2px solid rgba(255,255,255,.6); transform:rotate(45deg); transition:var(--t); flex-shrink:0; }
  .nav-dropdown.mobile-open > .nav-link::after { transform:rotate(-135deg); }
  .dropdown-menu {
    display:none;
    position:static !important;
    transform:none !important;
    left:auto !important;
    top:auto !important;
    box-shadow:none !important;
    background:rgba(0,0,0,.25);
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto;
    border-radius:0;
    padding:0;
    min-width:0 !important;
    width:100%;
    overflow:hidden;
  }
  .nav-dropdown.mobile-open .dropdown-menu { display:block; }
  .dropdown-item {
    color:rgba(255,255,255,.85);
    padding:.75rem 1.5rem;
    border-radius:0;
    font-size:.92rem;
    width:100%;
    box-sizing:border-box;
  }
  .dropdown-item .icon { background:rgba(255,255,255,.12); color:var(--white); flex-shrink:0; }
  .dropdown-item:hover { background:rgba(255,255,255,.08); color:var(--white); }
  .nav-cta { display:none; }
  .nav-toggle { display:flex; z-index:9999; position:relative; }

  /* ── Hero ── */
  .hero-content {
    padding:5.5rem 0 2.5rem;
    gap:2rem;
    grid-template-columns:1fr;
    overflow:hidden;
    width:90%;
    max-width:100%;
    box-sizing:border-box;
  }
  .hero-text {
    min-width:0;
    overflow:hidden;
    max-width:100%;
    box-sizing:border-box;
  }
  .hero-title { font-size:1.9rem; line-height:1.2; word-break:break-word; }
  .hero-desc {
    font-size:.9rem;
    margin-bottom:1.5rem;
    max-width:100%;
    overflow-wrap:break-word;
    word-break:break-word;
  }
  .hero-stats { gap:1rem; margin-top:1.5rem; padding-top:1.5rem; flex-wrap:wrap; }
  .stat-num { font-size:1.4rem; }
  .search-box { display:none; }
  .hero-actions { flex-direction:column; gap:.8rem; width:100%; }
  .hero-actions .btn {
    width:100%;
    justify-content:center;
    white-space:normal;
    text-align:center;
    box-sizing:border-box;
  }
  .hero-airlines-ticker {
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .hero-airlines-track { will-change:transform; }
  .hero-iata-inline img { height:75px; }
  .badge { max-width:100%; white-space:normal; text-align:center; }

  /* ── Strips / Grids ── */
  .strip-inner { grid-template-columns:1fr; }
  .strip-item { border-right:none; border-bottom:1px solid var(--gray-200); }
  .services-grid { grid-template-columns:1fr; }
  .dest-grid { grid-template-columns:1fr 1fr; }
  .why-stats-grid { grid-template-columns:repeat(2,1fr); }
  .testimonials-grid { grid-template-columns:1fr; }

  /* ── About section ── */
  .about-text > .btn { display:table; margin:0 auto; }

  /* ── Why section ── */
  .why-text > div { text-align:center; }
  .why-text .btn { display:table; margin:0 auto; }

  /* ── Package cards (home page) ── */
  .pkg-home-grid { grid-template-columns:1fr !important; min-height:unset !important; }
  .pkg-home-img { min-height:260px !important; }
  .pkg-home-ribbon { border-radius:0; }

  /* ── CTA section ── */
  .cta-inner { grid-template-columns:1fr; text-align:center; padding:2.5rem 1.5rem; }
  .cta-actions { justify-content:center; flex-wrap:wrap; gap:.8rem; }
  .cta-actions .btn { flex:1; min-width:160px; justify-content:center; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:.5rem; text-align:center; }

  /* ── Inner pages ── */
  .team-grid { grid-template-columns:1fr 1fr; }
  .dest-full-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-quick-grid { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr; }
  .service-detail-grid { grid-template-columns:1fr; }

  /* ── Discovery/feature grids on service pages ── */
  .features-2col { grid-template-columns:1fr !important; }
}

@media (max-width:480px) {
  .dest-grid { grid-template-columns:1fr; }
  .hero-title { font-size:1.75rem; }
  .contact-quick-grid { grid-template-columns:1fr; }
  .hero-desc { font-size:.85rem; }
  .hero-stats { flex-direction:column; gap:.8rem; align-items:flex-start; }
  .stat-num { font-size:1.4rem; }
  .why-stats-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr; }
  .cta-actions { flex-direction:column; align-items:stretch; }
  .cta-actions .btn { width:100%; justify-content:center; }
  .pkg-home-img { min-height:220px !important; }
  /* Service pages discovery grids */
  .discover-grid { grid-template-columns:1fr !important; }
}

/* ============================================================
   PARTENAIRES — Logos ticker
   ============================================================ */

.partners-section {
  padding: 5rem 0;
  background: var(--white);
  border-top: 1px solid var(--gray-100);
}

.partners-label {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  font-size: .82rem;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(135deg, #f0f6ff, #dbeafe);
  border: 1px solid rgba(26,95,168,.15);
  padding: .45rem 1.1rem;
  border-radius: 100px;
  margin-bottom: 1.2rem;
}

/* ── TICKER ── */
.ticker-wrap {
  overflow: hidden;
  position: relative;
  padding: .5rem 0;
}
.ticker-wrap::before,
.ticker-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.ticker-wrap::before {
  left: 0;
  background: linear-gradient(to right, white, transparent);
}
.ticker-wrap::after {
  right: 0;
  background: linear-gradient(to left, white, transparent);
}

.ticker-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: tickerScroll 38s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }

@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.logo-pill {
  display: flex;
  align-items: center;
  gap: .65rem;
  background: var(--off-white);
  border: 1.5px solid var(--gray-200);
  border-radius: 50px;
  padding: .6rem 1.2rem .6rem .8rem;
  white-space: nowrap;
  transition: all .25s ease;
  cursor: default;
  flex-shrink: 0;
}
.logo-pill:hover {
  border-color: var(--primary-light);
  background: #f0f6ff;
  box-shadow: 0 4px 14px rgba(26,95,168,.12);
  transform: translateY(-2px);
}
.logo-pill img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  border-radius: 6px;
  background: white;
  padding: 2px;
  border: 1px solid var(--gray-200);
}
.logo-pill span {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: .82rem;
  color: var(--gray-800);
}

/* ── MARITIME ── */
.maritime-grid {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.maritime-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--off-white);
  border: 1.5px solid var(--gray-200);
  border-radius: 14px;
  padding: 1.1rem 1.6rem;
  transition: all .25s ease;
  flex: 1;
  min-width: 200px;
}
.maritime-card:hover {
  border-color: var(--primary-light);
  background: #f0f6ff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(26,95,168,.1);
}
.maritime-icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.maritime-icon i { color: white; font-size: 1.2rem; }
.maritime-name {
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  font-size: .9rem;
  color: var(--primary-dark);
}
.maritime-sub {
  font-size: .75rem;
  color: var(--gray-400);
  margin-top: .15rem;
}

/* ── IATA BADGE ── */
.iata-badge {
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: white;
  padding: .9rem 2rem;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(26,95,168,.3);
}
.iata-badge > i { font-size: 1.6rem; color: #fbbf24; flex-shrink: 0; }
.iata-label {
  font-size: .7rem;
  font-weight: 600;
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.iata-code {
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  font-size: .95rem;
}

@media (max-width: 640px) {
  .maritime-grid { flex-direction: column; }
  .iata-badge { flex-direction: column; text-align: center; border-radius: 20px; }
}

/* ════════════════════════════════════════
   SERVICE PAGE — REUSABLE GRIDS
════════════════════════════════════════ */
/* Circuits / voyages grid */
.circuits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
}

/* Car types grid (service-location) */
.car-types-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}

/* Events grid (service-congres) */
.events-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .circuits-grid  { grid-template-columns: repeat(2, 1fr); }
  .car-types-grid { grid-template-columns: repeat(2, 1fr); }
  .events-grid    { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .circuits-grid  { grid-template-columns: 1fr; }
  .car-types-grid { grid-template-columns: 1fr; }
}
