
/*
Theme Name: AirFluxDrones v11.1
Theme URI: https://airfluxdrones.com
Author: AirFluxDrones + ChatGPT
Description: Production-ready custom theme with video hero, detailed services, Portfolio visual placeholders, CF7 contact template, and polished footer.
Version: 11.1
Text Domain: airfluxdrones
*/

:root{ --afd-blue:#167DFF; --afd-dark:#0f1b2d; --afd-light:#f5f7fb; --afd-overlay:rgba(0,76,153,0.48); }
*{box-sizing:border-box;} html,body{margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;color:#1c2130;background:#fff;}
.wrapper{max-width:1200px;margin:0 auto;padding:0 24px;}
a{color:var(--afd-blue);text-decoration:none;} a:hover{text-decoration:underline;}

/* Header */
.site-header{background:rgba(255,255,255,.90);backdrop-filter:saturate(160%) blur(8px);position:sticky;top:0;z-index:9999;border-bottom:1px solid #e9eef7;transition:background .25s, box-shadow .25s;}
.site-header.solid{background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.site-header .wrapper{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.brand{display:flex;align-items:center;gap:12px;}
.custom-logo,.brand img{max-height:78px;width:auto;height:auto;display:inline-block;transition:max-height .25s ease;}
.site-header.solid .custom-logo,.site-header.solid .brand img{max-height:68px;}
@media(min-width:1024px){
  .custom-logo,.brand img{max-height:78px;}
  .site-header.solid .custom-logo,.site-header.solid .brand img{max-height:68px;}
}

/* Nav */
nav.primary ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;}
nav.primary a{color:#0f1b2d;font-weight:700;text-decoration:none;letter-spacing:.01em;}
nav.primary a:hover{color:var(--afd-blue);}
.menu-toggle{position:relative;width:36px;height:28px;display:none;background:transparent;border:none;padding:0;cursor:pointer;}
.menu-toggle .bar{position:absolute;left:0;right:0;height:3px;background:#0f1b2d;border-radius:2px;transform-origin:center;transition:transform .25s, opacity .2s, top .25s;}
.menu-toggle .bar:nth-child(1){top:5px;} .menu-toggle .bar:nth-child(2){top:12.5px;} .menu-toggle .bar:nth-child(3){top:20px;}
.menu-toggle.open .bar:nth-child(1){transform:rotate(45deg); top:12.5px;}
.menu-toggle.open .bar:nth-child(2){opacity:0;}
.menu-toggle.open .bar:nth-child(3){transform:rotate(-45deg); top:12.5px;}
@media(max-width:880px){
  .menu-toggle{display:inline-block;}
  nav.primary{position:fixed;left:0;right:0;top:156px;background:#fff;border-top:1px solid #e9eef7;display:none;z-index:9990;box-shadow:0 8px 18px rgba(0,0,0,.06);}
  nav.primary.open{display:block;}
  nav.primary ul{flex-direction:column;gap:0;}
  nav.primary li{border-bottom:1px solid #f1f4fa;}
  nav.primary a{display:block;padding:12px 20px;color:#0f1b2d;}
}
.main-spacer{height:10px;}

/* Hero video */
.hero{
  position:relative;color:#fff;min-height:62vh;display:flex;align-items:center;padding:32px 0;
  overflow:hidden;background:#0b1222 url('assets/hero.jpg') center center/cover no-repeat;
}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transform:scale(1.02);animation:afdVideoZoom 18s ease-in-out infinite alternate;
}
.hero::after{
  content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(0,76,153,0.52), rgba(0,20,45,0.55));
  z-index:1;
}
.hero .wrapper{position:relative;z-index:2;}
.hero h1{font-size:clamp(36px,7vw,68px);margin:.05em 0 .18em;line-height:1.02;text-shadow:0 3px 10px rgba(0,0,0,.42);letter-spacing:-.03em;animation:afdFadeUp .85s ease both;}
.hero p{max-width:800px;font-size:clamp(17px,2vw,20px);opacity:.98;text-shadow:0 2px 6px rgba(0,0,0,.34);animation:afdFadeUp .95s ease .08s both;}
.hero .cta{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;animation:afdFadeUp 1s ease .16s both;}
.hero .cta a{display:inline-block;padding:12px 18px;border-radius:10px;font-weight:800;}
.hero .cta .primary{background:var(--afd-blue);color:#fff;box-shadow:0 8px 20px rgba(22,125,255,.25);}
.hero .cta .secondary{border:2px solid rgba(255,255,255,.35);color:#e8f1ff;background:rgba(255,255,255,.06);}
@keyframes afdFadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes afdVideoZoom{from{transform:scale(1.02);}to{transform:scale(1.06);}}
@media(max-width:760px){.hero{min-height:56vh;padding:28px 0;}}

/* Sections */
.section{padding:44px 0;} .section.alt{background:var(--afd-light);}
.section h2{font-size:clamp(26px,4vw,34px);margin:0 0 16px;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.card{background:#fff;border:1px solid #e5e9f2;border-radius:12px;padding:14px;box-shadow:0 2px 6px rgba(0,0,0,.04);}

/* Form */
.afd-form{background:#fff;border:1px solid #e5e9f2;border-radius:12px;padding:12px;}
.afd-form label{display:block;font-weight:600;margin:6px 0 2px;}
.afd-form input,.afd-form select,.afd-form textarea{width:100%;padding:8px 10px;border:1px solid #dfe6f1;border-radius:8px;font-size:15px;}
.afd-form textarea{min-height:78px;resize:vertical;}
.afd-form .consent-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;}
.afd-form .consent-group label{font-size:12px;opacity:.9;margin:0;font-weight:500;}
.afd-form button{margin-top:8px;display:inline-block;background:var(--afd-blue);color:#fff;padding:12px 16px;border-radius:10px;font-weight:800;border:none;cursor:pointer;}
.afd-form .afd-alert{margin-top:10px;font-size:14px;display:none;}
.afd-form .afd-alert.ok{color:#116329;} .afd-form .afd-alert.err{color:#b00202;}

/* Footer */
.site-footer{background:#fafbff;border-top:1px solid #e9eef7;padding:28px 0;margin-top:20px;}
.contact-list{list-style:none;padding:0;margin:0;}
.contact-list li{margin:4px 0;}
.ico-ig{display:inline-block;width:16px;height:16px;background:url('assets/instagram.svg') no-repeat center/contain;vertical-align:-2px;margin-right:6px;opacity:.9}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px;}
.portfolio-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid #e5e9f2;box-shadow:0 2px 6px rgba(0,0,0,.04);background:#fff;}
.portfolio-card img{display:block;width:100%;height:200px;object-fit:cover;filter:saturate(0.9) contrast(1.02);}
.portfolio-card .title{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.45);color:#fff;padding:6px 10px;border-radius:8px;font-weight:700;font-size:14px;}
.portfolio-card:hover img{transform:scale(1.02);transition:transform .25s ease;}
.portfolio-cta{margin-top:22px;text-align:center;}
.portfolio-cta a{display:inline-block;background:var(--afd-blue);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;}

/* v11.1 header/footer/contact cleanup overrides */
.custom-logo,.brand img{max-height:78px!important;}
.site-header.solid .custom-logo,.site-header.solid .brand img{max-height:68px!important;}
@media(min-width:1024px){
  .custom-logo,.brand img{max-height:96px!important;}
  .site-header.solid .custom-logo,.site-header.solid .brand img{max-height:82px!important;}
}
.site-header .wrapper{padding:8px 24px!important;}
@media(max-width:880px){nav.primary{top:92px!important;}}
.site-footer{padding:18px 0!important;margin-top:20px;}
.site-footer .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start;}
.site-footer p{margin:0 0 6px;}
.contact-list li{margin:3px 0;white-space:nowrap;}
@media(max-width:760px){
  .site-footer .footer-grid{grid-template-columns:1fr;gap:8px;text-align:left;}
  .contact-list li{white-space:normal;}
}
