/*
Theme Name: American Flight Schools
Theme URI: https://americanflightschools.com
Author: American Flight Schools
Description: Custom theme for American Flight Schools. Header and footer match the brand mockup; nav & submenus are editable in Appearance > Menus, logo/CTA/social/footer text in Appearance > Customize, and page body content is built with Elementor.
Version: 1.0.6
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: afs
*/

/* ===== Base ===== */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#19114F;background:#F8F9FB;line-height:1.5}
a{color:#4669B2;text-decoration:none;transition:color .15s ease}
a:hover{color:#19114F}
img{max-width:100%;height:auto;display:block}
.afs-container{max-width:1180px;margin:0 auto;padding:0 24px}

/* ===== Header ===== */
.afs-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 #ECEEF2}
.admin-bar .afs-header{top:32px}
@media(max-width:782px){.admin-bar .afs-header{top:46px}}
.afs-navrow{max-width:1440px;margin:0 auto;position:relative;display:flex;align-items:center;gap:18px;padding:14px 56px}
.afs-logo{flex-shrink:0;display:flex;align-items:center}
.afs-logo img{height:74px;width:auto}
.afs-logo .afs-logo-text{font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;color:#19114F}

/* Counter widgets — center number + title */
.elementor-counter{text-align:center}
.elementor-counter .elementor-counter-number-wrapper{justify-content:center}
.elementor-counter .elementor-counter-title{text-align:center;width:100%}

/* nav (wp_nav_menu) */
.afs-nav{margin-left:auto}
.afs-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}
.afs-menu li{position:relative}
.afs-menu > li{padding:8px 0;cursor:pointer}
.afs-menu > li > a{font-family:Montserrat,sans-serif;font-weight:600;font-size:14.5px;color:#19114F;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.afs-menu > li.menu-item-has-children > a::after{content:"\25BE";font-size:11px;line-height:1}

/* dropdown panel */
.afs-menu .sub-menu{list-style:none;margin:14px 0 0;padding:10px;position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:260px;background:#fff;border-radius:10px;box-shadow:0 18px 44px rgba(20,16,66,.18);border:1px solid #ECEEF2;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:40}
.afs-menu .sub-menu::after{content:"";position:absolute;top:-24px;left:0;right:0;height:24px}
.afs-menu .sub-menu::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:#fff;border-left:1px solid #ECEEF2;border-top:1px solid #ECEEF2}
.afs-menu > li:hover > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.afs-menu .sub-menu a{display:block;padding:10px 14px;border-radius:6px;font-family:Inter,sans-serif;font-weight:500;font-size:14px;color:#19114F;white-space:nowrap}
.afs-menu .sub-menu a:hover{background:#F3F5F9;color:#19114F}
/* location grouping: add CSS class "afs-heading" to a menu item in Appearance > Menus */
.afs-menu .sub-menu li.afs-heading > a{font-family:Montserrat,sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;color:#8FA9D8;padding:12px 14px 6px;pointer-events:none;cursor:default}
.afs-menu .sub-menu li.afs-heading > a:hover{background:none}
.afs-menu .sub-menu li.afs-heading{margin-top:2px}
.afs-menu .sub-menu li.afs-heading + li a,
.afs-menu .sub-menu li.afs-sub > a{padding-left:26px}
.afs-menu .sub-menu.wide{min-width:300px}
/* third level: flyout to the right */
.afs-menu .sub-menu li.menu-item-has-children > a{display:flex;align-items:center;justify-content:space-between;gap:12px}
.afs-menu .sub-menu li.menu-item-has-children > a::after{content:"\25B8";font-size:11px;line-height:1;color:#8FA9D8}
.afs-menu .sub-menu .sub-menu{top:-10px;left:100%;margin:0 0 0 8px;transform:translateX(6px);min-width:240px}
.afs-menu .sub-menu .sub-menu::before{display:none}
.afs-menu .sub-menu .sub-menu::after{top:0;bottom:0;left:-16px;right:auto;width:16px;height:auto}
.afs-menu .sub-menu li:hover > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
/* flip left when near the right edge: add CSS class "afs-flip" to the parent item */
.afs-menu .sub-menu li.afs-flip > .sub-menu{left:auto;right:100%;margin:0 8px 0 0;transform:translateX(-6px)}
.afs-menu .sub-menu li.afs-flip:hover > .sub-menu{transform:translateX(0)}
.afs-menu .sub-menu li.afs-flip > .sub-menu::after{left:auto;right:-16px}

/* CTA button */
.afs-cta{background:#A95656;color:#fff;font-family:Montserrat,sans-serif;font-weight:700;font-size:13.5px;padding:13px 22px;border-radius:6px;display:inline-block;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.afs-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,16,66,.28);filter:brightness(1.07)}
.afs-cta:active{transform:translateY(0);box-shadow:0 4px 12px rgba(20,16,66,.2)}

/* gradient underline */
.afs-gradient{height:3px;background:linear-gradient(90deg,#19114F 0%,#4669B2 55%,#8FA9D8 100%)}

/* hamburger */
.afs-nav-toggle-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.afs-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;margin-left:6px}
.afs-burger span{display:block;width:26px;height:2px;background:#19114F;transition:transform .2s ease,opacity .2s ease}
#afs-nav-toggle:checked ~ .afs-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#afs-nav-toggle:checked ~ .afs-burger span:nth-child(2){opacity:0}
#afs-nav-toggle:checked ~ .afs-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Footer ===== */
.afs-footer{background:#0d0a2e;padding:64px 56px 32px}
.afs-fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;max-width:1180px;margin:0 auto;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.afs-fbrand img{height:104px;width:auto;margin-bottom:24px}
.afs-fbrand .afs-logo-text{color:#fff;font-family:Montserrat,sans-serif;font-weight:800;font-size:26px;margin-bottom:24px}
.afs-fbrand p{color:#a7aecb;font-size:14.5px;line-height:1.6;margin:0 0 22px;max-width:300px}
.afs-fhead{font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;color:#fff;margin-bottom:18px}
.afs-fcol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.afs-fcol a{color:#a7aecb;font-family:Inter,sans-serif;font-size:14.5px}
.afs-fcol a:hover{color:#fff}
.afs-social{display:flex;flex-direction:column;gap:14px}
.afs-social a{display:flex;align-items:center;gap:11px;color:#a7aecb;font-size:14.5px}
.afs-social a:hover{color:#fff}
.afs-social .ico{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08)}
.afs-social .ico svg{stroke:#dfe4f0}
.afs-social .ico.fill svg{fill:#dfe4f0;stroke:none}
.afs-fbottom{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:24px auto 0;color:#7f85a3;font-size:13px}
.afs-fbottom .afs-legal{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.afs-fbottom .afs-legal a{color:#7f85a3}
.afs-fbottom .afs-legal a:hover{color:#fff}
.afs-footer .afs-cta{font-size:13px;padding:12px 20px}

/* ===== Content ===== */
.afs-content{min-height:40vh;padding:56px 0}
.afs-content .entry-title{font-family:Montserrat,sans-serif;font-weight:800}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .afs-navrow{padding:14px 20px}
  .afs-logo img{height:56px}
  .afs-burger{display:flex}
  .afs-nav{position:fixed;top:84px;left:0;right:0;width:100%;margin-left:0;display:none;background:#fff;border-top:1px solid #ECEEF2;box-shadow:0 18px 44px rgba(20,16,66,.14);max-height:calc(100vh - 84px);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:9996}
  .afs-header:has(#afs-nav-toggle:checked) .afs-nav{display:block}
  html:has(#afs-nav-toggle:checked),body:has(#afs-nav-toggle:checked){overflow:hidden}
  .afs-menu{flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 24px}
  .afs-menu > li{padding:8px 2px;border-bottom:1px solid #F1F2F6}
  .afs-menu > li > a{font-size:16px}
  .afs-menu > li.menu-item-has-children > a::after{transition:transform .15s ease}
  .afs-menu > li.afs-open.menu-item-has-children > a::after{transform:rotate(180deg)}
  .afs-menu .sub-menu{position:static !important;top:auto !important;left:auto !important;right:auto !important;transform:none !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;margin:4px 0 4px 6px;padding:0 0 4px;min-width:auto;width:100%;box-shadow:none;border:none;border-radius:0;display:none}
  .afs-menu > li.afs-open > .sub-menu{display:block !important}
  .afs-menu .sub-menu::before,.afs-menu .sub-menu::after{display:none !important;content:none !important}
  .afs-menu .sub-menu .sub-menu{margin:2px 0 2px 12px !important}
  .afs-menu .sub-menu li.menu-item-has-children > a::after{display:none}
  .afs-nav{overflow-x:hidden}
  .afs-cta{font-size:12px;padding:10px 14px}
  .afs-footer{padding:48px 28px 32px}
  .afs-fgrid{grid-template-columns:1fr;gap:34px}
  .afs-fbrand p{max-width:none}
  .afs-fbottom{flex-direction:column;gap:14px;align-items:flex-start}
}
@media(max-width:600px){
  .afs-navrow{padding:12px 16px;gap:10px}
  .afs-logo img{height:46px}
  .afs-nav{top:70px;max-height:calc(100vh - 70px)}
  .afs-cta{padding:9px 12px;font-size:11.5px}
  .afs-footer{padding:40px 20px 28px}
  .afs-fbrand img{height:84px}
  .afs-content{padding:36px 0}
  .afs-fbottom .afs-legal{flex-wrap:wrap;gap:12px 20px}
}


/* ===== Homepage (Elementor page template) layout ===== */
.afs-2col,.afs-hero2,.afs-loc2,.afs-grid{display:grid!important;width:100%}
.afs-2col>.e-con-inner,.afs-hero2>.e-con-inner,.afs-loc2>.e-con-inner,.afs-grid>.e-con-inner{display:contents!important}
.afs-2col{grid-template-columns:1fr 1fr;align-items:stretch}
.afs-hero2{grid-template-columns:1.2fr 0.8fr;align-items:stretch}
.afs-loc2{grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center}
.afs-2col>*,.afs-hero2>*,.afs-loc2>*{width:auto!important;max-width:none!important}
.afs-4col{grid-template-columns:repeat(4,1fr)}
.afs-cards2{grid-template-columns:1fr 1fr;gap:22px!important}
.afs-cards3{grid-template-columns:repeat(3,1fr);gap:24px!important}
.afs-locgrid{grid-template-columns:1fr 1fr;gap:16px!important}
.afs-span2{grid-column:1 / -1}
.afs-w1200{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.afs-w1180{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.afs-w1120{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}
.afs-w1040{width:100%;max-width:1040px;margin-left:auto;margin-right:auto}
.afs-w1000{width:100%;max-width:1000px;margin-left:auto;margin-right:auto}
.afs-w720{width:100%;max-width:720px;margin-left:auto;margin-right:auto}
.afs-w680{width:100%;max-width:680px;margin-left:auto;margin-right:auto}
.afs-w600{width:100%;max-width:600px;margin-left:auto;margin-right:auto}
.afs-vid{background:repeating-linear-gradient(135deg,#1d1758,#1d1758 12px,#241d68 12px,#241d68 24px);position:relative}
.afs-photoph{background:repeating-linear-gradient(135deg,#ECEEF2,#ECEEF2 10px,#e2e5eb 10px,#e2e5eb 20px)}
.afs-stat{border-right:1px solid rgba(255,255,255,.12)}
.afs-stat:last-child{border-right:none}
.afs-relative{position:relative}
.afs-fill{position:absolute;inset:0;height:100%!important;width:100%}
.afs-fill .elementor-widget-container,.afs-fill img{height:100%;width:100%;object-fit:cover;display:block}
.afs-bullet{display:flex;align-items:center;gap:12px;color:#19114F;font-size:15px;font-family:Inter,sans-serif}
.afs-bullet::before{content:"";width:7px;height:7px;border-radius:50%;background:#4669B2;flex:none}
.afs-vidcap{position:absolute;bottom:22px;left:24px;font:600 12px ui-monospace,monospace;color:#aab0c8;background:rgba(20,16,66,.6);padding:8px 14px;border-radius:5px;border:1px solid rgba(255,255,255,.15);margin:0}
.afs-imgcap{position:absolute;bottom:22px;left:24px;font:600 12px ui-monospace,monospace;color:#fff;background:rgba(20,16,66,.7);padding:8px 14px;border-radius:5px;border:1px solid rgba(255,255,255,.2);margin:0;z-index:2}
.afs-playbtn{width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.13);border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center}
.afs-playbtn::after{content:"";width:0;height:0;border-left:24px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:6px}
@media(max-width:1024px){
  .afs-2col,.afs-hero2,.afs-loc2{grid-template-columns:1fr!important;gap:0}
  .afs-loc2{gap:34px}
  .afs-4col{grid-template-columns:1fr 1fr}
  .afs-cards2,.afs-cards3,.afs-locgrid{grid-template-columns:1fr!important}
  .afs-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.12)}
  .afs-stat:last-child{border-bottom:none}
}
@media(max-width:600px){ .afs-4col{grid-template-columns:1fr} }
