@import url("https://fonts.googleapis.com/css2?family=Syne:wght@700;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,400&display=swap");

:root {
  --navy: #0d1e4a;
  --blue: #1565c0;
  --orange: #f07820;
  --orange-light: #ffa94d;
  --white: #ffffff;
  --cream: #fdf6ec;
  --cream2: #fff9f1;
  --gray: #64748b;
  --light: #f1f5f9;
  --navy: #0d1b3e;
  --blue-dark: #042c53;
  --blue-mid: #185fa5;
  --blue-light: #378add;
  --blue-pale: #e6f1fb;
  --teal: #1d9e75;
  --teal-pale: #e1f5ee;
  --amber: #ef9f27;
  --amber-pale: #faeeda;
  --coral: #d85a30;
  --coral-pale: #faece7;
  --text: #1a1a2e;
  --text-muted: #6b7280;
  --border: #e5e7eb;
  --bg: #f8f9fc;
  --white: #ffffff;

  /* demo colour */
  --navy: #0d1b3e;
  --blue: #1a6fc4;
  --blue-light: #2d8de8;
  --orange: #f47c20;
  --orange-light: #ffa040;
  --gold: #f9c74f;
  --white: #ffffff;
  --off-white: #f4f7fc;
  --gray: #8fa0b8;
  --card-shadow: 0 8px 32px rgba(13, 30, 74, 0.1);
  --transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "DM Sans", sans-serif;

  --slide1-from: #0a1628;
  --slide1-to: #1a3a5c;
  --slide1-accent: #38bdf8;

  --slide2-from: #0d1f1a;
  --slide2-to: #0f3d2e;
  --slide2-accent: #34d399;

  --slide3-from: #1a0e28;
  --slide3-to: #3b1f5e;
  --slide3-accent: #f59e0b;

  --nav-h: 70px;
  --transition: 900ms cubic-bezier(0.77, 0, 0.18, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "DM Sans", sans-serif;
  background: var(--white);
  color: var(--navy);
  overflow-x: hidden;
}

/* ===== NAVBAR ===== */
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 20px rgba(13, 30, 74, 0.08);
  transition: var(--transition);
}

.nav-inner {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 28px;
}

.nav-logo img {
  height: 58px;
  width: auto;
  object-fit: contain;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
}

.nav-links a {
  text-decoration: none;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 500;
  padding: 8px 13px;
  border-radius: 8px;
  transition: var(--transition);
  letter-spacing: 0.01em;
  position: relative;
}

.nav-links a::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 20px;
  height: 2px;
  background: var(--orange);
  border-radius: 2px;
  transition: var(--transition);
}

.nav-links a:hover {
  color: var(--blue);
}

.nav-links a:hover::after {
  transform: translateX(-50%) scaleX(1);
}

.nav-links .contact-btn {
  background: var(--orange);
  color: #fff !important;
  padding: 9px 22px;
  border-radius: 30px;
  font-weight: 600;
  transition: var(--transition);
}

.nav-links .contact-btn:hover {
  background: var(--navy);
  transform: translateY(-1px);
}

.nav-links .contact-btn::after {
  display: none;
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--navy);
  border-radius: 2px;
  transition: var(--transition);
}

/* =============================================
   HERO SLIDER
   ============================================= */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
}

.slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
  padding: var(--nav-h) 3rem 0;
  gap: 2rem;
}

.slide.active {
  opacity: 1;
  pointer-events: auto;
}

.slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.slide:not(.active) .slide-bg {
  transform: scale(1.06);
}

.slide.active .slide-bg {
  transform: scale(1);
}

.slide-1 .slide-bg {
  background-image: url("https://images.unsplash.com/photo-1436491865332-7a61a109cc05?w=1600&q=80");
}

.slide-2 .slide-bg {
  background-image: url("https://images.unsplash.com/photo-1571896349842-33c89424de2d?w=1600&q=80");
}

.slide-3 .slide-bg {
  background-image: url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600&q=80");
}

.slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.35) 55%,
    rgba(0, 0, 0, 0.1) 100%
  );
}

.slide-content {
  position: relative;
  z-index: 2;
  max-width: 560px;
  flex: 1;
  padding-left: 2.5rem;
}

.slide-visual {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.slide-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: 1.4rem;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.6s 0.2s ease,
    transform 0.6s 0.2s ease;
}

.slide-1 .slide-eyebrow {
  background: rgba(56, 189, 248, 0.18);
  color: #7dd3fc;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.slide-2 .slide-eyebrow {
  background: rgba(52, 211, 153, 0.18);
  color: #6ee7b7;
  border: 1px solid rgba(52, 211, 153, 0.3);
}

.slide-3 .slide-eyebrow {
  background: rgba(245, 158, 11, 0.18);
  color: #fcd34d;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.slide.active .slide-eyebrow {
  opacity: 1;
  transform: translateY(0);
}

.slide-heading {
  font-family: var(--font-display);
  font-size: clamp(38px, 5.5vw, 68px);
  font-weight: 900;
  color: #fff;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin-bottom: 1.2rem;
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s 0.35s ease,
    transform 0.7s 0.35s ease;
}

.slide-heading em {
  font-style: italic;
  font-weight: 700;
}

.slide-1 .slide-heading em {
  color: var(--orange);
}

.slide-2 .slide-heading em {
  color: var(--slide2-accent);
}

.slide-3 .slide-heading em {
  color: var(--slide3-accent);
}

.slide.active .slide-heading {
  opacity: 1;
  transform: translateY(0);
}

.slide-sub {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.65;
  max-width: 440px;
  margin-bottom: 2rem;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.7s 0.5s ease,
    transform 0.7s 0.5s ease;
}

.slide.active .slide-sub {
  opacity: 1;
  transform: translateY(0);
}

.slide-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 2.5rem;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.7s 0.62s ease,
    transform 0.7s 0.62s ease;
  flex-wrap: wrap;
}

.slide.active .slide-actions {
  opacity: 1;
  transform: translateY(0);
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  padding: 13px 26px;
  border-radius: 100px;
  color: #fff;
  transition:
    transform 0.2s,
    box-shadow 0.2s,
    filter 0.2s;
  font-family: var(--font-body);
  cursor: pointer;
  border: none;
}

.slide-1 .btn-primary {
  background: var(--slide1-accent);
  color: #0a1628;
}

.slide-2 .btn-primary {
  background: var(--slide2-accent);
  color: #0d1f1a;
}

.slide-3 .btn-primary {
  background: var(--slide3-accent);
  color: #1a0e28;
}

.btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.btn-ghost {
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82);
  padding: 13px 20px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 100px;
  transition:
    color 0.2s,
    border-color 0.2s,
    background 0.2s;
  cursor: pointer;
  background: transparent;
  font-family: var(--font-body);
}

.btn-ghost:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
}

.slide-stats {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.7s 0.75s ease,
    transform 0.7s 0.75s ease;
  flex-wrap: wrap;
}

.slide.active .slide-stats {
  opacity: 1;
  transform: translateY(0);
}

.stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.stat strong {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  font-family: var(--font-display);
}

.stat span {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
}

/* Globe rings */
.globe-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.07);
  animation: spinRing linear infinite;
  pointer-events: none;
}

.ring-1 {
  width: 280px;
  height: 280px;
  animation-duration: 22s;
}

.ring-2 {
  width: 420px;
  height: 420px;
  animation-duration: 34s;
  animation-direction: reverse;
  border-style: dashed;
}

.ring-3 {
  width: 540px;
  height: 540px;
  animation-duration: 50s;
}

.slide-1 .ring-1 {
  border-color: rgba(56, 189, 248, 0.18);
}

.slide-2 .ring-1 {
  border-color: rgba(52, 211, 153, 0.18);
}

.slide-3 .ring-1 {
  border-color: rgba(245, 158, 11, 0.18);
}

@keyframes spinRing {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* Float cards */
.float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  padding: 12px 18px;
  color: #fff;
  font-size: 13px;
  opacity: 0;
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
  white-space: nowrap;
  font-family: var(--font-body);
}

.float-card i {
  font-size: 20px;
}

.slide-1 .float-card i {
  color: var(--slide1-accent);
}

.slide-2 .float-card i {
  color: var(--slide2-accent);
}

.slide-3 .float-card i {
  color: var(--slide3-accent);
}

.float-card div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.float-card strong {
  font-weight: 600;
  font-size: 13px;
}

.float-card span {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
}

.card-a {
  top: 25%;
  right: 12%;
  transform: translateY(20px);
  transition-delay: 0.55s;
}

.card-b {
  bottom: 28%;
  right: 6%;
  transform: translateY(20px);
  transition-delay: 0.8s;
}

.slide.active .float-card {
  opacity: 1;
  transform: translateY(0);
}

.slide.active .card-a {
  animation: floatA 4s ease-in-out 1.2s infinite alternate;
}

.slide.active .card-b {
  animation: floatB 4.5s ease-in-out 1.5s infinite alternate;
}

@keyframes floatA {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-10px);
  }
}

@keyframes floatB {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(8px);
  }
}

/* Arrow buttons */
.arrow-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s,
    border-color 0.2s,
    transform 0.2s;
  line-height: 1;
  padding: 0;
  outline: none;
}

.arrow-btn:hover {
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.55);
  transform: translateY(-50%) scale(1.08);
}

.arrow-btn:active {
  transform: translateY(-50%) scale(0.96);
}

.arrow-prev {
  left: 1.5rem;
}

.arrow-next {
  right: 1.5rem;
}

/* Arrow SVG icons */
.arrow-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #fff;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Dots */
.slider-dots {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 100px;
  border: none;
  background: rgba(255, 255, 255, 0.38);
  cursor: pointer;
  transition:
    width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.3s;
  padding: 0;
  outline: none;
}

.dot.active {
  width: 30px;
  background: #fff;
}

/* Progress bar */
.progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.55);
  z-index: 10;
  width: 0%;
  transition: none;
}

/* Tabler icon override */
.ti {
  font-family: "tabler-icons" !important;
  font-style: normal;
}

/* ===== SECTION SHARED ===== */

section:nth-child(even) {
  background: var(--white);
}

.section-header {
  text-align: center;
  margin-bottom: 56px;
}

.section-tag {
  display: inline-block;
  color: var(--orange);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
}

.section-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  font-weight: 800;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 14px;
}

.section-title span {
  color: var(--blue);
}

