/*
 * Solid backgrounds behind text (WCAG 1.4.3).
 * Contrast checkers cannot measure text on gradients, background images or
 * decorative pseudo-elements, so text sits on solid brand colours here and
 * the gradients appear on hover/focus only.
 */

/* Buttons: solid teal, gradient on hover */
.modern-nav-menu .nav-link.nav-link-primary,
.modern-btn.modern-btn-primary,
.fe-pages-signup-page .btn.btn-signup,
.btn.btn-sec,
label.btn-sec {
    background: #2E7291 !important;
    color: #ffffff !important;
}
.modern-nav-menu .nav-link.nav-link-primary:hover,
.modern-nav-menu .nav-link.nav-link-primary:focus-visible,
.modern-btn.modern-btn-primary:hover,
.modern-btn.modern-btn-primary:focus-visible,
.fe-pages-signup-page .btn.btn-signup:hover,
.fe-pages-signup-page .btn.btn-signup:focus-visible,
.btn.btn-sec:hover,
.btn.btn-sec:focus-visible,
label.btn-sec:hover {
    background: linear-gradient(135deg, #4EB1BA 0%, #2E7291 100%) !important;
}

/* Light tinted panels: solid tint instead of gradient */
.fe-pages-how-it-works-page .final-message {
    background: #f4fafb !important;
}
.fe-pages-signup-page .signup-badge {
    background: #e9f3f6 !important;
}
.fe-pages-signup-page .terms-container {
    background: #f1f4f8 !important;
}

/* Sign-up dropdown: arrow drawn by a wrapper icon instead of a background image */
.fe-pages-signup-page select#portfolioType {
    background-image: none !important;
    -webkit-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
}
.a11y-select-wrap {
    position: relative;
}
.a11y-select-wrap::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid #4b5563;
    border-bottom: 2px solid #4b5563;
    transform: translateY(-75%) rotate(45deg);
    pointer-events: none;
}

/* Footer: solid dark teal, decorations as borders instead of overlays */
.footer-btn-contact {
    background: #3c6475 !important;
}
.modern-footer {
    background: #1a495e !important;
    border-top: 4px solid #4EB1BA;
}
.modern-footer::before,
.modern-footer::after {
    content: none !important;
}
.footer-title {
    display: inline-block;
    padding-bottom: 0.5rem;
    border-bottom: 4px solid #4EB1BA;
}
.footer-title::after {
    content: none !important;
}
.footer-links li a::after,
.footer-btn-contact::before {
    content: none !important;
}
.footer-links li a:hover,
.footer-links li a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Step numbers are decorative (each step has its own heading); drawn by CSS */
.fe-pages-how-it-works-page .step-number[data-step]::before {
    content: attr(data-step);
}
