/* ==========================================
   AIR TICKETS PAGE
   Header-safe • Background image • Vignette
========================================== */

*{
  box-sizing:border-box;
}

body{
  font-family:Poppins, Arial, sans-serif;
  background:#f5f7fb;
  margin:0;
}

/* ==========================================
   AIR TICKET HERO — MATCHED WITH MAIN HERO
========================================== */

.flight-hero{
  width:100%;
  position:relative;
  overflow:hidden;

  /* height auto responsive */
  height: clamp(540px, 52vh, 600px);

  display:flex;
  align-items:flex-end;   /* text goes near bottom */
  justify-content:center; /* centered horizontally */

  color:#fff;

  /* background image */
  background:
    url("/assets/images/flight-hero.webp")
    center/cover no-repeat;
}

/* dark bottom → light top fade for readability */
.flight-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.75) 0%,     /* bottom dark */
    rgba(0,0,0,0.55) 25%,
    rgba(0,0,0,0.25) 45%,
    rgba(0,0,0,0.00) 60%     /* disappears upward */
  );
  pointer-events:none;
}

/* TEXT CONTAINER */
.flight-hero-content{
  position:relative;
  z-index:2;

  text-align:center;
  padding:20px 16px 38px;   /* spacing from bottom */
  width:100%;
  max-width:1000px;
}

/* single line / breaks intelligently */
.flight-hero-content h1{
  margin:0;
  font-weight:800;
  line-height:1.1;
  font-size:clamp(22px, 4.8vw, 46px);
}

/* optional subtitle */
.flight-hero-content p{
  margin-top:10px;
  font-size:clamp(14px, 2.3vw, 18px);
  opacity:.95;
}

/* ---------------- MOBILE ---------------- */

@media(max-width:768px){

  .flight-hero{
    height: clamp(240px, 54vh, 520px);
  }

  .flight-hero-content{
    padding:20px 10px 28px;
  }
}

/* =========================
   MAIN LAYOUT
========================= */

.flight-layout{
  max-width:1200px;
  margin:auto;
  padding:20px;

  display:grid;
  grid-template-columns:65% 35%;
  gap:20px;
}

/* LEFT FORM CARD */

.flight-info{
  background:#fff;
  border-radius:20px;
  padding:20px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

/* RIGHT SIDEBAR */

.flight-side{
  position:sticky;
  top:calc(var(--header-h, 110px) + 12px);
}

.support-box,
.popular-box,
.why-box{
  background:#fff;
  border-radius:20px;
  padding:16px 18px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
  margin-bottom:15px;
}

/* =========================
   FORM AREA (SCOPED)
========================= */

.flight-form label{
  font-size:13px;
  font-weight:600;
}

.flight-form input,
.flight-form select,
.flight-form textarea{
  width:100%;
  padding:10px 11px;
  border-radius:12px;
  border:1px solid #ccc;
  margin-bottom:10px;
  font-size:14px;
}

/* section title hints */

.mobile-section{
  font-size:13px;
  margin:8px 0 3px 0;
  color:#ff0066;
  font-weight:700;
}

/* GRID HELPERS */

.row.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.row.three{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}

/* =========================
   BUTTON (SCOPED)
========================= */

.flight-form button{
  width:100%;
  padding:12px;
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,#ff7a00,#ff0066);
  color:white;
  font-weight:600;
  cursor:pointer;
}

/* never affect header buttons */
header button{
  width:auto !important;
  padding:8px 18px !important;
  border-radius:999px !important;
}

/* =========================
   ALERT BOXES
========================= */

.success-box{
  background:#dbffe3;
  padding:10px;
  border-radius:10px;
  color:#065f2b;
}

.error-box{
  background:#ffe3e3;
  padding:10px;
  border-radius:10px;
  color:#7a0000;
}

/* =========================
   RESPONSIVE — TABLET
========================= */

@media(max-width:900px){

  .flight-layout{
    grid-template-columns:1fr;
    padding:12px;
  }

  .row.two,
  .row.three{
    grid-template-columns:1fr;
  }

  .flight-side{
    position:relative;
    top:0;
  }

  .flight-hero{
    padding-top:calc(var(--header-h, 110px) + 25px);
  }
}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:480px){

  .flight-layout{
    padding:8px;
  }

  .row.two,
  .row.three{
    grid-template-columns:1fr !important;
    gap:6px;
  }

  .flight-form button{
    font-size:15px;
  }
}