.section-desc {
  color: var(--gray);
  font-size: 1rem;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

/* =============================================
       ANNOUNCEMENT BAR
       ============================================= */

.ann-wrap {
  width: 100%;
  background: #0f1e3d;
  border-bottom: 1px solid rgba(56, 189, 248, 0.18);
  font-family: "DM Sans", sans-serif;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
}

.ann-wrap.hidden {
  display: none;
}

.ann-inner {
  display: flex;
  align-items: center;
  height: 58px;
}

/* ---- Badge ---- */
.ann-badge {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 16px 0 14px;
  height: 100%;
  background: var(--orange);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0a1628;
  white-space: nowrap;
  z-index: 2;
}

.ann-badge i {
  font-size: 14px;
}

/* ---- Ticker Track ---- */
.ann-track-wrap {
  flex: 1;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

/* Fade edges */
.ann-track-wrap::before,
.ann-track-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 32px;
  z-index: 2;
  pointer-events: none;
}

.ann-track-wrap::before {
  left: 0;
  background: linear-gradient(90deg, #f47c20, transparent);
}

.ann-track-wrap::after {
  right: 0;
  background: linear-gradient(270deg, #0f1e3d, transparent);
}

.ann-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: ticker 38s linear infinite;
  will-change: transform;
}

.ann-track:hover {
  animation-play-state: paused;
}

@keyframes ticker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* ---- Items ---- */
.ann-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 28px;
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  cursor: default;
  transition: color 0.2s;
  height: 38px;
  cursor: pointer;
}

.ann-item:hover {
  color: #fff;
}

.ann-item:hover .ann-item-icon {
  color: #38bdf8;
}

.ann-item-icon {
  font-size: 14px;
  color: rgba(56, 189, 248, 0.7);
  transition: color 0.2s;
  flex-shrink: 0;
}

/* ---- Pills ---- */
.ann-pill {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 100px;
  margin-left: 6px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  flex-shrink: 0;
}

.pill-hot {
  background: rgba(239, 68, 68, 0.18);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.pill-new {
  background: rgba(52, 211, 153, 0.18);
  color: #6ee7b7;
  border: 1px solid rgba(52, 211, 153, 0.3);
}

.pill-deal {
  background: rgba(251, 191, 36, 0.18);
  color: #fde68a;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.pill-sale {
  background: rgba(167, 139, 250, 0.18);
  color: #c4b5fd;
  border: 1px solid rgba(167, 139, 250, 0.3);
}

/* ---- Close Button ---- */
.ann-close {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: none;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
  font-size: 16px;
  z-index: 2;
}

.ann-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* ===== DESTINATIONS ===== */

/* ===== BRANDS SECTION ===== */
.brands-section {
  padding: 6px 24px;
  background: var(--white);
}

.brands-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  font-size: 20px;
}

.brands-tab {
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 500;
  border: 1.5px solid var(--border);
  color: var(--text-muted);
  background: var(--bg);
  cursor: pointer;
  transition: all 0.18s;
}

.brands-tab.active {
  background: var(--blue-mid);
  color: #fff;
  border-color: var(--blue-mid);
  font-size: 20px;
}

.brands-tab:hover:not(.active) {
  border-color: var(--blue-mid);
  color: var(--blue-mid);
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 6px;
}

.brand-card {
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  transition: all 0.2s;
  cursor: pointer;
}

.brand-card:hover {
  border-color: var(--blue-mid);
  background: var(--blue-pale);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(24, 95, 165, 0.1);
}

.brand-logo-wrap {
  width: 68px;
  height: 68px;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  overflow: hidden;
}

.brand-logo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.brand-name {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text);
}

.brand-desc {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.brand-tag {
  font-size: 0.5rempx;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
}

/* ===== FLIGHTS ===== */
.flights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 8px;
}

.flight-card-1 {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  border: 1.5px solid #f0f4ff;
}

.flight-card-1:hover {
  transform: translateY(-5px);
  /* box-shadow: 0 14px 40px rgba(13, 30, 74, 0.14); */
  border-color: var(--blue);
}

.flight-route {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.flight-city {
  text-align: center;
}

.flight-city .code {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--navy);
  font-family: "Playfair Display", serif;
}

.flight-city .name {
  font-size: 0.75rem;
  color: var(--gray);
}

.flight-path {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.flight-line {
  flex: 1;
  height: 1px;
  background: #e5e7eb;
}

.flight-plane {
  color: var(--orange);
  font-size: 1.1rem;
}

.flight-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
}

.flight-price {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--orange);
}

.flight-price span {
  font-size: 0.75rem;
  color: var(--gray);
  font-weight: 400;
}

.flight-info {
  font-size: 0.78rem;
  color: var(--gray);
}

.flight-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.72rem;
  font-weight: 600;
}

.badge-direct {
  background: #dcfce7;
  color: #166534;
}

.badge-stop {
  background: #fef3c7;
  color: #92400e;
}
/**/
-------------------------------------------------------------------------------
/* .flight-airline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
} */

.airline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--blue);
}

.airline-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--navy);
}

/* ===== HOTELS ===== */
.hotels-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 8px;
}

.hotel-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
}

.hotel-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(13, 30, 74, 0.16);
}

.hotel-img {
  height: 190px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
}

.hotel-body {
  padding: 20px;
}

.hotel-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}

.hotel-loc {
  font-size: 0.8rem;
  color: var(--gray);
  margin-bottom: 10px;
}

.hotel-stars {
  color: #f59e0b;
  font-size: 0.85rem;
  margin-bottom: 12px;
}

.hotel-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hotel-price {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--orange);
}

.hotel-price span {
  font-size: 1rem;
  color: var(--gray);
  font-weight: 400;
}

.hotel-amenities {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.amenity-tag {
  background: #f0f4ff;
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 10px;
}

.btn-sm {
  background: var(--navy);
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  font-family: "DM Sans", sans-serif;
}

.btn-sm:hover {
  background: var(--orange);
}

/* ===== FERRIES ===== */
.ferries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 8px;
}

.ferry-card-1 {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  /* border-left: 4px solid var(--blue); */
}

.ferry-card-1:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(13, 30, 74, 0.14);
  border-left-color: var(--orange);
}

.ferry-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.ferry-icon {
  font-size: 2.2rem;
}

.ferry-badge {
  background: var(--blue);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
}

.ferry-route {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}

.ferry-info {
  font-size: 0.83rem;
  color: var(--gray);
  line-height: 1.6;
}

.ferry-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #f0f0f0;
}

.ferry-price {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--orange);
}

/* ===== TOUR PACKAGES ===== */
.tours-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 8px;
}

.tour-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
}

.tour-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 54px rgba(13, 30, 74, 0.16);
  cursor: pointer;
}

.tour-img {
  height: 200px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
}

.tour-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(13, 30, 74, 0.5) 0%,
    transparent 50%
  );
}

.tour-duration {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--navy);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.tour-highlight {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--orange);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
}

.tour-body {
  padding: 22px;
}

.tour-name {
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}

.tour-desc {
  font-size: 0.83rem;
  color: var(--gray);
  line-height: 1.6;
  margin-bottom: 16px;
}

.tour-includes {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.include-tag {
  background: var(--cream);
  color: var(--navy);
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 600;
}

.tour-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tour-price {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--orange);
}

.tour-price span {
  font-size: 0.72rem;
  color: var(--gray);
  font-weight: 400;
}

/* ===== FOOTER ===== */
footer {
  background: #ffffff;
  color: var(--text-muted);
  padding: 70px 20px 30px;
  border-top: 1px solid rgba(13, 27, 62, 0.08);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}

.footer-brand p {
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.8;
  margin-top: 16px;
  max-width: 320px;
}

.footer-col h4 {
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  position: relative;
}

.footer-col h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 25px;
  height: 2px;
  background: var(--orange);
  border-radius: 2px;
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-col ul a {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.25s ease;
  display: inline-block;
}

.footer-col ul a:hover {
  color: var(--orange);
  transform: translateX(4px);
}

.footer-bottom {
  border-top: 1px solid rgba(13, 27, 62, 0.08);
  padding-top: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.85rem;
  gap: 20px;
  color: var(--text-muted);
}

.footer-social {
  display: flex;
  gap: 12px;
}

.social-btn {
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  color: #fff;
}

.social-btn:hover {
  background: var(--orange);
  transform: translateY(-2px);
}

/* ===== FOR  my demo version ===== */

.section {
  padding: 20px 10%;
}
.section-why {
  padding: 20px 1%;
}

.sec-label {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 10px;
}

.sec-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: clamp(1.7rem, 3.5vw, 2.7rem);
  color: var(--navy);
  line-height: 1.18;
  margin-bottom: 14px;
}

.sec-title .hl {
  color: var(--blue);
}

.sec-title .ho {
  color: var(--orange);
}

.sec-sub {
  color: var(--gray);
  font-size: 0.97rem;
  line-height: 1.8;
  max-width: 540px;
}

.center {
  text-align: center;
}

.center .sec-sub {
  margin: 0 auto;
}

.services-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 8px;
}

.sov-card {
  background: var(--off-white);
  border-radius: 18px;
  padding: 28px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.sov-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  opacity: 0;
  transition: opacity 0.35s;
  border-radius: 16px;
}

.sov-card:hover {
  transform: translateY(-8px);
  border-color: var(--blue-light);
  box-shadow: 0 18px 45px rgba(26, 111, 196, 0.15);
}

.sov-card:hover::before {
  opacity: 1;
}

.sov-icon {
  font-size: 2.4rem;
  margin-bottom: 14px;
  display: block;
  position: relative;
  z-index: 1;
  transition: transform 0.35s;
}

.sov-card:hover .sov-icon {
  transform: scale(1.15) rotate(-5deg);
}

.sov-name {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--navy);
  position: relative;
  z-index: 1;
  transition: color 0.35s;
}

.sov-card:hover .sov-name {
  color: #fff;
}

.sov-sub {
  font-size: 1rem;
  color: var(--gray);
  margin-top: 5px;
  position: relative;
  z-index: 1;
  transition: color 0.35s;
}

.sov-card:hover .sov-sub {
  color: rgba(255, 255, 255, 0.72);
}

/*********************************** Flight Page css start ************************************************************/

.hero {
  margin-top: 0px;
  display: flex;
  width: 100%;
  height: 240px;
}

.hero .left {
  height: 100%;
  width: 100%;
  border: 1px solid;
  margin-top: 10px;
  /* display:grid;
  box-direction: row; */
}

.left .content {
  padding: 20px;
  /* display: flex; */
  /* flex-direction: column; */
  /* gap: 12px; */
  overlay: auto;
  text-align: center;
  z-index: 100;
}

.content p {
  font-size: 1rem;
  color: var(--gray);
}

.left .content a {
  text-decoration: none;
  font-size: 0.75rem;
  color: var(--blue);
}

.hero .hero-image {
  width: 100px;
  height: 100%;
  background-repeat: no-repeat;
  object-fit: contain;
}

/*********************************** why us  ************************************************************/
/* ===== WHY US ===== */
.why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}

.why-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 24px;
  transition: box-shadow 0.2s;
}

.why-card:hover {
  box-shadow: 0 8px 24px rgba(24, 95, 165, 0.09);
}

.why-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 16px;
}

.why-card h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}

.why-card p {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.65;
}

/*======================Flight page Hero — matches hotels/destination hero =======================*/

/* ── Full-bleed section wrapper ── */
.hero-flight {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--navy); /* fallback while image loads */
}

/* ── Background image container (absolute, fills section) ── */
.hero-flight .hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* ── Gradient overlay — same 135° as hotels / destination ── */
.hero-flight .hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.92) 0%,
    rgba(21, 101, 192, 0.55) 65%,
    rgba(13, 30, 74, 0.45) 100%
  );
}

/* ── Background image covers the full section ── */
.hero-flight .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ── Centred content column ── */
.hero-flight .hero-content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  text-align: center;          /* centred — matches hotels */
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

/* ── Kicker badge (same pattern as .hotels-hero-kicker) ── */
.hero-flight-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

/* ── Headline ── */
.hero-flight h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--white);
  font-weight: 800;
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

/* ── Orange accent word inside headline ── */
.hero-flight-accent {
  color: var(--orange-light);
}

/* ── Subtitle ── */
.hero-flight p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  max-width: 640px;
  margin: 0 auto 36px;
}

/* ── CTA button ── */
.hero-flight .hero-btn {
  display: inline-block;
  background: var(--orange);
  color: var(--white);
  padding: 16px 44px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: var(--transition);
  box-shadow: 0 8px 24px rgba(240, 120, 32, 0.35);
}

.hero-flight .hero-btn:hover {
  background: var(--orange-light);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(240, 120, 32, 0.5);
}

/* ════════════════════ ETIHAD BRAND PAGE ════════════════════ */
.brand-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 140px 20px 80px;
  object-fit: cover;
  background-repeat: no-repeat;
}

.brand-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.95) 0%,
    rgba(21, 101, 192, 0.6) 100%
  );
  z-index: 1;
}

.brand-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  color: var(--white);
  animation: fade-up 0.8s ease-out both;
}

.brand-logo-wrapper {
  margin-bottom: 24px;
}

