/*
Style principal pour Jurande Jeux
Palette : Bleu (#2574a9), Orange (#ff6b35), Violet (#667eea), Vert (#2d7d32)
Font : 'Pacifico' pour titres, 'Roboto' pour texte
*/

:root {
--bleu: #2574a9;
--bleu-clair: #b3d3ee;
--gris-clair: #f7f7f7;
--gris-moyen: #e9e9e9;
--noir: #222;
--orange: #ff6b35;
--orange-clair: #ffb8a1;
--violet: #667eea;
--violet-fonce: #764ba2;
--vert: #2d7d32;
--vert-clair: #c8e6c9;
--font-title: 'Pacifico', cursive;
--font-text: 'Roboto', Arial, sans-serif;
}

/* === BASE === */
html, body {
margin: 0;
padding: 0;
font-family: var(--font-text);
background: var(--gris-clair);
color: var(--noir);
}

/* === HEADER === */
header {
background: #fff;
display: block;
padding: 0;
border-bottom: 2px solid var(--gris-moyen);
}

.bandeau-container {
width: 100vw;
max-width: 100%;
overflow: hidden;
background: #fff;
}

.bandeau-img {
display: block;
width: 100%;
height: auto;
max-height: 130px;
object-fit: cover;
margin: 0 auto;
}

/* === NAVIGATION === */
nav ul {
list-style: none;
display: flex;
gap: 35px;
margin: 0;
padding: 0;
}

nav a {
text-decoration: none;
color: var(--noir);
font-weight: 500;
font-size: 1rem;
transition: color 0.2s;
padding-bottom: 3px;
}

nav a.active,
nav a:hover {
color: var(--bleu);
border-bottom: 2px solid var(--bleu);
}

.festival-link {
background: linear-gradient(135deg, var(--orange), #f7931e) !important;
color: white !important;
border-radius: 15px;
padding: 8px 15px !important;
font-weight: bold;
transition: all 0.3s ease;
border-bottom: none !important;
}

.festival-link:hover,
.festival-link.active {
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
border-bottom: none !important;
color: white !important;
}

/* === BANDEAU FESTIVAL === */
.festival-banner {
background: linear-gradient(135deg, var(--orange), #f7931e);
color: white;
text-align: center;
padding: 15px 20px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
position: relative;
z-index: 10;
}

.festival-banner-content h3 {
margin: 0 0 8px 0;
font-size: 1.2em;
font-weight: bold;
font-family: var(--font-title);
}

.festival-banner-content p {
margin: 0 0 10px 0;
font-size: 0.9em;
}

.festival-banner-btn {
background: white;
color: var(--orange);
padding: 8px 16px;
border-radius: 20px;
text-decoration: none;
font-weight: bold;
font-size: 0.9em;
transition: all 0.3s ease;
display: inline-block;
}

.festival-banner-btn:hover {
background: #f0f0f0;
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* === HERO SECTION === */
.hero {
display: flex;
align-items: center;
justify-content: space-between;
background: #e3e7ea;
padding: 40px 10vw;
min-height: 350px;
gap: 40px;
}

.hero-content {
flex: 1;
}

.hero-content h1 {
font-family: var(--font-title);
font-size: 2.7rem;
color: var(--bleu);
margin-bottom: 10px;
}

.hero-content .highlight {
color: var(--bleu);
}

.hero-content p {
font-size: 1.2rem;
margin-bottom: 28px;
}

.cta-btn {
background: var(--bleu);
color: #fff;
border: none;
padding: 13px 32px;
border-radius: 5px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
text-decoration: none;
transition: background 0.2s;
box-shadow: 0 2px 8px #0001;
display: inline-block;
}

.cta-btn:hover {
background: var(--bleu-clair);
color: var(--bleu);
}

.hero-img img {
width: 270px;
border-radius: 18px;
box-shadow: 0 4px 24px #0002;
}

/* === FEATURES SECTION === */
.features {
background: #fff;
display: flex;
justify-content: center;
gap: 60px;
padding: 40px 0;
margin: 0 0 40px 0;
border-radius: 0 0 20px 20px;
box-shadow: 0 6px 22px #0001;
}

.feature {
display: flex;
flex-direction: column;
align-items: center;
max-width: 220px;
}

.feature img {
height: 70px;
margin-bottom: 12px;
}

.feature h3 {
font-family: var(--font-title);
color: var(--bleu);
margin: 8px 0 6px 0;
font-size: 1.25rem;
}

.feature p {
text-align: center;
color: #444;
font-size: 1rem;
}

/* === GAMES SECTION === */
.best-games {
padding: 30px 0 50px 0;
background: var(--gris-clair);
text-align: center;
}

.best-games h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
margin-bottom: 35px;
}

.games-list {
display: flex;
justify-content: center;
gap: 35px;
flex-wrap: wrap;
margin-bottom: 25px;
}

.game-card {
background: #fff;
border-radius: 16px;
box-shadow: 0 2px 12px #0001;
width: 210px;
padding: 18px 12px 22px 12px;
display: flex;
flex-direction: column;
align-items: center;
transition: transform 0.15s, box-shadow 0.15s;
}

.game-card:hover {
transform: translateY(-7px) scale(1.04);
box-shadow: 0 8px 24px #0002;
}

.game-card img {
width: 140px;
height: 140px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 13px;
box-shadow: 0 2px 10px #0001;
}

.game-card h4 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 1.15rem;
margin: 7px 0 3px 0;
}

.game-card p {
color: #444;
font-size: 0.98rem;
margin: 0;
text-align: center;
}

/* === CALENDAR SECTION === */
.calendar {
padding: 40px 0;
background: var(--gris-clair);
text-align: center;
}

.calendar h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
margin-bottom: 30px;
}

