/* CSS ORIGINAL DU SITE POUR SAINT-JEAN */

:root{--couleur-principale:#e8a287;--couleur-accent:#c9a05c;--couleur-accent-clair:#e8c88a;--couleur-secondaire:#bdc9ba;--couleur-fond:#fafafa;--couleur-texte:#333;--couleur-texte-clair:#666;--blanc:#fff;--font-principale:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-titre:"Georgia",serif;--espacement-xs:0.5rem;--espacement-sm:1rem;--espacement-md:2rem;--espacement-lg:3rem;--espacement-xl:4rem;--rayon-bordure:8px;--rayon-bordure-large:16px;--ombre-legere:0 2px 8px rgba(0,0,0,.08);--ombre-moyenne:0 4px 16px rgba(0,0,0,.12);--ombre-forte:0 8px 24px rgba(0,0,0,.16);--transition-rapide:0.2s ease;--transition-normale:0.3s ease}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{font-family:var(--font-principale);font-size:20px;line-height:1.6;color:var(--couleur-texte);background-color:var(--couleur-fond);overflow-x:hidden}

img{max-width:100%;height:auto;display:block}

a{text-decoration:none;color:inherit;transition:var(--transition-rapide)}

ul{list-style:none}

h1,h2,h3,h4,h5,h6{font-family:var(--font-titre);font-weight:700;line-height:1.2;margin-bottom:var(--espacement-sm);color:var(--couleur-texte)}

h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.75rem,4vw,2.5rem)}
h3{font-size:clamp(1.5rem,3vw,2rem)}
h4{font-size:clamp(1.25rem,2.5vw,1.5rem)}

p{margin-bottom:var(--espacement-sm)}

/* === HEADER MODERNE === */
.header{background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,0.06);position:sticky;top:0;z-index:1000;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}

.header.scrolled{background:rgba(255,255,255,0.97);box-shadow:0 4px 20px rgba(0,0,0,0.10)}

.nav-container{max-width:1200px;margin:0 auto;padding:0.75rem var(--espacement-md);display:flex;align-items:center;justify-content:space-between;transition:padding 0.4s cubic-bezier(0.4,0,0.2,1)}

.header.scrolled .nav-container{padding:0.5rem var(--espacement-md)}

.logo{display:flex;align-items:center;font-family:var(--font-titre);gap:0.85rem;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}

.logo:hover{opacity:.85;transform:scale(1.02)}

.logo img{width:86px;height:86px;flex-shrink:0;border-radius:10px;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 8px rgba(0,0,0,0.08)}

.header.scrolled .logo img{width:72px;height:72px}

.logo-subtitle{font-size:.7rem;font-weight:400;color:var(--couleur-texte-clair);line-height:1.3;font-family:var(--font-principale);font-style:italic;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);letter-spacing:0.01em;max-height:5em;overflow:hidden}

.header.scrolled .logo-subtitle{max-height:0;opacity:0;margin:0}

.nav-menu{display:flex;gap:0.25rem;align-items:center}

.nav-menu li{list-style:none}

.nav-menu a{padding:0.5rem 0.9rem;border-radius:8px;transition:all 0.25s ease;font-size:0.95rem;font-weight:500;color:var(--couleur-texte);position:relative;letter-spacing:0.01em}

.nav-menu a::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--couleur-principale);border-radius:2px;transition:width 0.3s cubic-bezier(0.4,0,0.2,1)}

.nav-menu a:hover{color:var(--couleur-principale);background:rgba(232,162,135,0.08)}

.nav-menu a:hover::after{width:60%}

.nav-menu .btn-primary{color:var(--blanc);background:var(--couleur-principale);padding:0.5rem 1.25rem;border-radius:24px;font-size:0.9rem;box-shadow:0 2px 8px rgba(232,162,135,0.3);transition:all 0.3s ease}

.nav-menu .btn-primary::after{display:none}

