
:root{--green:#76B82A;--dark:#3F7F28;--soft:#E8F2DC;--blue:#159BD3;--teal:#1AA7A8;--orange:#F28A00;--yellow:#F4B328;--text:#30352F;--muted:#6F756C;--bg:#F8FAF5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}.container{width:min(1200px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #e6ebdf;backdrop-filter:blur(10px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{text-decoration:none;font-size:1.65rem;font-weight:800;letter-spacing:.04em}.brand span{color:var(--dark)}.brand em{color:var(--orange);font-style:normal}.main-nav{display:flex;gap:25px}.main-nav a{color:var(--text);text-decoration:none;font-weight:700;font-size:.94rem}.main-nav a:hover,.main-nav .active{color:var(--dark)}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}
.hero{overflow:hidden;background:linear-gradient(120deg,#fff 35%,#f0f6e8 100%);padding:70px 0}.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:55px}.kicker,.section-label{font-size:.78rem;letter-spacing:.18em;font-weight:800;color:var(--dark)}.kicker span{color:#888;margin:0 7px}.hero h1{font-size:clamp(3rem,5.4vw,5.6rem);line-height:.96;margin:.18em 0 .3em;color:var(--dark)}.hero h1 span{color:var(--blue);font-weight:600}.lead{font-size:1.13rem;max-width:620px;color:#60635f}.hero-visual img{width:100%;display:block;mix-blend-mode:multiply}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:800}.primary{background:var(--green);color:white}.secondary{border:2px solid var(--blue);color:var(--blue);background:white}
.intro{text-align:center;padding:70px 0 50px;max-width:820px}.intro h2,.activities h2,.quick h2{font-size:clamp(2rem,3vw,3rem);margin:.15em 0}.intro p:last-child{font-size:1.08rem;color:var(--muted)}
.activities{padding:20px 0 80px}.activities>.container>.section-label,.activities>.container>h2{text-align:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}.activity{background:white;border-radius:20px;padding:28px 24px;box-shadow:0 12px 35px rgba(37,60,30,.07);border-top:6px solid var(--green);min-height:310px;display:flex;flex-direction:column}.activity .icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#eff5e7;color:var(--dark)}.activity h3{margin:20px 0 0;font-size:1.3rem}.activity p{font-weight:800;margin:3px 0 12px}.activity span{color:var(--muted)}.activity a{margin-top:auto;padding-top:20px;color:inherit;font-weight:800;text-decoration:none}.bungy{border-color:var(--blue)}.bungy .icon{color:var(--blue);background:#eaf2f8}.bazh{border-color:var(--orange)}.bazh .icon{color:var(--orange);background:#fff1e4}.wellness{border-color:var(--teal)}.wellness .icon{color:var(--teal);background:#e7f5f4}
.quick{background:white;padding:65px 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.quick-links{display:grid;gap:14px}.quick-links a{padding:22px 25px;background:var(--bg);border:1px solid #e5eadf;border-radius:15px;text-decoration:none;color:var(--text);display:flex;justify-content:space-between;gap:15px}.quick-links span{color:var(--muted)}
.values{padding:35px 0;background:#eef5e6}.value-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;text-align:center}.value-grid div{padding:15px}.value-grid b{display:block;color:var(--dark);font-size:1.08rem}.value-grid span{font-size:.84rem;color:var(--muted)}
.site-footer{background:var(--dark);color:white;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid strong{font-size:1.15rem}.footer-grid p{opacity:.86}.copyright{border-top:1px solid rgba(255,255,255,.2);padding-top:15px;margin-top:20px;font-size:.85rem;opacity:.7}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{order:-1;max-width:650px}.cards{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:20px 4%;flex-direction:column;border-bottom:1px solid #ddd}.main-nav.open{display:flex}.hero{padding:40px 0}.cards,.quick-grid,.footer-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:1fr}.quick-links a{flex-direction:column}}

.activity-hero{padding:65px 0 55px;background:linear-gradient(120deg,#fff,#eef5e7);border-bottom:1px solid #e6eadf}.activity-hero.blue{background:linear-gradient(120deg,#fff,#e8f2f8)}.activity-hero.orange{background:linear-gradient(120deg,#fff,#fff0e3)}.activity-hero.teal{background:linear-gradient(120deg,#fff,#e7f5f4)}.activity-hero h1{font-size:clamp(2.7rem,5vw,4.7rem);line-height:1;margin:.18em 0;color:var(--dark)}.activity-hero.blue h1{color:var(--blue)}.activity-hero.orange h1{color:var(--orange)}.activity-hero.teal h1{color:var(--teal)}.activity-hero p:last-child{font-size:1.2rem;max-width:760px;color:var(--muted)}
.activity-layout{display:grid;grid-template-columns:240px 1fr;gap:55px;padding:55px 0 80px}.activity-nav{position:sticky;top:105px;align-self:start;display:grid;gap:7px}.activity-nav strong{margin-bottom:8px;color:var(--dark)}.activity-nav a{padding:10px 12px;border-radius:9px;color:var(--text);text-decoration:none;background:white;border:1px solid #e7ebe3}.activity-nav a:hover{background:var(--soft)}.activity-nav .back{margin-top:12px;background:none;border:0;padding-left:0}.activity-content{max-width:850px}.activity-content h2{font-size:1.8rem;color:var(--dark);margin:1.4em 0 .45em}.activity-content>h2:first-child{margin-top:0}.activity-content p{font-size:1.05rem}.highlight{display:grid;gap:5px;background:#f1f6ea;border-left:5px solid var(--green);padding:22px 25px;border-radius:0 14px 14px 0;margin:28px 0}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.note{background:#f7f8f5;border:1px solid #e4e8df;padding:20px 22px;border-radius:14px;margin-top:30px}.wellness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.wellness-grid a{display:flex;flex-direction:column;gap:8px;padding:24px;background:white;border:1px solid #dfe9e5;border-top:5px solid var(--teal);border-radius:15px;text-decoration:none;color:var(--text)}.wellness-grid b{color:var(--teal);font-size:1.15rem}@media(max-width:800px){.activity-layout{grid-template-columns:1fr}.activity-nav{position:static;grid-template-columns:1fr 1fr}.benefits,.wellness-grid{grid-template-columns:1fr}}

.session-page{padding:55px 0 80px}.session-list{display:grid;gap:18px}.session-card{display:grid;grid-template-columns:220px 1fr 210px;gap:28px;align-items:center;background:#fff;border-radius:18px;padding:24px 26px;border-left:6px solid var(--green);box-shadow:0 8px 28px rgba(30,50,30,.06)}.session-card.session-blue{border-left-color:var(--blue)}.session-date{display:grid;gap:5px}.session-date strong{color:var(--dark)}.session-date span{font-size:1.35rem;font-weight:800}.session-main h2{margin:6px 0;font-size:1.3rem}.session-main p{margin:3px 0;color:var(--muted)}.badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}.session-action{display:grid;gap:9px;text-align:center}.session-action .open{font-size:.82rem;color:var(--dark);font-weight:800}.session-action button{border:0;border-radius:999px;padding:12px;background:#e6eadf;color:#7c8178;font-weight:800}@media(max-width:850px){.session-card{grid-template-columns:1fr}.session-action{text-align:left;max-width:260px}}
/* Séance annulée */
.session-card.session-cancelled {
    border-left-color: #b52b2b;
    background: #fafafa;
    opacity: .88;
}

.cancelled-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fdeaea;
    color: #a32020;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.session-card.session-cancelled .session-date strong {
    color: #a32020;
}

.session-card.session-cancelled .cancelled-text {
    color: #a32020;
    font-weight: 800;
}

.session-card.session-cancelled .session-action button {
    background: #eeeeee;
    color: #888;
}

/* ==========================================================
   ASAHI — CHARTE GRAPHIQUE PREMIUM
   Palette inspirée du logo : nature, océan, soleil.
   ========================================================== */

/* Titres principaux */
h1,h2{
  color:var(--dark);
}
.intro h2,
.activities h2,
.quick h2,
.values h2{
  color:var(--dark);
  letter-spacing:-.015em;
}

/* Petits repères */
.section-label,
.kicker{
  color:var(--green);
  letter-spacing:.20em;
}

/* Navigation */
.main-nav{
  gap:18px;
  align-items:center;
  flex-wrap:nowrap;
}
.main-nav a{
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
}
.main-nav a:hover,
.main-nav .active{
  color:var(--green);
}

/* Boutons */
.btn{
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;
}
.btn:hover{
  transform:translateY(-1px);
}
.primary{
  background:var(--dark);
  color:#fff;
  box-shadow:0 8px 20px rgba(63,127,40,.16);
}
.primary:hover{
  background:var(--green);
}
.secondary{
  border-color:var(--blue);
  color:var(--blue);
}
.secondary:hover{
  background:#edf8fc;
}

/* Sections d'accueil : davantage de couleur, sans grands aplats agressifs */
.intro{
  background:linear-gradient(180deg,#fff 0%,#fbfdf8 100%);
}
.activities{
  background:linear-gradient(180deg,#f7faf3 0%,#fff 100%);
}
.quick{
  background:linear-gradient(110deg,#fff 0%,#f3f8ed 100%);
}
.values{
  background:linear-gradient(110deg,#eaf4df 0%,#edf8fa 100%);
}

/* Cartes activités */
.activity{
  border-top-width:7px;
  box-shadow:0 14px 34px rgba(48,72,38,.08);
  transition:transform .22s ease,box-shadow .22s ease;
}
.activity:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(48,72,38,.13);
}
.marche{
  border-color:var(--green);
}
.marche h3,.marche p,.marche a{
  color:var(--dark);
}
.bungy h3,.bungy p,.bungy a{
  color:var(--blue);
}
.bazh h3,.bazh p,.bazh a{
  color:var(--orange);
}
.wellness h3,.wellness p,.wellness a{
  color:var(--teal);
}

/* Liens pratiques */
.quick-links a{
  border-color:#dfe9d7;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.quick-links a:hover{
  transform:translateY(-2px);
  border-color:var(--green);
  box-shadow:0 10px 24px rgba(63,127,40,.08);
}
.quick-links strong{
  color:var(--dark);
}

/* Valeurs */
.value-grid b{
  color:var(--dark);
}
.value-grid div:nth-child(2) b{color:var(--blue);}
.value-grid div:nth-child(3) b{color:var(--orange);}
.value-grid div:nth-child(4) b{color:var(--teal);}

/* Pages activités */
.activity-content h2{
  color:var(--dark);
}
.activity-hero{
  background:linear-gradient(120deg,#fff,#edf6e5);
}
.activity-hero.blue{
  background:linear-gradient(120deg,#fff,#e9f7fc);
}
.activity-hero.orange{
  background:linear-gradient(120deg,#fff,#fff4e8);
}
.activity-hero.teal{
  background:linear-gradient(120deg,#fff,#e9f8f7);
}

/* Planning / séances */
.session-card{
  box-shadow:0 10px 26px rgba(48,72,38,.07);
}
.session-date strong{
  color:var(--dark);
}

/* Footer global */
.site-footer{
  background:#3F7F28;
}

/* Responsive */
@media(max-width:700px){
  .main-nav a{
    font-size:1rem;
  }
}

/* ==========================================================
   ASAHI — EN-TÊTE DYNAMIQUE ET DIAPORAMA
   ========================================================== */

/* Barre supérieure : accès au compte plus visible */
.asahi-topbar .account-link{
  display:inline-flex;
  align-items:center;
  padding:4px 13px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-weight:700;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.asahi-topbar .account-link:hover,
.asahi-topbar .account-link:focus{
  color:var(--dark);
  background:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}

/* Menu plus lumineux et plus vivant */
.site-header{
  box-shadow:0 5px 18px rgba(43,68,35,.07);
  transition:box-shadow .25s ease;
}
.site-header .nav{
  transition:min-height .28s ease;
}
.site-header .brand img{
  transition:width .28s ease;
}
.main-nav a{
  position:relative;
  padding:9px 5px;
  border-radius:7px;
  transition:color .2s ease,background-color .2s ease;
}
.main-nav a:hover,
.main-nav a:focus{
  color:var(--blue);
  background:transparent;
  text-decoration:none;
}
.main-nav > a.active::after{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  bottom:3px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--orange));
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus{
  color:var(--dark);
  background:#f1f8e9;
}

/* En-tête compact après le début du défilement */
.site-header.is-compact{
  box-shadow:0 7px 22px rgba(43,68,35,.14);
}
.site-header.is-compact .nav{
  min-height:58px;
}
.site-header.is-compact .brand img{
  width:285px !important;
}

/* Ombre intérieure discrète en haut et en bas du diaporama */
:is(.carousel,.slider,.hero-slider,.slideshow,[class*="diaporama"]){
  position:relative;
}
:is(.carousel,.slider,.hero-slider,.slideshow,[class*="diaporama"])::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.20) 0,transparent 11%),
    linear-gradient(to top,rgba(0,0,0,.18) 0,transparent 12%);
}

/* Diaporama réel de la page d'accueil */
.asahi-kenburns::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(15,30,13,.52) 0,rgba(15,30,13,.23) 9%,transparent 24%),
    linear-gradient(to top,rgba(15,30,13,.46) 0,rgba(15,30,13,.20) 9%,transparent 24%);
}

@media(max-width:800px){
  .site-header.is-compact .brand img{
    width:230px !important;
    max-width:68vw !important;
  }
  .main-nav a{
    padding:8px 10px;
    white-space:normal;
  }
  .main-nav > a.active::after{
    display:none;
  }
}

/* ==========================================================
   ASAHI — PAGE CONTACT
   ========================================================== */

.contact-card{
  padding:34px !important;
  border:1px solid #e1ebdf;
  border-top:6px solid var(--green);
  border-radius:20px !important;
  box-shadow:0 15px 36px rgba(43,68,35,.09) !important;
}
.contact-card > h2{
  color:var(--dark);
  font-size:1.9rem;
}
.contact-grid{
  grid-template-columns:.85fr 1.3fr 1fr;
  align-items:stretch;
}
.contact-item{
  min-width:0;
  padding:22px 18px;
  display:flex;
  align-items:center;
  gap:15px;
  background:#f7fbfd;
  border:1px solid #deebef;
  border-radius:14px;
}
.contact-item strong{
  color:var(--text);
}
.contact-item a{
  color:var(--dark);
  text-decoration:none;
  font-weight:800;
  overflow-wrap:anywhere;
}
.contact-item a:hover,
.contact-item a:focus{
  color:var(--orange);
  text-decoration:none;
}
.contact-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--blue);
  background:#e4f4fa;
}
.contact-email .contact-icon{
  color:var(--orange);
  background:#fff1dd;
}
.contact-address .contact-icon{
  color:var(--teal);
  background:#e4f4f2;
}
.contact-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-sector{
  grid-column:1/-1;
  padding:22px 24px;
  background:linear-gradient(110deg,#eef7e8,#edf8fa);
  border-left:5px solid var(--green);
  border-radius:14px;
}
.contact-area{
  margin:5px 0 0;
  color:var(--dark);
  font-weight:800;
}

.contact-reasons{
  padding:30px !important;
  background:linear-gradient(120deg,#eef7e8,#f5faf2) !important;
  border-left:6px solid var(--green) !important;
  border-radius:18px !important;
  box-shadow:0 12px 28px rgba(43,68,35,.07);
}
.contact-reasons > h2{
  color:var(--dark);
}
.contact-reasons .benefits{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.contact-reasons .benefits li{
  position:relative;
  padding:14px 16px 14px 43px;
  background:rgba(255,255,255,.82);
  border:1px solid #dfe9d9;
  border-radius:11px;
}
.contact-reasons .benefits li::before{
  content:"✓";
  position:absolute;
  left:14px;
  top:13px;
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-weight:900;
}
.contact-reasons .benefits li:last-child{
  grid-column:1/-1;
}

.contact-actions{
  padding:28px !important;
  background:linear-gradient(115deg,#edf7fb,#f5faf2) !important;
  border:1px solid #dcebed;
  border-radius:18px !important;
}
.contact-note{
  padding:23px 25px !important;
  background:#fff8e9 !important;
  border-left:5px solid var(--orange);
  border-radius:13px !important;
}

@media(max-width:800px){
  .contact-grid{
    grid-template-columns:1fr;
  }
  .contact-sector{
    grid-column:auto;
  }
}
@media(max-width:700px){
  .contact-card{
    padding:25px 20px !important;
  }
  .contact-reasons .benefits{
    grid-template-columns:1fr;
  }
  .contact-reasons .benefits li:last-child{
    grid-column:auto;
  }
}

/* ==========================================================
   ASAHI — AJUSTEMENTS RESPONSIVE GLOBAUX
   ========================================================== */

@media(max-width:1050px){
  .asahi-kenburns{
    height:auto !important;
    aspect-ratio:2.56/1;
    background:#fff;
  }
  .asahi-slide img{
    object-fit:cover !important;
    object-position:center center;
  }
  .contact-grid{
    grid-template-columns:1fr;
  }
  .contact-sector{
    grid-column:auto;
  }
  .site-header .nav{
    position:relative;
    min-height:72px;
  }
  .site-header .brand img{
    width:300px !important;
    max-width:65vw !important;
  }
  .menu-toggle{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid #dfe8da;
    border-radius:10px;
    color:var(--dark);
    background:#f7faf4;
    cursor:pointer;
    font-family:Arial,Helvetica,sans-serif;
    font-size:27px;
    line-height:1;
    text-align:center;
    padding-bottom:3px;
  }
  .main-nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:1100;
    padding:13px 15px 16px;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    background:linear-gradient(145deg,#fff 0%,#f5faef 62%,#eef8fa 100%);
    border:1px solid #e1e8dd;
    border-top:4px solid var(--green);
    border-radius:0 0 15px 15px;
    box-shadow:0 18px 32px rgba(32,55,27,.16);
  }
  .main-nav.open{
    display:flex;
  }
  .menu-checkbox:checked ~ .main-nav{
    display:flex;
  }
  .main-nav a{
    padding:12px 14px;
    white-space:normal;
    border-left:4px solid transparent;
    border-radius:8px;
  }
  .main-nav > a,
  .main-nav > .nav-dropdown > a{
    background:rgba(255,255,255,.68);
    border-bottom:1px solid #e5ece0;
  }
  .main-nav > a.active{
    color:var(--dark);
    background:#edf7e5;
    border-left-color:var(--green);
  }
  .main-nav > .nav-dropdown > a{
    color:var(--blue);
    border-left-color:var(--blue);
  }
  .main-nav > a:nth-of-type(3){border-left-color:var(--orange)}
  .main-nav > a:nth-of-type(4){border-left-color:var(--teal)}
  .main-nav > a:hover,
  .main-nav > a:focus,
  .main-nav > .nav-dropdown > a:hover,
  .main-nav > .nav-dropdown > a:focus{
    background:#fff;
  }
  .nav-dropdown{
    display:block;
  }
  .nav-dropdown-menu{
    position:static;
    box-shadow:none;
    border:0;
    padding:2px 0 3px 15px;
    margin:4px 0 3px;
    background:#fff;
    border-left:3px solid #dceadb;
    border-radius:8px;
  }
  .nav-dropdown-menu a:nth-child(1){color:var(--dark)}
  .nav-dropdown-menu a:nth-child(2){color:var(--blue)}
  .nav-dropdown-menu a:nth-child(3){color:var(--orange)}
  .nav-dropdown-menu a:nth-child(4){color:var(--teal)}
  .nav-dropdown.is-open .nav-dropdown-menu{
    display:block;
  }
  .main-nav > a.active::after{
    display:none;
  }
}

.menu-checkbox{
  display:none !important;
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

@media(max-width:800px){
  .contact-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:480px){
  .asahi-topbar{
    font-size:12px;
  }
  .asahi-topbar .container{
    width:94%;
    gap:8px;
  }
  .asahi-topbar .account-link{
    padding:3px 9px;
  }
  .site-header .brand img,
  .site-header.is-compact .brand img{
    width:215px !important;
    max-width:70vw !important;
  }
  .contact-item a{
    font-size:.94rem;
  }
}

/* Diaporamas des quatre pages activités : même ratio que l'accueil */
@media(max-width:700px){
  .activity-slider{
    height:auto !important;
    aspect-ratio:2.56/1;
    min-height:0 !important;
  }
  .activity-slide img{
    object-position:center center;
  }
  .activity-slide-caption{
    left:18px !important;
    right:18px !important;
    bottom:26px !important;
  }
  .activity-slide-caption h2{
    margin-bottom:4px !important;
    font-size:clamp(18px,5.5vw,24px) !important;
  }
  .activity-slide-caption p{
    max-width:82%;
    font-size:12px !important;
    line-height:1.25 !important;
  }
  .activity-slider-dots{
    right:12px !important;
    bottom:8px !important;
  }
}

/* ==========================================================
   ASAHI — CARTES TARIFAIRES
   ========================================================== */

.pricing-grid{
  gap:22px !important;
  align-items:stretch;
}
.pricing-card{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:32px 26px 26px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #e3ebe0;
  border-top:7px solid var(--blue);
  box-shadow:0 14px 32px rgba(43,68,35,.10) !important;
  transition:transform .22s ease,box-shadow .22s ease;
}
.pricing-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(43,68,35,.15) !important;
}
.pricing-card::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-88px;
  bottom:-92px;
  border:22px solid currentColor;
  border-radius:50%;
  opacity:.045;
}
.price-unit{color:var(--blue)}
.price-ten{
  color:var(--dark);
  border-top-color:var(--green);
}
.price-twenty{
  color:var(--orange);
  border-top-color:var(--orange);
  background:linear-gradient(155deg,#fff 0%,#fff8ed 100%) !important;
}
.pricing-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  border-radius:50%;
  background:#e9f6fb;
  color:var(--blue);
}
.price-ten .pricing-icon{
  color:var(--dark);
  background:#edf6e5;
}
.price-twenty .pricing-icon{
  color:var(--orange);
  background:#fff0dc;
}
.pricing-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.price-twenty .pricing-icon svg{
  fill:rgba(242,138,0,.10);
}
.pricing-card .section-label{
  margin:0 0 7px;
}
.pricing-card .pricing-price{
  color:currentColor !important;
  font-size:3.25rem !important;
  line-height:1.05;
}
.pricing-card > p:not(.section-label){
  margin:10px 0 7px;
  font-size:1.08rem;
  font-weight:700;
}
.pricing-detail{
  color:var(--muted);
  font-size:.92rem;
}
.pricing-badge{
  position:absolute;
  top:17px;
  right:17px;
  width:auto;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  background:var(--orange);
  box-shadow:0 5px 12px rgba(242,138,0,.22);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.08em;
}

/* Inscription administrative */
.admin-registration{
  padding:32px 34px 34px;
  background:linear-gradient(125deg,#f5fbfd 0%,#eef7fb 58%,#f5f9ef 100%);
  border:1px solid #dcebef;
  border-left:6px solid var(--blue);
  border-radius:20px;
  box-shadow:0 14px 34px rgba(35,78,89,.08);
}
.admin-registration > h2{
  margin-top:0;
  color:var(--blue);
}
.admin-registration > h2::after{
  content:"";
  display:block;
  width:58px;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--green));
}
.admin-steps{
  counter-reset:admin-step;
}
.admin-step{
  counter-increment:admin-step;
  position:relative;
  min-height:118px;
  padding:25px 26px 23px 86px !important;
  border:1px solid #e1ebee;
  border-left:5px solid var(--blue);
  box-shadow:0 10px 24px rgba(35,78,89,.08) !important;
}
.admin-step:nth-child(2){border-left-color:var(--green)}
.admin-step:nth-child(3){border-left-color:var(--orange)}
.admin-step::before{
  content:counter(admin-step);
  position:absolute;
  left:24px;
  top:24px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  box-shadow:0 6px 14px rgba(21,155,211,.20);
  font-size:1.15rem;
  font-weight:900;
}
.admin-step:nth-child(2)::before{background:var(--green)}
.admin-step:nth-child(3)::before{background:var(--orange)}
.admin-step strong{
  font-size:1.05rem;
}
.admin-step p:last-child{
  margin-bottom:0;
}

@media(max-width:700px){
  .admin-registration{
    padding:26px 20px;
  }
  .admin-step{
    padding:72px 20px 22px !important;
  }
  .admin-step::before{
    left:20px;
    top:18px;
  }
}

@media(max-width:700px){
  .pricing-card{
    min-height:270px;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-header .nav,
  .site-header .brand img{
    transition:none;
  }
}

/* ==========================================================
   ASAHI — BLOCS SÉANCES ET VALEURS PLUS DYNAMIQUES
   ========================================================== */

.quick{
  background:linear-gradient(120deg,#ffffff 0%,#f0f8fb 58%,#f3f8ec 100%);
}
.quick-links a{
  position:relative;
  overflow:hidden;
  padding:23px 25px 23px 30px;
  background:rgba(255,255,255,.94);
  border:1px solid #dce9ed;
  box-shadow:0 10px 25px rgba(35,78,89,.08);
  display:grid;
  grid-template-columns:48px max-content 1fr;
  align-items:center;
  gap:16px;
}
.quick-links a::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:var(--blue);
}
.quick-links a:nth-child(2)::before{
  background:var(--orange);
}
.quick-links a:nth-child(2) strong{
  color:var(--orange);
}
.quick-links a > span:last-child{
  justify-self:end;
  text-align:right;
  white-space:nowrap;
}
.quick-links a strong{
  white-space:nowrap;
}
.quick-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--blue) !important;
  background:#e8f6fb;
}
.quick-links a:nth-child(2) .quick-icon{
  color:var(--orange) !important;
  background:#fff2df;
}
.quick-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick-icon circle{
  fill:currentColor;
  stroke:none;
}
.quick-links a:hover{
  background:#fff;
  border-color:#bcdce8;
  box-shadow:0 14px 30px rgba(35,78,89,.14);
}

.values{
  padding:46px 0 52px;
  background:linear-gradient(115deg,#edf6e5 0%,#e9f7fa 100%);
}
.values h2{
  margin:0 0 28px;
  color:var(--dark);
}
.value-grid{
  gap:18px;
}
.value-grid div{
  padding:20px 14px 18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.95);
  border-top:5px solid var(--green);
  border-radius:15px;
  box-shadow:0 9px 22px rgba(48,72,38,.07);
}
.value-grid div:nth-child(2){border-top-color:var(--blue)}
.value-grid div:nth-child(3){border-top-color:var(--orange)}
.value-grid div:nth-child(4){border-top-color:var(--teal)}
.value-grid div:nth-child(5){border-top-color:var(--green)}
.value-grid b{
  margin-bottom:7px;
  font-size:1.12rem;
}

@media(max-width:900px){
  .value-grid div:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:700px){
  .value-grid div:last-child{
    grid-column:auto;
  }
  .quick-links a{
    grid-template-columns:44px 1fr;
  }
  .quick-links a > span:last-child{
    grid-column:2;
    justify-self:start;
    text-align:left;
    white-space:normal;
  }
  .quick-icon{
    width:44px;
    height:44px;
    grid-row:1/3;
  }
}


/* ==========================================================
   ASAHI — ÉQUILIBRE COULEURS V2
   Moins de vert dominant, davantage de bleu/orange et de blanc.
   ========================================================== */

.intro h2,
.activities h2,
.quick h2,
.values h2{
  color:var(--text);
}

.section-label{
  color:var(--orange);
}

.activities{
  background:#fff;
}

.quick{
  background:linear-gradient(110deg,#fff 0%,#f5f9fb 100%);
}

.values{
  background:linear-gradient(110deg,#f4f8ef 0%,#eef8fb 100%);
}

.values h2{
  color:var(--text);
}

.primary{
  background:var(--dark);
}
.primary:hover{
  background:var(--orange);
}

.quick-links strong{
  color:var(--blue);
}

/* Bloc animateur */
.animateur-section{
  padding:70px 0;
  background:#fff;
}

.animateur-card{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:48px;
  align-items:center;
  max-width:920px;
  padding:42px 48px;
  background:linear-gradient(120deg,#fff 0%,#f4f9fb 100%);
  border:1px solid #e3edf0;
  border-left:6px solid var(--blue);
  border-radius:22px;
  box-shadow:0 16px 40px rgba(35,65,75,.08);
}

.animateur-photo{
  display:flex;
  justify-content:center;
}

.animateur-photo img{
  width:180px;
  height:180px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid #fff;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.animateur-copy .section-label{
  margin:0 0 8px;
  color:var(--orange);
}

.animateur-copy h2{
  margin:0 0 12px;
  color:var(--blue);
  font-size:clamp(2rem,3.2vw,3rem);
}

.animateur-copy p{
  margin:0;
  color:var(--text);
  font-size:1.06rem;
}

.animateur-copy .actions{
  margin-top:22px;
}

@media(max-width:700px){
  .animateur-card{
    grid-template-columns:1fr;
    text-align:center;
    padding:32px 24px;
    gap:24px;
  }
  .animateur-copy .actions{
    justify-content:center;
  }
}


/* Cartes activités — visuels */
.activity{
  overflow:hidden;
  padding-top:0;
}
.activity-visual{
  width:calc(100% + 48px);
  max-width:none;
  height:auto;
  display:block;
  margin:0 -24px 4px;
  object-fit:cover;
}
.activity h3{
  margin-top:18px;
}

/* ==========================================================
   ASAHI — ACCUEIL PUBLIC V4
   Lisibilité du menu + titres colorés + intro premium
   ========================================================== */

/* Menu principal plus présent */
.main-nav a{
  font-size:1.15rem;
  font-weight:700;
}

/* Titres de l'accueil : moins de noir */
.intro h2{
  color:var(--dark);
}
.activities h2{
  color:var(--blue);
}
.quick h2{
  color:var(--dark);
}

/* Bloc introduction "Nature, mouvement et bien-être" */

/* Campagne de rentrée */
.rentree-banner{position:relative;overflow:hidden;padding:24px 0;background:linear-gradient(110deg,#315f25 0%,#3f8a31 68%,#2e7627 100%);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.15)}
.rentree-banner.orange{background:linear-gradient(110deg,#b95f16 0%,#d97924 68%,#c76a1c 100%)}
.rentree-banner.bleu{background:linear-gradient(110deg,#1e627f 0%,#277fa6 68%,#206b8c 100%)}
.rentree-banner.turquoise{background:linear-gradient(110deg,#1f6863 0%,#287f78 68%,#226f69 100%)}
.rentree-banner::after{content:"";position:absolute;right:-90px;top:-155px;width:350px;height:350px;border:46px solid rgba(94,178,214,.18);border-radius:50%}
.rentree-banner-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px}
.rentree-banner-copy{display:flex;align-items:center;gap:20px}.rentree-banner-icon{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#e6921b;font-size:32px;box-shadow:0 5px 15px rgba(0,0,0,.13)}
.rentree-banner.orange .rentree-banner-icon{color:#d97924}.rentree-banner.bleu .rentree-banner-icon{color:#277fa6}.rentree-banner.turquoise .rentree-banner-icon{color:#287f78}
.rentree-banner .section-label{margin:0 0 4px;color:#ffd17b}.rentree-banner h2{margin:0;color:#fff;font-size:clamp(22px,2.4vw,34px)}.rentree-banner p:last-child{margin:6px 0 0;color:#edf7ea}
.rentree-banner-button{flex:0 0 auto;color:#315f25!important;background:#fff!important;border:2px solid #fff!important}.rentree-banner-button:hover,.rentree-banner-button:focus{color:#fff!important;background:#d97924!important;border-color:#d97924!important}
@media(max-width:760px){.rentree-banner{padding:22px 0}.rentree-banner-inner{align-items:flex-start;flex-direction:column}.rentree-banner-copy{align-items:flex-start}.rentree-banner-icon{flex-basis:46px;width:46px;height:46px;font-size:25px}.rentree-banner-button{margin-left:66px}}
@media(max-width:480px){.rentree-banner-copy{gap:12px}.rentree-banner-icon{display:none}.rentree-banner-button{margin-left:0;width:100%;justify-content:center}}

/* Page d'informations : marche nordique et BungyPump */
.discovery-page{background:#fff}.discovery-hero{padding:72px 0;background:linear-gradient(125deg,#edf6e8 0%,#f8fbf6 52%,#e8f6fb 100%);border-bottom:1px solid #dce9d7}.discovery-hero-inner{max-width:940px}.discovery-hero .section-label{color:#d97924}.discovery-hero h1{max-width:850px;margin:8px 0 18px;color:#315f25;font-size:clamp(36px,5vw,60px);line-height:1.08}.discovery-lead{max-width:800px;font-size:20px;line-height:1.65;color:#4e6054}.discovery-contact-button{color:#0b6fa4!important;background:#fff!important;border:2px solid #0b6fa4!important}.discovery-intro{padding-top:54px;padding-bottom:54px}.discovery-offer{display:flex;gap:24px;align-items:flex-start;padding:30px;border:1px solid #f1d6b7;border-left:6px solid #d97924;border-radius:16px;background:#fff9f1;box-shadow:0 8px 25px rgba(108,82,43,.07)}.discovery-offer>span{font-size:45px;color:#e6921b}.discovery-offer h2{margin:4px 0 10px;color:#315f25}.discovery-offer p:last-child{margin-bottom:0;line-height:1.7}.discovery-anytime{margin:26px 0 0;padding:18px 22px;border-radius:12px;background:#edf6e8;color:#315f25;text-align:center;font-size:18px}.discovery-activities{padding:64px 0;background:#f5faf2}.discovery-activities h2,.discovery-practical h2,.discovery-cards h2,.discovery-help h2{color:#315f25}.discovery-grid{display:grid;gap:22px;margin-top:28px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.discovery-card{padding:28px;border:1px solid #e0e9dc;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(42,91,47,.06);line-height:1.65}.discovery-card h3{margin:4px 0 12px;color:#315f25;font-size:24px}.discovery-card a{color:#0b6fa4;font-weight:700;text-decoration:none}.green-card{border-top:5px solid #6ca938}.blue-card{border-top:5px solid #21a1d3}.blue-card h3{color:#0b6fa4}.discovery-note{margin:25px 0 0;padding:20px 24px;border-radius:12px;background:#e7f4f9;color:#245d74;text-align:center}.discovery-practical{padding-top:65px;padding-bottom:65px}.discovery-card ul{padding-left:21px}.discovery-card li{margin-bottom:8px}.discovery-number{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:#6ca938;font-weight:800;font-size:20px}.blue-number{background:#21a1d3}.orange-number{background:#d97924}.discovery-cards{padding:58px 0;background:linear-gradient(110deg,#eef7e9,#e9f7fb)}.discovery-cards-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.discovery-cards-inner>div{max-width:760px}.discovery-cards-inner p{line-height:1.7}.discovery-help{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:65px;padding-bottom:65px}.discovery-help>div:first-child{max-width:650px}.discovery-contact-links{display:grid;gap:12px;min-width:300px}.discovery-contact-links a{display:flex;flex-direction:column;padding:16px 20px;border:1px solid #dce8d8;border-radius:12px;color:#315f25;background:#f8fbf7;text-decoration:none}.discovery-contact-links span{margin-top:4px;color:#0b6fa4;font-size:14px}.discovery-final{padding:52px 0;background:#315f25;color:#fff;text-align:center}.discovery-final h2{margin:0;color:#fff;font-size:34px}.discovery-final p{margin:10px 0 22px;color:#edf7ea}
@media(max-width:900px){.three-columns{grid-template-columns:1fr}.discovery-cards-inner,.discovery-help{align-items:flex-start;flex-direction:column}.discovery-contact-links{width:100%;min-width:0}}
@media(max-width:680px){.discovery-hero{padding:48px 0}.discovery-lead{font-size:18px}.two-columns{grid-template-columns:1fr}.discovery-offer{padding:23px 20px}.discovery-offer>span{display:none}.discovery-practical,.discovery-activities{padding-top:46px;padding-bottom:46px}.discovery-help{padding-top:48px;padding-bottom:48px}}
.discovery-contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:340px}
.discovery-contact-links>div{display:flex;align-items:center;flex-direction:column;gap:8px}
.discovery-contact-links .btn{width:100%;justify-content:center;flex-direction:row;padding:11px 18px}
.discovery-contact-links>div>span{margin:0;color:#536359;font-size:14px}
.discovery-contact-links .btn.primary,
.discovery-contact-links .btn.secondary{min-height:68px;color:#315f25!important;background:#fff!important;border:1px solid #d8e5d3!important;box-shadow:0 9px 24px rgba(42,91,47,.13)!important;font-size:20px;text-align:center}
.discovery-contact-links .btn.primary:hover,
.discovery-contact-links .btn.primary:focus,
.discovery-contact-links .btn.secondary:hover,
.discovery-contact-links .btn.secondary:focus{color:#fff!important;background:#315f25!important;border-color:#315f25!important;transform:translateY(-2px)}
.discovery-contact-links>div>span{display:block;width:100%;margin-top:2px;color:#315f25;font-size:16px;font-weight:700;text-align:center}
@media(max-width:680px){.discovery-contact-links{grid-template-columns:1fr}}
.intro{
  position:relative;
  max-width:920px;
  margin:32px auto 42px;
  padding:42px 55px;
  background:linear-gradient(135deg,#ffffff 0%,#f3f8ed 100%);
  border:1px solid #dfead6;
  border-radius:24px;
  box-shadow:0 14px 34px rgba(63,127,40,.10);
}

.intro::before{
  content:"";
  display:block;
  width:48px;
  height:4px;
  margin:0 auto 15px;
  border-radius:999px;
  background:var(--green);
}

.intro .section-label{
  color:var(--orange);
}

.intro h2{
  margin:.15em 0 .45em;
}

.intro p:last-child{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  color:#596257;
  font-size:1.10rem;
  line-height:1.75;
}

/* Appel final */
.cta h2,
.final-cta h2{
  color:var(--orange);
}

/* Responsive */
@media(max-width:700px){
  .main-nav a{
    font-size:1.08rem;
  }

  .intro{
    width:92%;
    margin:24px auto 32px;
    padding:32px 24px;
    border-radius:18px;
  }
}

/* Sous-menu Activités : présentation compacte sur ordinateur */
@media(min-width:1051px){
  .site-header.is-compact .nav{
    justify-content:center;
  }
  .site-header.is-compact .brand{
    display:none;
  }
  .nav-dropdown-menu{
    min-width:235px;
    padding:5px 0;
  }
  .nav-dropdown-menu a{
    padding:8px 14px;
    font-size:.91rem;
    line-height:1.25;
    font-weight:700;
    letter-spacing:0;
    text-transform:none;
  }
}

/* Priorité finale aux nouveaux fonds des blocs d'accueil */
.quick{
  background:linear-gradient(120deg,#ffffff 0%,#f0f8fb 58%,#f3f8ec 100%);
}
.quick-grid{
  grid-template-columns:1fr 1fr;
  gap:45px;
}
.quick-grid > div:first-child h2{
  white-space:nowrap;
  font-size:clamp(2rem,2.7vw,2.75rem);
}
.values{
  background:linear-gradient(115deg,#edf6e5 0%,#e9f7fa 100%);
}

@media(max-width:900px){
  .quick-grid{
    grid-template-columns:1fr;
  }
  .quick-grid > div:first-child h2{
    white-space:normal;
  }
}

/* ==========================================================
   ASAHI — PAGES ACTIVITÉS PLUS VIVANTES
   Une couleur d'univers, une structure commune.
   ========================================================== */

.activity-hero{
  position:relative;
  overflow:hidden;
  padding:42px 0 38px;
  box-shadow:inset 0 -12px 26px rgba(48,72,38,.06);
}
.activity-hero::before{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:48%;
  pointer-events:none;
  opacity:.62;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 220' preserveAspectRatio='none'%3E%3Cpath d='M-40 150 C 105 55 205 215 365 118 S 585 42 750 120' fill='none' stroke='white' stroke-width='14' stroke-linecap='round'/%3E%3Cpath d='M-30 178 C 115 84 225 238 390 145 S 610 72 760 145' fill='none' stroke='white' stroke-width='8' stroke-linecap='round' opacity='.72'/%3E%3Cpath d='M5 112 C 145 26 250 178 410 88 S 620 18 745 80' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 13%,#000 38%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 13%,#000 38%,#000 100%);
}
.activity-hero::after{
  display:none;
}
.activity-hero .container{
  position:relative;
  z-index:1;
}
.activity-hero.green{
  background:linear-gradient(120deg,#fff 0%,#e8f4dc 58%,#d7ebc1 100%);
  border-bottom:5px solid var(--green);
}
.activity-hero.blue{
  background:linear-gradient(120deg,#fff 0%,#e5f4fb 58%,#cfeaf6 100%);
  border-bottom:5px solid var(--blue);
}
.activity-hero.orange{
  background:linear-gradient(120deg,#fff 0%,#fff1df 58%,#ffe0b6 100%);
  border-bottom:5px solid var(--orange);
}
.activity-hero.teal{
  background:linear-gradient(120deg,#fff 0%,#e2f5f3 58%,#cceae7 100%);
  border-bottom:5px solid var(--teal);
}
.activity-hero h1{
  font-size:clamp(2.5rem,4.2vw,4rem);
  margin:.12em 0 .18em;
  text-shadow:0 2px 0 rgba(255,255,255,.8);
}
.activity-hero.green h1{color:var(--dark)}
.activity-hero .section-label{
  color:var(--orange);
}

/* Chaque grande rubrique devient un bloc bien identifiable */
.activity-content > section{
  position:relative;
  padding:30px 32px !important;
  margin-bottom:26px !important;
  background:rgba(255,255,255,.9) !important;
  border:1px solid #e5ece0;
  border-left:6px solid var(--green);
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(43,68,35,.07);
}
.activity-content > section:nth-child(even){
  background:linear-gradient(120deg,#fff 0%,#f7faf3 100%) !important;
}
.activity-hero.blue + section .activity-content > section{border-left-color:var(--blue)}
.activity-hero.orange + section .activity-content > section{border-left-color:var(--orange)}
.activity-hero.teal + section .activity-content > section{border-left-color:var(--teal)}

.activity-content > section > h2:first-child{
  position:relative;
  padding-bottom:10px;
  margin-top:0;
}
.activity-content > section > h2:first-child::after{
  content:"";
  display:block;
  width:58px;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--orange));
}
.activity-hero.blue + section .activity-content > section > h2:first-child::after{
  background:linear-gradient(90deg,var(--blue),var(--green));
}
.activity-hero.orange + section .activity-content > section > h2:first-child::after{
  background:linear-gradient(90deg,var(--orange),var(--yellow));
}
.activity-hero.teal + section .activity-content > section > h2:first-child::after{
  background:linear-gradient(90deg,var(--teal),var(--blue));
}

/* Encadrés importants */
.activity-content .highlight{
  padding:23px 26px;
  background:linear-gradient(120deg,#eff7e7,#f8fbf5);
  border-left-width:6px;
  box-shadow:0 8px 20px rgba(63,127,40,.07);
}
.activity-hero.blue + section .highlight{
  background:linear-gradient(120deg,#e9f6fc,#f7fbfd);
  border-left-color:var(--blue);
}
.activity-hero.orange + section .highlight{
  background:linear-gradient(120deg,#fff0dc,#fffbf5);
  border-left-color:var(--orange);
}
.activity-hero.teal + section .highlight{
  background:linear-gradient(120deg,#e3f5f3,#f6fbfa);
  border-left-color:var(--teal);
}

/* Petites cartes déjà présentes dans les contenus */
.activity-content [style*="background:#fff"]{
  border:1px solid #e5ece2;
  box-shadow:0 10px 24px rgba(43,68,35,.09) !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.activity-content [style*="background:#fff"]:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(43,68,35,.14) !important;
}

/* Listes d'équipement et de bénéfices */
.activity-content .benefits{
  list-style:none;
  margin:22px 0 0;
  padding:0;
}
.activity-content .benefits li{
  position:relative;
  min-height:58px;
  padding:16px 18px 16px 48px;
  background:#fff;
  border:1px solid #e4ebe0;
  border-radius:12px;
  box-shadow:0 7px 18px rgba(43,68,35,.06);
}
.activity-content .benefits li::before{
  content:"✓";
  position:absolute;
  left:16px;
  top:15px;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-weight:900;
}
.activity-hero.blue + section .benefits li::before{background:var(--blue)}
.activity-hero.orange + section .benefits li::before{background:var(--orange)}
.activity-hero.teal + section .benefits li::before{background:var(--teal)}

/* Dernier appel à l'action */
.activity-content > section:last-child{
  padding:36px 30px !important;
  background:linear-gradient(120deg,#edf6e5,#eaf6f9) !important;
  border-left-width:0;
  border-top:5px solid var(--green);
  box-shadow:0 15px 34px rgba(43,68,35,.10);
}
.activity-hero.blue + section .activity-content > section:last-child{border-top-color:var(--blue)}
.activity-hero.orange + section .activity-content > section:last-child{border-top-color:var(--orange)}
.activity-hero.teal + section .activity-content > section:last-child{border-top-color:var(--teal)}

@media(max-width:700px){
  .activity-hero{
    padding:34px 0 30px;
  }
  .activity-hero::before{
    width:52%;
  }
  .activity-content > section{
    padding:24px 20px !important;
    border-left-width:4px;
  }
}
/* Liens cliquables dans le diaporama */
.asahi-slide {
    pointer-events: none;
}

.asahi-slide.active {
    pointer-events: auto;
}

.asahi-slide-caption {
    position: relative;
    z-index: 5;
}

.asahi-slide-caption a {
    position: relative;
    z-index: 6;
    pointer-events: auto;
}
