.purchase-campaign-public { max-width:1240px; margin:auto; }
.purchase-campaign-intro { margin-bottom:1.5rem; padding:1.25rem; border:1px solid #e2d8ec; border-radius:18px; background:#fff; }
.purchase-campaign-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:24px; align-items:start; }
.purchase-gauge-card { display:grid; grid-template-columns:128px minmax(0,1fr); gap:22px; padding:24px; border:1px solid #ded5eb; border-radius:22px; background:#fff; box-shadow:0 16px 38px rgba(76,53,122,.09); }
.purchase-gauge-summary { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; }
.purchase-gauge-summary h3 { flex-basis:100%; margin:0; font-size:clamp(1.45rem,3vw,2.15rem); }
.purchase-gauge-summary strong { font-size:1.1rem; }
.purchase-gauge-summary span { color:#6049b2; font-weight:900; }
.purchase-contributors { flex-basis:100%; margin:.1rem 0; color:#625978; font-weight:750; }
.purchase-gauge-scale { position:relative; min-height:570px; margin-top:34px; }
.purchase-gauge { position:relative; width:104px; min-height:570px; justify-self:center; overflow:hidden; border:4px solid #5f49b0; border-radius:30px; background:#eee9f7; }
.purchase-gauge-scale .purchase-gauge { position:absolute; inset:0 0 0 auto; }
.purchase-gauge-total { position:absolute; top:-34px; right:0; left:0; z-index:5; color:#352478; font-size:.72rem; font-weight:950; line-height:1.15; text-align:center; white-space:nowrap; }
.purchase-gauge-current,.home-monthly-gauge-current { position:absolute; right:7px; left:7px; z-index:6; transform:translateY(50%); padding:4px 2px; border:1px solid rgba(62,40,133,.2); border-radius:7px; background:rgba(255,255,255,.94); color:#2f1c75; font-size:.66rem; font-weight:950; line-height:1; text-align:center; white-space:nowrap; box-shadow:0 3px 10px rgba(42,25,91,.22); }
.purchase-gauge-fill { position:absolute; right:0; bottom:0; left:0; border-radius:20px; background:linear-gradient(0deg,#20d596 0%,#633bd0 55%,#d758ee 100%); box-shadow:0 0 24px rgba(104,65,210,.62); transition:height .6s ease; }
.purchase-gauge::after { content:none; }
.purchase-gauge-stop,.home-monthly-gauge-stop { position:absolute; right:0; left:0; z-index:3; border-top:2px solid rgba(45,32,78,.52); transform:translateY(1px); pointer-events:none; }
.purchase-milestones { display:flex; flex-direction:column-reverse; gap:16px; }
.purchase-milestone { position:relative; display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; align-items:center; min-height:170px; padding:14px; border:1px solid #e2d8ec; border-radius:16px; background:#faf9fd; opacity:.8; }
.purchase-milestone.current { border:2px solid #6a50c1; background:#f6f2ff; opacity:1; }
.purchase-milestone.complete { border-color:#4b2ca9; background:linear-gradient(135deg,#2edb98 0%,#7147da 52%,#d35bed 100%); box-shadow:0 12px 30px rgba(83,52,177,.42); color:#171126; opacity:1; }
.purchase-achieved-stamp { position:absolute; top:10px; right:10px; z-index:2; transform:rotate(-7deg); padding:5px 9px; border:2px solid #9a6900; border-radius:8px; color:#805700; background:#fff4b5; font-size:.7rem; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.purchase-milestone img,.purchase-public-cover { width:100px; height:140px; object-fit:cover; border-radius:9px; background:#eee9f7; display:grid; place-items:center; font-size:1.7rem; }
.purchase-public-rank { margin:0 0 4px; color:#6952bc; font-size:.75rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.purchase-milestone h3 { margin:0 0 8px; line-height:1.2; }
.purchase-public-note { margin:.45rem 0; white-space:pre-line; }
.helloasso-campaign { padding:20px; border:1px solid #ded5eb; border-radius:22px; background:#fff; }
.helloasso-campaign h2 { margin-top:0; }
.helloasso-widget { display:block; width:100%; height:750px; border:0; border-radius:14px; background:#fff; }
.helloasso-campaign .helloasso-widget { height:520px; }
.helloasso-browser-fallback { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 12px; padding:10px 12px; border:1px solid #ded5eb; border-radius:14px; background:#faf8ff; }
.helloasso-browser-fallback p { margin:0; color:#514866; font-size:.9rem; }
.helloasso-browser-fallback .btn { flex:0 0 auto; margin:0; text-align:center; }
.helloasso-browser-fallback.is-firefox { min-height:170px; padding:24px; flex-direction:column; justify-content:center; text-align:center; background:linear-gradient(135deg,#fbf8ff,#f2edff); }
.helloasso-browser-fallback.is-firefox p { max-width:560px; font-size:1rem; }
.helloasso-membership-section .container { max-width:1100px; }
.helloasso-public-form + .helloasso-public-form { margin:0; padding:16px; border:1px solid #ded5eb; }
.helloasso-membership-section { padding-top:2rem; padding-bottom:2rem; }
.helloasso-membership-section #helloasso-forms-public { display:grid; gap:var(--pc-public-section-space,16px); }
.helloasso-membership-section .helloasso-public-form { min-width:0; margin:0; padding:16px; border:1px solid #ded5eb; border-radius:22px; background:#fff; box-shadow:var(--pc-shadow-sm,0 2px 7px rgba(56,42,76,.04)); }
.helloasso-membership-section .purchase-campaign-intro { margin-bottom:.75rem; padding:.5rem .25rem 1rem; border:0; border-radius:0; background:transparent; }
.helloasso-membership-section .helloasso-widget { height:560px; }
.helloasso-membership-section .helloasso-public-form + .helloasso-public-form { margin:0; padding:16px; border-top:1px solid #ded5eb; }
.helloasso-donation-heading { margin-top:0; }
.purchase-donation-notice { padding:1rem; border-radius:14px; background:#fff6db; }
.home-environment .home-benefits-scene > .home-mission-campaign-layout { width:min(var(--pc-page-max,1500px),calc(100% - (var(--pc-page-gutter,16px) * 2))) !important; max-width:var(--pc-page-max,1500px) !important; display:grid !important; grid-template-columns:minmax(0,1fr) minmax(420px,540px) !important; gap:var(--pc-layout-gap,12px) !important; align-items:stretch !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.home-mission-campaign-layout > .benefits { display:flex; min-width:0; width:100% !important; max-width:none !important; height:100%; margin:0 !important; padding:22px; flex-direction:column; border:1px solid #ded5eb; border-radius:22px; background:#fff; box-shadow:0 4px 13px rgba(76,53,122,.055); }
.home-mission-campaign-layout .benefits-panel { width:100% !important; align-items:stretch; }
.home-environment .home-mission-campaign-layout .benefit { display:flex !important; grid-template-columns:1fr !important; flex-direction:column !important; align-items:center !important; justify-content:flex-start !important; gap:12px !important; text-align:center !important; }
.home-environment .home-mission-campaign-layout .benefit > div:last-child { width:100%; text-align:center; }
.home-environment .home-mission-campaign-layout .benefit-icon { margin:0 auto 6px !important; }
.home-environment .home-mission-campaign-layout .benefit h3,.home-environment .home-mission-campaign-layout .benefit p { text-align:center !important; }
.home-purchase-rail { min-width:0; height:100%; }
.home-monthly-campaign { display:flex; height:100%; margin:0; padding:22px; flex-direction:column; border:1px solid #ded5eb; border-radius:22px; background:#fff; box-shadow:0 4px 13px rgba(76,53,122,.055); }
body.pc-section-home .home-monthly-campaign { animation:homeCampaignAttention 4.8s ease-in-out infinite; }
@keyframes homeCampaignAttention {
  0%,72%,100% { border-color:#ded5eb; box-shadow:0 4px 13px rgba(76,53,122,.055); }
  82% { border-color:#8d72dc; box-shadow:0 7px 22px rgba(101,70,190,.2),0 0 0 4px rgba(141,114,220,.11); }
  90% { border-color:#c1afea; box-shadow:0 5px 17px rgba(101,70,190,.12),0 0 0 2px rgba(141,114,220,.07); }
}
@media (prefers-reduced-motion:reduce) { body.pc-section-home .home-monthly-campaign { animation:none; } }
.home-monthly-campaign-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.home-monthly-campaign-head h2 { margin:.15rem 0 0; }
.home-monthly-campaign-layout { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:14px; align-items:stretch; margin-bottom:16px; }
.home-monthly-milestones { display:flex; flex-direction:column-reverse; gap:10px; }
.home-monthly-milestone { position:relative; display:grid; grid-template-columns:76px minmax(0,1fr); gap:13px; align-items:center; min-height:108px; padding:10px 12px; border:1px solid #e2d8ec; border-radius:15px; background:#fff; }
.home-monthly-milestone.current { border:2px solid #6a50c1; background:#f6f2ff; }
.home-monthly-milestone.complete { border-color:#4b2ca9; background:linear-gradient(135deg,#2edb98 0%,#7147da 52%,#d35bed 100%); box-shadow:0 12px 30px rgba(83,52,177,.42); color:#171126; }
.home-monthly-milestone img,.home-monthly-cover { width:76px; height:102px; object-fit:cover; border-radius:9px; background:#eee9f7; display:grid; place-items:center; }
.home-monthly-milestone h3 { margin:2px 0 4px; font-size:1rem; }
.home-monthly-milestone p { margin:0; }
.home-monthly-gauge { position:relative; width:92px; min-height:296px; align-self:stretch; justify-self:center; overflow:hidden; border:4px solid #5f49b0; border-radius:28px; background:#eee9f7; }
.home-monthly-gauge-scale { position:relative; min-height:296px; margin-top:31px; }
.home-monthly-gauge-scale .home-monthly-gauge { position:absolute; inset:0 0 0 auto; }
.home-monthly-gauge-total { position:absolute; top:-31px; right:0; left:0; z-index:5; color:#352478; font-size:.64rem; font-weight:950; line-height:1.15; text-align:center; white-space:nowrap; }
.home-monthly-gauge-fill { position:absolute; inset:auto 0 0; border-radius:20px; background:linear-gradient(0deg,#20d596 0%,#633bd0 55%,#d758ee 100%); box-shadow:0 0 24px rgba(104,65,210,.62); }
.home-monthly-gauge::after { content:none; }
.home-monthly-gauge-label { position:absolute; inset:50% 0 auto; z-index:1; transform:translateY(-50%); text-align:center; font-weight:900; color:#443487; }
.home-campaign-contributors { margin:.25rem 0; color:#625978; font-weight:800; }
.home-monthly-cta { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:50px; margin-top:auto; padding:13px 21px; border-radius:999px; text-align:center; }
.home-mission-campaign-layout .home-hero-actions { margin-top:auto !important; padding-top:16px; }
@media(max-width:1100px) { .home-environment .home-benefits-scene > .home-mission-campaign-layout { grid-template-columns:1fr !important; } .home-purchase-rail { width:100%; max-width:680px; justify-self:center; } }
@media(max-width:900px) { .purchase-campaign-layout { grid-template-columns:1fr; } }
@media(max-width:560px) { .purchase-gauge-card { gap:10px; padding:12px; } .purchase-milestone { padding:9px; } }
@media(max-width:600px) { .helloasso-membership-section { padding-top:1.25rem; padding-bottom:1.25rem; } .helloasso-membership-section .helloasso-public-form,.helloasso-membership-section .helloasso-public-form + .helloasso-public-form { padding:10px; border-radius:17px; } .helloasso-membership-section .helloasso-widget { height:680px; } }
@media(max-width:600px) { .helloasso-browser-fallback { align-items:stretch; flex-direction:column; } }
@media(max-width:600px) { .home-mission-campaign-layout { width:min(100% - 24px,1500px); } .home-monthly-campaign { padding:15px; } .home-monthly-campaign-head { align-items:start; flex-direction:column; } .home-monthly-campaign-layout { gap:8px; margin-bottom:12px; } .home-monthly-milestone { grid-template-columns:64px minmax(0,1fr); gap:9px; padding:8px; } .home-monthly-milestone img,.home-monthly-cover { width:64px; height:88px; } }

.home-monthly-milestone.complete > div,.purchase-milestone.complete > div { min-width:0; padding:9px 11px; border:1px solid rgba(255,255,255,.58); border-radius:11px; background:rgba(255,255,255,.82); box-shadow:0 5px 16px rgba(34,20,76,.14); }
.home-monthly-milestone.complete :is(.purchase-public-rank,h3,p,strong,a),.purchase-milestone.complete :is(.purchase-public-rank,h3,p,strong,a) { color:#21133f !important; opacity:1 !important; }
.home-monthly-milestone.complete .purchase-public-rank,.purchase-milestone.complete .purchase-public-rank { color:#5133a5 !important; font-weight:950; }
.home-monthly-milestone.complete h3,.purchase-milestone.complete h3 { font-weight:900; }
.home-monthly-milestone.complete img,.purchase-milestone.complete img { border:2px solid rgba(255,255,255,.9); box-shadow:0 6px 16px rgba(34,20,76,.28); }
@media(max-width:600px) {
  .purchase-milestone { grid-template-columns:72px minmax(0,1fr); gap:9px; }
  .purchase-milestone img,.purchase-public-cover { width:72px; height:102px; }
}

/* V1.0.40 — accueil plus compact et adaptation mobile renforcée. */
body.pc-section-home .home-benefits-scene { padding:clamp(22px,3vw,34px) 0 0 !important; }
body.pc-section-home :is(.home-sky-content,.home-releases-content,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.dynamic-home-sections,.supporters-section) { padding-block:10px !important; }
body.pc-section-home :is(.home-sky-content,.home-releases-content,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.supporters-section) > .container > .section-head { margin-bottom:18px !important; }
body.pc-section-home .home-event-vignette-section { margin:0 !important; padding:0 !important; }
body.pc-section-home .home-event-vignette-section > .container { padding:0 !important; border-radius:0; background:transparent; box-shadow:none; }
body.pc-section-home #home-publication-carousels { margin:4px auto !important; }
body.pc-section-home #home-publication-carousels #home-releases-section { order:1; }
body.pc-section-home #home-publication-carousels #home-upcoming-section { order:2; }
body.pc-section-home .home-event-vignette h2 { margin-bottom:12px !important; }
body.pc-section-home :is(.home-event-vignette-section,#home-news-section,#home-publication-carousels) .carousel-wrap {
  width:100% !important;
  max-width:none !important;
  margin-inline:0 !important;
  padding-inline:0 !important;
}

/* Titres des grandes rubriques d'accueil : échelle compacte commune. */
body.pc-section-home #home-news-section > .container > .section-head h2,
body.pc-section-home .home-explore-profiles > .container > .section-head h2,
body.pc-section-home #home-theme-explorer > .container > .section-head h2,
body.pc-section-home .supporters-section > .container > .supporters-head h2 {
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  line-height: 1.15 !important;
}

/* Un seul intervalle entre les grandes rubriques de l'accueil. */
body.pc-section-home :is(
  .home-event-vignette-section,
  #home-news-section,
  .home-explore-profiles,
  .home-theme-explorer,
  .home-editorial-selections,
  .dynamic-home-sections,
  .supporters-section
) {
  margin:48px 0 0 !important;
  padding-block:0 !important;
}
body.pc-section-home #home-publication-carousels {
  margin:48px auto 0 !important;
}
body.pc-section-home .home-event-vignette-section {
  margin-top:0 !important;
}

@media(max-width:1100px) {
  body.pc-section-home .home-environment .home-benefits-scene > .home-mission-campaign-layout { gap:var(--pc-layout-gap,12px) !important; }
  body.pc-section-home .home-purchase-rail { max-width:none; }
}
@media(max-width:760px) {
  body.pc-section-home .home-benefits-scene { padding:18px 0 0 !important; }
  body.pc-section-home :is(#home-news-section,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.dynamic-home-sections,.supporters-section) { margin-top:32px !important; }
  body.pc-section-home :is(.home-sky-content,.home-releases-content,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.dynamic-home-sections,.supporters-section) { padding-block:0 !important; }
  body.pc-section-home :is(.home-sky-content,.home-releases-content,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.supporters-section) > .container > .section-head { margin-bottom:12px !important; }
  body.pc-section-home .home-event-vignette-section { margin:0 !important; padding:0 !important; }
  body.pc-section-home .home-event-vignette-section > .container { width:min(var(--pc-page-max,1500px),calc(100% - (var(--pc-page-gutter,16px) * 2))) !important; padding:0 !important; }
  body.pc-section-home #home-publication-carousels { width:min(var(--pc-page-max,1500px),calc(100% - (var(--pc-page-gutter,16px) * 2))) !important; margin:32px auto 0 !important; }
  body.pc-section-home #home-publication-carousels > section { padding:14px 10px !important; border-radius:18px; }
  body.pc-section-home #home-publication-carousels .section-head { gap:6px; margin-bottom:10px !important; }
  body.pc-section-home #home-publication-carousels .section-head h2 { font-size:clamp(1.45rem,7vw,2rem) !important; }
  body.pc-section-home #home-publication-carousels .section-head > .btn { width:100%; min-height:44px; justify-content:center; }
  body.pc-section-home .home-event-vignette-grid { padding-bottom:6px; }
  body.pc-section-home .home-event-vignette-card { min-height:96px; }
}
@media(max-width:520px) {
  body.pc-section-home :is(.home-sky-content,.home-releases-content,.home-explore-profiles,.home-theme-explorer,.home-editorial-selections,.dynamic-home-sections,.supporters-section) { padding-block:0 !important; }
  body.pc-section-home .home-environment .home-benefits-scene > .home-mission-campaign-layout { width:min(var(--pc-page-max,1500px),calc(100% - (var(--pc-page-gutter,10px) * 2))) !important; gap:var(--pc-layout-gap,10px) !important; }
  body.pc-section-home .home-mission-campaign-layout > .benefits,
  body.pc-section-home .home-monthly-campaign { padding:12px !important; border-radius:18px; }
  body.pc-section-home .home-mission-campaign-layout .benefits-panel { grid-template-columns:1fr !important; gap:10px !important; }
  body.pc-section-home .home-mission-campaign-layout .benefit { min-height:0 !important; padding:16px !important; }
  body.pc-section-home .home-hero-actions { gap:8px; margin-top:16px !important; }
  body.pc-section-home .home-monthly-campaign-head { margin-bottom:12px; }
  body.pc-section-home .home-monthly-milestones { gap:7px; }
  body.pc-section-home .home-monthly-milestone { min-height:94px; }
  body.pc-section-home .home-event-vignette-card { grid-template-columns:56px minmax(0,1fr) !important; padding:10px !important; }
  body.pc-section-home .home-event-vignette-logo { width:56px !important; height:56px !important; }
}
@media(max-width:620px) {
  body.pc-section-home #home-publication-carousels .carousel-wrap { display:grid !important; grid-template-columns:36px minmax(0,1fr) 36px !important; gap:6px !important; padding-inline:0 !important; }
  body.pc-section-home #home-publication-carousels :is(#new-carousel,#release-carousel,#upcoming-carousel) { grid-auto-columns:100% !important; width:100% !important; scroll-snap-type:x mandatory; }
  body.pc-section-home #home-publication-carousels :is(#new-carousel,#release-carousel,#upcoming-carousel) > * { width:100% !important; min-width:0 !important; scroll-snap-align:start; }
  body.pc-section-home #home-publication-carousels .carousel-control { position:relative !important; z-index:5 !important; display:inline-grid !important; place-items:center !important; min-width:36px !important; min-height:44px !important; pointer-events:auto !important; }
}
@media(max-width:600px) {
  .purchase-gauge-card { grid-template-columns:96px minmax(0,1fr); }
  .purchase-gauge-scale,.purchase-gauge { width:88px; }
  .purchase-gauge { min-height:510px; }
  .home-monthly-campaign-layout { grid-template-columns:minmax(0,1fr) 82px; }
  .home-monthly-gauge-scale,.home-monthly-gauge { width:76px; }
  .purchase-gauge-total,.purchase-gauge-current { right:6px; left:6px; font-size:.64rem; }
  .home-monthly-gauge-total,.home-monthly-gauge-current { right:5px; left:5px; font-size:.58rem; }
}
