.fdb-public-profile-page {
    --fdb-bg: #f5f7fb;
    --fdb-card: #ffffff;
    --fdb-text: #14213d;
    --fdb-text-strong: #0d1b36;
    --fdb-muted: #667085;
    --fdb-border: #dfe5ee;
    --fdb-border-soft: #edf1f6;
    --fdb-accent: #1677ff;
    --fdb-accent-soft: #f3f8ff;
    --fdb-success: #16a34a;
    --fdb-danger: #dc2626;
    --fdb-shadow: 0 8px 24px rgba(15, 35, 65, .06);
}

.fdb-public-profile-page .site-main,
.fdb-public-profile-page main {
    overflow: visible;
}

.fdb-public-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 26px auto 56px;
    color: var(--fdb-text);
    box-sizing: border-box;
}

.fdb-public-profile,
.fdb-public-profile * {
    box-sizing: border-box;
}

.fdb-public-profile {
    font-size: 15px;
    line-height: 1.5;
}

.fdb-public-profile a {
    color: var(--fdb-accent);
    text-decoration: none;
}

.fdb-public-profile a:hover {
    text-decoration: underline;
}

.fdb-public-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 32px;
    margin: 0 0 14px;
    color: var(--fdb-muted);
    font-size: 13px;
}

.fdb-public-breadcrumbs strong {
    color: var(--fdb-text);
    font-weight: 600;
}

.fdb-public-card {
    margin: 0 0 20px;
    padding: 24px;
    border: 1px solid var(--fdb-border);
    border-radius: 12px;
    background: var(--fdb-card);
    box-shadow: var(--fdb-shadow);
}

.fdb-public-card h1,
.fdb-public-card h2,
.fdb-public-card h3,
.fdb-public-card p {
    font-family: inherit;
}

.fdb-public-card h1 {
    margin: 0;
    color: var(--fdb-text-strong);
    font-size: clamp(2rem, 4.2vw, 3.25rem);
    font-weight: 750;
    line-height: 1.06;
    letter-spacing: -.035em;
}

.fdb-public-card h2 {
    margin: 0;
    color: var(--fdb-text-strong);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
}

.fdb-public-card h3 {
    color: var(--fdb-text-strong);
}

.fdb-public-subtitle {
    margin-top: 8px;
    color: var(--fdb-muted);
    font-size: 1rem;
}

.fdb-public-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.fdb-public-section-kicker {
    display: block;
    margin-bottom: 3px;
    color: var(--fdb-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fdb-public-muted,
.fdb-public-caption {
    color: var(--fdb-muted);
}

.fdb-public-caption {
    margin: 10px 0 0;
    font-size: 12px;
}


.fdb-public-icon {
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
}

.fdb-public-meta-item {
    display: flex;
    align-items: center;
    gap: 11px;
}

.fdb-public-meta-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    color: #5b6b83;
}

.fdb-public-meta-icon .fdb-public-icon {
    width: 26px;
    height: 26px;
}

.fdb-public-meta-copy,
.fdb-public-stat-copy,
.fdb-public-detail-copy {
    display: block;
    min-width: 0;
}

.fdb-public-voivodeship-icon {
    width: 28px !important;
    height: 28px !important;
}

.fdb-public-meta-item.is-no-data .fdb-public-meta-value {
    color: #98a2b3;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .06em;
}

.fdb-public-heading-with-icon {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fdb-public-heading-with-icon > .fdb-public-icon {
    width: 28px;
    height: 28px;
    color: var(--fdb-accent);
}

/* Shared metadata */
.fdb-public-meta-strip {
    display: grid;
    margin-top: 28px;
    border-top: 1px solid var(--fdb-border-soft);
}

.fdb-public-meta-item {
    min-width: 0;
    padding: 15px 18px;
    border-right: 1px solid var(--fdb-border-soft);
}

.fdb-public-meta-item:first-child {
    padding-left: 0;
}

.fdb-public-meta-item:last-child {
    border-right: 0;
}

.fdb-public-meta-label,
.fdb-public-detail-label,
.fdb-public-stat-label,
.fdb-public-player-club-label {
    display: block;
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 500;
}

.fdb-public-meta-value,
.fdb-public-detail-value {
    display: block;
    margin-top: 4px;
    color: var(--fdb-text-strong);
    font-weight: 650;
}

.fdb-public-meta-item.is-yes .fdb-public-meta-value,
.fdb-public-meta-item.fdb-status-active .fdb-public-meta-value {
    color: var(--fdb-success);
}

.fdb-public-meta-item.is-no .fdb-public-meta-value,
.fdb-public-meta-item.fdb-status-dissolved .fdb-public-meta-value {
    color: var(--fdb-danger);
}

.fdb-public-detail {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 11px 13px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    background: #fbfcfe;
}

.fdb-public-detail-icon {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    color: #61708a;
}

.fdb-public-detail-icon .fdb-public-icon {
    width: 24px;
    height: 24px;
}

/* Team */
.fdb-public-team-hero {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    min-height: 250px;
    padding: 30px 34px;
}

.fdb-public-team-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 190px;
    margin: auto;
}

.fdb-public-logo.fdb-public-team-logo,
.fdb-public-logo-placeholder.fdb-public-team-logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fdb-public-logo-placeholder,
.fdb-public-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #98a2b3;
    background: #f7f9fc;
    border: 1px dashed #d0d5dd;
}

.fdb-public-team-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fdb-public-stat-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    margin: 0 0 20px;
    border: 1px solid var(--fdb-border);
    border-radius: 12px;
    background: var(--fdb-card);
    box-shadow: var(--fdb-shadow);
    overflow: hidden;
}

.fdb-public-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    border-right: 1px solid var(--fdb-border);
}

.fdb-public-stat-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 1px solid #a9cbff;
    border-radius: 12px;
    color: var(--fdb-accent);
    background: #fff;
}

.fdb-public-stat-icon .fdb-public-icon {
    width: 30px;
    height: 30px;
}

.fdb-public-stat-card:last-child {
    border-right: 0;
}

.fdb-public-stat-value {
    display: block;
    margin-top: 4px;
    color: var(--fdb-text-strong);
    font-size: 1.65rem;
    font-weight: 750;
    line-height: 1.15;
}

.fdb-public-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
    gap: 20px;
}

.fdb-public-stadium-name {
    margin: 0 0 14px;
    font-size: 1.15rem;
}

.fdb-public-stadium-feature {
    display: grid;
    grid-template-columns: minmax(0, 400px) minmax(180px, 1fr);
    gap: 20px;
    align-items: start;
}

.fdb-public-stadium-photo-link {
    display: block;
    width: 400px;
    max-width: 100%;
    text-decoration: none;
}

.fdb-public-stadium-photo {
    display: block;
    width: 400px;
    max-width: 100%;
    height: 250px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    object-fit: contain;
    background: #f7f9fc;
}

.fdb-public-stadium-facts {
    display: grid;
    gap: 10px;
}

.fdb-public-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.fdb-public-team-hero-links {
    margin-top: 18px;
}

.fdb-public-team-hero-links .fdb-public-button {
    gap: 8px;
}

.fdb-public-team-hero-links .fdb-public-button > .fdb-public-icon:first-child {
    width: 20px;
    height: 20px;
}

.fdb-public-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-accent) !important;
    background: #fff;
    font-weight: 650;
    text-decoration: none !important;
}

.fdb-public-button:hover {
    border-color: #9dc5ff;
    background: var(--fdb-accent-soft);
}

.fdb-public-button.is-primary {
    border-color: var(--fdb-accent);
}


.fdb-public-button .fdb-public-icon.is-external {
    width: 15px;
    height: 15px;
    margin-left: 2px;
    opacity: .7;
}

.fdb-public-brand-button {
    gap: 9px;
}

.fdb-public-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 28px;
    flex: 0 0 34px;
    overflow: hidden;
    border-radius: 6px;
    line-height: 1;
}

.fdb-brand-90minut {
    flex-direction: column;
    border: 1px solid #484b51;
    color: #fff;
    background: #4b4e53;
}

.fdb-brand-90minut strong {
    margin-top: 1px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.fdb-brand-90minut small {
    color: #fff;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.fdb-brand-90minut small span {
    color: #e73838;
}

.fdb-public-flag-emoji {
    display: inline-block;
    font-size: 24px;
    line-height: 1;
}

.fdb-brand-transfermarkt {
    color: #fff;
    background: #092f6c;
    font-size: 14px;
    font-weight: 800;
    text-transform: lowercase;
}

.fdb-brand-lnp {
    border: 1px solid #e4e7ec;
    background: #fff;
    font-size: 18px;
}

/* Shared list rows */
.fdb-public-list,
.fdb-public-usage-list {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
}

.fdb-public-list-row,
.fdb-public-usage-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 66px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text) !important;
    background: #fff;
    text-decoration: none !important;
}

.fdb-public-list-row:last-child,
.fdb-public-usage-row:last-child {
    border-bottom: 0;
}

.fdb-public-list-row:hover,
.fdb-public-usage-row:hover {
    background: #fafcff;
}

.fdb-public-list-icon {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid #cfe2ff;
    border-radius: 50%;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
    font-size: 17px;
}


.fdb-public-list-icon .fdb-public-icon {
    width: 19px;
    height: 19px;
}

.fdb-public-list-main {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
}

.fdb-public-list-main strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-public-list-main small {
    margin-top: 2px;
    color: var(--fdb-muted);
}

.fdb-public-list-arrow {
    margin-left: auto;
    color: #98a2b3;
    font-size: 24px;
}

/* Tables */
.fdb-public-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
}

.fdb-public-table {
    width: 100%;
    min-width: 860px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

.fdb-public-table th,
.fdb-public-table td {
    padding: 11px 12px;
    border: 0;
    border-right: 1px solid var(--fdb-border-soft);
    border-bottom: 1px solid var(--fdb-border-soft);
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.fdb-public-table th:last-child,
.fdb-public-table td:last-child {
    border-right: 0;
}

.fdb-public-table tbody tr:last-child td {
    border-bottom: 0;
}

.fdb-public-table th {
    color: #475467;
    background: #f8fafc;
    font-size: 12px;
    font-weight: 700;
}

.fdb-public-table tbody tr:hover td {
    background: #fbfdff;
}

.fdb-public-team-history-table th:nth-child(n+3),
.fdb-public-team-history-table td:nth-child(n+3) {
    text-align: center;
}

.fdb-public-team-history-table th:nth-child(2),
.fdb-public-team-history-table td:nth-child(2) {
    text-align: left;
}

.fdb-public-movement {
    font-weight: 650;
}

.fdb-public-movement.is-promotion,
.fdb-public-history-legend .is-promotion {
    color: var(--fdb-success);
}

.fdb-public-movement.is-relegation,
.fdb-public-history-legend .is-relegation {
    color: var(--fdb-danger);
}

.fdb-public-history-legend {
    display: flex;
    gap: 18px;
    margin-top: 12px;
    font-size: 12px;
    font-weight: 650;
}

/* Stadium */
.fdb-public-stadium-hero {
    display: grid;
    grid-template-columns: 400px minmax(0, 1fr);
    gap: 30px;
    align-items: center;
    padding: 24px;
}

.fdb-public-stadium-hero-photo .fdb-public-stadium-photo,
.fdb-public-stadium-hero-photo .fdb-public-stadium-photo-link {
    width: 400px;
}

.fdb-public-stadium-hero-photo .fdb-public-stadium-photo {
    height: 250px;
}

.fdb-public-stadium-meta {
    grid-template-columns: 1fr 1.4fr .75fr;
}

.fdb-public-stadium-meta-secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 8px;
}

.fdb-public-map-card {
    padding-bottom: 18px;
}

.fdb-public-map-wrap {
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    background: #f7f9fc;
}

.fdb-public-map {
    display: block;
    width: 100%;
    height: 430px;
    border: 0;
}

.fdb-public-text-link {
    font-size: 13px;
    font-weight: 650;
}

.fdb-public-usage-row {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
}

.fdb-public-usage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid #b9d6ff;
    border-radius: 7px;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
    font-size: 12px;
    font-weight: 650;
}

/* Player */
.fdb-public-player-hero {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 34px;
    align-items: stretch;
    padding: 30px;
}

.fdb-public-player-photo-box {
    width: 280px;
    min-height: 350px;
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    background: #f7f9fc;
}

.fdb-public-photo.fdb-public-player-photo,
.fdb-public-photo-placeholder.fdb-public-player-photo {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 350px;
    object-fit: cover;
}

.fdb-public-player-hero-content {
    min-width: 0;
}

.fdb-public-player-meta {
    grid-template-columns: 1.15fr 1fr 1.25fr 1fr;
}

.fdb-public-player-club-inline {
    display: grid;
    grid-template-columns: 115px 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--fdb-border-soft);
}

.fdb-public-player-club-inline.is-loan-parent {
    margin-top: 0;
    padding-top: 10px;
    border-top: 0;
}

.fdb-public-player-club-name {
    display: flex;
    min-width: 0;
    flex-direction: column;
    font-size: 1.05rem;
    font-weight: 700;
}

.fdb-public-player-club-name small {
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 500;
}

.fdb-public-logo.fdb-public-current-logo,
.fdb-public-logo-placeholder.fdb-public-current-logo,
.fdb-public-logo.fdb-public-loan-logo-large,
.fdb-public-logo-placeholder.fdb-public-loan-logo-large {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.fdb-public-external-links {
    margin-top: 22px;
}

.fdb-public-external-links .fdb-public-button {
    min-width: 172px;
}

.fdb-public-logo.fdb-public-mini-logo,
.fdb-public-logo.fdb-public-history-logo,
.fdb-public-logo.fdb-public-inline-logo,
.fdb-public-logo.fdb-public-loan-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.fdb-public-logo-placeholder.fdb-public-mini-logo,
.fdb-public-logo-placeholder.fdb-public-history-logo,
.fdb-public-logo-placeholder.fdb-public-inline-logo,
.fdb-public-logo-placeholder.fdb-public-loan-logo {
    width: 28px;
    height: 28px;
    border-radius: 4px;
}

.fdb-public-mini-logo-wrap {
    display: grid;
    place-items: center;
    width: 36px;
}

.fdb-public-history-club,
.fdb-public-inline-club {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fdb-text) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.fdb-public-inline-club {
    color: var(--fdb-accent) !important;
    font-weight: 500;
}

.fdb-public-history-loan {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fdb-public-history-loan > span {
    color: var(--fdb-muted);
    font-size: 12px;
}

.fdb-public-player-history-table {
    min-width: 700px;
}

/* Lightbox */
.fdb-public-lightbox[hidden] {
    display: none;
}

.fdb-public-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(3, 10, 24, .9);
}

.fdb-public-lightbox img {
    max-width: 96vw;
    max-height: 92vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
}

.fdb-public-lightbox-close {
    position: fixed;
    top: 14px;
    right: 18px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .65);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

body.fdb-lightbox-open {
    overflow: hidden;
}

@media (max-width: 980px) {
    .fdb-public-team-hero {
        grid-template-columns: 170px minmax(0, 1fr);
        gap: 24px;
    }

    .fdb-public-team-logo-box {
        width: 155px;
        height: 155px;
    }

    .fdb-public-two-column {
        grid-template-columns: 1fr;
    }

    .fdb-public-stadium-hero {
        grid-template-columns: 360px minmax(0, 1fr);
        gap: 22px;
    }

    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo,
    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo-link {
        width: 360px;
    }

    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo {
        height: 225px;
    }

    .fdb-public-player-hero {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 26px;
    }

    .fdb-public-player-photo-box {
        width: 230px;
        min-height: 310px;
    }

    .fdb-public-photo.fdb-public-player-photo,
    .fdb-public-photo-placeholder.fdb-public-player-photo {
        min-height: 310px;
    }
}

@media (max-width: 780px) {
    .fdb-public-wrap {
        width: min(100% - 22px, 1180px);
        margin-top: 18px;
    }

    .fdb-public-card {
        padding: 20px;
    }

    .fdb-public-team-hero,
    .fdb-public-player-hero,
    .fdb-public-stadium-hero {
        grid-template-columns: 1fr;
    }

    .fdb-public-team-logo-box {
        width: 145px;
        height: 145px;
        margin: 0;
    }

    .fdb-public-player-photo-box {
        width: min(280px, 100%);
        min-height: 340px;
    }

    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo,
    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo-link {
        width: 100%;
    }

    .fdb-public-stadium-hero-photo .fdb-public-stadium-photo {
        height: auto;
        aspect-ratio: 8 / 5;
    }

    .fdb-public-team-meta,
    .fdb-public-stadium-meta,
    .fdb-public-stadium-meta-secondary,
    .fdb-public-player-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-public-meta-item:nth-child(2n) {
        border-right: 0;
    }

    .fdb-public-meta-item:nth-child(odd) {
        padding-left: 0;
    }

    .fdb-public-stat-grid {
        grid-template-columns: 1fr;
    }

    .fdb-public-stat-card {
        border-right: 0;
        border-bottom: 1px solid var(--fdb-border);
    }

    .fdb-public-stat-card:last-child {
        border-bottom: 0;
    }

    .fdb-public-stadium-feature {
        grid-template-columns: 1fr;
    }

    .fdb-public-map {
        height: 360px;
    }
}

@media (max-width: 520px) {
    .fdb-public-wrap {
        width: min(100% - 14px, 1180px);
        margin-bottom: 34px;
    }

    .fdb-public-breadcrumbs {
        padding: 0 3px;
    }

    .fdb-public-card {
        margin-bottom: 14px;
        padding: 16px;
        border-radius: 10px;
    }

    .fdb-public-card h1 {
        font-size: 2rem;
    }

    .fdb-public-team-hero,
    .fdb-public-player-hero,
    .fdb-public-stadium-hero {
        padding: 18px;
    }

    .fdb-public-team-logo-box {
        width: 125px;
        height: 125px;
    }

    .fdb-public-player-photo-box {
        width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .fdb-public-photo.fdb-public-player-photo,
    .fdb-public-photo-placeholder.fdb-public-player-photo {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .fdb-public-team-meta,
    .fdb-public-stadium-meta,
    .fdb-public-stadium-meta-secondary,
    .fdb-public-player-meta {
        grid-template-columns: 1fr;
    }

    .fdb-public-meta-item,
    .fdb-public-meta-item:first-child,
    .fdb-public-meta-item:nth-child(odd) {
        padding: 11px 0;
        border-right: 0;
        border-bottom: 1px solid var(--fdb-border-soft);
    }

    .fdb-public-meta-item:last-child {
        border-bottom: 0;
    }

    .fdb-public-stadium-photo,
    .fdb-public-stadium-photo-link {
        width: 100%;
    }

    .fdb-public-stadium-photo {
        height: auto;
        aspect-ratio: 8 / 5;
    }

    .fdb-public-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .fdb-public-usage-row {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .fdb-public-usage-badge {
        grid-column: 2;
        justify-self: start;
    }

    .fdb-public-player-club-inline {
        grid-template-columns: 1fr 50px minmax(0, 1fr);
    }

    .fdb-public-player-club-label {
        grid-column: 1 / -1;
    }

    .fdb-public-external-links .fdb-public-button,
    .fdb-public-team-hero-links .fdb-public-button {
        flex: 1 1 100%;
    }

    .fdb-public-map {
        height: 300px;
    }
}

/* v0.19.0 - supplied external profile icons + youth history badge */
.fdb-public-brand-icon.fdb-brand-image-icon {
    border: 0;
    background: transparent;
}

.fdb-public-brand-icon.fdb-brand-image-icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.fdb-public-history-club-name {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.fdb-public-youth-badge {
    display: inline-block;
    padding: 2px 6px;
    border: 1px solid #cfe2ff;
    border-radius: 999px;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

/* v0.19.1 - public Free Agents directory */
.fdb-free-agents-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 30px 34px;
}

.fdb-free-agents-hero .fdb-public-subtitle {
    max-width: 760px;
}

.fdb-free-agents-hero-icon {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    color: var(--fdb-accent);
    opacity: .18;
    stroke-width: 1.35;
}

.fdb-free-agents-filters-card {
    padding: 20px 24px;
}

.fdb-free-agents-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(150px, 1fr));
    gap: 16px;
    align-items: end;
}

.fdb-free-agent-filter {
    min-width: 0;
}

.fdb-free-agent-filter label {
    display: block;
    margin: 0 0 6px;
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 650;
}

.fdb-free-agent-filter input,
.fdb-free-agent-filter select {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 8px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text-strong);
    background: #fff;
    font: inherit;
    line-height: 1.2;
}

.fdb-free-agent-filter input:focus,
.fdb-free-agent-filter select:focus {
    outline: 2px solid rgba(22, 119, 255, .16);
    outline-offset: 1px;
    border-color: #8dbbff;
}

.fdb-free-agent-year-range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 7px;
    align-items: center;
}

.fdb-free-agent-year-range > span {
    color: var(--fdb-muted);
}

.fdb-free-agent-filter-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
}

.fdb-free-agents-apply {
    justify-content: center;
    min-height: 42px;
    padding-inline: 18px;
    color: #fff !important;
    background: var(--fdb-accent) !important;
    border-color: var(--fdb-accent) !important;
    cursor: pointer;
}

.fdb-free-agents-reset {
    color: var(--fdb-muted) !important;
    font-size: 13px;
    font-weight: 600;
}

.fdb-free-agents-filter-warning {
    margin: 14px 0 0;
    color: #b45309;
    font-size: 13px;
}

.fdb-free-agents-results-heading {
    align-items: center;
}

.fdb-free-agents-range {
    color: var(--fdb-muted);
    font-size: 13px;
    white-space: nowrap;
}

.fdb-free-agents-table-wrap {
    border: 1px solid var(--fdb-border-soft);
    border-radius: 10px;
}

.fdb-free-agents-table {
    min-width: 930px;
    margin: 0;
}

.fdb-free-agents-table th,
.fdb-free-agents-table td {
    vertical-align: middle;
}

.fdb-free-agents-table th {
    white-space: nowrap;
}

.fdb-free-agent-photo-column,
.fdb-free-agent-photo-cell {
    width: 62px;
    min-width: 62px;
    max-width: 62px;
    text-align: center;
}

.fdb-free-agent-photo {
    display: block;
    width: 44px;
    height: 52px;
    margin: 0 auto;
    border-radius: 7px;
    object-fit: cover;
    background: #f6f8fb;
}

.fdb-free-agent-photo-placeholder {
    display: grid;
    place-items: center;
    border: 1px solid var(--fdb-border-soft);
    color: #98a2b3;
}

.fdb-free-agent-photo-placeholder .fdb-public-icon {
    width: 24px;
    height: 24px;
}

.fdb-free-agent-player-cell {
    min-width: 205px;
}

.fdb-free-agent-player-link {
    color: var(--fdb-text-strong) !important;
    font-weight: 700;
}

.fdb-free-agent-nationality,
.fdb-free-agent-club-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fdb-free-agent-club-link {
    color: var(--fdb-text-strong) !important;
    font-weight: 600;
}

.fdb-free-agent-club-logo {
    display: block;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    object-fit: contain;
}

.fdb-free-agent-birth-cell.is-no-data {
    color: #98a2b3;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
}

.fdb-free-agents-empty {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 32px 12px;
    color: var(--fdb-muted);
    text-align: center;
}

.fdb-free-agents-empty strong {
    color: var(--fdb-text-strong);
    font-size: 16px;
}

.fdb-free-agents-pagination {
    margin-top: 20px;
}

.fdb-free-agents-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fdb-free-agents-pagination .page-numbers li {
    margin: 0;
}

.fdb-free-agents-pagination a.page-numbers,
.fdb-free-agents-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.fdb-free-agents-pagination span.page-numbers.current {
    color: #fff !important;
    border-color: var(--fdb-accent);
    background: var(--fdb-accent);
}

.fdb-free-agents-pagination a.page-numbers:hover {
    border-color: #a9caff;
    background: var(--fdb-accent-soft);
}

@media (max-width: 980px) {
    .fdb-free-agents-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .fdb-free-agents-hero {
        padding: 20px;
    }

    .fdb-free-agents-hero-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .fdb-free-agents-filters {
        grid-template-columns: 1fr;
    }

    .fdb-free-agent-filter-actions {
        flex-wrap: wrap;
    }

    .fdb-free-agents-apply {
        flex: 1 1 auto;
    }

    .fdb-free-agents-results-heading {
        align-items: flex-start;
    }
}

/* v0.20.0 - do not reserve empty logo boxes in Player club/history lines */
.fdb-public-player-club-inline.has-no-logo {
    grid-template-columns: 115px minmax(0, 1fr);
}

.fdb-public-player-club-inline.has-no-logo .fdb-public-current-club-logo,
.fdb-public-player-club-inline.has-no-logo > .fdb-public-loan-logo-large {
    display: none;
}

@media (max-width: 640px) {
    .fdb-public-player-club-inline.has-no-logo {
        grid-template-columns: 1fr;
    }
}

/* v0.20.1 - standardized European DD/MM/YYYY date controls */
.fdb-public-profile-page .fdb-date-control {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    width: 170px;
    min-width: 170px;
    min-height: 42px;
    vertical-align: middle;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.fdb-public-profile-page .fdb-date-control:focus-within {
    border-color: var(--fdb-accent);
    box-shadow: 0 0 0 2px var(--fdb-accent-soft);
}

.fdb-public-profile-page .fdb-date-control.is-invalid {
    border-color: #d63638;
    box-shadow: 0 0 0 2px rgba(214, 54, 56, .12);
}

.fdb-public-profile-page .fdb-date-display {
    flex: 1 1 auto;
    width: 132px;
    min-width: 0;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0 10px;
    border: 0 !important;
    border-radius: 7px 0 0 7px !important;
    color: var(--fdb-text);
    background: transparent !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
}

.fdb-public-profile-page .fdb-date-display:focus {
    outline: 0;
    box-shadow: none !important;
}

.fdb-public-profile-page .fdb-date-display::placeholder {
    color: #98a2b3;
    opacity: 1;
}

.fdb-public-profile-page .fdb-date-picker-button {
    position: relative;
    z-index: 2;
    display: inline-flex;
    flex: 0 0 38px;
    width: 38px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid var(--fdb-border);
    border-radius: 0 7px 7px 0;
    color: var(--fdb-muted);
    background: #f8fafc;
    cursor: pointer;
}

.fdb-public-profile-page .fdb-date-picker-button:hover,
.fdb-public-profile-page .fdb-date-picker-button:focus {
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
    outline: 0;
}

.fdb-public-profile-page .fdb-date-picker-button svg {
    display: block;
    width: 18px;
    height: 18px;
}

.fdb-public-profile-page .fdb-date-native-source {
    position: absolute !important;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 38px !important;
    min-width: 38px !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.fdb-free-agent-filter .fdb-date-control {
    width: 100%;
    min-width: 0;
}

.fdb-free-agent-filter .fdb-date-display {
    width: auto;
}

/* v0.21.0 - public Player Moves and Team Transfers */
.fdb-public-transfers-card,
.fdb-public-career-moves-card {
    margin-top: 20px;
}

.fdb-public-transfers-heading {
    gap: 18px;
}

.fdb-public-transfer-season-form {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
}

.fdb-public-transfer-season-form label {
    margin: 0;
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fdb-public-transfer-season-form select {
    min-width: 120px;
    height: 38px;
    margin: 0;
    padding: 0 34px 0 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text-strong);
    background-color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
}

.fdb-public-transfer-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: var(--fdb-muted);
    font-size: 13px;
}

.fdb-public-transfer-summary strong {
    color: var(--fdb-text-strong);
    font-size: 14px;
}

.fdb-public-transfer-summary span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border: 1px solid var(--fdb-border);
    border-radius: 999px;
    background: #f8fafc;
    font-weight: 700;
}

.fdb-public-transfer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fdb-public-transfer-column {
    min-width: 0;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.fdb-public-transfer-column-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 48px;
    padding: 10px 13px;
    border-bottom: 1px solid var(--fdb-border);
    background: #f8fafc;
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 700;
}

.fdb-public-transfer-direction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 25px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
}

.fdb-public-transfer-direction.is-in {
    color: #087a39;
    background: #eaf8f0;
}

.fdb-public-transfer-direction.is-out {
    color: #b42318;
    background: #fff0ee;
}

.fdb-public-transfer-column .fdb-public-table-wrap {
    border: 0;
    border-radius: 0;
}

.fdb-public-transfer-table {
    min-width: 610px;
}

.fdb-public-player-moves-table {
    min-width: 760px;
}

.fdb-public-transfer-table th,
.fdb-public-transfer-table td,
.fdb-public-player-moves-table th,
.fdb-public-player-moves-table td {
    vertical-align: middle;
}

