/* Section Hero & Corps de page */

body{
  background: #E9F2FC;
}

/* Structure globale pour coller le footer en bas */
html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Le contenu principal prend tout l'espace disponible, ce qui pousse le footer vers le bas */
body > .hero,
body > .section {
    flex: 1 0 auto;
}

/* Conteneur générique (remplace .container) */
.hero,
.section {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 1rem;
}

.btn-funfair {
    display: inline-block;
    background-color: #1E3256;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    text-align: center;
}

.btn-funfair:hover {
    background-color: #15233d;
    color: #ffffff;
}

/* Section Hero */
.hero {
    text-align: center;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.hero h1 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #1B4F8E;
}

.hero p {
    font-family: 'Inter', sans-serif;
    font-size: 1.25rem;
    color: #6b7280;
}

/* Sections génériques (remplace .my-5) */
.section {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

/* Cartes funfair (remplace .card/.card-body/.shadow-sm/.h-100) */
.funfair-card {
    height: 100%;
    border: 1px solid #93c5fd;
    border-radius: 14px;
    text-align: left;
    background-color: #ffffff;
}

.funfair-card-body {
    padding: 1.25rem;
}

.funfair-card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: #1B4F8E;
}

.funfair-card h5 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #1B4F8E;
}

.funfair-card p {
    font-family: 'Inter', sans-serif;
    color: #6b7280;
    font-size: 0.95rem;
}

/* Grille de la section présentation (3 cartes) */
.presentation-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
}

@media (min-width: 768px) {
    .presentation-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Grille du mur des vainqueurs de concours */
.concours-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .concours-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.concours-header,
.concours-empty {
    grid-column: 1 / -1;
    text-align: center;
}

.concours-header h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #1B4F8E;
    margin-bottom: 1.5rem;
}

.concours-empty p {
    font-family: 'Inter', sans-serif;
    color: #6b7280;
}

.concours-item p {
    font-family: 'Inter', sans-serif;
    color: #6b7280;
    font-size: 0.875rem;
}

.concours-item .photo {
    width: 100%;
    height: auto;
}