.brand-logo-placeholder {
  display: inline-block;
  font-family: "Fraunces", serif;
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: 4px;
  color: #c29b62; /* Etihad gold */
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  padding: 10px 40px;
  border: 1px solid rgba(194, 155, 98, 0.5);
  border-radius: 8px;
}

.brand-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  margin-bottom: 20px;
  line-height: 1.1;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.brand-hero-content p {
  font-size: clamp(1.1rem, 2vw, 1.25rem);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 40px;
  max-width: 700px;
  margin-inline: auto;
}

.brand-stats {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.brand-stat {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(8px);
  padding: 10px 24px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-stat .stat-text {
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
}

/* COUPONS SECTION */
.coupons-section {
  padding: 80px 20px;
  background-color: var(--light);
}

.coupons-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 50px;
}

.coupons-header h2 {
  font-family: "Fraunces", serif;
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 16px;
}

.coupons-header p {
  font-size: 1.1rem;
  color: var(--gray);
}

.coupons-grid {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.coupon-card {
  display: flex;
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(13, 30, 74, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.coupon-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.12);
}

.coupon-left {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--white);
  padding: 20px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  text-align: center;
  border-right: 2px dashed rgba(255, 255, 255, 0.3);
}

.coupon-discount {
  font-family: "Fraunces", serif;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
}

.coupon-discount span {
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "DM Sans", sans-serif;
}

.coupon-center {
  padding: 20px 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.coupon-center h3 {
  font-size: 1.4rem;
  color: var(--navy);
  margin-bottom: 10px;
}

.coupon-center p {
  color: var(--gray);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 16px;
}

.coupon-meta {
  display: flex;
  gap: 16px;
  font-size: 0.85rem;
  font-weight: 600;
}

.coupon-verified {
  color: #10b981; /* Green */
  background: rgba(16, 185, 129, 0.1);
  padding: 4px 10px;
  border-radius: 4px;
}

.coupon-uses {
  color: var(--orange);
  background: rgba(240, 120, 32, 0.1);
  padding: 4px 10px;
  border-radius: 4px;
}

.coupon-right {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 200px;
  background: var(--cream2);
  border-left: 1px solid rgba(0, 0, 0, 0.05);
}

.coupon-code {
  background: var(--white);
  border: 2px dashed var(--gray);
  padding: 10px 20px;
  border-radius: 8px;
  font-family: monospace;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 1px;
}

.coupon-btn {
  background: var(--orange);
  color: var(--white);
  border: none;
  padding: 12px 24px;
  border-radius: 30px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  transition: background 0.3s ease;
}

.coupon-btn:hover {
  background: var(--orange-light);
}

/* ── Brand Info Section — two-column split layout ── */
.brand-info-section {
  padding: 60px 20px;
  background: var(--white);
}

.brand-info-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Two-column split */
.brand-split-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

/* Left: Image */
.brand-split-img {
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
}

.brand-full-img {
  width: 100%;
  height: auto; /* preserves natural aspect ratio — no cropping */
  display: block;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(13, 30, 74, 0.1);
}

.brand-img-caption {
  margin-top: 10px;
  font-size: 0.82rem;
  color: var(--gray);
  letter-spacing: 0.04em;
  text-align: center;
}

/* Right: Content */
.brand-split-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.brand-split-info h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--navy);
  line-height: 1.1;
}

.brand-split-info > p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--gray);
}

/* Quick facts list */
.brand-quick-facts {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 4px;
}

.brand-quick-facts li {
  display: flex;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--light);
  font-size: 0.95rem;
  color: var(--navy);
}

.brand-quick-facts li:last-child {
  border-bottom: none;
}

.brand-quick-facts strong {
  min-width: 90px;
  color: #c29b62;
  font-weight: 700;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 2px;
}

@media (max-width: 768px) {
  .brand-split-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.info-features {
  background: var(--cream);
  padding: 30px;
  border-radius: 16px;
  border-left: 4px solid #c29b62;
}

.info-features ul {
  list-style: none;
}

.info-features li {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  color: var(--navy);
}

.info-features li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.info-features strong {
  display: block;
  font-size: 0.9rem;
  color: var(--gray);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (max-width: 900px) {
  .coupon-card {
    flex-direction: column;
  }
  .coupon-left {
    min-height: 120px;
    border-right: none;
    border-bottom: 2px dashed rgba(255, 255, 255, 0.3);
  }
  .coupon-right {
    border-left: none;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }
  .brand-info-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Coupon Reveal Interaction (etihad.html) ── */
.coupon-code.coupon-hidden {
  position: relative;
  overflow: hidden;
  user-select: none;
}

.coupon-code.coupon-hidden span {
  filter: blur(6px);
  color: var(--navy);
  transition: filter 0.4s ease;
}

.coupon-code.coupon-hidden::after {
  content: "Click to Reveal";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--gray);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  pointer-events: none;
}

.coupon-code.coupon-revealed span {
  filter: blur(0);
  animation: pop-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes pop-in {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* ── Brand Info Section — enriched layout ── */
.brand-info-heading {
  text-align: center;
  margin-bottom: 50px;
}

.brand-info-kicker {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c29b62;
  margin-bottom: 12px;
}

.brand-info-heading h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: var(--navy);
  margin-bottom: 14px;
}

.brand-info-intro {
  font-size: 1.1rem;
  color: var(--gray);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Image wrapper */
.brand-image-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 50px rgba(13, 30, 74, 0.14);
}

.brand-aircraft-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.brand-image-wrapper:hover .brand-aircraft-img {
  transform: scale(1.03);
}

.brand-image-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(13, 30, 74, 0.85);
  backdrop-filter: blur(8px);
  color: #c29b62;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 30px;
  border: 1px solid rgba(194, 155, 98, 0.3);
}

/* Details column */
.brand-details {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.info-features h3,
.brand-cabins h3 {
  font-family: "Fraunces", serif;
  font-size: 1.3rem;
  color: var(--navy);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #c29b62;
  display: inline-block;
}

/* Cabin grid */
.brand-cabins {
  background: var(--light);
  padding: 24px;
  border-radius: 16px;
}

.cabin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.cabin-item {
  background: var(--white);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: var(--transition);
}

.cabin-item:hover {
  border-color: #c29b62;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(194, 155, 98, 0.12);
}

.cabin-icon {
  font-size: 1.6rem;
  margin-bottom: 4px;
}

.cabin-item strong {
  font-size: 0.95rem;
  color: var(--navy);
}

.cabin-item span {
  font-size: 0.82rem;
  color: var(--gray);
}

/* Description block */
.brand-description {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding-top: 30px;
  border-top: 1px solid var(--light);
}

.brand-description p {
  font-size: 1rem;
  color: var(--navy);
  line-height: 1.8;
}

@media (max-width: 768px) {
  .cabin-grid {
    grid-template-columns: 1fr;
  }
  .brand-description {
    grid-template-columns: 1fr;
  }
}

/*====================Privacy policy css start here==========================*/
.privacy-policy {
  padding: 120px 20px 60px;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
  min-height: 100vh;
}

.privacy-container {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Header */
.privacy-header {
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--orange);
}

.privacy-header h1 {
  font-size: 3rem;
  color: var(--navy);
  margin-bottom: 12px;
  font-weight: 800;
}

.last-updated {
  color: var(--gray);
  font-size: 0.9rem;
  margin-bottom: 20px;
  font-style: italic;
}

.intro-text {
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--navy);
  max-width: 800px;
  margin: 0 auto;
}

/* Table of Contents */
.privacy-toc {
  background: var(--white);
  padding: 30px;
  border-radius: 16px;
  box-shadow: var(--card-shadow);
  margin-bottom: 40px;
  border-left: 4px solid var(--orange);
}

.privacy-toc h3 {
  color: var(--navy);
  font-size: 1.3rem;
  margin-bottom: 16px;
  font-weight: 700;
}

.privacy-toc ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
}

.privacy-toc ul li a {
  color: var(--blue);
  text-decoration: none;
  font-size: 0.95rem;
  transition: var(--transition);
  display: block;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 500;
}

.privacy-toc ul li a:hover {
  background: var(--cream);
  color: var(--orange);
  transform: translateX(5px);
}

/* Privacy Sections */
.privacy-section {
  background: var(--white);
  padding: 40px;
  border-radius: 16px;
  box-shadow: var(--card-shadow);
  margin-bottom: 30px;
  scroll-margin-top: 100px;
}

.privacy-section h2 {
  color: var(--navy);
  font-size: 2rem;
  margin-bottom: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
}

.section-number {
  color: var(--orange);
  font-size: 2.2rem;
  font-weight: 800;
}

.privacy-content h3 {
  color: var(--navy);
  font-size: 1.3rem;
  margin-top: 28px;
  margin-bottom: 16px;
  font-weight: 600;
}

.privacy-content h4 {
  color: var(--blue);
  font-size: 1.1rem;
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 600;
}

.privacy-content p {
  color: var(--navy);
  line-height: 1.8;
  margin-bottom: 16px;
  font-size: 1rem;
}

.privacy-content ul {
  margin: 16px 0;
  padding-left: 24px;
}

.privacy-content ul li {
  color: var(--navy);
  line-height: 1.8;
  margin-bottom: 12px;
  font-size: 0.98rem;
}

.privacy-content ul li strong {
  color: var(--blue);
  font-weight: 600;
}

/* Highlight Section */
.highlight-section {
  border: 2px solid var(--orange);
  /* background: linear-gradient(135deg, var(--cream2) 0%, var(--white) 100%); */
}

/* Info Boxes */
.info-box {
  background: var(--cream);
  padding: 20px 24px;
  border-radius: 12px;
  border-left: 4px solid var(--blue);
  margin: 24px 0;
}

.info-box h3,
.info-box h4 {
  color: var(--navy);
  margin-top: 0;
  margin-bottom: 12px;
}

.info-box p {
  margin-bottom: 0;
  color: var(--navy);
}

.warning-box {
  background: #fff3e0;
  border-left-color: var(--orange);
}

/* Cookie Types */
.cookie-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.cookie-card {
  background: var(--white);
  padding: 20px;
  border-radius: 10px;
  border: 2px solid var(--light);
  transition: var(--transition);
}

.cookie-card:hover {
  border-color: var(--orange);
  transform: translateY(-3px);
}

.cookie-card h4 {
  color: var(--navy);
  margin: 0 0 10px 0;
  font-size: 1rem;
}

.cookie-card p {
  color: var(--gray);
  font-size: 0.88rem;
  margin: 0;
  line-height: 1.6;
}

/* Security Grid */
.security-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.security-item {
  text-align: center;
  padding: 24px;
  background: var(--cream2);
  border-radius: 12px;
  transition: var(--transition);
}

.security-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(13, 30, 74, 0.1);
}

.security-icon {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 12px;
}

.security-item h4 {
  color: var(--navy);
  margin: 0 0 8px 0;
  font-size: 1rem;
}

.security-item p {
  color: var(--gray);
  font-size: 0.88rem;
  margin: 0;
}

/* Rights List */
.rights-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
  margin: 24px 0;
}

.right-item {
  background: var(--light);
  padding: 20px;
  border-radius: 10px;
  border-left: 4px solid var(--orange);
  transition: var(--transition);
}

.right-item:hover {
  background: var(--cream);
  transform: translateX(5px);
}

.right-item h4 {
  color: var(--navy);
  margin: 0 0 8px 0;
  font-size: 1.05rem;
}

.right-item p {
  color: var(--gray);
  font-size: 0.9rem;
  margin: 0;
}

/* Contact Info */
.contact-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin: 30px 0;
}

.contact-method {
  background: var(--cream2);
  padding: 24px;
  border-radius: 12px;
  text-align: center;
  border: 2px solid var(--light);
}

.contact-method h4 {
  color: var(--navy);
  margin: 0 0 12px 0;
  font-size: 1.2rem;
}

