/*
 Theme Name:   tennis
 Description:  Custom theme for a tennis project based on Astra
 Author:       Iryna Mielkostupova, Telenorma AG
 Template:     Astra
 Version:      1.0.0
*/
h1, h2, h3, h4, h5, h6{
    font-family: 'Oswald';
    color: #000;
}

.custom-header-wrapper{
    display: flex;
    justify-content: space-between; /* Одно меню слева, другое справа */
    align-items: center; /* Выравнивание по вертикали */
    width: 100%;
    padding: 10px 0;
}

p{
    font-size: 16px;
    line-height: 22px;
}

/* Стили для самих списков меню */
.custom-header-wrapper ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Чтобы пункты меню шли в ряд */
}

.custom-header-wrapper ul li{
    margin: 0 15px; /* Отступы между пунктами */
}

.custom-header-wrapper ul li a{
    text-decoration: none;
    color: #000; /* Твой цвет текста */
    font-weight: 500;
    transition: color 0.3s ease;
}

.custom-header-wrapper ul li a:hover{
    color: #f0f0f0; /* Цвет при наведении */
}

.custom-header-wrapper{
    display: block;
    align-items: center;
    width: 100%;
    position: absolute;
    z-index: 100;
    margin-top: 25px;
}

.custom-nav{
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    /* Добавь фон или отступы, чтобы увидеть блок, если он пустой */
}

.nav-left{
    border: 1px solid #fff;
    padding: 5px;
    border-radius: 3px;
}
.custom-header-wrapper .site-content .ast-container {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    padding-right: 0;
}

.nav-left ul li{
    margin: 0 18px;
}

.nav-right{
    border: 1px solid #fff;
    padding: 5px;
    border-radius: 3px;
}

.nav-right ul li{
    margin: 0 30px;
}

.nav-right-last{
    border: 1px solid #fff !important;
    padding: 5px;
    border-radius: 3px;
}

.nav-right-last ul li{
    margin: 0 30px;
}

.custom-header-wrapper ul li a{
    color: #fff;
    font-family: 'Oswald';
    letter-spacing: 0.5px;
    font-size: 16px;
}

.custom-header-wrapper ul li a:hover{
    text-decoration: underline !important; /* Теннисный желтый для акцента при наведении? ;) */
}

.custom-header-wrapper ul li a::before{
    #content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 10px; /* Отступ от иконки до текста */
    vertical-align: sub;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}
#stiky-menu ul li a::before{
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 10px; /* Отступ от иконки до текста */
    vertical-align: sub;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}
#stiky-menu ul li .sub-menu a::before{
    width: 15px;
}

.sep50{
    height: 50px;
}
.sep60{
    height: 60px;
}
.sep80{
    height: 80px;
}
.sep100{
    height: 100px;
}
.uppercase {
    text-transform: uppercase;
}
/* Полоса на всю ширину */
.social-info-stripe{
    width: 100%;
    background-color: #1a1a1a; /* Цвет фона полосы */
    padding: 12px 0;
    border-bottom: 2px solid #000; /* Тонкая "теннисная" линия для акцента */
}

/* Контейнер внутри (выравнивание по сетке Astra) */
.stripe-flex-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 10px;
}

/* Общие стили для всех ссылок в полосе */
.social-info-stripe a{
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    margin-right: 20px;
    transition: color 0.3s ease;
}

.social-info-stripe a:last-child{
    margin-right: 0;
}

.stripe-icon::before{
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 8px;
    vertical-align: sub;
    background-size: contain;
    background-repeat: no-repeat;
}

.stripe-icon.ico-wtb::before{
    content: "";
    display: inline-block;
    width: 73px;
    height: 18px;
    margin-right: 8px;
    vertical-align: sub;
    background-size: contain;
    background-repeat: no-repeat;
}

.stripe-icon.ico-fb::before{
    background-image: url('images/icons/fb.svg');
}

.stripe-icon.ico-inst::before{
    background-image: url('images/icons/inst.svg');
}

.stripe-icon.ico-yt::before{
    background-image: url('images/icons/map.svg');
}

.stripe-icon.ico-wtb::before{
    background-image: url('images/icons/wtb.svg');
}

.stripe-links .stripe-link::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: sub;
    background-size: contain;
    background-repeat: no-repeat;
}

a.stripe-link{
    font-size: 16px;
}

