@import url('https://fonts.googleapis.com/css2?family=Reem+Kufi:wght@400;500;600;700&family=Source+Code+Pro:wght@400;500&display=swap');

@font-face {
    font-family: 'Decima Nova';
    src: url('fonts/Decima_Nova.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Decima Nova';
    src: url('fonts/Decima_Nova_Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Decima Nova';
    src: url('fonts/Decima_Nova_Light_Italic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

body, div, span, table, th, td, h1, h2, h3, h4, h5, h6 {
    font-family:  "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.page-title {
    color: var(--dark);
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Reem Kufi', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
}

.app-container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 16px;
}

:root {
    --background: #F6F6F6;
    --lightgray: #E5E5E5;
    --gray: #D2D2D2;
    --dark: #212121;
    --ranking-font: 'Decima Nova', sans-serif; /* Change this to try a different ranking font */
}

/* Filters row */
.filters-wrapper {
    padding: 18px;
    border-radius: 24px;
    background-color: var(--lightgray);
    border: 1px solid var(--gray);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
}

.filters-heading {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 14px;
    color: var(--dark);
}

.filters-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}

.filter-card {
    flex: 1;
    min-width: 220px;
    padding: 16px;
    border-radius: 18px;
    background-color: var(--background);
    border: 1px solid var(--gray);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.04);
}

.filter-title {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--dark);
}

/* Ranking panel layout */
.ranking-panel {
    flex: 0 0 62%;
    display: flex;
    flex-direction: column;
    gap: 22px;
    font-family: var(--ranking-font) !important;
}

.ranking-panel,
.ranking-panel * {
    font-family: var(--ranking-font) !important;
}

/* Homepage tabs */
.homepage-tabs {
    border-bottom: 1px solid var(--gray);
}
.homepage-tab {
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    background-color: transparent;
    border: 1px solid transparent;
    border-bottom: none;
}
.homepage-tab:hover {
    color: #000;
}
.homepage-tab--selected {
    background-color: #fff;
    border: 1px solid var(--gray);
    border-bottom: 1px solid #fff;
    border-radius: 12px 12px 0 0;
}
.tab-content {
    padding: 20px 0;
}

/* Player header */
.player-header {
    padding: 14px 20px;
    border-radius: 12px;
    background: linear-gradient(170deg, var(--gray) 0%, var(--gray) 50%, var(--lightgray) 100%);
    color: var(--dark);
    font-size: 17px;
    display: flex;
    gap: 20px;
    align-items: center;
    font-weight: 600;
    margin-bottom: 6px;
}


.player-row {
    display: flex;
    gap: 12px;
    padding: 14px 20px;
    border-radius: 12px;
    background-color: var(--gray);
    color: var(--dark);
    cursor: pointer;
    font-size: 17px;
    align-items: center;
}

.collapse {
    margin-top: 8px;
    padding: 0;
}

.no-results {
    padding: 24px;
    border-radius: 16px;
    background-color: var(--background);
    border: 1px solid var(--gray);
    color: var(--dark);
    font-size: 16px;
}

.player-item {
    margin-bottom: 4px;
}

/* Base table styling */
.history-table {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #212121;
}

/* Header */
.history-table th {
    text-align: left;
    font-weight: 600;
    padding: 4px 4px;
    border-bottom: 1px solid #D2D2D2;
    border-right: 1px solid #D2D2D2;
}

/* Remove right border on last header cell */
.history-table th:last-child {
    border-right: none;
}

/* Body rows */
.history-row td {
    padding: 4px 4px; /* vertical + horizontal spacing */
    border-bottom: 1px solid #D2D2D2; /* horizontal line */
    border-right: 1px solid #D2D2D2;  /* vertical line */
}

/* Remove right border on last column */
.history-row td:last-child {
    border-right: none;
}

/* Optional: remove bottom border on last row */
.history-row:last-child td {
    border-bottom: none;
}



/* Optional: subtle zebra stripes */
.history-table tr:nth-child(even) {
    background-color: #fafafa;
}



/* Right-aligned rank number */
.col-rank {
    width: 40px;
    text-align: right;
}

/* Name expands to fill remaining space */
.col-name {
    flex: 1;
}

/* Fixed-width columns for Verband */
.col-verband {
    width: 80px;
    text-align: left;
}


/* Fixed-width columns for Jahrgang */
.col-jahrgang {
    width: 80px;
    text-align: left;
}


/* Fixed-width columns for Elo + change */
.col-elo {
    width: 80px;
}

.col-change {
    width: 90px;
}


.blog-content img {
    width: 700px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px 0;
}
