/*
 Theme Name:   AeroWash Astra Child
 Theme URI:    https://aerowashsolutions.com
 Description:  Astra child theme for AeroWash Solutions — Commercial Drone Cleaning
 Author:       Renan Pellegrinelli
 Author URI:   https://aerowashsolutions.com
 Template:     astra
 Version:      1.2.0
 Text Domain:  aerowash-astra-child
*/

/* ============================================
   AEROWASH SOLUTIONS — BRAND DESIGN TOKENS
   Generated from Brand IDEANS Design System
   ============================================ */

:root {
  /* Primary — Command Navy */
  --brand-primary: #1B3A5C;
  --color-primary-50: #EBF0F7;
  --color-primary-100: #D1DFF0;
  --color-primary-200: #A3BFE0;
  --color-primary-300: #7599C7;
  --color-primary-400: #4A73AD;
  --color-primary-500: #1B3A5C;
  --color-primary-600: #163050;
  --color-primary-700: #112744;
  --color-primary-800: #0C1D37;
  --color-primary-900: #081528;

  /* Secondary — Steel Sky */
  --brand-secondary: #4A7FA8;
  --color-secondary-50: #EFF4F8;
  --color-secondary-100: #DBE7F1;
  --color-secondary-200: #B7CFE3;
  --color-secondary-300: #8EB3D1;
  --color-secondary-400: #6B9ABF;
  --color-secondary-500: #4A7FA8;
  --color-secondary-600: #3D6A8E;
  --color-secondary-700: #305574;
  --color-secondary-800: #24405A;
  --color-secondary-900: #1A2F42;

  /* Accent — Signal Orange */
  --brand-accent: #E8712A;
  --color-accent: #E8712A;
  --color-accent-light: #F5A66A;
  --color-accent-dark: #C45D1F;
  --color-accent-hover: #D4631F;

  /* Neutrals — Concrete */
  --brand-neutral-50: #FAFBFC;
  --brand-neutral-100: #F1F3F5;
  --brand-neutral-200: #E2E6EA;
  --brand-neutral-700: #444D56;
  --brand-neutral-800: #2D3339;
  --brand-neutral-900: #1C2025;
  --color-neutral-50: #FAFBFC;
  --color-neutral-100: #F1F3F5;
  --color-neutral-200: #E4E7EB;
  --color-neutral-300: #CED4DA;
  --color-neutral-400: #ADB5BD;
  --color-neutral-500: #868E96;
  --color-neutral-600: #6C757D;
  --color-neutral-700: #495057;
  --color-neutral-800: #343A40;
  --color-neutral-900: #1C2025;

  /* Semantic */
  --color-success: #22C55E;
  --color-success-light: #E6F5EC;
  --color-warning: #F59E0B;
  --color-warning-light: #FFF8E1;
  --color-error: #EF4444;
  --color-error-light: #FDECEA;
  --color-info: #4A7FA8;
  --color-info-light: #EFF4F8;

  /* Typography */
  --font-primary: 'Inter', system-ui, -apple-system, sans-serif;
  --font-secondary: 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}
/* ============================================
   TYPOGRAPHY OVERRIDES
   ============================================ */

body {
  font-family: var(--font-secondary);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-neutral-700);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-primary);
}

h1 {
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h2 {
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

h3 {
  font-weight: 600;
  line-height: 1.3;
}
/* ============================================
   SECTION LABELS (orange overline)
   ============================================ */

.aw-section-label {
  color: var(--brand-accent) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  text-align: center;
  display: block;
}

.aw-preheading {
  color: var(--brand-accent);
  font-family: var(--font-mono);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
/* ============================================
   BUTTONS
   ============================================ */

.aw-btn-primary {
  background: var(--brand-accent) !important;
  color: white !important;
  padding: 16px 32px;
  border-radius: 8px;
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.aw-btn-primary:hover {
  background: var(--color-accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(232, 113, 42, 0.35);
}

.aw-btn-secondary {
  border: 2px solid var(--brand-secondary);
  color: var(--brand-secondary);
  padding: 14px 28px;
  border-radius: 8px;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  background: transparent;
  cursor: pointer;
}

.aw-btn-secondary:hover {
  background: var(--brand-secondary);
  color: white;
  transform: translateY(-2px);
}
/* ============================================
   CTA PULSE ANIMATION
   ============================================ */

#aw-section-cta .aw-btn-primary {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232,113,42,0.4); }
  50% { box-shadow: 0 0 0 12px rgba(232,113,42,0); }
}
/* ============================================
   HERO SECTION
   ============================================ */

#aw-section-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

/* Hero content — always visible (no entrance animation to avoid tab-throttle issues) */
.aw-hero-content > * {
  opacity: 1;
  transform: translateY(0);
}

/* Scroll indicator bounce — vertical only (flex centers horizontally) */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-10px); }
  60% { transform: translateY(-5px); }
}

.aw-scroll-hint {
  animation: bounce 2s infinite;
}
/* ============================================
   STATS SECTION
   ============================================ */

.aw-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.aw-stat-card {
  padding: 0.5rem;
}

.aw-counter {
  font-family: var(--font-mono);
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--brand-primary);
}
/* ============================================
   SERVICES GRID
   ============================================ */

