/*
Theme Name: Lakeside Lender Child
Theme URI: https://digitalopsman.com
Description: Child theme for GeneratePress — Lakeside Lender brand customizations.
Author: Michael Tannehill
Author URI: https://digitalopsman.com
Template: generatepress
Version: 1.0.0
License: GPL v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lakeside-child
*/

/* ─────────────────────────────────────────────
   Brand tokens — extracted from live Wix site 2026-05-11
   Source of truth: docs/brand-colors-extracted.md
   Applied: 2026-05-12 (Phase C2)
   ───────────────────────────────────────────── */

:root {
  --ll-primary: #00324D;        /* Navy — primary headings, dark sections, primary CTA */
  --ll-slate: #4C6B82;          /* Slate — most-used color, body text, captions */
  --ll-accent-blue: #2763AA;    /* Mid-blue — secondary CTA, accent links, hover */
  --ll-cyan: #4BD5E2;           /* Highlight cyan — sparingly, hero callouts */
  --ll-gold: #D4A84B;           /* Gold — premium signal, credentials, warning */
  --ll-text: #010101;           /* Near-black body text */
  --ll-text-muted: #4C6B82;     /* Alias of slate */
  --ll-bg: #FFFFFF;
  --ll-bg-alt: #FAFAFA;
  --ll-border: #E5E5E5;
  --ll-success: #22c55e;        /* No brand equivalent — keep */
  --ll-warning: #D4A84B;        /* Use brand gold instead of stock amber */

  /* Back-compat aliases — pages/*.html may still reference --ll-accent */
  --ll-accent: var(--ll-accent-blue);
}

/* ─────────────────────────────────────────────
   Brand-specific overrides go here
   Keep child-theme CSS additive — let GeneratePress
   defaults handle the base.
   ───────────────────────────────────────────── */

/* WP core color utility fallbacks (added 2026-05-15).
   WordPress 6.x relies on theme.json color presets to generate the
   .has-{slug}-color rules emitted by Gutenberg when a block author
   picks "white", "black", etc. in the editor color picker. The
   Lakeside child theme has no theme.json, so .has-white-color was
   a dead class — and the marina-inner rule
   body.marina-inner .ll-mr-page-content h2 { color: var(--ll-mr-slate); }
   was winning by default, forcing slate text in case-study navy CTAs
   (slate-on-navy = invisible).
   These declarations restore the expected WP behavior. !important is
   required because the marina-inner selector beats inheritance and
   would otherwise still win against the unweighted class. */
.has-white-color { color: #ffffff !important; }
.has-black-color { color: #000000 !important; }

/* Hero CTA button — primary brand color */
.wp-block-button.is-style-ll-primary .wp-block-button__link {
  background-color: var(--ll-primary);
  color: #ffffff;
  border-radius: 4px;
  padding: 14px 28px;
}

.wp-block-button.is-style-ll-primary .wp-block-button__link:hover {
  background-color: var(--ll-accent);
}

/* Trust-signal numbers (e.g., "+380% users") */
.ll-stat-callout {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--ll-primary);
  line-height: 1.1;
}

.ll-stat-callout-label {
  font-size: 0.875rem;
  color: var(--ll-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 4px;
}

/* ─────────────────────────────────────────────
   GeneratePress overrides for brochure-site layout
   ───────────────────────────────────────────── */

/* Hide auto-generated page entry-title (we have our own hero H1s) */
body.page .entry-title,
body.page .entry-header {
  display: none;
}

/* Hide right sidebar on all pages (brochure site = full width) */
body.page .widget-area,
body.page #right-sidebar,
body.page #left-sidebar {
  display: none !important;
}

/* Make content area span full width when sidebar is hidden */
body.page #primary,
body.page .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none;
}

body.page #primary {
  padding: 0;
}

/* Remove default GP article padding/border so hero sections can be full-bleed */
body.page article.page,
body.page .inside-article {
  padding: 0;
  border: 0;
  background: transparent;
}

/* Make GenerateBlocks sections truly full-width on viewport */
body.page .gb-container[class*="ll-"] {
  max-width: none;
  width: 100%;
}

/* Tighten body header padding so hero is closer to nav */
body.page #content,
body.page .site-content {
  padding-top: 0;
}