.contact-method p {
  color: var(--gray);
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.contact-method a {
  color: var(--blue);
  text-decoration: none;
  font-weight: 600;
  transition: var(--transition);
}

.contact-method a:hover {
  color: var(--orange);
}

/* Privacy CTA */
.privacy-cta {
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  padding: 50px 40px;
  border-radius: 16px;
  text-align: center;
  margin-top: 50px;
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.2);
}

.privacy-cta h3 {
  color: var(--white);
  text-align: center;
  margin-bottom: 12px;
  font-weight: 700;
}

.privacy-cta p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: auto auto 250px auto;
  max-width: 600px;
}

.cta-button {
  display: inline-block;
  background: var(--orange);
  color: var(--white);
  padding: 16px 40px;
  margin: 20px 0 0 250px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.05rem;
  transition: var(--transition);
  box-shadow: 0 4px 16px rgba(240, 120, 32, 0.3);
}

.cta-button:hover {
  background: var(--orange-light);
  transform: translateY(-3px);

  box-shadow: 0 6px 24px rgba(240, 120, 32, 0.4);
}

/* ===== TERMS PAGE ENHANCEMENTS ===== */
.terms-policy {
  --terms-ink: var(--navy);
  --terms-accent: var(--blue);
  --terms-accent-soft: var(--cream2);
  --terms-sand: var(--cream);
  font-family: "Manrope", "DM Sans", sans-serif;
  position: relative;
  background: linear-gradient(
    180deg,
    var(--cream) 0%,
    var(--white) 45%,
    var(--light) 100%
  );
}

.terms-header {
  text-align: left;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 34px;
  max-width: 880px;
}

.terms-kicker {
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.72rem;
  color: var(--orange);
  font-weight: 700;
  margin-bottom: 12px;
}

.terms-policy .privacy-header h1 {
  font-family: "Fraunces", serif;
  font-size: 3.4rem;
  color: var(--terms-ink);
  margin-bottom: 10px;
  line-height: 1.05;
}

.terms-policy .last-updated {
  margin-bottom: 16px;
  color: var(--gray);
}

.terms-policy .intro-text {
  margin: 0;
  color: var(--navy);
  font-size: 1.05rem;
  max-width: 700px;
}

.terms-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) 2.1fr;
  gap: 36px;
  align-items: start;
}

.terms-side {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 18px;
}

.terms-side .privacy-toc {
  margin-bottom: 0;
  border-left: none;
  border-top: 3px solid var(--blue);
}

.terms-side .privacy-toc h3 {
  font-family: "Fraunces", serif;
  font-size: 1.2rem;
}

.terms-side .privacy-toc ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.terms-side .privacy-toc ul li a {
  background: var(--white);
  border: 1px solid var(--light);
  padding: 10px 12px;
  border-radius: 10px;
}

.terms-side .privacy-toc ul li a:hover {
  background: var(--cream);
  color: var(--blue);
  transform: translateX(0);
}

.terms-side-card {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: 14px;
  padding: 18px 18px 20px;
  box-shadow: var(--card-shadow);
}

.terms-side-card h4 {
  font-family: "Fraunces", serif;
  color: var(--terms-ink);
  margin-bottom: 10px;
  font-size: 1.05rem;
}

.terms-side-card p {
  color: var(--gray);
  font-size: 0.92rem;
  margin-bottom: 12px;
  line-height: 1.6;
}

.terms-side-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
}

.terms-side-link:hover {
  color: var(--orange);
}

.terms-main .privacy-section {
  border: 1px solid var(--light);
  box-shadow: var(--card-shadow);
  position: relative;
}

.terms-main .privacy-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, var(--orange) 0%, var(--light) 100%);
  border-radius: 16px 0 0 16px;
}

.terms-policy .privacy-section h2 {
  color: var(--terms-ink);
  font-family: "Fraunces", serif;
  font-size: 1.9rem;
}

.terms-policy .section-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--cream2);
  color: var(--blue);
  font-size: 1.2rem;
}

.terms-policy .privacy-content h3 {
  font-family: "Fraunces", serif;
  color: var(--terms-ink);
}

.terms-policy .privacy-content h4 {
  color: var(--blue);
}

.terms-policy .privacy-content p {
  color: var(--navy);
}

.terms-policy .privacy-content ul {
  list-style: none;
  padding-left: 0;
}

.terms-policy .privacy-content ul li {
  position: relative;
  padding-left: 26px;
}

.terms-policy .privacy-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--blue);
  box-shadow: 0 0 0 3px var(--cream);
}

.terms-policy .info-box {
  border-left-color: var(--blue);
  background: var(--cream);
}

.terms-policy .privacy-cta {
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  text-align: left;
  padding: 46px 44px;
}

.terms-policy .privacy-cta h3 {
  font-family: "Fraunces", serif;
  font-size: 1.9rem;
}

.terms-policy .cta-button {
  border-radius: 12px;
}

@keyframes terms-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.terms-main .privacy-section {
  animation: terms-rise 0.7s ease both;
}

.terms-main .privacy-section:nth-of-type(1) {
  animation-delay: 0.05s;
}

.terms-main .privacy-section:nth-of-type(2) {
  animation-delay: 0.1s;
}

.terms-main .privacy-section:nth-of-type(3) {
  animation-delay: 0.15s;
}

.terms-main .privacy-section:nth-of-type(4) {
  animation-delay: 0.2s;
}

.terms-main .privacy-section:nth-of-type(5) {
  animation-delay: 0.25s;
}

.terms-main .privacy-section:nth-of-type(6) {
  animation-delay: 0.3s;
}

.terms-main .privacy-section:nth-of-type(7) {
  animation-delay: 0.35s;
}

.terms-main .privacy-section:nth-of-type(8) {
  animation-delay: 0.4s;
}

/* ═════════════════════════════════════════════════════════════
           FLIGHTS PAGE STYLES
        ═════════════════════════════════════════════════════════════ */

/* ===== FLIGHT CARDS SECTION ===== */
.flight-container {
  padding: 1% 10%;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

.flight-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.flight-section-header h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 12px;
  font-weight: 800;
}

.flight-section-header p {
  font-size: 1.1rem;
  color: var(--gray);
}

.flight-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.flight-card {
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  cursor: pointer;
}

.flight-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.15);
}

.flight-card-image {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.flight-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.flight-card:hover .flight-card-image img {
  transform: scale(1.1);
}

.flight-price-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--orange);
  color: var(--white);
  padding: 8px 16px;
  border-radius: 25px;
  font-weight: 700;
  font-size: 0.95rem;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
}

.flight-card-content {
  padding: 20px;
}

.flight-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 8px;
}

.from-city,
.to-city {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--navy);
}

.flight-icon {
  font-size: 1.2rem;
  color: var(--orange);
}

.flight-airline {
  font-size: 1rem;
  color: var(--orange);
  margin-bottom: 12px;
  font-weight: 800;
}

.flight-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--light);
}

.flight-duration {
  font-size: 0.85rem;
  color: var(--gray);
}

.flight-type {
  background: var(--cream);
  color: var(--blue);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 600;
}

.flight-view-btn {
  width: 100%;
  padding: 12px;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
}

.flight-view-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
}

/* ===== FLIGHT ABOUT SECTION ===== */
.flight-about-section {
  padding: 1% 10%;
  background: var(--white);
}
.flight-about-section-1{
 padding: 8px 10px;
 /* width: 90%;`` */

}

.flight-about-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.flight-about-content h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 16px;
  font-weight: 800;
  line-height: 1.2;
}

.flight-about-intro {
  font-size: 1.1rem;
  color: var(--gray);
  margin-bottom: 40px;
  line-height: 1.6;
}

.flight-about-features {
  display: grid;
  gap: 28px;
}

.flight-feature-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.feature-icon {
  font-size: 2.5rem;
  flex-shrink: 0;
  background: var(--cream);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 2px solid var(--orange);
}

.flight-feature-item h3 {
  font-size: 1.2rem;
  color: var(--navy);
  margin-bottom: 8px;
  font-weight: 700;
}

.flight-feature-item p {
  font-size: 0.95rem;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

.flight-about-image {
  position: relative;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.15);
}

.flight-about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.flight-about-image:hover img {
  transform: scale(1.05);
}

/* ===== LATEST OFFERS SECTION WITH FLIP ANIMATION ===== */
.latest-offers-section {
  padding: 80px 20px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
}

.offers-header {
  text-align: center;
  margin-bottom: 50px;
}

.offers-header h2 {
  font-size: 2.5rem;
  color:var(--navy);
  margin-bottom: 12px;
  font-weight: 800;
}

.offers-header p {
  font-size: 1.1rem;
  color: black;
}

.offers-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* Flip Card Animation */
.offer-card {
  position: relative;
  height: 400px;
  perspective: 1000px;
  cursor: pointer;
}

.offer-front,
.offer-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 16px;
  padding: 30px;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.offer-front {
  background: linear-gradient(135deg, var(--white) 0%, var(--cream) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 2;
  transform: rotateY(0deg);
}

.offer-back {
  background: linear-gradient(
    135deg,
    var(--orange) 0%,
    var(--orange-light) 100%
  );
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: rotateY(180deg);
}

.offer-card:hover .offer-front {
  transform: rotateY(-180deg);
}

.offer-card:hover .offer-back {
  transform: rotateY(0deg);
}

/* Offer Front Styles */
.offer-badge {
  background: var(--orange);
  color: var(--white);
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 700;
  width: fit-content;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
}

.offer-destination {
  text-align: center;
  margin: 20px 0;
}

.offer-destination h3 {
  font-size: 1.8rem;
  color: var(--navy);
  margin-bottom: 8px;
  font-weight: 800;
}

.offer-route {
  font-size: 1rem;
  color: var(--gray);
  font-weight: 600;
}

.offer-price {
  text-align: center;
  margin: 20px 0;
}

.old-price {
  display: block;
  font-size: 1.2rem;
  color: var(--gray);
  text-decoration: line-through;
  margin-bottom: 8px;
}

.new-price {
  display: block;
  font-size: 3rem;
  color: var(--orange);
  font-weight: 800;
}

.offer-discount {
  text-align: center;
  background: var(--blue);
  color: var(--white);
  padding: 10px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1rem;
}

/* Offer Back Styles */
.offer-back h4 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 800;
}

.offer-details-list {
  list-style: none;
  padding: 0;
  margin: 0 0 25px 0;
}

.offer-details-list li {
  padding: 10px 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  line-height: 1.6;
}

.offer-details-list li:last-child {
  border-bottom: none;
}

.offer-book-btn {
  width: 100%;
  padding: 14px;
  background: var(--white);
  color: var(--orange);
  border: none;
  border-radius: 30px;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.offer-book-btn:hover {
  background: var(--navy);
  color: var(--white);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}



/* ═════════════════════════════════════════════════════════════
           DESTINATION PAGE STYLES
        ═════════════════════════════════════════════════════════════ */

/* ===== DESTINATION HERO — Premium Full-Bleed ===== */
.dest-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* .dest-hero-bg {
  position: absolute;
  inset: 0;
  background-image: url("https://images.unsplash.com/photo-1488646953014-85cb44e25828?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 0;
  transform: scale(1.04);
} */

.dest-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.88) 0%,
    rgba(21, 101, 192, 0.55) 60%,
    rgba(13, 30, 74, 0.4) 100%
  );
  z-index: 1;
}

.dest-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 860px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

.dest-hero-kicker {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.4);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

.dest-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 22px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.dest-hero-accent {
  color: var(--orange-light);
}

.dest-hero-content > p {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 620px;
  margin: 0 auto 36px;
}

/* Search bar */
.dest-hero-search {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50px;
  padding: 8px 8px 8px 20px;
  max-width: 600px;
  margin: 0 auto 44px;
  gap: 10px;
}

.dest-hero-search .search-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

.dest-hero-search input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--white);
  font-size: 0.95rem;
  font-family: "DM Sans", sans-serif;
}