/* === NAVIGATION CALENDRIER === */
.calendar-navigation {
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
margin-bottom: 14px;
padding: 0;
}

.nav-btn {
background: var(--bleu);
color: white;
border: none;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
font-size: 1rem;
font-weight: 500;
transition: all 0.3s ease;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.nav-btn:hover {
background: var(--bleu-clair);
color: var(--bleu);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(37, 116, 169, 0.2);
}

.current-month {
font-family: var(--font-title);
color: var(--bleu);
font-size: 1.7rem;
margin: 0 10px;
}

/* === TABLEAU CALENDRIER === */
.calendar-month {
margin: 0 auto 18px auto;
border-collapse: collapse;
background: #fff;
border-radius: 14px;
box-shadow: 0 2px 14px #0001;
min-width: 320px;
max-width: 650px;
width: 98%;
table-layout: fixed;
}

.calendar-month th {
background: var(--bleu-clair);
color: var(--bleu);
font-family: var(--font-title);
font-size: 1.1rem;
padding: 10px 0;
border-bottom: 2px solid var(--bleu);
}

.calendar-month td {
height: 68px;
width: 14.28%;
text-align: center;
vertical-align: top;
font-size: 1.05rem;
color: #333;
background: #fff;
border: 1px solid var(--gris-moyen);
position: relative;
padding: 4px 2px 2px 2px;
}

.calendar-month tr:nth-child(even) td {
background: #f8f8f8;
}

.calendar-month td span:first-child {
display: block;
font-weight: bold;
margin-bottom: 2px;
text-align: center;
font-size: 1.08rem;
}

/* === ÉVÉNEMENTS CALENDRIER === */
.calendar-month .event {
display: block;
font-size: 10px;
margin: 2px auto;
padding: 4px 8px;
border-radius: 6px;
text-align: center;
font-weight: 500;
border: 2px solid var(--bleu);
width: fit-content;
max-width: 100%;
}

.calendar-month .event.jeux {
background: #85D6A7;
color: var(--bleu);
}

.calendar-month .event.magic {
background: #98CB62;
color: var(--bleu);
}

.calendar-month .event.jdr {
background: #9F36A1;
color: #fff;
}

.calendar-month .event.special {
background: #B43C4C;
color: #fff;
}

.calendar-month .evt {
font-size: 0.95rem;
color: inherit;
font-family: var(--font-text);
font-weight: 500;
margin: 0;
line-height: 1.2;
}

/* === LÉGENDE CALENDRIER === */
.calendar-legend {
margin: 18px 0 6px 0;
display: flex;
gap: 20px;
justify-content: center;
flex-wrap: wrap;
align-items: center;
}

.legend-item {
display: inline-flex;
align-items: center;
font-size: 1rem;
font-weight: 500;
padding: 6px 16px;
border-radius: 15px;
border: 2px solid var(--bleu);
gap: 8px;
}

.legend-jeux {
background: #85D6A7;
color: var(--bleu);
}

.legend-magic {
background: #98CB62;
color: var(--bleu);
}

.legend-jdr {
background: #9F36A1;
color: #fff;
}

.legend-special {
background: #B43C4C;
color: #fff;
}

.calendar-info {
color: #666;
font-size: 1rem;
margin-top: 10px;
}

/* === LOCATION SECTION === */
.location {
padding: 60px 20px;
background: var(--gris-clair);
}

.location h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
text-align: center;
margin-bottom: 40px;
}

