/* Highlight the active nav item with a subtle outlined box. */
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a,
.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 0.2em 0.65em;
  opacity: 0.85;
}

/* Mobile overlay menu: suppress the sticky touch-focus outline iOS Safari
   leaves on the last-tapped link, which otherwise reads as a second
   "current page" box. Keyboard focus (:focus-visible) is preserved. */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:focus:not(:focus-visible),
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-home-link__content:focus:not(:focus-visible) {
  outline: none;
}

/* Contact form (WPForms) tweaks.
   Override WPForms' CSS variables so its internal rules (base, :focus,
   :focus:invalid) all resolve to theme-consistent colors. This avoids
   per-state cascade fights with WPForms' built-in selectors. */
div.wpforms-container-full {
  --wpforms-field-background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, var(--wp--preset--color--base));
  --wpforms-field-text-color: var(--wp--preset--color--contrast);
  --wpforms-field-border-color: color-mix(in srgb, var(--wp--preset--color--contrast) 15%, var(--wp--preset--color--base));
  --wpforms-label-color: var(--wp--preset--color--contrast);
  --wpforms-label-sublabel-color: var(--wp--preset--color--contrast);
}

.wpforms-container .wpforms-field-label {
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 0.4em;
}

.wpforms-container .wpforms-required-label {
  color: #e63946;
  font-weight: 600;
}

.wpforms-container .wpforms-field.sipsjava-math-captcha {
  margin-bottom: 15px;
}
.wpforms-container .wpforms-field.sipsjava-math-captcha input[type="number"] {
  width: 120px;
  max-width: 120px;
}

/* --------------------------------------------------------------------------
   Site-wide content link colors.
   The Evening style variation leaves links at the body-text color with no
   :visited state, so links read like plain text and never change after a
   click. Give content links a distinct blue (the same accent already used on
   the About page), a darkened-blue visited state, and a gold hover/focus that
   matches the "Featured: Black Hat USA 2013" callout (--a2-gold).
   Contrast on the #1B1B1B background:
     link    #5BA4C0  ~6.2:1  (AA)
     visited #21748C  ~3.2:1  (deliberately darkened; below AA, OK for large text)
     hover   #C9A961  ~8.0:1  (AA, gold)
   Scoped to body/content/comment areas so navigation, buttons, the site
   title, and post titles keep their existing styling. Pseudo-class selectors
   carry enough specificity to win over the theme defaults without !important.
   -------------------------------------------------------------------------- */
.wp-block-post-content a:not(.wp-block-button__link):not(.wp-element-button):link,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):link,
.wp-block-post-excerpt a:not(.wp-block-button__link):not(.wp-element-button):link,
.wp-block-post-terms a:link,
.wp-block-comment-content a:link,
.comment-content a:link,
.about2-wrap a:not(.wp-block-button__link):not(.wp-element-button):link {
  color: #5BA4C0;
}

.wp-block-post-content a:not(.wp-block-button__link):not(.wp-element-button):visited,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):visited,
.wp-block-post-excerpt a:not(.wp-block-button__link):not(.wp-element-button):visited,
.wp-block-post-terms a:visited,
.wp-block-comment-content a:visited,
.comment-content a:visited,
.about2-wrap a:not(.wp-block-button__link):not(.wp-element-button):visited {
  color: #21748C;
}

.wp-block-post-content a:not(.wp-block-button__link):not(.wp-element-button):hover,
.wp-block-post-content a:not(.wp-block-button__link):not(.wp-element-button):focus,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):hover,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):focus,
.wp-block-post-excerpt a:not(.wp-block-button__link):not(.wp-element-button):hover,
.wp-block-post-excerpt a:not(.wp-block-button__link):not(.wp-element-button):focus,
.wp-block-post-terms a:hover,
.wp-block-post-terms a:focus,
.wp-block-comment-content a:hover,
.wp-block-comment-content a:focus,
.comment-content a:hover,
.comment-content a:focus,
.about2-wrap a:not(.wp-block-button__link):not(.wp-element-button):hover,
.about2-wrap a:not(.wp-block-button__link):not(.wp-element-button):focus {
  color: #C9A961;
}

/* Translucent full-viewport background on the home landing page only. */
body.home::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("/wp-content/uploads/2026/03/ChatGPT-Image-Mar-27-2026-10_42_11-AM.png") center / cover no-repeat;
  opacity: 0.15;
  pointer-events: none;
  z-index: -1;
}