.dest-hero-search input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.dest-search-btn {
  background: var(--orange);
  color: var(--white);
  padding: 12px 28px;
  border-radius: 40px;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: var(--transition);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(240, 120, 32, 0.4);
}

.dest-search-btn:hover {
  background: var(--orange-light);
  transform: translateY(-2px);
}

/* Stats strip */
.dest-hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 20px 36px;
  max-width: 780px;
  margin: 0 auto;
}

.dest-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 28px;
}

.dest-stat strong {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}

.dest-stat span {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.dest-stat-divider {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.18);
}



/* ===== DESTINATION CARDS SECTION ===== */
.destination-container {
  padding: 1% 10%;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

.destination-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.destination-section-header h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 12px;
  font-weight: 800;
}

.destination-section-header p {
  font-size: 1.1rem;
  color: var(--gray);
}

.destination-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.destination-card {
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  cursor: pointer;
}

.destination-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 48px rgba(13, 30, 74, 0.2);
}

.destination-card-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.destination-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.destination-card:hover .destination-card-image img {
  transform: scale(1.15);
}

.destination-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(13, 30, 74, 0.7) 100%
  );
  display: flex;
  align-items: flex-end;
  padding: 16px;
}

.destination-country {
  color: var(--white);
  font-size: 0.85rem;
  font-weight: 600;
  background: rgba(240, 120, 32, 0.9);
  padding: 6px 14px;
  border-radius: 20px;
  letter-spacing: 0.5px;
}

.destination-card-content {
  padding: 20px;
}

.destination-name {
  font-size: 1.5rem;
  color: var(--navy);
  margin-bottom: 10px;
  font-weight: 800;
}

.destination-description {
  font-size: 0.9rem;
  color: var(--gray);
  line-height: 1.6;
  margin-bottom: 16px;
  min-height: 60px;
}

.destination-stats {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 12px;
  background: var(--cream);
  border-radius: 8px;
}

.stat-item {
  font-size: 0.8rem;
  color: var(--blue);
  font-weight: 600;
}

.destination-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-top: 12px;
  border-top: 2px solid var(--light);
}

.price-label {
  font-size: 0.85rem;
  color: var(--gray);
  font-weight: 500;
}

.price-value {
  font-size: 1.8rem;
  color: var(--orange);
  font-weight: 800;
}

.destination-view-btn {
  width: 100%;
  padding: 12px;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
}

.destination-view-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(13, 30, 74, 0.3);
}

/* ===== DESTINATION ABOUT SECTION ===== */
.destination-about-section {
  padding: 1% 10%;
  background: var(--white);
}

.destination-about-container {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.destination-about-content h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 16px;
  font-weight: 800;
  line-height: 1.2;
}

.destination-about-intro {
  font-size: 1.1rem;
  color: var(--gray);
  margin-bottom: 40px;
  line-height: 1.6;
}

.destination-about-features {
  display: grid;
  gap: 28px;
}

.destination-feature-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.destination-feature-item .feature-icon {
  font-size: 2.5rem;
  flex-shrink: 0;
  background: var(--cream);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 2px solid var(--orange);
}

.destination-feature-item h3 {
  font-size: 1.2rem;
  color: var(--navy);
  margin-bottom: 8px;
  font-weight: 700;
}

.destination-feature-item p {
  font-size: 0.95rem;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

.destination-about-image {
  position: relative;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.15);
}

.destination-about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.destination-about-image:hover img {
  transform: scale(1.05);
}

/* ===== DESTINATION DEALS SECTION WITH FLIP ANIMATION ===== */
.destination-deals-section {
  padding: 80px 20px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
}

.deals-header {
  text-align: center;
  margin-bottom: 50px;
}

.deals-header h2 {
  font-size: 2.5rem;
  color: var(--white);
  margin-bottom: 12px;
  font-weight: 800;
}

.deals-header p {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
}

.deals-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* Flip Card Animation for Deals */
.deal-card {
  position: relative;
  height: 480px;
  perspective: 1000px;
  cursor: pointer;
}

.deal-front,
.deal-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 16px;
  padding: 24px;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.deal-front {
  background: linear-gradient(135deg, var(--white) 0%, var(--cream) 100%);
  display: flex;
  flex-direction: column;
  z-index: 2;
  transform: rotateY(0deg);
}

.deal-back {
  background: linear-gradient(
    135deg,
    var(--orange) 0%,
    var(--orange-light) 100%
  );
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: rotateY(180deg);
}

.deal-card:hover .deal-front {
  transform: rotateY(-180deg);
}

.deal-card:hover .deal-back {
  transform: rotateY(0deg);
}

/* Deal Front Styles */
.deal-badge {
  background: var(--orange);
  color: var(--white);
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 700;
  width: fit-content;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
  margin-bottom: 16px;
}

.deal-destination {
  text-align: center;
  margin-bottom: 16px;
}

.deal-destination h3 {
  font-size: 1.6rem;
  color: var(--navy);
  margin-bottom: 6px;
  font-weight: 800;
}

.deal-duration {
  font-size: 0.9rem;
  color: var(--gray);
  font-weight: 600;
}

.deal-image-preview {
  width: 100%;
  height: 160px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
}

.deal-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.deal-price {
  text-align: center;
  margin-bottom: 12px;
}

.deal-old-price {
  display: block;
  font-size: 1rem;
  color: var(--gray);
  text-decoration: line-through;
  margin-bottom: 6px;
}

.deal-new-price {
  display: block;
  font-size: 2.5rem;
  color: var(--orange);
  font-weight: 800;
}

.deal-savings {
  text-align: center;
  background: var(--blue);
  color: var(--white);
  padding: 10px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1rem;
}

/* Deal Back Styles */
.deal-back h4 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 800;
}

.deal-details-list {
  list-style: none;
  padding: 0;
  margin: 0 0 25px 0;
}

.deal-details-list li {
  padding: 10px 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  line-height: 1.6;
}

.deal-details-list li:last-child {
  border-bottom: none;
}

.deal-book-btn {
  width: 100%;
  padding: 14px;
  background: var(--white);
  color: var(--orange);
  border: none;
  border-radius: 30px;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.deal-book-btn:hover {
  background: var(--navy);
  color: var(--white);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}



/* ══════════════════════════════════════════════════════════════
   HOTELS PAGE STYLES
   Covers: hero, search bar, stats strip, hotel cards,
           why-us section, brands strip, responsive
══════════════════════════════════════════════════════════════ */

/* ─── HERO SECTION ──────────────────────────────────────────── */
.hotels-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Luxury hotel lobby as background */
  background-image: url("https://images.unsplash.com/photo-1455587734955-081b22074882?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

/* Dark gradient overlay for legible text */
.hotels-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.92) 0%,
    rgba(21, 101, 192, 0.55) 65%,
    rgba(13, 30, 74, 0.45) 100%
  );
  z-index: 1;
}

/* Centered hero content column */
.hotels-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

/* Small pill badge above headline */
.hotels-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

/* Main headline */
.hotels-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

/* Orange accent word inside headline */
.hotels-accent {
  color: var(--orange-light);
}

/* Subtitle paragraph */
.hotels-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 640px;
  margin: 0 auto 36px;
}

/* ─── SEARCH BAR ─────────────────────────────────────────────── */

/* Glassmorphic multi-field search bar */
.hotels-search-bar {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  padding: 10px;
  max-width: 820px;
  margin: 0 auto 42px;
  gap: 8px;
  flex-wrap: wrap;
}

/* Each input field inside the search bar */
.hotels-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 180px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Compact guest field — shorter than other fields */
.hotels-search-field.compact {
  min-width: 110px;
  flex: 0 1 130px;
}

/* Text input inside each field */
.hotels-search-field input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--white);
  font-size: 0.9rem;
  font-family: "DM Sans", sans-serif;
  width: 100%;
}

.hotels-search-field input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* Orange CTA search button */
.hotels-search-btn {
  background: var(--orange);
  color: var(--white);
  border: none;
  padding: 14px 28px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(240, 120, 32, 0.4);
}

.hotels-search-btn:hover {
  background: var(--orange-light);
  transform: translateY(-2px);
}

/* ─── HERO STATS STRIP ───────────────────────────────────────── */

/* Glassmorphic stats bar: 500K+ Hotels · 190+ Countries · etc. */
.hotels-hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 0;
  background: rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px 32px;
  max-width: 660px;
  margin: 0 auto;
}

/* Individual stat column */
.hotels-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 26px;
}

.hotels-stat strong {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}

.hotels-stat span {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* Thin vertical divider between stat columns */
.hotels-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.18);
}

/* ─── HOTEL CARDS SECTION ────────────────────────────────────── */

/* Section wrapper with cream gradient background */
.hotels-section {
  padding: 1% 10%;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

/* Centered section heading */
.hotels-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.hotels-section-header h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  color: var(--navy);
  margin-bottom: 12px;
}

.hotels-section-header p {
  font-size: 1.05rem;
  color: var(--gray);
}

/* 3-column responsive grid of hotel cards */
.hotels-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

/* Individual hotel card */
.hotel-card {
  background: var(--white);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  cursor: pointer;
}

.hotel-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(13, 30, 74, 0.16);
}

/* Card image container with fixed height */
.hotel-card-img {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.hotel-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* Subtle zoom on card hover */
.hotel-card:hover .hotel-card-img img {
  transform: scale(1.08);
}

/* Star rating badge overlaid on top-left of image */
.hotel-star-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(13, 30, 74, 0.8);
  backdrop-filter: blur(6px);
  color: #f5c518;
  font-size: 0.75rem;
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 1px;
}

/* Card body padding */
.hotel-card-body {
  padding: 22px;
}

/* Country / city location label */
.hotel-location {
  font-size: 0.8rem;
  color: var(--blue);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  display: block;
}

/* Hotel name heading */
.hotel-card-body h3 {
  font-family: "Fraunces", serif;
  font-size: 1.3rem;
  color: var(--navy);
  margin-bottom: 10px;
}

/* Short description text */
.hotel-desc {
  font-size: 0.88rem;
  color: black;
  line-height: 1.6;
  margin-bottom: 16px;
}

/* Row with green score chip + review count */
.hotel-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  font-size: 0.82rem;
}

/* Green Exceptional score chip */
.hotel-rating {
  background: #10b981;
  color: var(--white);
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
}

.hotel-reviews {
  color: var(--gray);
}

/* Price row: "from $1,800 /night" */
.hotel-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--light);
}

.price-from {
  font-size: 0.8rem;
  color: var(--gray);
}
.price-amount {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--navy);
}
.price-night {
  font-size: 0.8rem;
  color: var(--gray);
}

/* Full-width blue CTA button */
.hotel-view-btn {
  width: 100%;
  padding: 12px;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
}

.hotel-view-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
}

/* ─── WHY COMPARE HOTELS — TWO-COLUMN SECTION ────────────────── */

.hotels-why-section {
  padding: 1% 10%;
  background: var(--white);
}

/* Two-column layout: text left, image right */
.hotels-why-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Small orange kicker above heading */
.hotels-why-kicker {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--orange);
  margin-bottom: 14px;
}

/* Section heading */
.hotels-why-text h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  color: var(--navy);
  margin-bottom: 16px;
  line-height: 1.2;
}

/* Intro paragraph */
.hotels-why-text > p {
  font-size: 1rem;
  color: var(--gray);
  line-height: 1.7;
  margin-bottom: 36px;
}

/* Stack of 4 feature rows */
.hotels-why-features {
  display: grid;
  gap: 22px;
}

/* Single feature row: icon box + heading + description */
.hotels-why-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

/* Cream square icon box */
.why-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  background: var(--cream);
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(240, 120, 32, 0.2);
}

.hotels-why-item h4 {
  font-size: 1rem;
  color: var(--navy);
  margin-bottom: 5px;
  font-weight: 700;
}