.nav-menu .btn-primary:hover{background:#d98f75;color:var(--blanc);transform:translateY(-1px);box-shadow:0 4px 12px rgba(232,162,135,0.4)}

.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:0.5rem;position:relative;width:36px;height:36px;justify-content:center;align-items:center;border-radius:8px;transition:background 0.2s ease}

.menu-toggle:hover{background:rgba(232,162,135,0.1)}

.menu-toggle span{width:22px;height:2.5px;background-color:var(--couleur-principale);border-radius:2px;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);transform-origin:center}

.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.hero{position:relative;height:55vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--blanc)}

.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(17,68%,72%,.75);z-index:2}

.hero-content{position:relative;z-index:3;text-align:center;color:var(--blanc);max-width:800px;padding:var(--espacement-md)}

.hero-title{color:var(--blanc);margin-bottom:var(--espacement-md);text-shadow:2px 2px 4px rgba(0,0,0,.3)}

.hero-subtitle{font-size:clamp(1.25rem,2.5vw,1.75rem);margin-bottom:var(--espacement-lg);text-shadow:1px 1px 2px rgba(0,0,0,.3)}

.btn{display:inline-block;padding:.875rem 2rem;border-radius:var(--rayon-bordure);font-weight:600;text-align:center;cursor:pointer;transition:var(--transition-normale);border:none;font-size:1rem}

.btn-primary{background-color:var(--couleur-principale);color:var(--blanc)}

.btn-primary:hover{background-color:#d98f75;transform:translateY(-2px);box-shadow:var(--ombre-moyenne)}

.btn-accent{background-color:var(--couleur-accent);color:var(--couleur-texte);font-weight:600}

.btn-accent:hover{background-color:#d9b876;transform:translateY(-2px);box-shadow:var(--ombre-moyenne)}

.btn-secondary{background-color:var(--couleur-secondaire);color:var(--couleur-texte)}

.btn-secondary:hover{background-color:#a8b5a4;transform:translateY(-2px)}

.btn-outline{background-color:transparent;color:var(--blanc);border:2px solid var(--blanc)}

.btn-outline:hover{background-color:var(--blanc);color:var(--couleur-principale)}

/* BOUTONS HERO - 3 boutons avec les couleurs du site */
.hero-buttons{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}

.hero-btn{padding:1rem 2rem;border-radius:50px;font-weight:700;font-size:1.05rem;letter-spacing:.5px;text-transform:uppercase;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(0,0,0,.2)}

.hero-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.3)}

/* Nos Valeurs - Couleur principale (terracotta) */
.hero-btn-principale{background-color:var(--couleur-principale);color:var(--blanc);border-color:var(--couleur-principale)}

.hero-btn-principale:hover{background-color:transparent;color:var(--blanc);border-color:var(--blanc)}

/* Notre Projet - Couleur accent (doré) */
.hero-btn-accent{background-color:var(--couleur-accent);color:var(--blanc);border-color:var(--couleur-accent)}

.hero-btn-accent:hover{background-color:transparent;color:var(--blanc);border-color:var(--blanc)}

/* L'Équipe - Couleur secondaire (vert sauge) */
.hero-btn-secondaire{background-color:var(--couleur-secondaire);color:var(--couleur-texte);border-color:var(--couleur-secondaire)}

.hero-btn-secondaire:hover{background-color:transparent;color:var(--blanc);border-color:var(--blanc)}

@media(max-width:768px){
    .hero-buttons{flex-direction:column;align-items:center;gap:.75rem}
    .hero-btn{width:80%;max-width:280px;padding:.875rem 1.5rem;font-size:.95rem}
}

.section{max-width:1200px;margin:0 auto}

.section,.section-full{padding:var(--espacement-xl) var(--espacement-md)}

.section-title{text-align:center;margin-bottom:var(--espacement-lg);position:relative}

.section-title:after{content:"";display:block;width:80px;height:4px;background:var(--couleur-principale);margin:var(--espacement-sm) auto 0;border-radius:2px}

#contact .section-title:after{background:var(--blanc)}

.container{max-width:1200px;margin:0 auto;padding:0 var(--espacement-md)}

.equipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--espacement-md);margin-top:var(--espacement-lg)}

