/* Un P'tit Plus — refonte organique 2026. Couche non destructive. */
:root{--green:#3fa535;--purple:#502774;--green-light:#eef8eb;--purple-light:#f5eff9;--radius-small:18px;--radius-medium:28px;--radius-large:42px;--shadow-light:0 12px 34px rgba(64,40,82,.07);--shadow-card:0 22px 60px rgba(64,40,82,.12)}
html{scroll-behavior:smooth}body{font-family:'Nunito',sans-serif;font-weight:400;line-height:1.72;background:#fdfcfb;color:#252033}h1,h2,h3,h4,h5,h6{font-family:'Fredoka','Nunito',sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.16}h1{letter-spacing:-.035em}p{line-height:1.78}button,input,textarea,select{font-family:'Nunito',sans-serif}.container{width:min(1200px,calc(100% - 44px))}.section{padding-block:clamp(70px,8vw,118px);position:relative}.section-label{font-family:'Nunito',sans-serif;letter-spacing:.09em;font-weight:900;border-radius:100px;background:var(--green-light);padding:8px 17px;color:#287c27;text-transform:uppercase}.section-label.light{background:rgba(255,255,255,.16);color:#fff}.btn{font-weight:900;border-radius:100px;padding-inline:29px;min-height:54px;box-shadow:0 7px 17px rgba(30,20,45,.08)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #a9d999;outline-offset:4px}.btn-primary{background:var(--green)}.btn-primary:hover{background:#308b2b}.site-header{background:rgba(255,255,255,.96);box-shadow:0 5px 28px rgba(58,35,80,.07);border-bottom:1px solid rgba(80,39,116,.06)}.site-logo img{max-height:75px}.main-navigation a{font-family:'Nunito',sans-serif;font-weight:800;border-radius:100px}.main-navigation a:hover,.main-navigation a.active{color:var(--purple);background:var(--purple-light)}.header-donation-button{box-shadow:0 8px 20px rgba(63,165,53,.18)}
/* Hero organique */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:600px;border-radius:0 0 11% 5% / 0 0 11% 7%;background-color:#442163}.hero::before{content:'';position:absolute;width:390px;height:390px;right:-120px;top:-160px;background:rgba(129,205,111,.22);border-radius:43% 57% 66% 34% / 45% 40% 60% 55%;pointer-events:none;z-index:1}.hero::after{content:'';position:absolute;width:230px;height:230px;left:-95px;bottom:-125px;background:rgba(255,255,255,.13);border-radius:58% 42% 37% 63% / 42% 60% 40% 58%;pointer-events:none;z-index:1}.hero-content{position:relative;z-index:2}.hero h1{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(2.8rem,5.3vw,5.2rem);max-width:850px}.hero p{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:680px}.hero-badge{border-radius:100px;backdrop-filter:blur(8px)}.hero-buttons{gap:14px;flex-wrap:wrap}
/* Sections, cartes, illustrations */
.mission-section{background:#fdfcfb}.mission-section::before{content:'';position:absolute;top:8%;right:2%;width:135px;height:135px;border:19px solid #eaf6e8;border-radius:62% 38% 60% 40%;transform:rotate(25deg);pointer-events:none}.mission-cards,.card-grid{gap:25px}.mission-card,.content-card,.event-card{border-radius:34px 34px 55px 34px;overflow:hidden;box-shadow:var(--shadow-light);transition:transform .3s ease,box-shadow .3s ease}.mission-card:hover,.content-card:hover,.event-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-card)}.mission-card:nth-child(2){border-radius:55px 34px 34px 34px}.mission-card:nth-child(3){border-radius:34px 55px 34px 34px}.mission-card.featured{background:var(--purple)}.mission-card h3,.content-card h3,.event-card h3{font-family:'Fredoka',sans-serif}.content-card-image,.content-card-image img{border-radius:0 0 38px 12px}.statistics-section{background:var(--green-light);border-radius:9% 4% 10% 3% / 10% 5% 8% 4%;margin:15px 0}.news-section{background:#fff}.events-section{border-radius:9% 4% 8% 3% / 7% 6% 8% 5%;overflow:hidden}.support-section{border-radius:6% 10% 0 0 / 9% 12% 0 0;overflow:hidden}.section-heading h2{font-size:clamp(2rem,3.5vw,3.3rem)}.site-footer{position:relative;overflow:hidden}.site-footer::before{content:'';position:absolute;right:-75px;top:-90px;width:230px;height:230px;border-radius:43% 57% 38% 62%;background:rgba(255,255,255,.055);pointer-events:none}
/* Composants transversaux pour toutes les pages */
main :is(article,.card,.news-card,.partner-card,.gallery-card,.gallery-item,.team-card,.member-card,.stat-card,.contact-card,.donation-card,.event-item,.partner-item){border-radius:28px;overflow:hidden}main :is(input:not([type='checkbox']):not([type='radio']),textarea,select){border-radius:17px;min-height:49px}main :is(input,textarea,select):focus{outline-color:var(--green)}main :is(.page-hero,.inner-hero,.page-banner,.banner){border-radius:0 0 9% 5% / 0 0 12% 7%;overflow:hidden}main img{object-fit:cover}main :is(.card,.content-card,.mission-card,.event-card) img{transition:transform .4s ease}main :is(.card,.content-card,.mission-card,.event-card):hover img{transform:scale(1.035)}
@media(max-width:900px){.hero{min-height:520px;border-radius:0 0 9% 6% / 0 0 5% 4%}.hero h1{font-size:clamp(2.5rem,8vw,4.2rem)}.section{padding-block:70px}.statistics-section,.events-section{border-radius:45px 20px 50px 22px}.main-navigation{font-family:'Nunito',sans-serif}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.hero{min-height:500px;border-radius:0 0 55px 25px}.hero::before{width:210px;height:210px;right:-100px;top:-80px}.hero::after{width:130px;height:130px}.hero h1{font-size:clamp(2.3rem,10vw,3.4rem)}.section{padding-block:58px}.mission-card,.content-card,.event-card{border-radius:25px 25px 40px 25px}.statistics-section,.events-section{border-radius:35px 20px 35px 20px}.btn{min-height:49px;padding-inline:20px}.section-heading h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