.stripe-link.sub-call::before{
    background-image: url('assets/icons/call.png')
}

.stripe-link.sub-mail::before{
    background-image: url('assets/icons/mail.png')
}

/* Прячем бургер по умолчанию (на больших экранах) */
.mobile-menu-toggle{
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 101;
}

.mobile-menu-toggle .line{
    width: 30px;
    height: 3px;
    background-color: #fff; /* Цвет полосок */
    transition: all 0.3s linear;
}

.sponsores_wrapper .wp-block-uagb-container{
    padding: 0;
}

.sponsores_wrapper img{
    width: 100%;
    padding: 0;
}

.ast-container{
    max-width: 1220px;
}

.top_h2{
    font-family: 'Oswald';
    font-size: 36px;
    color: #000;
    margin: 30px 0 10px;
}

.middle_h2{
    font-family: 'Oswald';
    font-size: 36px;
    color: #000;
    margin: 30px 0;
}

.ubersicht_wrapper p{
    #min-height: 140px;
}

.home_uber_wrapper h4{
    margin-bottom: 0px
}

.home_uber_wrapper .wp-block-uagb-buttons .uagb-buttons-repeater .uagb-button__link{
    color: #000;
}

.home_uber_wrapper span.uagb-button__icon.uagb-button__icon-position-after{
    display: none !important;
}

.home_uber_wrapper .uagb-button__link:before{
    content: "";
    background-image: url("assets/icons/right-arrow-16.png");
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
}

.sponsoren_wrapper img{
    padding: 0;
}

.sponsoren_wrapper .wp-block-uagb-container{
    margin-left: -1px;
}

/******************** news ********************/
.news-grid-front{
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 колонки */
    gap: 30px;
    margin: 20px 0;
}

