/*
Theme Name: Million Air Dallas
Theme URI: https://example.com/million-air-dallas
Author: Your Studio
Author URI: https://example.com
Description: Custom WordPress theme for Million Air Dallas — a night-tarmac hero, refined serif typography, and a fully responsive, editable homepage experience built with the Customizer and nav menus.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: milliona
Tags: custom-menu, custom-logo, featured-images, footer-widgets, translation-ready
*/

:root{
  --navy-deep:#0a1220;
  --navy-mid:#16283f;
  --navy-light:#3a5878;
  --cream:#f6f3ec;
  --gold:#c9a86a;
  --white:#ffffff;
  box-sizing:border-box;
}
*{box-sizing:inherit;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);}
body{
  font-family:"Georgia","Times New Roman",serif;
  background:var(--cream);
  color:var(--navy-deep);
  -webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;}
a:focus-visible, button:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.screen-reader-text{
  position:absolute !important;
  clip:rect(1px,1px,1px,1px);
  width:1px;height:1px;overflow:hidden;
}

/* =========================
   Simple header (inner pages)
========================= */
.site-header--simple{
  background:var(--navy-deep);
  color:var(--white);
  position:sticky;
  top:0;
  z-index:50;
}

/* =========================
   Hero (front page)
========================= */
.hero{
  position:relative;
  min-height:100svh;
  width:100%;
  overflow:hidden;
  background:
    radial-gradient(ellipse 120% 60% at 50% 0%, rgba(58,88,120,.55), transparent 60%),
    linear-gradient(180deg, #0c1626 0%, #101d30 35%, #0c1626 100%);
  display:flex;
  flex-direction:column;
  color:var(--white);
}
.hero.has-custom-bg{
  background-size:cover;
  background-position:center;
}
.hero.has-custom-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,14,24,.35) 0%, rgba(8,14,24,.55) 70%, rgba(8,14,24,.75) 100%);
  z-index:1;
}

.scene{ position:absolute; inset:0; z-index:1; }
.sky-glow{
  position:absolute; top:-10%; left:50%; transform:translateX(-50%);
  width:140%; height:60%;
  background:radial-gradient(ellipse at center, rgba(120,150,190,.35), rgba(120,150,190,0) 70%);
  filter:blur(2px);
}
.stars{
  position:absolute; inset:0;
  background-image:
    radial-gradient(1px 1px at 12% 15%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 30% 8%, rgba(255,255,255,.4), transparent),
    radial-gradient(1.5px 1.5px at 62% 12%, rgba(255,255,255,.45), transparent),
    radial-gradient(1px 1px at 80% 20%, rgba(255,255,255,.35), transparent),
    radial-gradient(1px 1px at 92% 10%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 45% 25%, rgba(255,255,255,.3), transparent);
  opacity:.8;
}
.tarmac{
  position:absolute; left:0; right:0; bottom:0; height:42%;
  background:linear-gradient(180deg, #0b1420 0%, #060b13 100%);
}
.tarmac::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,168,106,.5), transparent);
}
.runway-line{
  position:absolute; bottom:8%; left:0; width:60%; height:2px;
  background:linear-gradient(90deg, rgba(201,168,106,.7), rgba(201,168,106,0));
}
.reflection{
  position:absolute; bottom:0; left:0; right:0; height:18%;
  background:linear-gradient(180deg, rgba(201,168,106,.08), transparent);
}
.hangar-lights{
  position:absolute; bottom:40%; left:0; right:0;
  display:flex; justify-content:space-between; padding:0 4%; opacity:.5;
}
.hangar-lights span{ width:2px; height:60px; background:linear-gradient(180deg, rgba(255,220,150,.6), transparent); }

