/*
Theme Name: VisaFlightReservation
Theme URI: https://visaflightreservation.com
Author: VisaFlightReservation
Description: Brand-matched WordPress theme for VisaFlightReservation. Playfair Display headings, DM Sans body, blue/amber palette. Booking CTAs route to booking.visaflightreservation.com.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: vfr
*/

:root{
  --vfr-bg:#f4f6fa;
  --vfr-fg:#11192a;
  --vfr-muted:#6b7382;
  --vfr-card:#ffffff;
  --vfr-border:#dde2ea;
  --vfr-primary:#1864c7;
  --vfr-primary-dark:#134f9e;
  --vfr-secondary:#f0a526;
  --vfr-accent:#29a38a;
  --vfr-radius:14px;
  --vfr-shadow:0 6px 24px rgba(17,25,42,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vfr-bg);color:var(--vfr-fg);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4vw,3rem)}
h2{font-size:clamp(1.5rem,3vw,2.25rem)}
a{color:var(--vfr-primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--vfr-border)}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;max-width:1100px;margin:0 auto}
.site-brand{display:flex;align-items:center;gap:.5rem;color:var(--vfr-fg);font-weight:700;font-size:1.05rem}
.site-brand .logo{width:34px;height:34px;border-radius:10px;background:var(--vfr-primary);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:18px}
.site-nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;align-items:center}
.site-nav a{color:var(--vfr-muted);font-size:.95rem}
.site-nav a:hover{color:var(--vfr-fg);text-decoration:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:12px;font-weight:700;font-size:.95rem;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn-primary{background:var(--vfr-secondary);color:#1a1a1a;box-shadow:0 8px 24px rgba(240,165,38,.35)}
.btn-primary:hover{transform:translateY(-1px);text-decoration:none;background:#e89b1f}
.btn-outline{background:transparent;color:var(--vfr-primary);border:1.5px solid var(--vfr-primary)}
.btn-outline:hover{background:var(--vfr-primary);color:#fff;text-decoration:none}

/* Hero */
.hero{background:linear-gradient(135deg,var(--vfr-primary) 0%,#0f3a78 100%);color:#fff;padding:4rem 1.25rem;text-align:center}
.hero h1{color:#fff}
.hero p{font-size:1.15rem;opacity:.92;max-width:640px;margin:0 auto 2rem}

/* Content */
.site-main{padding:3rem 0}
.entry{background:var(--vfr-card);border:1px solid var(--vfr-border);border-radius:var(--vfr-radius);padding:2rem;box-shadow:var(--vfr-shadow);margin-bottom:1.5rem}
.entry-title a{color:var(--vfr-fg)}
.entry-meta{color:var(--vfr-muted);font-size:.85rem;margin-bottom:1rem}

/* Footer */
.site-footer{background:var(--vfr-card);border-top:1px solid var(--vfr-border);padding:3rem 1.25rem;margin-top:3rem;color:var(--vfr-muted);font-size:.9rem}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;max-width:1100px;margin:0 auto}
.site-footer h4{font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--vfr-fg);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.5rem}
.site-footer a{color:var(--vfr-muted)}
.site-copy{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--vfr-border)}

/* Mobile nav */
@media (max-width:780px){
  .site-nav{display:none}
  .site-nav.open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--vfr-border)}
  .site-nav.open ul{flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;gap:.75rem}
  .menu-toggle{display:inline-flex}
}
.menu-toggle{display:none;background:transparent;border:0;font-size:1.5rem;cursor:pointer;color:var(--vfr-fg)}
