/* V59 — Sitewide CTA/button contrast hardening */

/* Prevent white-on-white / washed-out outline CTAs anywhere on the site */
a.btn.btn-outline,
button.btn.btn-outline,
.btn-outline,
.project-v55-actions .btn-outline,
.project-v55-hero .btn-outline,
.home3-hero .btn-outline,
.hero .btn-outline,
[class*="hero"] .btn-outline {
  color: #ffffff !important;
  background: rgba(5, 60, 78, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 8px 24px rgba(0, 32, 46, 0.24) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

a.btn.btn-outline:hover,
a.btn.btn-outline:focus-visible,
button.btn.btn-outline:hover,
button.btn.btn-outline:focus-visible,
.btn-outline:hover,
.btn-outline:focus-visible,
.project-v55-actions .btn-outline:hover,
.project-v55-actions .btn-outline:focus-visible {
  color: #ffffff !important;
  background: #063f53 !important;
  border-color: #9fba62 !important;
  box-shadow: 0 10px 28px rgba(0, 32, 46, 0.32) !important;
  transform: translateY(-1px);
}

/* Keep every icon inside CTA buttons fully visible */
.btn svg,
.btn .ui-icon,
.home3-btn svg,
.home3-btn .ui-icon,
[class*="cta"] svg,
[class*="cta"] .ui-icon {
  color: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  fill: none;
}

/* White/light buttons need dark text when they intentionally use a pale background */
.btn-light,
.btn-white,
a.btn-light,
a.btn-white,
button.btn-light,
button.btn-white {
  color: #07384b !important;
  background: #ffffff !important;
  border-color: rgba(7, 56, 75, 0.22) !important;
  -webkit-text-fill-color: #07384b !important;
  box-shadow: 0 8px 22px rgba(0, 32, 46, 0.14) !important;
}

.btn-light:hover,
.btn-white:hover,
a.btn-light:hover,
a.btn-white:hover,
button.btn-light:hover,
button.btn-white:hover {
  color: #ffffff !important;
  background: #073f53 !important;
  border-color: #073f53 !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Specific protection for project hero CTA row shown in the issue */
.project-v55-hero .project-v55-actions .btn {
  min-height: 48px;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.project-v55-hero .project-v55-actions .btn-outline::before,
.project-v55-hero .project-v55-actions .btn-outline::after {
  opacity: 0 !important;
}

@media (max-width: 767px) {
  .project-v55-actions .btn,
  [class*="hero"] .btn {
    white-space: normal;
    text-align: center;
  }
}