.location-content {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.location-info h3 {
color: var(--noir);
font-size: 1.5em;
margin-bottom: 20px;
font-family: var(--font-title);
}

.location-details {
display: flex;
flex-direction: column;
gap: 25px;
}

.location-item h4 {
color: var(--bleu);
font-size: 1.1em;
margin-bottom: 8px;
font-weight: bold;
}

.location-item p {
margin-bottom: 5px;
line-height: 1.6;
color: #444;
}

.location-map {
background: white;
padding: 20px;
border-radius: 18px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.location-map iframe {
width: 100%;
height: 300px;
border: none;
border-radius: 10px;
}

.location-map p {
text-align: center;
margin-top: 10px;
}

.location-map a {
color: var(--bleu);
text-decoration: none;
font-weight: bold;
transition: color 0.2s;
}

.location-map a:hover {
color: var(--orange);
}

/* === ABOUT SECTION === */
.about {
background: #fff;
margin: 40px auto 0 auto;
padding: 40px 10vw;
border-radius: 18px;
box-shadow: 0 2px 14px #0001;
max-width: 900px;
}

.about h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 1.7rem;
margin-bottom: 18px;
}

.about p {
color: #333;
font-size: 1.08rem;
}

/* === FOOTER === */
footer {
background: #fff;
margin-top: 45px;
border-top: 2px solid var(--gris-moyen);
padding: 0;
}

.footer-content {
text-align: center;
padding: 30px 0 12px 0;
}

.footer-content h3 {
font-family: var(--font-title);
color: var(--bleu);
margin-bottom: 7px;
}

.footer-content p {
margin: 3px 0;
color: #444;
}

.socials {
margin-top: 10px;
}

.socials a {
display: inline-block;
margin: 0 7px;
transition: transform 0.15s;
}

.socials a:hover {
transform: scale(1.12);
}

.footer-bottom {
background: var(--gris-moyen);
color: #777;
font-size: 0.92rem;
text-align: center;
padding: 7px 0;
border-radius: 0 0 12px 12px;
}

/* === PAGE FESTIVAL === */
/* Hero festival */
.festival-hero {
background: linear-gradient(135deg, var(--violet) 0%, var(--violet-fonce) 100%);
color: white;
text-align: center;
padding: 80px 20px;
}

.festival-hero h1 {
font-size: 3em;
margin-bottom: 10px;
font-family: var(--font-title);
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.festival-hero h2 {
font-size: 2em;
margin-bottom: 20px;
color: #ffd700;
font-family: var(--font-title);
}

.festival-tagline {
font-size: 1.3em;
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}

/* === AFFICHE FESTIVAL === */
.festival-poster {
padding: 30px 20px;
background: var(--gris-clair);
text-align: center;
}

.poster-container {
max-width: 300px;
margin: 0 auto;
padding: 0 20px;
}

.festival-poster-image {
max-width: 100%;
height: auto;
max-height: 350px;
width: auto;
border-radius: 15px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
transition: transform 0.3s ease;
}

.festival-poster-image:hover {
transform: scale(1.03);
}

/* Informations festival */
.festival-info {
padding: 60px 20px;
background: var(--gris-clair);
}

.festival-details {
max-width: 1000px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}

.festival-card {
background: white;
padding: 30px;
border-radius: 18px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
text-align: center;
transition: transform 0.3s ease;
}

.festival-card:hover {
transform: translateY(-5px);
}

.festival-card h3 {
color: var(--bleu);
font-size: 1.4em;
margin-bottom: 20px;
font-family: var(--font-title);
}

.festival-card ul {
list-style: none;
padding: 0;
margin: 0;
}

.festival-card li {
padding: 8px 0;
color: #444;
font-size: 1.1em;
}

.festival-card strong {
color: var(--bleu);
}

/* Programme festival */
.festival-program {
padding: 60px 20px;
max-width: 1200px;
margin: 0 auto;
}

.festival-program h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
text-align: center;
margin-bottom: 50px;
}

.day-program {
margin-bottom: 50px;
}

.day-program h3 {
color: var(--noir);
font-size: 1.8em;
margin-bottom: 30px;
text-align: center;
font-family: var(--font-title);
}

.program-timeline {
display: flex;
flex-direction: column;
gap: 25px;
}

.program-item {
display: grid;
grid-template-columns: 150px 1fr;
gap: 30px;
align-items: center;
background: white;
padding: 25px;
border-radius: 18px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
border-left: 5px solid var(--bleu);
transition: transform 0.3s ease;
}

.program-item:hover {
transform: translateX(10px);
}

.time {
font-weight: bold;
color: var(--bleu);
font-size: 1.1em;
text-align: center;
background: var(--bleu-clair);
padding: 10px;
border-radius: 10px;
}

.activity h4 {
color: var(--noir);
margin-bottom: 8px;
font-size: 1.2em;
font-family: var(--font-title);
}

.activity p {
color: #444;
line-height: 1.6;
}

/* Activités festival */
.festival-activities {
padding: 60px 20px;
background: var(--gris-clair);
}

.festival-activities h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
text-align: center;
margin-bottom: 50px;
}