.plane-wrap{
  position:absolute; left:50%; bottom:14%; transform:translateX(-46%);
  width:min(78vw, 900px);
  filter:drop-shadow(0 25px 40px rgba(0,0,0,.6));
}
.plane-wrap svg{ width:100%; height:auto; display:block; }
.plane-light{ fill:#ffe9b8; }

/* =========================
   Nav
========================= */
.navbar{
  position:relative; z-index:10;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.6rem clamp(1.2rem, 4vw, 3rem) 1rem;
}
.site-header--simple .navbar{ padding:1.1rem clamp(1.2rem,4vw,3rem); }

.nav-links{
  display:flex; gap:clamp(1rem,2.5vw,2.4rem);
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  flex:1;
}
.nav-links a{ opacity:.85; white-space:nowrap; transition:opacity .2s ease; }
.nav-links a:hover, .nav-links a:focus-visible{ opacity:1; }
.nav-right .nav-links{ justify-content:flex-end; }

.brand{ flex:1; text-align:center; line-height:1.05; }
.brand a{ display:inline-block; }
.brand .custom-logo{ margin:0 auto; max-height:60px; width:auto; }
.brand .mark{ font-size:clamp(1.05rem,2.4vw,1.5rem); letter-spacing:.16em; font-weight:400; }
.brand .sub{ display:block; font-size:.55rem; letter-spacing:.5em; margin-top:.35rem; opacity:.75; }
.wing{ display:block; width:70px; height:auto; margin:2px auto 0; opacity:.85; }

.nav-right{
  flex:1; display:flex; justify-content:flex-end; align-items:center;
  gap:clamp(.8rem,2vw,1.8rem);
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
}
.lang{ display:flex; align-items:center; gap:.3rem; opacity:.9; }
.reserve-btn{
  background:var(--white); color:var(--navy-deep); border:none;
  padding:.75rem 1.5rem; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  transition:background .2s ease, transform .15s ease; white-space:nowrap;
}
.reserve-btn:hover{ background:var(--gold); }

.nav-divider{
  display:block; max-width:1400px; margin:.4rem auto 0;
  border:none; border-top:1px solid rgba(255,255,255,.15);
}

/* mobile menu toggle */
.menu-toggle{
  display:none;
  background:none; border:1px solid rgba(255,255,255,.4);
  color:var(--white); padding:.5rem .7rem; font-size:.65rem;
  letter-spacing:.1em; text-transform:uppercase;
}

/* =========================
   Hero content
========================= */
.hero-content{
  position:relative; z-index:5; flex:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 clamp(1.2rem,4vw,3rem) clamp(4rem,10vh,7rem);
  max-width:900px;
}
h1.hero-title{ font-weight:400; line-height:1.08; font-size:clamp(2.1rem, 6.2vw, 4.2rem); }
h1.hero-title em{ font-style:italic; }
.tagline{
  max-width:480px; margin-top:1.6rem;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:.95rem; line-height:1.6; color:rgba(255,255,255,.82);
}

.scroll-badge{
  position:absolute; right:clamp(1.2rem,5vw,4.5rem); bottom:clamp(6rem,14vh,9rem);
  width:88px; height:88px; border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  display:flex; align-items:center; justify-content:center; z-index:6;
}
.scroll-badge svg{ width:16px; height:16px; }
.scroll-badge .ring-text{ position:absolute; inset:0; animation:milliona-spin 14s linear infinite; }
@keyframes milliona-spin{ to{ transform:rotate(360deg);} }

.wave-divider{ position:absolute; left:0; right:0; bottom:-1px; z-index:7; line-height:0; }
.wave-divider svg{ width:100%; height:clamp(40px,7vw,90px); display:block; }

@media (prefers-reduced-motion: reduce){
  .ring-text{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* =========================
   Main content / pages
========================= */
.site-main{
  max-width:1200px;
  margin:0 auto;
  padding:clamp(3rem,8vw,6rem) clamp(1.2rem,4vw,3rem);
}
.entry-title{
  font-size:clamp(1.8rem,4vw,2.6rem);
  font-weight:400;
  margin-bottom:1.2rem;
}
.entry-content{
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:1rem;
  line-height:1.75;
  color:#2c3948;
  max-width:70ch;
}
.entry-content p + p{ margin-top:1.1rem; }

/* =========================
   Footer
========================= */
.site-footer{
  background:var(--navy-deep);
  color:rgba(255,255,255,.75);
  font-family:"Helvetica Neue",Arial,sans-serif;
}
.footer-widgets{
  max-width:1200px; margin:0 auto;
  padding:clamp(3rem,6vw,4.5rem) clamp(1.2rem,4vw,3rem) 2rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
  gap:2.5rem;
}
.footer-widgets .widget-title{
  font-family:"Georgia",serif;
  font-size:1rem;
  letter-spacing:.06em;
  margin-bottom:1rem;
  color:var(--white);
}
.footer-bottom{
  max-width:1200px; margin:0 auto;
  padding:1.5rem clamp(1.2rem,4vw,3rem) 2.5rem;
  display:flex; flex-wrap:wrap; gap:1rem;
  justify-content:space-between; align-items:center;
  font-size:.8rem;
  border-top:1px solid rgba(255,255,255,.1);
}

/* =========================
   Mobile
========================= */
@media (max-width: 820px){
  .navbar{ flex-wrap:wrap; padding:1.2rem 1.2rem .8rem; }
  .nav-links{
    order:3; flex:0 0 100%;
    justify-content:center; gap:1.4rem;
    margin-top:.9rem; font-size:.62rem;
    display:none;
  }
  .navbar.is-open .nav-links{ display:flex; flex-wrap:wrap; }
  .nav-right .nav-links{ justify-content:center; }
  .brand{ order:1; flex:1; }
  .menu-toggle{ order:2; display:inline-block; }
  .nav-right{ order:2; flex:0 0 auto; }
  .lang span.lang-label{ display:none; }
  .reserve-btn{ padding:.65rem 1.1rem; font-size:.62rem; }
  h1.hero-title{ font-size:clamp(1.9rem,8vw,2.6rem); }
  .scroll-badge{ width:66px; height:66px; right:1.2rem; bottom:5rem; }
  .hero-content{ padding-bottom:6.5rem; }
}

@media (max-width: 480px){
  .nav-links{ gap:1rem; font-size:.58rem; }
  .lang{ display:none; }
}