.aw-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.aw-service-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.aw-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}

.aw-card-visual {
  position: relative;
  height: 220px;
  border-radius: 12px;
  overflow: hidden;
}

/* Placeholder gradients for before/after (until real images) */
.aw-dirty-state {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #444D56, #6B7D8D);
}

.aw-dirty-state::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(28,32,37,0.3);
}

.aw-clean-reveal {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1B3A5C, #4A7FA8);
  clip-path: inset(0 100% 0 0);
}

.aw-service-card a[href*="services"] {
  color: var(--brand-accent);
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  margin-top: 0.75rem;
  display: inline-block;
  transition: color 0.2s ease;
}

.aw-service-card a[href*="services"]:hover {
  color: var(--color-accent-dark);
}
/* ============================================
   WHY AEROWASH (COMPARISON)
   ============================================ */

#aw-section-why table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: var(--font-secondary);
  font-size: 0.9rem;
}
/* ============================================
   HOW IT WORKS (TIMELINE)
   ============================================ */

.aw-step {
  opacity: 0.5;
  transform: translateX(-20px);
  transition: all 0.5s ease;
}

.aw-step.aw-step-active {
  opacity: 1;
  transform: translateX(0);
}
/* ============================================
   INDUSTRIES CARDS
   ============================================ */

#aw-section-industries a {
  text-decoration: none;
  background: white;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-align: center;
  border: 1px solid #E2E6EA;
  transition: all 0.3s ease;
  display: block;
}

#aw-section-industries a:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  border-color: var(--brand-accent);
}
/* ============================================
   TRUST BADGES
   ============================================ */

.aw-trust-row {
  margin-top: 2.5rem;
  display: flex;
  gap: 2rem;
  align-items: center;
  opacity: 0.7;
}

/* ============================================
   INDUSTRIES GRID — Desktop Layout
   ============================================ */

.aw-industries-grid {
  grid-template-columns: repeat(4, 1fr);
}
/* ============================================
   TRUST/SAFETY GRID — Desktop Layout
   ============================================ */

.aw-trust-grid {
  grid-template-columns: repeat(3, 1fr);
}
/* ============================================
   ACCESSIBILITY — REDUCED MOTION
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  #aw-drone-container {
    display: none !important;
  }

  .aw-clean-reveal {
    clip-path: none !important;
  }

  * {
    animation: none !important;
    transition: none !important;
  }

  .aw-hero-content > * {
    opacity: 1 !important;
    transform: none !important;
  }

  .aw-step {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ============================================
   ASTRA OVERRIDES
   ============================================ */

/* Override Astra's default link color */
a {
  color: var(--brand-secondary);
}

a:hover {
  color: var(--brand-primary);
}

/* Ensure Elementor sections are full-width */
.elementor-section.elementor-section-full_width {
  max-width: 100%;
}

/* Override template residual styles */
.ast-container {
  max-width: 1200px;
}

/* ============================================
   HEADER NAV & GLOBAL OVERRIDES
   ============================================ */

/* Header nav — Menu active/hover states */
.main-header-menu .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item.current-menu-ancestor > .menu-link,
.ast-builder-menu .menu-item.current-menu-item > a,
.ast-builder-menu .menu-item.current_page_item > a {
  color: #E8712A !important;
}

.main-header-menu .menu-item > .menu-link:hover,
.ast-builder-menu .menu-item > a:hover {
  color: #E8712A !important;
}