.news-card{
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.news-card:hover{
    transform: translateY(-5px);
}

.news-card a{
    text-decoration: none;
    color: inherit;
}

.news-thumb img{
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.news-card h3{
    padding: 15px 15px 5px;
    margin: 0;
    font-size: 1.2rem;
}

.news-excerpt{
    padding: 0 15px 15px;
    font-size: 0.9rem;
    opacity: 0.8;
}

.events-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    /* background: #f8f9fc; */
    padding: 0;
    font-family: 'Rubik';
}

.event-card{
    background: #fff;
    display: flex;
    border-radius: 4px;
    padding: 25px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Левая часть */
.event-sidebar{
    flex: 0 0 85px; /* Фиксированная ширина */
    margin-right: 25px;
    text-align: center;
}

.event-date-box{
    background: #1a1a1a;
    color: #fff;
    padding: 10px 5px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
    font-family: 'Oswald';
    min-width: 85px;
    max-width: 88px;
    text-transform: uppercase;
    line-height: 1.5;
    min-height: 83px;
}

.add-to-calendar{
    font-family: 'Oswald';
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    border: 1px solid #333;
    border-radius: 4px;
    padding: 13px 5px;
    min-width: 85px;
    max-width: 88px;
}

.add-to-calendar .dashicons{
    background-image: url("assets/icons/incalender.svg");
    background-repeat: no-repeat;
    background-position: center;
    bachground-size: contain;
    font-size: 24px;
    margin-bottom: 5px;
    width: 24px;
    height: 24px;
}

/* Правая часть */
.event-content h3{
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 800;
    color: #000;
    font-family: 'Rubik';
}

.event-description{
    color: #666;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 20px;
}

.event-details{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.detail-item{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    position: relative;
}

.detail-item .dashicons{
    font-size: 18px;
    color: #000;
}

span.dashicons.dashicons-clock:before {
    content: url("assets/icons/news_clock.svg");
    /* margin-top: -5px!important; */
    position: absolute;
    top: -2px;
    left: 0;
}

span.dashicons.dashicons-location:before{
    content: url("assets/icons/news_location.svg");
    position: absolute;
    top: -2px;
    left: 0;
}
span.facebook_before:before{
    content: url("images/facebook-icon.svg");
    margin-left: 0;
    margin-right: 5px;
    vertical-align: sub;
}
span.insta_before:before{
    content: url("images/insta-icon.svg");
    margin-left: 0;
    margin-right: 5px;
    vertical-align: sub;
}
.dashicons-calendar-alt:before {
    content: "";
}

.event-content-top{
    min-height: 110px;
}

.home-news-wrapper .events-container{
    padding: 0 7px;
}

.home-news-wrapper .middle_h2{
    padding: 0 5px;
}

.home_map_wrapper .wp-block-columns{
    padding-left: 5px;
}

.home_map_wrapper .wp-block-uagb-google-map{
    margin-top: 10px;
}

.home_map_wrapper .uagb-google-map__iframe{
    filter: grayscale(1) !important;
}

.werden_block .uagb-button__wrapper:hover{
    opacity: 0.7;
}

a:hover{
    opacity: 0.7;
}

.custom-footer-wrapper{
    background-color: #1a1a1a;
    color: #ffffff;
    padding: 60px 0 20px;
}

.footer-grid-5{
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Ровно 5 колонок */
    gap: 30px;
}

.footer-widget-title{
    color: #fff;
    font-size: 18px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-column .widget ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column .widget ul li{
    margin-bottom: 10px;
}

.footer-column .widget ul li a{
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-column .widget ul li a:hover{
    color: #fff;
}

h4.footer_h4{
    color: #fff;
    font-weight: 500;
    font-size: 21px;
}

.footer-column .widget ul li{
    margin-bottom: 5px;
}

.footer-column ul.wp-block-list li a{
    font-size: 16px;
}

a.footer_mailto{
    color: #fff;
}

a.footer_mailto:before{
    content: url("assets/icons/footer_mailto.png");
    margin-right: 10px;
    margin-left: -20px;
}

.copyright-content{
    text-align: center;
    font-size: 14px;
    color: #f0f0f0;
    margin-top: 30px;
}

/* Адаптивность */
@media (max-width: 1024px){
    .footer-grid-5{
        grid-template-columns: repeat(3, 1fr); /* На планшетах 3 колонки */
    }
}

@media (max-width: 768px){
    .footer-grid-5{
        grid-template-columns: 1fr; /* На мобилках всё в ряд */
        text-align: center;
    }
}

@media (max-width: 640px){
    .footer-column{
        text-align: left;
    }

    a.footer_mailto{
        color: #fff;
        margin-left: 20px;
    }
}

.uberuns_right_column{
    text-align: right;
    padding-top: 20px;
}

.uberuns_left_column{
    padding-left: 5px
}

/* Общий контейнер блока */
.tennis-info-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding: 50px 5px;
    background-color: #F6F5FB;
    text-align: left;
}

/* Элемент сетки */
.info-item{
    display: flex;
    flex-direction: column;
}

/* Контейнер для иконки */
.info-icon{
    height: 60px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    align-content: space-around;
}

.info-icon img{
    max-width: 100px; /* Ограничиваем ширину логотипов */
    height: auto;
    max-height: 60px;
}

/* Заголовок */
.info-title{
    font-size: 18px;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

/* Описание */
.info-desc{
    font-size: 15px;
    line-height: 1.5;
    color: #444;
    margin: 0;
}

/* Адаптивность: на планшетах 2х2 */
@media (max-width: 1024px){
    .tennis-info-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* На мобилках в одну колонку */
@media (max-width: 600px){
    .tennis-info-grid{
        grid-template-columns: 1fr;
        padding: 40px 20px;
        text-align: center;
    }

    .info-icon{
        justify-content: center;
    }
}

/* 1. Подготовка иконки */
.info-icon img{
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Эффект "пружины" */
    will-change: transform; /* Оптимизация для браузера */
}

/* 2. Эффект при наведении на блок */
.info-item:hover .info-icon img{
    transform: translateY(-12px); /* Подпрыгивает вверх на 12 пикселей */
}

/* Опционально: можно добавить легкую тень под иконку,
   которая появляется, когда она взлетает */
.info-icon{
    position: relative;
}

.info-icon::after{
    content: "";
    position: absolute;
    bottom: -5px;
    left: 10%;
    width: 80%;
    height: 4px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    opacity: 0;
    transition: all 0.4s ease;
    transform: scale(0.5);
    filter: blur(2px);
}

.info-item:hover .info-icon::after{
    opacity: 1;
    transform: scale(1);
}

.werden_block .wp-block-uagb-container{
    box-shadow: none;
}

.werden_block{
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}

.werden_block .is-layout-flex{
    display: flex;
    padding: 15px 0;
}

h6, .entry-content :where(h6){
    font-family: 'Rubik';
}

.board-table-wrapper{
    margin: 20px 0;
    font-family: 'Rubik';
}

.board-main-title{
    font-size: 32px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 20px;
    color: #1a1a1a;
}

.board-table{
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
}

/* Шапка таблицы */
.board-table thead tr{
    background-color: #1a1a1a;
    color: #ffffff;
    text-align: left;
}

.board-table th{
    padding: 15px 20px;
    font-weight: bold;
    font-size: 14px;
}

/* Строки таблицы */
.board-table td{
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
    color: #333;
}

/* Эффект зебры: каждая четная строка имеет светло-фиолетовый фон */
.board-table tbody tr:nth-child(odd){
    background-color: #F6F5FB;
}

.col-position{
    width: 40%;
    font-weight: 500;
}

.col-name{
    width: 60%;
}

/* Убираем рамку у последней строки */
.board-table tbody tr:last-child td{
    border-bottom: none;
}

.uber_members table{
    border: none;
}

.board-table{
    border-top-left-radius: 4px !important;
    border: none !important;
}

.board-table td{
    border: none !important;
}

.board-table th:nth-child(1){
    border-top-left-radius: 4px !important;
    border-right: 1px solid #000 !important;
}

.board-table th:nth-child(2){
    border-top-right-radius: 4px !important;
}

.contact_wrapper .uagb-google-map__iframe{
    filter: grayscale(1) !important;
}

.contact_left_column .wp-block-uagb-container{
    display: block !important;
}

/**************************** contact from ********************************/
.contact-form-container{
    background-color: #f6f5fa;
    padding: 60px 0;
    border-radius: 4px;
}

.form-main-title{
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 40px;
}

.form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.form-group label{
    display: block;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
}

.form-group input, .form-group textarea{
    width: 100%;
    padding: 12px;
    border: 1px solid #333;
    background: transparent;
}

.form-privacy{
    #display: flex;
    gap: 15px;
    margin-bottom: 25px;
    font-size: 13px;
}

/* Прячем стандартный чекбокс */
.custom-checkbox-container input{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.custom-checkbox-container{
    display: flex;
    align-items: flex-start;
    position: relative;
    cursor: pointer;
    font-size: 13px;
    line-height: 1.4;
    user-select: none;
}

/* Рисуем наш кастомный квадрат */
.checkmark{
    position: relative;
    top: 0;
    left: 0;
    height: 22px;
    width: 22px;
    background-color: transparent;
    border: 2px solid #333; /* Черная рамка как у полей */
    margin-right: 15px;
    flex-shrink: 0; /* Чтобы квадрат не сжимался */
    transition: all 0.2s ease;
}

/* Эффект при наведении */
.custom-checkbox-container:hover input ~ .checkmark{
    border-color: #999;
}

/* Когда чекбокс нажат — меняем фон на теннисный желтый */
.custom-checkbox-container input:checked ~ .checkmark{
    background-color: #000;
    border-color: #000;
    border-radius: 4px;
}

/* Рисуем саму галочку (пока скрыта) */
.checkmark:after{
    content: "";
    position: absolute;
    display: none;
}

/* Показываем галочку при клике */
.custom-checkbox-container input:checked ~ .checkmark:after{
    display: block;
}

/* Стили самой галочки (белая птичка) */
.custom-checkbox-container .checkmark:after{
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #fff; /* Черная галочка на желтом фоне */
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Красная рамка, если есть ошибка (валидация) */
.form-privacy.has-error .checkmark{
    border-color: #ff0000;
}

.form-submit-btn{
    background: #000;
    color: #fff;
    padding: 15px 45px;
    border: none;
    font-weight: bold;
    cursor: pointer;
}

/* Прячем ошибки по умолчанию */
.error-text{
    color: #ff0000;
    font-size: 14px;
    margin-top: 5px;
    display: none; /* Скрыто, пока нет ошибки */
}

/* Красная рамка для невалидного поля */
.form-group input.invalid,
.form-group textarea.invalid{
    border-color: #ff0000 !important;
}

.form-group input{
    border-radius: 4px;
    padding: 15px;
    height: 50px;
}

textarea#user_message{
    height: 50px;
}

.form-group input:focus{
    outline: none;
    border-color: #999;
}

.form-group textarea:focus{
    outline: none;
    background: #fff;
    border-color: #999;
}

/* Класс для отображения ошибки */
.form-group.has-error .error-text,
.form-privacy.has-error .error-text{
    display: block;
}

/* Дополнительный отступ для капчи */
#captcha-error{
    margin-bottom: 20px;
}

/* Стили для уведомлений */
.form-alert{
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.form-alert.success{
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.form-alert.error{
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

@media (max-width: 768px){
    .form-grid{
        grid-template-columns: 1fr;
    }

    .contact-form-container{
        padding: 30px 20px;
    }
}

.form-submit-btn{
    background: #000;
    color: #fff;
    padding: 11px 40px;
    border: none;
    font-weight: bold;
    cursor: pointer;
    display: inline-block;
    margin-top: 35px;
    border-radius: 4px;
    font-family: "Oswald";
}

.form-submit-btn:hover{
    opacity: 0.8;
}

.site-header{
    display: none;
}

#BorlabsCookieBox .cookie-logo{
    max-width: 100px !important;
    padding: 0 8px 0 0;
    vertical-align: middle;
    width: 100%;
}

.BorlabsCookie ._brlbs-checkbox ._brlbs-checkbox-indicator{
    background-color: #fff;
    #border-color: #aecf0f;
    border-radius: 4px;
}

/********************** teams  ************************/

.team-section{
    margin: 0;
    font-family: "Rubik";
}

.tabs-nav{
    display: flex;
    gap: 0;
    #border-bottom: 2px solid #eee;
    margin-bottom: 20px;
}

.tab-btn{
    background: none;
    border: none;
    padding: 25px 25px;
    cursor: pointer;
    font-weight: bold;
    color: #888;
    transition: 0.3s;
    font-size: 16px;
    font-weight: 500;
    border: 1px solid #ecebeb;

}
.tab-btn:nth-child(2),.tab-btn:nth-child(3),.tab-btn:nth-child(4){
    border-left: none;
}

.tab-btn.active{
    color: #000;
    font-weight: 600;
    border: 1px solid #ecebeb;
    background: #F6F5FB;
}

.tab-content{
    display: none;
}

.tab-content.active{
    display: block;
}

.team-table{
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    border: 1px solid transparent;
}

.team-table th {
    background: #1a1a1a;
    color: #fff;
    padding: 14px 0 15px 15px;
    text-transform: uppercase;
    font-size: 13px;
    border: 1px solid transparent;
    text-transform: capitalize;
    font-size: 16px;
}
.team-table th:first-child {
    border-top-left-radius: 4px!important;
    border-right: 1px solid #f0f0f0;
}
.team-table th:nth-child(2) {
    border-left: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
}
.team-table th:nth-child(3) {
    border-right: 1px solid #f0f0f0;
}
.team-table th:nth-child(4) {
    border-right: 1px solid #f0f0f0;
}
.team-table th:last-child {
    border-top-right-radius: 4px!important;
}
.team-table td {
    padding: 15px;
    border: 1px solid transparent;
    font-size: 16px;
    font-weight: 500;
    font-family: "Rubik";
}
.team-table td:first-child {
    border-right: 1px solid #fff;
}
.team-table td:nth-child(2)  {
    border-right: 1px solid #fff;
}
.team-table td:nth-child(3)  {
    border-right: 1px solid #fff;
}

.team-table tr:nth-child(odd){
    background: #F6F5FB;
}

.reveal-phone{
    color: #000;
    text-decoration: underline;
    cursor: pointer;
    font-weight: bold;
}

.reveal-phone.revealed{
    text-decoration: none;
    cursor: default;
}

/* 1. Находим третью колонку (Kontakt) и даем ей запас места */
.team-table th:nth-child(3),
.team-table td:nth-child(3){
    width: 160px; /* Подбери ширину под самый длинный номер */
    min-width: 160px;
    white-space: nowrap; /* Чтобы номер не разрывался на две строки */
}

/* 2. Делаем сам элемент блочным, чтобы ширина применилась корректно */
.reveal-phone{
    display: inline-block;
    min-width: 140px; /* Чуть меньше ширины колонки */
    color: #000;
    text-decoration: underline;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.2s ease; /* Мягкое появление текста */
}

/* Убираем подчеркивание, когда номер уже открыт */
.reveal-phone.revealed{
    text-decoration: none;
    cursor: default;
}
img.jugend-web-img {
    min-width: 100%;
}
#jugend .team-table {
    margin-bottom: 0;
}
img.jugend-web-img-bottom {
    padding: 25px;
    background: #e3e1e9;
}
/*   DOWNLOADS  */
.downloads-table thead {
    background-color: #1a1a1a;
    color: #ffffff;
}

.downloads-table thead th {
    border: none;
    padding: 15px;
    text-transform: uppercase;
    font-size: 14px;
}

.downloads-table tbody tr:nth-of-type(odd) {
    background-color: #f8f9fa; /* Light grey for zebra effect */
}

.downloads-table td {
    vertical-align: middle;
    padding: 12px 15px;
    border-bottom: 1px solid #dee2e6;
}

.icon-pdf {
    color: #000;
    margin-right: 10px;
}

.view-btn, .download-btn {
    color: #333;
    font-size: 18px;
    transition: opacity 0.2s;
}

.view-btn:hover, .download-btn:hover {
    opacity: 0.7;
}



/* Основной контейнер */


/* Навигация */
.tennis-tabs-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.tennis-tab-btn {
    background: none;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-weight: bold;
    color: #888;
    border-bottom: 3px solid transparent;
    transition: 0.3s;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #ecebeb;
}

.tennis-tab-btn.active {
    color: #000;
    border-bottom: 3px solid #000;
    background: #fff;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.tennis-tab-btn:hover:not(.active) {
    background: #fff;
    color: #000;
}
.button-primary-update {
    color: #000 !important;
    background: #f6f7f7!important;
    border-color: #dcdcde!important;
    box-shadow: none!important;
    text-shadow: none!important;
    cursor: pointer;
}
/* Контент табов */
.tennis-tab-pane {
    display: none; /* Скрываем все по умолчанию */
    padding: 0;
    animation: fadeIn 0.3s ease;
}

.tennis-tab-pane.active {
    display: block; /* Показываем только активный */
}
.downloads-table td:nth-child(2),.downloads-table td:nth-child(3),.downloads-table td:nth-child(4) {
    text-align: center;
}
.pdf-icon {
    margin-right: 5px;
    vertical-align: sub;
}
.downloads-table th:nth-child(2) {
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
}
.downloads-table th:nth-child(3) {
    border-right: 1px solid #fff;
}
.downloads-table thead th{
    text-transform: capitalize!important;
}
.page-num {
    padding: 5px 15px!important;
    background: #e0e0e0;
    color: #000;
    text-decoration: none;
    font-weight: bold;
    border-radius: 50%;
    text-decoration: none!important;
}
#BorlabsCookieBox .cookie-preference .cookie-logo {
    min-width: 170px!important;
}
.uagb-button__link{
    color:#000000
}
.wp-block-uagb-buttons .uagb-block-380328b5 .uagb-button__wrapper .uagb-buttons-repeater {
    color: #000;
}
.lg{
    display:block;
}
.sm{
    display:none
}




/* Анимация появления */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

#normal-p-block{
    padding: 0 25px!important;
}
div#stiky-menu .ast-container {
    min-width: 1220px;
    padding-right: 0;
}
.ast-container.custom-nav.startsite_menu {
    padding-right: 0;
    padding-left: 20px;
    gap: 30px;
}

.ast-container.startsite_menu {
}

.unbersicht_image img {
    max-width: 98%!important;
    width:98%!important
}

@media (max-width: 1280px){
    .ast-container.custom-nav.startsite_menu {
        gap: 20px;
    }
}

/* Адаптив для мобилок */
@media (max-width: 900px){
    .events-container{
        grid-template-columns: 1fr;
    }
}

/* На мобилках делаем в 1 колонку */
@media (max-width: 768px){
    .news-grid-front{
        grid-template-columns: 1fr;
    }
}


/* Мобильные стили (до 920px — стандарт Astra) */
@media (max-width: 921px){
    .mobile-menu-toggle{
        flex-direction: column;
        justify-content: space-around;
        width: 30px;
        height: 25px;
        background: #000;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 101;
    }

    .mobile-menu-toggle .line{
        width: 30px;
        height: 3px;
        background-color: #fff;
        transition: all 0.3s linear;
    }

    .mobile-menu-toggle.active{
        flex-direction: column;
        justify-content: space-around;
        width: 30px;
        height: 25px;
        background: #fff !important;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 101;
    }

    .mobile-menu-toggle.active .line{
        width: 30px;
        height: 3px;
        background-color: #000;
        transition: all 0.3s linear;
    }

    .ast-container.custom-nav{
        flex-direction: row-reverse;
    }

    .mobile-menu-toggle{
        display: flex; /* Показываем кнопку */
    }

    .custom-header-wrapper{
        justify-content: flex-end; /* Кнопка будет справа */
    }

    .tennis-nav{
        display: none; /* Прячем обычные меню */
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
        z-index: 100;
    }

    /* Когда меню открыто (добавим класс через JS) */
    .custom-header-wrapper.is-open .tennis-nav{
        display: block;
    }

    .tennis-nav ul{
        flex-direction: column; /* Пункты друг под другом */
    }

    .tennis-nav ul li{
        margin: 0;
        border-bottom: 1px solid #eee;
    }

    .tennis-nav ul li a{
        display: block;
        padding: 15px 20px;
    }

    /* Чтобы второе меню шло сразу за первым */
    .nav-right{
        top: auto; /* Сбрасываем абсолютное позиционирование для второго блока, если нужно склеить */
    }
}

/* Адаптивность для мобильных */
@media (max-width: 768px){
    .stripe-flex-container{
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .social-info-stripe a{
        margin: 0 10px;
    }
}

@media only screen and (max-width: 767px){

    .wp-block-uagb-container.uagb-block-e2abd9fc{
        padding-left: 15px;
        padding-right: 15px;
    }

    .sponsoren_wrapper{
        padding: 0 5px !important;
    }

    .ubersicht_wrapper .uagb-buttons__outer-wrap .uagb-buttons__wrap{
        justify-content: left;
        align-items: center;
    }

    .middle_h2{
        font-size: 28px;
        text-align: center;
    }
    .ubersicht_wrapper {
        text-align: center;
    }
    .ubersicht_wrapper .uagb-button__wrapper {
        width: 60%;
        margin: 0 auto;
    }
    .ubersicht_wrapper .uagb-buttons__outer-wrap .uagb-buttons__wrap {
        display: block;
        width: auto;
        text-align: center;
    }
    .event-card {
        background: #fff;
        display: flex;
        border-radius: 4px;
        padding: 25px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    .event-date-box {
        min-height: 100px;
    }
    .event-details {
        margin-top: 15px;
    }
    .event-content-top {
        min-height: auto;
    }
}

@media (min-width: 1200px){
    .internal-nav-flex .nav-col-left ul li{
        margin: 0 28px;
    }
    .internal-nav-flex ul li a {
        font-size: 16px;
    }
}
@media (min-width: 1024px){
    .ast-plain-container.ast-no-sidebar #primary{
        margin-top: 0 !important;
        margin-bottom: 0;
    }

    header.entry-header .entry-title{
        margin-top: 50px;
        text-transform: uppercase;
        padding-left: 10px;
    }
    #normal-p-block .uagb-container-inner-blocks-wrap{
        gap: 0 !important;
        padding: 0 25px!important;
    }
    h2.uagb-heading-text {
        padding-left: 0;
        margin-left: -10px !important;
    }
    .tennis-tabs-container {
        padding: 0 25px;
    }
    .n2-bullet{
        height: 3px;
        width: 42px;
        padding: 0 !important;
        margin-bottom: 20px !important;
    }

    .uagb-container-inner-blocks-wrap{
        padding-left: 10px;
    }

    div#n2-ss-2 .n2-style-518fef4f090e108a034f59b0dc5cd3a1-dot{
        background: RGBA(255, 255, 255, 0.5);
        opacity: 1;
        padding: 1px 30px;
        box-shadow: none;
        border: 0px solid RGBA(0, 0, 0, 1);
        border-radius: 0px;
        margin: 4px;
    }

    .slider-large-text{
        margin: 50px 0 10px !important;
        font-size: 2.5rem;
    }

    div#n2-ss-2item2{
        letter-spacing: 3px !important;
    }

    .slider-small-text{
        margin: 10px 0 !important;
    }

    .page .entry-header{
        margin-bottom: 0;
    }

    .internal-banner{
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 340px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .banner-overlay{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        min-height: 304px !important;
    }

    img#inside_logo{
        margin: 60px auto;
        display: flex;
    }

    .internal-banner .container{
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        color: #ffffff;
        z-index: 2;
    }

    .internal-banner{
        height: 340px;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    /* Контейнер меню */
    .internal-menu-overlap{
        position: relative;
        z-index: 99;
        margin-top: 0;
    }

    /*
    .custom-header-wrapper {
        display: block;
        align-items: center;
        width: 100%;
        position: absolute;
        z-index: 100;
        margin-top: 25px;
        bottom: 20px;
    }

     */
    .internal-nav-flex .nav-col-left{
        border: 1px solid #fff;
        padding: 5px;
        border-radius: 3px;
    }

    .internal-nav-flex .nav-col-left ul li{
        margin: 0 20px;
    }

    .internal-nav-flex .nav-right{
        border: 1px solid #fff;
        padding: 5px;
        border-radius: 3px;
    }

    .internal-nav-flex .nav-right ul li{
        margin: 0 27px;
    }

    .internal-nav-flex .nav-col-middle{
        border: 1px solid #fff;
        padding: 5px;
        border-radius: 3px;
    }

    .internal-nav-flex .nav-col-middle ul li{
        margin: 0 30px;
    }

    .internal-nav-flex .nav-col-right{
        border: 1px solid #fff !important;
        padding: 5px;
        border-radius: 3px;
    }

    .internal-nav-flex .nav-col-right ul li{
        margin: 0 30px;
    }

    .internal-nav-flex ul li a{
        color: #fff;
        font-family: 'Oswald';
        letter-spacing: 0.5px;
        font-size: 14px;
        text-transform: capitalize !important;
    }

    /* Флекс-сетка для трех меню */
    .internal-nav-flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: transparent;
        padding: 10px 8px 10px 10px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        border-radius: 4px;
        gap: 5px;
        margin-bottom: 20px;
        width: 100%;
    }

    /* Убираем стандартные отступы списков WP */
    .internal-nav-flex ul{
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .internal-nav-flex li{
        margin: 0 15px;
    }

    .internal-nav-flex a{
        text-decoration: none;
        color: #333;
        font-weight: 500;
        text-transform: uppercase;
        font-size: 14px;
        transition: color 0.3s;
    }

    .menu-left-menu-main-container li.ico-home a::before,.tennis-nav li.ico-home a::before{
        content: url('assets/icons/icon_home.svg');
    }
    .menu-left-menu-main-container li.ico-home .sub-menu a::before,.tennis-nav li.ico-home .sub-menu a::before{
        content: "";width:3px;
    }
    .menu-left-menu-main-container li.ico-uberuns a::before,.tennis-nav li.ico-uberuns a::before{
        content: url('assets/icons/icon_uberuns.svg');
    }
    .menu-left-menu-main-container li.ico-mannschaften a::before,.tennis-nav li.ico-mannschaften a::before{
        content: url('assets/icons/icon_mannschaften.svg');
    }
    .sub-menu{
        position: relative;
    }
    .menu-left-menu-main-container li.ico-mannschaften  .sub-menu a::before,.tennis-nav li.ico-mannschaften  .sub-menu a::before{
        content: "";
        position: absolute;
        left:15px
    }
    .menu-left-menu-main-container li.ico-mannschaften  .sub-menu a::after,.tennis-nav li.ico-mannschaften  .sub-menu a::after{
        content: ">";
        position: absolute;
        right: 15px;
        top: 10px;
        color: #000;
    }

    .menu-left-menu-main-container li.ico-jugend a::before,.tennis-nav li.ico-jugend a::before{
        content: url('assets/icons/icon_jugend.svg');
    }

    .menu-left-menu-main-container li.ico-trainer a::before,.tennis-nav li.ico-trainer a::before{
        content: url('assets/icons/icon_trainer.svg');
    }

    .menu-left-menu-main-container li.ico-kontakt a::before,.tennis-nav li.ico-kontakt a::before{
        content: url('assets/icons/icon_kontakt.svg');
    }

    #menu-top-menu-right-1 li.ico-platzbuchung a::before,.tennis-nav li.ico-platzbuchung a::before,#menu-top-menu-right li.ico-platzbuchung a::before{
        content: url('assets/icons/icon_platzbuchung.svg');
    }

    #menu-right-menu-3 li.ico-downloads a::before,.tennis-nav li.ico-downloads a::before,#menu-right-menu-2 li.ico-downloads a::before{
        content: url('assets/icons/icon_downloads.svg');
    }



}
























/* Адаптивность для мобилок */
@media (max-width: 992px){
    .internal-nav-flex{
        flex-direction: column;
        padding: 20px;
    }

    .internal-menu-overlap{
        margin-top: 0; /* На мобилках лучше не наползать, чтобы не перекрывать контент */
    }
}

}