.hotels-why-item p {
  font-size: 0.88rem;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

/* Right-column image with hover zoom effect */
.hotels-why-img {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.14);
  height: 480px;
}

.hotels-why-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.hotels-why-img:hover img {
  transform: scale(1.04);
}

/* ─── TRUSTED BRANDS STRIP ───────────────────────────────────── */

.hotels-brands-section {
  padding: 40px 20px;
  background: var(--light);
  text-align: center;
}

/* "Compare prices from top booking platforms" label */
.hotels-brands-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gray);
  margin-bottom: 20px;
}

/* Flex row of platform pill badges */
.hotels-brands-strip {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Individual platform badge pill */
.hotels-brands-strip span {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--navy);
  background: var(--white);
  padding: 10px 22px;
  border-radius: 30px;
  border: 1px solid rgba(13, 30, 74, 0.1);
  box-shadow: 0 2px 8px rgba(13, 30, 74, 0.06);
  transition: var(--transition);
  cursor: default;
}

/* Orange highlight on hover */
.hotels-brands-strip span:hover {
  border-color: var(--orange);
  color: var(--orange);
  transform: translateY(-2px);
}



/* ══════════════════════════════════════════════════════════════
   FERRIES HERO — Premium Full-Bleed
   Matches the hotels/destination hero pattern
══════════════════════════════════════════════════════════════ */

/* Full-viewport section with parallax ferry background */
.ferries-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url("https://images.unsplash.com/photo-1544551763-46a013bb70d5?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

/* Navy-to-teal gradient overlay for legible text */
.ferries-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 30, 74, 0.92) 0%,
    rgba(10, 77, 104, 0.6) 60%,
    rgba(13, 30, 74, 0.45) 100%
  );
  z-index: 1;
}

/* Centered hero content with fade-up animation */
.ferries-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

/* Small orange pill badge above headline */
.ferries-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

/* Main headline */
.ferries-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

/* Orange accent words in headline */
.ferries-accent {
  color: var(--orange-light);
}

/* Subtitle paragraph */
.ferries-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 660px;
  margin: 0 auto 36px;
}

/* ─── SEARCH BAR ─────────────────────────────────────────────── */

/* Glassmorphic 3-field search bar */
.ferries-search-bar {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  padding: 10px;
  max-width: 820px;
  margin: 0 auto 42px;
  gap: 8px;
  flex-wrap: wrap;
}

/* Individual search field */
.ferries-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 180px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Compact date field */
.ferries-search-field.compact {
  min-width: 110px;
  flex: 0 1 140px;
}

.ferries-search-field input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--white);
  font-size: 0.9rem;
  font-family: "DM Sans", sans-serif;
  width: 100%;
}

.ferries-search-field input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* Orange CTA search button */
.ferries-search-btn {
  background: var(--orange);
  color: var(--white);
  border: none;
  padding: 14px 28px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(240, 120, 32, 0.4);
}

.ferries-search-btn:hover {
  background: var(--orange-light);
  transform: translateY(-2px);
}

/* ─── STATS STRIP ────────────────────────────────────────────── */

/* Glassmorphic stats bar */
.ferries-hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 0;
  background: rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px 32px;
  max-width: 660px;
  margin: 0 auto;
}

/* Individual stat column */
.ferries-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 26px;
}

.ferries-stat strong {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}

.ferries-stat span {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* Thin vertical divider between stat columns */
.ferries-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.18);
}

/* ─── RESPONSIVE — FERRIES HERO ─────────────────────────────── */
@media (max-width: 768px) {
  .ferries-hero-content {
    padding: 120px 16px 60px;
  }

  /* Stack search fields vertically */
  .ferries-search-bar {
    flex-direction: column;
    border-radius: 14px;
  }

  .ferries-search-field {
    min-width: 100%;
  }

  .ferries-search-btn {
    width: 100%;
  }

  /* Hide dividers on mobile */
  .ferries-stat-divider {
    display: none;
  }

  .ferries-hero-stats {
    gap: 12px;
    padding: 16px 20px;
  }

  .ferries-stat {
    padding: 0 14px;
  }
}

/* ═════════════════════════════════════════════════════════════
           FERRIES PAGE STYLES
        ═════════════════════════════════════════════════════════════ */

/* ===== FERRY HERO SECTION ===== */
.hero-ferry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 120px 20px 60px;
  min-height: 600px;
}

.ferry-hero-image {
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.15);
}

/* ===== FERRY CARDS SECTION ===== */
.ferry-container {
  padding: 1% 10%;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

.ferry-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.ferry-section-header h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 12px;
  font-weight: 800;
}

.ferry-section-header p {
  font-size: 1.1rem;
  color: var(--gray);
}

.ferry-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.ferry-card {
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  cursor: pointer;
}

.ferry-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.2);
}

.ferry-card-image {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.ferry-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

/* .ferry-card:hover .ferry-card-image img {
  transform: scale(1.1);
} */

.ferry-type-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--orange);
  color: var(--white);
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
}

.ferry-card-content {
  padding: 20px;
}

.ferry-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 8px;
}

.from-port,
.to-port {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--navy);
}

.ferry-icon {
  font-size: 1.3rem;
  color: var(--blue);
}

.ferry-operator {
  font-size: 0.85rem;
  color: var(--gray);
  margin-bottom: 14px;
}

.ferry-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 10px;
  background: var(--light);
  border-radius: 8px;
}

.ferry-duration,
.ferry-frequency {
  font-size: 0.8rem;
  color: var(--blue);
  font-weight: 600;
}

.ferry-amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.amenity {
  background: var(--cream);
  color: var(--navy);
  padding: 5px 10px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
}

.ferry-price-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px;
  /* background: linear-gradient(135deg, var(--cream2) 0%, var(--cream) 100%); */
  border-radius: 8px;
}

.ferry-price-label {
  font-size: 0.85rem;
  color: var(--gray);
  font-weight: 500;
}

.ferry-price-value {
  font-size: 1.8rem;
  color: var(--orange);
  font-weight: 800;
}

.ferry-view-btn {
  width: 100%;
  padding: 12px;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
}

.ferry-view-btn a {
  text-decoration: none;
  color: var(--white);
}
.ferry-view-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
}

/* ===== FERRY ABOUT SECTION ===== */
.ferry-about-section {
  padding: 1% 10%;
  background: var(--white);
}

.ferry-about-container {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.ferry-about-content h2 {
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 16px;
  font-weight: 800;
  line-height: 1.2;
}

.ferry-about-intro {
  font-size: 1.1rem;
  color: var(--gray);
  margin-bottom: 40px;
  line-height: 1.6;
}

.ferry-about-features {
  display: grid;
  gap: 28px;
}

.ferry-feature-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.ferry-feature-item .feature-icon {
  font-size: 2.5rem;
  flex-shrink: 0;
  background: var(--cream);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 2px solid var(--blue);
}

.ferry-feature-item h3 {
  font-size: 1.2rem;
  color: var(--navy);
  margin-bottom: 8px;
  font-weight: 700;
}

.ferry-feature-item p {
  font-size: 0.95rem;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

.ferry-about-image {
  position: relative;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.15);
}

.ferry-about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.ferry-about-image:hover img {
  transform: scale(1.05);
}

/* ===== FERRY DEALS SECTION WITH FLIP ANIMATION ===== */
.ferry-deals-section {
  padding: 1% 10%;
  background: linear-gradient(135deg, #0a4d68 0%, #1565c0 100%);
}

.ferry-deals-header {
  text-align: center;
  margin-bottom: 50px;
}

.ferry-deals-header h2 {
  font-size: 2.5rem;
  color: var(--white);
  margin-bottom: 12px;
  font-weight: 800;
}

.ferry-deals-header p {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
}

.ferry-deals-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* Flip Card Animation for Ferry Deals */
.ferry-deal-card {
  position: relative;
  height: 480px;
  perspective: 1000px;
  cursor: pointer;
}

.ferry-deal-front,
.ferry-deal-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 16px;
  padding: 24px;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.ferry-deal-front {
  background: linear-gradient(135deg, var(--white) 0%, var(--cream) 100%);
  display: flex;
  flex-direction: column;
  z-index: 2;
  transform: rotateY(0deg);
}

.ferry-deal-back {
  background: linear-gradient(135deg, #0a4d68 0%, #1565c0 100%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: rotateY(180deg);
}

.ferry-deal-card:hover .ferry-deal-front {
  transform: rotateY(-180deg);
}

.ferry-deal-card:hover .ferry-deal-back {
  transform: rotateY(0deg);
}

/* Ferry Deal Front Styles */
.ferry-deal-badge {
  background: var(--orange);
  color: var(--white);
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 700;
  width: fit-content;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
  margin-bottom: 16px;
}

.ferry-deal-destination {
  text-align: center;
  margin-bottom: 16px;
}

.ferry-deal-destination h3 {
  font-size: 1.6rem;
  color: var(--navy);
  margin-bottom: 6px;
  font-weight: 800;
}

.ferry-deal-route {
  font-size: 0.9rem;
  color: var(--gray);
  font-weight: 600;
}

.ferry-deal-image-preview {
  width: 100%;
  height: 160px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
}

.ferry-deal-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ferry-deal-price {
  text-align: center;
  margin-bottom: 12px;
}

.ferry-deal-old-price {
  display: block;
  font-size: 1rem;
  color: var(--gray);
  text-decoration: line-through;
  margin-bottom: 6px;
}

.ferry-deal-new-price {
  display: block;
  font-size: 1.4rem;
  color: var(--orange);
  font-weight: 800;
}

.ferry-deal-savings {
  text-align: center;
  background: var(--blue);
  color: var(--white);
  padding: 10px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1rem;
}

/* Ferry Deal Back Styles */
.ferry-deal-back h4 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 800;
}

.ferry-deal-details-list {
  list-style: none;
  padding: 0;
  margin: 0 0 25px 0;
}

.ferry-deal-details-list li {
  padding: 10px 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  line-height: 1.6;
}

.ferry-deal-details-list li:last-child {
  border-bottom: none;
}

.ferry-deal-book-btn {
  width: 100%;
  padding: 14px;
  background: var(--white);
  color: var(--blue);
  border: none;
  border-radius: 30px;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.ferry-deal-book-btn:hover {
  background: var(--orange);
  color: var(--white);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* ===== RESPONSIVE DESIGN FOR FERRIES PAGE ===== */
@media (max-width: 1200px) {
  .ferry-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ferry-deals-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .hero-ferry {
    grid-template-columns: 1fr;
    padding: 100px 20px 40px;
  }

  .ferry-hero-image {
    height: 400px;
  }

  .ferry-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ferry-about-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ferry-about-image {
    height: 400px;
  }

  .ferry-deals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ferry-section-header h2,
  .ferry-about-content h2,
  .ferry-deals-header h2 {
    font-size: 2rem;
  }

  .ferry-cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ferry-about-features {
    gap: 20px;
  }

  .ferry-feature-item {
    flex-direction: column;
    text-align: center;
  }

  .ferry-feature-item .feature-icon {
    margin: 0 auto;
  }

  .ferry-deals-grid {
    grid-template-columns: 1fr;
  }

  .ferry-deal-card {
    height: 460px;
  }
}

@media (max-width: 480px) {
  .ferry-container,
  .ferry-about-section,
  .ferry-deals-section {
    padding: 50px 16px;
  }

  .ferry-section-header h2,
  .ferry-about-content h2,
  .ferry-deals-header h2 {
    font-size: 1.75rem;
  }

  .ferry-card-image {
    height: 180px;
  }

  .ferry-feature-item .feature-icon {
    width: 60px;
    height: 60px;
    font-size: 2rem;
  }

  .ferry-hero-image {
    height: 300px;
  }

  .ferry-deal-destination h3 {
    font-size: 1.4rem;
  }

  .ferry-deal-new-price {
    font-size: 2rem;
  }
}

/* ═════════════════════════════════════════════════════════════
           TOUR PACKAGES PAGE STYLES
           Covers: hero, search bar, stats strip, tour cards,
                   why-us section, operators strip, responsive
        ═════════════════════════════════════════════════════════════ */

/* ===== TOURS HERO SECTION ===== */
.tours-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.tours-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.92) 0%,
    rgba(240, 120, 32, 0.45) 65%,
    rgba(13, 30, 74, 0.45) 100%
  );
  z-index: 1;
}

.tours-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

.tours-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

.tours-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.tours-accent {
  color: var(--orange-light);
}

.tours-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 640px;
  margin: 0 auto 36px;
}

