/*
Theme Name: HustlEdge Edge
Theme URI: https://hustledge.com
Description: HustlEdge "money/edge" child theme. Harmonizes the GeneratePress global chrome (header, nav, footer, typography, homepage) with the self-contained .he-root hub design system. Namespace-safe: never overrides the scoped hub bundles. Authored by the HustlEdge Team.
Author: HustlEdge Team
Template: generatepress
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: hustledge-edge
*/

/* =========================================================================
   HustlEdge Edge -- chrome tokens (PRIMARY brand accent; --he- prefixed so
   they never collide with the hub system's scoped --accent vars on .he-root)
   ========================================================================= */
:root{
  --he-paper:        oklch(0.984 0.004 80);
  --he-paper-2:      oklch(0.965 0.005 80);
  --he-card:         oklch(0.998 0.001 80);
  --he-ink:          oklch(0.205 0.012 75);
  --he-ink-soft:     oklch(0.46 0.012 75);
  --he-ink-faint:    oklch(0.62 0.01 75);
  --he-line:         oklch(0.90 0.006 75);
  --he-line-strong:  oklch(0.82 0.008 75);
  --he-accent:       oklch(0.62 0.14 150);   /* primary "money" green */
  --he-accent-soft:  oklch(0.95 0.03 150);
  --he-accent-ink:   oklch(0.42 0.13 150);   /* darker accent for text-on-paper AA */
  --he-header-font:  'Archivo', system-ui, sans-serif;
  --he-body-font:    'IBM Plex Sans', system-ui, sans-serif;
  --he-mono-font:    'IBM Plex Mono', ui-monospace, monospace;
  --he-maxw:         1140px;
  /* per-hub accents -- used only as wayfinding on homepage hub cards */
  --he-hub-rent:     oklch(0.66 0.13 78);
  --he-hub-aff:      oklch(0.62 0.16 350);
  --he-hub-svc:      oklch(0.60 0.13 240);
  --he-hub-noco:     oklch(0.58 0.15 295);
  --he-hub-cards:    oklch(0.62 0.12 162);
}

/* =========================================================================
   GLOBAL BASE -- applies to non-hub pages. The hub pages set their own
   font/colour on .he-root (higher specificity within their subtree), so these
   base rules never reach hub content. Same token system => no visual seam.
   ========================================================================= */
body{
  background: var(--he-paper);
  color: var(--he-ink);
  font-family: var(--he-body-font);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
/* Non-hub headings adopt Archivo. :not() keeps us out of .he-root entirely. */
body :is(h1,h2,h3,h4):not(.he-root *){
  font-family: var(--he-header-font);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--he-ink);
}
.entry-content a:not(.he-root *){
  color: var(--he-accent-ink);
  text-underline-offset: 2px;
}
.entry-content a:not(.he-root *):hover{ text-decoration: underline; }

/* =========================================================================
   HEADER  (GeneratePress .site-header / .inside-header / .site-branding)
   ========================================================================= */
.site-header{
  background: color-mix(in oklch, var(--he-paper) 90%, transparent);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  backdrop-filter: blur(12px) saturate(1.05);
  border-bottom: 1px solid var(--he-line);
}
.inside-header{ max-width: var(--he-maxw); padding: 0.7rem 2rem; }
.main-title{ font-family: var(--he-header-font); font-weight: 700; letter-spacing: -0.02em; }
.main-title a{ color: var(--he-ink); }
/* wordmark accent: "Edge" turns green via a span the logo/title can carry */
.he-wordmark-edge{ color: var(--he-accent-ink); }
.site-description{ font-family: var(--he-mono-font); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--he-ink-faint); }

/* =========================================================================
   PRIMARY NAV  (GeneratePress .main-navigation .menu)
   ========================================================================= */
.main-navigation{ background: transparent; }
.main-navigation .main-nav ul li a{
  font-family: var(--he-body-font);
  font-weight: 500;
  font-size: 0.93rem;
  color: var(--he-ink-soft);
  letter-spacing: -0.005em;
  transition: color .15s, background .15s;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a{
  color: var(--he-ink);
  background: transparent;
}
/* accent underline on the active item -- mirrors the hub nav */
.main-navigation .main-nav ul li.current-menu-item > a{
  box-shadow: inset 0 -2px 0 var(--he-accent);
}
/* "Partner With Us" gets the dark pill CTA treatment (add menu class `he-cta`) */
.main-navigation .main-nav ul li.he-cta > a{
  color: var(--he-paper);
  background: var(--he-ink);
  border-radius: 999px;
  margin: 0.55rem 0 0.55rem 0.4rem;
  padding: 0.5rem 1.05rem;
}
.main-navigation .main-nav ul li.he-cta > a:hover{ background: var(--he-accent-ink); box-shadow:none; }

/* =========================================================================
   BUTTONS  (GP .button, .wp-block-button, generic)
   ========================================================================= */
.button:not(.he-root *), button.wp-block-button__link:not(.he-root *),
.wp-block-button__link:not(.he-root *), input[type="submit"]:not(.he-root *){
  background: var(--he-ink);
  color: var(--he-paper);
  font-family: var(--he-body-font);
  font-weight: 600;
  border-radius: 9px;
  border: none;
  transition: background .15s, transform .12s;
}
.button:not(.he-root *):hover, .wp-block-button__link:not(.he-root *):hover{
  background: var(--he-accent-ink); transform: translateY(-1px);
}

/* =========================================================================
   FOOTER  (GeneratePress .site-footer / .site-info / .inside-site-info)
   ========================================================================= */
.site-footer .site-info, .site-info{
  background: var(--he-paper-2);
  border-top: 1px solid var(--he-line);
  font-family: var(--he-mono-font);
  font-size: 0.74rem;
  color: var(--he-ink-faint);
  letter-spacing: 0.04em;
}
.inside-site-info{ max-width: var(--he-maxw); }

/* =========================================================================
   GENERIC CONTENT WIDTH for non-hub pages (utility/support pages)
   ========================================================================= */
.he-narrow .entry-content > *:not(.alignwide):not(.alignfull):not(.he-root){
  max-width: 72ch;
}

/* =========================================================================
   RESPONSIVE / A11Y
   ========================================================================= */
:where(a,button):focus-visible{ outline: 2px solid var(--he-accent); outline-offset: 2px; }
@media (max-width: 768px){
  .inside-header{ padding: 0.6rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
