/**
 * Football Widgets — Club Header Panel
 * Ciemny motyw betside.pl, styl inspirowany meczyki.pl / goal.pl
 * Prefix: .fwch-
 */

/* =========================================================================
   PANEL — KONTENER
   ========================================================================= */

.fwch-panel {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    background: #1a1d24 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid #2a2f3a !important;
    margin-bottom: 24px !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.45) !important;
}

.fwch-panel * {
    box-sizing: border-box !important;
}

/* =========================================================================
   1. BANER STADIONU (jak Twitter cover photo)
   ========================================================================= */

.fwch-banner {
    position: relative !important;
    width: 100% !important;
    height: 180px !important;
    overflow: hidden !important;
    background: #0d1117 !important;
    flex-shrink: 0 !important;
}

.fwch-banner-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    display: block !important;
}

.fwch-banner-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #1e222a 0%, #232830 50%, #1a1d24 100%) !important;
}

.fwch-banner-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(0,0,0,.05) 0%, rgba(26,29,36,.85) 100%) !important;
    pointer-events: none !important;
}

@media (max-width: 600px) {
    .fwch-banner {
        height: 130px !important;
    }
}

/* =========================================================================
   2. PROFIL KLUBU
   ========================================================================= */

.fwch-profile {
    display: flex !important;
    align-items: flex-end !important;
    gap: 18px !important;
    padding: 0 22px 18px !important;
    margin-top: -46px !important;
    position: relative !important;
    z-index: 2 !important;
}

.fwch-profile-logo {
    flex-shrink: 0 !important;
    width: 90px !important;
    height: 90px !important;
    background: #1e222a !important;
    border: 3px solid #2a2f3a !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.6) !important;
    overflow: hidden !important;
}

.fwch-club-logo-img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    display: block !important;
}

.fwch-profile-info {
    padding-bottom: 4px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.fwch-club-name {
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    margin: 0 0 6px !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fwch-league-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.fwch-league-logo {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.fwch-league-name {
    font-size: 13px !important;
    color: #9ca3af !important;
    font-weight: 600 !important;
}

.fwch-rank-badge {
    background: rgba(251,175,8,.18) !important;
    border: 1px solid rgba(251,175,8,.35) !important;
    color: #FBAF08 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 9px !important;
    border-radius: 20px !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
}

@media (max-width: 600px) {
    .fwch-profile {
        margin-top: -36px !important;
        padding: 0 16px 14px !important;
        gap: 12px !important;
    }
    .fwch-profile-logo {
        width: 72px !important;
        height: 72px !important;
        border-radius: 14px !important;
    }
    .fwch-club-logo-img {
        width: 58px !important;
        height: 58px !important;
    }
    .fwch-club-name {
        font-size: 20px !important;
    }
}

/* =========================================================================
   3. DANE KLUBU — siatka informacji
   ========================================================================= */

.fwch-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 1px !important;
    background: #2a2f3a !important;
    border-top: 1px solid #2a2f3a !important;
    border-bottom: 1px solid #2a2f3a !important;
    margin: 0 !important;
}

.fwch-info-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding: 14px 18px !important;
    background: #1e222a !important;
}

.fwch-info-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
}

.fwch-info-value {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #e8eaf0 !important;
    line-height: 1.3 !important;
}

.fwch-info-link {
    color: #60a5fa !important;
    text-decoration: none !important;
    transition: color .2s !important;
}

.fwch-info-link:hover {
    color: #93c5fd !important;
}

/* =========================================================================
   SEKCJE — wspólny kontener
   ========================================================================= */

.fwch-section {
    border-top: 1px solid #2a2f3a !important;
    padding: 18px 0 0 !important;
    margin: 0 !important;
}

.fwch-section-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 22px 12px !important;
}

.fwch-section-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

.fwch-section-badge {
    font-size: 11px !important;
    color: #6b7280 !important;
    background: #232830 !important;
    border: 1px solid #2a2f3a !important;
    border-radius: 6px !important;
    padding: 2px 8px !important;
    font-weight: 600 !important;
}

/* =========================================================================
   4. KARUZELA ARTYKUŁÓW
   ========================================================================= */

.fwch-articles-wrap {
    display: flex !important;
    align-items: center !important;
    padding: 0 8px 18px !important;
    gap: 4px !important;
}

/* Strzałki — identyczne z league-header */
.fwch-arrow {
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #2a2f3a !important;
    border: 1px solid #353a47 !important;
    border-radius: 50% !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    align-self: center !important;
}