/* ===== TOURS SEARCH BAR ===== */
.tours-search-bar {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  padding: 10px;
  max-width: 820px;
  margin: 0 auto 42px;
  gap: 8px;
  flex-wrap: wrap;
}

.tours-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 180px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.tours-search-field input,
.tours-select {
  background: transparent;
  border: none;
  outline: none;
  color: var(--white);
  font-size: 0.9rem;
  font-family: "DM Sans", sans-serif;
  width: 100%;
}

.tours-search-field input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.tours-select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.tours-select option {
  background: var(--navy);
  color: var(--white);
}

.tours-search-btn {
  background: var(--orange);
  color: var(--white);
  border: none;
  padding: 14px 28px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--transition);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(240, 120, 32, 0.4);
}

.tours-search-btn:hover {
  background: var(--orange-light);
  transform: translateY(-2px);
}

/* ===== TOURS STATS STRIP ===== */
.tours-hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 0;
  background: rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px 32px;
  max-width: 660px;
  margin: 0 auto;
}

.tours-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 26px;
}

.tours-stat strong {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}

.tours-stat span {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.tours-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.18);
}

/* ===== TOURS CARDS SECTION ===== */
.tours-container {
  padding: 1% 10%;
  background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

.tours-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.tours-section-header h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  color: var(--navy);
  margin-bottom: 12px;
}

.tours-section-header p {
  font-size: 1.05rem;
  color: var(--gray);
}

.tours-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.tour-card {
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.tour-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.15);
}

.tour-card-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.tour-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.tour-card:hover .tour-card-image img {
  transform: scale(1.1);
}

/* Category / Status Badges */
.tour-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.tour-badge.best-seller {
  background: #e11d48;
}
.tour-badge.popular {
  background: #3b82f6;
}
.tour-badge.cultural {
  background: #8b5cf6;
}
.tour-badge.adventure {
  background: #f59e0b;
}
.tour-badge.wildlife {
  background: #10b981;
}
.tour-badge.romance {
  background: #ec4899;
}
.tour-badge.wellness {
  background: #06b6d4;
}
.tour-badge.nature {
  background: #14b8a6;
}

.tour-card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.tour-location {
  font-size: 0.8rem;
  color: var(--blue);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  display: block;
}

.tour-card-content h3 {
  font-family: "Fraunces", serif;
  font-size: 1.2rem;
  color: var(--navy);
  margin-bottom: 10px;
}

.tour-desc {
  font-size: 0.85rem;
  color: black;
  line-height: 1.5;
  margin-bottom: 14px;
}

.tour-details {
  display: flex;
  gap: 16px;
  margin-bottom: 14px;
  font-size: 0.8rem;
  color: var(--gray);
  border-bottom: 1px solid var(--light);
  padding-bottom: 10px;
}

.tour-rating-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.rating-badge {
  background: #10b981;
  color: var(--white);
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
}

.reviews-count {
  font-size: 0.78rem;
  color: var(--gray);
}

.tour-price-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--light);
}

.price-label {
  font-size: 0.8rem;
  color: var(--gray);
}

.price-value {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--navy);
}

.tour-view-btn {
  width: 100%;
  padding: 12px;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.92rem;
  cursor: pointer;
  margin-top: 14px;
  transition: var(--transition);
}

.tour-view-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
}

/* ===== TOURS WHY BOOK SECTION ===== */
.tours-why-section {
  padding: 1% 10%;
  background: var(--white);
}

.tours-why-container {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.tours-why-kicker {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange);
  margin-bottom: 12px;
}

.tours-why-content h2 {
  font-family: "Fraunces", serif;
  font-size: 2.5rem;
  color: var(--navy);
  margin-bottom: 16px;
  line-height: 1.2;
}

.tours-why-intro {
  font-size: 1.05rem;
  color: var(--gray);
  line-height: 1.6;
  margin-bottom: 32px;
}

.tours-why-features {
  display: grid;
  gap: 24px;
}

.tours-why-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.tours-why-item .why-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  background: var(--cream);
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(240, 120, 32, 0.2);
}

.tours-why-item h3 {
  font-size: 1.05rem;
  color: var(--navy);
  margin-bottom: 6px;
  font-weight: 700;
}

.tours-why-item p {
  font-size: 0.88rem;
  color: var(--gray);
  line-height: 1.5;
  margin: 0;
}

.tours-why-image {
  position: relative;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.15);
}

.tours-why-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.tours-why-image:hover img {
  transform: scale(1.05);
}

/* ===== TOURS TRUSTED OPERATORS STRIP ===== */
.tours-brands-section {
  padding: 40px 20px;
  background: var(--light);
  text-align: center;
}

.tours-brands-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gray);
  margin-bottom: 20px;
}

.tours-brands-strip {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tours-brands-strip span {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--navy);
  background: var(--white);
  padding: 10px 22px;
  border-radius: 30px;
  border: 1px solid rgba(13, 30, 74, 0.1);
  box-shadow: 0 2px 8px rgba(13, 30, 74, 0.06);
  transition: var(--transition);
  cursor: default;
}

.tours-brands-strip span:hover {
  border-color: var(--orange);
  color: var(--orange);
  transform: translateY(-2px);
}



/* ═════════════════════════════════════════════════════════════
           OTHERS PAGE STYLES — Partner Brands & Slider
           Covers: hero, partner cards, marquee slider, responsive
        ═════════════════════════════════════════════════════════════ */

/* ===== OTHERS HERO SECTION ===== */
.others-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: space-around;
  overflow: hidden;
  background-image: url("https://images.unsplash.com/photo-1488646953014-85cb44e25828?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.others-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.92) 0%,
    rgba(107, 33, 168, 0.4) 65%,
    rgba(13, 30, 74, 0.45) 100%
  );
  z-index: 1;
}

.others-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

.others-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--orange-light);
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

.others-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.others-accent {
  color: var(--orange-light);
}

.others-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 640px;
  margin: 0 auto 36px;
}

/* ===== OTHERS HERO STATS ===== */
.others-hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  /* gap: 0; */
  background: rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px 32px;
  max-width: 660px;
  margin: 0 auto;
}

.others-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 26px;
}

.others-stat strong {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}

.others-stat span {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.others-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.18);
}

/* ===== OTHERS CATEGORY BRAND SECTIONS ===== */
.others-brand-section {
  padding: 1% 10%;
  background: var(--white);
}

.others-brand-section.alternate-bg {
  background: #faf8f5;
}

.others-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.category-kicker {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange);
  background: rgba(240, 120, 32, 0.1);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.others-section-header h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  color: var(--navy);
  margin-bottom: 12px;
}

.others-section-header p {
  font-size: 1.05rem;
  color: var(--gray);
  max-width: 600px;
  margin: 0 auto;
}

/* ===== 4-COLUMN CARDS GRID ===== */
.others-cards-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.others-card {
  background: var(--white);
  border: 1px solid rgba(13, 30, 74, 0.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(13, 30, 74, 0.04);
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.others-card-img {
  position: relative;
  height: 180px;
  overflow: hidden;
}

.others-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.others-card:hover .others-card-img img {
  transform: scale(1.08);
}

.others-card-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.others-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(13, 30, 74, 0.85);
  backdrop-filter: blur(10px);
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.others-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(13, 30, 74, 0.12);
  border-color: rgba(240, 120, 32, 0.3);
}

.others-card h3 {
  font-family: "Fraunces", serif;
  font-size: 1.25rem;
  color: var(--navy);
  margin-bottom: 10px;
  font-weight: 700;
}

.others-card-desc {
  font-size: 0.88rem;
  color:black;
  line-height: 1.6;
  margin-bottom: 20px;
}

.partner-meta {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: block;
  margin-bottom: 10px;
}

.partner-btn {
  width: 100%;
  padding: 11px;
  background: var(--cream);
  color: var(--navy);
  border: 1px solid rgba(13, 30, 74, 0.15);
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  transition: var(--transition);
}

.partner-btn:hover {
  background: var(--blue);
  color: var(--white);
  border-color: var(--blue);
  transform: translateY(-2px);
}

/* ===== INFINITE LOGO MARQUEE SLIDER ===== */
.others-slider-section {
  padding: 80px 20px;
  background: linear-gradient(135deg, var(--navy) 0%, #1565c0 100%);
  color: var(--white);
  overflow: hidden;
}

.slider-header {
  text-align: center;
  margin-bottom: 50px;
}

.slider-header h2 {
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  color: #ffa94d;
  margin-bottom: 12px;
}

.slider-header p {
  font-size: 1.05rem;
  color: rgba(0, 0, 0, 0.8);
}

.brand-marquee-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  padding: 20px 0;
}

/* The scrolling container track */
.brand-marquee-track {
  display: flex;
  gap: 30px;
  width: max-content;
  animation: marquee 25s linear infinite;
}

.brand-marquee-track:hover {
  animation-play-state: paused;
}

.marquee-item {
  flex-shrink: 0;
  background-color:  var(--orange);
  backdrop-filter: blur(10px);
  border: 1px solid var(--orange);
  padding: 16px 36px;
  border-radius: 40px;
  color: var(--white);
  font-weight: 800;
  font-size: 1.1rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  cursor: default;
}

.marquee-item:hover {
  transform: scale(1.05);
}

/* Keyframes for seamless looping animation */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ===== RESPONSIVE DESIGN FOR OTHERS ===== */
@media (max-width: 1200px) {
  .others-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 992px) {
  .others-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .others-hero-content {
    padding: 120px 20px 60px;
  }
}

@media (max-width: 768px) {
  .others-cards-grid {
    grid-template-columns: 1fr;
  }

  .others-stat-divider {
    display: none;
  }

  .others-hero-stats {
    gap: 12px;
    padding: 16px 20px;
  }

  .others-stat {
    padding: 0 14px;
  }

  .marquee-item {
    padding: 12px 28px;
    font-size: 0.95rem;
  }
}

/*----------------- About page css start here ----------------------------------------- */

/* ════════════════════════════════════════════════════════
   ABOUT US PAGE — Theme-consistent styles
   ════════════════════════════════════════════════════════ */

/* ===== ABOUT HERO ===== */
.about-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url("https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=1400&auto=format&fit=crop&q=80");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 30, 74, 0.92) 0%,
    rgba(21, 101, 192, 0.45) 60%,
    rgba(13, 30, 74, 0.55) 100%
  );
  z-index: 1;
}

.about-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

.about-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f5a623;
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

.about-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.about-accent {
  color: #f5a623;
}

.about-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.02em;
}

/* ===== KICKER BADGES ===== */
.about-kicker {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange);
  background: rgba(240, 120, 32, 0.1);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.about-kicker-light {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}



/* ===== WHO WE ARE — SPLIT LAYOUT ===== */
.about-intro-section {
  padding: 80px 5%;
  background: var(--white);
}

.about-intro-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 60px;
  align-items: center;
}

.about-intro-text h2 {
  margin-bottom: 24px;
}

.about-intro-text p {
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--blue-dark);
  line-height: 1.8;
  margin-bottom: 16px;
}

.about-intro-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.12);
}

