/*
 Theme Name:   Brookside Child
 Template:     brookside-theme-fixed
 Version:      1.0.8
 Description:  Child theme for brookside-theme-fixed. Holds child-specific
               CSS overrides only — does not duplicate parent stylesheets.

 Change log:
   1.0.8 (2026-05-18) — RR card hover harmonization. Extends `.rr-card:hover`
                         behavior to legacy inline-style RR anchors via
                         attribute selector. Adds 0.15s transition to all
                         RR card variants (matches canonical-file
                         documentation). Closes the user-visible hover
                         inconsistency on the 656 inline-style RR cards
                         that Phase 2A intentionally did not convert
                         (per May 16 codification — collision risk with
                         31 stat-card divs sharing the desc-div pattern).
   1.0.7 — Phase 2A class-based RR card markup, Phase 2B callout migration,
            content card link harmonization (May 16, 2026).
*/

/* ═══════════════════════════════════════════════════════════════════════
   SELF-HOSTED FONTS — replaces Google Fonts (added 2026-04-29)
   ═══════════════════════════════════════════════════════════════════════ */
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/cormorant-garamond-v21-latin-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/cormorant-garamond-v21-latin-600italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/cormorant-garamond-v21-latin-700.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/dm-sans-v17-latin-300.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/dm-sans-v17-latin-500.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/dm-sans-v17-latin-600.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/wp-content/themes/brookside-child/fonts/dm-sans-v17-latin-700.woff2') format('woff2');
}

/* ═══════════════════════════════════════════════════════════════════════
   STICKY BOTTOM CTA BAR — desktop-hide override (updated May 30, 2026)
   ═══════════════════════════════════════════════════════════════════════
   Hide on desktop (≥641px) only. The bar (#bp-sticky-bar) is rendered
   server-side by brookside_native_mobile_cta_bar(), hooked to wp_footer
   (priority 5) in functions.php — persistent, always visible on mobile
   (≤640px), no scroll listener, no JS to build it. It stays on mobile
   where the nav CTA is collapsed; desktop already has the nav CTA + phone
   in the header.
   April 18, 2026: was previously a global hide rule that never fired
   because the child stylesheet was not enqueued.
   May 30, 2026: corrected the build path above — the bar was previously
   built by /assets/lead-capture.js; that JS approach was retired in favor
   of the server-rendered brookside_native_mobile_cta_bar(). No CSS change.
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 641px) {
  #bp-sticky-bar { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   PILL-STYLE KICKER — for calculator and tool pages
   ═══════════════════════════════════════════════════════════════════════ */
