/* ── VA Aviation Ltd — responsive layout overrides ──
   Inline styles in the React components set the DESKTOP layout.
   These media-query rules use !important to override those inline
   values at tablet/phone widths. */

html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }

/* Fluid full-bleed canvas (replaces the fixed 1440px scaled stage) */
.stage { width: 100%; margin: 0 auto; transform: none !important; }

/* ── Tablet ─────────────────────────────────────── */
@media (max-width: 1024px) {
  .vaa-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .vaa-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .vaa-section { padding-left: 40px !important; padding-right: 40px !important; }
  .vaa-nav { padding-left: 40px !important; padding-right: 40px !important; }
  .vaa-h1 { font-size: 58px !important; }
}

/* ── Phone ──────────────────────────────────────── */
@media (max-width: 760px) {
  .vaa-nav { padding: 14px 20px !important; }
  .vaa-logo { height: 50px !important; }

  .vaa-section { padding: 56px 20px !important; }

  .vaa-hero { min-height: 0 !important; }
  .vaa-hero-pad { padding: 40px 20px 56px !important; max-width: 100% !important; }
  .vaa-hero-img { right: -48% !important; top: auto !important; bottom: 0 !important;
                  width: 155% !important; height: 44% !important; opacity: 0.4 !important; }

  .vaa-h1 { font-size: 35px !important; }
  .vaa-h2 { font-size: 30px !important; }
  .vaa-cta-h2 { font-size: 34px !important; }

  .vaa-rowhead { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }

  .vaa-grid-3, .vaa-grid-4, .vaa-grid-2,
  .vaa-split, .vaa-feature, .vaa-footer-grid, .vaa-news-grid {
    grid-template-columns: 1fr !important;
  }
  .vaa-split { gap: 36px !important; }
  .vaa-feature { gap: 0 !important; }
  .vaa-feature-img { min-height: 260px !important; }
  .vaa-feature-text { padding: 48px 20px !important; }

  .vaa-portrait { height: 380px !important; }
  .vaa-globe { height: 300px !important; }
  .vaa-approach-line { display: none !important; }

  .vaa-cta-img { right: -34% !important; width: 135% !important; }

  .vaa-footer { padding: 48px 20px 28px !important; }
  .vaa-footer-grid { gap: 32px !important; }
  .vaa-footer-bottom { flex-direction: column !important; gap: 14px !important; align-items: flex-start !important; }

  /* legal pages */
  .vaa-legal-block { grid-template-columns: 1fr !important; gap: 8px !important; }
  .vaa-legal-row { grid-template-columns: 1fr !important; gap: 6px !important; }
}