/* ===== OUR STORY ===== */
.about-story-section {
  padding: 90px 5%;
  background: linear-gradient(135deg, var(--navy) 0%, #1565c0 100%);
  color: var(--white);
  text-align: center;
}

.about-story-inner {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-story-inner p {
  font-size: 1.08rem;
  color:var(--blue-dark);
  line-height: 1.85;
  margin-bottom: 18px;
}

/* ===== OUR MISSION ===== */
.about-mission-section {
  padding: 80px 5%;
  background: #faf8f5;
}

.about-mission-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 56px;
}

.about-mission-header h2 {
  margin-bottom: 16px;
}

.about-mission-header > p {
  font-size: 1.05rem;
  color: var(--blue-dark);
  line-height: 1.75;
}

.about-mission-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.about-mission-card {
  background: var(--white);
  border: 1px solid rgba(13, 30, 74, 0.08);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(13, 30, 74, 0.04);
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-mission-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(13, 30, 74, 0.1);
  border-color: rgba(240, 120, 32, 0.3);
}

.about-mission-icon {
  font-size: 2.2rem;
  margin-bottom: 16px;
}

.about-mission-card h3 {
  font-family: "Fraunces", serif;
  font-size: 1.1rem;
  color: var(--navy);
  margin-bottom: 10px;
  font-weight: 700;
}

.about-mission-card p {
  font-size: 0.9rem;
  color: var(--blue-dark);
  line-height: 1.6;
}

/* ===== WHY CHOOSE US ===== */
.about-why-section {
  padding: 90px 5%;
  background: linear-gradient(135deg, var(--navy) 0%, #1a237e 100%);
  text-align: center;
}

.about-why-header {
  max-width: 740px;
  margin: 0 auto 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-why-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}
.about-why-card {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  
  border: 1px solid rgba(20, 17, 17, 0.668);
  border-radius: 18px;
  padding: 32px 24px;
  text-align: left;
  transition: all 0.35s ease;
}


.about-why-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #f5a623;
}

.about-why-card:hover {
  transform: translateY(-8px);
  border-color: #f5a623;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.about-why-num {
  font-family: "Fraunces", serif;
  font-size: 3rem;
  font-weight: 900;
  color:rgb(245 166 35 / 86%);
  line-height: 1;
  margin-bottom: 16px;
}
.about-why-desc {
  max-width: 700px;
  margin: 18px auto 0;
  font-size: 1rem;
  line-height: 1.8;
  
}
.about-why-card h3 {
  font-family: "Fraunces", serif;
  font-size: 1.05rem;
  color: var(--blue-light);
  margin-bottom: 10px;
  font-weight: 700;
}

.about-why-card p {
  font-size: 1rem;
  color: var(--blue-dark);
  line-height: 1.65;
}

/* ===== HOW IT WORKS ===== */
.about-hiw-section {
  padding: 80px 5%;
  background: var(--white);
}

.about-hiw-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 70px;
  align-items: center;
}

.about-hiw-image img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(13, 30, 74, 0.12);
}

.about-hiw-content h2 {
  margin-bottom: 16px;
}

.about-hiw-intro {
  font-size: 1rem;
  color: var(--blue-dark);
  line-height: 1.75;
  margin-bottom: 32px;
}

.about-steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.about-step {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.about-step-num {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.1rem;
  box-shadow: 0 4px 12px rgba(13, 30, 74, 0.2);
}

.about-step-body h3 {
  font-family: "Fraunces", serif;
  font-size: 1.05rem;
  color: var(--navy);
  margin-bottom: 6px;
  font-weight: 700;
}

.about-step-body p {
  font-size: 0.92rem;
  color: var(--blue-dark);
  line-height: 1.65;
}

/* ===== START EXPLORING CTA ===== */
.about-cta-section {
  padding: 90px 5%;
  background: #faf8f5;
  text-align: center;
}

.about-cta-inner {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-cta-inner h2 {
  margin-bottom: 24px;
}

.about-cta-inner p {
  font-size: 1.05rem;
  color: var(--blue-dark);
  line-height: 1.8;
  margin-bottom: 14px;
  max-width: 700px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
  .about-mission-grid,
  .about-why-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .about-intro-inner {
    grid-template-columns: 1fr;
  }

  .about-intro-image img {
    height: 300px;
  }

  .about-hiw-inner {
    grid-template-columns: 1fr;
  }

  .about-hiw-image img {
    height: 300px;
  }
}

@media (max-width: 768px) {
  .about-mission-grid,
  .about-why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-hero-content {
    padding: 120px 20px 60px;
  }
}

@media (max-width: 480px) {
  .about-mission-grid,
  .about-why-grid {
    grid-template-columns: 1fr;
  }
}

/* =============About us end ============================================================ */

/*--------------------contact page css start here---------------------------------------------------- */

/* ════════════════════════════════════════════════════════
   CONTACT PAGE — Theme-consistent styles
   ════════════════════════════════════════════════════════ */

/* ===== CONTACT HERO ===== */
.contact-hero-section {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.contact-hero-overlay {
  position: absolute;
  inset: 0;
  background-image: url("./Asstes/contact-us/contact-us.jpg") ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  
  z-index: 1;
}

.contact-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 780px;
  padding: 140px 24px 80px;
  animation: fade-up 0.9s ease-out both;
}

.contact-hero-kicker {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f5a623;
  background: rgba(240, 120, 32, 0.15);
  border: 1px solid rgba(240, 120, 32, 0.35);
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 24px;
}

.contact-hero-content h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(2.6rem, 5.5vw, 4.5rem);
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 20px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.contact-hero-content > p {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.contact-accent {
  color: #f5a623;
}

/* ===== CONTACT BODY ===== */
.contact-body-section {
  padding: 90px 5%;
  background: #faf8f5;
}

.contact-body-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
}

/* ===== FORM PANEL ===== */
.contact-form-panel {
  background: var(--white);
  border-radius: 20px;
  padding: 48px;
  box-shadow: 0 8px 40px rgba(13, 30, 74, 0.08);
  border: 1px solid rgba(13, 30, 74, 0.06);
}

.contact-form-panel .about-kicker {
  margin-bottom: 12px;
}

.contact-form-panel h2 {
  margin-bottom: 12px;
}

.contact-form-panel > p {
  font-size: 1rem;
  color: var(--gray);
  line-height: 1.75;
  margin-bottom: 36px;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.contact-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.contact-field label {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1.5px solid rgba(13, 30, 74, 0.12);
  border-radius: 10px;
  font-size: 0.97rem;
  color: var(--navy);
  background: var(--off-white, #f4f7fc);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  outline: none;
  font-family: inherit;
  box-sizing: border-box;
}

.contact-field input:focus,
.contact-field textarea:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(244, 124, 32, 0.12);
  background: var(--white);
}

.contact-field textarea {
  resize: vertical;
  min-height: 140px;
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 40px;
  background: linear-gradient(135deg, var(--orange), #e06010);
  color: var(--white);
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(244, 124, 32, 0.3);
  align-self: flex-start;
}

.contact-submit-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(244, 124, 32, 0.4);
}

/* ===== INFO CARDS ===== */
.contact-info-panel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-info-card {
  background: var(--white);
  border: 1px solid rgba(13, 30, 74, 0.08);
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  box-shadow: 0 4px 15px rgba(13, 30, 74, 0.04);
  transition: all 0.3s ease;
}

.contact-info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(13, 30, 74, 0.1);
  border-color: rgba(244, 124, 32, 0.3);
}

.contact-info-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--white);
}

.contact-info-body h3 {
  font-family: "Fraunces", serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 5px;
}

.contact-info-body p {
  font-size: 0.9rem;
  color: var(--gray);
  line-height: 1.6;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .contact-body-inner {
    grid-template-columns: 1fr;
  }

  .contact-info-panel {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .contact-info-card {
    flex: 1 1 280px;
  }
}

@media (max-width: 640px) {
  .contact-form-panel {
    padding: 28px 20px;
  }

  .contact-form-row {
    grid-template-columns: 1fr;
  }

  .contact-hero-content {
    padding: 120px 20px 60px;
  }
}

/* ===========================================Contact us end======================== */

/* ===== FOOTER ===== */
footer {
  background: #ffffff;
  color: var(--text-muted);
  padding: 70px 20px 30px;
  border-top: 1px solid rgba(13, 27, 62, 0.08);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}

.footer-brand p {
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.8;
  margin-top: 16px;
  max-width: 320px;
}

.footer-col h4 {
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  position: relative;
}

.footer-col h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 25px;
  height: 2px;
  background: var(--orange);
  border-radius: 2px;
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-col ul a {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.25s ease;
  display: inline-block;
}

.footer-col ul a:hover {
  color: var(--orange);
  transform: translateX(4px);
}

.footer-bottom {
  border-top: 1px solid rgba(13, 27, 62, 0.08);
  padding-top: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.85rem;
  gap: 20px;
  color: var(--text-muted);
}

.footer-social {
  display: flex;
  gap: 12px;
}

.social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(13, 27, 62, 0.05);
  border: 1px solid rgba(13, 27, 62, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  color: var(--navy);
}

.social-btn:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #ffffff;
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(240, 120, 32, 0.25);
}


/* ════════════════════════════════════════════════════════════
   FLIGHT CAROUSEL SLIDER
   Auto-sliding carousel for flight deals with 8 cards
   ════════════════════════════════════════════════════════════ */

.flight-carousel-section {
  padding: 1% 0%;
  /* background: linear-gradient(135deg, #f8f9fc 0%, #e6f1fb 100%); */
  overflow: hidden;
}

.flight-carousel-header {
  text-align: center;
  margin-bottom: 50px;
}

.flight-carousel-header h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 12px;
}

.flight-carousel-header p {
  font-size: 1.05rem;
  color: var(--gray);
  font-weight: 400;
}

.flight-carousel-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  padding: 20px 0;
}

.flight-carousel-track {
  display: flex;
  gap: 24px;
  animation: flight-carousel-scroll 40s linear infinite;
  width: max-content;
}

.flight-carousel-track:hover {
  animation-play-state: paused;
}

/* Infinite loop animation */
@keyframes flight-carousel-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-320px * 8 - 24px * 8));
  }
}

.flight-carousel-card {
  min-width: 320px;
  max-width: 320px;
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(13, 30, 74, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  border: 2px solid transparent;
}

.flight-carousel-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(13, 30, 74, 0.15);
  border-color: var(--orange);
}

.flight-carousel-image {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
}

.flight-carousel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.flight-carousel-card:hover .flight-carousel-image img {
  transform: scale(1.1);
}

.flight-carousel-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--orange);
  color: var(--white);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 12px rgba(240, 120, 32, 0.3);
}

.flight-carousel-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.flight-carousel-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
  font-family: "Playfair Display", serif;
}

.flight-carousel-route {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  color: var(--gray);
  font-weight: 500;
}

.flight-carousel-route .route-arrow {
  color: var(--orange);
  font-size: 1.2rem;
  font-weight: 700;
}

.flight-carousel-details {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.85rem;
  color: var(--text-muted);
  padding: 10px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.flight-carousel-details span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.flight-carousel-btn {
  display: inline-block;
  text-align: center;
  background: var(--blue);
  color: var(--white);
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: auto;
}

.flight-carousel-btn:hover {
  background: var(--navy);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(13, 30, 74, 0.2);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .flight-carousel-section {
    padding: 60px 15px;
  }
  
  .flight-carousel-header {
    margin-bottom: 35px;
  }
  
  .flight-carousel-card {
    min-width: 280px;
    max-width: 280px;
  }
  
  @keyframes flight-carousel-scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-280px * 8 - 24px * 8));
    }
  }
}

@media (max-width: 480px) {
  .flight-carousel-track {
    gap: 16px;
  }
  
  .flight-carousel-card {
    min-width: 260px;
    max-width: 260px;
  }
  
  @keyframes flight-carousel-scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-260px * 8 - 16px * 8));
    }
  }
}
