/**
Theme Name: Astra Child
Author: Wisdmlabs
Author URI: https://wisdmlabs.com/
Description: Astra child theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ============================================================
   WP AutoCare — Header & Footer Styles
   Targets Astra theme builder HTML structure
   Import Inter + DM Mono from Google Fonts in your theme
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=DM+Mono:wght@300;400;500&display=swap');

:root {
  --wac-inter: 'Inter', sans-serif;
  --wac-mono: 'DM Mono', monospace;
  --wac-bg: #F5F7F5;
  --wac-white: #FFFFFF;
  --wac-border: #D4DDD5;
  --wac-border2: #B8CEB9;
  --wac-accent: #0F6E56;
  --wac-accent-light: #1D9E75;
  --wac-accent-bg: #E1F5EE;
  --wac-accent-bg2: #9FE1CB;
  --wac-text: #0D1F18;
  --wac-text2: #4D6B5E;
  --wac-text3: #8AADA0;
}

/* ============================================================
   HEADER — .ast-primary-header-bar
   ============================================================ */

.ast-primary-header-bar.main-header-bar {
  background: var(--wac-white) !important;
  border-bottom: 1px solid var(--wac-border) !important;
  box-shadow: none !important;
  font-family: var(--wac-inter) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* inner container height */
.site-primary-header-wrap.ast-container {
  max-width: 100% !important;
  padding: 0 10% !important;
  min-height: 68px !important;
}

.ast-builder-grid-row.ast-builder-grid-row-has-sides {
  min-height: 68px !important;
  align-items: center !important;
}

/* ── Logo / Site Title ── */
.site-branding.ast-site-identity {
  display: flex !important;
  align-items: center !important;
}

.ast-site-title-wrap .site-title {
  font-family: var(--wac-inter) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.4px !important;
  line-height: 1 !important;
}

.ast-site-title-wrap .site-title a {
  color: var(--wac-text) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Green dot before logo text */
.ast-site-title-wrap .site-title a::before {
  content: '' !important;
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  background: var(--wac-accent-light) !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

/* ── Primary Nav Menu ── */
.ast-builder-menu-1 .main-header-menu {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ast-builder-menu-1 .main-header-menu .menu-item a.menu-link {
  font-family: var(--wac-inter) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--wac-text2) !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 7px !important;
  transition: background 0.15s, color 0.15s !important;
  display: block !important;
  line-height: 1.4 !important;
}

.ast-builder-menu-1 .main-header-menu .menu-item a.menu-link:hover {
  background: var(--wac-bg) !important;
  color: var(--wac-text) !important;
}

/* Active / current page */
.ast-builder-menu-1 .main-header-menu .current-menu-item > a.menu-link,
.ast-builder-menu-1 .main-header-menu .current_page_item > a.menu-link {
  color: var(--wac-accent) !important;
  background: var(--wac-accent-bg) !important;
  font-weight: 600 !important;
}

/* ── Header CTA Button ── */
.ast-header-button-1 .ast-builder-button-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 12px !important;
}

.ast-header-button-1 .ast-custom-button-link {
  text-decoration: none !important;
}

.ast-header-button-1 .ast-custom-button {
  background: var(--wac-accent) !important;
  color: #fff !important;
  font-family: var(--wac-inter) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 9px 20px !important;
  border-radius: 7px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}

.ast-header-button-1 .ast-custom-button:hover {
  background: #0a5240 !important;
}

/* Hide the duplicate plain text link Astra adds */
.ast-header-button-1 .ast-builder-button-wrap > a.menu-link {
  display: none !important;
}

/* ── Right section flex alignment ── */
.site-header-primary-section-right.ast-flex.ast-grid-right-section {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ============================================================
   FOOTER — .site-primary-footer-wrap
   ============================================================ */

.site-primary-footer-wrap {
  background: var(--wac-text) !important;
  font-family: var(--wac-inter) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 56px 10% 48px !important;
}

.ast-builder-grid-row.site-primary-footer-inner-wrap {
  display: grid !important;
  grid-template-columns: 1.8fr 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 100% !important;
}

/* ── Footer Section 1 — Brand ── */
.site-footer-primary-section-1 .ast-builder-html-element {
  color: rgba(255, 255, 255, 0.85) !important;
}

.footer-brand {
  display: flex !important;
  flex-direction: column !important;
}

.footer-brand .logo-mark-f {
  width: 36px !important;
  height: 36px !important;
  background: var(--wac-accent) !important;
  border-radius: 8px !important;
  margin-bottom: 14px !important;
}

.footer-brand h3 {
  font-family: var(--wac-inter) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 10px !important;
}

.footer-brand p {
  font-family: var(--wac-mono) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  line-height: 1.75 !important;
  max-width: 260px !important;
  margin-bottom: 0 !important;
}

/* ── Footer Widget Columns (Product, Company) ── */
.site-footer-primary-section-2 .widget-title,
.site-footer-primary-section-3 .widget-title {
  font-family: var(--wac-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.4) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
  border: none !important;
  padding: 0 !important;
}

.site-footer-primary-section-2 .menu,
.site-footer-primary-section-3 .menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.site-footer-primary-section-2 .menu .menu-link,
.site-footer-primary-section-3 .menu .menu-link {
  font-family: var(--wac-inter) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
  display: inline-block !important;
}

.site-footer-primary-section-2 .menu .menu-link:hover,
.site-footer-primary-section-3 .menu .menu-link:hover {
  color: #fff !important;
}

/* Current page link highlight in footer */
.site-footer-primary-section-2 .current-menu-item .menu-link,
.site-footer-primary-section-3 .current-menu-item .menu-link,
.site-footer-primary-section-2 .current_page_item .menu-link,
.site-footer-primary-section-3 .current_page_item .menu-link {
  color: var(--wac-accent-light) !important;
}

/* ── Footer widget area wrappers ── */
.site-footer-primary-section-2 .footer-widget-area-inner,
.site-footer-primary-section-3 .footer-widget-area-inner {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.site-footer-primary-section-2 .widget,
.site-footer-primary-section-3 .widget {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Astra footer bottom bar (if used) ── */
.ast-small-footer {
  background: #071410 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 18px 10% !important;
}

.ast-small-footer .ast-footer-copyright {
  font-family: var(--wac-mono) !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.35) !important;
}

.ast-small-footer .ast-footer-copyright a {
  color: rgba(255, 255, 255, 0.45) !important;
  text-decoration: none !important;
}

.ast-small-footer .ast-footer-copyright a:hover {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* ============================================================
   RESPONSIVE — Tablet
   ============================================================ */
@media (max-width: 1024px) {
  .site-primary-header-wrap.ast-container {
    padding: 0 5% !important;
  }
  .site-primary-footer-wrap {
    padding: 48px 5% 40px !important;
  }
  .ast-builder-grid-row.site-primary-footer-inner-wrap {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
}

/* ============================================================
   RESPONSIVE — Mobile
   ============================================================ */
@media (max-width: 768px) {
  .site-primary-header-wrap.ast-container {
    padding: 0 5% !important;
    min-height: 60px !important;
  }
  .ast-builder-grid-row.site-primary-footer-inner-wrap {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .site-primary-footer-wrap {
    padding: 40px 5% 36px !important;
  }
  .ast-builder-menu-1 .main-header-menu {
    flex-wrap: wrap !important;
  }
}
