/* Shared mobile navigation, loaded after each page's existing styles. */
.site-header.fc-mobile-navigation .mobile-guide-toggle,
.site-header.fc-mobile-navigation .mobile-guide-links,
.site-header.fc-mobile-navigation .mobile-guide-links[hidden] {
    display: none;
}

@media (max-width: 940px) {
    .site-header.fc-mobile-navigation {
        padding: 0 18px;
        background: #fff;
        border-bottom: 1px solid #d9ddd8;
        box-shadow: none;
    }

    .site-header.fc-mobile-navigation .navbar {
        width: 100%;
        min-height: 76px;
        margin: 0 auto;
        padding: 0 96px 0 0;
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }

    .site-header.fc-mobile-navigation .brand {
        min-width: 0;
        gap: 8px;
        color: #151915;
        font-size: 0.82rem;
    }

    .site-header.fc-mobile-navigation .brand img {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        object-fit: contain;
    }

    .site-header.fc-mobile-navigation .brand > span {
        display: block;
    }

    .site-header.fc-mobile-navigation .brand strong {
        font-size: 0.82rem;
    }

    .site-header.fc-mobile-navigation .brand small {
        font-size: 0.65rem;
    }

    .site-header.fc-mobile-navigation .nav-links {
        display: none;
    }

    .site-header.fc-mobile-navigation .mobile-guide-toggle {
        position: absolute;
        top: 16px;
        right: 18px;
        width: auto;
        min-height: 44px;
        margin: 0;
        padding: 0 15px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid #173f2b;
        border-radius: 0;
        box-shadow: none;
        background: #fff;
        color: #173f2b;
        font: 700 0.72rem/1.2 Manrope, "Segoe UI", sans-serif;
        letter-spacing: 0.045em;
        text-transform: uppercase;
        cursor: pointer;
    }

    .site-header.fc-mobile-navigation .mobile-guide-toggle::after {
        content: "\25BE";
        font-size: 0.72em;
        line-height: 1;
    }

    .site-header.fc-mobile-navigation .mobile-guide-toggle[aria-expanded="true"]::after {
        transform: rotate(180deg);
    }

    .site-header.fc-mobile-navigation .mobile-guide-links {
        position: absolute;
        top: 68px;
        right: 18px;
        left: 18px;
        z-index: 60;
        width: auto;
        max-height: calc(100vh - 96px);
        max-height: calc(100dvh - 96px);
        margin: 0;
        padding: 12px;
        overflow-y: auto;
        overscroll-behavior: contain;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        border: 1px solid #d9ddd8;
        border-radius: 0;
        background: #fff;
        box-shadow: 0 18px 36px rgba(20, 32, 25, 0.14);
        font-family: Manrope, "Segoe UI", sans-serif;
    }

    .site-header.fc-mobile-navigation .mobile-guide-links.is-open:not([hidden]) {
        display: grid;
    }

    .site-header.fc-mobile-navigation .mobile-guide-links::before {
        content: "Explore Fair Cotton";
        grid-column: 1 / -1;
        color: #606961;
        font-size: 0.68rem;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .site-header.fc-mobile-navigation .mobile-guide-links a {
        min-width: 0;
        min-height: 44px;
        padding: 10px 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d9ddd8;
        border-radius: 0;
        background: #fff;
        color: #151915;
        font-size: 0.77rem;
        font-weight: 650;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .site-header.fc-mobile-navigation .mobile-guide-links a[aria-current="page"] {
        border-color: #173f2b;
        background: #f6f1e8;
        color: #151915;
    }

    .site-header.fc-mobile-navigation .mobile-guide-toggle:focus-visible,
    .site-header.fc-mobile-navigation .mobile-guide-links a:focus-visible {
        outline: 2px solid #173f2b;
        outline-offset: 2px;
    }

    .policy-main {
        padding-top: 112px;
    }
}
