/* Footer Styles */
footer {
    background-color: var(--actex-navy);
    color: var(--white);
    font-family: 'Figtree', sans-serif;
    font-size: 12px;
}

footer .footer-content {
    padding: 3.5rem 3rem 3rem 3rem;
}

@media (min-width: 992px) {
    footer .footer-content {
        padding: 3.5rem 5rem 3rem 5rem;
    }
}

footer .footer-main-blocks {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3rem;
}

footer .footer-columns-block {
    display: flex;
    flex: 1;
    justify-content: space-between;
    gap: 2rem;
}

footer .footer-column {
    flex: 1;
}

footer .footer-logo-block {
    flex-shrink: 0;
    min-width: 300px;
}

@media (max-width: 992px) {
    footer .footer-main-blocks {
        flex-direction: column;
        gap: 2rem;
    }
    
    footer .footer-columns-block {
        flex-wrap: wrap;
    }
    
    footer .footer-column {
        flex: 1 1 calc(50% - 1rem);
        min-width: 200px;
    }
    
    footer .footer-logo-block {
        min-width: auto;
        width: 100%;
    }
}

footer * {
    font-family: 'Figtree', sans-serif;
    font-size: 12px;
}

/* Desktop footer - increase font size to 14px */
.footer-desktop footer {
    font-size: 14px;
}

.footer-desktop footer a,
.footer-desktop footer p,
.footer-desktop footer span,
.footer-desktop footer li {
    font-size: 14px;
}

.footer-desktop footer img {
    font-size: 0;
}

footer img {
    font-size: 0;
}

footer .footer-wave {
    display: block;
    width: 100%;
    overflow: visible;
    margin: 0;
    padding: 0;
}

footer .footer-wave img {
    font-size: 0;
    display: block;
    width: 100%;
    height: auto;
}

footer p.medium-text {
    font-weight: 300;
    font-size: 12px;
    letter-spacing: 0.08em;
}

footer a,
footer p,
footer span {
    font-weight: 500;
}

footer a {
    color: var(--white);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

footer a:hover:not(.footer-link):not(.footer-social-icons a) {
    opacity: 0.8;
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer ul li {
    margin-bottom: 0.5rem;
}

/* Desktop footer - reduce vertical spacing between items */
.footer-desktop footer ul li {
    margin-bottom: 0.25rem;
}

footer .small-text[style*="font-style: italic"] {
    font-style: italic;
}

footer .footer-tagline {
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
}

footer .footer-contact {
    font-size: 12px;
}

footer .footer-social-icons {
    gap: 0.5rem;
}

footer .footer-social-icons > * {
    margin-right: 0;
}

footer .footer-social-icons a {
    transition: filter 0.2s ease;
}

footer .footer-social-icons a:hover img {
    filter: brightness(0) saturate(100%) invert(85%) sepia(100%) saturate(10000%) hue-rotate(0deg) brightness(1.05) contrast(1.05);
}

/* Footer semantic classes */
.footer-shell {
    margin-top: -40px;
    position: relative;
    z-index: 1;
}

/* Home pages: pull footer up more to "suck" content into wave */
body.home .footer-shell {
    margin-top: -100px;
}

footer.footer-navy-background {
    background-color: transparent;
    color: var(--white);
    margin-top: 0;
    line-height: 1.5;
}

.footer-wave-container {
    display: block;
    line-height: 0;
    margin: 0;
    pointer-events: none;
}

/* Desktop footer container - add horizontal padding to center content */
.footer-desktop .footer-container-navy.container-fluid {
    padding-left: 10%;
    padding-right: 10%;
}

.footer-desktop .footer-container-navy .row {
    margin-left: 0;
    margin-right: 0;
}

.footer-desktop .footer-container-navy .row > * {
    padding-left: 0;
    padding-right: 0;
}

/* Desktop footer content - remove horizontal padding since container handles it */
.footer-desktop .footer-content {
    padding: 1.75rem 0 3rem 0;
}

/* Desktop footer logo block - only as wide as content */
.footer-desktop .footer-logo-block {
    flex-shrink: 0;
    flex-grow: 0;
    width: fit-content;
    min-width: auto;
    max-width: fit-content;
}

.footer-wave-image {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
}

.footer-container-navy {
    background-color: var(--actex-navy);
    margin-top: -1px;
}

.footer-section-heading {
    color: var(--actex-yellow);
    margin-bottom: 1rem;
}

.footer-section-heading-spaced {
    color: var(--actex-yellow);
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-link-item {
    margin-bottom: 0.5rem;
}

/* Desktop footer - reduce vertical spacing between link items */
.footer-desktop .footer-link-item {
    margin-bottom: 0.25rem;
}

.footer-link {
    color: var(--white);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-link:hover {
    color: var(--actex-yellow);
}

.footer-link:hover .mega-menu-arrow-icon {
    filter: brightness(0) saturate(100%) invert(85%) sepia(100%) saturate(10000%) hue-rotate(0deg) brightness(1.05) contrast(1.05);
}

/* Footer arrow icons - white and aligned with text */
footer .mega-menu-arrow-icon {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    margin-left: 4px;
    transition: filter 0.2s ease;
}

/* Desktop footer - ensure arrows align properly with text */
.footer-desktop .footer-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.footer-desktop .mega-menu-arrow-icon {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
    display: inline-block;
    vertical-align: baseline;
    flex-shrink: 0;
    margin-left: 0;
    transition: filter 0.2s ease;
}

.footer-logo-image {
    height: auto;
}

.footer-tagline-text {
    color: var(--lightblue);
    margin-bottom: 1rem;
}

.footer-contact-info {
    color: var(--white);
    margin-bottom: 0.75rem;
}

.footer-contact-phone {
    color: var(--white);
    margin-bottom: 0.25rem;
}

.footer-contact-info-last {
    color: var(--white);
}

/* Mobile Footer Styles */
.mobile-footer-links {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    margin-top: 2.5rem;
}

.mobile-footer-row {
    margin: 0;
}

.mobile-footer-row .footer-section-heading {
    width: 100%;
    font-size: 12px;
    margin-bottom: 0.75rem;
}

.mobile-footer-row .row {
    margin: 0;
}

.mobile-footer-column {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.mobile-footer-column .footer-section-heading {
    font-size: 12px;
    margin-bottom: 0.75rem;
}

.mobile-footer-column .footer-link-list {
    margin-top: 0;
}

.mobile-footer-column .footer-link-item {
    margin-bottom: 0.5rem;
}

.mobile-footer-column .footer-link {
    font-size: 14px;
}

.footer-mobile .footer-content {
    padding-bottom: 5rem !important;
}

.footer-mobile .footer-social-icons {
    margin-bottom: 3rem;
}

/* Ensure mobile versions are properly hidden/shown */
@media (min-width: 992px) {
    .footer-mobile {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .footer-desktop {
        display: none !important;
    }
}