.membre-card{background:var(--blanc);border-radius:var(--rayon-bordure-large);overflow:hidden;box-shadow:var(--ombre-legere);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}

.membre-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.2)}

.membre-photo{width:100%;height:300px;-o-object-fit:cover;object-fit:cover;object-position:center 25%;background-color:var(--couleur-secondaire);transition:transform .4s cubic-bezier(.4,0,.2,1)}

.membre-card:hover .membre-photo{transform:scale(1.1)}

.membre-info{padding:var(--espacement-md);transition:all .3s ease}

.membre-card:hover .membre-info{background:linear-gradient(135deg,hsla(17,68%,72%,.1),hsla(40,67%,73%,.1))}

.membre-nom{font-size:1.5rem;color:var(--couleur-principale);margin-bottom:.5rem;transition:color .3s ease}

.membre-card:hover .membre-nom{color:var(--couleur-accent)}

.membre-role{color:var(--couleur-texte-clair);font-style:italic;margin-bottom:var(--espacement-sm)}

.priorite-card{background:var(--blanc);padding:var(--espacement-md);border-radius:var(--rayon-bordure-large);box-shadow:var(--ombre-legere);transition:var(--transition-normale);border-left:4px solid var(--couleur-principale)}

.priorite-card:nth-child(2){border-left-color:var(--couleur-accent)}

.priorite-card:nth-child(3){border-left-color:var(--couleur-secondaire)}

.priorite-card:hover{box-shadow:var(--ombre-moyenne);transform:translateX(4px)}

.priorite-icon{font-size:3rem}

.priorite-icon,.priorite-title{margin-bottom:var(--espacement-sm)}

.priorite-title{color:var(--couleur-principale)}

.priorite-card:nth-child(2) .priorite-title{color:var(--couleur-accent)}

.priorite-card:nth-child(3) .priorite-title{color:var(--couleur-secondaire)}

.actualites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--espacement-md);margin-top:var(--espacement-lg)}

.article-card{background:var(--blanc);border-radius:var(--rayon-bordure-large);overflow:hidden;box-shadow:var(--ombre-legere);transition:var(--transition-normale)}

.article-card:hover{transform:translateY(-4px);box-shadow:var(--ombre-moyenne)}

.article-image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;background-color:var(--couleur-secondaire)}

.article-content{padding:var(--espacement-md)}

.article-bar{display:block;width:30px;height:4px;background-color:var(--couleur-accent);border-radius:2px;margin-bottom:var(--espacement-sm)}

.article-categorie{display:inline-block;padding:.25rem .75rem;background-color:var(--couleur-accent);color:var(--couleur-texte);border-radius:20px;font-weight:600}

.article-categorie,.article-date{font-size:.875rem;margin-bottom:var(--espacement-sm)}

.article-date{color:var(--couleur-texte-clair);margin-bottom:.5rem}

.article-title{font-size:1.25rem;margin-bottom:0;color:var(--couleur-principale);line-height:1.3}

.article-card{display:block;text-decoration:none}

.visite-360{background:var(--couleur-fond);padding:3rem 0}

.visite-360-header{background:var(--couleur-accent);padding:2rem;text-align:center;border-radius:12px 12px 0 0}

.visite-360-header h2{color:var(--couleur-texte);margin-bottom:.5rem}

.visite-360-header p{margin:0;color:var(--couleur-texte);opacity:.85}

.footer{background-color:var(--couleur-secondaire);color:var(--couleur-texte);padding:var(--espacement-lg) var(--espacement-md) var(--espacement-md);margin-top:0}

.footer-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1.8fr;gap:var(--espacement-xl);align-items:start;padding-bottom:var(--espacement-md)}

.footer-brand{display:flex;flex-direction:column;gap:var(--espacement-sm)}

.footer-logo{height:70px;width:auto;border-radius:8px}

.footer-tagline{font-size:.9rem;line-height:1.5;color:var(--couleur-texte);font-style:italic;margin:0;opacity:.85;max-width:250px}