.fwch-arrow:hover {
    background: #353a47 !important;
    color: #ffffff !important;
    border-color: #4b5563 !important;
}

.fwch-arrow:active {
    transform: scale(.93) !important;
}

.fwch-arrow svg {
    width: 18px !important;
    height: 18px !important;
    pointer-events: none !important;
}

/* Suwak poziomy */
.fwch-articles-carousel {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex: 1 !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 2px 6px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    cursor: grab !important;
}

.fwch-articles-carousel:active {
    cursor: grabbing !important;
}

.fwch-articles-carousel::-webkit-scrollbar {
    display: none !important;
}

/* Karta artykułu */
.fwch-article-card {
    flex-shrink: 0 !important;
    width: 200px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #232830 !important;
    border: 1px solid #2a2f3a !important;
    text-decoration: none !important;
    display: block !important;
    transition: transform .2s ease, border-color .2s ease !important;
}

.fwch-article-card:hover {
    transform: translateY(-3px) !important;
    border-color: #4b5563 !important;
}

.fwch-article-thumb {
    position: relative !important;
    width: 100% !important;
    height: 120px !important;
    overflow: hidden !important;
    background: #1e222a !important;
}

.fwch-article-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .3s ease !important;
}

.fwch-article-card:hover .fwch-article-thumb img {
    transform: scale(1.04) !important;
}

.fwch-article-thumb-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #1e222a 0%, #2a2f3a 100%) !important;
}

.fwch-article-thumb-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 40% !important;
    background: linear-gradient(to top, rgba(0,0,0,.5) 0%, transparent 100%) !important;
    pointer-events: none !important;
}

.fwch-article-body {
    padding: 10px 12px 12px !important;
}

.fwch-article-date {
    font-size: 10px !important;
    color: #6b7280 !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.fwch-article-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #e8eaf0 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.fwch-article-card:hover .fwch-article-title {
    color: #ffffff !important;
}

/* =========================================================================
   5. TABELA LIGOWA
   ========================================================================= */

.fwch-table-wrap {
    overflow-x: auto !important;
    padding: 0 0 12px !important;
    scrollbar-width: thin !important;
    scrollbar-color: #2a2f3a transparent !important;
}

.fwch-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
    min-width: 340px !important;
}

.fwch-table thead tr {
    background: #232830 !important;
    border-bottom: 1px solid #2a2f3a !important;
}

.fwch-table th {
    padding: 9px 10px !important;
    color: #6b7280 !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-align: center !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

.fwch-th-rank {
    width: 36px !important;
    padding-left: 16px !important;
}

.fwch-th-team {
    text-align: left !important;
    padding-left: 8px !important;
}

.fwch-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    transition: background .15s !important;
}

.fwch-table tbody tr:last-child {
    border-bottom: none !important;
}

.fwch-table tbody tr:hover {
    background: rgba(255,255,255,.03) !important;
}

.fwch-table td {
    padding: 9px 10px !important;
    color: #d1d5db !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Highlighted row — nasz klub */
.fwch-tr-highlight {
    background: rgba(251,175,8,.08) !important;
}

.fwch-tr-highlight:hover {
    background: rgba(251,175,8,.12) !important;
}

.fwch-rank-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
}

.fwch-rank-mine {
    background: rgba(251,175,8,.2) !important;
    color: #FBAF08 !important;
}

.fwch-td-rank {
    padding-left: 16px !important;
    text-align: left !important;
}

.fwch-td-team {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: left !important;
    min-width: 140px !important;
}

