section#single-page {
    margin-top: 40px;
}

/* ===== Ateliers (scope total) ===== */
.ateliers-wrap{ color:#fff; background:transparent; padding:28px 0; position:relative; z-index:0; }
.ateliers-wrap .at-head{ max-width:1200px; margin:0 auto 40px; padding:0 20px 10px; background:#fff; border-radius:10px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.ateliers-wrap .at-infos h1{ margin:0; color:#000; font-weight:900; }
.ateliers-wrap .at-sub{ color:#000; opacity:.9; min-height:1.4em; }

.ateliers-wrap .at-filtres{ display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 26px; }
.ateliers-wrap .fbtn{ border:1px solid #ddd; border-radius:999px; padding:.5rem .8rem; font-weight:700; background:transparent; color:#000; cursor:pointer; transition:.2s; font-size:14px; }
.ateliers-wrap .fbtn.active, .ateliers-wrap .fbtn:focus{ background:#000; color:#fff; }

.ateliers-wrap .at-grid{ max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:900px){ .ateliers-wrap .at-grid{ grid-template-columns:1fr; } }

.ateliers-wrap .at-card{ position:relative; background:#fff; color:#000; border-radius:18px; box-shadow:0 10px 26px rgba(0,0,0,.28); overflow:hidden; opacity:1; transform:translateY(0); transition:opacity .28s ease, transform .28s ease; }
.ateliers-wrap .at-card.is-hide{ opacity:0; transform:translateY(8px); pointer-events:none; }

/* Colonne image = pleine hauteur / cadrage identique */
.ateliers-wrap .at-card__inner{ display:flex; align-items:stretch; }
.ateliers-wrap .at-card__inner > .at-media{ width:48%; flex:0 0 48%; position:relative; overflow:hidden; background:#111; min-height:393px; }
.ateliers-wrap .at-card__inner > .at-content{ width:52%; flex:0 0 52%; position:relative; padding:24px 22px 26px; }
.ateliers-wrap .at-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

@media (max-width:900px){
  .ateliers-wrap .at-card__inner{ flex-direction:column; }
  .ateliers-wrap .at-card__inner > .at-media,
  .ateliers-wrap .at-card__inner > .at-content{ width:auto; flex:unset; }
  .ateliers-wrap .at-card__inner > .at-media{ aspect-ratio:4/3; min-height:0; }
  .ateliers-wrap .at-media img{ position:static; height:100%; }
}

/* Badges / boutons dans l'image */
.ateliers-wrap .at-age{ font-size:16px; line-height:.8; position:absolute; left:0; top:-1px; background:#e71d36; color:#fff; font-weight:900; padding:.55rem .9rem; display:inline-flex; gap:0; align-items:baseline; box-shadow:0 2px 6px rgba(0,0,0,.25); }
.ateliers-wrap .at-age small{ font-weight:800; opacity:.95; }
.ateliers-wrap .at-btn{ display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-weight:900; padding:.8rem 1.4rem; border:2px solid #000; background:#000; color:#fff; text-decoration:none; font-size:16px; }
.ateliers-wrap .at-btn:hover{ background:#fff; color:#000; }
.ateliers-wrap .at-btn-ghost{ background:#e71d36; border-color:#e71d36; }
.ateliers-wrap .at-btn-ghost:hover{ background:#fff; color:#e71d36; }
.ateliers-wrap .at-btn-decouvrir{ position:absolute; left:14px; bottom:14px; font-size:12px; padding:2px 10px; }

/* Bandeau jour/heure */
.ateliers-wrap .at-when{ display:flex; align-items:center; gap:.8rem; position:absolute; top:13px; left:6px; background:#e71d36; color:#fff; font-weight:900; padding:.55rem .9rem; border-radius:.15rem; transform:rotate(-2deg); }
.ateliers-wrap .at-when .w-jour{ font-size:1.4em; }

/* Titre / description (3 lignes clamp) */
.ateliers-wrap .at-prof{ margin:50px 0 .35rem; font-weight:900; font-size:clamp(1.8rem,2.3vw,2rem); color:#000; line-height:1; }
.ateliers-wrap .at-fonction{ font-weight:800; margin:0 0 .4rem; line-height:1; }
.ateliers-wrap .at-desc{ opacity:.95; margin:.6rem 0 1rem;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; }
.ateliers-wrap .at-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* Overlay "Complet" (si utilisé) */
.ateliers-wrap .at-card .at-full{ position:absolute; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:5; pointer-events:none; }
.ateliers-wrap .at-card .at-full .stamp{ padding:.3em .6em; border:6px solid #fff; font-weight:900; color:#fff; font-size:clamp(1.6rem,6vw,3rem); transform:rotate(-8deg); }

/* Panneau prof (inchangé, scopé) */
.ateliers-wrap #at-profil{ max-width:1200px; margin:0 auto; padding:0 20px; opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease; }
.ateliers-wrap #at-profil.is-open{ opacity:1; transform:none; padding-top:100px; }
.ateliers-wrap #at-profil .profil{ display:grid; grid-template-columns:380px 1fr; gap:50px; }
.ateliers-wrap #at-profil .p-media{ background:#000; }
.ateliers-wrap #at-profil img{ width:100%; height:100%; max-height:450px; object-fit:cover; display:block; }
.ateliers-wrap #at-profil .p-name{ font-weight:900; font-size:1.8rem; margin:0 0 .3rem; }

/* ===== Stages (mêmes idées, autre scope) ===== */
.stages-wrap{ color:#fff; background:transparent; padding:28px 0; position:relative; z-index:0; }
.stages-wrap .st-head{ max-width:1200px; margin:0 auto 40px; padding:0 20px 10px; background:#fff; border-radius:10px; display:flex; justify-content:space-between; gap:16px; }
.stages-wrap .st-filtres{ display:flex; gap:10px; flex-wrap:wrap; }
.stages-wrap .fbtn{ border:1px solid #ddd; border-radius:999px; padding:.3rem .8rem; font-weight:700; background:#e53847!important; color:#000; cursor:pointer; transition:.2s; font-size:16px; }
.stages-wrap .fbtn.active,.stages-wrap .fbtn:focus{ background:#000!important; color:#fff; }
.stages-wrap .st-grid{ max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:900px){ .stages-wrap .st-grid{ grid-template-columns:1fr; } }
/* …et ainsi de suite pour tes classes de “stages” uniquement… */
@media (max-width:900px) and (max-width:900px){
section#single-page {
    margin-top: 0px;
}
}