.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--espacement-lg)}

.footer-title{color:var(--couleur-texte);font-size:1rem;font-weight:700;margin-bottom:var(--espacement-xs);font-family:var(--font-titre)}

.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}

.footer-links a{color:var(--couleur-texte);font-size:.9rem;opacity:.85;transition:all .2s ease}

.footer-links a:hover{color:var(--couleur-principale);opacity:1;transform:translateX(3px)}

.footer-bottom{max-width:1200px;margin:0 auto;padding-top:var(--espacement-md);border-top:1px solid rgba(51,51,51,.15);text-align:center;opacity:.7;font-size:.85rem}

.footer-bottom,.footer-bottom a{color:var(--couleur-texte)}

.footer-bottom a:hover{color:var(--couleur-principale)}

.text-center{text-align:center}

.mb-sm{margin-bottom:var(--espacement-sm)}
.mb-md{margin-bottom:var(--espacement-md)}
.mb-lg{margin-bottom:var(--espacement-lg)}
.mt-sm{margin-top:var(--espacement-sm)}
.mt-md{margin-top:var(--espacement-md)}
.mt-lg{margin-top:var(--espacement-lg)}

/* Animations au scroll */
@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{0%{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}
@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}

.fade-in-up{animation:fadeInUp .6s ease-out}

/* Classes pour animations au scroll - état initial (invisible) */
.scroll-animate {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-animate.from-left {
    transform: translateX(-40px);
}

.scroll-animate.from-right {
    transform: translateX(40px);
}

.scroll-animate.scale-in {
    transform: scale(0.9);
}

/* État visible après scroll */
.scroll-animate.visible {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1);
}

/* Délais pour effet cascade */
.scroll-animate.delay-1 { transition-delay: 0.1s; }
.scroll-animate.delay-2 { transition-delay: 0.2s; }
.scroll-animate.delay-3 { transition-delay: 0.3s; }
.scroll-animate.delay-4 { transition-delay: 0.4s; }
.scroll-animate.delay-5 { transition-delay: 0.5s; }

/* Animation spéciale pour les cartes membres */
.membre-card.scroll-animate {
    transition-delay: calc(var(--card-index, 0) * 0.1s);
}

/* Animation du hero */
.hero-content {
    animation: fadeInUp 1s ease-out 0.3s both;
}

/* Section titles animation */
.section-title.scroll-animate.visible {
    animation: fadeInUp 0.6s ease-out forwards;
}

/* Stats animation */
.stat-item.scroll-animate.visible {
    animation: scaleIn 0.5s ease-out forwards;
}

