html,
body {
    overflow-x: hidden;
}

.saintsmedia-theme-header {
    position: fixed;
    z-index: 999;
    width: 100%;
}

.burger {
    display: block;
    background: transparent;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    margin: 0 auto;
    /* центрируем */
}

.burger i {
    color: var(--sm-burger-color);
    font-size: 22px;
}

.menu-menu-1-container {
    display: flex;
    justify-content: center;

    /* border: 2px solid #27ae60; */
}

.menu-menu-1-container li {
    margin-right: 10px;
    /* border: 2px solid #f1c40f; */
}

.header-buttons {
    /* width: 180px; */
    display: flex;
}

.header-buttons button {
    white-space: nowrap;
    border-radius: 7px;
    margin: 0 5px;
}

.header-buttons button:nth-child(1) {
    background: linear-gradient(90deg, #d5df6c 0%, #ebf85d 100%);
}

.header-buttons button:nth-child(2) {
    background: linear-gradient(90deg, #d45858 0%, #f85d5d 100%);
}

.saintsmedia-theme-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--sm-menu-bg, #111315);
    padding: 0 24px;
    min-height: 64px;
    color: var(--sm-menu-text, #B8BDC5);
}

.saintsmedia-theme-nav ul li a {
    color: var(--sm-menu-link);
}

.saintsmedia-theme-logo {
    margin: 1rem 0;
}

.saintsmedia-theme-logo img {
    height: 80px;
}

.saintsmedia-theme-nav {
    display: flex;
    flex: 1;
    margin-left: 32px;
}

.saintsmedia-theme-menu {
    display: flex;
    justify-content: center;
    /* gap: 24px; */
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.saintsmedia-theme-menu li a {
    color: var(--sm-menu-link, #B8BDC5);
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 6px;
    transition: color 0.2s, background 0.2s;
    outline: none;
}

/* Слот под иконку FA слева: фиксированная ширина — текст не смещается без иконки */
.saintsmedia-theme-menu li a .menu-icon-slot {
    width: 18px;
    display: inline-flex;
    justify-content: center;
    margin-right: 8px;
}

.saintsmedia-theme-menu li a:focus {
    outline: 2px solid var(--sm-focus-outline, #6CA2FF);
    outline-offset: 2px;
}

.saintsmedia-theme-menu li a:hover {
    color: #fff;
    background: rgba(230, 30, 77, 0.08);
}

.saintsmedia-theme-menu .badge {
    background: var(--sm-menu-badge-bg, #E61E4D);
    color: var(--sm-menu-badge-color, #fff);
    font-size: 10px;
    border-radius: 8px;
    padding: 2px 6px;
    margin-left: 4px;
}

.has-submenu>a:after,
.menu-item-has-children>a:after {
    content: '▼';
    font-size: 10px;
    margin-left: 6px;
}

.has-submenu,
.menu-item-has-children {
    position: relative;
}

.submenu,
.sub-menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    /* background: #222; */
    background: var(--sm-menu-sub-bg);
    border-radius: 6px;
    margin-top: 8px;
    min-width: 120px;
    z-index: 10;

    list-style: none;
    padding-left: 0;
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu,
.menu-item-has-children:hover>.sub-menu,
.menu-item-has-children:focus-within>.sub-menu {
    display: block;
}

.has-submenu .submenu,
.menu-item-has-children>.sub-menu {
    display: none;
}

.has-submenu.submenu-open .submenu,
.menu-item-has-children.submenu-open>.sub-menu {
    display: block;
}

.open.saintsmedia-theme-menu {
    border: solid 10px #6DA2FE;
}

.submenu li a,
.sub-menu li a {
    color: var(--sm-menu-link, #B8BDC5);
    padding: 8px 16px;
    display: block;
}

.submenu li,
.sub-menu li {
    padding: 5px;
}

.submenu li a:hover,
.sub-menu li a:hover {
    color: var(--sm-menu-link-hover-text, #fff);
    background: var(--sm-menu-hover-bg);
}

/* Вложенные подменю (2+ уровень) */
.sub-menu .menu-item-has-children {
    position: relative;
}

.sub-menu .sub-menu {
    top: 0;
    left: 100%;
    margin-top: 0;
}

/* Показывать вложенное подменю при ховере на десктопе */
@media (hover: hover) and (pointer: fine) {

    .sub-menu .menu-item-has-children:hover>.sub-menu,
    .sub-menu .menu-item-has-children:focus-within>.sub-menu {
        display: block;
    }
}

.saintsmedia-theme-cta {
    display: flex;
    gap: 12px;
}

.saintsmedia-theme-cta .play {
    background-color: var(--sm-menu-first-btn-bg);
    color: var(--sm-menu-first-btn-color);
}

.saintsmedia-theme-cta .download {
    background-color: var(--sm-menu-second-btn-bg);
    color: var(--sm-menu-second-btn-color);
}

.saintsmedia-theme-btn {
    font-weight: 600;
    border: none;
    border-radius: 7px;
    padding: 0 24px;
    height: 40px;
    cursor: pointer;
    font-size: 16px;
    transition: box-shadow 0.2s;
    outline: none;
}

.saintsmedia-theme-btn:focus {
    outline: 2px solid var(--sm-focus-outline, #6CA2FF);
    outline-offset: 2px;
}

.spacer-on-top {
    background: #111315;
}

/* Адаптив */
@media (max-width: 1024px) {
    .saintsmedia-theme-menu {
        gap: 12px;
    }

    .saintsmedia-theme-header {
        padding: 0 16px;
    }
}

@media (max-width: 768px) {
    .saintsmedia-theme-nav {
        position: relative;
    }

    .saintsmedia-theme-menu {
        display: none;
        /* скрыто по умолчанию */
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        position: absolute;
        top: 56px;
        /* left: 0; */
        background: var(--sm-menu-bg, #111315);
        width: 100%;
        padding: 24px 0;
        z-index: 100;
    }

    .saintsmedia-theme-nav.open .saintsmedia-theme-menu {
        display: grid;
        /* показываем в виде сетки при открытии */
    }

    .burger {
        display: block;
        background: transparent;
        border: none;
        color: #B8BDC5;
        font-weight: 600;
        font-size: 16px;
        padding: 12px 16px;
        cursor: pointer;
        /* margin: 0 auto; */
    }

    .burger:focus {
        outline: 2px solid var(--sm-focus-outline, #6CA2FF);
        outline-offset: 2px;
    }
}

@media (max-width: 769px) {
    .saintsmedia-theme-cta.menu-nav-buttons--desktop {
        display: flex !important;
    }

    .saintsmedia-theme-menu {
        right: 0;
        width: 70vh;
    }

    .menu-nav-buttons--desktop {
        display: none !important;
    }

    .menu-nav-buttons--mobile {
        display: none !important;
    }

    .menu-nav-buttons--desktop {
        display: block !important;
    }

    .saintsmedia-theme-nav {
        flex: 0;
    }
}

@media (min-width: 769px) {
    .burger {
        display: none;
    }

    .menu-nav-buttons--desktop {
        display: none !important;
    }
}

@media (max-width: 561px) {
    .saintsmedia-theme-menu {
        width: 90vw;
    }
}

@media (max-width: 431px) {
    .saintsmedia-theme-cta.menu-nav-buttons--desktop button {
        font-size: 0.8rem;
        justify-content: center !important;
    }

    .saintsmedia-theme-cta {
        /* width: 100%; */
    }

    .saintsmedia-theme-logo img {
        height: 65px;
    }

    .saintsmedia-theme-menu {
        width: 90vw;
    }

    .saintsmedia-theme-nav {
        flex: 0;
        margin-left: 0;
    }

    .saintsmedia-theme-cta button {
        width: 100%;
    }

    .saintsmedia-theme-cta.menu-nav-buttons--desktop {
        display: flex !important;
        justify-content: center;
    }
}