.fdb-public-move-player,
.fdb-public-move-club {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.fdb-public-move-player a,
.fdb-public-move-club a {
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-public-move-player a:hover,
.fdb-public-move-club a:hover {
    color: var(--fdb-accent) !important;
}

.fdb-public-move-player-photo {
    display: block;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-public-move-club-logo {
    display: block;
    flex: 0 0 25px;
    width: auto;
    max-width: 25px;
    height: auto;
    max-height: 25px;
    object-fit: contain;
}

.fdb-public-move-state {
    color: var(--fdb-muted);
    font-weight: 700;
}

.fdb-public-move-date {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.fdb-public-move-type {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 8px;
    border: 1px solid #d6e4ff;
    border-radius: 999px;
    color: #2559a7;
    background: #f3f7ff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.fdb-public-move-arrow {
    width: 30px;
    color: var(--fdb-accent);
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.fdb-public-transfer-empty {
    margin: 0;
    padding: 22px 14px;
}

@media (max-width: 980px) {
    .fdb-public-transfer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .fdb-public-transfers-heading {
        align-items: flex-start;
    }

    .fdb-public-transfer-season-form {
        width: 100%;
        justify-content: space-between;
    }

    .fdb-public-transfer-season-form select {
        flex: 1 1 auto;
        max-width: 180px;
    }
}


/* v0.21.1 - frontend polish: real regional outlines, division logos, tighter transfer columns */
.fdb-public-voivodeship-icon {
    display: block;
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
}

.fdb-public-stat-icon .fdb-public-current-league-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 42px;
    max-height: 42px;
    object-fit: contain;
}

.fdb-public-transfer-table th:first-child,
.fdb-public-transfer-table td:first-child {
    width: 84px;
    min-width: 84px;
    max-width: 84px;
    padding-left: 9px;
    padding-right: 9px;
}

.fdb-public-transfer-table th:last-child,
.fdb-public-transfer-table td:last-child {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
    padding-left: 8px;
    padding-right: 8px;
}

.fdb-public-transfer-table .fdb-public-move-type {
    max-width: 96px;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.2;
}

.fdb-public-brand-icon.fdb-brand-image-icon img {
    width: auto;
    height: auto;
    max-width: 24px;
    max-height: 24px;
    object-fit: contain;
}


/* v0.21.2 - direct source favicons and transfer date spacing */
.fdb-public-transfer-table th:first-child,
.fdb-public-transfer-table td:first-child {
    width: 102px;
    min-width: 102px;
    max-width: 102px;
    padding-left: 12px;
    padding-right: 10px;
    text-align: left;
}

.fdb-public-transfer-table .fdb-public-move-date {
    display: block;
    text-align: left;
}

.fdb-public-brand-icon.fdb-brand-image-icon {
    overflow: hidden;
    background: transparent;
}

.fdb-public-brand-icon.fdb-brand-image-icon img {
    display: block;
    width: 24px;
    height: 24px;
    max-width: 24px;
    max-height: 24px;
    object-fit: contain;
    background: transparent;
}

/* v0.22.0 - public site framework, homepage and directories */
.fdb-public-transfer-table th:first-child,
.fdb-public-transfer-table td:first-child {
    padding-left: 7px;
}

.fdb-site-shell,
.fdb-site-shell * {
    box-sizing: border-box;
}

.fdb-site-shell {
    width: 100%;
    color: #fff;
    background: #07111d;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.fdb-site-seasonbar {
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    background: #050c15;
}

.fdb-site-seasonbar-inner,
.fdb-site-header-inner,
.fdb-site-footer-inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.fdb-site-seasonbar-inner {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    color: #9aa8b8;
    font-size: 12px;
}

.fdb-site-seasonbar-inner strong {
    color: #ef3340;
    font-weight: 700;
}

.fdb-site-header {
    background: linear-gradient(180deg, #091725 0%, #07111d 100%);
}

.fdb-site-header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(220px, 300px);
    gap: 26px;
    align-items: center;
    min-height: 78px;
}

.fdb-site-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.fdb-site-brand-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(239, 51, 64, .7);
    border-radius: 12px;
    background: rgba(239, 51, 64, .08);
    font-size: 25px;
}

.fdb-site-brand > span:last-child {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.fdb-site-brand strong {
    color: #fff;
    font-size: 14px;
    letter-spacing: .025em;
}

.fdb-site-brand em {
    margin-top: 4px;
    color: #ef3340;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
}

.fdb-site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
}

.fdb-site-nav > a,
.fdb-site-nav-dropdown > summary {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 10px;
    border-radius: 8px;
    color: #dbe3ec !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.fdb-site-nav-dropdown > summary::-webkit-details-marker {
    display: none;
}

.fdb-site-nav-dropdown > summary::after {
    content: '⌄';
    margin-left: 6px;
    color: #8e9bab;
    font-size: 12px;
}

.fdb-site-nav > a:hover,
.fdb-site-nav-dropdown > summary:hover,
.fdb-site-nav > a.is-active,
.fdb-site-nav-dropdown > summary.is-active {
    color: #fff !important;
    background: rgba(239, 51, 64, .12);
}

.fdb-site-nav > a.is-active,
.fdb-site-nav-dropdown > summary.is-active {
    box-shadow: inset 0 -2px #ef3340;
}

.fdb-site-nav-dropdown {
    position: relative;
}

.fdb-site-nav-dropdown-menu {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    left: 0;
    display: grid;
    min-width: 190px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    background: #0d1b29;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
}

.fdb-site-nav-dropdown:not([open]) .fdb-site-nav-dropdown-menu {
    display: none;
}

.fdb-site-nav-dropdown-menu a {
    padding: 10px 11px;
    border-radius: 7px;
    color: #dbe3ec !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.fdb-site-nav-dropdown-menu a:hover {
    color: #fff !important;
    background: rgba(239, 51, 64, .12);
}

.fdb-site-nav-search {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, .055);
}

.fdb-site-nav-search input[type="search"] {
    min-width: 0;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 11px;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font-size: 12px;
    box-shadow: none;
}

.fdb-site-nav-search input::placeholder {
    color: #8e9bab;
}

.fdb-site-nav-search button {
    flex: 0 0 auto;
    margin: 0;
    padding: 0 11px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.09);
    color: #fff;
    background: #b9232e;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.fdb-site-footer {
    width: 100%;
    margin-top: 30px;
    color: #c7d0da;
    background: #07111d;
    border-top: 1px solid rgba(255,255,255,.08);
}

.fdb-site-footer-inner {
    display: grid;
    grid-template-columns: 1.2fr auto auto;
    gap: 30px;
    align-items: center;
    min-height: 105px;
}

.fdb-site-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fdb-site-footer-brand strong {
    color: #fff;
}

.fdb-site-footer-brand span,
.fdb-site-footer-season {
    color: #8f9dad;
    font-size: 12px;
}

.fdb-site-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.fdb-site-footer nav a {
    color: #c7d0da !important;
    font-size: 12px;
    text-decoration: none !important;
}

.fdb-site-footer nav a:hover {
    color: #fff !important;
}

.fdb-site-footer-season strong {
    color: #ef3340;
}

.fdb-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(290px, .6fr);
    gap: 28px;
    align-items: stretch;
    margin-bottom: 20px;
    padding: 42px;
    border: 1px solid #182c3e;
    border-radius: 14px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 25%, rgba(239, 51, 64, .16), transparent 28%),
        linear-gradient(135deg, #0a1725 0%, #0e2132 62%, #09131f 100%);
    box-shadow: 0 12px 36px rgba(8, 20, 32, .18);
}

.fdb-home-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #ef3340;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.fdb-home-hero h1 {
    max-width: 700px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.fdb-home-hero p {
    max-width: 690px;
    margin: 18px 0 0;
    color: #bac6d2;
    font-size: 16px;
}

.fdb-home-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    max-width: 760px;
    margin-top: 28px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.fdb-home-search input[type="search"] {
    width: 100%;
    height: 54px;
    margin: 0;
    padding: 0 17px;
    border: 0;
    outline: 0;
    color: #182338;
    background: #fff;
    box-shadow: none;
}

.fdb-home-search button {
    margin: 0;
    padding: 0 26px;
    border: 0;
    color: #fff;
    background: #c51f2c;
    font-weight: 800;
    cursor: pointer;
}

.fdb-home-stats {
    display: grid;
    align-content: center;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    overflow: hidden;
}

.fdb-home-stats div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.fdb-home-stats div:last-child {
    border-bottom: 0;
}

.fdb-home-stats span {
    color: #afbdca;
    font-size: 13px;
}

.fdb-home-stats strong {
    color: #fff;
    font-size: 19px;
}

.fdb-home-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.fdb-home-panel {
    margin: 0;
    padding: 20px;
}

.fdb-home-panel-wide {
    grid-column: span 2;
}

.fdb-home-panel-heading,
.fdb-directory-result-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.fdb-home-panel-heading h2,
.fdb-directory-result-heading h2 {
    margin: 0;
}

.fdb-home-panel-heading a {
    font-size: 12px;
    font-weight: 700;
}

.fdb-home-list-row,
.fdb-home-transfer-row,
.fdb-global-search-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-list-row:last-child,
.fdb-home-transfer-row:last-child,
.fdb-global-search-item:last-of-type {
    border-bottom: 0;
}

.fdb-home-list-row > span:last-child,
.fdb-global-search-item > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-list-row strong,
.fdb-global-search-item strong {
    color: var(--fdb-text-strong);
    font-size: 13px;
}

.fdb-home-list-row small,
.fdb-global-search-item small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 11px;
}

.fdb-home-transfer-row {
    display: grid;
    grid-template-columns: 36px minmax(130px, .7fr) minmax(220px, 1.4fr) auto;
}

.fdb-home-transfer-player {
    display: flex;
    flex-direction: column;
}

.fdb-home-transfer-player small {
    color: var(--fdb-muted);
    font-size: 11px;
}

.fdb-home-transfer-clubs {
    color: var(--fdb-text);
    font-size: 13px;
}

.fdb-home-transfer-clubs b {
    margin: 0 7px;
    color: #c51f2c;
}

.fdb-global-search-results {
    padding: 22px;
}

.fdb-global-search-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.fdb-global-search-group {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 10px;
    background: #fbfcfe;
}

.fdb-global-search-group h3 {
    margin: 0 0 5px;
    font-size: 14px;
}

.fdb-global-search-more {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
}

.fdb-global-search-symbol,
.fdb-directory-person-placeholder {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #6f7d90;
    background: #edf2f7;
}

.fdb-directory-person-placeholder .fdb-public-icon {
    width: 18px;
    height: 18px;
}

.fdb-directory-person-photo {
    display: block;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-directory-club-logo {
    display: block;
    flex: 0 0 27px;
    width: auto;
    max-width: 27px;
    height: auto;
    max-height: 27px;
    object-fit: contain;
}

.fdb-directory-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 155px;
}

.fdb-directory-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border: 1px solid #ffd5d8;
    border-radius: 18px;
    color: #c51f2c;
    background: #fff6f7;
}

.fdb-directory-hero-icon .fdb-public-icon {
    width: 36px;
    height: 36px;
}

.fdb-directory-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
    align-items: end;
}

.fdb-directory-filters-compact {
    grid-template-columns: repeat(3, minmax(170px, 1fr)) auto;
}

.fdb-directory-filters label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--fdb-text);
    font-size: 12px;
    font-weight: 700;
}

.fdb-directory-filters input,
.fdb-directory-filters select {
    width: 100%;
    min-height: 40px;
    margin: 0;
    padding: 7px 10px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text);
    background: #fff;
    font: inherit;
    font-weight: 500;
}

.fdb-directory-filter-actions {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 40px;
}

.fdb-directory-filter-actions a {
    font-size: 12px;
    font-weight: 700;
}

.fdb-directory-filter-warning {
    margin: 13px 0 0;
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

.fdb-directory-result-heading span {
    color: var(--fdb-muted);
    font-size: 13px;
}

.fdb-directory-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
}

.fdb-directory-table {
    width: 100%;
    min-width: 780px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

.fdb-directory-table th,
.fdb-directory-table td {
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text);
    text-align: left;
    vertical-align: middle;
}

.fdb-directory-table th {
    color: #4c5c71;
    background: #f8fafc;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.fdb-directory-table tbody tr:last-child td {
    border-bottom: 0;
}

.fdb-directory-person,
.fdb-directory-club {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-directory-person strong,
.fdb-directory-club strong {
    color: var(--fdb-text-strong);
}

.fdb-directory-stadium {
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-directory-empty {
    padding: 28px !important;
    color: var(--fdb-muted) !important;
    text-align: center !important;
}

.fdb-directory-pagination {
    margin-top: 18px;
}

.fdb-directory-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fdb-directory-pagination .page-numbers li {
    margin: 0;
}

.fdb-directory-pagination a.page-numbers,
.fdb-directory-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.fdb-directory-pagination span.page-numbers.current {
    color: #fff !important;
    border-color: #c51f2c;
    background: #c51f2c;
}

.fdb-competition-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fdb-competition-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 13px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    background: #fbfcfe;
}

.fdb-competition-card > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-competition-card strong {
    color: var(--fdb-text-strong);
    font-size: 13px;
}

.fdb-competition-card span {
    margin-top: 3px;
    color: var(--fdb-muted);
    font-size: 11px;
}

.fdb-transfers-directory-table td:first-child,
.fdb-transfers-directory-table th:first-child {
    width: 105px;
    white-space: nowrap;
}

.fdb-transfer-directory-arrow {
    width: 35px;
    color: #c51f2c !important;
    font-size: 18px;
    font-weight: 800;
    text-align: center !important;
}

@media (max-width: 1080px) {
    .fdb-site-header-inner {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 14px 22px;
        padding: 14px 0;
    }

    .fdb-site-nav {
        justify-content: flex-end;
    }

    .fdb-site-nav-search {
        grid-column: 1 / -1;
        width: 100%;
    }

    .fdb-directory-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-directory-filters-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .fdb-site-header-inner {
        display: flex;
        flex-wrap: wrap;
    }

    .fdb-site-brand {
        width: 100%;
    }

    .fdb-site-nav {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 3px;
    }

    .fdb-site-nav-search {
        width: 100%;
    }

    .fdb-site-footer-inner {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 24px 0;
    }

    .fdb-home-hero,
    .fdb-home-panels,
    .fdb-global-search-grid {
        grid-template-columns: 1fr;
    }

    .fdb-home-panel-wide {
        grid-column: auto;
    }

    .fdb-home-transfer-row {
        grid-template-columns: 36px minmax(0, 1fr) auto;
    }

    .fdb-home-transfer-clubs {
        grid-column: 2 / -1;
    }

    .fdb-competition-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .fdb-site-seasonbar-inner,
    .fdb-site-header-inner,
    .fdb-site-footer-inner {
        width: min(100% - 22px, 1180px);
    }

    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 12px;
    }

    .fdb-home-hero {
        padding: 24px 20px;
    }

    .fdb-home-search {
        grid-template-columns: 1fr;
        background: transparent;
        gap: 8px;
        overflow: visible;
    }

    .fdb-home-search input[type="search"],
    .fdb-home-search button {
        border-radius: 8px;
    }

    .fdb-home-search button {
        min-height: 44px;
    }

    .fdb-directory-filters,
    .fdb-directory-filters-compact,
    .fdb-competition-grid {
        grid-template-columns: 1fr;
    }

    .fdb-directory-hero {
        align-items: flex-start;
    }

    .fdb-directory-hero-icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
    }

    .fdb-directory-hero-icon .fdb-public-icon {
        width: 28px;
        height: 28px;
    }
}

/* v0.23.0 - Competition profiles */
.fdb-competition-card {
    position: relative;
    color: inherit !important;
    text-decoration: none !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.fdb-competition-card:hover {
    border-color: #c8d5e6;
    box-shadow: 0 6px 18px rgba(15, 35, 65, .06);
    transform: translateY(-1px);
}

.fdb-competition-card .fdb-directory-club-logo {
    flex: 0 0 auto;
}

.fdb-competition-card-arrow {
    margin: 0 0 0 auto !important;
    color: #98a2b3 !important;
    font-size: 22px !important;
    line-height: 1;
}

.fdb-public-competition-hero {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 30px;
    align-items: center;
    min-height: 220px;
    padding: 28px 32px;
}

.fdb-public-competition-logo-box {
    display: grid;
    place-items: center;
    width: 160px;
    height: 160px;
    margin: auto;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 14px;
    background: #fbfcfe;
}

.fdb-public-competition-logo {
    display: block;
    width: 132px;
    height: 132px;
    object-fit: contain;
}

.fdb-public-competition-logo-fallback {
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
    border: 1px solid #cfe2ff;
    border-radius: 16px;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
}

.fdb-public-competition-logo-fallback .fdb-public-icon {
    width: 40px;
    height: 40px;
}

.fdb-public-competition-hero-copy {
    min-width: 0;
}

.fdb-public-competition-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.fdb-public-current-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid #b7e0c3;
    border-radius: 999px;
    color: #137333;
    background: #eefaf1;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}

.fdb-public-competition-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fdb-public-competition-season-card {
    padding-top: 20px;
    padding-bottom: 20px;
}

.fdb-public-competition-season-heading {
    align-items: center;
    margin-bottom: 14px;
}

.fdb-public-competition-season-select select {
    min-width: 150px;
    min-height: 40px;
    padding: 7px 34px 7px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text-strong);
    background: #fff;
    font: inherit;
    font-weight: 650;
}

.fdb-public-competition-single-season {
    color: var(--fdb-text-strong);
}

.fdb-public-competition-season-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--fdb-border-soft);
}

.fdb-public-competition-season-nav > div:last-child {
    text-align: right;
}

.fdb-public-competition-club-count {
    color: var(--fdb-muted);
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
}

.fdb-public-competition-table {
    min-width: 800px;
}

.fdb-public-competition-table th:not(.fdb-competition-col-team),
.fdb-public-competition-table td:not(.fdb-competition-col-team) {
    text-align: center;
}

.fdb-public-competition-table .fdb-competition-col-position {
    width: 58px;
}

.fdb-public-competition-table .fdb-competition-col-team {
    min-width: 250px;
    text-align: left;
}

.fdb-public-competition-table td:last-child,
.fdb-public-competition-table th:last-child {
    width: 68px;
}

.fdb-public-competition-team {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-public-competition-team:hover strong {
    color: var(--fdb-accent);
}

.fdb-public-competition-team .fdb-directory-club-logo {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

@media (max-width: 800px) {
    .fdb-public-competition-hero {
        grid-template-columns: 130px minmax(0, 1fr);
        gap: 20px;
        padding: 24px;
    }

    .fdb-public-competition-logo-box {
        width: 120px;
        height: 120px;
    }

    .fdb-public-competition-logo {
        width: 98px;
        height: 98px;
    }

    .fdb-public-competition-meta {
        grid-template-columns: 1fr;
    }

    .fdb-public-competition-meta .fdb-public-meta-item {
        border-right: 0;
        border-bottom: 1px solid var(--fdb-border-soft);
        padding-left: 0;
    }

    .fdb-public-competition-meta .fdb-public-meta-item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 560px) {
    .fdb-public-competition-hero {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .fdb-public-competition-title-row {
        align-items: center;
        flex-direction: column;
    }

    .fdb-public-current-badge {
        align-self: center;
    }

    .fdb-public-competition-season-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .fdb-public-competition-season-select select {
        width: 100%;
    }

    .fdb-public-competition-season-nav {
        grid-template-columns: 1fr;
    }

    .fdb-public-competition-season-nav > div,
    .fdb-public-competition-season-nav > div:last-child {
        text-align: left;
    }

    .fdb-public-competition-season-nav .fdb-public-button {
        width: 100%;
    }
}

/* Carry-forward visual tweak requested after v0.21.2: move only the Team Transfers date text 5px left. */
.fdb-public-transfer-table .fdb-public-move-date {
    position: relative;
    left: -5px;
}

/* =========================================================
 * v0.25.0 — Current Squad, Season Hub and Football Map
 * ========================================================= */
.fdb-public-wrap-wide {
    width: min(1460px, calc(100% - 28px));
}

/* Current Squad */
.fdb-current-squad-card {
    padding-bottom: 20px;
}

.fdb-current-squad-count {
    color: var(--fdb-muted);
    font-size: 13px;
    font-weight: 650;
}

.fdb-squad-position-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.fdb-squad-position-group,
.fdb-squad-generic-list {
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    background: #fff;
}

.fdb-squad-group-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px 38px;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 7px 10px;
    border-bottom: 1px solid var(--fdb-border-soft);
    background: #fafbfd;
    color: var(--fdb-muted);
    font-size: 11px;
    text-align: center;
}

.fdb-squad-group-heading strong {
    color: var(--fdb-text-strong);
    font-size: 13px;
    text-align: left;
}

.fdb-squad-group-heading.has-stats {
    grid-template-columns: minmax(0, 1fr) 38px 38px 62px;
}

.fdb-squad-section-heading {
    gap: 16px;
}

.fdb-squad-heading-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.fdb-squad-season-picker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--fdb-muted);
    font-size: 11px;
    font-weight: 700;
}

.fdb-squad-season-picker select {
    min-width: 112px;
    height: 34px;
    padding: 0 30px 0 10px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--fdb-text-strong);
    font-size: 12px;
    font-weight: 700;
}

.fdb-squad-player {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 38px 38px;
    align-items: center;
    gap: 8px;
    min-height: 52px;
    padding: 5px 9px;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-squad-player:last-child {
    border-bottom: 0;
}

.fdb-squad-player.has-stats {
    grid-template-columns: 34px minmax(0, 1fr) 38px 38px 62px;
}

.fdb-squad-player:hover {
    background: #f8fbff;
}

.fdb-squad-player .fdb-directory-person-photo,
.fdb-squad-player .fdb-directory-person-placeholder {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-squad-player-main {
    min-width: 0;
}

.fdb-squad-player-main strong {
    display: block;
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 12.5px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-squad-loan-note {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--fdb-muted);
    font-size: 10px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-squad-badge {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
}

.fdb-squad-badge.is-loan {
    border: 1px solid #b8d5ff;
    color: #1759b0;
    background: #edf5ff;
}

.fdb-squad-badge.is-out {
    border: 1px solid #f2d397;
    color: #9a5b00;
    background: #fff8e8;
}

.fdb-squad-player-age,
.fdb-squad-player-nationality {
    color: var(--fdb-muted);
    font-size: 11px;
    text-align: center;
}

.fdb-squad-player-nationality {
    font-size: 17px;
}

.fdb-squad-player-stats {
    color: var(--fdb-text-strong);
    font-size: 10.5px;
    font-weight: 750;
    text-align: center;
    white-space: nowrap;
}

.fdb-squad-generic-list {
    max-width: 720px;
}

/* Players out on loan — intentionally one horizontal row. */
.fdb-out-on-loan-card {
    padding-top: 18px;
    padding-bottom: 18px;
}

.fdb-loan-strip-shell {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 8px;
}

.fdb-loan-strip {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 1px 8px;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}

.fdb-loan-card {
    display: grid;
    grid-template-columns: 42px minmax(116px, 1fr) minmax(120px, .95fr) auto;
    align-items: center;
    gap: 9px;
    flex: 0 0 min(390px, calc(100vw - 110px));
    min-height: 64px;
    padding: 9px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    color: var(--fdb-text-strong) !important;
    background: #fff;
    text-decoration: none !important;
    scroll-snap-align: start;
}

.fdb-loan-card .fdb-directory-person-photo,
.fdb-loan-card .fdb-directory-person-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-loan-card-main strong,
.fdb-loan-card-main small {
    display: block;
}

.fdb-loan-card-main strong {
    color: var(--fdb-text-strong);
    font-size: 12px;
}

.fdb-loan-card-main small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-loan-card-club {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: var(--fdb-muted);
    font-size: 11px;
}

.fdb-loan-card-club .fdb-directory-club-logo {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.fdb-loan-strip-button {
    width: 34px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text-strong);
    background: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.fdb-loan-strip-button:hover {
    border-color: #b9cbe2;
    background: #f7faff;
}

/* Season Hub */
.fdb-season-hub-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr) 310px;
    gap: 18px;
    align-items: start;
}

.fdb-season-hub-left,
.fdb-season-hub-right {
    position: sticky;
    top: 18px;
}

.fdb-hub-divisions-card,
.fdb-hub-side-card {
    padding: 16px;
}

.fdb-hub-division-nav {
    display: flex;
    flex-direction: column;
    max-height: 680px;
    overflow-y: auto;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 8px;
}

.fdb-hub-division-nav > a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 7px 9px;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-hub-division-nav > a:last-child {
    border-bottom: 0;
}

.fdb-hub-division-nav > a.is-active {
    box-shadow: inset 3px 0 0 var(--fdb-accent);
    background: var(--fdb-accent-soft);
}

.fdb-hub-division-nav .fdb-directory-club-logo {
    width: 27px;
    height: 27px;
    object-fit: contain;
}

.fdb-hub-division-nav strong,
.fdb-hub-division-nav small {
    display: block;
}

.fdb-hub-division-nav strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-hub-division-nav small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 9px;
}

.fdb-hub-show-all {
    width: 100%;
    margin-top: 12px;
    justify-content: center;
}

.fdb-hub-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 4px 0 18px;
}

.fdb-hub-title-row h1 {
    margin: 0;
    color: var(--fdb-text-strong);
    font-size: clamp(2rem, 3.6vw, 3.2rem);
    letter-spacing: -.035em;
}

.fdb-hub-title-row p {
    margin: 5px 0 0;
    color: var(--fdb-muted);
}

.fdb-hub-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.fdb-hub-stat-grid > div {
    padding: 16px;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--fdb-shadow);
}

.fdb-hub-stat-grid span,
.fdb-hub-stat-grid strong {
    display: block;
}

.fdb-hub-stat-grid span {
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.fdb-hub-stat-grid strong {
    margin-top: 5px;
    color: var(--fdb-text-strong);
    font-size: 25px;
}

.fdb-hub-mini-table {
    min-width: 520px;
}

.fdb-hub-mini-table th:first-child,
.fdb-hub-mini-table td:first-child {
    width: 52px;
    text-align: center;
}

.fdb-hub-mini-table th:nth-child(3),
.fdb-hub-mini-table th:nth-child(4),
.fdb-hub-mini-table td:nth-child(3),
.fdb-hub-mini-table td:nth-child(4) {
    width: 62px;
    text-align: center;
}

.fdb-hub-side-card .fdb-public-section-heading {
    align-items: center;
    margin-bottom: 10px;
}

.fdb-hub-side-card .fdb-public-section-heading a {
    font-size: 11px;
    font-weight: 700;
}

.fdb-hub-feed-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 7px 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-hub-feed-row:last-child {
    border-bottom: 0;
}

.fdb-hub-feed-row .fdb-directory-person-photo,
.fdb-hub-feed-row .fdb-directory-person-placeholder {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-hub-feed-main strong,
.fdb-hub-feed-main small {
    display: block;
}

.fdb-hub-feed-main strong {
    color: var(--fdb-text-strong);
    font-size: 10.5px;
    line-height: 1.3;
}

.fdb-hub-feed-main small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 9px;
    line-height: 1.3;
}

.fdb-hub-feed-date {
    color: var(--fdb-muted);
    font-size: 8px;
    white-space: nowrap;
}

.fdb-hub-update-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
}

.fdb-hub-update-icon .fdb-public-icon {
    width: 17px;
    height: 17px;
}

