/* --- 1. Design Tokens --- */
:root {
    --primary: #0A8F8C;      /* Teal */
    --accent: #FFB703;       /* Sun Gold */
    --accent-light: #FFF8E6;
    --accent-dark: #A16207;  /* สำหรับ Text บนพื้นสีทอง */
    --dark: #0F1724;
    --text-body: #334155;
    --bg: #F4F6F8;
    --surface: #FFFFFF;
    --border: #E2E8F0;
    --light-teal: #E6F4F4;
    
    --font-heading: 'Montserrat Alternates', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    --radius-lg: 16px;
    --radius-md: 8px;
    --shadow-sm: 0 4px 10px rgba(15, 23, 36, 0.05);
    --shadow-lg: 0 10px 20px rgba(15, 23, 36, 0.1);
}

/* --- 2. Base Styles --- */
body {
    background-color: var(--bg);
    font-family: var(--font-body);
    color: var(--text-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--dark);
    font-weight: 700;
}

/* --- 3. Bootstrap Overrides & Helpers --- */
.bg-light-teal { background-color: var(--light-teal); }
.bg-accent-light { background-color: var(--accent-light); }
.text-accent-dark { color: var(--accent-dark); }
.text-accent { color: var(--accent); }

.btn {
    font-weight: 600;
    transition: all 0.3s ease;
}
.btn:hover {
    transform: translateY(-2px);
}
.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover {
    background-color: #087370;
    border-color: #087370;
}
.btn-accent {
    background-color: var(--accent);
    border-color: var(--accent);
    color: var(--accent-dark);
}
.btn-accent:hover {
    background-color: #e6a200;
    border-color: #e6a200;
    color: var(--dark);
}

.card {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.form-control, .form-select {
    border-radius: var(--radius-md);
}

.navbar-brand {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.4rem;
}
.navbar-brand i {
    font-size: 1.2rem;
}

/* --- 4. Page Specific Styles --- */

/* Hero Section */
.hero-section {
    background: linear-gradient(to right, rgba(10, 143, 140, 0.8), rgba(10, 143, 140, 0.3)),
                url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600') no-repeat center center/cover;
}
.hero-headline {
    font-weight: 700;
    color: #FFF;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.hero-subhead {
    color: rgba(255, 255, 255, 0.9);
}

/* Partner Card (โฆษณา) */
.partner-card {
    transition: all 0.3s ease;
}
.partner-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}
.partner-card .card-img-top {
    height: 220px;
    object-fit: cover;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.partner-card .stretched-link::after {
    border-radius: var(--radius-lg);
}

/* Leaderboard */
.leaderboard-rank {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--text-body);
    min-width: 30px;
    text-align: center;
}
.list-group-item:first-child .leaderboard-rank {
    color: var(--accent);
    font-size: 1.5rem;
}
