#contacts .row {
    margin-left: 0;
    margin-right: 0;
} 

:root {
            --olympic-blue: #0055A4;
            --olympic-yellow: #FFD700;
            --olympic-dark: #003d75;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background-color: #f8f9fa;
        }

        .text-olympic-blue { color: var(--olympic-blue); }
        .bg-olympic-blue { background-color: var(--olympic-blue); }
        
        /* Hero Section with Background */
        .hero-section {
            position: relative;
            background: linear-gradient(rgba(0, 85, 164, 0.75), rgba(0, 85, 164, 0.75)), 
                        url('/templates/noc_gp/images/bigbaner.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            padding: 120px 0;
            color: white;
            text-align: center;
        }

        .hero-badge {
            display: inline-block;
            background-color: var(--olympic-yellow);
            color: var(--olympic-blue);
            padding: 6px 18px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 0.85rem;
            margin-bottom: 25px;
            text-transform: uppercase;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

        /* Countdown Style */
        .timer-box {
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 20px;
            padding: 30px;
            margin-top: 50px;
        }
        .timer-unit {
            font-size: 2.8rem;
            font-weight: 800;
            line-height: 1;
            color: var(--olympic-yellow);
        }
        .timer-label {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: white;
            margin-top: 5px;
        }

        /* Social Icons Header */
        .social-link-top {
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background-color: #f0f2f5;
            color: var(--olympic-blue);
            text-decoration: none;
            transition: all 0.3s ease;
        }
        .social-link-top:hover {
            background-color: var(--olympic-blue);
            color: white;
            transform: translateY(-2px);
        }

      
        /* News Cards */
        .news-card {
            border: none;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 8px 25px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
            height: 100%;
        }
        .news-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 12px 35px rgba(0,0,0,0.1);
        }
        .news-img {
            height: 220px;
            object-fit: cover;
        }

        /* Champions */
        .champion-circle {
            width: 180px;
            height: 180px;
            margin: 0 auto 20px;
            border: 6px solid white;
            border-radius: 50%;
            overflow: hidden;
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
        }
        .champion-circle:hover {
            transform: scale(1.05);
            border-color: var(--olympic-yellow);
        }
        .champion-circle img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        footer {
            background-color: #121212;
            color: #b0b0b0;
        }

/* Стилізація посилання на категорію */
.mfp_cat a {
    display: inline-block;
    background-color: #0055A4; /* Олімпійський синій */
    color: #ffffff !important;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 15px;
    border-radius: 50px; /*ф Округлі краї як у макеті */
    text-decoration: none;
    transition: all 0.3s ease;
    margin-bottom: 10px;
}

.mfp_cat a:hover {
    background-color: #FFD700; /* Зміна кольору на жовтий при наведенні */
    color: #0055A4 !important;
    transform: translateY(-2px);
}

/* Стилізація дати з іконкою календаря */
.mfp_date {
display: inline-flex;
align-items: center;
font-size: 1rem;
color: #6c757d; / Стриманий сірий колір */
font-weight: 500;
}

.mfp_date::before {
content: "\f133"; /* Юнікод іконки календаря Font Awesome */
font-family: "Font Awesome 6 Free";
font-weight: 900;
margin-right: 8px;
color: #0055A4; / Синій колір іконки для акценту */
font-size: 1.2rem;
}
/* Основні зображення статті (Intro/Full) */
.image-intro img, .image-fulltext img {
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    max-width: 100%;
    height: auto;
}

/* --- СТИЛІ ДЛЯ ГАЛЕРЕЇ ВНИЗУ СТАТТІ --- */

/* Контейнер всієї галереї */
.article-gallery-wrapper {
    border-top: 2px solid #f0f2f5;
    padding-top: 40px;
    margin-top: 50px;
    clear: both; /* Щоб галерея не наповзала на обтікаємі фото */
}

/* Заголовок галереї */
.article-gallery-wrapper h3 {
    color: #0055A4;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem;
    margin-bottom: 25px;
}

/* Елемент сітки */
.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    height: 220px;
    background-color: #f8f9fa; /* Колір фону, якщо фото не завантажилось */
    border: 1px solid #e9ecef; /* Тонка рамка для діагностики */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Картинка в сітці */
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Заповнює блок без викривлень */
    transition: transform 0.5s ease;
    display: block;
}

/* Ефекти наведення */
.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.gallery-item:hover img {
    transform: scale(1.1);
    filter: brightness(0.8);
}

/* Іконка лупи Font Awesome */
.gallery-item::after {
    content: "\f00e";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 1.8rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.gallery-item:hover::after {
    opacity: 1;
}

/* Адаптивність */
@media (max-width: 768px) {
    .gallery-item { height: 180px; }
}

* Додаткові стилі для сторінки блогу новин */

.hover-blue {
    transition: color 0.3s ease;
}

.hover-blue:hover {
    color: #0055A4 !important;
}

.news-card {
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
    background: #fff;
}

.news-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,85,164,0.12) !important;
}

/* Стилізація пагінації Joomla під Bootstrap 5 */
.pagination {
    gap: 5px;
}

.pagination .page-link {
    border-radius: 10px;
    color: #0055A4;
    border: none;
    background: #f0f2f5;
    padding: 10px 18px;
    font-weight: 600;
}

.pagination .active .page-link {
    background-color: #0055A4;
    color: white;
}

.pagination .page-link:hover {
    background-color: #FFD700;
    color: #0055A4;
}

