/* Full-width storefront canvas with consistent readable edge spacing. */
:root {
    --theme-selection-background-color: #02677e;
}

.zf-store-shell,
.zf-g-shell {
    width: calc(100% - 96px);
    max-width: none;
}

.zf-g-benefits {
    width: calc(100% - 96px);
    max-width: none;
}

body.zf-store-route.woocommerce .ct-container {
    width: calc(100% - 96px);
    max-width: none;
}

body.zf-store-route.single-product .product-entry-wrapper.is-width-constrained {
    width: 100%;
    max-width: none;
    padding-right: 48px;
    padding-left: 48px;
}

.zf-store-menu-toggle,
.zf-store-mobile-tools {
    display: none;
}

body.zf-store-route.home .entry-content > .zf-gadgets {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
}

@media (max-width: 760px) {
    .zf-store-shell,
    .zf-g-shell,
    .zf-g-benefits,
    body.zf-store-route.woocommerce .ct-container {
        width: calc(100% - 28px);
    }

    body.zf-store-route.single-product .product-entry-wrapper.is-width-constrained {
        padding-right: 14px;
        padding-left: 14px;
    }

    .zf-store-header .zf-store-shell {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .zf-store-menu-toggle {
        display: grid;
        width: 42px;
        height: 42px;
        padding: 10px;
        border: 1px solid #5b5b60;
        background: transparent;
        color: #fff;
        cursor: pointer;
        place-content: center;
        gap: 5px;
    }

    .zf-store-menu-toggle > span[aria-hidden] {
        display: block;
        width: 19px;
        height: 1px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .zf-store-menu-toggle[aria-expanded="true"] > span[aria-hidden]:nth-last-child(3) { transform: translateY(6px) rotate(45deg); }
    .zf-store-menu-toggle[aria-expanded="true"] > span[aria-hidden]:nth-last-child(2) { opacity: 0; }
    .zf-store-menu-toggle[aria-expanded="true"] > span[aria-hidden]:nth-last-child(1) { transform: translateY(-6px) rotate(-45deg); }

    .zf-store-header nav {
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: 1fr;
        gap: 0;
        width: 100%;
        padding: 8px 0 6px;
        border-top: 1px solid #38383d;
    }

    .zf-store-header nav[data-open="true"] { display: grid; }

    .zf-store-header nav > a,
    .zf-store-mobile-tools a {
        display: flex;
        align-items: center;
        min-height: 47px;
        border-bottom: 1px solid #38383d;
        font-size: 14px;
    }

    .zf-store-mobile-tools {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        padding-top: 12px;
    }

    .zf-store-mobile-tools a { justify-content: space-between; }
    .zf-store-mobile-tools span { display: inline-grid; place-items: center; min-width: 17px; height: 17px; border-radius: 50%; background: #02677e; color: #fff; font-size: 10px; }
    .zf-store-tools { display: none; }
}
