/* Ball color: median of saturated ball pixels in the supplied photo. */
:root {
  --pcd-accent-50: #f5fbe8;
  --pcd-accent-100: #e8f7c5;
  --pcd-accent-300: #c9f078;
  --pcd-accent-400: #baeb4f;
  --pcd-accent-500: #a8d83e;
  --pcd-accent-700: #476514;
  --wp--preset--color--ball-yellow: #baeb4f;
  --wp--preset--color--yellow-tint: #f5fbe8;
}

header .wp-block-site-title a,
header .wp-block-site-title a:visited,
header .wp-block-site-title a:is(:hover, :focus-visible) {
  color: #fff !important;
  text-decoration-color: var(--pcd-accent-400);
}
footer a,
footer a:visited,
footer a:is(:hover, :focus-visible) {
  color: var(--pcd-accent-400) !important;
  text-decoration-color: var(--pcd-accent-400);
}
footer .wp-block-site-title a,
footer .wp-block-site-title a:visited,
footer .wp-block-site-title a:is(:hover, :focus-visible) {
  color: #fff !important;
  text-decoration-color: var(--pcd-accent-400);
}

/* These flow-layout children need their own centered, responsive widths.
   Override the legacy last-child rule that caps every section at 760px. */
body.home .entry-content .pcd-home > .pcd-home-services,
body.home .entry-content .pcd-home > .pcd-home-secondary {
  width: 100%;
  margin-inline: auto !important;
  max-width: 1240px !important;
}
body.home .entry-content .pcd-home > .pcd-home-secondary {
  max-width: 1080px !important;
}
body.home .pcd-home-services > .pcd-home-card-grid,
body.home .pcd-home-secondary > .pcd-home-secondary__grid {
  max-width: none;
  margin-inline: auto;
}
body.home .pcd-home-services > :is(h2, p),
body.home .pcd-home-secondary > h2 {
  text-align: center;
}

/* Explicit states outrank the theme's general outline-button treatment. */
body.home .pcd-home .pcd-home-button--secondary .wp-block-button__link {
  color: #fff !important;
  border-color: var(--pcd-accent-400) !important;
  background: #242a34 !important;
}
body.home .pcd-home .pcd-home-button--secondary .wp-block-button__link:visited,
body.home .pcd-home .pcd-home-button--secondary .wp-block-button__link > * {
  color: #fff !important;
}
body.home .pcd-home .pcd-home-button--secondary .wp-block-button__link:is(:hover, :focus-visible),
body.home .pcd-home .pcd-home-button--primary .wp-block-button__link {
  color: #151920 !important;
  border-color: var(--pcd-accent-400) !important;
  background: var(--pcd-accent-400) !important;
  filter: none;
}
body.home .pcd-home .pcd-home-button--primary .wp-block-button__link:hover,
body .wp-block-button.is-style-accent .wp-block-button__link:hover {
  color: #151920;
  background: var(--pcd-accent-500);
  border-color: var(--pcd-accent-500);
}
body.home .pcd-home .pcd-home-card--featured a:is(:hover, :focus-visible) {
  color: #fff;
}

/* Max Mega Menu polish: clearer nav links, readable flyouts, stronger mobile tap targets. */
#mega-menu-wrap-primary {
  background: transparent !important;
}
@media (min-width: 769px) {
  #mega-menu-wrap-primary #mega-menu-primary {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    text-align: right;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
    display: block;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    display: flex !important;
    align-items: center;
    min-height: 42px !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 11px 13px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .88rem !important;
    font-weight: 750 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:is(:hover, :focus-visible),
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    background: rgba(186,235,79,.16) !important;
    color: #fff !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-394 > a.mega-menu-link,
  #mega-menu-wrap-primary #mega-menu-primary > li:last-child > a.mega-menu-link {
    min-height: 42px !important;
    padding-inline: 18px !important;
    border: 2px solid var(--pcd-accent-400) !important;
    background: var(--pcd-accent-400) !important;
    color: #151920 !important;
    font-weight: 850 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-394 > a.mega-menu-link:is(:hover, :focus-visible),
  #mega-menu-wrap-primary #mega-menu-primary > li:last-child > a.mega-menu-link:is(:hover, :focus-visible) {
    background: var(--pcd-accent-500) !important;
    border-color: var(--pcd-accent-500) !important;
    color: #151920 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
    width: min(280px, calc(100vw - 32px)) !important;
    margin-top: 10px !important;
    padding: 8px !important;
    border: 1px solid rgba(21,25,32,.12) !important;
    border-top: 4px solid var(--pcd-accent-400) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(21,25,32,.22) !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.35 !important;
    padding: 11px 12px !important;
    border-radius: 9px !important;
    color: #202632 !important;
    font-size: .94rem !important;
    font-weight: 750 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:is(:hover, :focus-visible) {
    background: var(--pcd-accent-50) !important;
    color: #151920 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
    margin-left: 5px;
  }
}
@media (max-width: 768px) {
  #mega-menu-wrap-primary {
    margin-left: auto;
  }
  #mega-menu-wrap-primary .mega-menu-toggle {
    justify-content: flex-end;
    height: 48px;
    border: 1px solid rgba(186,235,79,.32);
    border-radius: 999px;
    background: rgba(21,25,32,.5) !important;
  }
  #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right {
    flex: 0 0 auto;
    padding-inline: 12px;
  }
  #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner,
  #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
  #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
    background-color: var(--pcd-accent-400);
  }
  #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary {
    gap: 4px;
    padding: 88px 20px 28px !important;
    background: #222832 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    min-height: 50px !important;
    padding: 14px 12px !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:is(:hover, :focus-visible),
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    background: rgba(186,235,79,.14) !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-394 > a.mega-menu-link,
  #mega-menu-wrap-primary #mega-menu-primary > li:last-child > a.mega-menu-link {
    justify-content: center;
    margin-top: 8px !important;
    border: 2px solid var(--pcd-accent-400) !important;
    border-radius: 999px !important;
    background: var(--pcd-accent-400) !important;
    color: #151920 !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
    padding: 0 0 8px !important;
    background: transparent !important;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item {
    border-top: 0;
  }
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    margin-left: 12px !important;
    padding: 11px 12px 11px 22px !important;
    border-left: 3px solid var(--pcd-accent-400) !important;
    color: rgba(255,255,255,.9) !important;
    font-size: .94rem !important;
    line-height: 1.35 !important;
  }
}

/* A dark outer ring and white inner ring stay visible on light and dark surfaces. */
body :is(a, button, input, textarea, select):focus-visible {
  outline: 3px solid #15384b !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff;
}
.pcd-home-hero::before {
  background: radial-gradient(circle, rgba(186,235,79,.19), transparent 67%);
}
.pcd-home-hero__image img {
  box-shadow: 22px 22px 0 var(--pcd-accent-400);
}
@media (max-width: 700px) {
  .pcd-home-hero__image img { box-shadow: 12px 12px 0 var(--pcd-accent-400); }
}
@media (prefers-reduced-motion: reduce) {
  body.home .pcd-home .pcd-home-button .wp-block-button__link:hover { transform: none; }
}
