/*
Theme Name: IP Infusion
Template: seedlet
Description: IP Infusion custom child theme. All page styles live in _base.php inline.
Version: 2.0
Author: IP Infusion
*/

/* ═══════════════════════════════════════════════════════════
   EARLY-CASCADE PARENT THEME NEUTRALIZERS
   These load BEFORE _base.php inline styles, reducing !important needs.
   Seedlet/Blank Canvas injects layout, spacing, colors, and fonts
   via its own stylesheet — we kill all of it here at the source.
   ═══════════════════════════════════════════════════════════ */

/* ─── Reset ─── */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 0; }
/* ── Surgical button reset — targets ONLY the mobile toggle which has no intentional
   styling and was picking up Seedlet's green default background. Every other <button>
   on the site has either .btn classes or page-level CSS defining its own styles.
   Do NOT use button:not(...) here — it breaks all custom button classes sitewide. ── */
#mobileToggle,
.nav-mobile-toggle { background: transparent !important; border: none !important; }

/* ─── Layout — kill Seedlet max-width constraints ─── */
.wp-site-blocks { padding: 0 !important; margin: 0 !important; }
.wp-site-blocks > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.site-main { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.content-area { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.entry-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.entry-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.entry-content > div,
.entry-content > section,
.entry-content > footer { max-width: none !important; width: 100% !important; margin: 0 !important; }
article.page, article.post, .type-page, .type-post, .hentry { margin: 0 !important; padding: 0 !important; }

/* ─── WP block editor wrappers ─── */
.wp-block-group,
.wp-block-group__inner-container,
.wp-block-columns { padding: 0 !important; margin: 0 !important; }
.wp-block-spacer, .wp-block-separator { display: none !important; }

/* ─── Typography — force Lato everywhere, kill Seedlet system font stack ─── */
body,
h1, h2, h3, h4, h5, h6,
p, a, span, li, td, th,
label, input, select, textarea, button,
.entry-content, .entry-content *,
.post-content, .post-content * {
  font-family: 'Lato', system-ui, -apple-system, sans-serif !important;
}

/* ─── Links — kill Seedlet default link colors and underlines ─── */
.entry-content a,
.post-content a,
.page-content a,
.site-main a {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
  color: inherit !important;
}

/* ─── Selection highlight — kill Seedlet white-on-white ─── */
::selection { background: #192E58 !important; color: #FFFFFF !important; }
::-moz-selection { background: #192E58 !important; color: #FFFFFF !important; }

/* ─── Focus — suppress mouse-click outlines from Seedlet, preserve keyboard nav ─── */
*:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }

/* ─── Headings — kill Seedlet color overrides ─── */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: 'Lato', system-ui, -apple-system, sans-serif !important;
  color: #0A1628 !important;
}

/* ─── Paragraphs — kill Seedlet hero paragraph bottom margin ─── */
.page-hero p { margin-bottom: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   NUCLEAR GREEN KILL
   Seedlet / Blank Canvas ships with green (#00a32a / #007cba)
   as its accent. These rules override every surface where that
   green leaks through — active states, selected tabs, focus
   rings, WP admin bar, Gutenberg, button variants.
   ═══════════════════════════════════════════════════════════ */

/* ─── Seedlet active / selected / focus states ─── */
:is(a, button, [role="tab"], [role="button"]):focus-visible {
  outline-color: #192E58 !important;
  box-shadow: 0 0 0 3px rgba(25, 46, 88, 0.2) !important;
}
/* Only reset aria-selected on elements that have NO intentional active background.
   Scoped to nav items and generic tabs — NOT fm-pill, pf-tab, filter-btn which
   define their own active backgrounds via page-level CSS or _base.php locks.    */
.nav-item[aria-current="page"] > .nav-trigger,
.nav-item[aria-selected="true"] > .nav-trigger {
  color: #192E58 !important;
}

/* ─── WP admin bar green theme ─── */
#wpadminbar,
#wpadminbar .ab-item,
#wpadminbar .ab-icon::before,
#wpadminbar #wp-admin-bar-root-default > li > a {
  background-color: #192E58 !important;
}
#wpadminbar a:focus,
#wpadminbar li:hover > a,
#wpadminbar .menupop:hover > a {
  background-color: #1E3A6E !important;
}

/* ─── Seedlet / Blank Canvas button green leak ─── */
.wp-block-button__link,
.wp-block-button__link:not(.has-background) {
  background-color: #192E58 !important;
  color: #ffffff !important;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  background-color: #1E3A6E !important;
}

/* ─── Any stray Seedlet colored element ─── */
.wp-block-separator,
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  border-color: #E0E8F4 !important;
  background-color: #E0E8F4 !important;
}

/* ─── Neutralize Seedlet/parent-theme table borders ───
   Seedlet ships with `th, td { border: 1px solid }` — no color, so it falls back to currentColor (dark navy
   when text is var(--ink)). This caused mysterious dark-navy top/left borders on the support tier table.
   Force border style:none + width:0 so child rules can re-add specific edges they want. */
table th, table td {
  border-top-style: none !important;
  border-top-width: 0 !important;
  border-top-color: transparent !important;
  border-left-style: none !important;
  border-left-width: 0 !important;
  border-left-color: transparent !important;
}

/* ─── Kill green selection color from parent theme (already set above — kept for cascade safety) ─── */
