@media (max-width: 1100px) {
    .fs-nav {
        gap: 14px;
    }

    .fs-menu-link {
        padding-left: 12px;
        padding-right: 12px;
    }

    .fs-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .fs-nav-inner {
        min-height: 84px;
    }

    .fs-menu-toggle {
        display: inline-block;
    }

    .fs-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 18px 16px 24px;
        background: #fff;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    }

    .fs-nav.is-open {
        display: flex;
    }

    .fs-menu {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .fs-menu-item {
        width: 100%;
    }

    .fs-menu-link {
        width: 100%;
        border-radius: 14px;
    }

    .fs-submenu {
        position: static;
        min-width: 0;
        margin-top: 8px;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: rgba(0, 0, 0, 0.03);
        display: none;
    }

    .fs-menu-item.has-children.is-open > .fs-submenu {
        display: block;
    }

    .fs-language-switch {
        border-left: 0;
        padding-left: 0;
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .fs-container {
        width: min(100% - 20px, 1180px);
    }

    .fs-topbar-inner,
    .fs-footer-bottom-inner,
    .fs-footer-hours li {
        flex-direction: column;
        align-items: flex-start;
    }

    .fs-brand-logo {
        width: 210px;
    }

    .fs-hero {
        min-height: 340px;
    }

    .fs-hero-card,
    .fs-main .empty-page-content,
    .fs-main .error-page,
    .fs-main .widget--landing,
    .fs-missing-widget,
    .fs-empty-page {
        padding: 20px;
    }

    .fs-footer-grid {
        grid-template-columns: 1fr;
    }
}