/* Календарик для дати у списку */
.mfp_date::before {
    content: "\f133";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 8px;
    color: #0055A4;
}
/* --- СТИЛІ ДЛЯ СЕКЦІЇ ПАРТНЕРІВ --- */

.partner-card {
    background: #ffffff;
    border: 1px solid #eaedf2;
    border-radius: 12px;
    height: 100px; /* Фіксована висота для симетрії */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    cursor: default;
    filter: grayscale(100%); /* Початково сірі */
    opacity: 0.7;
}

.partner-text {
    font-weight: 800;
    font-size: 0.85rem;
    text-transform: uppercase;
    color: #495057;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.5px;
  width:100%
}

.partner-card:hover {
    filter: grayscale(0%); /* Стають кольоровими */
    opacity: 1;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 85, 164, 0.08);
    border-color: var(--olympic-blue);
}

.partner-card:hover .partner-text {
    color: var(--olympic-blue);
}

/* Адаптація для мобільних (щоб текст не вилазив) */
@media (max-width: 576px) {
    .partner-card {
        height: 80px;
        padding: 10px;
    }
    .partner-text {
        font-size: 0.7rem;
    }
}

/* --- СТИЛІЗАЦІЯ DJ-MEGAMENU ДЛЯ НОК GP --- */

/* Загальний контейнер меню */
.dj-megamenu-wrapper {
    margin: 0;
    padding: 0;
}

/* Список верхнього рівня */
ul.dj-megamenu {
    display: flex !important;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Елементи верхнього рівня */
li.dj-up {
    position: relative;
    margin: 0 10px;
}

/* Посилання верхнього рівня */
li.dj-up a.dj-up_a {
    color: #ffffff !important;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0 15px !important;
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent; /* Заготовка під лінію при наведенні */
}

/* Ефект наведення на верхнє меню */
li.dj-up:hover > a.dj-up_a,
li.dj-up.active > a.dj-up_a {
    color: #FFD700 !important; /* Золотистий колір */
    border-bottom: 3px solid #FFD700;
}

/* Випадаюче меню (контейнер) */
.dj-subwrap {
    background: #ffffff !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    top: 100% !important;
    padding: 10px 0 !important;
}

/* Список підменю */
ul.dj-submenu {
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
}

/* Посилання в підменю */
ul.dj-submenu li a {
    color: #333333 !important;
    padding: 12px 20px !important;
    display: block !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    transition: all 0.2s ease !important;
    border-left: 4px solid transparent;
}

/* Наведення на елемент підменю */
ul.dj-submenu li a:hover {
    background: #f8f9fa !important;
    color: #0055A4 !important; /* Олімпійський синій */
    border-left: 4px solid #FFD700; /* Золотиста риска зліва */
    padding-left: 25px !important; /* Легкий зсув вправо */
}

/* Стрілочка для батьківських пунктів */
li.dj-up.parent a.dj-up_a span.arrow {
    margin-left: 8px;
    border-top-color: #ffffff !important;
    transition: transform 0.3s ease;
}

li.dj-up.parent:hover a.dj-up_a span.arrow {
    transform: rotate(180deg);
    border-top-color: #FFD700 !important;
}

/* Адаптивність (якщо меню переходить у мобільний режим) */
@media (max-width: 991px) {
    ul.dj-megamenu {
        flex-direction: column;
        background: #0055A4;
    }
    li.dj-up {
        margin: 0;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .dj-subwrap {
        position: static !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: #004080 !important; /* Темніший синій для підменю на мобілках */
    }
    ul.dj-submenu li a {
        color: #ffffff !important;
    }
}

/* --- ВИДИ СПОРТУ (Стиль списком) --- */
.sports-directory-list {
    background: #ffffff !important; /* Гарантуємо білий фон для всієї секції */
}

.sports-directory-list .bg-light {
    background-color: #ffffff !important; /* Перекриваємо системний сірий фон */
    border: 1px solid #f0f2f5 !important;
}

.title-divider {
    height: 4px; width: 60px;
    background: var(--olympic-yellow);
    border-radius: 2px;
}

.cat-icon {
    width: 40px; height: 40px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}

.sport-list-item {
    display: flex; align-items: center;
    padding: 12px 15px;
    margin-bottom: 5px;
    border-bottom: 1px solid #f0f2f5;
    transition: all 0.3s ease;
    border-radius: 8px;
    cursor: default;
    background: #ffffff; 
}

.sport-list-item i {
    width: 35px; font-size: 1.2rem;
    color: var(--olympic-blue);
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.sport-list-item span { font-weight: 600; color: #444; }

.sport-list-item:hover {
    background: #ffffff; 
    padding-left: 25px;
    box-shadow: 0 4px 15px rgba(0, 85, 164, 0.1); 
}

.sport-list-item:hover i { color: var(--olympic-yellow); transform: scale(1.2); }
.sport-list-item:hover span { color: var(--olympic-blue); }
/* --- СТИЛІЗАЦІЯ СТАТТІ (Білий блок на сірому фоні) --- */
.com-content-article.item-page {
    background-color: #ffffff !important;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

/* Заголовок статті всередині білого блоку */
.item-page .page-header h1 {
    color: var(--olympic-blue);
    font-weight: 800;
    margin-bottom: 20px;
}

.text-olympic-blue { color: var(--olympic-blue); }
.bg-olympic-blue { background-color: var(--olympic-blue); }
.item-page .item-page { box-shadow: none !important; }