/* ==========================================================
   HICAP SITE-WIDE COLOR AND HOVER CORRECTIONS
   Scoped to existing HICAP design components
========================================================== */

/* Dark call-to-action panels */
.hicap-editorial .hicap-bottom-cta,
.hicap-batch .hicap-bottom-cta,
.hicap-editorial .hicap-final-cta,
.hicap-home .hicap-contact-cta {
    color: #ffffff !important;
}

/* Headings must remain white on dark backgrounds */
.hicap-editorial .hicap-bottom-cta h2,
.hicap-editorial .hicap-bottom-cta h3,
.hicap-batch .hicap-bottom-cta h2,
.hicap-batch .hicap-bottom-cta h3,
.hicap-editorial .hicap-final-cta h2,
.hicap-home .hicap-contact-cta h2 {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none;
}

/* Descriptions */
.hicap-editorial .hicap-bottom-cta p:not(.hicap-kicker),
.hicap-batch .hicap-bottom-cta p:not(.hicap-kicker),
.hicap-editorial .hicap-final-cta p:not(.hicap-kicker),
.hicap-home .hicap-contact-cta p {
    color: #edf9f8 !important;
}

/* Accent labels */
.hicap-editorial .hicap-bottom-cta .hicap-kicker,
.hicap-batch .hicap-bottom-cta .hicap-kicker,
.hicap-editorial .hicap-final-cta .hicap-kicker {
    color: #91f4e6 !important;
}

/* Dark feature panels */
.hicap-editorial .hicap-feature-aside,
.hicap-batch .hicap-feature-aside,
.hicap-editorial .hicap-overview-aside {
    color: #ffffff !important;
}

.hicap-editorial .hicap-feature-aside strong,
.hicap-batch .hicap-feature-aside strong,
.hicap-editorial .hicap-overview-aside strong {
    color: #ffffff !important;
}

/* Primary buttons on light backgrounds */
.hicap-editorial a.hicap-action-primary,
.hicap-batch a.hicap-action-primary {
    transition:
        background-color .2s ease,
        color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.hicap-editorial a.hicap-action-primary:hover,
.hicap-editorial a.hicap-action-primary:focus-visible,
.hicap-batch a.hicap-action-primary:hover,
.hicap-batch a.hicap-action-primary:focus-visible {
    background: #075b64 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(7, 91, 100, .24);
    transform: translateY(-2px);
    text-decoration: none !important;
}

/* White buttons on dark CTA backgrounds */
.hicap-editorial .hicap-bottom-cta a.hicap-action-primary,
.hicap-batch .hicap-bottom-cta a.hicap-action-primary,
.hicap-editorial .hicap-final-cta a.hicap-action-primary {
    background: #ffffff !important;
    color: #123b4a !important;
    border: 1px solid #ffffff;
}

.hicap-editorial .hicap-bottom-cta a.hicap-action-primary:hover,
.hicap-editorial .hicap-bottom-cta a.hicap-action-primary:focus-visible,
.hicap-batch .hicap-bottom-cta a.hicap-action-primary:hover,
.hicap-batch .hicap-bottom-cta a.hicap-action-primary:focus-visible,
.hicap-editorial .hicap-final-cta a.hicap-action-primary:hover,
.hicap-editorial .hicap-final-cta a.hicap-action-primary:focus-visible {
    background: #c9f5eb !important;
    color: #103d46 !important;
    border-color: #c9f5eb !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
}

/* Secondary buttons */
.hicap-editorial a.hicap-action-secondary:hover,
.hicap-batch a.hicap-action-secondary:hover {
    background: #e2f5f0 !important;
    color: #075b64 !important;
    border-color: #087f89 !important;
    text-decoration: none !important;
}

/* Home page buttons */
.hicap-home a.hicap-btn:hover,
.hicap-home a.hicap-btn:focus-visible {
    text-decoration: none !important;
    filter: brightness(1.04);
}

/* Keyboard accessibility */
.hicap-editorial a:focus-visible,
.hicap-batch a:focus-visible,
.hicap-home a:focus-visible {
    outline: 3px solid #20bba9;
    outline-offset: 4px;
}

/* Prevent transitions for users requesting reduced motion */
@media (prefers-reduced-motion: reduce) {
    .hicap-editorial a,
    .hicap-batch a,
    .hicap-home a {
        transition: none !important;
        transform: none !important;
    }
}