@media (max-width:768px){
    body{font-size:16px;line-height:1.8}
    p{margin-bottom:1.2rem}
    .nav-container{padding:0.6rem 1rem}
    .logo img{width:56px;height:56px}
    .header.scrolled .logo img{width:44px;height:44px}
    .logo-subtitle{font-size:.6rem;line-height:1.2}
    .nav-menu{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background:rgba(255,255,255,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;justify-content:flex-start;padding:5rem 1.5rem 2rem;gap:0;transition:right 0.35s cubic-bezier(0.4,0,0.2,1);box-shadow:-4px 0 30px rgba(0,0,0,0.12)}
    .nav-menu li{width:100%}
    .nav-menu a{display:block;padding:1.1rem 1rem;width:100%;text-align:left;border-bottom:1px solid rgba(0,0,0,0.05);border-radius:0;font-size:1.05rem}
    .nav-menu a::after{display:none}
    .nav-menu a:hover{background:rgba(232,162,135,0.08);color:var(--couleur-principale)}
    .nav-menu.active{right:0}
    .nav-menu li:last-child a{margin-top:1rem;border-bottom:none}
    .menu-toggle{display:flex}
    .hero{height:45vh;min-height:320px}
    .section,.section-full{padding:3.5rem var(--espacement-sm)}
    .section-title{margin-bottom:2.5rem}
    .equipe-grid,.actualites-grid{gap:2.5rem}
    .equipe-grid,.actualites-grid,.footer-main{grid-template-columns:1fr}
    .membre-photo{height:280px;object-position:center 25%}
    .membre-info{padding:1rem 1rem 1.5rem}
    .membre-nom{font-size:1.15rem}
    .membre-role{font-size:.9rem}
    .priorite-card{padding:1.25rem}
    .priorite-icon{font-size:2.25rem}
    .article-content{padding:1rem}
    .article-image{height:170px}
    .article-title{font-size:1.1rem}
    .programme-card{padding:1.25rem}
    .programme-numero{font-size:1.75rem}
    .programme-titre{font-size:1.15rem}
    .btn{padding:.75rem 1.5rem;font-size:.9rem}
    .footer{padding:2.5rem var(--espacement-sm) var(--espacement-sm)}
    .footer-main{gap:var(--espacement-md);text-align:center}
    .footer-brand{align-items:center}
    .footer-nav{grid-template-columns:1fr;gap:var(--espacement-md)}
}

@media (max-width:480px){
    :root{--espacement-md:1.25rem;--espacement-lg:1.75rem;--espacement-xl:2.5rem}
    body{font-size:15px}
    h1{font-size:clamp(1.6rem,5vw,2.5rem)}
    h2{font-size:clamp(1.4rem,4vw,2rem)}
    h3{font-size:clamp(1.2rem,3vw,1.5rem)}
    .hero{height:40vh;min-height:280px}
    .hero-content{padding:var(--espacement-sm)}
    .hero-subtitle{font-size:1rem}
    .hero-btn{padding:.7rem 1.25rem;font-size:.85rem}
    .section,.section-full{padding:2.5rem 1rem}
    .btn{padding:.65rem 1.25rem;font-size:.85rem}
    .membre-photo{height:260px}
    .membre-info{padding:.75rem .75rem 1.25rem}
    .membre-nom{font-size:1.05rem}
    .priorite-card{padding:1rem}
    .priorite-icon{font-size:2rem}
    .programme-card{padding:1rem}
    .programme-numero{font-size:1.5rem}
    .programme-liste li{margin-bottom:0.4rem;font-size:.9rem}
    .article-image{height:150px}
    .article-content{padding:.75rem}
    .article-title{font-size:1rem}
}

/* CARTES PROGRAMME - 4 AXES */
.programme-card {
    background: var(--blanc);
    border-radius: var(--rayon-bordure-large);
    overflow: hidden;
    box-shadow: var(--ombre-legere);
    transition: all 0.3s ease;
    padding: var(--espacement-md);
    border-left: 5px solid var(--couleur-principale);
    position: relative;
}

.programme-card:nth-child(2) { border-left-color: var(--couleur-accent); }
.programme-card:nth-child(3) { border-left-color: #d98f75; }
.programme-card:nth-child(4) { border-left-color: var(--couleur-secondaire); }

.programme-card:hover {
    box-shadow: var(--ombre-moyenne);
    transform: translateX(4px);
}

.programme-header {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.programme-numero {
    font-family: var(--font-titre);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--couleur-principale);
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.85;
}

.programme-card:nth-child(2) .programme-numero { color: var(--couleur-accent); }
.programme-card:nth-child(3) .programme-numero { color: #d98f75; }
.programme-card:nth-child(4) .programme-numero { color: var(--couleur-secondaire); }

.programme-titre {
    font-family: var(--font-titre);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--couleur-principale);
    margin-bottom: 0.25rem;
}

.programme-card:nth-child(2) .programme-titre { color: var(--couleur-accent); }
.programme-card:nth-child(3) .programme-titre { color: #d98f75; }
.programme-card:nth-child(4) .programme-titre { color: var(--couleur-secondaire); }

.programme-accroche {
    font-weight: 600;
    color: var(--couleur-texte);
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.4;
}

.programme-liste {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
}

.programme-liste li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    line-height: 1.6;
    color: var(--couleur-texte);
}

.programme-liste li::before {
    content: "–";
    position: absolute;
    left: 0;
    color: var(--couleur-principale);
    font-weight: 700;
}

.programme-card:nth-child(2) .programme-liste li::before { color: var(--couleur-accent); }
.programme-card:nth-child(3) .programme-liste li::before { color: #d98f75; }
.programme-card:nth-child(4) .programme-liste li::before { color: var(--couleur-secondaire); }

.programme-conclusion {
    background: rgba(232, 162, 135, 0.1);
    border-left: 4px solid var(--couleur-principale);
    padding: 1rem 1.25rem;
    border-radius: 0 var(--rayon-bordure) var(--rayon-bordure) 0;
    margin-top: 0.5rem;
}

.programme-card:nth-child(2) .programme-conclusion {
    background: rgba(201, 160, 92, 0.1);
    border-left-color: var(--couleur-accent);
}

.programme-card:nth-child(3) .programme-conclusion {
    background: rgba(217, 143, 117, 0.1);
    border-left-color: #d98f75;
}

.programme-card:nth-child(4) .programme-conclusion {
    background: rgba(189, 201, 186, 0.15);
    border-left-color: var(--couleur-secondaire);
}

.programme-conclusion p {
    margin: 0;
    font-weight: 700;
    color: var(--couleur-texte);
    font-size: 1rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .programme-header {
        gap: .75rem;
    }
}

/* CARTE ARTICLE À LA UNE - Page d'accueil */
.article-featured-card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: var(--blanc);
    border-radius: var(--rayon-bordure-large);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
    margin-bottom: var(--espacement-lg);
}

.article-featured-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--ombre-forte);
}

