/* Storefront V2 mobile footer — loaded after the general responsive layer. */
.sf-footer-v2__mobile-nav { display: none; }

@media (max-width: 640px) {
    .sf-footer-v2 { margin-top: 2rem; }

    .sf-footer-v2__prelude {
        padding-block: 1.25rem;
    }
    .sf-footer-v2__prelude-grid {
        gap: .8rem;
    }
    .sf-footer-v2__eyebrow {
        margin-bottom: .3rem;
        font-size: .58rem;
        letter-spacing: .04em;
    }
    .sf-footer-v2__prelude h2 {
        font-size: clamp(1.4rem, 7vw, 1.75rem);
        line-height: 1.2;
    }
    .sf-footer-v2__prelude p {
        margin-top: .4rem;
        max-width: 29rem;
        font-size: .7rem;
        line-height: 1.65;
    }
    .sf-footer-v2__cta {
        min-height: 42px;
        padding: .65rem .85rem;
        border-radius: 14px;
        font-size: .7rem;
    }

    .sf-footer-v2__body {
        padding: 1.45rem 0 .8rem;
        background:
            radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--brand-600) 18%, transparent), transparent 15rem),
            linear-gradient(160deg, color-mix(in srgb, var(--brand-900) 58%, #0b1220), #0b1220 76%) !important;
    }

    .sf-footer-v2__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.35rem 1rem !important;
    }

    .sf-footer-v2__brand {
        grid-column: 1 / -1 !important;
        padding-bottom: .95rem;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .sf-footer-v2__brand-lockup {
        gap: .65rem;
    }
    .sf-footer-v2__brand-lockup > span {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }
    .sf-footer-v2__brand-lockup img {
        width: 34px;
        height: 34px;
    }
    .sf-footer-v2__brand-lockup strong {
        font-size: .92rem;
    }
    .sf-footer-v2__brand > p {
        margin-top: .55rem;
        max-width: 100%;
        color: #c2ccda;
        font-size: .69rem;
        line-height: 1.7;
    }
    .sf-footer-v2__trust-row {
        flex-wrap: nowrap;
        gap: .4rem;
        margin-top: .7rem;
        overflow-x: auto;
        scrollbar-width: none;
        padding-bottom: .15rem;
    }
    .sf-footer-v2__trust-row::-webkit-scrollbar { display: none; }
    .sf-footer-v2__trust-row span {
        flex: 0 0 auto;
        padding: .3rem .5rem;
        border-color: color-mix(in srgb, var(--brand-500) 26%, rgba(255,255,255,.12));
        background: color-mix(in srgb, var(--brand-700) 12%, rgba(255,255,255,.04));
        color: #eef4fa;
        font-size: .56rem;
    }

    /* Keep the real footer link columns visible on mobile. */
    .sf-footer-v2__desktop-column {
        display: block !important;
        min-width: 0;
    }
    .sf-footer-v2__desktop-column:last-of-type {
        grid-column: 1 / -1;
        padding-top: .2rem;
        border-top: 1px solid rgba(255,255,255,.07);
    }
    .sf-footer-v2 .sf-footer-v2__desktop-column h3 {
        margin-bottom: .65rem;
        color: color-mix(in srgb, var(--brand-100) 84%, #fff) !important;
        font-size: .7rem;
        font-weight: 900;
    }
    .sf-footer-v2__links {
        gap: .5rem;
    }
    .sf-footer-v2__links a,
    .sf-footer-v2__contact a {
        color: #c3cedd !important;
        font-size: .66rem;
        line-height: 1.55;
    }
    .sf-footer-v2__links a:hover,
    .sf-footer-v2__links a:active,
    .sf-footer-v2__contact a:hover,
    .sf-footer-v2__contact a:active {
        color: color-mix(in srgb, var(--brand-100) 88%, #fff) !important;
    }
    .sf-footer-v2__links span,
    .sf-footer-v2__contact p {
        color: #9aa9bc !important;
        font-size: .62rem;
        line-height: 1.65;
    }

    /* Do not rely on the alternate accordion version on mobile. */
    .sf-footer-v2__mobile-nav {
        display: none !important;
    }

    .sf-footer-v2__bottom {
        margin-top: 1.25rem;
        padding-top: .8rem;
        border-top-color: rgba(255,255,255,.08);
        align-items: center;
        gap: .35rem;
        color: #8f9caf;
        text-align: center;
        font-size: .57rem;
    }
    .sf-footer-v2__bottom > * {
        width: 100%;
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 380px) {
    .sf-footer-v2__prelude { padding-block: 1.05rem; }
    .sf-footer-v2__prelude h2 { font-size: 1.35rem; }
    .sf-footer-v2__grid { grid-template-columns: 1fr !important; }
    .sf-footer-v2__brand,
    .sf-footer-v2__desktop-column:last-of-type { grid-column: auto !important; }
    .sf-footer-v2__brand > p { font-size: .65rem; }
    .sf-footer-v2__trust-row span { font-size: .53rem; }
}