.fwch-table-logo {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.fwch-table-team-name {
    font-weight: 500 !important;
    color: #e8eaf0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

a.fwch-table-team-name:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.fwch-table-mine {
    font-weight: 800 !important;
    color: #FBAF08 !important;
}

.fwch-td-pts {
    color: #ffffff !important;
}

/* =========================================================================
   6. TERMINARZ — układ SofaScore: czas wycentrowany między drużynami
   ========================================================================= */

.fwch-fixtures {
    padding: 0 0 14px !important;
}

.fwch-fixture-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px 22px !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    transition: background .15s !important;
}

.fwch-fixture-row:last-child {
    border-bottom: none !important;
}

.fwch-fixture-row:hover {
    background: rgba(255,255,255,.03) !important;
}

/* Wiersz drużyn */
.fwch-fixture-teams {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.fwch-fixture-team {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.fwch-fixture-home {
    justify-content: flex-end !important;
    text-align: right !important;
}

.fwch-fixture-home span, .fwch-fixture-away span {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #d1d5db !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 130px !important;
}

.fwch-fixture-team.fwch-our span {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Środek: czas + data — jak wynik na SofaScore */
.fwch-fixture-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    min-width: 76px !important;
}

.fwch-fx-time {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #FBAF08 !important;
    line-height: 1 !important;
    background: rgba(251,175,8,.08) !important;
    border: 1px solid rgba(251,175,8,.18) !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
    white-space: nowrap !important;
}

.fwch-fx-date {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-top: 3px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Wiersz kompetycji */
.fwch-fixture-comp {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    justify-content: center !important;
}

.fwch-fixture-comp-text {
    font-size: 10px !important;
    color: #4b5563 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fwch-fx-comp-logo {
    width: 12px !important;
    height: 12px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    opacity: 0.55 !important;
}

.fwch-fx-logo {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* =========================================================================
   7. OSTATNIE WYNIKI
   ========================================================================= */

.fwch-results {
    padding: 0 0 14px !important;
}

.fwch-result-row {
    display: grid !important;
    grid-template-columns: 72px 1fr 36px !important;
    align-items: center !important;
    padding: 10px 22px !important;
    gap: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    transition: background .15s !important;
}

.fwch-result-row:last-child {
    border-bottom: none !important;
}

.fwch-result-row:hover {
    background: rgba(255,255,255,.03) !important;
}

.fwch-result-date {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.fwch-result-match {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.fwch-result-home, .fwch-result-away {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.fwch-result-home {
    justify-content: flex-end !important;
    text-align: right !important;
}

.fwch-result-home span, .fwch-result-away span {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 110px !important;
}

.fwch-result-home.fwch-our span,
.fwch-result-away.fwch-our span {
    color: #e8eaf0 !important;
    font-weight: 700 !important;
}

.fwch-result-score {
    flex-shrink: 0 !important;
    text-align: center !important;
}

.fwch-score {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    background: #232830 !important;
    border: 1px solid #2a2f3a !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    letter-spacing: .04em !important;
}

.fwch-score-ns {
    color: #4b5563 !important;
}

/* Odznaka W / D / L */
.fwch-result-badge {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    flex-shrink: 0 !important;
    letter-spacing: .03em !important;
}

.fwch-result-w {
    background: rgba(34,197,94,.18) !important;
    color: #22c55e !important;
    border: 1px solid rgba(34,197,94,.3) !important;
}

.fwch-result-d {
    background: rgba(107,114,128,.18) !important;
    color: #9ca3af !important;
    border: 1px solid rgba(107,114,128,.3) !important;
}

.fwch-result-l {
    background: rgba(239,68,68,.15) !important;
    color: #f87171 !important;
    border: 1px solid rgba(239,68,68,.3) !important;
}

/* =========================================================================
   LOAD MORE
   ========================================================================= */

.fwch-load-more-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 0 22px 18px !important;
}

.fwch-load-more-btn {
    background: rgba(255,255,255,.05) !important;
    border: 1px solid #2a2f3a !important;
    color: #9ca3af !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 9px 24px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all .2s !important;
    font-family: inherit !important;
}

.fwch-load-more-btn:hover {
    background: rgba(255,255,255,.1) !important;
    color: #e8eaf0 !important;
    border-color: #4b5563 !important;
}

.fwch-load-more-btn:disabled {
    opacity: 0.5 !important;
    cursor: default !important;
}

/* =========================================================================
   RESPONSYWNOŚĆ
   ========================================================================= */

@media (max-width: 600px) {
    .fwch-section-header {
        padding: 0 16px 10px !important;
    }

    .fwch-info-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .fwch-fixture-row, .fwch-result-row {
        padding: 10px 16px !important;
    }

    .fwch-fixture-home span, .fwch-fixture-away span,
    .fwch-result-home span, .fwch-result-away span {
        max-width: 72px !important;
    }

    .fwch-fixture-center {
        min-width: 64px !important;
    }

    .fwch-fx-time {
        font-size: 13px !important;
        padding: 3px 8px !important;
    }

    .fwch-article-card {
        width: 160px !important;
    }

    .fwch-article-thumb {
        height: 96px !important;
    }

    .fwch-result-row {
        grid-template-columns: 60px 1fr 30px !important;
        gap: 8px !important;
    }
}

/* =========================================================================
   ELEMENTOR OVERRIDES
   ========================================================================= */

.elementor .fwch-panel,
.elementor-widget-shortcode .fwch-panel {
    box-sizing: border-box !important;
}