.site-shell .page-kicker {
    display: inline-block;
    padding: 8px 18px;
    border: 1px solid rgba(91,175,214,0.35);
    border-radius: 999px;
    background: rgba(91,175,214,0.06);
    color: #5bafd6 !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    text-decoration: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   BROOKSIDE CALLOUT CLASSES — May 16, 2026
   ═══════════════════════════════════════════════════════════════════════

   Replaces inline-style callouts in post_content with class-based markup.
   Canonical pattern derived from Brookside_Blog_Template.md Block 4.

   USAGE in post content:
       <div class="callout callout-yellow">
       <strong>Callout title</strong>
       <p>Callout body text.</p>
       </div>

   List-body variant (rare, ~1% of callouts):
       <div class="callout callout-green">
       <strong>Stays the same</strong>
       <ul>
       <li>Item one</li>
       <li>Item two</li>
       </ul>
       </div>

   4 color variants per template Block 4 semantics:
       blue   — informational / definition / rule of thumb
       green  — verdict / positive frame / honest decision rule
       yellow — warning / caution / reality-check
       red    — critical cost / severe consequence / hidden math

   POC validation: /reduce-open-dental-payment-processing-fees/ (May 16, 2026)
   Migration target: ~1,096 callouts across 216 posts
   ═══════════════════════════════════════════════════════════════════════ */

/* ── BASE: structural properties shared across all variants ── */
.callout {
  padding: 16px 18px;
  border-radius: 8px;
  border-left: 3px solid;            /* color set by variant */
  margin-top: 16px;
  margin-bottom: 16px;
}

.callout strong {
  display: block;
  margin-bottom: 6px;
  /* color set by variant */
}

/* ── BODY: prose (default, 99% of callouts) ── */
.callout p {
  color: var(--off);
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
}

/* ── BODY: list-style (rare, ~1% of callouts) ── */
/* For callouts that list discrete items rather than prose. */
/* Canonical wrapping rule: <strong> title, then ONE child element (either <p> or <ul>). */
.callout ul {
  color: var(--off);
  margin: 0;
  padding-left: 1.2em;
  font-size: 0.92rem;
  line-height: 1.6;
}

.callout ul li {
  margin-bottom: 4px;
}

.callout ul li:last-child {
  margin-bottom: 0;
}

/* ── COLOR VARIANTS ── */
.callout-blue {
  background: rgba(91, 175, 214, 0.08);
  border-left-color: #5bafd6;
}
.callout-blue strong { color: #5bafd6; }

.callout-green {
  background: rgba(61, 189, 138, 0.08);
  border-left-color: #3dbd8a;
}
.callout-green strong { color: #3dbd8a; }

.callout-yellow {
  background: rgba(245, 166, 35, 0.08);
  border-left-color: #f5a623;
}
.callout-yellow strong { color: #f5a623; }

.callout-red {
  background: rgba(224, 85, 85, 0.08);
  border-left-color: #e05555;
}
.callout-red strong { color: #e05555; }

/* ═══════════════════════════════════════════════════════════════════════
   FAQ ITEM — blue-tint canonical (May 13 codification)
   ═══════════════════════════════════════════════════════════════════════ */
.faq-item {
  background: rgba(91, 175, 214, 0.05);
  border: 1px solid rgba(91, 175, 214, 0.25);
  border-radius: 6px;
  padding: 14px 18px;
  margin-bottom: 12px;
}
.faq-q { font-weight: 700; margin-bottom: 6px; }
.faq-a { margin-bottom: 0; }

/* ═══════════════════════════════════════════════════════════════════════
   CONTENT CARD LINKS — May 17, 2026
   ═══════════════════════════════════════════════════════════════════════
   Inline-style color override on every content-card anchor was the legacy
   pattern. Class-based default styling replaces 1,872 inline-style instances
   across the post base. Inline-style anchors still work (cascade), so this
   CSS can deploy independently of any post content migration.
   ═══════════════════════════════════════════════════════════════════════ */
.card a {
  color: #fff;
}

.card a:hover {
  color: #5bafd6;
}

/* ═══════════════════════════════════════════════════════════════════════
   CTA CONTACT ROW — phone/email pair below bottom CTA
   ═══════════════════════════════════════════════════════════════════════ */
.cta-contact-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 12px;
}

.cta-contact {
  color: var(--off);
  font-size: 0.95rem;
}

/* ═══════════════════════════════════════════════════════════════════════
   RR CARD — Related Resources tile (Phase 2A, May 16, 2026)
   ═══════════════════════════════════════════════════════════════════════
   Canonical class-based markup for RR grid tiles. See Brookside_Blog_Template.md
   Block 6 for the full canonical card structure.

   Hover behavior added v1.0.8 (May 18, 2026):
   The `.rr-card:hover` rule applies to class-based cards. The attribute-
   selector rule below applies the SAME hover behavior to legacy inline-
   style anchors (656 cards across 103 posts that were not converted in
   Phase 2A due to collision risk with 31 stat-card divs sharing the
   desc-div pattern — May 16 codified design intent). This closes the
   user-visible hover inconsistency without requiring per-post markup
   migration.

   The transition rule covers both class-based and inline-style RR cards
   for visual consistency with the documented 0.15s smooth transition.
   ═══════════════════════════════════════════════════════════════════════ */

.rr-card {
  display: block;
  padding: 14px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-decoration: none;
}

.rr-card-title {
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}

.rr-card-desc {
  font-size: 0.82rem;
  color: var(--off);
}

/* Transition applies to both class-based AND legacy inline-style RR cards */
.rr-card,
a[style*="display:block;padding:14px;background:rgba(0,0,0,0.2)"] {
  transition: border-color 0.15s ease, background 0.15s ease;
}

/* Hover for class-based RR cards (Phase 2A canonical) */
.rr-card:hover {
  border-color: rgba(91, 175, 214, 0.4);
  background: rgba(0, 0, 0, 0.3);
}

/* Hover for legacy inline-style RR cards (added v1.0.8 May 18, 2026) */
/* !important required to override the inline border/background style attributes */
a[style*="display:block;padding:14px;background:rgba(0,0,0,0.2)"]:hover {
  border-color: rgba(91, 175, 214, 0.4) !important;
  background: rgba(0, 0, 0, 0.3) !important;
}