/* Voivodeship browser: map-like geographic selector made from real region outlines. */
.fdb-voivodeship-browser {
    display: grid;
    grid-template-columns: repeat(5, minmax(110px, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.fdb-voivodeship-choice {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 8px 10px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    color: var(--fdb-text-strong) !important;
    background: #fff;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
}

.fdb-voivodeship-choice:hover,
.fdb-voivodeship-choice.is-selected {
    border-color: #9cc5ff;
    background: var(--fdb-accent-soft);
}

.fdb-voivodeship-choice .fdb-public-voivodeship-icon {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px;
}

.fdb-region-division-results {
    margin-top: 22px;
}

.fdb-region-division-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.fdb-region-division-grid a {
    padding: 13px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-region-division-grid span,
.fdb-region-division-grid strong,
.fdb-region-division-grid small {
    display: block;
}

.fdb-region-division-grid span,
.fdb-region-division-grid small {
    color: var(--fdb-muted);
    font-size: 9px;
}

.fdb-region-division-grid strong {
    margin: 3px 0;
    font-size: 12px;
}

/* Football Map */
.fdb-map-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.fdb-map-count {
    min-width: 120px;
    text-align: right;
}

.fdb-map-count strong,
.fdb-map-count span {
    display: block;
}

.fdb-map-count strong {
    color: var(--fdb-text-strong);
    font-size: 28px;
}

.fdb-map-count span {
    color: var(--fdb-muted);
    font-size: 11px;
}

.fdb-map-filter-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 10px;
    align-items: end;
}

.fdb-map-filter-form label > span {
    display: block;
    margin-bottom: 4px;
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 700;
}

.fdb-map-filter-form select,
.fdb-map-filter-form input {
    width: 100%;
    min-height: 40px;
    padding: 7px 9px;
    border: 1px solid var(--fdb-border);
    border-radius: 7px;
    background: #fff;
    font: inherit;
    font-size: 12px;
}

.fdb-map-filter-actions {
    display: flex;
    gap: 7px;
    grid-column: 1 / -1;
}

.fdb-football-map {
    position: relative;
    width: 100%;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    background: #eef3f6;
    z-index: 0;
}

.fdb-football-map.is-large {
    min-height: 650px;
}

.fdb-football-map.is-hub-preview,
.fdb-football-map.is-competition-preview {
    min-height: 430px;
}

.fdb-football-map-loading {
    display: grid;
    place-items: center;
    min-height: inherit;
    color: var(--fdb-muted);
}

.fdb-map-logo-marker-wrap {
    border: 0 !important;
    background: transparent !important;
}

.fdb-map-logo-marker {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 9px rgba(12, 34, 60, .28);
}

.fdb-map-logo-marker img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.fdb-map-popup strong,
.fdb-map-popup span,
.fdb-map-popup a {
    display: block;
}

.fdb-map-popup strong {
    margin-bottom: 3px;
    color: #0d1b36;
    font-size: 13px;
}

.fdb-map-popup span {
    max-width: 230px;
    color: #667085;
    font-size: 10px;
}

.fdb-map-popup a {
    margin-top: 7px;
    font-size: 10px;
    font-weight: 700;
}

@media (max-width: 1240px) {
    .fdb-season-hub-layout {
        grid-template-columns: 230px minmax(0, 1fr);
    }
    .fdb-season-hub-right {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column: 1 / -1;
        gap: 18px;
    }
    .fdb-squad-position-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fdb-map-filter-form {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }
}

@media (max-width: 860px) {
    .fdb-season-hub-layout {
        grid-template-columns: 1fr;
    }
    .fdb-season-hub-left,
    .fdb-season-hub-right {
        position: static;
    }
    .fdb-hub-division-nav {
        max-height: 360px;
    }
    .fdb-season-hub-right {
        grid-template-columns: 1fr;
        grid-column: auto;
    }
    .fdb-hub-stat-grid,
    .fdb-squad-position-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fdb-voivodeship-browser {
        grid-template-columns: repeat(3, minmax(100px, 1fr));
    }
    .fdb-region-division-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fdb-map-filter-form {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
    .fdb-map-hero,
    .fdb-hub-title-row {
        align-items: flex-start;
        flex-direction: column;
    }
    .fdb-map-count {
        text-align: left;
    }
    .fdb-squad-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .fdb-squad-heading-tools {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .fdb-squad-position-grid,
    .fdb-hub-stat-grid,
    .fdb-map-filter-form,
    .fdb-region-division-grid {
        grid-template-columns: 1fr;
    }
    .fdb-voivodeship-browser {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fdb-loan-strip-shell {
        grid-template-columns: minmax(0, 1fr);
    }
    .fdb-loan-strip-button {
        display: none;
    }
    .fdb-loan-card {
        grid-template-columns: 40px minmax(120px, 1fr) minmax(105px, .8fr);
    }
    .fdb-loan-card .fdb-squad-badge {
        grid-column: 2 / -1;
        justify-self: start;
    }
    .fdb-football-map,
    .fdb-football-map.is-large,
    .fdb-football-map.is-hub-preview,
    .fdb-football-map.is-competition-preview {
        min-height: 430px;
    }
}

/* Wider shared site chrome for the additional Season Hub / Map navigation. */
.fdb-site-seasonbar-inner,
.fdb-site-header-inner,
.fdb-site-footer-inner {
    width: min(1460px, calc(100% - 32px));
}

@media (max-width: 1180px) {
    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 12px;
    }
}

/* Approximate geographic arrangement for the clickable voivodeship browser. */
@media (min-width: 861px) {
    .fdb-voivodeship-browser {
        grid-template-columns: repeat(5, minmax(110px, 1fr));
        grid-template-rows: repeat(5, minmax(72px, auto));
        align-items: center;
    }
    .fdb-voivodeship-choice.is-zachodniopomorskie { grid-column: 1; grid-row: 1; }
    .fdb-voivodeship-choice.is-pomorskie { grid-column: 3; grid-row: 1; }
    .fdb-voivodeship-choice.is-warminsko-mazurskie { grid-column: 4; grid-row: 1; }
    .fdb-voivodeship-choice.is-podlaskie { grid-column: 5; grid-row: 2; }
    .fdb-voivodeship-choice.is-lubuskie { grid-column: 1; grid-row: 2; }
    .fdb-voivodeship-choice.is-wielkopolskie { grid-column: 2; grid-row: 2; }
    .fdb-voivodeship-choice.is-kujawsko-pomorskie { grid-column: 3; grid-row: 2; }
    .fdb-voivodeship-choice.is-mazowieckie { grid-column: 4; grid-row: 2; }
    .fdb-voivodeship-choice.is-dolnoslaskie { grid-column: 1; grid-row: 3; }
    .fdb-voivodeship-choice.is-lodzkie { grid-column: 3; grid-row: 3; }
    .fdb-voivodeship-choice.is-lubelskie { grid-column: 5; grid-row: 3; }
    .fdb-voivodeship-choice.is-opolskie { grid-column: 2; grid-row: 4; }
    .fdb-voivodeship-choice.is-slaskie { grid-column: 3; grid-row: 4; }
    .fdb-voivodeship-choice.is-swietokrzyskie { grid-column: 4; grid-row: 4; }
    .fdb-voivodeship-choice.is-malopolskie { grid-column: 3; grid-row: 5; }
    .fdb-voivodeship-choice.is-podkarpackie { grid-column: 4; grid-row: 5; }
}

.fdb-hub-title-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fdb-hub-season-select select {
    min-width: 126px;
    min-height: 40px;
    padding: 7px 32px 7px 10px;
    border: 1px solid var(--fdb-border);
    border-radius: 8px;
    color: var(--fdb-text-strong);
    background: #fff;
    font: inherit;
    font-weight: 700;
}

@media (max-width: 860px) {
    .fdb-hub-title-actions {
        width: 100%;
        align-items: stretch;
    }
    .fdb-hub-season-select {
        flex: 1 1 auto;
    }
    .fdb-hub-season-select select {
        width: 100%;
    }
}


/*
 * =========================================================
 * v0.25.1 - SEASON HUB READABILITY
 * =========================================================
 */

@media (min-width: 1181px) {
    .fdb-season-hub-layout {
        grid-template-columns: 270px minmax(0, 1fr) 330px;
    }
}

.fdb-hub-divisions-card,
.fdb-hub-side-card {
    padding: 18px;
}

.fdb-hub-divisions-card .fdb-public-section-heading h2,
.fdb-hub-side-card .fdb-public-section-heading h2 {
    font-size: 18px;
    line-height: 1.2;
}

.fdb-hub-divisions-card .fdb-public-section-kicker,
.fdb-hub-side-card .fdb-public-section-kicker {
    font-size: 10.5px;
}

.fdb-hub-division-nav > a {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    min-height: 62px;
    padding: 9px 10px;
}

.fdb-hub-division-nav .fdb-directory-club-logo {
    width: 31px;
    height: 31px;
}

/* Long competition names may use two lines; Level stays inside the same button. */
.fdb-hub-division-nav strong {
    overflow: visible;
    font-size: 14px;
    line-height: 1.25;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.fdb-hub-division-nav small {
    margin-top: 4px;
    font-size: 11.5px;
    line-height: 1.25;
}

.fdb-hub-side-card .fdb-public-section-heading {
    margin-bottom: 12px;
}

.fdb-hub-side-card .fdb-public-section-heading a {
    font-size: 12px;
}

.fdb-hub-feed-row {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 68px;
    padding: 9px 0;
}

.fdb-hub-feed-row .fdb-directory-person-photo,
.fdb-hub-feed-row .fdb-directory-person-placeholder {
    width: 38px;
    height: 38px;
}

.fdb-hub-feed-main strong {
    font-size: 13px;
    line-height: 1.3;
}

.fdb-hub-feed-main small {
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.35;
}

.fdb-hub-feed-date {
    font-size: 10px;
}

.fdb-hub-update-icon {
    width: 36px;
    height: 36px;
}

.fdb-hub-update-icon .fdb-public-icon {
    width: 20px;
    height: 20px;
}


/*
 * =========================================================
 * v0.25.2 - SEASON HUB SMALL VISUAL CORRECTIONS
 * =========================================================
 */

/* Player/person names only in Latest Transfers and Recently Updated. */
.fdb-hub-feed-main strong {
    font-size: 11px !important;
}

/* Keep every division entry as a full-width button in the left sidebar. */
.fdb-hub-division-nav {
    width: 100%;
    align-items: stretch !important;
    box-sizing: border-box;
}

.fdb-hub-division-nav > a {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    align-self: stretch !important;
    box-sizing: border-box;
    grid-template-columns: 34px minmax(0, 1fr);
}

.fdb-hub-division-nav > a > span {
    display: block;
    width: 100%;
    min-width: 0;
}


/*
 * =========================================================
 * v0.25.3 - SEASON HUB DIVISION WIDTH + 11PT NAMES
 * =========================================================
 */

/* Word/Excel-style 11-point type for player/person names only. */
.fdb-hub-feed-main strong {
    font-size: 11pt !important;
    line-height: 1.25;
}

/*
 * Division buttons must not reserve a logo column when a League has no logo.
 * Previously the only child (the text span) fell into the fixed 34px logo
 * track, which caused names to wrap one or two letters per line.
 */
.fdb-hub-division-nav > a {
    grid-template-columns: minmax(0, 1fr) !important;
}

.fdb-hub-division-nav > a.has-logo {
    grid-template-columns: 34px minmax(0, 1fr) !important;
}

.fdb-hub-division-nav > a.no-logo > span,
.fdb-hub-division-nav > a.has-logo > span {
    grid-column: auto;
    width: auto;
    min-width: 0;
}

.fdb-hub-division-nav > a.no-logo > span {
    width: 100%;
}

/* Prefer normal word wrapping; never break ordinary names letter-by-letter. */
.fdb-hub-division-nav strong {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
}

/*
 * =========================================================
 * v0.27.0 - PUBLIC LOCATIONS / CITY PAGES
 * =========================================================
 */

.fdb-public-meta-value a,
.fdb-public-detail-value a {
    color: inherit;
    text-decoration: none;
}

.fdb-public-meta-value a:hover,
.fdb-public-detail-value a:hover {
    color: var(--fdb-accent);
    text-decoration: underline;
}

.fdb-location-hero {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 26px 28px;
}

.fdb-location-hero-icon {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    border: 1px solid var(--fdb-border);
    border-radius: 22px;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft, #eef6ff);
}

.fdb-location-hero-icon .fdb-public-icon {
    width: 42px;
    height: 42px;
}

.fdb-location-hero h1 {
    margin: 3px 0 18px;
}

.fdb-location-meta {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.fdb-location-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fdb-location-map-card .fdb-football-map.is-location-map {
    min-height: 430px;
    border-radius: 12px;
    overflow: hidden;
}

.fdb-location-team-grid,
.fdb-location-stadium-grid,
.fdb-location-player-grid {
    display: grid;
    gap: 12px;
}

.fdb-location-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fdb-location-stadium-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fdb-location-player-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fdb-location-team-card,
.fdb-location-stadium-card,
.fdb-location-player-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
    color: var(--fdb-text-strong);
    background: #fff;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.fdb-location-team-card:hover,
.fdb-location-stadium-card:hover,
.fdb-location-player-card:hover {
    border-color: rgba(34, 113, 177, .45);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
    transform: translateY(-1px);
}

.fdb-location-team-card > span:last-child,
.fdb-location-stadium-card > span:last-child,
.fdb-location-player-card > span:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.fdb-location-team-card strong,
.fdb-location-stadium-card strong,
.fdb-location-player-card strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-location-team-card small,
.fdb-location-stadium-card small,
.fdb-location-player-card small {
    color: var(--fdb-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.fdb-location-team-logo,
.fdb-location-stadium-placeholder {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
}

.fdb-location-team-logo .fdb-public-mini-logo {
    max-width: 40px;
    max-height: 40px;
}

.fdb-location-stadium-card img,
.fdb-location-stadium-placeholder {
    flex: 0 0 68px;
    width: 68px;
    height: 48px;
    border-radius: 7px;
    object-fit: cover;
    background: #f5f7fa;
}

.fdb-location-stadium-placeholder .fdb-public-icon {
    width: 25px;
    height: 25px;
    color: var(--fdb-text-muted);
}

.fdb-location-player-card .fdb-directory-person-photo,
.fdb-location-player-card .fdb-directory-person-placeholder {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
}

.fdb-location-directory-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--fdb-text-strong);
    text-decoration: none;
}

.fdb-location-directory-link:hover {
    color: var(--fdb-accent);
}

.fdb-location-directory-pin {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: var(--fdb-accent);
}

.fdb-location-directory-pin .fdb-public-icon {
    width: 18px;
    height: 18px;
}

.fdb-map-popup-location {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(0,0,0,.25);
    text-underline-offset: 2px;
}

@media (max-width: 1100px) {
    .fdb-location-meta {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
    .fdb-location-team-grid,
    .fdb-location-stadium-grid,
    .fdb-location-player-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .fdb-location-hero {
        grid-template-columns: 1fr;
    }
    .fdb-location-hero-icon {
        width: 66px;
        height: 66px;
    }
    .fdb-location-meta,
    .fdb-location-stat-grid,
    .fdb-location-team-grid,
    .fdb-location-stadium-grid,
    .fdb-location-player-grid {
        grid-template-columns: 1fr;
    }
    .fdb-location-map-card .fdb-football-map.is-location-map {
        min-height: 350px;
    }
}

.fdb-directory-location-link {
    color: inherit;
    text-decoration: none;
}

.fdb-directory-location-link:hover {
    color: var(--fdb-accent);
    text-decoration: underline;
}

/* v0.28.0 — public Staff and Team Current Staff */
.fdb-public-current-staff-card {
    margin-top: 18px;
}

.fdb-current-staff-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.fdb-current-staff-person {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 9px 11px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    color: var(--fdb-text-strong) !important;
    background: #fff;
    text-decoration: none !important;
}

.fdb-current-staff-person:hover {
    border-color: #b9d6ff;
    background: #f8fbff;
}

.fdb-current-staff-person .fdb-directory-person-photo,
.fdb-current-staff-person .fdb-directory-person-placeholder {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-current-staff-copy {
    min-width: 0;
}

.fdb-current-staff-copy strong,
.fdb-current-staff-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-current-staff-copy strong {
    color: var(--fdb-text-strong);
    font-size: 12.5px;
    line-height: 1.25;
}

.fdb-current-staff-copy small {
    margin-top: 3px;
    color: var(--fdb-muted);
    font-size: 10.5px;
}

.fdb-current-staff-flag {
    font-size: 18px;
    line-height: 1;
}

.fdb-public-staff-hero .fdb-public-player-meta {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
}

.fdb-public-staff-no-assignment {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--fdb-border);
    border-radius: 9px;
    background: #f8fafc;
}

.fdb-public-staff-no-assignment strong {
    color: var(--fdb-text-strong);
}

.fdb-public-staff-no-assignment span {
    color: var(--fdb-muted);
    font-size: 12px;
}

.fdb-public-staff-note {
    margin-top: 18px;
}

.fdb-public-staff-assignment-summary {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .8fr) 100px;
    align-items: center;
    gap: 16px;
    padding: 12px 0 2px;
}

.fdb-public-staff-assignment-summary > span {
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 650;
}

@media (max-width: 1000px) {
    .fdb-current-staff-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .fdb-current-staff-grid {
        grid-template-columns: 1fr;
    }

    .fdb-public-staff-hero .fdb-public-player-meta {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }

    .fdb-public-staff-assignment-summary {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}



/*
 * =========================================================
 * v0.29.0 - LAUNCH READINESS / FRONTEND POLISH
 * =========================================================
 */

/* Long names and metadata should wrap instead of forcing cards wider. */
.fdb-public-card h1,
.fdb-public-card h2,
.fdb-public-card h3,
.fdb-public-meta-value,
.fdb-public-detail-value,
.fdb-directory-table td,
.fdb-directory-table th,
.fdb-home-panel strong,
.fdb-current-staff-copy strong,
.fdb-current-staff-copy small {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Missing optional values remain visible but are intentionally de-emphasized. */
.fdb-public-detail.is-no-data .fdb-public-detail-value,
.fdb-public-stat-card.is-no-data .fdb-public-stat-value,
.fdb-public-meta-item.is-no-data .fdb-public-meta-value {
    color: #98a2b3;
    font-weight: 600;
}

/* Keyboard focus visibility across the plugin frontend. */
.fdb-public-profile-page a:focus-visible,
.fdb-public-profile-page button:focus-visible,
.fdb-public-profile-page input:focus-visible,
.fdb-public-profile-page select:focus-visible,
.fdb-public-profile-page summary:focus-visible {
    outline: 3px solid rgba(22, 119, 255, .38);
    outline-offset: 2px;
}

.fdb-site-shell a:focus-visible,
.fdb-site-shell button:focus-visible,
.fdb-site-shell input:focus-visible,
.fdb-site-shell summary:focus-visible {
    outline-color: rgba(255, 255, 255, .82);
}

.fdb-site-nav-mobile-only {
    display: none !important;
}

/* Pagination links get a larger, consistent tap target. */
.fdb-directory-pagination a.page-numbers,
.fdb-directory-pagination span.page-numbers,
.fdb-free-agents-pagination a.page-numbers,
.fdb-free-agents-pagination span.page-numbers {
    min-width: 38px;
    min-height: 38px;
}

/* Prevent wide data tables from stretching the whole page on small screens. */
.fdb-directory-table-wrap,
.fdb-public-table-wrap,
.fdb-public-history-table-wrap,
.fdb-free-agents-table-wrap {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 800px) {
    /* The desktop Players dropdown can be clipped by the horizontally scrolling nav.
       Mobile receives two direct links instead. */
    .fdb-site-nav-dropdown {
        display: none;
    }

    .fdb-site-nav-mobile-only {
        display: inline-flex !important;
    }

    .fdb-site-nav {
        scrollbar-width: thin;
        overscroll-behavior-x: contain;
    }

    .fdb-public-breadcrumbs {
        overflow-x: auto;
        white-space: nowrap;
        scrollbar-width: thin;
    }
}

@media (max-width: 560px) {
    .fdb-public-wrap {
        margin-top: 14px;
    }

    .fdb-public-card h1 {
        font-size: clamp(1.75rem, 9vw, 2.15rem);
        line-height: 1.1;
    }

    .fdb-public-section-heading h2 {
        font-size: 1.12rem;
    }

    .fdb-site-nav-search input[type="search"] {
        font-size: 16px; /* avoids automatic zoom on iOS */
    }

    .fdb-directory-filters,
    .fdb-directory-filters-compact {
        grid-template-columns: 1fr;
    }

    .fdb-directory-filters input,
    .fdb-directory-filters select,
    .fdb-directory-filters button,
    .fdb-directory-filters-compact input,
    .fdb-directory-filters-compact select,
    .fdb-directory-filters-compact button {
        min-height: 42px;
        font-size: 16px;
    }

    .fdb-directory-table {
        min-width: 680px;
    }

    .fdb-transfers-directory-table {
        min-width: 760px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fdb-public-profile-page *,
    .fdb-public-profile-page *::before,
    .fdb-public-profile-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 560px) {
    .fdb-public-list-main strong,
    .fdb-squad-player-main strong,
    .fdb-squad-loan-note,
    .fdb-location-team-card strong,
    .fdb-location-stadium-card strong,
    .fdb-location-player-card strong,
    .fdb-current-staff-copy strong,
    .fdb-current-staff-copy small {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }
}


/*
 * =========================================================
 * v0.29.1 - STADIUM / TRANSFERS / FREE AGENTS POLISH
 * =========================================================
 */

/* Directory headings should wrap between words, never split labels like
   CAPACITY into CAPACIT / Y. */
.fdb-directory-table th {
    overflow-wrap: normal;
    word-break: normal;
    white-space: nowrap;
}

/* v0.29.2: rebalance Stadium-directory widths. */
/* Stadium directory gets deliberate proportions. City and Surface retain
   their useful space, while Capacity and the Yes/No fields stay compact so
   long Polish stadium names receive the largest possible share. */
.fdb-stadiums-directory-table {
    table-layout: fixed;
    min-width: 820px;
}

.fdb-stadiums-directory-table th:nth-child(1),
.fdb-stadiums-directory-table td:nth-child(1) { width: 49%; }
.fdb-stadiums-directory-table th:nth-child(2),
.fdb-stadiums-directory-table td:nth-child(2) { width: 14%; }
.fdb-stadiums-directory-table th:nth-child(3),
.fdb-stadiums-directory-table td:nth-child(3) { width: 9%; }
.fdb-stadiums-directory-table th:nth-child(4),
.fdb-stadiums-directory-table td:nth-child(4) { width: 13%; }
.fdb-stadiums-directory-table th:nth-child(5),
.fdb-stadiums-directory-table td:nth-child(5) { width: 7%; }
.fdb-stadiums-directory-table th:nth-child(6),
.fdb-stadiums-directory-table td:nth-child(6) { width: 8%; }

/* These columns hold short values, so they do not need the standard 13px
   horizontal padding used by the wider text columns. */
.fdb-stadiums-directory-table th:nth-child(3),
.fdb-stadiums-directory-table td:nth-child(3),
.fdb-stadiums-directory-table th:nth-child(5),
.fdb-stadiums-directory-table td:nth-child(5),
.fdb-stadiums-directory-table th:nth-child(6),
.fdb-stadiums-directory-table td:nth-child(6) {
    padding-left: 9px;
    padding-right: 9px;
}

.fdb-stadiums-directory-table td:first-child,
.fdb-stadiums-directory-table td:first-child strong {
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
}

/* Option 4 transfer-window icon: navy calendar/window with amber arrows. */
.fdb-directory-hero-icon-transfers {
    border-color: #d7e1ec;
    color: #12233f;
    background: #f8fafc;
}

/* Give the restored stadium-feature icons the slightly stronger visual weight
   of the original clean white profile mockup. */
.fdb-public-stadium-meta-secondary .fdb-public-meta-icon {
    color: #536985;
}

.fdb-public-stadium-meta-secondary .fdb-public-meta-icon .fdb-public-icon {
    width: 27px;
    height: 27px;
}

/* Free Agents is now a first-class top-level navigation destination. */
.fdb-site-nav-mobile-only {
    display: none !important;
}

@media (max-width: 800px) {
    .fdb-site-nav > a {
        flex: 0 0 auto;
    }
}

/* The extra top-level Free Agents destination needs a little more breathing
   room than the old Players dropdown. Move search to its own row before the
   navigation begins to crowd. */
@media (max-width: 1260px) and (min-width: 801px) {
    .fdb-site-header-inner {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 14px 22px;
        padding: 14px 0;
    }

    .fdb-site-nav {
        justify-content: flex-end;
    }

    .fdb-site-nav-search {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* v0.29.8 - foreign player/free-agent presentation */
.fdb-free-agent-foreign-only {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin-top: 8px !important;
    color: var(--fdb-text) !important;
    font-weight: 650 !important;
    cursor: pointer;
}

.fdb-free-agent-foreign-only input {
    width: 16px !important;
    min-height: 16px !important;
    height: 16px;
    margin: 0;
}

.fdb-free-agent-filter.is-foreign-only select:disabled {
    opacity: .55;
    background: #f3f5f7;
}

.fdb-free-agent-foreign-club,
.fdb-public-foreign-club {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.fdb-free-agent-foreign-club small,
.fdb-public-foreign-club small,
.fdb-public-history-foreign-meta {
    color: var(--fdb-muted);
    font-size: 11px;
}

/* -------------------------------------------------------------------------
 * v0.30.0 - real Football Database homepage
 * ---------------------------------------------------------------------- */
.fdb-site-home {
    --fdb-home-red: #c51f2c;
    --fdb-home-navy: #10233b;
}

.fdb-site-home .fdb-home-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 34px;
    align-items: center;
    margin-bottom: 16px;
    padding: 42px 44px;
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-top: 4px solid var(--fdb-home-red);
    border-radius: 14px;
    color: var(--fdb-text);
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 68%, #f5f8fc 100%);
    box-shadow: var(--fdb-shadow);
}

.fdb-site-home .fdb-home-hero::after {
    content: "";
    position: absolute;
    right: -85px;
    bottom: -115px;
    width: 290px;
    height: 290px;
    border: 42px solid rgba(197,31,44,.035);
    border-radius: 50%;
    pointer-events: none;
}

.fdb-site-home .fdb-home-eyebrow {
    margin-bottom: 8px;
    color: var(--fdb-home-red);
}

.fdb-site-home .fdb-home-hero h1 {
    max-width: 760px;
    color: var(--fdb-text-strong);
    font-size: clamp(2.35rem, 5vw, 4.15rem);
    line-height: 1.01;
}

.fdb-site-home .fdb-home-hero p {
    max-width: 760px;
    margin-top: 16px;
    color: var(--fdb-muted);
    font-size: 16px;
}

.fdb-site-home .fdb-home-search {
    max-width: 780px;
    margin-top: 25px;
    border: 1px solid #cfd8e5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,35,65,.07);
}

.fdb-site-home .fdb-home-search input[type="search"] {
    color: var(--fdb-text-strong);
    background: #fff;
}

.fdb-site-home .fdb-home-search button {
    min-width: 142px;
    background: var(--fdb-home-navy);
}

.fdb-site-home .fdb-home-search button:hover {
    background: #17314e;
}

.fdb-home-search-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 15px;
}

.fdb-home-search-links a {
    color: #52657a !important;
    font-size: 12px;
    font-weight: 700;
}

.fdb-home-search-links a::after {
    content: " →";
    color: var(--fdb-home-red);
}

.fdb-home-hero-mark {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 190px;
    padding: 22px;
    border: 1px solid #dbe3ec;
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    text-align: center;
}

.fdb-home-hero-mark > span {
    display: grid;
    width: 66px;
    height: 66px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 50%;
    color: var(--fdb-home-red);
    background: #fff2f3;
}

.fdb-home-hero-mark .fdb-public-icon {
    width: 35px;
    height: 35px;
}

.fdb-home-hero-mark strong,
.fdb-home-hero-mark em {
    display: block;
    font-style: normal;
    line-height: 1.05;
    letter-spacing: .08em;
}

.fdb-home-hero-mark strong {
    color: var(--fdb-home-navy);
    font-size: 18px;
}

.fdb-home-hero-mark em {
    margin-top: 4px;
    color: var(--fdb-home-red);
    font-size: 12px;
    font-weight: 800;
}

.fdb-home-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.fdb-home-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--fdb-border);
    border-radius: 11px;
    color: var(--fdb-text-strong) !important;
    background: #fff;
    box-shadow: 0 4px 16px rgba(15,35,65,.035);
    text-decoration: none !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.fdb-home-stat-card:hover {
    transform: translateY(-1px);
    border-color: #c9d4e2;
    box-shadow: 0 8px 22px rgba(15,35,65,.07);
}

.fdb-home-stat-icon,
.fdb-home-heading-icon,
.fdb-home-update-icon,
.fdb-home-explore-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #526985;
    background: #f2f5f9;
}

.fdb-home-stat-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
}

.fdb-home-stat-icon .fdb-public-icon {
    width: 21px;
    height: 21px;
}

.fdb-home-stat-card > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-stat-card small {
    color: var(--fdb-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fdb-home-stat-card strong {
    margin-top: 1px;
    color: var(--fdb-text-strong);
    font-size: 20px;
    line-height: 1.1;
}

.fdb-home-dashboard {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.fdb-home-dashboard .fdb-home-panel {
    min-width: 0;
    margin: 0;
    padding: 22px;
}

.fdb-home-dashboard .fdb-home-panel-wide {
    grid-column: 1 / -1;
}

.fdb-home-panel-heading > div:first-child:not(.fdb-home-heading-with-icon) {
    min-width: 0;
}

.fdb-home-panel-heading .fdb-public-section-kicker {
    margin-bottom: 2px;
}

.fdb-home-heading-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.fdb-home-heading-icon .fdb-public-icon {
    width: 22px;
    height: 22px;
}

.fdb-home-heading-with-icon {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.fdb-home-heading-with-icon .fdb-home-heading-icon {
    color: var(--fdb-home-navy);
    background: #fff7e8;
}

.fdb-home-heading-with-icon .fdb-home-heading-icon .fdb-public-icon {
    width: 23px;
    height: 23px;
}

.fdb-home-panel-intro {
    margin: 0 0 14px;
    color: var(--fdb-muted);
    font-size: 13px;
}

.fdb-home-competition-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 16px;
}

.fdb-home-competition-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 8px;
    color: var(--fdb-text-strong) !important;
    background: #fbfcfe;
    text-decoration: none !important;
}

.fdb-home-competition-links a:hover {
    border-color: #cbd6e3;
    background: #f7f9fc;
}

.fdb-home-competition-links span {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 12px;
    font-weight: 700;
}

.fdb-home-competition-links small {
    flex: 0 0 auto;
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-home-panel-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px !important;
    font-size: 12px !important;
}

.fdb-home-update-list {
    display: grid;
}

.fdb-home-update-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-update-row:last-child {
    border-bottom: 0;
}

.fdb-home-update-icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
}

.fdb-home-update-icon .fdb-public-icon {
    width: 17px;
    height: 17px;
}

.fdb-home-update-row > span:nth-child(2) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-update-row strong {
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-update-row small {
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-home-update-row b {
    color: #9aa8b8;
    font-size: 19px;
    font-weight: 500;
}

.fdb-home-transfers-panel .fdb-home-panel-heading {
    margin-bottom: 9px;
}

.fdb-home-transfer-list {
    display: grid;
}

.fdb-site-home .fdb-home-transfer-row {
    display: grid;
    grid-template-columns: 36px minmax(130px, .8fr) minmax(280px, 1.5fr) auto;
    min-width: 0;
    padding: 11px 0;
}

.fdb-site-home .fdb-home-transfer-clubs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.fdb-site-home .fdb-home-transfer-clubs span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.fdb-site-home .fdb-home-transfer-clubs b {
    margin: 0;
    color: #d69a19;
}

.fdb-home-panel-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px 12px;
}

.fdb-home-panel-actions a,
.fdb-home-panel-heading > a {
    font-size: 11px;
    font-weight: 750;
}

.fdb-home-panel-actions a:first-child {
    color: #5b6d82;
}

.fdb-home-free-agent-row > span:last-child small + small {
    color: #8290a0;
}

.fdb-home-explore-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.fdb-home-explore-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    color: var(--fdb-text-strong) !important;
    background: #fbfcfe;
    text-decoration: none !important;
}

.fdb-home-explore-card:hover {
    border-color: #cbd6e3;
    background: #f7f9fc;
}

.fdb-home-explore-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
}

.fdb-home-explore-icon .fdb-public-icon {
    width: 17px;
    height: 17px;
}

.fdb-home-explore-card > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-explore-card strong {
    color: var(--fdb-text-strong);
    font-size: 12px;
}

.fdb-home-explore-card small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 10px;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .fdb-site-home .fdb-home-hero {
        grid-template-columns: minmax(0, 1fr) 170px;
        padding: 34px;
    }

    .fdb-home-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .fdb-site-home .fdb-home-hero,
    .fdb-home-dashboard {
        grid-template-columns: 1fr;
    }

    .fdb-home-hero-mark {
        display: none;
    }

    .fdb-home-dashboard .fdb-home-panel-wide {
        grid-column: auto;
    }

    .fdb-site-home .fdb-home-transfer-row {
        grid-template-columns: 36px minmax(0, 1fr) auto;
    }

    .fdb-site-home .fdb-home-transfer-clubs {
        grid-column: 2 / -1;
    }
}

@media (max-width: 620px) {
    .fdb-home-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-home-competition-links,
    .fdb-home-explore-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .fdb-site-home .fdb-home-hero {
        padding: 25px 20px;
    }

    .fdb-site-home .fdb-home-hero h1 {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .fdb-home-stat-card {
        padding: 13px;
    }

    .fdb-home-stat-card strong {
        font-size: 18px;
    }

    .fdb-home-panel-heading {
        align-items: flex-start;
    }
}


/* -------------------------------------------------------------------------
 * v0.30.2 - ultra-wide homepage + public Light/Dark theme
 * ---------------------------------------------------------------------- */

/* The dashboard is intentionally much wider than profiles/directories. */
.fdb-public-home-page .fdb-public-wrap-home,
.fdb-public-home-page .fdb-site-seasonbar-inner,
.fdb-public-home-page .fdb-site-header-inner,
.fdb-public-home-page .fdb-site-footer-inner {
    width: min(1840px, calc(100% - 48px));
}

.fdb-public-home-page .fdb-public-wrap-home {
    margin-top: 20px;
}

@media (min-width: 1500px) {
    .fdb-public-home-page .fdb-site-home .fdb-home-hero {
        grid-template-columns: minmax(0, 1fr) 280px;
        padding: 48px 54px;
    }

    .fdb-public-home-page .fdb-site-home .fdb-home-hero h1 {
        max-width: 980px;
    }

    .fdb-public-home-page .fdb-site-home .fdb-home-hero p,
    .fdb-public-home-page .fdb-site-home .fdb-home-search {
        max-width: 980px;
    }

    .fdb-public-home-page .fdb-home-stat-grid {
        gap: 16px;
    }

    .fdb-public-home-page .fdb-home-dashboard {
        gap: 22px;
    }

    .fdb-public-home-page .fdb-home-dashboard .fdb-home-panel {
        padding: 26px;
    }
}

@media (max-width: 800px) {
    .fdb-public-home-page .fdb-public-wrap-home,
    .fdb-public-home-page .fdb-site-seasonbar-inner,
    .fdb-public-home-page .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-footer-inner {
        width: min(100% - 24px, 1840px);
    }
}

/* Compact public theme switch in the top season bar. */
.fdb-theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    margin: 0 0 0 auto;
    padding: 3px 9px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #cbd5df;
    background: rgba(255,255,255,.055);
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.fdb-theme-toggle:hover {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.09);
}

.fdb-theme-toggle-icon {
    font-size: 14px;
    line-height: 1;
}

/* Light is the default. Dark is visitor-selectable and remembered locally. */
html[data-fdb-theme="dark"] body.fdb-public-profile-page {
    --fdb-bg: #08111c;
    --fdb-card: #0f1b28;
    --fdb-text: #d2dce7;
    --fdb-text-strong: #f4f7fb;
    --fdb-muted: #93a3b5;
    --fdb-border: #293b4d;
    --fdb-border-soft: #1f3040;
    --fdb-accent: #65aaff;
    --fdb-accent-soft: #10263e;
    --fdb-success: #45c96b;
    --fdb-danger: #ff6874;
    --fdb-shadow: 0 10px 26px rgba(0,0,0,.22);
    color-scheme: dark;
    color: var(--fdb-text);
    background: var(--fdb-bg);
}

html[data-fdb-theme="dark"] body.fdb-public-profile-page .site,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .site-content,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .content-area,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .site-main {
    background-color: var(--fdb-bg);
}

html[data-fdb-theme="dark"] .fdb-public-detail,
html[data-fdb-theme="dark"] .fdb-public-logo-placeholder,
html[data-fdb-theme="dark"] .fdb-public-photo-placeholder,
html[data-fdb-theme="dark"] .fdb-public-stadium-photo,
html[data-fdb-theme="dark"] .fdb-public-map-wrap,
html[data-fdb-theme="dark"] .fdb-public-player-photo-box,
html[data-fdb-theme="dark"] .fdb-global-search-group,
html[data-fdb-theme="dark"] .fdb-competition-card,
html[data-fdb-theme="dark"] .fdb-public-competition-logo-box,
html[data-fdb-theme="dark"] .fdb-public-staff-no-assignment,
html[data-fdb-theme="dark"] .fdb-directory-hero-icon-transfers {
    background: #132231;
}

html[data-fdb-theme="dark"] .fdb-public-stat-icon,
html[data-fdb-theme="dark"] .fdb-home-stat-icon,
html[data-fdb-theme="dark"] .fdb-home-heading-icon,
html[data-fdb-theme="dark"] .fdb-home-update-icon,
html[data-fdb-theme="dark"] .fdb-home-explore-icon,
html[data-fdb-theme="dark"] .fdb-global-search-symbol,
html[data-fdb-theme="dark"] .fdb-directory-person-placeholder {
    color: #a9b9c9;
    background: #192a3a;
}

html[data-fdb-theme="dark"] .fdb-public-button,
html[data-fdb-theme="dark"] .fdb-public-list-row,
html[data-fdb-theme="dark"] .fdb-public-usage-row,
html[data-fdb-theme="dark"] .fdb-public-table,
html[data-fdb-theme="dark"] .fdb-free-agent-filter input,
html[data-fdb-theme="dark"] .fdb-free-agent-filter select,
html[data-fdb-theme="dark"] .fdb-free-agents-pagination a.page-numbers,
html[data-fdb-theme="dark"] .fdb-free-agents-pagination span.page-numbers,
html[data-fdb-theme="dark"] .fdb-public-profile-page .fdb-date-control,
html[data-fdb-theme="dark"] .fdb-public-transfer-column,
html[data-fdb-theme="dark"] .fdb-directory-filters input,
html[data-fdb-theme="dark"] .fdb-directory-filters select,
html[data-fdb-theme="dark"] .fdb-directory-table,
html[data-fdb-theme="dark"] .fdb-directory-pagination a.page-numbers,
html[data-fdb-theme="dark"] .fdb-directory-pagination span.page-numbers,
html[data-fdb-theme="dark"] .fdb-public-competition-season-select select,
html[data-fdb-theme="dark"] .fdb-squad-position-group,
html[data-fdb-theme="dark"] .fdb-squad-generic-list,
html[data-fdb-theme="dark"] .fdb-squad-season-picker select,
html[data-fdb-theme="dark"] .fdb-loan-card,
html[data-fdb-theme="dark"] .fdb-loan-strip-button,
html[data-fdb-theme="dark"] .fdb-hub-stat-grid > div,
html[data-fdb-theme="dark"] .fdb-voivodeship-choice,
html[data-fdb-theme="dark"] .fdb-map-filter-form select,
html[data-fdb-theme="dark"] .fdb-map-filter-form input,
html[data-fdb-theme="dark"] .fdb-hub-season-select select,
html[data-fdb-theme="dark"] .fdb-location-team-card,
html[data-fdb-theme="dark"] .fdb-location-stadium-card,
html[data-fdb-theme="dark"] .fdb-location-player-card,
html[data-fdb-theme="dark"] .fdb-current-staff-person {
    color: var(--fdb-text);
    background: var(--fdb-card);
}

html[data-fdb-theme="dark"] .fdb-public-table th,
html[data-fdb-theme="dark"] .fdb-directory-table th,
html[data-fdb-theme="dark"] .fdb-public-transfer-column-heading,
html[data-fdb-theme="dark"] .fdb-public-transfer-summary span,
html[data-fdb-theme="dark"] .fdb-public-profile-page .fdb-date-picker-button {
    color: #aebccc;
    background: #152535;
}

html[data-fdb-theme="dark"] .fdb-public-list-row:hover,
html[data-fdb-theme="dark"] .fdb-public-usage-row:hover,
html[data-fdb-theme="dark"] .fdb-public-table tbody tr:hover td,
html[data-fdb-theme="dark"] .fdb-directory-table tbody tr:hover td,
html[data-fdb-theme="dark"] .fdb-competition-card:hover {
    background: #172a3b;
}

html[data-fdb-theme="dark"] .fdb-directory-hero-icon {
    border-color: #58313a;
    color: #ff6571;
    background: #24171d;
}

/* Homepage dark version follows the earlier full-dashboard mockup direction. */
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero {
    border-color: #26394a;
    border-top-color: #ef3340;
    color: var(--fdb-text);
    background:
        radial-gradient(circle at 82% 25%, rgba(239,51,64,.12), transparent 30%),
        linear-gradient(135deg, #0b1723 0%, #102333 66%, #0b1621 100%);
    box-shadow: 0 14px 34px rgba(0,0,0,.24);
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero h1 {
    color: #f6f8fb;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero p {
    color: #aebbc9;
}

/* Keep the large dashboard search deliberately light for contrast/readability. */
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search input[type="search"] {
    color: #17243a;
    background: #fff;
}

html[data-fdb-theme="dark"] .fdb-home-search-links a {
    color: #aebdcc !important;
}

html[data-fdb-theme="dark"] .fdb-home-hero-mark {
    border-color: #2b3f51;
    background: rgba(12,26,39,.86);
}

html[data-fdb-theme="dark"] .fdb-home-hero-mark > span {
    color: #ff6571;
    background: #251b22;
}

html[data-fdb-theme="dark"] .fdb-home-hero-mark strong {
    color: #f4f7fb;
}

html[data-fdb-theme="dark"] .fdb-home-stat-card {
    border-color: var(--fdb-border);
    color: var(--fdb-text-strong) !important;
    background: #0f1b28;
    box-shadow: 0 5px 18px rgba(0,0,0,.18);
}

html[data-fdb-theme="dark"] .fdb-home-stat-card:hover {
    border-color: #40556a;
    box-shadow: 0 8px 24px rgba(0,0,0,.28);
}

html[data-fdb-theme="dark"] .fdb-home-competition-links a,
html[data-fdb-theme="dark"] .fdb-home-explore-card {
    border-color: var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    background: #132231;
}

html[data-fdb-theme="dark"] .fdb-home-competition-links a:hover,
html[data-fdb-theme="dark"] .fdb-home-explore-card:hover {
    border-color: #3d5267;
    background: #172a3b;
}

html[data-fdb-theme="dark"] .fdb-home-heading-with-icon .fdb-home-heading-icon {
    color: #e6b247;
    background: #2a2417;
}

html[data-fdb-theme="dark"] .fdb-public-transfer-direction.is-out {
    background: #2a171b;
}

/* Keep Łączy Nas Piłka's favicon tile white; its artwork expects that base. */
html[data-fdb-theme="dark"] .fdb-brand-lnp {
    background: #fff;
}

/* -------------------------------------------------------------------------
 * v0.30.3 - homepage dashboard refinement
 * ---------------------------------------------------------------------- */

/* Theme switch now lives beside the compact header search. */
.fdb-site-header-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.fdb-site-header-tools .fdb-site-nav-search {
    flex: 1 1 230px;
    min-width: 180px;
}

@media (min-width: 1421px) {
    .fdb-site-header-inner {
        grid-template-columns: auto minmax(0, 1fr) minmax(330px, 390px);
        gap: 18px;
    }
}

/* Light [switch] Dark control. */
.fdb-theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 36px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 9px;
    color: #aebac8;
    background: rgba(255,255,255,.055);
    font: inherit;
    cursor: pointer;
}

.fdb-theme-toggle:hover {
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.085);
}

.fdb-theme-toggle-label {
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transition: color .16s ease;
}

.fdb-theme-toggle-light {
    color: #fff;
}

.fdb-theme-toggle-dark {
    color: #718196;
}

.fdb-theme-toggle-track {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: #334456;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.25);
}

.fdb-theme-toggle-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.35);
    transition: transform .18s ease, background .18s ease;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle-light {
    color: #718196;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle-dark {
    color: #fff;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle-track {
    border-color: rgba(239,51,64,.45);
    background: #7c222c;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle-knob {
    transform: translateX(16px);
    background: #fff;
}

@media (max-width: 1420px) and (min-width: 801px) {
    .fdb-site-header-inner {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 14px 22px;
        padding: 14px 0;
    }

    .fdb-site-header-tools {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 800px) {
    .fdb-site-header-tools {
        width: 100%;
    }

    .fdb-theme-toggle {
        flex: 0 0 auto;
    }
}

/* Hero now mirrors the older wide dashboard composition: search left,
   live database statistics right. */
.fdb-site-home .fdb-home-hero {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 345px);
    gap: 28px;
    align-items: stretch;
    padding: 34px 38px;
}

.fdb-site-home .fdb-home-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.fdb-site-home .fdb-home-hero h1 {
    max-width: 980px;
    font-size: clamp(2.15rem, 4vw, 3.55rem);
}

.fdb-site-home .fdb-home-hero p {
    max-width: 920px;
    margin-top: 12px;
}

/* Large global search with an entity-type dropdown. */
.fdb-site-home .fdb-home-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 112px;
    width: 100%;
    max-width: none;
    margin-top: 23px;
    border: 1px solid #cfd8e5;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,35,65,.07);
}

.fdb-site-home .fdb-home-search input[type="search"],
.fdb-site-home .fdb-home-search select {
    width: 100%;
    height: 56px;
    min-height: 56px;
    margin: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    color: #17243a;
    background: #fff;
    box-shadow: none;
    font-size: 13px;
}

.fdb-site-home .fdb-home-search input[type="search"] {
    padding: 0 18px;
}

.fdb-site-home .fdb-home-search select {
    padding: 0 34px 0 14px;
    border-left: 1px solid #dde4ed;
    cursor: pointer;
}

.fdb-site-home .fdb-home-search button {
    min-width: 0;
    height: 56px;
    padding: 0 18px;
    border-left: 1px solid rgba(255,255,255,.12);
    background: var(--fdb-home-navy);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* Right-side database-statistics window. */
.fdb-home-stats-panel {
    position: relative;
    z-index: 1;
    align-self: stretch;
    min-width: 0;
    border: 1px solid #d8e1eb;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,.92);
}

.fdb-home-stats-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 0 14px;
    border-bottom: 1px solid #e2e8f0;
    color: var(--fdb-text-strong);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.fdb-home-stats-heading small {
    padding: 3px 7px;
    border-radius: 999px;
    color: #26743b;
    background: #eaf7ee;
    font-size: 9px;
    letter-spacing: .05em;
}

.fdb-home-stats-list {
    display: grid;
}

.fdb-home-stats-list a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 7px 13px;
    border-bottom: 1px solid #edf1f5;
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-stats-list a:last-child {
    border-bottom: 0;
}

.fdb-home-stats-list a:hover {
    background: #f7f9fc;
}

.fdb-home-stats-icon {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 7px;
    color: #c51f2c;
    background: #fff1f2;
}

.fdb-home-stats-icon .fdb-public-icon {
    width: 15px;
    height: 15px;
}

.fdb-home-stats-list a > span:nth-child(2) {
    min-width: 0;
    font-size: 11px;
    font-weight: 700;
}

.fdb-home-stats-list strong {
    color: var(--fdb-text-strong);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

/* The old standalone statistic cards are intentionally not used on v0.30.3. */
.fdb-site-home > .fdb-home-stat-grid {
    display: none;
}

/* Four dashboard windows on one line on wide screens. */
.fdb-home-dashboard-four {
    grid-template-columns: minmax(260px, 1fr) minmax(390px, 1.38fr) minmax(280px, 1fr) minmax(280px, 1fr);
    gap: 16px;
    align-items: stretch;
}

.fdb-home-dashboard-four .fdb-home-panel {
    display: flex;
    flex-direction: column;
    min-height: 430px;
    padding: 18px;
}

.fdb-home-compact-heading {
    min-height: 44px;
    margin-bottom: 9px;
}

.fdb-home-compact-heading h2 {
    font-size: 17px;
}

/* Small Polish flag accent in Current Season. */
.fdb-polish-flag {
    display: block;
    flex: 0 0 auto;
    width: 30px;
    height: 19px;
    border: 1px solid #d8dee7;
    border-radius: 2px;
    background: linear-gradient(to bottom, #fff 0 50%, #dc143c 50% 100%);
    box-shadow: 0 1px 2px rgba(16,35,59,.08);
}

/* Current-season division rows with logo support. */
.fdb-home-current-divisions {
    display: grid;
    margin-top: 2px;
}

.fdb-home-current-divisions > a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-current-divisions > a:last-child {
    border-bottom: 0;
}

.fdb-home-current-divisions > a:hover strong {
    color: var(--fdb-accent);
}

.fdb-home-division-logo {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 50%;
    overflow: hidden;
    color: #68798d;
    background: #f7f9fc;
}

.fdb-home-division-logo .fdb-directory-club-logo,
.fdb-home-division-logo img {
    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;
    object-fit: contain;
}

.fdb-home-division-logo .fdb-public-icon {
    width: 17px;
    height: 17px;
}

.fdb-home-current-divisions > a > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-current-divisions strong {
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-current-divisions small {
    margin-top: 1px;
    color: var(--fdb-muted);
    font-size: 9px;
}

.fdb-home-panel-footer-link {
    display: block;
    margin-top: auto;
    padding-top: 11px;
    border-top: 1px solid var(--fdb-border-soft);
    font-size: 10px;
    font-weight: 800;
    text-align: center;
}

/* Compact transfer list shaped like the original dashboard mockup. */
.fdb-home-transfer-list-compact {
    display: grid;
}

.fdb-home-transfer-mini-row {
    display: grid;
    grid-template-columns: 32px minmax(88px, .7fr) minmax(0, 1.55fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-transfer-mini-row:last-child {
    border-bottom: 0;
}

.fdb-home-transfer-mini-row > .fdb-directory-person-photo,
.fdb-home-transfer-mini-row > .fdb-directory-person-placeholder {
    width: 30px;
    height: 30px;
    min-width: 30px;
}

.fdb-home-transfer-mini-player {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-transfer-mini-player strong {
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-transfer-mini-player small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 8px;
}

.fdb-home-transfer-mini-clubs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.fdb-home-transfer-mini-club {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.fdb-home-transfer-club-logo {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
}

.fdb-home-transfer-club-logo img,
.fdb-home-transfer-club-logo .fdb-directory-club-logo {
    width: 21px;
    height: 21px;
    max-width: 21px;
    max-height: 21px;
    object-fit: contain;
}

.fdb-home-transfer-mini-club b {
    min-width: 0;
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 9px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-transfer-mini-arrow {
    color: #35a752;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
}

/* Keep Free Agents and Latest Additions equally compact. */
.fdb-home-dashboard-four .fdb-home-list-row {
    padding: 8px 0;
}

.fdb-home-dashboard-four .fdb-home-list-row > .fdb-directory-person-photo,
.fdb-home-dashboard-four .fdb-home-list-row > .fdb-directory-person-placeholder {
    width: 32px;
    height: 32px;
    min-width: 32px;
}

.fdb-home-dashboard-four .fdb-home-list-row strong,
.fdb-home-dashboard-four .fdb-home-update-row strong {
    font-size: 11px;
}

.fdb-home-dashboard-four .fdb-home-list-row small,
.fdb-home-dashboard-four .fdb-home-update-row small {
    font-size: 9px;
}

/* Dark theme equivalents for the new dashboard components. */
html[data-fdb-theme="dark"] .fdb-home-stats-panel {
    border-color: #293b4d;
    background: rgba(13,27,40,.92);
}

html[data-fdb-theme="dark"] .fdb-home-stats-heading {
    border-color: #26394a;
    color: #f4f7fb;
}

html[data-fdb-theme="dark"] .fdb-home-stats-heading small {
    color: #75d991;
    background: #12311d;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a {
    border-color: #1f3040;
    color: #eef3f8 !important;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a:hover {
    background: #172a3b;
}

html[data-fdb-theme="dark"] .fdb-home-stats-icon {
    color: #ff6571;
    background: #25191f;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list strong {
    color: #f4f7fb;
}

html[data-fdb-theme="dark"] .fdb-home-division-logo {
    border-color: #293b4d;
    color: #aebdcc;
    background: #132231;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search select {
    color: #17243a;
    background: #fff;
    border-left-color: #dde4ed;
}

/* Break down the four-column dashboard only when the viewport genuinely
   becomes too narrow for useful football data. */
@media (max-width: 1540px) {
    .fdb-home-dashboard-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-home-dashboard-four .fdb-home-panel {
        min-height: 0;
    }
}

@media (max-width: 980px) {
    .fdb-site-home .fdb-home-hero {
        grid-template-columns: 1fr;
    }

    .fdb-home-stats-panel {
        width: 100%;
    }

    .fdb-home-stats-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-home-stats-list a:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

@media (max-width: 800px) {
    .fdb-home-dashboard-four {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .fdb-site-home .fdb-home-search {
        grid-template-columns: minmax(0, 1fr) 110px;
        overflow: hidden;
    }

    .fdb-site-home .fdb-home-search input[type="search"] {
        grid-column: 1 / -1;
        border-bottom: 1px solid #dde4ed;
    }

    .fdb-site-home .fdb-home-search select {
        border-left: 0;
    }

    .fdb-site-home .fdb-home-search button {
        width: 100%;
    }

    .fdb-home-stats-list {
        grid-template-columns: 1fr;
    }

    .fdb-home-stats-list a,
    .fdb-home-stats-list a:nth-last-child(-n+2) {
        border-bottom: 1px solid #edf1f5;
    }

    .fdb-home-stats-list a:last-child {
        border-bottom: 0;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-last-child(-n+2) {
        border-bottom-color: #1f3040;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a:last-child {
        border-bottom: 0;
    }
}

/* -------------------------------------------------------------------------
 * v0.30.4 - dashboard density / data placement refinement
 * ---------------------------------------------------------------------- */

/* Give the dashboard a little more horizontal breathing room on large
   displays while preserving comfortable outer gutters. */
.fdb-public-home-page .fdb-public-wrap-home,
.fdb-public-home-page .fdb-site-seasonbar-inner,
.fdb-public-home-page .fdb-site-header-inner,
.fdb-public-home-page .fdb-site-footer-inner {
    width: min(2000px, calc(100% - 32px));
}

.fdb-home-dashboard-four {
    grid-template-columns: minmax(300px, 1.16fr) minmax(440px, 1.55fr) minmax(310px, 1.1fr) minmax(310px, 1.1fr);
    gap: 12px;
}

.fdb-home-dashboard-four .fdb-home-panel {
    min-height: 490px;
    padding: 15px 14px;
}

.fdb-home-compact-heading {
    min-height: 46px;
    margin-bottom: 8px;
}

.fdb-home-compact-heading h2 {
    font-size: 18px;
}

.fdb-home-panel-heading a,
.fdb-home-panel-actions a,
.fdb-home-panel-footer-link {
    font-size: 11px;
}

/* Seven current-season competitions fit comfortably, each carrying the
   Polish flag as a visual country cue. */
.fdb-home-current-divisions > a {
    grid-template-columns: 34px minmax(0, 1fr) 23px;
    gap: 8px;
    padding: 8px 1px;
}

.fdb-polish-flag-mini {
    width: 22px;
    height: 14px;
    justify-self: end;
    border-radius: 2px;
}

.fdb-home-current-divisions strong {
    font-size: 12px;
}

.fdb-home-current-divisions small {
    font-size: 10px;
}

/* Latest Transfers mirrors the approved mockup:
   photo | player + former club | green arrow | destination | date + type. */
.fdb-home-transfer-mini-row {
    grid-template-columns: 32px minmax(104px, .86fr) 18px minmax(116px, 1fr) minmax(78px, .62fr);
    gap: 7px;
    padding: 9px 1px;
}

.fdb-home-transfer-mini-player strong {
    font-size: 11.5px;
}

.fdb-home-transfer-mini-player small {
    overflow: hidden;
    margin-top: 2px;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-transfer-mini-arrow {
    font-size: 16px;
}

.fdb-home-transfer-destination {
    gap: 6px;
}

.fdb-home-transfer-destination b {
    font-size: 10.5px;
}

.fdb-home-transfer-mini-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: right;
}

.fdb-home-transfer-mini-meta strong {
    color: var(--fdb-text-strong);
    font-size: 10.5px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.fdb-home-transfer-mini-meta small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 9.5px;
    line-height: 1.15;
}

/* Free Agents: identity/history stays left; nationality is a dedicated
   right-aligned field, like the compact mockup rows. */
.fdb-home-dashboard-four .fdb-home-free-agent-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) minmax(70px, auto);
    gap: 9px;
    padding: 9px 1px;
}

.fdb-home-free-agent-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-free-agent-nationality {
    display: block !important;
    align-self: center;
    max-width: 105px;
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    text-align: right;
}

/* Latest Additions can show the current club for newly created Players/Staff. */
.fdb-home-update-club {
    margin-top: 2px;
    color: var(--fdb-text) !important;
    font-weight: 650;
}

/* A gentle typography lift across all four dashboard panels. */
.fdb-home-dashboard-four .fdb-home-list-row strong,
.fdb-home-dashboard-four .fdb-home-update-row strong {
    font-size: 12px;
}

.fdb-home-dashboard-four .fdb-home-list-row small,
.fdb-home-dashboard-four .fdb-home-update-row small {
    font-size: 10px;
}

.fdb-home-dashboard-four .fdb-home-update-row {
    padding: 9px 1px;
}

@media (max-width: 1660px) {
    .fdb-home-dashboard-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-home-dashboard-four .fdb-home-panel {
        min-height: 0;
    }
}

@media (max-width: 800px) {
    .fdb-public-home-page .fdb-public-wrap-home,
    .fdb-public-home-page .fdb-site-seasonbar-inner,
    .fdb-public-home-page .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-footer-inner {
        width: min(100% - 24px, 2000px);
    }

    .fdb-home-dashboard-four {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .fdb-home-transfer-mini-row {
        grid-template-columns: 30px minmax(90px, 1fr) 16px minmax(90px, 1fr);
    }

    .fdb-home-transfer-mini-meta {
        grid-column: 2 / -1;
        flex-direction: row;
        justify-content: flex-end;
        gap: 7px;
    }

    .fdb-home-free-agent-nationality {
        max-width: 82px;
        font-size: 9px;
    }
}

/* -------------------------------------------------------------------------
 * v0.30.5 - current division metadata + latest-addition club logos
 * ---------------------------------------------------------------------- */

/* Keep long division names in the flexible middle column. Level metadata is
   deliberately grouped with the country flag on the right. */
.fdb-home-current-divisions > a {
    grid-template-columns: 34px minmax(0, 1fr) auto;
}

.fdb-home-division-name {
    min-width: 0;
}

.fdb-home-division-name strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-division-meta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: max-content;
}

.fdb-home-division-meta small {
    color: var(--fdb-muted);
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

/* Latest Additions: retain the club name, but add the club badge for a faster
   visual association when the current assignment points to a database club. */
.fdb-home-update-club {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    margin-top: 3px;
}

.fdb-home-update-club small {
    min-width: 0;
    overflow: hidden;
    color: var(--fdb-text) !important;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-update-club-logo {
    display: grid;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    place-items: center;
}

.fdb-home-update-club-logo img,
.fdb-home-update-club-logo .fdb-directory-club-logo {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
    object-fit: contain;
}

@media (max-width: 480px) {
    .fdb-home-division-meta {
        gap: 5px;
    }

    .fdb-home-division-meta small {
        font-size: 9px;
    }

    .fdb-polish-flag-mini {
        width: 19px;
        height: 12px;
    }
}

/* -------------------------------------------------------------------------
 * v0.31.0 - Search & Discovery
 * ---------------------------------------------------------------------- */
[data-fdb-global-search-form] {
    position: relative;
}

.fdb-site-nav-search {
    overflow: visible;
}

.fdb-site-nav-search input[type="search"] {
    flex: 1 1 auto;
}

.fdb-site-nav-search select {
    flex: 0 0 112px;
    min-width: 0;
    height: 38px;
    margin: 0;
    padding: 0 26px 0 9px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.09);
    border-radius: 0;
    outline: 0;
    color: #dbe3ec;
    background-color: #101d2a;
    font-size: 11px;
    font-weight: 650;
    box-shadow: none;
    cursor: pointer;
}

.fdb-site-nav-search button {
    border-radius: 0 7px 7px 0;
}

.fdb-search-autocomplete {
    position: absolute;
    z-index: 10020;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    min-width: 330px;
    max-height: min(520px, 70vh);
    overflow-y: auto;
    border: 1px solid #d9e1eb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15,35,65,.18);
    text-align: left;
}

.fdb-search-autocomplete[hidden] {
    display: none !important;
}

.fdb-search-suggestion {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 8px 11px;
    border-bottom: 1px solid #edf1f5;
    color: #17243a !important;
    text-decoration: none !important;
}

.fdb-search-suggestion:hover,
.fdb-search-suggestion.is-active {
    background: #f4f7fb;
}

.fdb-search-suggestion-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border: 1px solid #dce4ed;
    border-radius: 50%;
    color: #4d5e74;
    background: #f6f8fb;
    font-size: 13px;
    font-weight: 800;
}

.fdb-search-suggestion-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fdb-search-suggestion-copy,
.fdb-search-suggestion-top {
    min-width: 0;
}

.fdb-search-suggestion-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.fdb-search-suggestion-top {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.fdb-search-suggestion-top strong {
    overflow: hidden;
    color: #14233a;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-search-suggestion-top em {
    flex: 0 0 auto;
    padding: 2px 6px;
    border-radius: 999px;
    color: #6c7a8d;
    background: #eef2f7;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.fdb-search-suggestion-copy small {
    overflow: hidden;
    color: #68778b;
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-search-autocomplete-empty {
    padding: 13px 14px;
    color: #68778b;
    font-size: 12px;
}

.fdb-search-autocomplete-all {
    display: block;
    padding: 10px 13px;
    color: #b9232e !important;
    background: #fafbfd;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none !important;
}

.fdb-search-autocomplete-all:hover {
    background: #f3f6fa;
}

.fdb-site-home .fdb-search-autocomplete {
    top: calc(100% + 9px);
    min-width: 0;
}

.fdb-site-home .fdb-search-suggestion {
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: 66px;
    padding: 9px 14px;
}

.fdb-site-home .fdb-search-suggestion-visual {
    width: 42px;
    height: 42px;
}

.fdb-site-home .fdb-search-suggestion-top strong {
    font-size: 14px;
}

.fdb-site-home .fdb-search-suggestion-copy small {
    font-size: 12px;
}

html[data-fdb-theme="dark"] .fdb-search-autocomplete {
    border-color: #26374a;
    background: #0e1b29;
    box-shadow: 0 20px 48px rgba(0,0,0,.36);
}

html[data-fdb-theme="dark"] .fdb-search-suggestion {
    border-bottom-color: #203144;
    color: #eef4fb !important;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion:hover,
html[data-fdb-theme="dark"] .fdb-search-suggestion.is-active {
    background: #152639;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion-visual {
    border-color: #31445a;
    color: #d7e1ec;
    background: #142438;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion-top strong {
    color: #f4f7fb;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion-top em {
    color: #b8c5d4;
    background: #203247;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion-copy small,
html[data-fdb-theme="dark"] .fdb-search-autocomplete-empty {
    color: #9daaba;
}

html[data-fdb-theme="dark"] .fdb-search-autocomplete-all {
    color: #ff6670 !important;
    background: #101f30;
}

html[data-fdb-theme="dark"] .fdb-search-autocomplete-all:hover {
    background: #16283b;
}

@media (max-width: 1640px) {
    .fdb-site-nav-search select {
        flex-basis: 104px;
        font-size: 10px;
    }

    .fdb-site-header-tools .fdb-site-nav-search {
        flex-basis: 270px;
    }
}

@media (max-width: 760px) {
    .fdb-search-autocomplete {
        min-width: min(330px, calc(100vw - 28px));
    }

    .fdb-site-nav-search select {
        flex-basis: 105px;
    }
}

/* Autocomplete must be allowed to extend below the bordered search controls. */
.fdb-site-home .fdb-home-search[data-fdb-global-search-form] {
    overflow: visible;
}

.fdb-site-home .fdb-home-search[data-fdb-global-search-form] button {
    border-radius: 0 9px 9px 0;
}

@media (max-width: 620px) {
    .fdb-site-home .fdb-home-search[data-fdb-global-search-form] input[type="search"] {
        border-radius: 9px 9px 0 0;
    }

    .fdb-site-home .fdb-home-search[data-fdb-global-search-form] select {
        border-radius: 0 0 0 9px;
    }

    .fdb-site-home .fdb-home-search[data-fdb-global-search-form] button {
        border-radius: 0 0 9px 0;
    }
}


/* -------------------------------------------------------------------------
 * v0.31.1 - autocomplete overlay / compact search polish
 * ---------------------------------------------------------------------- */
/* The homepage suggestion list must float over the dashboard below instead of
   being clipped by the hero card. The original decorative hero ring depended
   on clipping, so hide only that decoration when allowing the live-search
   popup to escape the card. */
.fdb-site-home .fdb-home-hero {
    z-index: 40;
    overflow: visible;
}

.fdb-site-home .fdb-home-hero::after {
    display: none;
}

.fdb-site-home .fdb-home-search[data-fdb-global-search-form] {
    z-index: 50;
}

.fdb-site-home .fdb-search-autocomplete {
    z-index: 10050;
}

/* Keep the dashboard below the open autocomplete layer. */
.fdb-site-home .fdb-home-dashboard-four {
    position: relative;
    z-index: 1;
}


/* v0.33.0 - foreign clubs in public Moves */
.fdb-public-move-club.is-foreign {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.fdb-public-move-club.is-foreign .fdb-public-flag-emoji {
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
}
.fdb-home-transfer-country-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
}

/* -------------------------------------------------------------------------
 * v0.34.0 - Competition & Season Hub expansion
 * ---------------------------------------------------------------------- */
.fdb-public-competition-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.fdb-competition-hub-button {
    white-space: nowrap;
}

.fdb-competition-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.fdb-competition-snapshot-grid > .fdb-public-card {
    min-height: 92px;
    margin: 0;
    padding: 16px 18px;
}

.fdb-competition-snapshot-grid > .fdb-public-card > span {
    display: block;
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.fdb-competition-snapshot-grid > .fdb-public-card > strong {
    display: block;
    margin-top: 7px;
    color: var(--fdb-text-strong);
    font-size: 24px;
    line-height: 1.1;
}

.fdb-competition-snapshot-leader > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    margin-top: 7px;
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-competition-snapshot-leader > a strong {
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-competition-snapshot-leader .fdb-directory-club-logo {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.fdb-competition-move-list {
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    overflow: hidden;
}

.fdb-competition-move-row {
    display: grid;
    grid-template-columns: 38px minmax(130px, 1.15fr) minmax(125px, 1fr) 26px minmax(125px, 1fr) 92px;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 9px 12px;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-competition-move-row:last-child {
    border-bottom: 0;
}

.fdb-competition-move-row:hover {
    background: var(--fdb-accent-soft);
}

.fdb-competition-move-row .fdb-directory-person-photo,
.fdb-competition-move-row .fdb-directory-person-placeholder {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.fdb-competition-move-player,
.fdb-competition-move-player strong,
.fdb-competition-move-player small {
    min-width: 0;
}

.fdb-competition-move-player strong,
.fdb-competition-move-player small {
    display: block;
}

.fdb-competition-move-player strong {
    overflow: hidden;
    color: var(--fdb-text-strong);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-competition-move-player small,
.fdb-competition-move-date {
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-competition-move-side {
    min-width: 0;
    font-size: 11px;
}

.fdb-competition-move-side .fdb-public-move-club {
    max-width: 100%;
}

.fdb-competition-move-side .fdb-public-move-club strong,
.fdb-competition-move-side .fdb-public-move-club span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-competition-move-arrow {
    color: var(--fdb-success);
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.fdb-competition-move-date {
    text-align: right;
    white-space: nowrap;
}

.fdb-competition-directory-heading {
    align-items: center;
}

.fdb-competition-directory-heading > div:first-child {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.fdb-competition-card-copy {
    flex: 1 1 auto;
}

.fdb-competition-card-title-row {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    margin: 0 !important;
}

.fdb-competition-card-title-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-competition-card-title-row em {
    flex: 0 0 auto;
    padding: 2px 5px;
    border: 1px solid #b7e0c3;
    border-radius: 999px;
    color: #137333;
    background: #eefaf1;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .04em;
}

.fdb-hub-title-kicker-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 2px;
}

.fdb-hub-title-kicker-row .fdb-public-section-kicker {
    margin-bottom: 0;
}

.fdb-hub-title-kicker-row .fdb-public-current-badge {
    min-height: 22px;
    padding: 3px 7px;
    font-size: 9px;
}

.fdb-hub-title-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.fdb-hub-season-stepper {
    display: flex;
    align-items: center;
    gap: 7px;
}

.fdb-hub-season-stepper .fdb-public-button {
    min-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 11px;
}

.fdb-hub-stat-grid-five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fdb-hub-selected-competition-heading {
    align-items: center;
}

.fdb-hub-selected-competition {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.fdb-hub-selected-competition > .fdb-directory-club-logo {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    object-fit: contain;
}

.fdb-hub-selected-competition > div {
    min-width: 0;
}

.fdb-hub-selected-competition h2 {
    overflow-wrap: normal;
}

@media (max-width: 980px) {
    .fdb-competition-snapshot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-competition-move-row {
        grid-template-columns: 36px minmax(125px, 1fr) minmax(110px, 1fr) 24px minmax(110px, 1fr);
    }

    .fdb-competition-move-date {
        grid-column: 2 / -1;
        text-align: left;
    }

    .fdb-hub-stat-grid-five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .fdb-public-competition-hero-actions,
    .fdb-hub-title-actions,
    .fdb-hub-season-stepper,
    .fdb-competition-directory-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .fdb-hub-season-stepper .fdb-public-button,
    .fdb-hub-season-select,
    .fdb-hub-season-select select {
        width: 100%;
    }

    .fdb-competition-move-row {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        gap: 8px;
    }

    .fdb-competition-move-player {
        grid-column: 2;
    }

    .fdb-competition-move-date {
        grid-column: 3;
        grid-row: 1;
        text-align: right;
    }

    .fdb-competition-move-from {
        grid-column: 2;
    }

    .fdb-competition-move-arrow {
        grid-column: 2;
        justify-self: start;
        margin-left: 4px;
    }

    .fdb-competition-move-to {
        grid-column: 2 / -1;
    }

    .fdb-hub-stat-grid-five {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .fdb-competition-snapshot-grid,
    .fdb-hub-stat-grid-five {
        grid-template-columns: 1fr;
    }
}

html[data-fdb-theme="dark"] .fdb-competition-card-title-row em {
    border-color: #285f3b;
    color: #77d896;
    background: #142a1c;
}

/* v0.35.0 — Public Statistics */
.fdb-statistics-page {
    display: grid;
    gap: 16px;
}

.fdb-statistics-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    padding: 24px 26px;
}

.fdb-statistics-hero > div:first-child {
    max-width: 850px;
}

.fdb-statistics-hero h1 {
    margin: 2px 0 8px;
}

.fdb-statistics-hero p {
    margin: 0;
    color: var(--fdb-muted);
}

.fdb-statistics-season-form {
    flex: 0 0 270px;
}

.fdb-statistics-season-form > label {
    display: block;
    margin-bottom: 6px;
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.fdb-statistics-season-form > div {
    display: flex;
    gap: 7px;
}

.fdb-statistics-season-form select {
    min-width: 0;
    flex: 1 1 auto;
}

.fdb-statistics-overview-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.fdb-statistics-overview-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 10px;
    padding: 14px 16px;
    text-decoration: none !important;
}

.fdb-statistics-overview-card:hover {
    border-color: var(--fdb-accent);
    transform: translateY(-1px);
}

.fdb-statistics-overview-icon {
    grid-row: 1 / 3;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: var(--fdb-accent);
    background: var(--fdb-accent-soft);
}

.fdb-statistics-overview-icon .fdb-public-icon {
    width: 18px;
    height: 18px;
}

.fdb-statistics-overview-card > span:nth-child(2) {
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.fdb-statistics-overview-card > strong {
    color: var(--fdb-text-strong);
    font-size: 19px;
    line-height: 1.1;
}

.fdb-statistics-season-card,
.fdb-statistics-ranking-card {
    padding: 18px;
}

.fdb-statistics-section-heading {
    margin-bottom: 13px;
}

.fdb-statistics-season-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--fdb-border);
    border-radius: 10px;
}

.fdb-statistics-season-grid > div {
    padding: 13px 16px;
    border-right: 1px solid var(--fdb-border);
}

.fdb-statistics-season-grid > div:last-child {
    border-right: 0;
}

.fdb-statistics-season-grid span,
.fdb-statistics-season-grid strong {
    display: block;
}

.fdb-statistics-season-grid span {
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-statistics-season-grid strong {
    margin-top: 3px;
    color: var(--fdb-text-strong);
    font-size: 20px;
}

.fdb-statistics-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fdb-statistics-secondary-grid {
    align-items: start;
}

.fdb-statistics-ranking-card .fdb-public-section-heading {
    align-items: center;
    margin-bottom: 8px;
}

.fdb-statistics-season-label {
    padding: 4px 8px;
    border: 1px solid var(--fdb-border);
    border-radius: 999px;
    color: var(--fdb-muted);
    background: rgba(127,127,127,.035);
    font-size: 9px;
    font-weight: 800;
}

.fdb-statistics-ranking-list {
    border-top: 1px solid var(--fdb-border);
}

.fdb-statistics-rank-row {
    display: grid;
    grid-template-columns: 26px 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 53px;
    padding: 7px 4px;
    border-bottom: 1px solid var(--fdb-border);
    text-decoration: none !important;
}

.fdb-statistics-rank-row:last-child {
    border-bottom: 0;
}

.fdb-statistics-rank-row:hover {
    background: var(--fdb-accent-soft);
}

.fdb-statistics-rank-number {
    color: var(--fdb-muted);
    font-size: 10px;
    font-weight: 800;
    text-align: center;
}

.fdb-statistics-rank-row .fdb-directory-person-photo,
.fdb-statistics-rank-row .fdb-directory-person-placeholder,
.fdb-statistics-rank-small-icon,
.fdb-statistics-rank-small-icon .fdb-directory-club-logo {
    width: 36px;
    height: 36px;
}

.fdb-statistics-rank-row .fdb-directory-person-photo,
.fdb-statistics-rank-row .fdb-directory-person-placeholder {
    border-radius: 50%;
    object-fit: cover;
}

.fdb-statistics-rank-small-icon {
    display: grid;
    place-items: center;
    color: var(--fdb-muted);
}

.fdb-statistics-rank-small-icon .fdb-public-icon {
    width: 20px;
    height: 20px;
}

.fdb-statistics-rank-small-icon .fdb-directory-club-logo {
    object-fit: contain;
}

.fdb-statistics-rank-copy {
    min-width: 0;
}

.fdb-statistics-rank-copy strong,
.fdb-statistics-rank-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-statistics-rank-copy strong {
    color: var(--fdb-text-strong);
    font-size: 12px;
}

.fdb-statistics-rank-copy small {
    margin-top: 1px;
    color: var(--fdb-muted);
    font-size: 9px;
}

.fdb-statistics-rank-value {
    min-width: 64px;
    text-align: right;
}

.fdb-statistics-rank-value strong,
.fdb-statistics-rank-value small {
    display: block;
}

.fdb-statistics-rank-value strong {
    color: var(--fdb-text-strong);
    font-size: 14px;
}

.fdb-statistics-rank-value small {
    color: var(--fdb-muted);
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
}

.fdb-statistics-empty {
    min-height: 85px;
    margin: 0;
    padding: 22px 4px 10px;
}

.fdb-statistics-note {
    margin: 0;
    padding: 0 4px;
    color: var(--fdb-muted);
    font-size: 10px;
    text-align: center;
}

@media (max-width: 1250px) {
    .fdb-statistics-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .fdb-statistics-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .fdb-statistics-season-form {
        flex-basis: auto;
        width: 100%;
    }

    .fdb-statistics-two-column {
        grid-template-columns: 1fr;
    }

    .fdb-statistics-season-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-statistics-season-grid > div {
        border-bottom: 1px solid var(--fdb-border);
    }

    .fdb-statistics-season-grid > div:nth-child(2n) {
        border-right: 0;
    }
}

@media (max-width: 560px) {
    .fdb-statistics-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-statistics-season-grid {
        grid-template-columns: 1fr;
    }

    .fdb-statistics-season-grid > div {
        border-right: 0;
    }

    .fdb-statistics-rank-row {
        grid-template-columns: 22px 34px minmax(0, 1fr) auto;
        gap: 7px;
    }

    .fdb-statistics-rank-row .fdb-directory-person-photo,
    .fdb-statistics-rank-row .fdb-directory-person-placeholder,
    .fdb-statistics-rank-small-icon,
    .fdb-statistics-rank-small-icon .fdb-directory-club-logo {
        width: 34px;
        height: 34px;
    }
}

/* -------------------------------------------------------------------------
 * v0.36.0 - shared public chrome / navigation consistency
 * ---------------------------------------------------------------------- */
/* The site chrome must not inherit the narrower reading width used by
   profiles and directories. Keeping one wide header width across every
   public route prevents the brand/navigation and Map/theme controls from
   colliding as more top-level destinations are added. */
.fdb-site-seasonbar-inner,
.fdb-site-header-inner,
.fdb-site-footer-inner,
.fdb-public-home-page .fdb-site-seasonbar-inner,
.fdb-public-home-page .fdb-site-header-inner,
.fdb-public-home-page .fdb-site-footer-inner {
    width: min(2000px, calc(100% - 32px));
}

/* Single-row desktop header when there is genuinely enough room. */
@media (min-width: 1701px) {
    .fdb-site-header-inner {
        grid-template-columns: auto minmax(0, 1fr) minmax(360px, 410px);
        gap: 18px;
    }

    .fdb-site-nav {
        gap: 2px;
    }

    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* Reflow before the navigation can collide. Brand + tools occupy the first
   row and the complete navigation gets its own centered row underneath. */
@media (max-width: 1700px) and (min-width: 801px) {
    .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-header-inner {
        display: grid;
        grid-template-columns: auto minmax(360px, 1fr);
        grid-template-areas:
            "brand tools"
            "nav nav";
        gap: 9px 20px;
        min-height: 0;
        padding: 10px 0 12px;
    }

    .fdb-site-brand {
        grid-area: brand;
        align-self: center;
    }

    .fdb-site-nav {
        grid-area: nav;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        gap: 2px;
    }

    .fdb-site-header-tools {
        grid-area: tools;
        grid-column: auto;
        justify-self: end;
        width: min(100%, 500px);
    }

    .fdb-site-header-tools .fdb-site-nav-search {
        flex-basis: 290px;
    }

    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* On phones/tablets keep the compact search/theme controls ahead of the
   horizontally scrollable destination list. */
@media (max-width: 800px) {
    .fdb-site-seasonbar-inner,
    .fdb-site-header-inner,
    .fdb-site-footer-inner,
    .fdb-public-home-page .fdb-site-seasonbar-inner,
    .fdb-public-home-page .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-footer-inner {
        width: min(100% - 24px, 2000px);
    }

    .fdb-site-brand {
        order: 1;
    }

    .fdb-site-header-tools {
        order: 2;
    }

    .fdb-site-nav {
        order: 3;
    }
}

/* Active destinations remain visually identical but now also have a slightly
   stronger focus/active separation in dense navigation rows. */
.fdb-site-nav > a[aria-current="page"] {
    position: relative;
    z-index: 1;
}


/* -------------------------------------------------------------------------
 * v0.36.1 - Season Hub map / regional browser refinement
 * ---------------------------------------------------------------------- */
/* Show All Divisions is a browser, not a geographic diagram. A predictable
   alphabetical 4 x 4 grid uses the available space better and keeps all 16
   voivodeships visually balanced. The PHP source list is already maintained
   in Polish alphabetical order. */
@media (min-width: 861px) {
    .fdb-voivodeship-browser {
        grid-template-columns: repeat(4, minmax(155px, 1fr));
        grid-template-rows: none;
        gap: 12px;
        align-items: stretch;
    }

    .fdb-voivodeship-browser .fdb-voivodeship-choice {
        grid-column: auto !important;
        grid-row: auto !important;
        min-width: 0;
        min-height: 68px;
        padding: 10px 12px;
    }

    .fdb-voivodeship-choice .fdb-public-voivodeship-icon {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px;
    }

    .fdb-voivodeship-choice > span:last-child {
        min-width: 0;
        line-height: 1.25;
        overflow-wrap: normal;
        word-break: normal;
    }
}

/*
 * =========================================================
 * v0.40.0 - PUBLIC PROFILE / TABLE VISUAL CONSISTENCY
 * =========================================================
 */

/* Shared data tables: keep rows readable, compact short values, and reserve
   the largest share for names/clubs instead of letting the browser guess. */
.fdb-directory-table,
.fdb-public-table {
    font-variant-numeric: tabular-nums;
}

.fdb-directory-table th,
.fdb-directory-table td {
    padding-top: 12px;
    padding-bottom: 12px;
}

.fdb-directory-table td {
    overflow-wrap: break-word;
    word-break: normal;
}

.fdb-directory-person,
.fdb-directory-club,
.fdb-directory-stadium,
.fdb-directory-location-link,
.fdb-location-directory-link {
    max-width: 100%;
}

.fdb-directory-person strong,
.fdb-directory-club span,
.fdb-directory-club strong,
.fdb-directory-stadium strong,
.fdb-location-directory-link strong {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
}

/* Player directory. */
.fdb-players-directory-table {
    table-layout: fixed;
    min-width: 900px;
}
.fdb-players-directory-table th:nth-child(1),
.fdb-players-directory-table td:nth-child(1) { width: 31%; }
.fdb-players-directory-table th:nth-child(2),
.fdb-players-directory-table td:nth-child(2) { width: 14%; }
.fdb-players-directory-table th:nth-child(3),
.fdb-players-directory-table td:nth-child(3) { width: 15%; }
.fdb-players-directory-table th:nth-child(4),
.fdb-players-directory-table td:nth-child(4) { width: 14%; }
.fdb-players-directory-table th:nth-child(5),
.fdb-players-directory-table td:nth-child(5) { width: 26%; }
.fdb-players-directory-table th:nth-child(3),
.fdb-players-directory-table td:nth-child(3) { white-space: nowrap; }

/* Staff directory. */
.fdb-staff-directory-table {
    table-layout: fixed;
    min-width: 900px;
}
.fdb-staff-directory-table th:nth-child(1),
.fdb-staff-directory-table td:nth-child(1) { width: 29%; }
.fdb-staff-directory-table th:nth-child(2),
.fdb-staff-directory-table td:nth-child(2) { width: 14%; }
.fdb-staff-directory-table th:nth-child(3),
.fdb-staff-directory-table td:nth-child(3) { width: 15%; }
.fdb-staff-directory-table th:nth-child(4),
.fdb-staff-directory-table td:nth-child(4) { width: 17%; }
.fdb-staff-directory-table th:nth-child(5),
.fdb-staff-directory-table td:nth-child(5) { width: 25%; }
.fdb-staff-directory-table th:nth-child(3),
.fdb-staff-directory-table td:nth-child(3) { white-space: nowrap; }

/* Team directory. */
.fdb-teams-directory-table {
    table-layout: fixed;
    min-width: 940px;
}
.fdb-teams-directory-table th:nth-child(1),
.fdb-teams-directory-table td:nth-child(1) { width: 31%; }
.fdb-teams-directory-table th:nth-child(2),
.fdb-teams-directory-table td:nth-child(2) { width: 17%; }
.fdb-teams-directory-table th:nth-child(3),
.fdb-teams-directory-table td:nth-child(3) { width: 16%; }
.fdb-teams-directory-table th:nth-child(4),
.fdb-teams-directory-table td:nth-child(4) { width: 24%; }
.fdb-teams-directory-table th:nth-child(5),
.fdb-teams-directory-table td:nth-child(5) { width: 6%; }
.fdb-teams-directory-table th:nth-child(6),
.fdb-teams-directory-table td:nth-child(6) { width: 6%; }
.fdb-teams-directory-table th:nth-child(5),
.fdb-teams-directory-table td:nth-child(5),
.fdb-teams-directory-table th:nth-child(6),
.fdb-teams-directory-table td:nth-child(6) {
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
    white-space: nowrap;
}

/* Location directory: counts and population are deliberately compact. */
.fdb-locations-directory-table {
    table-layout: fixed;
    min-width: 980px;
}
.fdb-locations-directory-table th:nth-child(1),
.fdb-locations-directory-table td:nth-child(1) { width: 22%; }
.fdb-locations-directory-table th:nth-child(2),
.fdb-locations-directory-table td:nth-child(2) { width: 16%; }
.fdb-locations-directory-table th:nth-child(3),
.fdb-locations-directory-table td:nth-child(3) { width: 16%; }
.fdb-locations-directory-table th:nth-child(4),
.fdb-locations-directory-table td:nth-child(4) { width: 16%; }
.fdb-locations-directory-table th:nth-child(5),
.fdb-locations-directory-table td:nth-child(5) { width: 12%; }
.fdb-locations-directory-table th:nth-child(6),
.fdb-locations-directory-table td:nth-child(6) { width: 9%; }
.fdb-locations-directory-table th:nth-child(7),
.fdb-locations-directory-table td:nth-child(7) { width: 9%; }
.fdb-locations-directory-table th:nth-child(n+5),
.fdb-locations-directory-table td:nth-child(n+5) {
    text-align: right;
    white-space: nowrap;
}

/* Transfers: keep date/type compact and give From/To room for long clubs. */
.fdb-transfers-directory-table {
    table-layout: fixed;
    min-width: 980px;
}
.fdb-transfers-directory-table th:nth-child(1),
.fdb-transfers-directory-table td:nth-child(1) { width: 12%; }
.fdb-transfers-directory-table th:nth-child(2),
.fdb-transfers-directory-table td:nth-child(2) { width: 23%; }
.fdb-transfers-directory-table th:nth-child(3),
.fdb-transfers-directory-table td:nth-child(3) { width: 21%; }
.fdb-transfers-directory-table th:nth-child(4),
.fdb-transfers-directory-table td:nth-child(4) { width: 5%; }
.fdb-transfers-directory-table th:nth-child(5),
.fdb-transfers-directory-table td:nth-child(5) { width: 23%; }
.fdb-transfers-directory-table th:nth-child(6),
.fdb-transfers-directory-table td:nth-child(6) { width: 16%; }
.fdb-transfers-directory-table th:nth-child(1),
.fdb-transfers-directory-table td:nth-child(1),
.fdb-transfers-directory-table th:nth-child(4),
.fdb-transfers-directory-table td:nth-child(4) {
    text-align: center;
    white-space: nowrap;
}

/* Preserve the Stadium proportions approved in v0.29.2, but make the short
   numeric / Yes-No columns visually consistent with the other directories. */
.fdb-stadiums-directory-table th:nth-child(3),
.fdb-stadiums-directory-table td:nth-child(3) {
    text-align: right;
    white-space: nowrap;
}
.fdb-stadiums-directory-table th:nth-child(5),
.fdb-stadiums-directory-table td:nth-child(5),
.fdb-stadiums-directory-table th:nth-child(6),
.fdb-stadiums-directory-table td:nth-child(6) {
    text-align: center;
    white-space: nowrap;
}

/* Profile-history/stat tables: numerical cells line up more cleanly without
   changing any existing column widths or table structures. */
.fdb-public-team-history-table td:nth-child(n+3),
.fdb-public-player-history-table td:nth-child(n+4),
.fdb-hub-mini-table td:nth-child(1),
.fdb-hub-mini-table td:nth-child(n+3) {
    font-variant-numeric: tabular-nums;
}

/* Empty tables should look intentional rather than like an unstyled blank row. */
.fdb-directory-empty {
    padding: 36px 24px !important;
    color: var(--fdb-muted) !important;
    background: #fbfcfe;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

/* Slightly stronger visual hierarchy for repeated section headings. */
.fdb-public-card > .fdb-public-section-heading,
.fdb-public-card > .fdb-directory-result-heading {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--fdb-border-soft);
}

.fdb-public-card > .fdb-directory-result-heading {
    margin-bottom: 14px;
}

/* Horizontal-scroll tables get a cleaner scrollbar and keep rounded corners. */
.fdb-directory-table-wrap,
.fdb-public-table-wrap {
    scrollbar-width: thin;
    scrollbar-color: #b7c2d0 transparent;
}

.fdb-directory-table-wrap::-webkit-scrollbar,
.fdb-public-table-wrap::-webkit-scrollbar {
    height: 8px;
}
.fdb-directory-table-wrap::-webkit-scrollbar-thumb,
.fdb-public-table-wrap::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #b7c2d0;
}

/* Dark-mode counterparts for the new shared treatments. */
html[data-fdb-theme="dark"] .fdb-directory-empty {
    background: #132231;
}
html[data-fdb-theme="dark"] .fdb-directory-table-wrap,
html[data-fdb-theme="dark"] .fdb-public-table-wrap {
    scrollbar-color: #52677b transparent;
}
html[data-fdb-theme="dark"] .fdb-directory-table-wrap::-webkit-scrollbar-thumb,
html[data-fdb-theme="dark"] .fdb-public-table-wrap::-webkit-scrollbar-thumb {
    background: #52677b;
}

@media (max-width: 700px) {
    .fdb-directory-table th,
    .fdb-directory-table td {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .fdb-public-card > .fdb-public-section-heading,
    .fdb-public-card > .fdb-directory-result-heading {
        padding-bottom: 12px;
    }
}


/* v0.41 — advanced public browsing/filter tools */
.fdb-directory-filter-tools {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 14px;
}
.fdb-directory-filter-tools + .fdb-directory-filters,
.fdb-directory-filter-tools + .fdb-free-agents-filters { margin-top: 2px; }
.fdb-directory-filters + .fdb-directory-filter-tools,
.fdb-free-agents-filters + .fdb-directory-filter-tools { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--fdb-border-soft); }
.fdb-directory-presets,
.fdb-directory-active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.fdb-directory-presets > span,
.fdb-directory-active-filters > span { color: var(--fdb-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-right: 2px; }
.fdb-directory-preset,
.fdb-directory-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid var(--fdb-border);
    border-radius: 999px;
    background: #fff;
    color: var(--fdb-text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
.fdb-directory-preset:hover,
.fdb-directory-filter-chip:hover { border-color: #9db5cc; background: #f5f8fb; text-decoration: none; }
.fdb-directory-preset.is-active { border-color: #cf2835; color: #b51f2c; background: #fff5f6; }
.fdb-directory-filter-chip { border-color: #b7c9dc; background: #f4f8fc; }
.fdb-directory-filter-chip b { color: var(--fdb-muted); font-size: 15px; line-height: 1; }
.fdb-directory-clear-filters { margin-left: 3px; color: var(--fdb-muted); font-size: 12px; font-weight: 750; }
.fdb-directory-checkbox-filter { align-self: end; min-height: 40px; flex-direction: row !important; align-items: center; gap: 8px !important; padding: 8px 10px; border: 1px solid var(--fdb-border); border-radius: 8px; background: #fff; }
.fdb-directory-checkbox-filter input { width: auto !important; min-height: 0 !important; margin: 0 !important; }
.fdb-directory-checkbox-filter span { line-height: 1.2; }
html[data-fdb-theme="dark"] .fdb-directory-preset,
html[data-fdb-theme="dark"] .fdb-directory-filter-chip,
html[data-fdb-theme="dark"] .fdb-directory-checkbox-filter { color: var(--fdb-text); background: var(--fdb-card); border-color: var(--fdb-border); }
html[data-fdb-theme="dark"] .fdb-directory-preset:hover,
html[data-fdb-theme="dark"] .fdb-directory-filter-chip:hover { background: #182a3a; border-color: #526c83; }
html[data-fdb-theme="dark"] .fdb-directory-preset.is-active { color: #ffb4bb; border-color: #8e3b46; background: #351f27; }
html[data-fdb-theme="dark"] .fdb-directory-filter-chip { background: #172a3a; border-color: #48647d; }
@media (max-width: 720px) {
    .fdb-directory-filter-tools { gap: 8px; }
    .fdb-directory-preset, .fdb-directory-filter-chip { font-size: 11px; min-height: 28px; padding: 5px 9px; }
}

/*
 * =========================================================
 * v0.44.0 - FINAL PUBLIC VISUAL CONSISTENCY PASS
 * =========================================================
 */

/* Keep shared table headings compact and predictable, while allowing long
   labels to wrap at normal word boundaries rather than forcing odd breaks. */
.fdb-directory-table th,
.fdb-public-table th {
    line-height: 1.25;
    overflow-wrap: normal;
    word-break: normal;
}

/* Directory rows now use the same quiet hover cue as profile/history tables. */
.fdb-directory-table tbody td,
.fdb-public-table tbody td {
    transition: background-color .12s ease;
}

.fdb-directory-table tbody tr:hover td {
    background: #fbfdff;
}

/* Filters across all public directories now share the same keyboard-focus
   treatment instead of relying on browser-specific outlines. */
.fdb-directory-filters input:focus,
.fdb-directory-filters select:focus,
.fdb-free-agent-filter input:focus,
.fdb-free-agent-filter select:focus,
.fdb-map-filter-form input:focus,
.fdb-map-filter-form select:focus,
.fdb-hub-season-select select:focus,
.fdb-squad-season-picker select:focus,
.fdb-public-competition-season-select select:focus {
    outline: none;
    border-color: #8bb8ed;
    box-shadow: 0 0 0 3px rgba(22, 119, 255, .10);
}

/* Section headings frequently contain a title plus actions/selectors. Giving
   both sides a real min-width prevents long labels from pushing controls out
   of their cards on intermediate screen widths. */
.fdb-public-section-heading > *,
.fdb-directory-result-heading > *,
.fdb-home-panel-heading > * {
    min-width: 0;
}

.fdb-public-section-heading h2,
.fdb-public-section-heading h3,
.fdb-directory-result-heading h2,
.fdb-directory-result-heading h3 {
    overflow-wrap: break-word;
    word-break: normal;
}

/* Small identity graphics should stay crisp and vertically centered wherever
   they are reused in tables/cards. This does not change their approved sizes. */
.fdb-directory-person-photo,
.fdb-directory-person-placeholder,
.fdb-directory-club-logo,
.fdb-public-mini-logo,
.fdb-public-history-logo,
.fdb-public-inline-logo {
    vertical-align: middle;
}

/* Dark-mode counterparts for the new shared hover/focus treatment. */
html[data-fdb-theme="dark"] .fdb-directory-table tbody tr:hover td {
    background: #172a3b;
}

html[data-fdb-theme="dark"] .fdb-directory-filters input:focus,
html[data-fdb-theme="dark"] .fdb-directory-filters select:focus,
html[data-fdb-theme="dark"] .fdb-free-agent-filter input:focus,
html[data-fdb-theme="dark"] .fdb-free-agent-filter select:focus,
html[data-fdb-theme="dark"] .fdb-map-filter-form input:focus,
html[data-fdb-theme="dark"] .fdb-map-filter-form select:focus,
html[data-fdb-theme="dark"] .fdb-hub-season-select select:focus,
html[data-fdb-theme="dark"] .fdb-squad-season-picker select:focus,
html[data-fdb-theme="dark"] .fdb-public-competition-season-select select:focus {
    border-color: #5f8db8;
    box-shadow: 0 0 0 3px rgba(101, 170, 255, .12);
}

@media (max-width: 700px) {
    /* Let title/action pairs wrap cleanly instead of compressing either side. */
    .fdb-public-section-heading,
    .fdb-directory-result-heading {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .fdb-public-section-heading > :last-child,
    .fdb-directory-result-heading > :last-child {
        max-width: 100%;
    }
}


/* =========================================================
 * v1.0.1 - Typography consistency (Font Proposal 1)
 * ========================================================= */
.fdb-public-profile-page {
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
}

.fdb-public-profile-page .fdb-site-shell,
.fdb-public-profile-page .fdb-public-profile,
.fdb-public-profile-page .fdb-site-shell input,
.fdb-public-profile-page .fdb-site-shell select,
.fdb-public-profile-page .fdb-site-shell button,
.fdb-public-profile-page .fdb-public-profile input,
.fdb-public-profile-page .fdb-public-profile select,
.fdb-public-profile-page .fdb-public-profile button,
.fdb-public-profile-page .fdb-public-profile textarea,
.fdb-public-profile-page .fdb-public-profile h1,
.fdb-public-profile-page .fdb-public-profile h2,
.fdb-public-profile-page .fdb-public-profile h3,
.fdb-public-profile-page .fdb-public-profile h4,
.fdb-public-profile-page .fdb-site-shell strong,
.fdb-public-profile-page .fdb-site-shell em {
    font-family: var(--fdb-font-ui) !important;
}

.fdb-public-profile-page .fdb-hub-title-row h1 {
    font-family: var(--fdb-font-ui) !important;
    font-weight: 700;
    letter-spacing: -.035em;
}

.fdb-public-profile-page .fdb-hub-season-select select,
.fdb-public-profile-page .fdb-public-competition-season-select select {
    font-family: var(--fdb-font-ui) !important;
}


/* =========================================================
 * v1.1.0 - Public relationship/history/light-theme refinement
 * ========================================================= */

/* Free Agents: keep all primary filter controls aligned. The foreign-only
   checkbox now lives in a dedicated lower action row instead of making the
   Nationality column taller than its neighbours. */
.fdb-free-agent-filter-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
    gap: 18px;
    min-height: 0;
    padding-top: 14px;
    border-top: 1px solid var(--fdb-border-soft);
}

.fdb-free-agent-filter-action-buttons {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.fdb-free-agent-foreign-only {
    margin: 0 !important;
    min-height: 42px;
    padding: 0 2px;
}

@media (max-width: 700px) {
    .fdb-free-agent-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fdb-free-agent-filter-action-buttons {
        width: 100%;
        margin-left: 0;
    }

    .fdb-free-agent-filter-action-buttons .fdb-free-agents-apply {
        flex: 1 1 auto;
    }
}

/* Season Hub: country cue at the far right of every division row. Override
   the earlier responsive grid rules because the new third column is explicit. */
.fdb-hub-division-nav > a {
    grid-template-columns: minmax(0, 1fr) 24px !important;
    gap: 8px;
}

.fdb-hub-division-nav > a.has-logo {
    grid-template-columns: 34px minmax(0, 1fr) 24px !important;
}

.fdb-hub-division-copy {
    min-width: 0;
}

.fdb-hub-division-flag {
    width: 20px;
    height: 13px;
    justify-self: end;
    align-self: center;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(17, 31, 47, .10);
}

/* Team family / reserve relationships. */
.fdb-team-family-card {
    padding-top: 18px;
    padding-bottom: 18px;
}

.fdb-team-family-links {
    display: grid;
    gap: 10px;
}

.fdb-team-family-row {
    display: grid;
    grid-template-columns: minmax(105px, 140px) minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    background: #fbfcfe;
}

.fdb-team-family-label {
    color: var(--fdb-muted);
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fdb-team-family-reserve-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    min-width: 0;
}

.fdb-team-family-reserve-list .fdb-directory-club {
    min-width: 0;
}

@media (max-width: 620px) {
    .fdb-team-family-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}

html[data-fdb-theme="dark"] .fdb-team-family-row {
    background: #132231;
}

/* Teams directory: Status is a real word field, not a tiny numeric column. */
.fdb-teams-directory-table th:nth-child(1),
.fdb-teams-directory-table td:nth-child(1) { width: 31%; }
.fdb-teams-directory-table th:nth-child(2),
.fdb-teams-directory-table td:nth-child(2) { width: 17%; }
.fdb-teams-directory-table th:nth-child(3),
.fdb-teams-directory-table td:nth-child(3) { width: 16%; }
.fdb-teams-directory-table th:nth-child(4),
.fdb-teams-directory-table td:nth-child(4) { width: 21%; }
.fdb-teams-directory-table th:nth-child(5),
.fdb-teams-directory-table td:nth-child(5) { width: 6%; }
.fdb-teams-directory-table th:nth-child(6),
.fdb-teams-directory-table td:nth-child(6) { width: 9%; }

/* Player History: Season | Order | Club | Division | Level | Apps | Goals | Loan.
   The short numeric columns give their old spare width to Club/Division. */
.fdb-public-player-history-table {
    table-layout: fixed;
    min-width: 1080px;
}
.fdb-public-player-history-table th:nth-child(1),
.fdb-public-player-history-table td:nth-child(1) { width: 12%; }
.fdb-public-player-history-table th:nth-child(2),
.fdb-public-player-history-table td:nth-child(2) { width: 5%; text-align: center; }
.fdb-public-player-history-table th:nth-child(3),
.fdb-public-player-history-table td:nth-child(3) { width: 27%; }
.fdb-public-player-history-table th:nth-child(4),
.fdb-public-player-history-table td:nth-child(4) { width: 25%; }
.fdb-public-player-history-table th:nth-child(5),
.fdb-public-player-history-table td:nth-child(5) { width: 6%; text-align: center; }
.fdb-public-player-history-table th:nth-child(6),
.fdb-public-player-history-table td:nth-child(6) { width: 6%; text-align: center; }
.fdb-public-player-history-table th:nth-child(7),
.fdb-public-player-history-table td:nth-child(7) { width: 6%; text-align: center; }
.fdb-public-player-history-table th:nth-child(8),
.fdb-public-player-history-table td:nth-child(8) { width: 13%; }

.fdb-public-player-history-table td:nth-child(2),
.fdb-public-player-history-table td:nth-child(5),
.fdb-public-player-history-table td:nth-child(6),
.fdb-public-player-history-table td:nth-child(7) {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Light mode should look like a complete light theme, not light content framed
   between permanent dark bars. Dark mode remains untouched. */
html:not([data-fdb-theme="dark"]) .fdb-site-seasonbar {
    border-bottom-color: #dde4ec;
    background: #f5f7fa;
}

html:not([data-fdb-theme="dark"]) .fdb-site-seasonbar-inner {
    color: #667587;
}

html:not([data-fdb-theme="dark"]) .fdb-site-header {
    border-bottom: 1px solid #dfe5ec;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(20, 36, 52, .045);
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand {
    color: #17243a !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand-mark {
    border-color: rgba(199, 35, 48, .48);
    background: #fff7f7;
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand strong {
    color: #17243a;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a,
html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown > summary {
    color: #465668 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a:hover,
html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown > summary:hover,
html:not([data-fdb-theme="dark"]) .fdb-site-nav > a.is-active,
html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown > summary.is-active {
    color: #17243a !important;
    background: #fff3f4;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown-menu {
    border-color: #dfe5ec;
    background: #fff;
    box-shadow: 0 16px 36px rgba(20, 36, 52, .14);
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown-menu a {
    color: #465668 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-dropdown-menu a:hover {
    color: #17243a !important;
    background: #fff3f4;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle {
    border-color: #d7dee7;
    color: #526275;
    background: #f8fafc;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle:hover {
    border-color: #c4ced9;
    background: #f2f5f8;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle-light {
    color: #17243a;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle-dark {
    color: #8290a0;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle-track {
    border-color: #cbd4de;
    background: #dce3eb;
    box-shadow: inset 0 1px 3px rgba(20, 36, 52, .12);
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search {
    border-color: #d7dee7;
    background: #f8fafc;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search input[type="search"] {
    color: #17243a;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search input::placeholder {
    color: #8a97a7;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search select {
    border-left-color: #d7dee7;
    color: #465668;
    background-color: #f1f4f7;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search button {
    border-left-color: #b9232e;
    color: #fff;
    background: #b9232e;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer {
    color: #465668;
    border-top-color: #dfe5ec;
    background: #f5f7fa;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer-brand strong {
    color: #17243a;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer-brand span,
html:not([data-fdb-theme="dark"]) .fdb-site-footer-season {
    color: #758395;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer nav a {
    color: #526275 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer nav a:hover {
    color: #17243a !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-shell {
    color: #17243a;
    background: #fff;
    border-bottom-color: #dfe5ec;
}

/* =========================================================
 * v1.2.0 - Black Theme Dashboard Refresh
 * Approved direction: Black Option 2, image-free hero.
 * ========================================================= */

/* Shared icon language for the public header. */
.fdb-site-nav > a {
    gap: 5px;
}

.fdb-site-nav-icon,
.fdb-theme-mode-icon {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
}

.fdb-site-nav-icon {
    width: 15px;
    height: 15px;
    color: #7f8a98;
}

.fdb-site-nav-icon .fdb-public-icon {
    width: 15px;
    height: 15px;
    stroke-width: 1.8;
}

.fdb-site-nav > a:hover .fdb-site-nav-icon,
.fdb-site-nav > a.is-active .fdb-site-nav-icon {
    color: #ef3340;
}

.fdb-site-brand-mark .fdb-public-icon {
    width: 27px;
    height: 27px;
    stroke-width: 1.65;
}

.fdb-theme-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.fdb-theme-mode-icon {
    width: 12px;
    height: 12px;
}

.fdb-theme-mode-icon .fdb-public-icon {
    width: 12px;
    height: 12px;
    stroke-width: 1.8;
}

/* Keep the extra icon width from making the one-row desktop header brittle. */
@media (min-width: 1701px) {
    .fdb-site-nav > a {
        padding-left: 6px;
        padding-right: 6px;
        font-size: 12px;
    }
}

@media (max-width: 1180px) and (min-width: 801px) {
    .fdb-site-nav > a {
        padding-left: 7px;
        padding-right: 7px;
    }
}

/* Light mode keeps the v1.1 visual system; icons simply inherit it. */
html:not([data-fdb-theme="dark"]) .fdb-site-nav-icon {
    color: #778596;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a:hover .fdb-site-nav-icon,
html:not([data-fdb-theme="dark"]) .fdb-site-nav > a.is-active .fdb-site-nav-icon {
    color: #c22631;
}

/* -------------------------------------------------------------------------
 * Dark theme: near-black / graphite instead of navy.
 * ---------------------------------------------------------------------- */
html[data-fdb-theme="dark"] body.fdb-public-profile-page {
    --fdb-bg: #08090a;
    --fdb-card: #111214;
    --fdb-text: #c9cbd0;
    --fdb-text-strong: #f4f4f5;
    --fdb-muted: #8e9198;
    --fdb-border: #2b2d31;
    --fdb-border-soft: #1e2023;
    --fdb-accent: #ef3b46;
    --fdb-accent-soft: #201214;
    --fdb-success: #3fc467;
    --fdb-danger: #ff626d;
    --fdb-shadow: 0 12px 28px rgba(0,0,0,.28);
    color: var(--fdb-text);
    background: #08090a;
}

html[data-fdb-theme="dark"] body.fdb-public-profile-page .site,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .site-content,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .content-area,
html[data-fdb-theme="dark"] body.fdb-public-profile-page .site-main {
    background: #08090a;
}

html[data-fdb-theme="dark"] .fdb-site-shell {
    border-bottom-color: #202124;
    color: #ededee;
    background: #08090a;
}

html[data-fdb-theme="dark"] .fdb-site-seasonbar {
    border-bottom-color: #1d1e20;
    background: #050506;
}

html[data-fdb-theme="dark"] .fdb-site-seasonbar-inner {
    color: #888b91;
}

html[data-fdb-theme="dark"] .fdb-site-seasonbar-inner strong {
    color: #ef3b46;
}

html[data-fdb-theme="dark"] .fdb-site-header {
    border-bottom: 1px solid #222326;
    background: #090a0b;
    box-shadow: 0 8px 26px rgba(0,0,0,.22);
}

html[data-fdb-theme="dark"] .fdb-site-brand-mark {
    border-color: rgba(239,59,70,.65);
    color: #f1f1f2;
    background: #111214;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

html[data-fdb-theme="dark"] .fdb-site-brand strong {
    color: #f4f4f5;
}

html[data-fdb-theme="dark"] .fdb-site-nav > a {
    color: #c7c9ce !important;
    border-radius: 4px;
    background: transparent;
}

html[data-fdb-theme="dark"] .fdb-site-nav-icon {
    color: #82858c;
}

html[data-fdb-theme="dark"] .fdb-site-nav > a:hover {
    color: #fff !important;
    background: #121315;
}

html[data-fdb-theme="dark"] .fdb-site-nav > a.is-active {
    color: #fff !important;
    background: transparent;
    box-shadow: inset 0 -2px #ef3340;
}

html[data-fdb-theme="dark"] .fdb-site-nav > a:hover .fdb-site-nav-icon,
html[data-fdb-theme="dark"] .fdb-site-nav > a.is-active .fdb-site-nav-icon {
    color: #ef3b46;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle {
    border-color: #2b2d31;
    color: #b9bbc0;
    background: #111214;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle:hover {
    border-color: #3a3c41;
    background: #151618;
}

html[data-fdb-theme="dark"] .fdb-theme-toggle-track {
    border-color: rgba(239,59,70,.55);
    background: #6d1d25;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search {
    border-color: #2a2c30;
    background: #0e0f11;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search input[type="search"] {
    color: #ececef;
    background: #0e0f11;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search input::placeholder {
    color: #6f7278;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search select {
    border-left-color: #2a2c30;
    color: #d4d5d8;
    background-color: #121315;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search button {
    border-left-color: #a81f2a;
    color: #fff;
    background: #c32632;
}

html[data-fdb-theme="dark"] .fdb-site-nav-search button:hover {
    background: #df2f3b;
}

/* Generic public surfaces: remove the old blue cast everywhere in Dark mode. */
html[data-fdb-theme="dark"] .fdb-public-card,
html[data-fdb-theme="dark"] .fdb-public-detail,
html[data-fdb-theme="dark"] .fdb-public-logo-placeholder,
html[data-fdb-theme="dark"] .fdb-public-photo-placeholder,
html[data-fdb-theme="dark"] .fdb-public-stadium-photo,
html[data-fdb-theme="dark"] .fdb-public-map-wrap,
html[data-fdb-theme="dark"] .fdb-public-player-photo-box,
html[data-fdb-theme="dark"] .fdb-global-search-group,
html[data-fdb-theme="dark"] .fdb-competition-card,
html[data-fdb-theme="dark"] .fdb-public-competition-logo-box,
html[data-fdb-theme="dark"] .fdb-public-staff-no-assignment,
html[data-fdb-theme="dark"] .fdb-directory-hero-icon-transfers,
html[data-fdb-theme="dark"] .fdb-team-family-row,
html[data-fdb-theme="dark"] .fdb-location-team-card,
html[data-fdb-theme="dark"] .fdb-location-stadium-card,
html[data-fdb-theme="dark"] .fdb-location-player-card,
html[data-fdb-theme="dark"] .fdb-current-staff-person {
    border-color: #2b2d31;
    background: #111214;
    box-shadow: 0 10px 24px rgba(0,0,0,.2);
}

html[data-fdb-theme="dark"] .fdb-public-stat-icon,
html[data-fdb-theme="dark"] .fdb-home-stat-icon,
html[data-fdb-theme="dark"] .fdb-home-heading-icon,
html[data-fdb-theme="dark"] .fdb-home-update-icon,
html[data-fdb-theme="dark"] .fdb-home-explore-icon,
html[data-fdb-theme="dark"] .fdb-global-search-symbol,
html[data-fdb-theme="dark"] .fdb-directory-person-placeholder {
    color: #a7a9ae;
    background: #17181a;
}

html[data-fdb-theme="dark"] .fdb-public-button,
html[data-fdb-theme="dark"] .fdb-public-list-row,
html[data-fdb-theme="dark"] .fdb-public-usage-row,
html[data-fdb-theme="dark"] .fdb-public-table,
html[data-fdb-theme="dark"] .fdb-free-agent-filter input,
html[data-fdb-theme="dark"] .fdb-free-agent-filter select,
html[data-fdb-theme="dark"] .fdb-free-agents-pagination a.page-numbers,
html[data-fdb-theme="dark"] .fdb-free-agents-pagination span.page-numbers,
html[data-fdb-theme="dark"] .fdb-public-profile-page .fdb-date-control,
html[data-fdb-theme="dark"] .fdb-public-transfer-column,
html[data-fdb-theme="dark"] .fdb-directory-filters input,
html[data-fdb-theme="dark"] .fdb-directory-filters select,
html[data-fdb-theme="dark"] .fdb-directory-table,
html[data-fdb-theme="dark"] .fdb-directory-pagination a.page-numbers,
html[data-fdb-theme="dark"] .fdb-directory-pagination span.page-numbers,
html[data-fdb-theme="dark"] .fdb-public-competition-season-select select,
html[data-fdb-theme="dark"] .fdb-squad-position-group,
html[data-fdb-theme="dark"] .fdb-squad-generic-list,
html[data-fdb-theme="dark"] .fdb-squad-season-picker select,
html[data-fdb-theme="dark"] .fdb-loan-card,
html[data-fdb-theme="dark"] .fdb-loan-strip-button,
html[data-fdb-theme="dark"] .fdb-hub-stat-grid > div,
html[data-fdb-theme="dark"] .fdb-voivodeship-choice,
html[data-fdb-theme="dark"] .fdb-map-filter-form select,
html[data-fdb-theme="dark"] .fdb-map-filter-form input,
html[data-fdb-theme="dark"] .fdb-hub-season-select select,
html[data-fdb-theme="dark"] .fdb-directory-preset,
html[data-fdb-theme="dark"] .fdb-directory-filter-chip,
html[data-fdb-theme="dark"] .fdb-directory-checkbox-filter {
    border-color: #2b2d31;
    color: var(--fdb-text);
    background: #111214;
}

html[data-fdb-theme="dark"] .fdb-public-table th,
html[data-fdb-theme="dark"] .fdb-directory-table th,
html[data-fdb-theme="dark"] .fdb-public-transfer-column-heading,
html[data-fdb-theme="dark"] .fdb-public-transfer-summary span,
html[data-fdb-theme="dark"] .fdb-public-profile-page .fdb-date-picker-button {
    color: #a5a7ac;
    background: #17181a;
}

html[data-fdb-theme="dark"] .fdb-public-list-row:hover,
html[data-fdb-theme="dark"] .fdb-public-usage-row:hover,
html[data-fdb-theme="dark"] .fdb-public-table tbody tr:hover td,
html[data-fdb-theme="dark"] .fdb-directory-table tbody tr:hover td,
html[data-fdb-theme="dark"] .fdb-competition-card:hover,
html[data-fdb-theme="dark"] .fdb-directory-preset:hover,
html[data-fdb-theme="dark"] .fdb-directory-filter-chip:hover {
    border-color: #3a3c40;
    background: #191a1d;
}

html[data-fdb-theme="dark"] .fdb-directory-hero-icon {
    border-color: #55252b;
    color: #f24a55;
    background: #1b0f11;
}

html[data-fdb-theme="dark"] .fdb-search-autocomplete {
    border-color: #303236;
    background: #0d0e10;
    box-shadow: 0 18px 44px rgba(0,0,0,.5);
}

html[data-fdb-theme="dark"] .fdb-search-suggestion {
    border-color: #202225;
    background: #0d0e10;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion:hover,
html[data-fdb-theme="dark"] .fdb-search-suggestion.is-active {
    background: #18191c;
}

html[data-fdb-theme="dark"] .fdb-search-suggestion-visual {
    background: #17181a;
}

/* -------------------------------------------------------------------------
 * Black homepage: image-free hero, search first, statistics second.
 * ---------------------------------------------------------------------- */
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 42px 40px 30px;
    border: 1px solid #292b2f;
    border-top: 1px solid #393b40;
    border-radius: 8px;
    color: var(--fdb-text);
    background: linear-gradient(180deg, #0b0c0d 0%, #090a0b 100%);
    box-shadow: 0 16px 38px rgba(0,0,0,.32);
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero-copy {
    align-items: center;
    text-align: center;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-eyebrow {
    color: #ef3b46;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero h1 {
    max-width: none;
    margin-top: 8px;
    color: #f7f7f8;
    font-size: clamp(2.35rem, 4.5vw, 4rem);
    font-weight: 850;
    letter-spacing: .035em;
    line-height: 1.02;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero p {
    max-width: 900px;
    margin: 12px auto 0;
    color: #9b9da3;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search {
    width: min(100%, 1120px);
    margin: 25px auto 0;
    border-color: #3a3c40;
    border-radius: 7px;
    background: #0d0e10;
    box-shadow: 0 8px 28px rgba(0,0,0,.28);
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search input[type="search"],
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search select {
    color: #ececef;
    background: #0d0e10;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search input::placeholder {
    color: #6e7076;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search select {
    border-left-color: #303236;
    background-color: #131416;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search button {
    border-left-color: #a51f2a;
    background: #c52632;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-search button:hover {
    background: #df303c;
}

html[data-fdb-theme="dark"] .fdb-home-stats-panel {
    width: 100%;
    border-color: #2b2d31;
    border-radius: 7px;
    background: #0e0f10;
}

html[data-fdb-theme="dark"] .fdb-home-stats-heading {
    min-height: 38px;
    border-color: #26282b;
    color: #ececef;
    background: #111214;
}

html[data-fdb-theme="dark"] .fdb-home-stats-heading small {
    color: #ff6570;
    background: #251114;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a {
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px 10px;
    min-height: 78px;
    padding: 12px 14px;
    border-right: 1px solid #25272a;
    border-bottom: 0;
    color: #e7e7e9 !important;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a:last-child {
    border-right: 0;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a:hover {
    background: #151618;
}

html[data-fdb-theme="dark"] .fdb-home-stats-icon {
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    color: #ef4651;
    background: #1a1012;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list a > span:nth-child(2) {
    align-self: end;
    color: #96999f;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

html[data-fdb-theme="dark"] .fdb-home-stats-list strong {
    align-self: start;
    color: #f4f4f5;
    font-size: 18px;
    line-height: 1.05;
}

/* Four dashboard cards: flatter, darker and less SaaS-like. */
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel {
    border-color: #2b2d31;
    border-radius: 7px;
    background: #101113;
    box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-heading {
    padding-bottom: 10px;
    border-bottom: 1px solid #292b2f;
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-public-section-kicker {
    color: #777a80;
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-heading h2 {
    color: #f2f2f3;
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-heading a,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-actions a,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-footer-link {
    color: #ef4651 !important;
}

html[data-fdb-theme="dark"] .fdb-home-current-divisions > a,
html[data-fdb-theme="dark"] .fdb-home-transfer-mini-row,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-list-row,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-update-row {
    border-color: #242629;
}

html[data-fdb-theme="dark"] .fdb-home-current-divisions > a:hover,
html[data-fdb-theme="dark"] .fdb-home-transfer-mini-row:hover,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-list-row:hover,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-update-row:hover {
    background: #161719;
}

html[data-fdb-theme="dark"] .fdb-home-division-logo {
    border-color: #2c2e32;
    color: #a3a5aa;
    background: #17181a;
}

html[data-fdb-theme="dark"] .fdb-home-heading-with-icon .fdb-home-heading-icon,
html[data-fdb-theme="dark"] .fdb-home-heading-icon {
    color: #ef4651;
    background: #1d1113;
}

html[data-fdb-theme="dark"] .fdb-home-transfer-mini-arrow {
    color: #38c460;
}

html[data-fdb-theme="dark"] .fdb-home-transfer-mini-meta strong,
html[data-fdb-theme="dark"] .fdb-home-transfer-mini-player strong,
html[data-fdb-theme="dark"] .fdb-home-transfer-destination b,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-list-row strong,
html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-update-row strong {
    color: #eeeef0;
}

/* Black footer should feel like the same shell, not another large panel. */
html[data-fdb-theme="dark"] .fdb-site-footer {
    border-top-color: #222326;
    color: #8f9298;
    background: #070809;
}

html[data-fdb-theme="dark"] .fdb-site-footer-brand strong {
    color: #e8e8ea;
}

html[data-fdb-theme="dark"] .fdb-site-footer nav a {
    color: #999ca2 !important;
}

html[data-fdb-theme="dark"] .fdb-site-footer nav a:hover {
    color: #ef4651 !important;
}

html[data-fdb-theme="dark"] .fdb-site-footer-season strong {
    color: #ef4651;
}

/* Responsive statistics/navigation behavior. */
@media (max-width: 1320px) {
    html[data-fdb-theme="dark"] .fdb-home-stats-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-child(3n) {
        border-right: 0;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-child(-n+3) {
        border-bottom: 1px solid #25272a;
    }
}

@media (max-width: 760px) {
    .fdb-site-nav > a {
        gap: 4px;
    }

    .fdb-site-nav-icon,
    .fdb-site-nav-icon .fdb-public-icon {
        width: 14px;
        height: 14px;
    }

    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-hero {
        padding: 28px 18px 22px;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-child(3n) {
        border-right: 1px solid #25272a;
        border-bottom: 1px solid #25272a;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-child(2n) {
        border-right: 0;
    }

    html[data-fdb-theme="dark"] .fdb-home-stats-list a:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}


/* =========================================================
 * v1.3.0 - Premium Light Theme + Dashboard Visual Unification
 * Real Manrope typography + centered homepage statistics.
 * ========================================================= */

/* Use the chosen typeface consistently across the complete public UI. */
.fdb-public-profile-page,
.fdb-public-profile-page button,
.fdb-public-profile-page input,
.fdb-public-profile-page select,
.fdb-public-profile-page textarea,
.fdb-public-profile-page option {
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
}

/* -------------------------------------------------------------------------
 * Shared homepage statistics treatment: icon -> number -> label.
 * This applies to both Light and Dark so both themes share the same hierarchy.
 * ---------------------------------------------------------------------- */
.fdb-site-home .fdb-home-stats-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.fdb-site-home .fdb-home-stats-list a,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 34px auto auto;
    justify-items: center;
    align-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 112px;
    padding: 16px 12px 15px;
    text-align: center;
}

.fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    width: 32px;
    height: 32px;
    margin: 0;
}

.fdb-site-home .fdb-home-stats-list a strong,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a strong {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    justify-self: center;
    margin: 0;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .045em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}

/* -------------------------------------------------------------------------
 * Premium Light shell.  Dark remains the black/graphite v1.2 treatment.
 * ---------------------------------------------------------------------- */
html:not([data-fdb-theme="dark"]) body.fdb-public-profile-page {
    --fdb-bg: #f7f8fa;
    --fdb-card: #ffffff;
    --fdb-text: #344054;
    --fdb-text-strong: #101828;
    --fdb-muted: #667085;
    --fdb-border: #e2e6ec;
    --fdb-border-soft: #edf0f4;
    --fdb-accent: #e32636;
    --fdb-accent-soft: #fff4f5;
    --fdb-shadow: 0 9px 28px rgba(16, 24, 40, .055);
    color: var(--fdb-text);
    background: #f7f8fa;
}

html:not([data-fdb-theme="dark"]) body.fdb-public-profile-page .site,
html:not([data-fdb-theme="dark"]) body.fdb-public-profile-page .site-content,
html:not([data-fdb-theme="dark"]) body.fdb-public-profile-page .content-area,
html:not([data-fdb-theme="dark"]) body.fdb-public-profile-page .site-main {
    background: #f7f8fa;
}

html:not([data-fdb-theme="dark"]) .fdb-public-card {
    border-color: #e0e5eb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 9px 26px rgba(16, 24, 40, .05);
}

html:not([data-fdb-theme="dark"]) .fdb-site-season-bar {
    border-bottom: 1px solid #e6e9ee;
    color: #667085;
    background: #f7f8fa;
}

html:not([data-fdb-theme="dark"]) .fdb-site-season-bar strong {
    color: #df2434;
}

html:not([data-fdb-theme="dark"]) .fdb-site-shell {
    border-bottom-color: #e2e6eb;
    color: #27364a;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 1px 0 rgba(16, 24, 40, .02);
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand-mark {
    border-color: #ef4350;
    color: #df2434;
    background: #fff;
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand-copy strong {
    color: #17243a;
}

html:not([data-fdb-theme="dark"]) .fdb-site-brand-copy span {
    color: #df2434;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a {
    color: #344054 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-icon {
    color: #67758a;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a:hover,
html:not([data-fdb-theme="dark"]) .fdb-site-nav > a.is-active {
    color: #df2434 !important;
    background: transparent;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav > a.is-active .fdb-site-nav-icon {
    color: #df2434;
}

html:not([data-fdb-theme="dark"]) .fdb-theme-toggle,
html:not([data-fdb-theme="dark"]) .fdb-site-nav-search {
    border-color: #dfe4ea;
    background: #fff;
    box-shadow: 0 3px 12px rgba(16, 24, 40, .035);
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search select {
    border-left-color: #e1e5ea;
    background-color: #fafbfc;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search button {
    border-left-color: #df2434;
    background: #df2434;
}

html:not([data-fdb-theme="dark"]) .fdb-site-nav-search button:hover {
    background: #c91f2e;
}

/* -------------------------------------------------------------------------
 * Premium Light homepage: same hierarchy as Dark, brighter execution.
 * ---------------------------------------------------------------------- */
html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 42px 40px 30px;
    overflow: visible;
    border: 1px solid #e0e4ea;
    border-top: 1px solid #e0e4ea;
    border-radius: 10px;
    color: #344054;
    background:
        radial-gradient(circle at 8% 16%, rgba(227,38,54,.035), transparent 19%),
        radial-gradient(circle at 92% 16%, rgba(22,119,255,.025), transparent 21%),
        linear-gradient(180deg, #ffffff 0%, #fcfcfd 100%);
    box-shadow: 0 12px 32px rgba(16, 24, 40, .055);
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero::after {
    display: none;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero-copy {
    align-items: center;
    text-align: center;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-eyebrow {
    color: #df2434;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero h1 {
    max-width: none;
    margin-top: 8px;
    color: #101828;
    font-size: clamp(2.25rem, 4.2vw, 3.75rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.03;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero p {
    max-width: 900px;
    margin: 12px auto 0;
    color: #667085;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search {
    width: min(100%, 1120px);
    margin: 25px auto 0;
    overflow: visible;
    border: 1px solid #dce2e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(16, 24, 40, .08);
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search input[type="search"],
html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search select {
    color: #27364a;
    background: #fff;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search select {
    border-left-color: #e0e5eb;
    background-color: #fafbfc;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search button {
    border-left-color: #df2434;
    color: #fff;
    background: #df2434;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-search button:hover {
    background: #c91f2e;
}

html:not([data-fdb-theme="dark"]) .fdb-home-stats-panel {
    width: 100%;
    overflow: hidden;
    border: 1px solid #e0e4ea;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(16, 24, 40, .045);
}

html:not([data-fdb-theme="dark"]) .fdb-home-stats-heading {
    min-height: 38px;
    border-bottom-color: #edf0f3;
    color: #344054;
    background: #fcfcfd;
}

html:not([data-fdb-theme="dark"]) .fdb-home-stats-heading small {
    color: #d92333;
    background: #fff0f2;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-list a {
    border-right: 1px solid #e8ebef;
    border-bottom: 0;
    color: #101828 !important;
    background: #fff;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-list a:last-child {
    border-right: 0;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-list a:hover {
    background: #fff8f8;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-icon {
    border: 0;
    border-radius: 7px;
    color: #df2434;
    background: #fff2f3;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-list strong {
    color: #101828;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    color: #667085;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel {
    border-color: #e0e4ea;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 9px 27px rgba(16, 24, 40, .055);
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-heading {
    padding-bottom: 10px;
    border-bottom: 1px solid #edf0f3;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-public-section-kicker {
    color: #7a8494;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-heading h2 {
    color: #182230;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-heading a,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-actions a,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-footer-link {
    color: #df2434 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-home-current-divisions > a,
html:not([data-fdb-theme="dark"]) .fdb-home-transfer-mini-row,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-list-row,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-update-row {
    border-color: #edf0f3;
}

html:not([data-fdb-theme="dark"]) .fdb-home-current-divisions > a:hover,
html:not([data-fdb-theme="dark"]) .fdb-home-transfer-mini-row:hover,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-list-row:hover,
html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-update-row:hover {
    background: #fafbfc;
}

html:not([data-fdb-theme="dark"]) .fdb-home-division-logo,
html:not([data-fdb-theme="dark"]) .fdb-home-heading-icon {
    border-color: #e4e8ed;
    color: #df2434;
    background: #fff5f6;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer {
    border-top-color: #e1e5ea;
    color: #667085;
    background: #fff;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer-brand strong {
    color: #182230;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer nav a {
    color: #667085 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-site-footer nav a:hover,
html:not([data-fdb-theme="dark"]) .fdb-site-footer-season strong {
    color: #df2434 !important;
}

/* Dark theme: retain v1.2 black palette while centering statistics. */
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
    border-right: 1px solid #25272a;
    border-bottom: 0;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a:last-child {
    border-right: 0;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon {
    border-radius: 6px;
    color: #ef4651;
    background: #1a1012;
}

/* Responsive centered statistics in both themes. */
@media (max-width: 1320px) {
    .fdb-site-home .fdb-home-stats-list,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fdb-site-home .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
        border-bottom: 1px solid var(--fdb-border);
    }

    .fdb-site-home .fdb-home-stats-list a:nth-child(3n),
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a:nth-child(3n) {
        border-right: 0;
    }

    .fdb-site-home .fdb-home-stats-list a:nth-last-child(-n+3),
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a:nth-last-child(-n+3) {
        border-bottom: 0;
    }
}

@media (max-width: 760px) {
    html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-hero {
        padding: 28px 18px 22px;
    }

    .fdb-site-home .fdb-home-stats-list,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdb-site-home .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
        min-height: 102px;
        padding: 13px 8px;
        border-right: 1px solid var(--fdb-border);
        border-bottom: 1px solid var(--fdb-border);
    }

    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
        border-right-color: #25272a;
        border-bottom-color: #25272a;
    }

    .fdb-site-home .fdb-home-stats-list a:nth-child(2n),
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a:nth-child(2n) {
        border-right: 0;
    }

    .fdb-site-home .fdb-home-stats-list a:nth-last-child(-n+2),
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

/* =========================================================
 * v1.3.1 - Utility Row Header + Transparent Statistics Icons
 * Search/theme controls live above the navigation in both themes.
 * ========================================================= */

/* Top utility strip: current season on the left, theme/search on the right. */
.fdb-site-seasonbar-inner,
.fdb-public-home-page .fdb-site-seasonbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 42px;
}

.fdb-site-seasonbar-current {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
}

.fdb-site-seasonbar-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
    margin-left: auto;
}

.fdb-site-seasonbar-tools .fdb-theme-toggle {
    flex: 0 0 auto;
    min-height: 30px;
    margin: 0;
    padding-top: 3px;
    padding-bottom: 3px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search {
    flex: 0 1 405px;
    width: min(405px, 42vw);
    min-width: 285px;
    min-height: 30px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search input[type="search"],
.fdb-site-seasonbar-tools .fdb-site-nav-search select {
    height: 30px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search input[type="search"] {
    font-size: 11px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search select {
    flex-basis: 104px;
    font-size: 10px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search button {
    min-height: 30px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 10px;
}

/* The row below is now dedicated to brand + destinations. */
.fdb-site-header-inner,
.fdb-public-home-page .fdb-site-header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "brand nav";
    gap: 26px;
    align-items: center;
    min-height: 76px;
    padding: 0;
}

.fdb-site-brand {
    grid-area: brand;
}

.fdb-site-nav {
    grid-area: nav;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.fdb-site-nav > a,
.fdb-site-nav-dropdown > summary {
    gap: 7px;
    min-height: 48px;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 13.5px;
    font-weight: 700;
}

.fdb-site-nav-icon {
    width: 19px;
    height: 19px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fdb-site-nav-icon .fdb-public-icon {
    width: 19px;
    height: 19px;
    stroke-width: 1.75;
}

/* Homepage statistics: large, readable line icons with no colored tile. */
.fdb-site-home .fdb-home-stats-list a,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
    grid-template-rows: 40px auto auto;
    gap: 6px;
    min-height: 120px;
}

.fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon,
html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fdb-site-home .fdb-home-stats-icon .fdb-public-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon .fdb-public-icon {
    width: 30px;
    height: 30px;
    stroke-width: 1.65;
}

html:not([data-fdb-theme="dark"]) .fdb-site-home .fdb-home-stats-icon {
    color: #e32636;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon {
    color: #ef4651;
}

.fdb-site-home .fdb-home-stats-list a strong,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a strong {
    font-size: 23px;
}

.fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    font-size: 10.5px;
}

/* Medium desktop: give the larger navigation a dedicated second line rather
   than shrinking icons/labels until they collide. */
@media (max-width: 1540px) and (min-width: 801px) {
    .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-header-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "nav";
        gap: 4px;
        min-height: 0;
        padding: 10px 0 12px;
    }

    .fdb-site-brand {
        justify-self: start;
    }

    .fdb-site-nav {
        justify-content: flex-start;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .fdb-site-nav::-webkit-scrollbar {
        display: none;
    }

    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        flex: 0 0 auto;
        min-height: 43px;
        font-size: 13px;
    }
}

/* Phones/tablets: utility strip stacks cleanly and navigation remains scrollable. */
@media (max-width: 800px) {
    .fdb-site-seasonbar-inner,
    .fdb-public-home-page .fdb-site-seasonbar-inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 6px 0 7px;
    }

    .fdb-site-seasonbar-current {
        justify-self: start;
    }

    .fdb-site-seasonbar-tools {
        width: 100%;
        margin: 0;
        justify-content: stretch;
    }

    .fdb-site-seasonbar-tools .fdb-site-nav-search {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    .fdb-site-seasonbar-tools .fdb-site-nav-search select {
        flex-basis: 92px;
    }

    .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-header-inner {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "nav";
        gap: 7px;
        min-height: 0;
        padding: 10px 0;
    }

    .fdb-site-nav {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .fdb-site-nav::-webkit-scrollbar {
        display: none;
    }

    .fdb-site-nav > a,
    .fdb-site-nav-dropdown > summary {
        flex: 0 0 auto;
        min-height: 42px;
        font-size: 12px;
    }

    .fdb-site-nav-icon,
    .fdb-site-nav-icon .fdb-public-icon {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 520px) {
    .fdb-site-seasonbar-tools {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 7px;
    }

    .fdb-site-seasonbar-tools .fdb-theme-toggle {
        padding-left: 7px;
        padding-right: 7px;
    }

    .fdb-theme-toggle-label {
        font-size: 10px;
    }

    .fdb-site-seasonbar-tools .fdb-site-nav-search select {
        display: none;
    }

    .fdb-site-seasonbar-tools .fdb-site-nav-search button {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* =========================================================
 * v1.3.2 - Horizontal Database Statistics Layout
 * Mockup-inspired: icon | number + label in both themes.
 * ========================================================= */
.fdb-site-home .fdb-home-stats-list a,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 13px;
    row-gap: 1px;
    align-content: center;
    align-items: center;
    justify-items: stretch;
    min-height: 92px;
    padding: 14px 18px;
    text-align: left;
}

.fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: center;
    width: 42px;
    height: 42px;
}

.fdb-site-home .fdb-home-stats-icon .fdb-public-icon,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon .fdb-public-icon {
    width: 32px;
    height: 32px;
}

.fdb-site-home .fdb-home-stats-list a strong,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a strong {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    justify-self: start;
    margin: 0;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.05;
    text-align: left;
}

.fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-self: start;
    margin: 2px 0 0;
    color: var(--fdb-muted);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .045em;
    line-height: 1.15;
    text-align: left;
    text-transform: uppercase;
}

@media (max-width: 1320px) {
    .fdb-site-home .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
        min-height: 86px;
        padding: 12px 16px;
    }
}

@media (max-width: 760px) {
    .fdb-site-home .fdb-home-stats-list a,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a {
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 10px;
        min-height: 82px;
        padding: 11px 12px;
    }

    .fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a .fdb-home-stats-icon {
        width: 38px;
        height: 38px;
    }

    .fdb-site-home .fdb-home-stats-icon .fdb-public-icon,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-icon .fdb-public-icon {
        width: 28px;
        height: 28px;
    }

    .fdb-site-home .fdb-home-stats-list a strong,
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a strong {
        font-size: 20px;
    }

    .fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
    html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
        font-size: 8.5px;
    }
}


/* =========================================================
 * v1.3.3 - Steel Display Typography + Simplified Dashboard Headers
 * Barlow Condensed for strong display hierarchy; Manrope remains UI/body.
 * ========================================================= */

/* Strong, condensed identity treatment inspired by the approved black mockup. */
.fdb-site-home .fdb-home-hero h1,
.fdb-site-brand strong,
.fdb-site-brand em {
    font-family: var(--fdb-font-display) !important;
    font-style: normal;
    text-transform: uppercase;
}

.fdb-site-home .fdb-home-hero h1 {
    font-size: clamp(42px, 4.1vw, 72px);
    font-weight: 900;
    letter-spacing: .045em;
    line-height: .98;
}

.fdb-site-brand strong {
    font-weight: 800;
    letter-spacing: .035em;
}

.fdb-site-brand em {
    font-weight: 800;
    letter-spacing: .14em;
}

/* One-line, uppercase dashboard section headers with no secondary kicker text. */
.fdb-home-dashboard-four .fdb-home-panel-heading {
    align-items: center;
}

.fdb-home-dashboard-four .fdb-home-panel-title {
    margin: 0;
    color: var(--fdb-text-strong);
    font-family: var(--fdb-font-display) !important;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.05;
    text-transform: uppercase;
}

.fdb-home-dashboard-four .fdb-home-panel-title > span {
    margin-left: 6px;
    color: var(--fdb-accent);
    font-size: .92em;
    font-weight: 800;
    letter-spacing: .035em;
    white-space: nowrap;
}

.fdb-home-dashboard-four .fdb-home-panel-heading a,
.fdb-home-dashboard-four .fdb-home-panel-actions a {
    align-self: center;
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: none;
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-title {
    color: #f4f2ef;
}

html[data-fdb-theme="dark"] .fdb-home-dashboard-four .fdb-home-panel-title > span {
    color: #ef4651;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-title {
    color: #111827;
}

html:not([data-fdb-theme="dark"]) .fdb-home-dashboard-four .fdb-home-panel-title > span {
    color: #e32636;
}

@media (max-width: 680px) {
    .fdb-site-home .fdb-home-hero h1 {
        font-size: clamp(36px, 11vw, 50px);
    }

    .fdb-home-dashboard-four .fdb-home-panel-title {
        font-size: 17px;
        letter-spacing: .045em;
    }
}

/* =========================================================
 * v1.4.4 — Inter typography
 * One real web font for display + UI to reduce visual mismatch and first-load
 * metric changes between two separately loaded font families.
 * ========================================================= */

.fdb-public-profile-page,
.fdb-public-profile-page button,
.fdb-public-profile-page input,
.fdb-public-profile-page select,
.fdb-public-profile-page textarea,
.fdb-public-profile-page option,
.fdb-site-home .fdb-home-panel-heading a,
.fdb-site-home .fdb-home-panel-actions a {
    font-family: var(--fdb-font-ui) !important;
}

.fdb-site-home .fdb-home-hero h1,
.fdb-site-brand strong,
.fdb-site-brand em,
.fdb-home-dashboard-four .fdb-home-panel-title {
    font-family: var(--fdb-font-display) !important;
}

.fdb-site-home .fdb-home-hero h1 {
    font-weight: 900;
    letter-spacing: .015em;
}

.fdb-home-dashboard-four .fdb-home-panel-title,
.fdb-site-brand strong,
.fdb-site-brand em {
    font-weight: 800;
}


/* =========================================================
 * v1.4.5 — Roboto Condensed + homepage performance/layout refinement
 * ========================================================= */

.fdb-public-profile-page,
.fdb-public-profile-page button,
.fdb-public-profile-page input,
.fdb-public-profile-page select,
.fdb-public-profile-page textarea,
.fdb-public-profile-page option,
.fdb-site-home .fdb-home-panel-heading a,
.fdb-site-home .fdb-home-panel-actions a {
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif) !important;
}

.fdb-site-home .fdb-home-hero h1,
.fdb-site-brand strong,
.fdb-site-brand em,
.fdb-home-dashboard-four .fdb-home-panel-title {
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif) !important;
}

/* Homepage media slots: real media replaces the placeholder. Missing media is
   represented by a transparent bordered circle, never a solid anonymous blob. */
.fdb-site-home .fdb-directory-person-placeholder,
.fdb-home-club-mark-placeholder {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    border: 1px solid var(--fdb-border);
    border-radius: 50%;
    color: var(--fdb-muted);
    background: transparent;
}

.fdb-site-home .fdb-directory-person-placeholder .fdb-public-icon,
.fdb-home-club-mark-placeholder .fdb-public-icon {
    width: 15px;
    height: 15px;
    opacity: .68;
}

.fdb-home-club-mark {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
}

.fdb-home-club-mark-has-image {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.fdb-home-club-mark-has-image .fdb-directory-club-logo {
    width: 27px;
    height: 27px;
    max-width: 27px;
    max-height: 27px;
    object-fit: contain;
}

html[data-fdb-theme="dark"] .fdb-site-home .fdb-directory-person-placeholder,
html[data-fdb-theme="dark"] .fdb-home-club-mark-placeholder {
    border-color: #3a3d42;
    color: #777d86;
    background: transparent;
}

/* Transfer row: face | player+position | old club | arrow | new club | date/type. */
.fdb-home-transfers-panel {
    padding-left: 11px !important;
    padding-right: 11px !important;
}

.fdb-home-transfer-mini-row {
    grid-template-columns: 32px minmax(88px, .78fr) minmax(108px, .92fr) 18px minmax(112px, 1fr) minmax(72px, .55fr);
    gap: 6px;
    padding-left: 0;
    padding-right: 0;
}

.fdb-home-transfer-origin,
.fdb-home-transfer-destination {
    min-width: 0;
}

.fdb-home-transfer-origin .fdb-home-club-mark,
.fdb-home-transfer-destination .fdb-home-club-mark,
.fdb-home-transfer-origin .fdb-home-transfer-club-logo,
.fdb-home-transfer-destination .fdb-home-transfer-club-logo {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.fdb-home-transfer-origin .fdb-home-club-mark-has-image .fdb-directory-club-logo,
.fdb-home-transfer-destination .fdb-home-club-mark-has-image .fdb-directory-club-logo {
    width: 23px;
    height: 23px;
    max-width: 23px;
    max-height: 23px;
}

.fdb-home-transfer-mini-player strong {
    font-size: 11.5px;
}

.fdb-home-transfer-mini-player small {
    font-size: 9.5px;
}

.fdb-home-transfer-mini-club b {
    font-size: 10px;
}

/* Cheap Recently Added Clubs panel. */
.fdb-home-recent-club-list {
    display: grid;
}

.fdb-home-recent-club-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 9px 1px;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: var(--fdb-text-strong) !important;
    text-decoration: none !important;
}

.fdb-home-recent-club-row:last-child {
    border-bottom: 0;
}

.fdb-home-recent-club-row:hover {
    background: rgba(127, 127, 127, .045);
}

.fdb-home-recent-club-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fdb-home-recent-club-main strong,
.fdb-home-recent-club-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdb-home-recent-club-main strong {
    font-size: 12px;
}

.fdb-home-recent-club-main small {
    margin-top: 2px;
    color: var(--fdb-muted);
    font-size: 10px;
}

.fdb-home-recent-club-date {
    color: var(--fdb-muted);
    font-size: 9.5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

@media (max-width: 1660px) {
    .fdb-home-transfer-mini-row {
        grid-template-columns: 32px minmax(100px, .78fr) minmax(118px, .92fr) 18px minmax(120px, 1fr) minmax(74px, .55fr);
    }
}

@media (max-width: 720px) {
    .fdb-home-transfer-mini-row {
        grid-template-columns: 30px minmax(0, 1fr) 16px minmax(0, 1fr);
        row-gap: 5px;
    }

    .fdb-home-transfer-mini-player {
        grid-column: 2 / 5;
    }

    .fdb-home-transfer-origin {
        grid-column: 2;
        grid-row: 2;
    }

    .fdb-home-transfer-mini-arrow {
        grid-column: 3;
        grid-row: 2;
    }

    .fdb-home-transfer-destination {
        grid-column: 4;
        grid-row: 2;
    }

    .fdb-home-transfer-mini-meta {
        grid-column: 2 / 5;
        grid-row: 3;
    }
}

/* =========================================================
 * v1.6.0 — Competition Notes + Team League History chart
 * ========================================================= */
.fdb-competition-notes {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--fdb-border-soft);
}
.fdb-competition-notes h3 {
    margin: 0 0 10px;
    color: var(--fdb-text-strong);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.fdb-competition-note-list { display: grid; gap: 8px; }
.fdb-competition-note {
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    gap: 8px;
    align-items: start;
    color: var(--fdb-text);
    font-size: 13px;
    line-height: 1.55;
}
.fdb-competition-note-marker {
    color: var(--fdb-accent);
    font-weight: 800;
    text-align: center;
}
.fdb-competition-note p { margin: 0; }
.fdb-competition-note a { color: var(--fdb-text-strong); text-decoration: none; }
.fdb-competition-note a:hover { color: var(--fdb-accent); }

.fdb-team-history-chart-card { overflow: hidden; }
.fdb-team-history-chart-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    color: var(--fdb-muted);
    font-size: 11px;
    font-weight: 700;
}
.fdb-team-history-chart-legend .is-promotion { color: #32c95b; }
.fdb-team-history-chart-legend .is-relegation { color: #ef4444; }
.fdb-team-history-chart-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    margin: 4px 0 0;
    padding-bottom: 4px;
}
.fdb-team-history-chart {
    display: block;
    width: 100%;
    min-width: 760px;
    height: auto;
}
.fdb-history-chart-grid {
    stroke: var(--fdb-border-soft);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}
.fdb-history-chart-grid.is-vertical { opacity: .72; }
.fdb-history-chart-line {
    stroke: var(--fdb-text-strong);
    stroke-width: 2;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    opacity: .9;
}
.fdb-history-chart-point {
    fill: var(--fdb-text-strong);
    stroke: var(--fdb-card);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    cursor: pointer;
    transition: r .15s ease, opacity .15s ease;
}
.fdb-history-chart-point.is-promotion { fill: #32c95b; }
.fdb-history-chart-point.is-relegation { fill: #ef4444; }
.fdb-history-chart-point:hover { r: 7px; }
.fdb-history-chart-level,
.fdb-history-chart-season {
    fill: var(--fdb-muted);
    font-family: var(--fdb-font-ui, inherit);
    font-size: 12px;
    font-weight: 700;
}
.fdb-history-chart-level { fill: var(--fdb-text-strong); }

@media (max-width: 720px) {
    .fdb-team-history-chart-legend { justify-content: flex-start; }
    .fdb-team-history-chart { min-width: 720px; }
}

/* =========================================================
 * v1.7.0 — Competition Phases
 * ========================================================= */
.fdb-competition-phases-card { overflow: hidden; }
.fdb-competition-phases-intro { margin: -2px 0 16px; }
.fdb-competition-phase-list { display: grid; gap: 18px; }
.fdb-competition-phase {
    padding-top: 16px;
    border-top: 1px solid var(--fdb-border-soft);
}
.fdb-competition-phase:first-child { padding-top: 0; border-top: 0; }
.fdb-competition-phase-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 10px;
}
.fdb-competition-phase-heading h3 {
    margin: 0;
    color: var(--fdb-text-strong);
    font-family: var(--fdb-font-display, inherit);
    font-size: 17px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.fdb-competition-phase-heading p {
    max-width: 720px;
    margin: 1px 0 0;
    color: var(--fdb-muted);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
}
.fdb-public-phase-table { margin-top: 4px; }
@media (max-width: 760px) {
    .fdb-competition-phase-heading { flex-direction: column; gap: 6px; }
    .fdb-competition-phase-heading p { text-align: left; }
}

/* =========================================================
 * v1.7.0 — Header Banner Concept 2
 * Simple red rule + shield wordmark + theme-aware geometric texture.
 * ========================================================= */
.fdb-site-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-top: 3px solid var(--fdb-accent);
}
.fdb-site-header::before,
.fdb-site-header::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}
.fdb-site-header::before {
    background:
        linear-gradient(135deg, transparent 0 64%, rgba(127,127,127,.055) 64% 65%, transparent 65% 100%),
        linear-gradient(45deg, transparent 0 76%, rgba(127,127,127,.035) 76% 77%, transparent 77% 100%);
    background-size: 250px 130px, 330px 170px;
    opacity: .72;
}
.fdb-site-header::after {
    inset: auto 0 0;
    height: 1px;
    background: var(--fdb-border-soft);
}
.fdb-site-header-inner,
.fdb-public-home-page .fdb-site-header-inner {
    position: relative;
    z-index: 1;
}
.fdb-site-brand {
    gap: 11px;
    min-width: max-content;
}
.fdb-site-brand-mark-concept2 {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid color-mix(in srgb, var(--fdb-accent) 58%, var(--fdb-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--fdb-accent) 8%, transparent);
    color: var(--fdb-accent);
    transform: rotate(45deg);
}
.fdb-site-brand-mark-concept2 .fdb-public-icon {
    width: 23px;
    height: 23px;
    transform: rotate(-45deg);
}
.fdb-site-brand > span:last-child {
    display: grid;
    line-height: 1;
}
.fdb-site-brand strong {
    font-size: 20px;
    letter-spacing: .055em;
}
.fdb-site-brand em {
    margin-top: 3px;
    color: var(--fdb-accent);
    font-size: 10px;
    letter-spacing: .24em;
}
html:not([data-fdb-theme="dark"]) .fdb-site-header {
    background: #fbfbfc;
}
html[data-fdb-theme="dark"] .fdb-site-header {
    background: #111214;
}
html[data-fdb-theme="dark"] .fdb-site-header::before {
    background:
        linear-gradient(135deg, transparent 0 64%, rgba(255,255,255,.045) 64% 65%, transparent 65% 100%),
        linear-gradient(45deg, transparent 0 76%, rgba(255,255,255,.028) 76% 77%, transparent 77% 100%);
}
@media (max-width: 760px) {
    .fdb-site-brand-mark-concept2 { width: 34px; height: 34px; border-radius: 9px; }
    .fdb-site-brand-mark-concept2 .fdb-public-icon { width: 19px; height: 19px; }
    .fdb-site-brand strong { font-size: 17px; }
}

/* =========================================================
 * v1.7.1 — Actual Concept 2 branding banner + standalone FDB chrome
 * ========================================================= */

/* The WordPress block-theme header/footer are only scaffolding for wp_head/body
   and should not visually wrap Football Database pages, which provide their own
   complete public header/footer. */
body.fdb-public-profile-page .wp-site-blocks > header.wp-block-template-part,
body.fdb-public-profile-page .wp-site-blocks > footer.wp-block-template-part,
body.fdb-public-profile-page header.wp-block-template-part:first-child,
body.fdb-public-profile-page footer.wp-block-template-part:last-child {
    display: none !important;
}
body.fdb-public-profile-page .wp-site-blocks {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Concept 2 is a true branding banner, separate from the navigation. */
.fdb-site-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    border-top: 4px solid var(--fdb-accent);
    border-bottom: 1px solid var(--fdb-border-soft);
    background: #fbfbfc;
}

.fdb-site-banner-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: min(1540px, calc(100% - 40px));
    min-height: 132px;
    margin: 0 auto;
    padding: 22px 0;
}

.fdb-site-banner-brand {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 24px;
    color: #111318 !important;
    text-decoration: none !important;
}

.fdb-site-banner-mark {
    position: relative;
    display: grid;
    flex: 0 0 72px;
    width: 72px;
    height: 78px;
    place-items: center;
    color: #1c1f24;
}

.fdb-site-banner-mark::before {
    content: "";
    position: absolute;
    inset: 7px 8px 3px;
    border: 3px solid currentColor;
    border-top-width: 4px;
    border-radius: 9px 9px 27px 27px;
    clip-path: polygon(50% 0, 100% 13%, 100% 65%, 83% 84%, 50% 100%, 17% 84%, 0 65%, 0 13%);
    opacity: .96;
}

.fdb-site-banner-mark-top {
    position: absolute;
    top: 2px;
    left: 14px;
    width: 44px;
    height: 4px;
    border-radius: 99px;
    background: var(--fdb-accent);
    transform: rotate(4deg);
    transform-origin: left center;
}

.fdb-site-banner-mark .fdb-public-icon {
    position: relative;
    z-index: 1;
    width: 29px;
    height: 29px;
    opacity: .4;
}

.fdb-site-banner-wordmark {
    display: grid;
    grid-template-columns: auto 1px auto;
    align-items: center;
    gap: 20px;
    min-width: 0;
    line-height: .95;
}

.fdb-site-banner-wordmark > strong {
    color: inherit;
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: clamp(42px, 4vw, 67px);
    font-weight: 900;
    letter-spacing: .015em;
    line-height: .82;
}

.fdb-site-banner-divider {
    width: 1px;
    height: 66px;
    background: currentColor;
    opacity: .28;
}

.fdb-site-banner-stack {
    display: grid;
    gap: 3px;
    color: inherit;
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: clamp(21px, 2vw, 31px);
    font-weight: 800;
    letter-spacing: .095em;
    line-height: .92;
}

.fdb-site-banner-stack b {
    font: inherit;
}

.fdb-site-banner-geometry,
.fdb-site-banner::before,
.fdb-site-banner::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.fdb-site-banner::before {
    z-index: 0;
    inset: 0 0 0 42%;
    background:
        repeating-linear-gradient(132deg, transparent 0 74px, rgba(30,34,40,.052) 75px 76px, transparent 77px 111px),
        linear-gradient(132deg, transparent 0 52%, rgba(30,34,40,.032) 52% 62%, transparent 62% 100%);
}

.fdb-site-banner::after {
    z-index: 0;
    top: 0;
    right: -4%;
    width: 38%;
    height: 100%;
    border-left: 1px solid rgba(30,34,40,.045);
    transform: skewX(-25deg);
}

.fdb-site-banner-geometry {
    z-index: 0;
    top: -45%;
    right: 8%;
    width: 330px;
    height: 190%;
    border-right: 1px solid rgba(30,34,40,.055);
    border-left: 1px solid rgba(30,34,40,.035);
    transform: skewX(-25deg);
}

/* Navigation becomes its own clean row below the banner. */
.fdb-site-header {
    position: relative;
    isolation: auto;
    overflow: visible;
    border-top: 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    background: #fff;
}

.fdb-site-header::before,
.fdb-site-header::after {
    display: none;
}

.fdb-site-header-inner,
.fdb-public-home-page .fdb-site-header-inner {
    display: block;
    width: min(1540px, calc(100% - 40px));
    min-height: 62px;
    margin: 0 auto;
}

.fdb-site-header .fdb-site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 62px;
    gap: 4px;
}

.fdb-site-header .fdb-site-nav > a {
    min-height: 48px;
    padding-inline: 13px;
}

html[data-fdb-theme="dark"] .fdb-site-banner {
    color: #f5f5f3;
    background: #111214;
}

html[data-fdb-theme="dark"] .fdb-site-banner-brand,
html[data-fdb-theme="dark"] .fdb-site-banner-wordmark,
html[data-fdb-theme="dark"] .fdb-site-banner-mark {
    color: #f5f5f3 !important;
}

html[data-fdb-theme="dark"] .fdb-site-banner::before {
    background:
        repeating-linear-gradient(132deg, transparent 0 74px, rgba(255,255,255,.048) 75px 76px, transparent 77px 111px),
        linear-gradient(132deg, transparent 0 52%, rgba(255,255,255,.028) 52% 62%, transparent 62% 100%);
}

html[data-fdb-theme="dark"] .fdb-site-banner::after,
html[data-fdb-theme="dark"] .fdb-site-banner-geometry {
    border-color: rgba(255,255,255,.05);
}

html[data-fdb-theme="dark"] .fdb-site-header {
    background: #111214;
}

html:not([data-fdb-theme="dark"]) .fdb-site-header {
    background: #fbfbfc;
}

@media (max-width: 980px) {
    .fdb-site-banner-inner {
        min-height: 112px;
    }
    .fdb-site-banner-mark {
        flex-basis: 61px;
        width: 61px;
        height: 66px;
    }
    .fdb-site-banner-mark-top {
        left: 12px;
        width: 37px;
    }
    .fdb-site-banner-wordmark {
        gap: 15px;
    }
    .fdb-site-banner-divider {
        height: 54px;
    }
    .fdb-site-banner-wordmark > strong {
        font-size: clamp(36px, 7vw, 54px);
    }
    .fdb-site-banner-stack {
        font-size: clamp(18px, 3.2vw, 25px);
    }
    .fdb-site-header .fdb-site-nav {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: thin;
    }
}

@media (max-width: 640px) {
    .fdb-site-banner-inner {
        width: min(100% - 28px, 1540px);
        min-height: 94px;
        padding: 15px 0;
    }
    .fdb-site-banner-brand {
        gap: 13px;
    }
    .fdb-site-banner-mark {
        flex-basis: 49px;
        width: 49px;
        height: 54px;
    }
    .fdb-site-banner-mark::before {
        inset: 6px 5px 2px;
        border-width: 2px;
        border-top-width: 3px;
    }
    .fdb-site-banner-mark-top {
        left: 10px;
        width: 30px;
        height: 3px;
    }
    .fdb-site-banner-mark .fdb-public-icon {
        width: 20px;
        height: 20px;
    }
    .fdb-site-banner-wordmark {
        grid-template-columns: auto 1px auto;
        gap: 10px;
    }
    .fdb-site-banner-divider {
        height: 42px;
    }
    .fdb-site-banner-wordmark > strong {
        font-size: clamp(30px, 9vw, 42px);
    }
    .fdb-site-banner-stack {
        gap: 2px;
        font-size: clamp(13px, 4.2vw, 18px);
        letter-spacing: .075em;
    }
    .fdb-site-banner::before {
        left: 58%;
        opacity: .7;
    }
    .fdb-site-header-inner,
    .fdb-public-home-page .fdb-site-header-inner {
        width: min(100% - 20px, 1540px);
    }
}


/* -------------------------------------------------------------------------
 * v1.7.2 — Concept 3 integrated banner
 * ---------------------------------------------------------------------- */
.fdb-site-banner.fdb-site-banner-concept3 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    border-top: 0;
    border-bottom: 1px solid var(--fdb-border-soft);
    color: #111318;
    background:
        radial-gradient(circle at 50% 8%, rgba(223,36,52,.035), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f8f8f6 100%);
}

.fdb-site-banner-concept3::before,
.fdb-site-banner-concept3::after {
    display: none;
}

.fdb-site-banner-concept3 .fdb-site-banner-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: min(1540px, calc(100% - 40px));
    min-height: 292px;
    margin: 0 auto;
    padding: 30px 0 0;
}

.fdb-site-banner-brand-concept3 {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(980px, 82%);
    min-height: 194px;
    margin: 0 auto;
    gap: 12px;
    color: #101114 !important;
    text-align: center;
    text-decoration: none !important;
}

.fdb-site-banner-brand-concept3::before,
.fdb-site-banner-brand-concept3::after {
    content: "";
    position: absolute;
    top: 20px;
    width: 28px;
    height: 28px;
    border-top: 2px solid var(--fdb-accent);
    pointer-events: none;
}

.fdb-site-banner-brand-concept3::before {
    left: 0;
    border-left: 2px solid var(--fdb-accent);
}

.fdb-site-banner-brand-concept3::after {
    right: 0;
    border-right: 2px solid var(--fdb-accent);
}

.fdb-site-banner-topline {
    display: grid;
    grid-template-columns: minmax(70px, 290px) 42px minmax(70px, 290px);
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: min(100%, 720px);
    color: currentColor;
}

.fdb-site-banner-topline > span {
    height: 1px;
    background: currentColor;
    opacity: .28;
}

.fdb-site-banner-topline > b {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    font: inherit;
    color: currentColor;
}

.fdb-site-banner-topline .fdb-public-icon {
    width: 38px;
    height: 38px;
    stroke-width: 1.75;
}

.fdb-site-banner-wordmark-concept3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: inherit;
    line-height: 1;
}

.fdb-site-banner-wordmark-concept3 > strong {
    color: inherit;
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: clamp(58px, 6vw, 94px);
    font-weight: 900;
    letter-spacing: .018em;
    line-height: .9;
    text-transform: uppercase;
    white-space: nowrap;
}

.fdb-site-banner-database-row {
    display: grid;
    grid-template-columns: minmax(50px, 112px) auto minmax(50px, 112px);
    align-items: center;
    gap: 28px;
    color: var(--fdb-accent);
}

.fdb-site-banner-database-row > i {
    display: block;
    width: 100%;
    height: 2px;
    background: currentColor;
    opacity: .9;
}

.fdb-site-banner-database-row > b {
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: clamp(26px, 2.9vw, 42px);
    font-weight: 400;
    font-style: normal;
    letter-spacing: .27em;
    line-height: 1;
    text-indent: .27em;
}

/* Faint football-pitch geometry from Concept 3. */
.fdb-site-banner-pitch {
    position: absolute;
    z-index: 0;
    top: 32px;
    width: 215px;
    height: 196px;
    border: 2px solid currentColor;
    color: #111318;
    opacity: .075;
    pointer-events: none;
}

.fdb-site-banner-pitch-left {
    left: -58px;
}

.fdb-site-banner-pitch-right {
    right: -58px;
}

.fdb-site-banner-pitch::before {
    content: "";
    position: absolute;
    top: 48px;
    width: 86px;
    height: 98px;
    border: 2px solid currentColor;
}

.fdb-site-banner-pitch-left::before {
    left: -2px;
    border-left: 0;
}

.fdb-site-banner-pitch-right::before {
    right: -2px;
    border-right: 0;
}

.fdb-site-banner-pitch::after {
    content: "";
    position: absolute;
    top: 82px;
    width: 58px;
    height: 58px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.fdb-site-banner-pitch-left::after {
    left: 82px;
    clip-path: inset(0 0 0 50%);
}

.fdb-site-banner-pitch-right::after {
    right: 82px;
    clip-path: inset(0 50% 0 0);
}

/* Full navigation is part of the Concept 3 banner, not a separate bar. */
.fdb-site-banner-nav {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    margin-top: auto;
    padding: 7px 0;
    gap: 2px;
    border-top: 1px solid rgba(17,19,24,.11);
}

.fdb-site-banner-nav > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 12px;
    gap: 7px;
    border: 0 !important;
    border-radius: 0;
    color: #4a4f58 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .015em;
    text-decoration: none !important;
    white-space: nowrap;
}

.fdb-site-banner-nav > a::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 1px;
    left: 12px;
    height: 2px;
    border-radius: 99px;
    background: var(--fdb-accent);
    opacity: 0;
    transform: scaleX(.55);
    transition: opacity .16s ease, transform .16s ease;
}

.fdb-site-banner-nav > a:hover,
.fdb-site-banner-nav > a:focus-visible {
    color: #111318 !important;
}

.fdb-site-banner-nav > a:hover::after,
.fdb-site-banner-nav > a:focus-visible::after,
.fdb-site-banner-nav > a.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.fdb-site-banner-nav > a.is-active {
    color: #111318 !important;
}

.fdb-site-banner-nav .fdb-site-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    opacity: .62;
}

.fdb-site-banner-nav .fdb-site-nav-icon .fdb-public-icon {
    width: 17px;
    height: 17px;
}

/* Concept 3 dark treatment mirrors the approved mockup. */
html[data-fdb-theme="dark"] .fdb-site-banner.fdb-site-banner-concept3 {
    color: #f4f4f1;
    background:
        radial-gradient(circle at 50% 4%, rgba(255,255,255,.028), transparent 31%),
        linear-gradient(180deg, #151719 0%, #101214 100%);
}

html[data-fdb-theme="dark"] .fdb-site-banner-brand-concept3,
html[data-fdb-theme="dark"] .fdb-site-banner-wordmark-concept3 {
    color: #f4f4f1 !important;
}

html[data-fdb-theme="dark"] .fdb-site-banner-pitch {
    color: #f4f4f1;
    opacity: .09;
}

html[data-fdb-theme="dark"] .fdb-site-banner-nav {
    border-top-color: rgba(255,255,255,.11);
}

html[data-fdb-theme="dark"] .fdb-site-banner-nav > a {
    color: #aeb1b7 !important;
}

html[data-fdb-theme="dark"] .fdb-site-banner-nav > a:hover,
html[data-fdb-theme="dark"] .fdb-site-banner-nav > a:focus-visible,
html[data-fdb-theme="dark"] .fdb-site-banner-nav > a.is-active {
    color: #fff !important;
}

/* The banner now owns the site's primary wordmark, so avoid repeating it
   immediately inside the homepage dashboard. */
.fdb-public-home-page .fdb-site-home .fdb-home-hero-copy > .fdb-home-eyebrow,
.fdb-public-home-page .fdb-site-home .fdb-home-hero-copy > h1,
.fdb-public-home-page .fdb-site-home .fdb-home-hero-copy > p {
    display: none !important;
}

.fdb-public-home-page .fdb-site-home .fdb-home-search {
    margin-top: 0 !important;
}

html:not([data-fdb-theme="dark"]) .fdb-public-home-page .fdb-site-home .fdb-home-hero,
html[data-fdb-theme="dark"] .fdb-public-home-page .fdb-site-home .fdb-home-hero {
    padding-top: 30px;
}

@media (max-width: 1180px) {
    .fdb-site-banner-concept3 .fdb-site-banner-inner {
        min-height: 278px;
    }

    .fdb-site-banner-brand-concept3 {
        width: min(900px, 88%);
        min-height: 184px;
    }

    .fdb-site-banner-wordmark-concept3 > strong {
        font-size: clamp(52px, 6.8vw, 78px);
    }

    .fdb-site-banner-nav {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .fdb-site-banner-nav > a {
        flex: 0 0 auto;
        padding-inline: 12px;
    }

    .fdb-site-banner-pitch {
        opacity: .055;
    }
}

@media (max-width: 760px) {
    .fdb-site-banner-concept3 .fdb-site-banner-inner {
        width: min(100% - 24px, 1540px);
        min-height: 230px;
        padding-top: 22px;
    }

    .fdb-site-banner-brand-concept3 {
        width: 100%;
        min-height: 144px;
        gap: 8px;
    }

    .fdb-site-banner-brand-concept3::before,
    .fdb-site-banner-brand-concept3::after {
        top: 8px;
        width: 18px;
        height: 18px;
    }

    .fdb-site-banner-topline {
        grid-template-columns: minmax(34px, 120px) 32px minmax(34px, 120px);
        gap: 11px;
        width: min(82%, 410px);
    }

    .fdb-site-banner-topline > b {
        width: 32px;
        height: 32px;
    }

    .fdb-site-banner-topline .fdb-public-icon {
        width: 29px;
        height: 29px;
    }

    .fdb-site-banner-wordmark-concept3 > strong {
        font-size: clamp(34px, 10vw, 58px);
        white-space: normal;
    }

    .fdb-site-banner-database-row {
        grid-template-columns: minmax(28px, 65px) auto minmax(28px, 65px);
        gap: 14px;
    }

    .fdb-site-banner-database-row > b {
        font-size: clamp(19px, 5vw, 28px);
        letter-spacing: .22em;
        text-indent: .22em;
    }

    .fdb-site-banner-pitch {
        top: 26px;
        width: 145px;
        height: 132px;
        opacity: .045;
    }

    .fdb-site-banner-pitch-left {
        left: -88px;
    }

    .fdb-site-banner-pitch-right {
        right: -88px;
    }

    .fdb-site-banner-pitch::before {
        top: 32px;
        width: 59px;
        height: 67px;
    }

    .fdb-site-banner-pitch::after {
        top: 54px;
        width: 42px;
        height: 42px;
    }

    .fdb-site-banner-pitch-left::after {
        left: 54px;
    }

    .fdb-site-banner-pitch-right::after {
        right: 54px;
    }

    .fdb-site-banner-nav {
        min-height: 58px;
        padding-block: 5px;
    }

    .fdb-site-banner-nav > a {
        min-height: 44px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .fdb-site-banner-concept3 .fdb-site-banner-inner {
        width: min(100% - 16px, 1540px);
        min-height: 214px;
        padding-top: 18px;
    }

    .fdb-site-banner-brand-concept3 {
        min-height: 132px;
    }

    .fdb-site-banner-wordmark-concept3 > strong {
        font-size: clamp(31px, 10.5vw, 44px);
    }

    .fdb-site-banner-database-row > b {
        font-size: 18px;
    }

    .fdb-site-banner-nav .fdb-site-nav-icon {
        display: none;
    }
}


/* =========================================================
 * v1.7.4 — Typography Lab single source of truth
 * Historical releases used local/hard-coded font declarations. All public
 * typography now resolves through --fdb-font-ui / --fdb-font-display, whose
 * live values are injected from Typography Lab after this stylesheet.
 * ========================================================= */
.fdb-public-profile-page {
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
}

.fdb-public-profile-page button,
.fdb-public-profile-page input,
.fdb-public-profile-page select,
.fdb-public-profile-page textarea,
.fdb-public-profile-page option,
.fdb-public-profile-page table,
.fdb-public-profile-page .fdb-site-nav,
.fdb-public-profile-page .fdb-site-utility {
    font-family: var(--fdb-font-ui, "Roboto Condensed", "Arial Narrow", Arial, sans-serif) !important;
}

.fdb-site-banner-wordmark-concept3 > strong,
.fdb-site-banner-database-row > b,
.fdb-site-home .fdb-home-hero h1,
.fdb-site-brand strong,
.fdb-site-brand em,
.fdb-home-dashboard-four .fdb-home-panel-title,
.fdb-public-profile-page .fdb-public-section-heading h2,
.fdb-public-profile-page .fdb-directory-result-heading h1,
.fdb-public-profile-page .fdb-hub-title-row h1,
.fdb-public-profile-page .fdb-competition-phase-heading h3 {
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif) !important;
}

/* =========================================================
 * v1.7.5 — Subtle public typography size lift
 * Raise UI/body text and homepage section headings by roughly one small
 * desktop-publishing step without changing layout density.
 * ========================================================= */
.fdb-public-profile {
    font-size: 16px;
}

.fdb-site-banner-nav > a {
    font-size: 14px;
}

.fdb-site-seasonbar-inner {
    font-size: 13px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search input[type="search"] {
    font-size: 12px;
}

.fdb-site-seasonbar-tools .fdb-site-nav-search select,
.fdb-site-seasonbar-tools .fdb-site-nav-search button {
    font-size: 11px;
}

.fdb-home-dashboard-four .fdb-home-panel-title {
    font-size: 20px;
}

.fdb-home-stats-heading {
    font-size: 12px;
}

@media (max-width: 680px) {
    .fdb-home-dashboard-four .fdb-home-panel-title {
        font-size: 18px;
    }
}

/* =========================================================
 * v1.7.6 — Targeted homepage micro-size adjustments
 * +1px only in the four user-identified dashboard areas.
 * ========================================================= */
.fdb-home-current-divisions strong {
    font-size: 13px;
}

.fdb-home-transfer-mini-player strong {
    font-size: 12.5px;
}

.fdb-home-transfer-mini-player small {
    font-size: 10.5px;
}

.fdb-home-transfer-mini-club b,
.fdb-home-transfer-destination b {
    font-size: 11px;
}

.fdb-home-transfer-mini-meta strong {
    font-size: 11.5px;
}

.fdb-home-transfer-mini-meta small {
    font-size: 10.5px;
}

.fdb-home-recent-club-main strong {
    font-size: 13px;
}

.fdb-home-recent-club-main small {
    font-size: 11px;
}

.fdb-home-recent-club-date {
    font-size: 10.5px;
}

.fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    font-size: 10.5px;
}

/* =========================================================
 * v1.7.7 — Competition/Season Hub navigation & readability batch
 * ========================================================= */

/* Current Season now occupies the deliberate left-hand slot inside the
   Concept 3 navigation row; the compact utility strip is tools-only. */
.fdb-site-seasonbar-inner {
    justify-content: flex-end;
}

.fdb-site-nav-season {
    position: absolute;
    left: 0;
    top: 50%;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    transform: translateY(-50%);
    color: var(--fdb-muted);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.fdb-site-nav-season strong {
    color: var(--fdb-accent);
    font-weight: 800;
}

html[data-fdb-theme="dark"] .fdb-site-nav-season {
    color: #9ea2aa;
}

/* The large homepage search is intentionally a little more prominent. */
.fdb-site-home .fdb-home-search input[type="search"],
.fdb-site-home .fdb-home-search select {
    font-size: 15px;
}

.fdb-site-home .fdb-home-search button {
    font-size: 14px;
}

/* Database Statistics: one small readability step for both value and label. */
.fdb-site-home .fdb-home-stats-list a strong,
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a strong {
    font-size: 24px;
}

.fdb-site-home .fdb-home-stats-list a > span:nth-child(2),
html[data-fdb-theme="dark"] .fdb-site-home .fdb-home-stats-list a > span:nth-child(2) {
    font-size: 11.5px;
}

/* Season Hub regional browser: larger region labels and simpler Level 5+
   cards. The repetitive club-count line was deliberately removed. */
.fdb-voivodeship-choice {
    font-size: 11px;
}

.fdb-region-division-grid span {
    font-size: 11px;
}

.fdb-region-division-grid strong {
    margin: 4px 0 0;
    font-size: 14px;
    line-height: 1.2;
}

/* Competitions scale to hundreds of divisions by grouping the card grid under
   clear Level headings, while retaining the familiar three-column cards. */
.fdb-competition-level-groups {
    display: grid;
    gap: 26px;
    margin-top: 16px;
}

.fdb-competition-level-group {
    min-width: 0;
}

.fdb-competition-level-heading {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--fdb-border);
}

.fdb-competition-level-heading h3 {
    margin: 0;
    color: var(--fdb-text-strong);
    font-family: var(--fdb-font-display, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
}

.fdb-competition-level-heading span {
    color: var(--fdb-muted);
    font-size: 12px;
}

.fdb-competition-directory-filters {
    grid-template-columns: minmax(190px, 1.35fr) repeat(4, minmax(125px, 1fr));
}

.fdb-competition-directory-filters .fdb-directory-filter-actions {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    .fdb-site-nav-season {
        position: static;
        flex: 0 0 auto;
        min-height: 44px;
        padding: 0 13px 0 2px;
        transform: none;
        border-right: 1px solid var(--fdb-border);
    }

    .fdb-competition-directory-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .fdb-site-nav-season span {
        display: none;
    }

    .fdb-site-nav-season {
        padding-right: 10px;
    }

    .fdb-competition-directory-filters {
        grid-template-columns: 1fr;
    }
}

/* v1.7.8 — Team lifecycle / Club Notes */
.fdb-public-meta-item.fdb-status-merged .fdb-public-meta-value {
    color: var(--fdb-danger);
}

.fdb-team-lifecycle-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 999px;
    color: var(--fdb-muted);
    background: rgba(127,127,127,.06);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
    vertical-align: middle;
}

.fdb-team-lifecycle-badge.is-merged,
.fdb-team-lifecycle-badge.is-dissolved {
    border-color: color-mix(in srgb, var(--fdb-danger) 45%, transparent);
    color: var(--fdb-danger);
    background: color-mix(in srgb, var(--fdb-danger) 8%, transparent);
}

.fdb-team-lifecycle-badge.is-renamed,
.fdb-team-lifecycle-badge.is-reformed {
    border-color: color-mix(in srgb, var(--fdb-accent) 42%, transparent);
    color: var(--fdb-accent);
    background: color-mix(in srgb, var(--fdb-accent) 7%, transparent);
}

.fdb-team-notes-public-list {
    display: grid;
    gap: 10px;
}

.fdb-team-note-public-row {
    padding: 13px 14px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    background: rgba(127,127,127,.035);
}

.fdb-team-note-public-row.is-merged,
.fdb-team-note-public-row.is-dissolved {
    border-left: 3px solid var(--fdb-danger);
}

.fdb-team-note-public-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.fdb-team-note-when {
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 650;
}

.fdb-team-note-public-row p {
    margin: 8px 0 0;
    color: var(--fdb-text);
}

.fdb-team-note-related {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 9px;
}

.fdb-team-note-related > span:first-child {
    color: var(--fdb-muted);
    font-size: 12px;
    font-weight: 650;
}

.fdb-global-search-item strong .fdb-team-lifecycle-badge {
    margin-left: 5px;
}


/* v1.7.9 — Club-colour Team banner */
.fdb-public-team-hero {
    grid-template-columns: 190px minmax(0, 1fr);
    grid-template-areas:
        "logo banner"
        "links meta";
    column-gap: 34px;
    row-gap: 18px;
    align-items: start;
    min-height: 0;
}

.fdb-public-team-logo-box {
    grid-area: logo;
    width: 190px;
    height: 190px;
    margin: 0;
}

.fdb-public-team-hero > .fdb-team-banner {
    grid-area: banner;
}

.fdb-public-team-meta {
    grid-area: meta;
    align-self: start;
    width: 100%;
    margin-top: 0;
}

.fdb-public-team-hero-links {
    grid-area: links;
    align-self: start;
    display: grid;
    gap: 8px;
    margin: 0;
}

.fdb-public-team-hero-links.is-empty {
    min-height: 1px;
}

.fdb-public-team-hero-links .fdb-public-button {
    width: 100%;
}

.fdb-public-facebook-button,
html[data-fdb-theme="dark"] .fdb-public-facebook-button {
    color: #1877f2 !important;
}

.fdb-public-facebook-button:hover,
html[data-fdb-theme="dark"] .fdb-public-facebook-button:hover {
    border-color: rgba(24,119,242,.42);
    color: #1877f2 !important;
    background: rgba(24,119,242,.08);
}

@media (max-width: 980px) {
    .fdb-public-team-hero {
        grid-template-columns: 155px minmax(0, 1fr);
        column-gap: 24px;
    }

    .fdb-public-team-logo-box {
        width: 155px;
        height: 155px;
    }

    .fdb-public-team-hero > .fdb-team-banner {
        min-height: 155px;
    }
}

@media (max-width: 780px) {
    .fdb-public-team-hero {
        grid-template-columns: 1fr;
        grid-template-areas:
            "logo"
            "banner"
            "links"
            "meta";
        gap: 16px;
    }

    .fdb-public-team-logo-box {
        width: 145px;
        height: 145px;
    }

    .fdb-public-team-hero-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .fdb-public-team-logo-box {
        width: 125px;
        height: 125px;
    }

    .fdb-public-team-hero-links {
        grid-template-columns: 1fr;
    }
}


/* v1.7.10 — Current Division / Level strip follows the active theme, not the red accent tint. */
.fdb-public-stat-grid {
    border-color: var(--fdb-border);
    background: var(--fdb-card);
}

.fdb-public-stat-grid .fdb-public-stat-card {
    border-color: var(--fdb-border);
}

html[data-fdb-theme="dark"] .fdb-public-stat-grid,
html:not([data-fdb-theme="dark"]) .fdb-public-stat-grid {
    background: var(--fdb-card);
}

/* v1.7.11 — protect the Current Division / Level strip from generic theme accent classes. */
.fdb-public-stat-grid {
    border-color: var(--fdb-border) !important;
    background: var(--fdb-card) !important;
}
.fdb-public-stat-grid .fdb-public-stat-card {
    border-color: var(--fdb-border) !important;
    background: transparent !important;
}

/* =========================================================
 * v1.7.14 — Mobile alignment + clean identity markers
 * ========================================================= */

/* Global search: real Team logos are shown as transparent logo art. The
   circular treatment is retained only for fallback marks / missing images. */
.fdb-search-suggestion-visual.has-image.is-team-logo {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.fdb-search-suggestion-visual.has-image.is-team-logo img {
    width: 34px;
    height: 34px;
    max-width: 34px;
    max-height: 34px;
    object-fit: contain;
}

/* Map Team logos use the uploaded transparent crest directly. The clean circle
   marker remains the low-zoom representation; actual logos appear from zoom 8. */
.fdb-map-logo-marker {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.fdb-map-logo-marker img {
    display: block;
    width: 36px;
    height: 36px;
    object-fit: contain;
    filter: drop-shadow(0 1px 2px rgba(12, 34, 60, .26));
}

@media (max-width: 1180px) {
    /* Current Season must occupy exactly the same vertical nav track as links. */
    .fdb-site-banner-nav .fdb-site-nav-season {
        align-items: center;
        justify-content: center;
        min-height: 44px;
        line-height: 1;
    }
}

@media (max-width: 720px) {
    /* Four-item Quick groups: item 4 sits directly below item 1. This fixes
       Players / Teams / Stadiums while keeping QUICK: on the same top row. */
    .fdb-directory-presets {
        display: grid;
        grid-template-columns: auto repeat(3, max-content);
        justify-content: start;
        align-items: center;
        column-gap: 7px;
        row-gap: 7px;
    }

    /* Homepage transfer rows use a strict two-club track: player/avatar above,
       old club | arrow | new club below, with each logo and label aligned. */
    .fdb-site-home .fdb-home-transfer-mini-row {
        grid-template-columns: 30px minmax(0, 1fr) 16px 30px minmax(0, 1fr);
        column-gap: 6px;
        row-gap: 5px;
        align-items: center;
    }
    .fdb-site-home .fdb-home-transfer-mini-row > .fdb-directory-person-photo,
    .fdb-site-home .fdb-home-transfer-mini-row > .fdb-directory-person-placeholder {
        grid-column: 1;
        grid-row: 1;
    }
    .fdb-site-home .fdb-home-transfer-mini-player {
        grid-column: 2 / 6;
        grid-row: 1;
        align-self: center;
    }
    .fdb-site-home .fdb-home-transfer-origin,
    .fdb-site-home .fdb-home-transfer-destination {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 6px;
        align-items: center;
    }
    .fdb-site-home .fdb-home-transfer-origin {
        grid-column: 1 / 3;
        grid-row: 2;
    }
    .fdb-site-home .fdb-home-transfer-mini-arrow {
        grid-column: 3;
        grid-row: 2;
        justify-self: center;
    }
    .fdb-site-home .fdb-home-transfer-destination {
        grid-column: 4 / 6;
        grid-row: 2;
    }
    .fdb-site-home .fdb-home-transfer-mini-meta {
        grid-column: 5;
        grid-row: 3;
        justify-self: start;
        text-align: left;
    }

    /* Season Hub side-card headings align to the same second grid column as
       the player/update names rather than drifting to the right on mobile. */
    .fdb-hub-side-card .fdb-public-section-heading {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr) auto;
        column-gap: 10px;
        align-items: start;
        justify-content: stretch;
        width: 100%;
    }
    .fdb-hub-side-card .fdb-public-section-heading > div {
        grid-column: 2;
    }
    .fdb-hub-side-card .fdb-public-section-heading > a {
        grid-column: 3;
        justify-self: end;
    }
}

@media (max-width: 390px) {
    .fdb-directory-presets {
        column-gap: 5px;
    }
    .fdb-directory-preset {
        padding-inline: 7px;
    }
}
@media (max-width: 720px) {
    .fdb-directory-presets > span {
        grid-row: 1 / span 2;
        align-self: start;
        padding-top: 7px;
    }
}

/* v1.7.16 — Current Squad dark-theme readability fixes. */
html[data-fdb-theme="dark"] .fdb-squad-group-heading {
    border-bottom-color: var(--fdb-border-soft);
    color: #a5a7ac;
    background: #17181a;
}

html[data-fdb-theme="dark"] .fdb-squad-group-heading strong {
    color: #f5f6f7;
}

html[data-fdb-theme="dark"] .fdb-squad-player:hover,
html[data-fdb-theme="dark"] .fdb-squad-player:focus-visible {
    color: var(--fdb-text-strong) !important;
    background: #1a1c20;
}

html[data-fdb-theme="dark"] .fdb-squad-player:hover .fdb-squad-player-main strong,
html[data-fdb-theme="dark"] .fdb-squad-player:focus-visible .fdb-squad-player-main strong {
    color: var(--fdb-text-strong) !important;
}

/* v1.7.31: linked Current Division and compact historic club names. */
.fdb-public-stat-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

.fdb-public-stat-link:hover,
.fdb-public-stat-link:focus-visible {
    color: var(--fdb-accent);
}

.fdb-team-historic-names-card {
    padding-top: 18px;
    padding-bottom: 18px;
}

.fdb-team-historic-name-list {
    display: grid;
    gap: 8px;
}

.fdb-team-historic-name-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 12px;
    border: 1px solid var(--fdb-border-soft);
    border-radius: 9px;
    background: #fbfcfe;
}

.fdb-team-historic-name-row span {
    flex: 0 0 auto;
    color: var(--fdb-muted);
    font-size: .86rem;
}

html[data-fdb-theme="dark"] .fdb-team-historic-name-row {
    background: #132231;
}

@media (max-width: 620px) {
    .fdb-team-historic-name-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
}