/* Ensure all header nav links are white by default */
.main-header-menu .menu-item > .menu-link,
.ast-builder-menu .menu-item > a.menu-link {
  color: #FFFFFF !important;
}
/* --- Header Layout Fix — prevent wrapping --- */
.main-header-menu {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.main-header-menu > .menu-item {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.site-title,
.site-title a,
.ast-site-title-wrap {
  white-space: nowrap !important;
}
.ast-builder-grid-row {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.site-header-primary-section-left,
.site-header-primary-section-right {
  flex-shrink: 0 !important;
}
.ast-builder-menu-1 {
  flex-shrink: 1 !important;
  min-width: 0 !important;
}
/* Header CTA button — prevent text wrap */
.ast-builder-button-wrap div.ast-custom-button {
  white-space: nowrap !important;
  padding: 10px 18px !important;
  font-size: 12px !important;
}

/* ============================================
   PREMIUM DROPDOWN MENU — AeroWash Design v2
   ============================================ */

/* --- Dropdown Container --- */
.main-header-menu .sub-menu {
  background: #fff !important;
  border: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow:
    0 12px 40px rgba(27,58,92,.14),
    0 4px 12px rgba(0,0,0,.06) !important;
  padding: 6px 8px 8px !important;
  min-width: 260px !important;
  margin-top: 0 !important;
  overflow: visible;
  /* Animate in */
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s cubic-bezier(.4,0,.2,1),
              transform .22s cubic-bezier(.4,0,.2,1),
              visibility .22s !important;
  visibility: hidden;
  /* No hard border — use gradient accent instead */
  border-top: none !important;
  position: relative;
}

/* Gradient accent bar at top — smooth rounded pill */
.main-header-menu .sub-menu::before {
  content: '';
  position: absolute;
  top: 0;
  left: 16px;
  right: 16px;
  height: 3px;
  background: linear-gradient(90deg, #E8712A 0%, #F4A261 60%, rgba(232,113,42,.2) 100%);
  border-radius: 0 0 3px 3px;
  z-index: 1;
}

/* Show on hover/focus */
.main-header-menu .menu-item:hover > .sub-menu,
.main-header-menu .menu-item.focus > .sub-menu,
.main-header-menu .menu-item:focus-within > .sub-menu {
  opacity: 1 !important;
  transform: translateY(0) !important;
  visibility: visible !important;
}

/* --- Dropdown Items --- */
.main-header-menu .sub-menu .menu-item {
  margin: 0 !important;
  border-radius: 8px !important;
  overflow: hidden;
}

.main-header-menu .sub-menu .menu-item > .menu-link {
  color: #1B3A5C !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: background .18s ease, color .18s ease, padding-left .18s ease !important;
  position: relative;
  line-height: 1.35 !important;
  letter-spacing: -.01em !important;
}

/* Hover state — soft brand tint */
.main-header-menu .sub-menu .menu-item > .menu-link:hover {
  background: rgba(232,113,42,.06) !important;
  color: #E8712A !important;
  padding-left: 18px !important;
}

/* Active item indicator */
.main-header-menu .sub-menu .menu-item.current-menu-item > .menu-link {
  color: #E8712A !important;
  background: rgba(232,113,42,.07) !important;
  font-weight: 600 !important;
}

.main-header-menu .sub-menu .menu-item.current-menu-item > .menu-link::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 16px;
  background: #E8712A;
  border-radius: 2px;
}

/* Subtle separator between items */
.main-header-menu .sub-menu .menu-item + .menu-item {
  margin-top: 1px !important;
}

/* --- Hide Astra's default arrow SVGs in dropdown items --- */
.main-header-menu .sub-menu .menu-item > .menu-link > .ast-icon {
  display: none !important;
}

/* --- Parent item arrow (Services ▾, Industries ▾) --- */
.main-header-menu > .menu-item-has-children > .menu-link .ast-header-navigation-arrow .ast-icon svg {
  width: 10px !important;
  height: 8px !important;
  transition: transform .3s ease !important;
}

.main-header-menu > .menu-item-has-children:hover > .menu-link .ast-header-navigation-arrow .ast-icon svg {
  transform: rotate(180deg) !important;
}

/* --- Top-level menu items --- */
.main-header-menu > .menu-item > .menu-link {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: .01em !important;
  padding: 0 12px !important;
  position: relative;
  white-space: nowrap !important;
}

/* No active indicator on top nav — clean look */

/* Remove Astra default borders and shadows */
.main-header-menu,
.ast-menu-shadow .sub-menu {
  box-shadow: none;
  border: none;
}

/* Remove Astra's default menu toggle button for desktop */
.main-header-menu .ast-menu-toggle {
  display: none !important;
}

/* --- Astra fix: override submenu-with-border --- */
.submenu-with-border .sub-menu {
  border: none !important;
}

/* --- Mobile refinements (keep Astra mobile behavior) --- */
@media (max-width: 921px) {
  .main-header-menu .sub-menu {
    box-shadow: none !important;
    border-radius: 0 !important;
    border-top: none !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
  .main-header-menu .sub-menu::before {
    display: none !important;
  }
  .main-header-menu .sub-menu .menu-item > .menu-link {
    padding: 10px 20px 10px 32px !important;
    border-radius: 0 !important;
  }
  .main-header-menu .sub-menu .menu-item > .menu-link:hover {
    padding-left: 36px !important;
  }
  .main-header-menu .sub-menu .menu-item + .menu-item {
    margin-top: 0 !important;
  }
  .main-header-menu .ast-menu-toggle {
    display: inline-flex !important;
  }
  
}

/* Header button — Force orange */
.ast-builder-button-wrap div.ast-custom-button,
.site-header .ast-builder-button-wrap div.ast-custom-button,
.ast-primary-header .ast-builder-button-wrap div.ast-custom-button {
  background-color: #E8712A !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  border: none !important;
  font-family: var(--font-primary) !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
}

.ast-builder-button-wrap div.ast-custom-button:hover,
.site-header .ast-builder-button-wrap div.ast-custom-button:hover {
  background-color: #D4631F !important;
}

/* Footer link hover (Elementor footer + HFE) */
#aw-section-footer a:hover,
.hfe-footer a:hover {
  color: #E8712A !important;
}

/* Custom footer responsive */
@media (max-width: 768px) {
  #aw-footer > div:first-child {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 480px) {
  #aw-footer > div:first-child {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   HEADER LOGO FIXES
   ============================================ */

/* Logo SVG sizing */
.site-logo-img img,
.custom-logo,
.ast-site-identity .custom-logo-link img {
  max-height: 50px !important;
  width: auto !important;
}

/* Transparent header: make color logo white via CSS filter */
.ast-theme-transparent-header .custom-logo-link img {
  max-height: 50px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
}

/* Site title styling next to logo */
.site-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  letter-spacing: -0.02em;
}

.site-title a {
  color: #1B3A5C !important;
}

/* Transparent header: white site title */
.ast-theme-transparent-header .site-title a {
  color: #FFFFFF !important;
}

/* Hide tagline */
.site-description {
  display: none !important;
}

/* ============================================
   HOMEPAGE "WHY CHOOSE US" FIX
   ============================================ */

/* Scope max-width only to S3 (Why Choose Us) — NOT hero or other sections */
#aw-section-why > .elementor-container {
  max-width: 1100px !important;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================
   SCROLL HINT — FORCE CENTER
   ============================================ */

.aw-scroll-hint {
  text-align: center !important;
  width: 100% !important;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ============================================
   SVG LOGO FIXES
   ============================================ */

/* Ensure SVG logos render at proper size */
.custom-logo[src$=".svg"],
.astra-logo-svg {
  width: 50px !important;
  height: auto !important;
  max-width: 50px !important;
}

/* Transparent header logo sizing + white filter */
.ast-theme-transparent-header .custom-logo[src$=".svg"] {
  width: 50px !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
}

/* Ensure the logo link has visible dimensions */
.custom-logo-link {
  display: inline-flex !important;
  align-items: center;
}

/* Remove Astra's oversized default logo width */
header .custom-logo-link img {
  max-width: 50px !important;
  width: 50px !important;
}

/* ============================================
   RESPONSIVE: header logo + nav
   ============================================ */
@media (max-width: 921px) {
  .site-logo-img img,
  .custom-logo {
    max-height: 40px !important;
  }
}

@media (max-width: 544px) {
  .site-logo-img img,
  .custom-logo {
    max-height: 34px !important;
  }
}

/* === CRITICAL FIX: Submenus must be absolutely positioned === */
.main-header-menu > .menu-item-has-children {
  position: relative !important;
}
.main-header-menu .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 9999 !important;
}
/* Fix parent items to not expand to submenu width */
.main-header-menu > .menu-item-has-children {
  display: inline-flex !important;
  align-items: center !important;
}
/* Ensure submenu items stack vertically */
.main-header-menu .sub-menu .menu-item {
  display: block !important;
  width: 100% !important;
}
/* ============================================================
   Breadcrumbs
   ============================================================ */
.aw-breadcrumbs {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #7A8A9A;
    background: #F7F9FB;
    border-bottom: 1px solid #E8EDF2;
}
.aw-breadcrumbs a {
    color: #4A7FA8;
    text-decoration: none;
}
.aw-breadcrumbs a:hover {
    color: #E8712A;
    text-decoration: underline;
}
.aw-bc-sep {
    margin: 0 8px;
    color: #B0C4DE;
}
.aw-bc-current {
    color: #1B3A5C;
    font-weight: 600;
}

/* Fix breadcrumb positioning - above page content, below header */
.aw-breadcrumbs {
    position: relative;
    z-index: 10;
    background: #F7F9FB;
}

/* ============================================
   COMPREHENSIVE MOBILE RESPONSIVE — v2.0
   Fixes: stats, services, industries, trust,
   hero, why-us, process, CTA, new pages
   ============================================ */

/* --- TABLET (768px) --- */
@media (max-width: 768px) {

  /* Stats Grid — force 2-col, compact */
  .aw-stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
    padding: 0 0.75rem !important;
  }

  .aw-stat-card {
    padding: 0.75rem 0.5rem !important;
  }

  .aw-counter {
    font-size: 2rem !important;
  }

  .aw-stat-card span[style*="font-size:3.5rem"] {
    font-size: 2rem !important;
  }

  .aw-stat-card span[style*="font-size:2rem"] {
    font-size: 1.25rem !important;
  }

  .aw-stat-card span[style*="font-size:1.5rem"] {
    font-size: 1rem !important;
  }

  /* Services Grid — force 1-col */
  .aw-services-grid {
    grid-template-columns: 1fr !important;
    padding: 0 1rem !important;
  }

  /* Industries Grid — force 2-col */
  .aw-industries-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
    padding: 0 1rem !important;
  }

  /* Trust/Safety Grid — force 1-col stack */
  .aw-trust-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    padding: 0 1rem !important;
  }

  /* Hero trust badges — stack */
  .aw-trust-row {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: center !important;
  }

  /* Hero section — reduce padding */
  #aw-section-hero {
    min-height: auto !important;
    padding: 100px 0 60px !important;
  }

  #aw-section-hero .elementor-widget-heading h1 {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }

  /* Hero buttons — stack vertically */
  #aw-section-hero div[style*="display:flex"][style*="gap:1.25rem"] {
    flex-direction: column !important;
    align-items: center !important;
  }

  #aw-section-hero .aw-btn-primary,
  #aw-section-hero a[style*="backdrop-filter"] {
    width: 100% !important;
    max-width: 320px !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 14px 24px !important;
    font-size: 0.95rem !important;
  }

  /* Why Choose Us — let Elementor columns stack */
  #aw-section-why .elementor-row,
  #aw-section-why .elementor-container {
    flex-direction: column !important;
  }

  #aw-section-why .elementor-column {
    width: 100% !important;
  }

  /* Why Choose Us — comparison table scrollable */
  #aw-section-why table {
    font-size: 0.8rem !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  #aw-section-why table th,
  #aw-section-why table td {
    padding: 6px 8px !important;
    white-space: normal !important;
    min-width: 80px !important;
  }

  #aw-section-why table thead {
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
  }

  /* Process timeline — tighten up */
  .aw-step div[style*="padding-left:80px"] {
    padding-left: 60px !important;
  }

  /* CTA section */
  #aw-section-cta .elementor-widget-heading h2 {
    font-size: 1.5rem !important;
  }

  #aw-section-cta div[style*="display:flex"] {
    flex-direction: column !important;
    align-items: center !important;
  }

  #aw-section-cta .aw-btn-primary,
  #aw-section-cta a[style*="backdrop-filter"] {
    width: 100% !important;
    max-width: 320px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Scroll hint — hide on mobile */
  .aw-scroll-hint {
    display: none !important;
  }

  /* General section padding reduce */
  .elementor-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* All headings — prevent overflow */
  h1, h2, h3 {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Fix Elementor inner section width on mobile */
  .elementor-inner-section .elementor-container {
    flex-wrap: wrap !important;
  }

  /* --- New Pages Responsive --- */

  /* FAQ Page (1547) */
  .aw-faq-hero {
    padding: 60px 15px !important;
  }
  .aw-faq-hero h1 {
    font-size: 28px !important;
  }
  .aw-faq-wrap {
    padding: 30px 15px !important;
  }
  .aw-faq-cat h2 {
    font-size: 22px !important;
  }
  .aw-faq-q {
    font-size: 14px !important;
    padding: 15px 40px 15px 15px !important;
  }
  .aw-faq-a {
    font-size: 14px !important;
    padding: 15px !important;
  }
  .aw-faq-cta {
    padding: 50px 15px !important;
  }
  .aw-faq-cta h2 {
    font-size: 24px !important;
  }

  /* Safety Page (1548) */
  .aw-sf-hero {
    padding: 60px 15px !important;
  }
  .aw-sf-hero h1 {
    font-size: 28px !important;
  }
  .aw-sf-section {
    padding: 40px 15px !important;
  }
  .aw-sf-section h2 {
    font-size: 24px !important;
  }
  .aw-sf-grid {
    grid-template-columns: 1fr !important;
  }
  .aw-sf-stat-row {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .aw-sf-stat .num {
    font-size: 42px !important;
  }
  .aw-sf-list li {
    font-size: 14px !important;
  }
  .aw-sf-cta {
    padding: 50px 15px !important;
  }
  .aw-sf-cta h2 {
    font-size: 24px !important;
  }

  /* Sports Page (1549) */
  .aw-sp-hero {
    padding: 60px 15px !important;
  }
  .aw-sp-hero h1 {
    font-size: 26px !important;
  }
  .aw-sp-section {
    padding: 40px 15px !important;
  }
  .aw-sp-section h2 {
    font-size: 24px !important;
  }
  .aw-sp-grid {
    grid-template-columns: 1fr !important;
  }
  .aw-sp-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .aw-sp-table thead th,
  .aw-sp-table tbody td {
    font-size: 12px !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
  }
  .aw-sp-cta {
    padding: 50px 15px !important;
  }
  .aw-sp-cta h2 {
    font-size: 24px !important;
  }

  /* Government Page (1550) */
  .aw-gov-hero {
    padding: 60px 15px !important;
  }
  .aw-gov-hero h1 {
    font-size: 26px !important;
  }
  .aw-gov-section {
    padding: 40px 15px !important;
  }
  .aw-gov-section h2 {
    font-size: 24px !important;
  }
  .aw-gov-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .aw-gov-cards {
    grid-template-columns: 1fr !important;
  }
  .aw-gov-table {
    display: block !important;
    overflow-x: auto !important;
  }
  .aw-gov-cta {
    padding: 50px 15px !important;
  }
  .aw-gov-cta h2 {
    font-size: 24px !important;
  }

  /* Hero breadcrumbs on all new pages */
  .aw-hero-bc {
    font-size: 0.75rem !important;
  }

  /* All CTA buttons on new pages — full-width */
  .aw-faq-cta a,
  .aw-sf-cta a,
  .aw-sp-hero a,
  .aw-sp-cta a,
  .aw-gov-hero a,
  .aw-gov-cta a {
    display: block !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 14px 24px !important;
    font-size: 14px !important;
  }

  /* Trust marks on new pages — wrap */
  .aw-sf-trust,
  .aw-gov-trust,
  .aw-sp-trust,
  .aw-faq-trust {
    flex-direction: column !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .aw-sf-trust span,
  .aw-gov-trust span,
  .aw-sp-trust span,
  .aw-faq-trust span {
    font-size: 12px !important;
  }
}

/* --- SMALL MOBILE (480px) --- */
@media (max-width: 480px) {

  /* Stats — single column */
  .aw-stats-grid {
    grid-template-columns: 1fr !important;
  }

  /* Industries — single column */
  .aw-industries-grid {
    grid-template-columns: 1fr !important;
  }

  /* Hero title smaller */
  #aw-section-hero .elementor-widget-heading h1,
  h1 {
    font-size: 1.5rem !important;
  }

  /* All buttons — full width */
  .aw-btn-primary,
  .aw-btn-secondary {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 0.9rem !important;
  }

  /* Reduce all section vertical padding */
  .elementor-section > .elementor-container {
    padding: 0 12px !important;
  }

  /* Government building types grid — single col */
  .aw-gov-grid {
    grid-template-columns: 1fr !important;
  }

  /* Process timeline — compact */
  .aw-step {
    padding-left: 50px !important;
  }
  .aw-step div[style*="left:28px"] {
    left: 18px !important;
  }
}

/* --- ELEMENTOR COLUMN STACKING FIX (mobile) --- */
@media (max-width: 767px) {
  .elementor-section .elementor-container {
    flex-wrap: wrap !important;
  }
  .elementor-section .elementor-container > .elementor-column {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}
