/* --- General Styles --- */
body {
    font-family: 'Georgia', serif;
    margin: 0;
    padding: 0;
    background-color: #f5f5f0;
    color: #333;
    line-height: 1.6;
}

/* --- Header Styles --- */
header {
    background-color: #d2b48c;
    color: #4a3b2f;
    padding: 20px 20px;
    text-align: center;
    border-bottom: 2px solid #b19470;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

header .header-content {
    max-width: 1000px;
    margin: 0 auto;
}

header .subtitle {
    font-style: italic;
    color: #6a5a4a;
    margin-top: 10px;
}

/* --- Main Content Styles --- */
main {
    padding: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

main .content-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

section {
    margin-bottom: 30px;
    background-color: #fffaf0;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #e8e3d9;
}

section h2 {
    font-family: 'Georgia', serif;
    font-weight: bold;
    color: #4a3b2f;
    margin-bottom: 20px;
    border-bottom: 1px solid #e0d8c8;
    padding-bottom: 10px;
}

/* --- Filter Section Styles --- */
#filters-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

/* --- Table Styles --- */
#ranking-table {
    border: 1px solid #e0d8c8;
    width: 100%;
}

/* --- Footer Styles --- */
footer {
    text-align: center;
    padding: 20px;
    background-color: #e8e3d9;
    color: #555;
    width: 100%;
    position: relative;
    bottom: 0;
    border-top: 1px solid #d2b48c;
}

/* --- Tabulator Styles --- */
.tabulator-header {
    background-color: #e8e3d9;
    border-bottom: 1px solid #d2b48c;
}

.tabulator-row:nth-child(even) {
    background-color: #fffaf0;
}

.tabulator-row:hover {
    background-color: #f0ead6;
}

/* --- Filter Dropdown Styles --- */
.filter-container {
    margin-bottom: 15px;
}

.filter-container select {
    padding: 8px;
    border: 1px solid #d2b48c;
    border-radius: 5px;
    background-color: #fffaf0;
}
