/*
 Theme Name:   Twenty Twenty-One Child
 Description:  Дочерняя тема для Twenty Twenty-One
 Template:     twentytwentyone
 Version:      1.0.0
*/

.wp-custom-logo .site-header {
    max-width: 1310px !important;
    padding: 0px 15px !important;
}
.site-branding {
    margin-top: 0px !important;
}

/* ==========================================================================
   Menu
   ========================================================================== */

/* 1. Общие настройки контейнера */
.tm-nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: 15px;
    z-index: 1000;
}

/* 2. Стили для ПК (Desktop - от 992px) */
@media (min-width: 992px) {
    .tm-burger-btn {
        display: none !important;
    }

    .tm-menu-container {
        display: block !important;
    }

    .tm-menu-list {
        display: flex !important;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 15px;
    }

    .tm-menu-list > li {
        position: relative;
        display: flex;
        align-items: center;
        background: #262626 !important;
        padding: 20px 35px;
        border-radius: 20px;
    }
    .tm-menu-list a {
        text-decoration: none;
        color: #fff;
        font-weight: 500;
        font-size: 20px;
        transition: 0.3s ease;
        line-height: 1;
        font-family: "Inter", sans-serif;
    }

    .tm-menu-list a:hover {
        color: #009cb4;
    }

    /* Выпадающее меню (Sub-menu) на ПК */
    .tm-menu-list .sub-menu {
        position: absolute;
        top: 100%;
        /* ПРАВКА: Выпадает влево от правого края, чтобы не было скролла */
        right: 0; 
        left: auto;
        
        background: #2b2b2b;
        min-width: 220px;
        list-style: none;
        padding: 15px 0;
        margin: 10px 0 0 0;
        border-radius: 4px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: 0.3s ease;
        box-shadow: 0 15px 30px rgba(0,0,0,0.5);
    }

    .tm-menu-list li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .tm-menu-list .sub-menu li {
        padding: 8px 20px;
        display: block;
    }

    .tm-menu-list .sub-menu li::before {
        display: none; /* У подпунктов точек нет */
    }

    .tm-menu-list .sub-menu a {
        text-transform: none;
        font-size: 14px;
        color: #ccc;
        display: block;
    }

    .tm-menu-list .sub-menu a:hover {
        color: #fff;
    }
}

/* 3. Стили для Мобильных (Mobile - до 991px) */
@media (max-width: 991px) {
    
    /* Кнопка бургера - ВСЕГДА ПОВЕРХ МЕНЮ */
    .tm-burger-btn {
        display: flex !important;
        align-items: center;
        gap: 30px;
        background: none !important;
        border: none;
        cursor: pointer;
        padding: 10px 0;
        color: #fff;
        position: relative;
        z-index: 10001 !important; /* На 1 выше, чем контейнер меню */
    }

    .tm-burger-inner-box {
        width: 25px;
        height: 18px;
        position: relative;
    }

    .tm-burger-inner, 
    .tm-burger-inner::before, 
    .tm-burger-inner::after {
        width: 25px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        transition: 0.3s;
        border-radius: 2px;
    }

    .tm-burger-inner { top: 50%; transform: translateY(-50%); }
    .tm-burger-inner::before { content: ''; top: -8px; left: 0; }
    .tm-burger-inner::after { content: ''; bottom: -8px; left: 0; }

    .tm-burger-text {
        font-size: 16px;
        font-weight: 700;
        text-transform: uppercase;
        color: #fff;
    }

    /* Анимация Крестика */
    .tm-nav.is-open .tm-burger-inner { background-color: transparent; }
    .tm-nav.is-open .tm-burger-inner::before { transform: rotate(45deg); top: 0; }
    .tm-nav.is-open .tm-burger-inner::after { transform: rotate(-45deg); bottom: 0; }

    /* Полноэкранный мобильный контейнер */
    .tm-menu-container {
        display: none;
        position: fixed; /* Фиксация относительно окна */
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #1a1a1a;
        /* Отступ сверху 80px, чтобы не перекрывать кнопку Меню */
        padding: 100px 25px 40px 25px; 
        box-sizing: border-box;
        overflow-y: auto; /* Скроллится только меню */
        z-index: 10000;
    }

    .tm-nav.is-open .tm-menu-container {
        display: block !important;
    }

    .tm-menu-list {
        display: flex !important;
        flex-direction: column;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 20px;
    }

    .tm-menu-list li::before {
        display: none !important;
    }

    .tm-menu-list a {
        color: #fff;
        font-size: 20px;
        font-weight: 600;
        text-transform: uppercase;
        display: block;
    }

    /* Подменю на мобилке */
    .tm-menu-list .sub-menu {
        display: block !important;
        list-style: none;
        padding: 10px 0 0 20px;
        margin: 0;
    }

    .tm-menu-list .sub-menu a {
        font-size: 16px;
        text-transform: none;
        color: #009cb4;
        padding: 8px 0;
    }
}

/* 4. Вспомогательный класс для блокировки скролла body (добавлять через JS) */
body.no-scroll {
    overflow: hidden !important;
    height: 100vh !important;
}

/* ==========================================================================
   Menu end
   ========================================================================== */

.requestbtnhead {
    display: block;
    margin-left: 15px;
    text-decoration: none !important;
    color: #161616 !important;
    font-weight: 600;
    font-size: 20px;
    font-family: "Inter", sans-serif;
    background: #fff !important;
    border-radius: 16px;
    padding: 14px 40px;
}
.requestbtnhead img {
	margin-left:15px;
}