.activities-grid {
max-width: 1000px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
}

.activity-card {
background: white;
padding: 25px;
border-radius: 18px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
text-align: center;
transition: transform 0.3s ease;
}

.activity-card:hover {
transform: translateY(-10px);
}

.activity-card h3 {
color: var(--bleu);
margin-bottom: 15px;
font-family: var(--font-title);
font-size: 1.3em;
}

.activity-card p {
color: #444;
line-height: 1.6;
}

/* === ÉDITEURS PARTENAIRES === */
.festival-partners-games {
padding: 60px 20px;
background: #fff;
margin: 40px 0;
}

.partners-games-content {
max-width: 1000px;
margin: 0 auto;
text-align: center;
}

.festival-partners-games h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
margin-bottom: 15px;
}

.partners-subtitle {
font-size: 1.1em;
color: #666;
margin-bottom: 40px;
font-style: italic;
}

.editors-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
margin-bottom: 40px;
}

.editor-item {
background: linear-gradient(135deg, var(--bleu-clair) 0%, #e8f3ff 100%);
color: var(--bleu);
padding: 15px 20px;
border-radius: 25px;
font-weight: 600;
font-size: 1.1em;
transition: all 0.3s ease;
border: 2px solid transparent;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.editor-item:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(37, 116, 169, 0.15);
border-color: var(--bleu);
}

.partners-thanks {
font-size: 1.2em;
color: var(--bleu);
font-weight: 500;
margin: 0;
}

/* === PARTENAIRES === */
/* Étiquettes de type */
.partner-type {
display: inline-block;
font-size: 0.75em;
font-weight: bold;
padding: 4px 12px;
border-radius: 12px;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}

/* ASSOCIATIONS - Bleu */
.partner-asso {
border-left: 4px solid var(--bleu);
background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
}

.partner-asso .partner-type {
background: var(--bleu-clair);
color: var(--bleu);
}

.partner-asso .partner-link {
border-color: var(--bleu);
color: var(--bleu);
}

.partner-asso .partner-link:hover {
background: var(--bleu-clair);
}

/* PROFESSIONNELS - Orange */
.partner-pro {
border-left: 4px solid var(--orange);
background: linear-gradient(135deg, #fff 0%, #fff8f5 100%);
}

.partner-pro .partner-type {
background: var(--orange-clair);
color: var(--orange);
}

.partner-pro .partner-link {
border-color: var(--orange);
color: var(--orange);
}

.partner-pro .partner-link:hover {
background: var(--orange-clair);
}

/* ÉDITEURS - Violet */
.partner-editeur {
border-left: 4px solid var(--violet);
background: linear-gradient(135deg, #fff 0%, #f8f7ff 100%);
}

.partner-editeur .partner-type {
background: #d1c8ff;
color: var(--violet);
}

.partner-editeur .partner-link {
border-color: var(--violet);
color: var(--violet);
}

.partner-editeur .partner-link:hover {
background: #d1c8ff;
}

/* INSTITUTIONNELS - Vert */
.partner-institutionnel {
border-left: 4px solid var(--vert);
background: linear-gradient(135deg, #fff 0%, #f1f8e9 100%);
}

.partner-institutionnel .partner-type {
background: var(--vert-clair);
color: var(--vert);
}

.partner-institutionnel .partner-link {
border-color: var(--vert);
color: var(--vert);
}

.partner-institutionnel .partner-link:hover {
background: var(--vert-clair);
}

/* Liens partenaires */
.partner-link {
display: inline-flex;
align-items: center;
gap: 6px;
text-decoration: none;
font-size: 0.9em;
font-weight: 500;
margin-top: 15px;
padding: 6px 12px;
border: 1px solid;
border-radius: 15px;
transition: all 0.3s ease;
}

.partner-link:hover {
transform: translateY(-2px);
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.partner-link svg {
width: 16px;
height: 16px;
}

.partner-link.disabled {
color: #999 !important;
border-color: #ddd !important;
cursor: not-allowed;
}

.partner-link.disabled:hover {
background: none !important;
transform: none;
box-shadow: none;
}

/* Informations pratiques */
.festival-practical {
padding: 60px 20px;
max-width: 1200px;
margin: 0 auto;
}

.festival-practical h2 {
font-family: var(--font-title);
color: var(--bleu);
font-size: 2.1rem;
text-align: center;
margin-bottom: 50px;
}

.practical-info {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 40px;
}

.info-block {
background: white;
padding: 30px;
border-radius: 18px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.info-block h3 {
color: var(--bleu);
margin-bottom: 20px;
font-size: 1.3em;
font-family: var(--font-title);
}

.info-block ul {
list-style: none;
padding: 0;
}

.info-block li {
padding: 8px 0;
border-bottom: 1px solid var(--gris-moyen);
color: #444;
}

.info-block li:last-child {
border-bottom: none;
}

/* Call to action festival */
.festival-cta {
background: linear-gradient(135deg, var(--violet) 0%, var(--violet-fonce) 100%);
color: white;
text-align: center;
padding: 80px 20px;
}

.cta-content h2 {
font-size: 2.5em;
margin-bottom: 20px;
font-family: var(--font-title);
}

.cta-content p {
font-size: 1.3em;
margin-bottom: 30px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}

.cta-buttons {
display: flex;
gap: 20px;
justify-content: center;
flex-wrap: wrap;
}

.cta-btn.secondary {
background: transparent;
border: 2px solid white;
color: white;
}

.cta-btn.secondary:hover {
background: white;
color: var(--violet);
}

/* === RESPONSIVE === */
@media (max-width: 900px) {
.hero {
flex-direction: column;
text-align: center;
padding: 30px 2vw;
}

.hero-img img {
margin-top: 20px;
}

.features {
flex-direction: column;
gap: 30px;
padding: 30px 0;
}

.games-list {
flex-direction: column;
gap: 25px;
}

.about {
padding: 30px 4vw;
}

.location-content {
grid-template-columns: 1fr;
gap: 30px;
}

.program-item {
grid-template-columns: 1fr;
text-align: center;
}

.festival-hero h1 {
font-size: 2em;
}

.festival-hero h2 {
font-size: 1.5em;
}

.practical-info {
grid-template-columns: 1fr;
gap: 30px;
}

.festival-details {
grid-template-columns: 1fr;
}

.activities-grid {
grid-template-columns: 1fr;
}

.cta-buttons {
flex-direction: column;
align-items: center;
}
}

@media (max-width: 600px) {
header {
flex-direction: column;
padding: 0 10px;
align-items: flex-start;
}

.bandeau-logo {
margin: 15px 0 0 10px;
height: 60px;
}

nav ul {
gap: 15px;
font-size: 0.98rem;
flex-wrap: wrap;
padding: 10px;
}

.features {
border-radius: 0;
box-shadow: none;
}

.about {
border-radius: 0;
box-shadow: none;
}

.festival-banner-content h3 {
font-size: 1em;
}

.festival-hero {
padding: 60px 20px;
}

.festival-hero h1 {
font-size: 1.8em;
}

.festival-hero h2 {
font-size: 1.3em;
}

.program-item {
padding: 20px;
}

.time {
font-size: 1em;
padding: 8px;
}

.festival-card,
.activity-card,
.info-block {
padding: 20px;
}

.cta-content h2 {
font-size: 2em;
}

.cta-content p {
font-size: 1.1em;
}

/* Responsive éditeurs */
.editors-grid {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 12px;
}

.editor-item {
padding: 12px 16px;
font-size: 1em;
}

/* Responsive calendrier */
.calendar-navigation {
gap: 10px;
font-size: 1rem;
flex-direction: column;
text-align: center;
margin-bottom: 6px;
}

.nav-btn {
padding: 8px 12px;
font-size: 0.9rem;
}

.current-month {
font-size: 1.2rem;
}

.calendar-month th,
.calendar-month td {
font-size: 0.9rem;
padding: 2px 1px 2px 1px;
}

.calendar-month .event {
font-size: 9px;
padding: 2px 4px;
}

.calendar-legend {
gap: 8px;
font-size: 0.92rem;
}

.legend-item {
padding: 4px 8px;
font-size: 0.89rem;
}
}

@media (max-width: 480px) {
.poster-container {
max-width: 200px;
}

.festival-poster {
padding: 24px 0;
background: var(--gris-clair);
text-align: center;
}

.poster-container {
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
}

.festival-poster-image {
max-width: 220px !important;
max-height: 320px !important;
width: 100%;
height: auto;
border-radius: 10px;
box-shadow: 0 6px 20px rgba(0,0,0,0.18);
transition: transform 0.3s;
display: block;
margin: 0 auto;
object-fit: contain;
}
}
