/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 2.0.2
*/
/* =========================================
   NAGŁÓWKI SEKCJI
   ========================================= */
.v-sec-subtitle {
    font-size: 14px; font-weight: 800; color: #7eb52b; text-transform: uppercase; margin: 0 0 5px 0; font-family: 'Poppins', sans-serif;
}
.v-sec-subtitle span { color: #7eb52b; }
.victoria-table-section .v-sec-subtitle { color: #1a1a1a; }
.v-sec-title {
    font-size: 42px; font-weight: 900; text-transform: uppercase; letter-spacing: -1px; margin: 0 0 30px 0; line-height: 1; color: #1a1a1a; font-family: 'Poppins', sans-serif;
}

/* =========================================
   BLOG (DYNAMICZNY Z SHORTCODE)
   ========================================= */
.v-news-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; font-family: 'Poppins', sans-serif;
}
.v-news-card { display: flex; flex-direction: column; }
.v-news-image-wrapper {
    position: relative; width: 100%; aspect-ratio: 3/2; overflow: hidden; margin-bottom: 15px;
}
.v-news-image-wrapper img {
    width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease;
}
.v-news-card:hover .v-news-image-wrapper img { transform: scale(1.05); }
.v-news-tag {
    position: absolute; top: 0; left: 0; background: #7eb52b; color: #fff; padding: 6px 15px; font-size: 11px; font-weight: 800; text-transform: uppercase; z-index: 2;
}
.v-news-date { font-size: 13px; color: #777; margin-bottom: 8px; }
.v-news-title { font-size: 20px; font-weight: 900; text-transform: uppercase; line-height: 1.2; margin: 0 0 10px 0; }
.v-news-title a { color: #1a1a1a; text-decoration: none; transition: color 0.2s; }
.v-news-title a:hover { color: #7eb52b; }
.v-news-excerpt { font-size: 14px; color: #555; line-height: 1.6; margin: 0 0 15px 0; flex-grow: 1; }
.v-news-meta { font-size: 13px; color: #888; display: flex; gap: 15px; align-items: center; }
.v-news-meta svg { width: 16px; height: 16px; vertical-align: middle; margin-right: 5px; fill: currentColor; }

/* =========================================
   TABELA LIGOWA (STATYCZNA)
   ========================================= */
.v-table-widget { width: 100%; border-collapse: collapse; font-size: 13px; font-family: 'Poppins', sans-serif; }
.v-table-widget thead tr { background-color: #7eb52b; }
.v-table-widget th { color: #fff; text-transform: uppercase; font-weight: 800; padding: 12px 8px; text-align: center; }
.v-table-widget th.t-klub { text-align: left; padding-left: 15px; }
.v-table-widget td { padding: 10px 8px; text-align: center; color: #1a1a1a; font-weight: 600; vertical-align: middle; }
.v-table-widget tbody tr:nth-child(even) { background-color: #f4f4f4; }
.v-table-widget tbody tr:nth-child(odd) { background-color: #ffffff; }
.v-table-widget td.t-team-name { text-align: left; display: flex; align-items: center; font-size: 12px; text-transform: uppercase; font-weight: 700; border-bottom: none;}
.v-table-widget td.t-team-name img { width: 22px; height: 22px; object-fit: contain; margin-right: 10px; }
.v-table-widget td.t-pkt { font-weight: 900; font-size: 14px; }
.v-table-widget tr.v-active-team td { background-color: #e8f5e9 !important; }

/* RWD Tabeli */
@media (max-width: 992px) {
    .v-table-widget { display: block; overflow-x: auto; white-space: nowrap; }
}

/* =========================================
   SEKCJA SKLEP KIBICA - GŁÓWNY KONTENER
   ========================================= */
.victoria-shop-section {
    position: relative;
    padding: 80px 0;
    font-family: 'Poppins', sans-serif;
    max-width: 1200px;
    margin: 0 auto;
}

/* =========================================
   NAGŁÓWEK (NAPIS W TLE, TYTUŁ, PRZYCISK)
   ========================================= */
.v-shop-bg-text {
    position: absolute;
    top: 50px; /* Pozycjonowanie napisu w tle */
    left: 50%;
    transform: translateX(-50%);
    font-size: 200px;
    font-weight: 900;
    color: #f5f5f5; /* Bardzo jasny szary - efekt znaku wodnego */
    white-space: nowrap;
    z-index: 0;
    pointer-events: none;
    line-height: 1;
}

.v-shop-header-content {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 60px;
}

.v-shop-titles {
    max-width: 65%;
}

.v-shop-subtitle {
    display: block;
    color: #7eb52b; /* Zielony z projektu */
    font-weight: 800;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 10px;
}

.v-shop-title {
    font-size: 42px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    text-transform: uppercase;
    color: #1a1a1a !important;
    letter-spacing: -1px;
}

.v-shop-btn {
    background-color: #7eb52b;
    color: #fff !important;
    padding: 18px 35px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    border-radius: 3px;
}

.v-shop-btn:hover {
    background-color: #6a9b23; /* Ciemniejszy zielony przy najechaniu */
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(126, 181, 43, 0.2);
}

/* =========================================
   PRODUKTY WOOCOMMERCE - STYLIZACJA KART
   ========================================= */
.v-shop-products {
    position: relative;
    z-index: 1;
}

.v-shop-products ul.products li.product {
    background: #fff !important;
    border: 1px solid #eaeaea !important;
    padding: 30px 20px !important;
    text-align: center;
    transition: all 0.3s ease;
}

.v-shop-products ul.products li.product:hover {
    box-shadow: 0 15px 35px rgba(0,0,0,0.05) !important;
    border-color: #7eb52b !important;
}

.v-shop-products ul.products li.product img {
    margin-bottom: 20px !important;
    width: 100% !important;
    height: auto;
    object-fit: contain;
}

/* Tytuł produktu */
.v-shop-products .woocommerce-loop-product__title {
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #1a1a1a !important;
    margin-top: 15px !important;
}

/* Cena */
.v-shop-products .price {
    color: #7eb52b !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

/* Dodatkowy napis "AKCESORIA" pod zdjęciem (jeśli WooCommerce nie wyświetla kategorii, dodajemy to stylami BeTheme) */
.v-shop-products .woocommerce-loop-category-title,
.v-shop-products .product-category {
    color: #7eb52b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}

/* =========================================
   RESPONSYWNOŚĆ (Urządzenia Mobilne)
   ========================================= */
@media (max-width: 992px) {
    .v-shop-header-content {
        flex-direction: column;
        align-items: flex-start;
    }
    .v-shop-titles {
        max-width: 100%;
        margin-bottom: 25px;
    }
    .v-shop-title {
        font-size: 32px !important;
    }
    .v-shop-bg-text {
        font-size: 80px; /* Zmniejszenie znaku wodnego na mobile */
        top: 20px;
    }
}

/* =========================================
   BLOG - UKŁAD 2x2 DOPASOWANY DO TABELI
   ========================================= */
.v-news-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important; /* Wymusza 2 kolumny */
    gap: 20px !important; /* Mniejsze odstępy, żeby 2 rzędy weszły na wysokość tabeli */
}

/* Bardziej panoramiczne zdjęcia, żeby karty były niższe */
.v-news-image-wrapper {
    aspect-ratio: 16/9 !important; 
    margin-bottom: 12px !important;
}

/* Delikatne zmniejszenie fontów, aby 4 wpisy wyglądały zgrabnie */
.v-news-title {
    font-size: 16px !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
}

.v-news-excerpt {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 0 0 10px 0 !important;
}

/* =========================================
   NAPRAWA NAGŁÓWKA TABELI 
   (Przywrócenie zielonego tła)
   ========================================= */
.v-table-widget thead,
.v-table-widget thead tr,
.v-table-widget th {
    background-color: #7eb52b !important;
    color: #ffffff !important;
    border: none !important;
}

/* =========================================
   RESPONSYWNOŚĆ (TELEFONY)
   ========================================= */
@media (max-width: 768px) {
    .v-news-grid {
        grid-template-columns: 1fr !important; /* Na telefonie 1 artykuł w rzędzie */
    }
}

/* =========================================
   NOWOCZESNA STOPKA - VICTORIA
   ========================================= */
.victoria-footer {
    background-color: #111111; /* Elegancki bardzo ciemny szary/czarny */
    color: #ffffff;
    padding: 70px 0 20px 0;
    font-family: 'Poppins', sans-serif;
}

.v-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.v-footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Ikony */
.v-footer-icon {
    color: #7eb52b; /* Zielony firmowy */
    width: 32px;
    height: 32px;
    margin-bottom: 20px;
}

.v-footer-icon svg {
    width: 100%;
    height: 100%;
}

/* Teksty i Nagłówki */
.v-footer-title {
    font-size: 18px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #ffffff !important;
    margin: 0 0 5px 0 !important;
    letter-spacing: 0.5px;
}

.v-footer-desc {
    font-size: 11px;
    font-weight: 700;
    color: #777777;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 12px 0;
}

.v-footer-link,
.v-footer-text {
    font-size: 15px;
    color: #dddddd !important;
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.3s ease;
}

.v-footer-link:hover {
    color: #7eb52b !important;
}

/* Pasek z prawami autorskimi */
.v-footer-bottom {
    max-width: 1200px;
    margin: 60px auto 0 auto;
    padding: 20px 20px 0 20px;
    border-top: 1px solid #222222;
    text-align: center;
}

.v-footer-bottom p {
    font-size: 12px;
    color: #555555;
    margin: 0;
}

/* =========================================
   RESPONSYWNOŚĆ (Urządzenia Mobilne)
   ========================================= */
/* Tablety (poniżej 992px) - 2 kolumny */
@media (max-width: 992px) {
    .v-footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 30px;
    }
} 

/* Telefony (poniżej 576px) - 1 kolumna, wyśrodkowanie */
@media (max-width: 576px) {
    .v-footer-container {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .v-footer-col {
        align-items: center; /* Wyśrodkowanie zawartości na telefonie */
    }
}

/* =========================================
   SEKCJA SPONSORZY - KLUB 100
   ========================================= */
.klub100-grid-section {
    position: relative;
    padding: 100px 20px;
    background-color: #ffffff;
    font-family: 'Poppins', sans-serif;
    overflow: hidden;
}

/* Znak wodny w tle */
.klub100-bg-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 260px;
    font-weight: 900;
    color: #f7f7f7;
    white-space: nowrap;
    z-index: 0;
    pointer-events: none;
    line-height: 1;
}

/* Zawartość - wyśrodkowanie */
.klub100-content-wrapper {
    position: relative;
    z-index: 1;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

/* Nagłówki */
.klub100-subtitle {
    color: #7eb52b; /* Zielony firmowy */
    font-weight: 800;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.klub100-title {
    font-size: 42px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    color: #1a1a1a !important;
    margin: 0 0 25px 0 !important;
    letter-spacing: -1px;
    line-height: 1.1 !important;
}

/* Tekst wprowadzający */
.klub100-intro-text {
    max-width: 800px;
    margin: 0 auto 50px auto;
    color: #666;
    font-size: 15px;
    line-height: 1.6;
}

.klub100-intro-text strong {
    display: block;
    color: #1a1a1a;
    font-size: 18px;
    margin-bottom: 10px;
}

/* =========================================
   SIATKA LOGOTYPÓW
   ========================================= */
.klub100-logos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 loga w rzędzie */
    gap: 20px;
    margin-bottom: 50px;
}

/* Karta z logo */
.partner-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #eaeaea;
    padding: 30px;
    height: 150px;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

.partner-logo-link:hover {
    border-color: #7eb52b;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    transform: translateY(-5px);
}

.partner-logo-img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.partner-logo-link:hover .partner-logo-img {
    transform: scale(1.05); /* Lekkie powiększenie po najechaniu */
}

/* Puste miejsca (Zostań Sponsorem) */
.partner-logo-link.empty-slot {
    background: #fdfdfd;
    border: 2px dashed #dddddd;
}

.partner-logo-link.empty-slot:hover {
    border-color: #7eb52b;
    background: #f8fcf3; /* Delikatny zielony tint */
}

.logo-placeholder-text {
    color: #999;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.5;
    transition: color 0.3s ease;
}

.partner-logo-link.empty-slot:hover .logo-placeholder-text {
    color: #7eb52b;
}

/* =========================================
   PRZYCISK (CTA)
   ========================================= */
.klub100-action-btn {
    display: inline-flex;
    align-items: center;
    background-color: #7eb52b;
    color: #fff !important;
    padding: 16px 35px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.klub100-action-btn svg {
    width: 20px;
    height: 20px;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.klub100-action-btn:hover {
    background-color: #6a9b23;
    box-shadow: 0 10px 20px rgba(126, 181, 43, 0.2);
    transform: translateY(-2px);
}

.klub100-action-btn:hover svg {
    transform: translateX(5px); /* Strzałka w prawo po najechaniu */
}

/* =========================================
   RESPONSYWNOŚĆ (Mobilne)
   ========================================= */
@media (max-width: 992px) {
    .klub100-logos-grid { grid-template-columns: repeat(2, 1fr); } /* 2 loga obok siebie na tablecie */
    .klub100-title { font-size: 32px !important; }
    .klub100-bg-text { font-size: 150px; }
}

@media (max-width: 576px) {
    .klub100-logos-grid { grid-template-columns: 1fr; } /* 1 logo pod drugim na telefonie */
    .klub100-bg-text { font-size: 90px; top: 15%; }
}