.article-featured-image-container {
    position: relative;
    overflow: hidden;
}

.article-featured-image {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.article-featured-card:hover .article-featured-image {
    transform: scale(1.05);
}

.article-featured-no-image {
    min-height: 280px;
    background: linear-gradient(135deg, var(--couleur-secondaire), var(--couleur-accent-clair));
}

.article-featured-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--couleur-principale);
    color: var(--blanc);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.article-featured-content {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.article-featured-title {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    color: var(--couleur-principale);
    margin-bottom: 0.75rem;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.article-featured-card:hover .article-featured-title {
    color: var(--couleur-accent);
}

.article-featured-excerpt {
    color: var(--couleur-texte-clair);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.article-featured-readmore {
    color: var(--couleur-principale);
    font-weight: 600;
    font-size: 0.95rem;
    transition: color 0.2s ease;
}

.article-featured-card:hover .article-featured-readmore {
    color: var(--couleur-accent);
}

@media (max-width: 768px) {
    .article-featured-card {
        grid-template-columns: 1fr;
    }

    .article-featured-image {
        min-height: 200px;
        max-height: 220px;
    }

    .article-featured-content {
        padding: 1.25rem;
    }
}

/* VISIONNEUSE PDF PROGRAMME */
.programme-pdf-section {
    max-width: 900px;
    margin: var(--espacement-lg) auto 0;
    text-align: center;
}

.programme-pdf-section h3 {
    font-family: var(--font-titre);
    color: var(--couleur-principale);
    margin-bottom: var(--espacement-md);
}

.pdf-viewer-container {
    width: 100%;
    height: 85vh;
    min-height: 500px;
    max-height: 1000px;
    border-radius: var(--rayon-bordure-large);
    box-shadow: var(--ombre-moyenne);
    background: var(--couleur-fond);
    overflow: hidden;
}

.pdf-viewer-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.programme-pdf-download {
    margin-top: var(--espacement-md);
    border-radius: 30px;
}

.programme-pdf-size {
    display: block;
    margin-top: var(--espacement-xs);
    font-size: 0.85rem;
    color: var(--couleur-texte-clair);
}

@media (max-width: 768px) {
    .pdf-viewer-container {
        display: none;
    }

    .programme-pdf-section {
        margin-top: var(--espacement-md);
    }
}

/* MASQUER MÉTADONNÉES JOOMLA */
.article-info,
.com-content-article__info,
dl.article-info,
.icons,
a[href*="task=article.edit"],
.page-header {
    display: none !important
}
