/* Full-width bottom call to action. No font or script dependency. */
#site-mobile-cta { display:none; }
@media screen and (max-width:1299px) {
    body.site-has-mobile-cta { --site-mobile-cta-height:calc(max(56px, 3.5rem) + env(safe-area-inset-bottom, 0px)); }
    body.site-has-mobile-cta::after {
        content:"";
        display:block;
        clear:both;
        height:var(--site-mobile-cta-height);
    }
    html:has(body.site-has-mobile-cta) {
        scroll-padding-bottom:var(--site-mobile-cta-height);
    }
    #site-mobile-cta {
        display:flex;
        position:fixed;
        inset:auto 0 0;
        z-index:50;
        box-sizing:border-box;
        justify-content:center;
        padding:0;
        pointer-events:none;
    }
    #site-mobile-cta .site-mobile-cta-link {
        box-sizing:border-box;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:12px;
        width:100%;
        max-width:none;
        flex-shrink:0;
        height:var(--site-mobile-cta-height);
        min-height:56px;
        padding:4px max(18px, env(safe-area-inset-right, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
        border:0;
        border-radius:0;
        background:var(--site-mobile-cta-background, #2f80ed);
        color:#ffffff;
        box-shadow:none;
        font-family:inherit;
        font-size:1rem;
        font-weight:600;
        line-height:1.4;
        text-align:left;
        text-decoration:none;
        text-transform:none;
        letter-spacing:normal;
        pointer-events:auto;
        -webkit-tap-highlight-color:transparent;
    }
    #site-mobile-cta .site-mobile-cta-link:hover {
        color:#ffffff;
        background:var(--site-mobile-cta-background, #2f80ed);
        text-decoration:none;
        box-shadow:none;
    }
    #site-mobile-cta .site-mobile-cta-link:focus-visible {
        outline:3px solid #ffffff;
        outline-offset:-3px;
    }
    #site-mobile-cta .site-mobile-cta-label {
        flex:0 1 auto;
        min-width:0;
        overflow-wrap:anywhere;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden;
    }
    #site-mobile-cta svg { display:block; position:static; flex:none; fill:none; stroke:currentColor; }
    #site-mobile-cta .site-mobile-cta-heart { width:22px; height:22px; }
    #site-mobile-cta .site-mobile-cta-arrow { width:18px; height:18px; }
}
@media print {
    #site-mobile-cta, body.site-has-mobile-cta::after { display:none !important; }
}
