/* CMS dynamique Resonanc'E-Sport — couche FRONT uniquement.
   Objectif : conserver le rendu/ergonomie du site de production tout en affichant
   les données dynamiques du CMS. Aucun style d'administration n'est défini ici. */

/* Médias */
.reso-media-frame{position:relative;width:100%;height:100%;overflow:hidden;background:#eee}.reso-media-frame>img{display:block;width:100%;height:100%;object-fit:cover}.reso-photo-credit{position:absolute;right:6px;bottom:5px;z-index:3;max-width:calc(100% - 12px);padding:3px 6px;border-radius:4px;background:rgba(0,0,0,.58);color:#fff;font:500 9px/1.25 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .16s ease}.reso-media-ready>.reso-photo-credit{opacity:1;visibility:visible}.reso-credit-host{}.reso-overlay-relative{position:relative!important}.reso-credit-host::after{content:attr(data-reso-credit-overlay);position:absolute;right:6px;bottom:5px;z-index:8;padding:3px 6px;border-radius:4px;background:rgba(0,0,0,.58);color:#fff;font:500 9px/1.25 Arial,sans-serif;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .16s ease}.reso-credit-host.reso-media-ready::after{opacity:1;visibility:visible}.reso-video-frame{position:relative;width:100%;height:100%;min-height:110px;background:#090910;overflow:hidden}.reso-video-frame iframe,.reso-video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.reso-video-frame video{object-fit:cover;background:#090910}.reso-media-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:80px;color:#88889a;font-size:12px}.reso-dyn-empty{padding:24px;border:1px dashed rgba(20,20,28,.18);border-radius:14px;color:#717184;text-align:center}

/* --------------------------------------------------------------------------
   ACCUEIL — événements à venir
   Même silhouette desktop que la PROD. Le passage mobile reprend également
   le comportement PROD : image pleine largeur, date, contenu puis CTA.
   -------------------------------------------------------------------------- */
.reso-dyn-upcoming{display:grid;grid-template-columns:120px 128px minmax(0,1fr) auto;gap:24px;align-items:center;background:#F7F7FA;border:1px solid rgba(20,20,28,.08);border-radius:16px;padding:24px 28px;overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1)}
.reso-dyn-upcoming:hover{background:#fff;box-shadow:0 8px 24px rgba(20,20,28,.08);transform:translateY(-2px)}
.reso-dyn-upcoming-media{align-self:stretch;margin:-24px 0 -24px -28px;overflow:hidden;border-radius:16px 0 0 16px;min-height:116px}
.reso-dyn-upcoming-media>.reso-media-frame,.reso-dyn-upcoming-media>.reso-video-frame{height:100%;min-height:116px}
.reso-dyn-date{text-align:center;border-right:1px solid rgba(20,20,28,.1);padding-right:20px}
.reso-dyn-day{font-family:'Bungee',Arial,sans-serif;font-size:30px;color:#FF3000;line-height:1}
.reso-dyn-month{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#606078;margin-top:6px}
.reso-multi-label{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5872FF;margin-bottom:6px}
.reso-dyn-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}
.reso-dyn-title-row h3{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:19px;margin:0;color:#14141C}
.reso-dyn-title-row h3 a{color:inherit;text-decoration:none}
.reso-dyn-title-row h3 a:hover{text-decoration:underline;text-decoration-color:#FF3000;text-underline-offset:4px}
.reso-dyn-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(0,216,255,.14);color:#0883a3}
.reso-dyn-summary{font-size:14.5px;color:#606078;line-height:1.5}
.reso-next-note{font-size:11.5px;color:#5872FF;font-weight:700;margin-top:5px}
.reso-dyn-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;font-size:14px;font-weight:700;color:#14141C;border:1px solid rgba(20,20,28,.18);padding:11px 20px;border-radius:999px;background:transparent}
.reso-dyn-cta:hover{border-color:#FF3000;color:#C42600;background:#fff}.reso-dyn-cta.disabled{color:#8B8B9E;border-color:rgba(20,20,28,.12);background:transparent}

/* --------------------------------------------------------------------------
   NOS ÉVÉNEMENTS — rendu identique à la PROD
   La première fiche garde sa grande photo ; les suivantes redeviennent des
   cartes texte à deux colonnes. Le clic ouvre un pop-up, pas une nouvelle page.
   -------------------------------------------------------------------------- */
.reso-dyn-past-feature{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:0!important;padding:0!important;margin-bottom:24px!important;overflow:hidden!important;border-radius:22px!important;border:1px solid rgba(20,20,28,.1)!important;background:#fff!important;box-shadow:0 6px 16px rgba(20,20,28,.06)!important;cursor:pointer}
.reso-feature-media-link{display:block;min-height:340px;position:relative;background:#111;text-decoration:none}
.reso-feature-media-link>.reso-media-frame,.reso-feature-media-link>.reso-video-frame{position:absolute;inset:0}
.reso-feature-copy{padding:40px 36px;display:flex;flex-direction:column;justify-content:center}
.reso-feature-copy h3{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:clamp(24px,3vw,32px);margin:0 0 14px;color:#14141C;line-height:1.1}
.reso-feature-copy p{font-size:15.5px;line-height:1.65;color:#2B2B38;margin:0 0 18px}
.reso-dyn-meta{font-size:13px;color:#606078;font-family:'JetBrains Mono',monospace}
.reso-dyn-past-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.reso-dyn-past-card{display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;background:#fff!important;border:1px solid rgba(20,20,28,.1)!important;border-radius:18px!important;padding:0!important;min-height:190px!important;box-shadow:0 4px 8px rgba(20,20,28,.04)!important;overflow:hidden!important;cursor:pointer}
/* Petite vignette à gauche, dans l'esprit des événements à venir de l'accueil. */
.reso-dyn-past-card .reso-small-media-link{display:block!important;position:relative!important;min-width:0!important;min-height:190px!important;overflow:hidden!important;background:#111!important;text-decoration:none!important;border-radius:18px 0 0 18px!important}
.reso-dyn-past-card .reso-small-media-link>.reso-media-frame,.reso-dyn-past-card .reso-small-media-link>.reso-video-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:190px!important}
.reso-dyn-past-card .reso-small-media-link img,.reso-dyn-past-card .reso-small-media-link video,.reso-dyn-past-card .reso-small-media-link iframe{width:100%!important;height:100%!important;object-fit:cover!important}
.reso-dyn-past-card .reso-small-copy{padding:26px 28px!important;align-self:center!important;min-width:0!important}
.reso-dyn-past-card .reso-small-copy h3{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:20px;margin:10px 0;color:#14141C;line-height:1.15}
.reso-dyn-past-card .reso-small-copy p{font-size:14.5px;line-height:1.6;color:#2B2B38;margin:0}
.reso-event-more{display:inline-flex!important;margin-top:18px;color:#FF3000!important;text-decoration:none!important;font-weight:800!important;font-size:14px!important;gap:7px!important;align-items:center!important}
.reso-event-card{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s}
.reso-event-card:hover,.reso-event-card:focus-visible{transform:translateY(-3px);border-color:rgba(255,48,0,.35)!important;box-shadow:0 14px 32px rgba(20,20,28,.10)!important;outline:none}

/* Pop-up événement — dimensions et comportement de la PROD. */
.reso-event-dialog{width:min(900px,100%)!important;border-radius:24px!important}
.reso-event-modal-media-host{position:relative;width:100%;height:340px;overflow:hidden;background:#111;border-radius:24px 24px 0 0}
.reso-event-modal-media-host>.reso-event-modal-image,.reso-event-modal-media-host>img{display:block;width:100%;height:100%;object-fit:cover}
.reso-event-modal-media-host>.reso-video-frame,.reso-event-modal-media-host>.reso-media-frame{width:100%;height:100%}
.reso-event-modal-media-host iframe,.reso-event-modal-media-host video,.reso-event-modal-video{display:block;width:100%;height:100%;border:0;object-fit:cover;background:#090910}
.reso-event-modal-content{padding:34px 44px 40px!important}
.reso-event-description{white-space:pre-line}

/* --------------------------------------------------------------------------
   SENSIBILISATION — les six axes gardent leur carte d'origine et gagnent
   simplement le même comportement « En savoir plus » + pop-up.
   -------------------------------------------------------------------------- */
.reso-workshop-card{cursor:pointer;position:relative;padding-bottom:64px!important}
.reso-workshop-card:focus-visible{outline:3px solid rgba(0,216,255,.35);outline-offset:2px}
.reso-workshop-more{position:absolute;left:32px;bottom:28px;display:inline-flex;align-items:center;gap:7px;color:#0883a3;font-size:13.5px;font-weight:700}
.reso-workshop-more span{font-size:16px}
.reso-workshop-dialog{width:min(760px,100%)!important}
.reso-workshop-modal-visual{height:190px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#06212b,#0B0B14);border-radius:24px 24px 0 0}
.reso-workshop-modal-visual>div{display:flex;align-items:center;justify-content:center}

/* Ateliers dynamiques futurs : restent cohérents avec les cartes du site. */
.reso-dyn-workshops{background:#fff;padding:clamp(56px,7vw,88px) 0}.reso-dyn-container{max-width:1240px;margin:0 auto;padding:0 32px}.reso-dyn-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0883a3;margin-bottom:16px}.reso-dyn-workshops h2{font-family:'Russo One',Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.8vw,32px);margin:0 0 30px;color:#14141C}.reso-dyn-workshop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.reso-dyn-workshop-card{display:grid;grid-template-columns:170px 1fr;border:1px solid rgba(20,20,28,.1);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 4px 8px rgba(20,20,28,.04)}.reso-dyn-workshop-card>.reso-media-frame{min-height:190px}.reso-dyn-workshop-copy{padding:26px}.reso-dyn-workshop-copy h3{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:19px;margin:8px 0 10px;color:#14141C}.reso-dyn-workshop-copy p{font-size:14.5px;line-height:1.6;color:#2B2B38;margin:0 0 16px}

/* Responsive — reprend volontairement les breakpoints de la PROD. */
@media(max-width:760px){
  .reso-dyn-upcoming{grid-template-columns:1fr!important;gap:0!important;padding:0!important;overflow:hidden!important}
  .reso-dyn-upcoming-media{grid-column:1!important;grid-row:auto!important;margin:0!important;height:170px!important;min-height:170px!important;border-radius:16px 16px 0 0!important}
  .reso-dyn-upcoming-media>.reso-media-frame,.reso-dyn-upcoming-media>.reso-video-frame{min-height:170px!important;height:170px!important}
  .reso-dyn-date{grid-column:1!important;text-align:left!important;border-right:none!important;border-bottom:1px solid rgba(20,20,28,.08)!important;padding:16px 20px!important;display:flex!important;align-items:baseline!important;gap:8px!important}
  .reso-multi-label{margin:0 4px 0 0!important}
  .reso-dyn-day{font-size:25px!important}.reso-dyn-month{margin-top:0!important}
  .reso-dyn-upcoming [data-role=ev-body]{grid-column:1!important;padding:16px 20px 4px!important}
  .reso-dyn-upcoming>.reso-dyn-cta{grid-column:1!important;display:block!important;width:fit-content!important;margin:16px auto 20px!important;justify-self:auto!important}

  .reso-dyn-past-feature{grid-template-columns:1fr!important}
  .reso-feature-media-link{min-height:220px!important}
  .reso-feature-copy{padding:28px 24px 30px!important}
  .reso-dyn-past-grid{grid-template-columns:1fr!important}
  .reso-dyn-past-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:164px!important;padding:0!important}
  .reso-dyn-past-card .reso-small-media-link{min-height:164px!important;border-radius:18px 0 0 18px!important}
  .reso-dyn-past-card .reso-small-media-link>.reso-media-frame,.reso-dyn-past-card .reso-small-media-link>.reso-video-frame{min-height:164px!important}
  .reso-dyn-past-card .reso-small-copy{padding:20px 20px!important}

  .reso-event-modal{padding:14px!important}
  .reso-event-dialog{max-height:calc(100vh - 28px)!important;width:min(900px,100%)!important}
  .reso-event-modal-media-host{height:230px!important}
  .reso-event-modal-content{padding:26px 22px 30px!important}

  .reso-dyn-workshop-grid{grid-template-columns:1fr}
  .reso-dyn-workshop-card{grid-template-columns:130px 1fr}
}
@media(max-width:520px){
  .reso-dyn-past-card{grid-template-columns:92px minmax(0,1fr)!important;min-height:150px!important}
  .reso-dyn-past-card .reso-small-media-link{min-height:150px!important}
  .reso-dyn-past-card .reso-small-media-link>.reso-media-frame,.reso-dyn-past-card .reso-small-media-link>.reso-video-frame{min-height:150px!important}
  .reso-dyn-past-card .reso-small-copy{padding:17px 16px!important}
  .reso-dyn-past-card .reso-small-copy h3{font-size:18px!important;margin:7px 0!important}
  .reso-dyn-past-card .reso-small-copy p{font-size:13.5px!important;line-height:1.5!important}
  .reso-dyn-past-card .reso-dyn-meta{font-size:11px!important;line-height:1.35!important}
  .reso-dyn-past-card .reso-event-more{margin-top:12px!important;font-size:13px!important}
  .reso-dyn-workshop-card{grid-template-columns:1fr}.reso-dyn-workshop-card>.reso-media-frame{height:180px}
  .reso-workshop-card{padding-bottom:62px!important}.reso-workshop-more{left:32px;bottom:26px}
  .reso-workshop-modal-visual{height:150px}
}
.reso-feature-stats{display:flex;gap:32px;flex-wrap:wrap;margin:0 0 2px}.reso-feature-stat strong{display:block;font-family:'Bungee';font-size:26px;color:#FF3000;line-height:1;font-weight:400}.reso-feature-stat span{display:block;font-size:12.5px;color:#606078;margin-top:6px}

/* ========================================================================== 
   Correctif de non-régression FRONT — 15/08/2026
   --------------------------------------------------------------------------
   Les cartes dynamiques de l'accueil réutilisent volontairement la géométrie
   mobile qui était validée dans responsive-v2.css avant l'arrivée du CMS.
   Ces règles sont placées en fin de feuille afin de neutraliser les anciennes
   surcharges du bloc dynamique sans toucher au CMS ni aux carrousels.
   ========================================================================== */
@media (max-width:900px){
  .reso-dyn-upcoming.evrow-with-thumb{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    grid-template-areas:"image body" "date body" "cta cta"!important;
    gap:12px 16px!important;
    padding:16px!important;
    align-items:start!important;
    overflow:hidden!important;
    min-height:0!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb > *{min-width:0!important;}
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"]{
    grid-area:image!important;
    width:84px!important;
    height:84px!important;
    min-height:84px!important;
    margin:0!important;
    align-self:start!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] > .reso-media-frame,
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] > .reso-video-frame{
    width:84px!important;
    height:84px!important;
    min-height:84px!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] img,
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] video,
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] iframe{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-date"]{
    grid-area:date!important;
    display:block!important;
    text-align:center!important;
    border-right:0!important;
    border-bottom:0!important;
    padding:0!important;
    align-self:start!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-date"] .reso-multi-label{
    display:block!important;
    margin:0 0 4px!important;
    font-size:8px!important;
    line-height:1.15!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-date"] .reso-dyn-day{
    font-size:22px!important;
    line-height:1!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-date"] .reso-dyn-month{
    margin-top:4px!important;
    font-size:10px!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-body"]{
    grid-area:body!important;
    padding:0!important;
    align-self:start!important;
    min-width:0!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb .reso-dyn-title-row{
    gap:7px!important;
    margin-bottom:7px!important;
    align-items:flex-start!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb .reso-dyn-title-row h3{
    font-size:18px!important;
    line-height:1.15!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb .reso-dyn-summary{
    font-size:13.5px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb .reso-next-note{
    font-size:11.5px!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb > .reso-dyn-cta{
    grid-area:cta!important;
    justify-self:stretch!important;
    width:auto!important;
    margin:2px 0 0!important;
    display:flex!important;
    text-align:center!important;
  }
}

@media (max-width:520px){
  .reso-dyn-upcoming.evrow-with-thumb{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:11px 14px!important;
    padding:14px!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"],
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] > .reso-media-frame,
  .reso-dyn-upcoming.evrow-with-thumb [data-role="ev-img"] > .reso-video-frame{
    width:76px!important;
    height:76px!important;
    min-height:76px!important;
  }
  .reso-dyn-upcoming.evrow-with-thumb .reso-dyn-title-row h3{font-size:17px!important;}
  .reso-dyn-upcoming.evrow-with-thumb .reso-dyn-tag{font-size:9px!important;padding:4px 7px!important;}
}

/* Le pop-up front est créé hors du DOM React pour garantir la fermeture. */
#reso-front-event-modal{z-index:2147483000!important;}
#reso-front-event-modal .reso-event-dialog{overscroll-behavior:contain;}
#reso-front-event-modal .reso-event-close{touch-action:manipulation;}
#reso-front-event-modal .reso-event-modal-media-host.is-empty{display:none;}
html.reso-modal-open,body.reso-modal-open{overflow:hidden!important;}

@media(max-width:700px){
  #reso-front-event-modal{padding:10px!important;}
  #reso-front-event-modal .reso-event-dialog{
    width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:18px!important;
  }
  #reso-front-event-modal .reso-event-modal-media-host{
    height:clamp(190px,55vw,245px)!important;
    border-radius:18px 18px 0 0!important;
  }
  #reso-front-event-modal .reso-event-close{top:12px!important;right:12px!important;}
  #reso-front-event-modal .reso-event-modal-content{padding:24px 20px 28px!important;}
}

/* v6 — robustesse des clics sur les cartes événements passés.
   La vignette est purement visuelle pour le hit-testing : le clic remonte
   vers la carte, tandis que le lien « En savoir plus » reste au premier plan. */
.reso-dyn-past-card .reso-small-media-link{
  z-index:0!important;
  pointer-events:none!important;
}
.reso-dyn-past-card .reso-small-copy{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
}
.reso-dyn-past-card .reso-event-more{
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.reso-dyn-past-card{cursor:pointer!important;}

/* F1.1 — crédits et légendes sans mutation de structure DOM. */
.reso-caption-host{}
.reso-caption-host::before{content:attr(data-reso-caption-overlay);position:absolute;left:14px;bottom:13px;z-index:10;max-width:calc(100% - 28px);padding:0;background:none;color:rgba(255,255,255,.97);font-family:Arial,Helvetica,sans-serif;font-size:13px;font-style:italic;font-weight:400;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.7);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .16s ease}
.reso-caption-host.reso-media-ready::before{opacity:1;visibility:visible}
.gtile[style*="grid-column:span 6"].reso-caption-host::before{left:18px;bottom:16px}

.reso-home-event-more{margin-top:8px!important;font-size:12.5px!important}
.reso-event-signup-wrap{margin-top:24px}.reso-event-signup{display:inline-flex;align-items:center;justify-content:center;padding:11px 19px;border-radius:999px;background:#FF3000;color:#fff!important;text-decoration:none;font-weight:800;font-size:14px}.reso-event-signup:hover{background:#d72b08}

/* Le même pop-up événement est disponible depuis l’accueil et Nos événements. */
.reso-event-modal[hidden]{display:none!important}.reso-event-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .18s ease}.reso-event-modal.is-open{opacity:1}.reso-event-modal-backdrop{position:absolute;inset:0;background:rgba(8,8,14,.72);backdrop-filter:blur(4px)}.reso-event-dialog{position:relative;z-index:1;max-height:calc(100vh - 48px);overflow:auto;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34);transform:translateY(8px);transition:transform .18s ease}.reso-event-modal.is-open .reso-event-dialog{transform:none}.reso-event-close{position:absolute;right:14px;top:14px;z-index:15;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#14141C;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.18)}.reso-event-modal-head{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.reso-event-tag{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(0,216,255,.14);color:#0883a3}.reso-event-meta{font-size:12.5px;color:#606078}.reso-event-modal-content>h2{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:clamp(25px,4vw,34px);margin:0 0 15px}.reso-event-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:24px}.reso-event-stat{border-top:1px solid rgba(20,20,28,.12);padding-top:13px}.reso-event-stat strong{display:block;font-family:'Bungee',Arial,sans-serif;font-weight:400;font-size:22px;color:#FF3000}.reso-event-stat span{display:block;font-size:12px;color:#606078;margin-top:4px}.reso-event-partners-wrap{margin-top:24px}.reso-event-partners-wrap h3{font-family:'Russo One',Arial,sans-serif;font-weight:400;font-size:16px}.reso-event-partners{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}.reso-event-partners li{padding:7px 10px;border-radius:999px;background:#F1F1F5;font-size:12px}


/* F1.2 — Sensibilisation : conserver strictement la grille 2 colonnes des ateliers.
   Une photo chargée dans un atelier ne doit jamais élargir sa colonne ni déformer la page. */
[data-screen-label="Sensibilisation — Axes"] [data-cms-id="e68"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
[data-screen-label="Sensibilisation — Axes"] .reso-workshop-axis-card{
  min-width:0!important;
  width:auto!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.reso-workshop-card-icon{
  width:50px;height:50px;border-radius:13px;background:rgba(0,216,255,.12);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.reso-workshop-card-media{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  aspect-ratio:16/9;
  overflow:hidden!important;
  border-radius:13px;
  margin:0 0 20px;
  background:#f1f1f5;
}
.reso-workshop-card-media img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
}
.reso-workshop-card-credit{
  position:absolute;right:8px;bottom:8px;z-index:3;
  max-width:calc(100% - 16px);padding:4px 7px;border-radius:7px;
  background:rgba(11,11,20,.72);color:#fff;font-size:10px;line-height:1.25;
}
@media(max-width:900px){
  [data-screen-label="Sensibilisation — Axes"] [data-cms-id="e68"]{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* F2 — règles communes images / événements */
.reso-credit-host::after,
.reso-photo-credit{
  right:6px!important;
  left:auto!important;
  top:auto!important;
  bottom:5px!important;
}
.reso-event-modal-title-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  justify-content:stretch;
  gap:18px;
  margin:0 0 15px;
}
.reso-event-modal-title-row>h2{
  font-family:'Russo One',Arial,sans-serif;
  font-weight:400;
  font-size:clamp(25px,4vw,34px);
  margin:0;
  min-width:0;
}
.reso-event-modal-title-row .reso-event-signup,
.reso-event-modal-title-row .reso-event-signup-disabled{
  flex:0 0 auto;
}
.reso-event-signup-disabled{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 17px;
  border-radius:999px;
  background:#E7E7EC;
  color:#8A8A98;
  font-weight:800;
  font-size:13px;
  cursor:not-allowed;
  pointer-events:none;
}
.reso-event-modal-media-host.is-poster{
  height:auto!important;
  max-height:none!important;
  background:transparent!important;
  display:flex;
  justify-content:center;
  align-items:flex-start;
}
.reso-event-modal-media-host.is-poster>img,
.reso-event-modal-media-host.is-poster picture,
.reso-event-modal-media-host.is-poster picture>img,
.reso-event-modal-media-host.is-poster .reso-media-frame,
.reso-event-modal-media-host.is-poster .reso-media-frame>img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  background:transparent!important;
}
.reso-workshop-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:18px;
  border-radius:12px;
  background:#f0f1f3;
}
.reso-workshop-card-icon svg{width:27px;height:27px}
@media(max-width:720px){
  .reso-event-modal-title-row{grid-template-columns:1fr!important;align-items:flex-start!important;gap:10px}
}

/* F2 — le contrôle d'inscription appartient à la ligne du titre du pop-up. */
.reso-event-modal-title-row .reso-event-signup-wrap{margin:0!important;display:flex;align-items:center;flex:0 0 auto}


/* F2.1 — médias post-événement dans le pop-up et fiabilisation du rendu. */
.reso-event-past-media{margin-top:28px;display:grid;gap:24px}
.reso-event-past-media[hidden]{display:none!important}
.reso-event-past-media .event-more-media{margin:0;padding-top:22px;border-top:1px solid rgba(20,20,28,.10)}
.reso-event-past-media .event-more-media h2{font-family:'Russo One',Arial,sans-serif;font-size:17px;font-weight:400;text-transform:uppercase;margin:0 0 14px}
.reso-event-past-media .event-session-carousel{height:min(48vw,430px);min-height:260px;border-radius:16px}
.reso-event-past-media .event-gallery{position:relative;height:min(48vw,430px);min-height:260px;background:#f1f1f4;border-radius:16px;overflow:hidden}
.reso-event-past-media .event-gallery-track,.reso-event-past-media .event-gallery-slide{height:100%;margin:0}
.reso-event-past-media .event-gallery-slide{display:none}
.reso-event-past-media .event-gallery-slide.active{display:block}
.reso-event-past-media .event-gallery-slide>.reso-media-frame{height:100%}
.reso-event-past-media .event-gallery-prev,.reso-event-past-media .event-gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:26px;cursor:pointer}
.reso-event-past-media .event-gallery-prev{left:12px}.reso-event-past-media .event-gallery-next{right:12px}
.reso-event-past-media .event-gallery-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:6px}
.reso-event-past-media .event-gallery-dots button{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.55);padding:0}.reso-event-past-media .event-gallery-dots button.active{background:#fff;transform:scale(1.3)}
.reso-event-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reso-event-image-grid figure{margin:0;position:relative;overflow:hidden;border-radius:14px;min-height:180px;background:#f1f1f4}
.reso-event-image-grid .reso-media-frame{height:100%}.reso-event-image-grid img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:720px){.reso-event-image-grid{grid-template-columns:1fr}.reso-event-past-media .event-gallery,.reso-event-past-media .event-session-carousel{height:58vw;min-height:220px}}

/* F2.1 — états d'inscription exclusifs : l'attribut hidden doit toujours gagner. */
.reso-event-signup-wrap[hidden],
.reso-event-signup[hidden],
.reso-event-signup-disabled[hidden]{display:none!important}

/* F2.1f — médias d'un événement passé : vidéo OU « Retour en images » dans le hero. */
.event-main-media>.event-session-carousel,
.reso-event-modal-media-host>.event-session-carousel{width:100%;height:100%}
.event-session-carousel{position:relative;overflow:hidden;background:#101018}
.event-session-carousel-track{position:absolute;inset:0}
.event-session-carousel-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.event-session-carousel-slide.active{opacity:1;pointer-events:auto}
.event-session-carousel-slide>.reso-media-frame,
.event-session-carousel-slide>.reso-media-frame>picture,
.event-session-carousel-slide>.reso-media-frame img{display:block;width:100%;height:100%}
.event-session-carousel-slide>.reso-media-frame img{object-fit:cover}
.event-session-carousel-prev,.event-session-carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#14141c;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.event-session-carousel-prev{left:12px}.event-session-carousel-next{right:12px}
.event-session-carousel-dots{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);z-index:6;display:flex;gap:6px}
.event-session-carousel-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.52);cursor:pointer}
.event-session-carousel-dots button.active{background:#fff;transform:scale(1.3)}
.event-album-link{position:absolute;right:14px;bottom:14px;z-index:9;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:9px;background:rgba(11,11,20,.76);color:#fff!important;text-decoration:none;font-size:12px;font-weight:800;backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.16)}
.event-album-link:hover{background:rgba(11,11,20,.9)}
.reso-event-modal-media-host .event-album-link{right:14px;bottom:14px}
@media(max-width:720px){.event-session-carousel-prev,.event-session-carousel-next{width:36px;height:36px;font-size:23px}.event-album-link{right:10px;bottom:10px;padding:8px 10px;font-size:11px}}
