/* ══════════════════════════════════════════════════════════
   Angel Anderson Design System v1.0 — 2026-03-27
   Source: DESIGN-angelanderson.md
   ══════════════════════════════════════════════════════════ */

:root {
  /* Background & Surface */
  --aa-bg: #FDFAF6;
  --aa-surface: #FFFFFF;
  --aa-bg-subtle: #F5F1EB;

  /* Text */
  --aa-text: #1A1A1A;
  --aa-text-muted: #6B6B6B;

  /* Accent (book-cover red) */
  --aa-accent: #C23A22;
  --aa-accent-hover: #A83020;

  /* Navy */
  --aa-navy: #1B2D45;
  --aa-navy-hover: #2A4060;

  /* Border */
  --aa-border: #E8E4DF;

  /* Fonts */
  --aa-font-display: 'Fraunces', Georgia, serif;
  --aa-font-body: 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --aa-font-mono: 'Geist Mono', 'SF Mono', 'Fira Code', monospace;

  /* Spacing */
  --aa-space-xs: 4px;
  --aa-space-sm: 8px;
  --aa-space-md: 16px;
  --aa-space-lg: 24px;
  --aa-space-xl: 32px;
  --aa-space-2xl: 48px;
  --aa-space-3xl: 64px;
}

/* ─── GLOBAL ─── */
body {
  background-color: var(--aa-bg) !important;
  font-family: var(--aa-font-body) !important;
  color: var(--aa-text) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* Grain texture overlay */
body::after {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 99999;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

/* ─── TYPOGRAPHY: HEADINGS ─── */
h1, .entry-title, .wp-block-post-title,
.hero-section h1, .kt-inside-inner-col h1 {
  font-family: var(--aa-font-display) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  color: var(--aa-text) !important;
  font-variation-settings: 'opsz' 144;
  letter-spacing: -0.02em;
}

h2, .kt-inside-inner-col h2 {
  font-family: var(--aa-font-display) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: var(--aa-text) !important;
  font-variation-settings: 'opsz' 72;
}

h3, .kt-inside-inner-col h3 {
  font-family: var(--aa-font-display) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  font-variation-settings: 'opsz' 48;
}

h4, h5, h6 {
  font-family: var(--aa-font-display) !important;
  font-weight: 500 !important;
}

/* ─── TYPOGRAPHY: BODY ─── */
p, li, td, th, label, .entry-content, .wp-block-paragraph {
  font-family: var(--aa-font-body) !important;
}

/* ─── LINKS ─── */
a {
  color: var(--aa-accent) !important;
  transition: color 0.15s ease;
}
a:hover {
  color: var(--aa-accent-hover) !important;
}

/* Nav links should NOT be red */
.header-navigation a,
.site-header a,
.kadence-navigation a,
#colophon a {
  color: var(--aa-text-muted) !important;
}
.header-navigation a:hover,
.site-header a:hover,
.kadence-navigation a:hover {
  color: var(--aa-text) !important;
}

/* ─── SITE HEADER / BRANDING ─── */
.site-title, .site-title a,
.custom-logo-link + .site-title a {
  font-family: var(--aa-font-display) !important;
  font-weight: 700 !important;
  color: var(--aa-text) !important;
  font-variation-settings: 'opsz' 72;
}

/* ─── BUTTONS ─── */
.wp-block-button__link,
.wp-element-button,
.button, button[type="submit"],
.kadence-button,
a.kb-button,
.kt-button {
  font-family: var(--aa-font-body) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  transition: all 0.15s ease !important;
}

/* Primary buttons (red accent) */
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.kadence-button.kb-btn-global-primary,
a.kb-button:not(.kb-btn-global-outline) {
  background-color: var(--aa-accent) !important;
  color: #fff !important;
  border: none !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
a.kb-button:not(.kb-btn-global-outline):hover {
  background-color: var(--aa-accent-hover) !important;
}

/* Outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link,
.kadence-button.kb-btn-global-outline,
a.kb-button.kb-btn-global-outline {
  background: transparent !important;
  border: 1.5px solid var(--aa-border) !important;
  color: var(--aa-text) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
a.kb-button.kb-btn-global-outline:hover {
  border-color: var(--aa-text) !important;
}

/* ─── CARDS / BLOCKS ─── */
.kt-row-layout-inner > .kt-row-column-wrap > .kadence-column,
.wp-block-column,
.entry-content .wp-block-group {
  border-radius: 8px;
}

/* ─── STAT NUMBERS (monospace) ─── */
.kt-inside-inner-col strong,
.wp-block-column strong {
  font-variant-numeric: tabular-nums;
}

/* ─── PULL QUOTES / BLOCKQUOTES ─── */
blockquote, .wp-block-quote, .wp-block-pullquote {
  border-left: 4px solid var(--aa-accent) !important;
  padding: var(--aa-space-lg) var(--aa-space-xl) !important;
  background: var(--aa-bg-subtle) !important;
  border-radius: 0 8px 8px 0 !important;
  margin: var(--aa-space-2xl) 0 !important;
}
blockquote p, .wp-block-quote p, .wp-block-pullquote p {
  font-family: var(--aa-font-display) !important;
  font-style: italic !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  font-variation-settings: 'opsz' 48;
}
blockquote cite, .wp-block-quote cite {
  font-family: var(--aa-font-mono) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--aa-text-muted) !important;
  font-style: normal !important;
}

/* ─── HEADER BAR (top announcement) ─── */
.kadence-header-top-inner,
.wp-site-blocks > header .kadence-header-row-top {
  background: var(--aa-navy) !important;
}

/* ─── FOOTER ─── */
#colophon, .site-footer,
.site-footer-wrap, footer.site-footer {
  background: var(--aa-navy) !important;
  color: rgba(255,255,255,0.85) !important;
}
#colophon h4, #colophon h5,
.site-footer h4, .site-footer h5 {
  font-family: var(--aa-font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: rgba(255,255,255,0.4) !important;
}
#colophon a, .site-footer a {
  color: rgba(255,255,255,0.7) !important;
}
#colophon a:hover, .site-footer a:hover {
  color: #fff !important;
}

/* ─── FORMS ─── */
input[type="text"], input[type="email"], input[type="url"],
input[type="tel"], input[type="password"], textarea, select {
  font-family: var(--aa-font-body) !important;
  border: 1.5px solid var(--aa-border) !important;
  border-radius: 4px !important;
  background: var(--aa-surface) !important;
  padding: 10px 14px !important;
  font-size: 15px !important;
  transition: border-color 0.15s !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--aa-accent) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ─── KADENCE SPECIFIC OVERRIDES ─── */

/* Remove default Kadence shadows if they clash */
.entry-content .kt-row-layout-inner {
  background-color: transparent;
}

/* Kadence icon list items */
.kt-svg-icon-list-items .kt-svg-icon-list-item-wrap {
  font-family: var(--aa-font-body) !important;
}

/* Price display in monospace */
.kt-inside-inner-col .wp-block-paragraph:has(strong),
.price, .woocommerce-Price-amount {
  font-variant-numeric: tabular-nums;
}
