/* ============================
   Contrast + LCP Fix Pack (ordered)
   ============================ */

/* 0) TEMP: system font stack to avoid webfont render delay */
body, button, input, select, textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
               Ubuntu, Cantarell, "Helvetica Neue", Arial, system-ui, sans-serif !important;
}

/* 1) Hero (featured) image — paint immediately (helps LCP) */
.inside-article > .post-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 696px;
  aspect-ratio: 696 / 400;
  object-fit: cover;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
}
/* Kill any reveal/fade utilities */
.gb-reveal, .gb-fade-in {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* 2) Base text & links (light backgrounds) */
.entry-date, .byline, .gb-headline, .gb-container p, article p, article li {
  color: #222 !important;
}
a, .gb-container a, article a {
  color: #0b63ce !important;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}
a:hover, .gb-container a:hover, article a:hover {
  color: #0a4cad !important;
}
/* small meta text */
.entry-meta, .entry-meta a, .byline a { color: #3a3a3a !important; }

/* 3) Header / top navigation on dark bar */
.site-header, .main-title a, .main-navigation a, .main-navigation a:visited {
  color: #ffffff !important;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-title a:hover {
  color: #6ca0ff !important;
}

/* 4) Global buttons (GenerateBlocks) */
.gb-button, .gb-button a, a.gb-button, .gb-button-text {
  background-color: #0b63ce !important;
  color: #ffffff !important;
  border-color: transparent !important;
}
.gb-button:hover, .gb-button a:hover, a.gb-button:hover, .gb-button-text:hover {
  background-color: #0a4cad !important;
  color: #ffffff !important;
}
.gb-button:focus, .gb-button a:focus, a.gb-button:focus, .gb-button-text:focus {
  outline: 2px solid #ffd166 !important;
  outline-offset: 2px !important;
}

/* 5) BLUE SIDEBAR PANEL (widget) */
.sidebar .gb-container.container-widget,
.widget-area .gb-container.container-widget {
  background: #4a8ccb !important;
  color: #ffffff !important;
}
.sidebar .gb-container.container-widget h2,
.sidebar .gb-container.container-widget .gb-headline,
.sidebar .gb-container.container-widget .gb-headline-text,
.widget-area .gb-container.container-widget h2,
.widget-area .gb-container.container-widget .gb-headline,
.widget-area .gb-container.container-widget .gb-headline-text {
  color: #ffffff !important;
}
.sidebar .gb-container.container-widget p,
.sidebar .gb-container.container-widget li,
.widget-area .gb-container.container-widget p,
.widget-area .gb-container.container-widget li {
  color: #ffffff !important;
}
.sidebar .gb-container.container-widget a,
.widget-area .gb-container.container-widget a {
  color: #f0f6ff !important; /* AA vs #4a8ccb */
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.09em;
}
.sidebar .gb-container.container-widget a:hover,
.sidebar .gb-container.container-widget a:focus,
.widget-area .gb-container.container-widget a:hover,
.widget-area .gb-container.container-widget a:focus {
  color: #ffd166 !important; /* AA hover */
  outline: 2px solid #ffd166 !important;
  outline-offset: 2px !important;
}

/* 6) Footer: keep plain, high-contrast links (no button look) */
.site-footer a, .site-info a, .footer-widgets a {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: inline !important;
  color: #0b63ce !important;
}
.site-footer a:hover, .site-info a:hover, .footer-widgets a:hover {
  color: #0a4cad !important;
}
/* neutralize any GB button classes inside footer areas */
.site-footer :is(.gb-button, a.gb-button, .gb-button-text),
.site-info  :is(.gb-button, a.gb-button, .gb-button-text),
.footer-widgets :is(.gb-button, a.gb-button, .gb-button-text) {
  background: transparent !important;
  color: #0b63ce !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: inline !important;
}
/* targeted contrast-cleanup (lighter than universal *) */
.site-footer p, .site-footer li, .site-info p, .site-info li { text-shadow: none !important; }

/* 7) Admin bar (only when logged in) */
#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar .ab-label, #wpadminbar .ab-icon:before {
  color: #f0f0f0 !important;
  text-decoration: none !important;
}
#wpadminbar li:hover > .ab-item, #wpadminbar .ab-item:focus, #wpadminbar .ab-item:focus .ab-label {
  color: #6ca0ff !important;
}
#wpadminbar .ab-sub-wrapper, #wpadminbar .menupop .ab-sub-wrapper a.ab-item { color: #eaeaea !important; }
#wpadminbar .menupop .ab-sub-wrapper a.ab-item:hover { color: #ffd166 !important; }
#wpadminbar a { color: #f0f0f0 !important; }
#wpadminbar a:hover { color: #6ca0ff !important; }