.mobile-sticky-cta {
    display: none;
}

@media (max-width: 640px) {
    .mobile-cta-page {
        padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
    }

    .mobile-sticky-cta {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 120;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 56px;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
        background: var(--deep-forest, var(--brand, #123629));
        color: var(--white, #FFFFFF);
        border-top: 1px solid var(--accent, var(--harvest-amber, #C97A32));
        box-shadow: 0 -8px 24px rgba(11, 29, 24, 0.16);
        font-family: var(--font-sans, 'Plus Jakarta Sans', system-ui, sans-serif);
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.35;
        text-align: center;
        text-decoration: none;
        overflow-wrap: anywhere;
        transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    }

    .mobile-sticky-cta:hover {
        background: var(--brand-deep, var(--midnight-forest, #0B1D18));
        color: var(--white, #FFFFFF);
    }

    .mobile-sticky-cta:focus-visible {
        outline: 3px solid var(--accent, var(--harvest-amber, #C97A32));
        outline-offset: -4px;
    }

    .mobile-sticky-cta.is-hidden {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(100%);
    }
}

@media (min-width: 641px) {
    .mobile-sticky-cta {
        display: none !important;
    }
}
