:root{--jf-primary:#6c5ce7;--jf-primary-dark:#5a4bd1;--jf-primary-darker:#4a3dbd;--jf-primary-deep:#3d2d9e;--jf-accent:#8b5cf6;--jf-accent-light:#a78bfa;--jf-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--jf-bg-light:#f5f3ff;--jf-bg-medium:#ede9fe;--jf-bg-page:#f0efff;--jf-text:#1e1b4b;--jf-white:#fff;--jf-border:#ddd6fe;--jf-shadow:0 4px 24px rgba(108,92,231,.12);--jf-shadow-hover:0 8px 32px rgba(108,92,231,.2);--jf-radius:12px;--jf-radius-sm:8px;--jf-transition:all .3s cubic-bezier(.4,0,.2,1)}
body.gray-bg{background-color:var(--jf-bg-page)!important}
#header{background:var(--jf-gradient)!important;box-shadow:0 2px 20px rgba(102,126,234,.3)!important}
#header.sticky{background:var(--jf-gradient)!important;box-shadow:0 4px 30px rgba(102,126,234,.35)!important}
#header .nav-item:hover{background-color:rgba(255,255,255,.15)!important;border-radius:var(--jf-radius-sm)}
#header .nav-item h6{letter-spacing:.3px}
#header .nav-item .nav-link img:not(.logo){filter:brightness(0) invert(1);opacity:.9}
#header .nav-item:hover .nav-link img:not(.logo){opacity:1;transform:scale(1.05)}
.logo{filter:brightness(1.15) contrast(1.1)!important}
ul.sub-menu{background:var(--jf-primary-darker)!important;border-top:2px solid var(--jf-accent)!important;border-radius:0 0 var(--jf-radius-sm) var(--jf-radius-sm)!important;box-shadow:0 8px 24px rgba(74,61,189,.3)!important}
ul.sub-menu li:hover{background-color:var(--jf-primary-deep)!important}
#main{background-color:var(--jf-white)!important;border-radius:var(--jf-radius)!important;box-shadow:var(--jf-shadow)!important;padding:24px!important;margin-top:10px}
#main a{color:var(--jf-primary)!important}
#main a:hover{color:var(--jf-primary-dark)!important}
#main h1{color:var(--jf-text)!important;font-weight:700!important}
#main h2,h2.widget{color:var(--jf-primary)!important;font-weight:600!important}
h3.widget{color:var(--jf-primary)!important}
.col1{background-color:var(--jf-primary)!important;color:var(--jf-white)!important;border-right:1px solid rgba(255,255,255,.2)!important;border-left:1px solid rgba(255,255,255,.2)!important}
.col1 a{background-color:var(--jf-primary)!important;color:var(--jf-white)!important}
.col2{background-color:var(--jf-accent)!important;color:var(--jf-white)!important;border-right:1px solid rgba(255,255,255,.2)!important;border-left:1px solid rgba(255,255,255,.2)!important}
.col2 a{background-color:var(--jf-accent)!important;color:var(--jf-white)!important}
.next-date{background-color:var(--jf-bg-medium)!important;font-weight:700!important}
.next-date>*{background-color:var(--jf-bg-medium)!important;font-weight:700!important}
.discussion{background-color:var(--jf-primary-deep)!important}
.discussion-title{background-color:var(--jf-primary)!important}
#comments .col-md-2{background-color:var(--jf-primary-deep)!important}
#comments .col-md-10{background-color:var(--jf-primary)!important}
#last-articles h3{color:var(--jf-primary-dark)!important}
#last-articles span{background-color:var(--jf-primary)!important}
#last-articles h4{color:var(--jf-primary)!important}
.view-blog{background:var(--jf-gradient)!important;border-radius:var(--jf-radius-sm)!important;border:none!important;font-weight:500}
.btn.active.btn-succes,.btn-primary{background-color:var(--jf-primary)!important;border-color:var(--jf-primary)!important;color:var(--jf-white)!important;border-radius:var(--jf-radius-sm)!important}
.blue-color{color:var(--jf-primary)!important}
.contact-form button{background:var(--jf-gradient)!important;border:none!important;border-radius:var(--jf-radius-sm)!important;color:var(--jf-white)!important}
.bg-gris1{background-color:var(--jf-bg-light)!important}
.bg-gris2{background-color:var(--jf-bg-medium)!important}
.bg-gris3{background-color:var(--jf-border)!important}
.jf-widget-title{color:var(--jf-primary)!important}
.jf-widget-cta{background:var(--jf-gradient)!important;color:var(--jf-white)!important;border:none!important;border-radius:var(--jf-radius-sm)!important}
.jf-widget-cta.secondary{background:transparent!important;color:var(--jf-primary)!important;border:2px solid var(--jf-primary)!important}
a.article{border:1px solid var(--jf-border)!important;border-radius:var(--jf-radius-sm)!important;overflow:hidden}
::selection{background-color:var(--jf-accent);color:var(--jf-white)}

/* === HERO BANNER (pages jours feries / fetes) =============== */
/* Surclasse #main h2 + polish design : depth, glassmorphism, micro-anim */
#main div[style*="linear-gradient(135deg,#667eea"]{border-radius:var(--jf-radius)!important;padding:28px 32px 24px!important;box-shadow:0 8px 32px rgba(102,126,234,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;position:relative;overflow:hidden;margin-bottom:20px}
#main div[style*="linear-gradient(135deg,#667eea"]::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,transparent 70%);pointer-events:none;z-index:0}
#main div[style*="linear-gradient(135deg,#667eea"]>*{position:relative;z-index:1}
#main div[style*="linear-gradient(135deg,#667eea"] h2{color:#fff!important;font-weight:700!important;font-size:1.5em!important;letter-spacing:.3px!important;text-shadow:0 1px 3px rgba(0,0,0,.2)!important;margin:0!important}
#main div[style*="linear-gradient(135deg,#667eea"] span[style*="border-radius:20px"]{background:rgba(255,255,255,.2)!important;border:1px solid rgba(255,255,255,.32)!important;padding:7px 16px!important;border-radius:999px!important;font-size:.88em!important;font-weight:600!important;letter-spacing:.4px!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:var(--jf-transition);white-space:nowrap}
#main div[style*="linear-gradient(135deg,#667eea"] span[style*="border-radius:20px"]:hover{background:rgba(255,255,255,.28)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
#main div[style*="linear-gradient(135deg,#667eea"] p{color:#fff!important;font-weight:400!important;font-size:1.75em!important;letter-spacing:.2px!important;text-shadow:0 1px 2px rgba(0,0,0,.12)!important;line-height:1.25!important}
@media (max-width:767px){#main div[style*="linear-gradient(135deg,#667eea"]{padding:22px 20px 18px!important}#main div[style*="linear-gradient(135deg,#667eea"] h2{font-size:1.22em!important}#main div[style*="linear-gradient(135deg,#667eea"] p{font-size:1.4em!important}}

/* === HEADER: centrage vertical du logo ===================== */
/* Le <a> du logo ne fait que 60px dans un <li> de 71px -> flex pour recentrer */
#header ul.navbar-nav>li:first-child>a.nav-link{display:flex!important;align-items:center!important;justify-content:center!important;height:71px!important;padding:0!important}
