.info-body{
  background:
    linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.78)),
    url('../assets/background-site-rope.jpg') center center / cover fixed;
  color:#111;
}

.info-page{
  width:min(1440px,94vw);
  margin:0 auto;
  padding:120px 0 44px;
}

.info-hero{
  display:grid;
  grid-template-columns:1fr 390px;
  gap:24px;
  color:#fff;
  margin-bottom:24px;
}

.info-hero-main,
.info-hero-side{
  border-radius:22px;
  border:1px solid rgba(255,98,0,.36);
  background:rgba(0,0,0,.58);
  box-shadow:0 18px 45px rgba(0,0,0,.30);
  backdrop-filter:blur(5px);
}

.info-hero-main{
  min-height:360px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  position:relative;
}

.info-hero-main::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28)), var(--hero-image);
  background-size:cover;
  background-position:center;
  opacity:.72;
}

.info-hero-main::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:7px;
  background:linear-gradient(90deg,var(--orange),#638425,#0f4f7d);
}

.info-hero-main > *{
  position:relative;
  z-index:1;
}

.info-kicker{
  color:var(--orange);
  font-weight:900;
  font-style:italic;
  font-size:21px;
  margin:0 0 10px;
}

.info-hero h1{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:88px;
  line-height:.88;
  text-transform:uppercase;
  margin:0 0 18px;
}

.info-hero p{
  max-width:760px;
  font-size:18px;
  line-height:1.55;
  margin:0;
}

.info-hero-side{
  padding:28px;
  display:grid;
  align-content:center;
  gap:14px;
}

.info-hero-side::before{
  content:"";
  width:54px;
  height:5px;
  border-radius:999px;
  background:var(--orange);
}

.info-hero-side strong{
  display:block;
  font-family:"Bebas Neue",Impact,sans-serif;
  color:var(--orange);
  font-size:38px;
  line-height:1;
}

.info-hero-side ul,
.info-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:10px;
  line-height:1.45;
}

.info-section{
  background:rgba(255,255,255,.96);
  border-radius:22px;
  padding:30px;
  margin-bottom:22px;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.info-section.intro-band{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  background:#fffaf3;
}

.info-section.orange-border{border-left:7px solid var(--orange)}
.info-section.green-border{border-left:7px solid #638425}
.info-section.blue-border{border-left:7px solid #0f4f7d}

.info-section h2{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:46px;
  line-height:1;
  margin:0 0 14px;
}

.info-section p{
  color:#444;
  line-height:1.58;
  font-size:16px;
}

.info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}

.info-card{
  position:relative;
  background:#fff;
  border:1px solid #eadfd3;
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  overflow:hidden;
}

.info-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:var(--orange);
}

.info-card:nth-child(3n+2)::before{background:#638425}
.info-card:nth-child(3n+3)::before{background:#0f4f7d}

.card-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:30px;
  border-radius:999px;
  padding:0 10px;
  margin-bottom:14px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.info-card h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:31px;
  line-height:1;
  margin:0 0 8px;
}

.info-card p{
  margin:0;
  font-size:14px;
}

.info-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.info-pill{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.info-pill.orange{background:var(--orange)}
.info-pill.green{background:#638425}
.info-pill.blue{background:#0f4f7d}

.info-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}

.info-photo{
  min-height:320px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  box-shadow:inset 0 -90px 90px rgba(0,0,0,.28);
}

.warm-panel{
  border-radius:18px;
  padding:24px;
  background:#111;
  color:#fff;
  display:grid;
  align-content:center;
  min-height:100%;
}

.warm-panel h2,
.warm-panel p{
  color:#fff;
}

.warm-panel h2{
  color:var(--orange);
}

.info-mosaic{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}

.info-mosaic .info-photo:first-child{
  min-height:430px;
}

.info-mosaic .stack{
  display:grid;
  gap:16px;
}

.info-mosaic .stack .info-photo{
  min-height:207px;
}

.team-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}

.team-card{
  min-height:170px;
  border-radius:16px;
  padding:18px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)),
    var(--team-image);
  background-size:cover;
  background-position:center;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}

.team-card strong{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:28px;
  line-height:1;
}

.team-card span{
  font-size:12px;
  font-weight:800;
  color:#fff;
}

.info-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:#111;
  color:#fff;
}

.info-cta h2,
.info-cta p{
  color:#fff;
}

.info-cta h2{
  color:var(--orange);
}

.role-list{
  display:grid;
  gap:12px;
}

.role-item{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid #eadfd3;
}

.role-item:last-child{
  border-bottom:0;
}

.role-item strong{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:26px;
  line-height:1;
  color:var(--orange);
}

.role-item p{
  margin:0;
}

.history-timeline{
  display:grid;
  gap:16px;
  margin-top:18px;
  position:relative;
}

.history-step{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:18px;
  border:1px solid #eadfd3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.history-year{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:76px;
  border-radius:14px;
  background:#111;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:36px;
  line-height:1;
}

.history-step h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:32px;
  line-height:1;
  margin:0 0 8px;
}

.history-step p{
  margin:0;
}

.stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.stat-card{
  padding:20px;
  border-radius:16px;
  background:#111;
  color:#fff;
}

.stat-card strong{
  display:block;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:46px;
  line-height:1;
}

.stat-card span{
  display:block;
  margin-top:8px;
  font-weight:800;
}

.rules-list{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.rule-block{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:18px;
  padding:18px;
  border:1px solid #eadfd3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.rule-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:16px;
  background:var(--orange);
  color:#fff;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:32px;
  line-height:1;
}

.rule-block h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:31px;
  line-height:1;
  margin:0 0 8px;
}

.rule-block p{
  margin:0 0 10px;
}

.rule-block ul{
  margin:0;
  padding-left:18px;
  color:#444;
  line-height:1.55;
}

.rule-note{
  border-radius:18px;
  padding:24px;
  background:#fff3ea;
  border:1px solid #ffd0b5;
}

.rule-note strong{
  display:block;
  margin-bottom:8px;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:30px;
  line-height:1;
  color:var(--orange);
}

.ranking-board{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.ranking-row{
  display:grid;
  grid-template-columns:86px 88px 1fr 150px;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #eadfd3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.ranking-position{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  border-radius:16px;
  background:#111;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:38px;
  line-height:1;
}

.country-flag-card{
  background:#fff7f1;
  border:1px solid #eadfd3;
  overflow:hidden;
  padding:8px;
}

.country-flag-card img{
  display:block;
  width:100%;
  max-width:64px;
  height:44px;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.10);
}

.team-logo-box{
  width:78px;
  height:78px;
  border-radius:16px;
  border:1px solid #eadfd3;
  background:#fff7f1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.team-logo-box img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  padding:6px;
}

.team-initials{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:32px;
  color:var(--orange);
  line-height:1;
}

.ranking-team h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:34px;
  line-height:1;
  margin:0 0 8px;
  display:flex;
  align-items:center;
  gap:10px;
}

.country-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#fff3ea;
  border:1px solid #eadfd3;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:21px;
  line-height:1;
  flex:0 0 auto;
}

.ranking-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#666;
  font-size:13px;
  font-weight:800;
}

.ranking-members{
  margin-top:10px;
  color:#444;
  line-height:1.5;
  font-size:14px;
}

.ranking-score{
  text-align:right;
}

.ranking-score strong{
  display:block;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:44px;
  line-height:1;
}

.ranking-score span{
  color:#555;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.empty-state{
  padding:24px;
  border-radius:18px;
  background:#fff3ea;
  border:1px solid #ffd0b5;
  color:#333;
}

.empty-state strong{
  display:block;
  margin-bottom:8px;
  font-family:"Bebas Neue",Impact,sans-serif;
  color:var(--orange);
  font-size:32px;
  line-height:1;
}

@media(max-width:1100px){
  .info-hero,
  .info-split,
  .info-section.intro-band,
  .info-mosaic{
    grid-template-columns:1fr;
  }

  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .team-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stat-grid{
    grid-template-columns:1fr;
  }

  .ranking-row{
    grid-template-columns:70px 78px 1fr;
  }

  .ranking-score{
    grid-column:1 / -1;
    text-align:left;
  }
}

@media(max-width:720px){
  .info-page{
    padding-top:34px;
  }

  .info-hero h1{
    font-size:58px;
  }

  .info-hero-main,
  .info-section{
    padding:22px;
  }

  .info-grid{
    grid-template-columns:1fr;
  }

  .role-item{
    grid-template-columns:1fr;
    gap:6px;
  }

  .team-cards{
    grid-template-columns:1fr;
  }

  .info-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .history-step{
    grid-template-columns:1fr;
  }

  .rule-block{
    grid-template-columns:1fr;
  }

  .history-year{
    justify-content:flex-start;
    min-height:58px;
    padding:0 18px;
  }

  .ranking-row{
    grid-template-columns:1fr;
  }

  .ranking-position,
  .ranking-score{
    justify-content:flex-start;
    text-align:left;
  }
}

/* v42 - drapeaux pays en SVG inline + bandeau equipes */
.country-flag-card{
  background:#fff7f1;
  border:1px solid #eadfd3;
  overflow:hidden;
  padding:8px;
}
.country-flag-card img{display:none;}
.country-flag-svg{
  display:block;
  width:64px;
  height:44px;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  background:#fff;
}
.country-flag-svg svg{
  display:block;
  width:100%;
  height:100%;
}
.ranking-meta span + span::before{
  content:"•";
  margin:0 8px 0 4px;
  color:#ff5b00;
}

/* v43 - page ROPE présentation */
.rope-presentation-page .rope-hero .info-hero-main::before{
  background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.28)), var(--hero-image);
  background-size:cover;
  background-position:center;
  opacity:.84;
}
.rope-intro-band p{max-width:980px;}
.rope-video-section{
  margin:0 0 22px;
  padding:0;
}
.rope-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,91,0,.45);
  background:#070707;
  box-shadow:0 22px 55px rgba(0,0,0,.36);
}
.rope-video-frame::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:7px;
  background:linear-gradient(90deg,var(--orange),#638425,#0f4f7d);
  pointer-events:none;
}
.rope-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.rope-video-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  text-align:center;
  gap:12px;
  padding:30px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.78)),
    url('../assets/rope-paysage-groupe-sauvetage.jpg') center / cover;
}
.rope-video-placeholder span{
  width:92px;
  height:92px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto;
  background:var(--orange);
  color:#fff;
  font-size:38px;
  box-shadow:0 16px 32px rgba(255,91,0,.30);
}
.rope-video-placeholder strong{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:54px;
  line-height:1;
  color:#fff;
}
.rope-video-placeholder p{
  margin:0;
  color:#fff;
  font-weight:800;
}
.rope-section-heading{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
}
.rope-section-heading > span{
  width:70px;
  height:70px;
  border-radius:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#111;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:40px;
  line-height:1;
}
.rope-section-heading .info-kicker{margin:0 0 8px;}
.rope-section-heading h2{margin:0;}
.rope-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.rope-note{margin-top:18px;}
.rope-role-list{margin-top:18px;}
.rope-cta .info-pill{text-decoration:none;}
@media(max-width:1100px){
  .rope-info-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .rope-section-heading{align-items:flex-start;}
  .rope-section-heading > span{width:56px;height:56px;font-size:32px;}
  .rope-video-placeholder strong{font-size:40px;}
  .rope-video-placeholder span{width:70px;height:70px;font-size:30px;}
}

/* v44 - menu ROPE simplifié, vidéo locale au survol et bandeau équipes Lego */
.teams-hero .teams-hero-main::before{
  background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18)), url('../assets/equipes-legos.jpg') center center / cover no-repeat !important;
  opacity:.95 !important;
}
.teams-hero .teams-hero-main{
  min-height:390px;
}
.rope-video-frame video,
.rope-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}
.rope-video-hint{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:3;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  pointer-events:none;
}
.rope-video-hover:hover .rope-video-hint,
.rope-video-hover:focus-within .rope-video-hint{
  opacity:0;
  transform:translateY(8px);
  transition:.22s ease;
}
@media(max-width:720px){
  .teams-hero .teams-hero-main{min-height:300px;}
  .rope-video-hint{font-size:12px;left:12px;bottom:12px;}
}

/* V45 - IRA + staff */
.ira-page-body .info-hero-main:before,
.ira-hero .info-hero-main:before{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.48),rgba(0,0,0,.25))}
.ira-intro-band{align-items:flex-start}
.ira-content-section .info-card{min-height:190px}
.ira-photo{min-height:430px;background-position:center;background-size:cover;border-radius:28px;box-shadow:0 24px 50px rgba(0,0,0,.22)}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.section-title-row h2{margin:0}
.staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.staff-card{background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:26px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.08);transition:transform .18s ease,box-shadow .18s ease}
.staff-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(0,0,0,.14)}
.staff-photo{height:230px;background-size:cover;background-position:center;position:relative}
.staff-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.42))}
.staff-content{padding:20px 20px 22px}
.staff-content h3{font-family:'Bebas Neue',Impact,sans-serif;font-size:34px;line-height:.96;margin:0 0 9px;color:#0b0b0b}
.staff-content p{margin:0;color:#4b5563;font-weight:800;line-height:1.45}
.staff-note{margin:18px 0 0;color:#6b7280;font-weight:700;font-size:.95rem}
@media(max-width:1050px){.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.section-title-row{display:block}.staff-grid{grid-template-columns:1fr}.staff-photo{height:260px}}

/* V46 - Staff CMS + mise en valeur Olivier */
.staff-section-v46{background:linear-gradient(180deg,#fff,#fff7f1)}
.staff-featured-grid{display:grid;grid-template-columns:minmax(280px,560px);justify-content:center;margin:10px 0 28px}
.staff-boss-card{display:grid;grid-template-columns:240px 1fr;align-items:stretch;border:2px solid rgba(255,90,0,.35)!important;box-shadow:0 28px 70px rgba(255,90,0,.22)!important;background:linear-gradient(135deg,#111 0%,#1f1f1f 48%,#ff5a00 220%)!important;color:#fff;overflow:hidden}
.staff-boss-card .staff-photo{height:100%;min-height:280px;background-position:center;background-size:cover}
.staff-boss-card .staff-content{display:flex;flex-direction:column;justify-content:center;padding:30px}
.staff-boss-card .staff-content h3{color:#fff;font-size:52px;margin-top:10px}
.staff-boss-card .staff-content p{color:#fff;font-size:1.08rem}
.staff-content small{display:block;margin-top:12px;color:#6b7280;font-weight:700;line-height:1.5}
.staff-boss-card .staff-content small{color:rgba(255,255,255,.82)}
.boss-badge{display:inline-flex;align-items:center;width:max-content;background:#ff5a00;color:#fff;border-radius:999px;padding:8px 12px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;box-shadow:0 10px 24px rgba(255,90,0,.3)}
.staff-section-v46 .staff-photo{background-color:#161616;background-repeat:no-repeat}
@media(max-width:720px){.staff-boss-card{grid-template-columns:1fr}.staff-boss-card .staff-photo{height:320px}.staff-boss-card .staff-content h3{font-size:42px}}

/* V48 - images de titre ROPE / IRA comme les cartes de l'accueil */
.rope-presentation-page .info-hero-main,
.rope-page-body .rope-hero .info-hero-main{
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.84)),
    url('../assets/rope-paysage-groupe-sauvetage.jpg') center center / cover no-repeat !important;
  border-color:#ff6200!important;
}
.ira-page-body .info-hero-main,
.ira-hero .info-hero-main{
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.84)),
    url('../assets/ira-montagne.jpg') center center / cover no-repeat !important;
  border-color:#7a9c27!important;
}

/* V48 - formulaire inscription ROPE */
.registration-panel{max-width:1050px;margin-left:auto;margin-right:auto}
.rr-form{display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rr-form label{display:grid;gap:7px;font-weight:900;color:#1a1a1a}
.rr-form input,.rr-form select,.rr-form textarea{width:100%;border:1px solid #e3d7ca;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:#111;box-sizing:border-box}
.rr-form input:focus,.rr-form select:focus,.rr-form textarea:focus{outline:2px solid rgba(255,90,0,.25);border-color:#ff5a00}
.choice-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice-tabs label{display:block;cursor:pointer}
.choice-tabs input{position:absolute;opacity:0;pointer-events:none}
.choice-tabs span{display:flex;align-items:center;justify-content:center;min-height:56px;border:2px solid #eadfd3;border-radius:999px;background:#fff;color:#111;text-transform:uppercase;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.choice-tabs input:checked + span{background:#ff5a00;color:#fff;border-color:#ff5a00;box-shadow:0 14px 30px rgba(255,90,0,.24)}
.small-tabs span{min-height:46px;font-size:13px}
.conditional-block{border:1px solid #eadfd3;background:#fffaf3;border-radius:20px;padding:20px;display:grid;gap:16px}
.conditional-block h3{font-family:"Bebas Neue",Impact,sans-serif;font-size:32px;margin:0;color:#111}
.form-success,.form-errors{border-radius:18px;padding:16px 18px;font-weight:700}
.form-success{background:#eef8df;border:1px solid #b8d96b;color:#263b04}
.form-errors{background:#fff0eb;border:1px solid #ffb29b;color:#7b1f00}
.form-errors ul{margin:8px 0 0;padding-left:20px}
.help-text{color:#5e554e;font-size:14px;margin:.25rem 0 0}
@media(max-width:760px){.form-grid,.choice-tabs{grid-template-columns:1fr}}
/* V49 Agenda */
.agenda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.agenda-card{background:#fff;border:1px solid #eadfd4;border-radius:24px;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.12)}.agenda-photo{height:210px;background-size:cover;background-position:center}.agenda-content{padding:24px}.agenda-content h3{font-family:"Bebas Neue",Impact,sans-serif;font-size:42px;line-height:.95;margin:6px 0 12px}.event-date{color:var(--orange);font-weight:900;margin:0}.event-place{font-weight:800}.event-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.event-badges span{border-radius:999px;background:#f4eee8;padding:7px 11px;font-weight:900;font-size:12px}.event-register{border-top:1px solid #eee;padding-top:14px}.event-register summary{cursor:pointer;font-weight:900;color:var(--orange);margin-bottom:12px}.event-register form{display:grid;gap:12px}.event-register input,.event-register textarea,.login-member-card input{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px;font:inherit}.countdown{display:grid;grid-template-columns:auto auto auto auto auto auto;gap:6px 8px;align-items:end}.countdown span{font-family:"Bebas Neue",Impact,sans-serif;color:var(--orange);font-size:46px;line-height:1}.countdown small{font-weight:900;color:#fff;margin-bottom:8px}.login-member-card{max-width:560px;margin:0 auto}.login-member-card h1{font-family:"Bebas Neue",Impact,sans-serif;font-size:64px;margin:0 0 20px}.green{background:#638425!important;color:#fff!important}

/* V51 - Page Formation professionnelle */
.pro-page-body .info-hero-main,
.pro-hero .info-hero-main{
  background-position:center!important;
}
.pro-hero .info-hero-main:before{
  background:linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.52),rgba(0,0,0,.25))!important;
}
.pro-hero-side{border-color:#0f5f9c!important;}
.pro-hero-side strong{color:#79c8ff!important;}
.pro-intro-band{border-left-color:#0f5f9c!important;}
.pro-card-info .card-label{background:#eaf6ff!important;color:#0f5f9c!important;}
.pro-photo{min-height:360px;background-size:cover;background-position:center;border-radius:26px;box-shadow:0 18px 45px rgba(0,0,0,.22);}
.pro-cta{background:linear-gradient(135deg,#0b1722,#0f5f9c)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;}
.pro-cta h2,.pro-cta p{color:#fff!important;}


/* v60 - images visibles dans les cadres titres */
.info-hero-main{
  background:rgba(0,0,0,.68) !important;
  isolation:isolate;
}
.info-hero-main .info-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.72;
  z-index:0;
  transform:scale(1.01);
}
.info-hero-main::before{
  z-index:1;
  background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48),rgba(0,0,0,.22)) !important;
}
.info-hero-main::after{
  z-index:2;
}
.info-hero-main > :not(.info-hero-bg){
  position:relative;
  z-index:3;
}

/* v62 - galerie publique */
.gallery-albums-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}.gallery-album-card{background:#fff;border:1px solid #e8ded2;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.12)}.gallery-album-card img{width:100%;height:210px;object-fit:cover;display:block}.gallery-album-card div{padding:18px}.gallery-album-card span{color:#ff5a00;font-weight:900;text-transform:uppercase;font-style:italic}.gallery-album-card h3{font-family:"Bebas Neue",Impact,sans-serif;font-size:36px;line-height:1;margin:8px 0}.public-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}.public-gallery-item{position:relative;overflow:hidden;border-radius:20px;margin:0;background:#111;min-height:230px;box-shadow:0 16px 38px rgba(0,0,0,.18);cursor:zoom-in}.public-gallery-item img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block;transition:transform .35s ease, filter .35s ease}.public-gallery-item:hover img{transform:scale(1.16);filter:brightness(.72)}.public-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent);transform:translateY(8px);opacity:.95}.public-gallery-item figcaption strong{display:block;font-family:"Bebas Neue",Impact,sans-serif;font-size:30px;line-height:1}.public-gallery-item figcaption span{display:block;font-size:13px;line-height:1.35}.public-gallery-item:hover{z-index:5;overflow:visible}.public-gallery-item:hover img{box-shadow:0 25px 80px rgba(0,0,0,.45);border-radius:20px}

/* v67 - galerie par albums */
.gallery-albums-section .section-title-row h2,
.gallery-photos-section .section-title-row h2,
.gallery-page .info-section h2{
  color:#080808 !important;
}
.gallery-albums-grid-large{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px;
}
.gallery-album-link{
  position:relative;
  display:block;
  min-height:360px;
  color:#fff;
  text-decoration:none;
  background:#111;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,90,0,.45);
  box-shadow:0 18px 46px rgba(0,0,0,.22);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gallery-album-link:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(0,0,0,.34);
  border-color:#ff5a00;
}
.gallery-album-link img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-album-link:hover img{
  transform:scale(1.08);
  filter:brightness(.8);
}
.gallery-album-link::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.42) 52%,rgba(0,0,0,.18));
}
.gallery-album-overlay{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:26px;
}
.gallery-album-overlay .gallery-date{
  display:inline-flex;
  background:#ff5a00;
  color:#fff;
  border-radius:999px;
  padding:8px 13px;
  font-size:13px;
  line-height:1;
  letter-spacing:.02em;
}
.gallery-album-overlay h3{
  color:#fff;
  font-size:44px;
  margin:14px 0 8px;
  text-shadow:0 4px 18px rgba(0,0,0,.45);
}
.gallery-album-overlay p{
  color:rgba(255,255,255,.88);
  margin:0 0 18px;
  line-height:1.45;
}
.gallery-album-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:16px;
  color:#fff;
  font-weight:800;
}
.gallery-album-meta strong{
  color:#ff5a00;
  font-size:26px;
  line-height:1;
}
.gallery-album-meta em{
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:9px 14px;
  font-style:normal;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
}
.album-gallery-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.album-gallery-item{
  cursor:zoom-in;
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.92);
  display:none;
  align-items:center;
  justify-content:center;
  padding:64px 90px;
}
.gallery-lightbox.is-open{display:flex;}
.gallery-lightbox img{
  max-width:min(1100px,90vw);
  max-height:78vh;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.7);
}
.gallery-lightbox p{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  color:#fff;
  font-weight:800;
  text-align:center;
  margin:0;
}
.gallery-lightbox button{
  position:absolute;
  border:0;
  border-radius:999px;
  background:#ff5a00;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.gallery-lightbox-close{
  top:22px;
  right:22px;
  width:46px;
  height:46px;
  font-size:34px;
  line-height:1;
}
.gallery-lightbox-prev,.gallery-lightbox-next{
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  font-size:46px;
  line-height:1;
}
.gallery-lightbox-prev{left:24px;}
.gallery-lightbox-next{right:24px;}
body.no-scroll{overflow:hidden;}
@media(max-width:760px){
  .gallery-albums-grid-large{grid-template-columns:1fr;}
  .gallery-album-link{min-height:320px;}
  .gallery-album-overlay{padding:22px;}
  .gallery-album-overlay h3{font-size:38px;}
  .gallery-lightbox{padding:70px 16px;}
  .gallery-lightbox-prev,.gallery-lightbox-next{width:44px;height:44px;font-size:36px;}
  .gallery-lightbox-prev{left:10px;}.gallery-lightbox-next{right:10px;}
}

/* V71 - Devis / Contact */
.quote-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 6px}
.quote-check-grid label{display:flex!important;align-items:center;gap:10px;border:1px solid #eadfd5;border-radius:14px;padding:13px 14px;background:#fff;font-weight:900}
.quote-check-grid input{width:auto!important;transform:scale(1.15)}
@media(max-width:760px){.quote-check-grid{grid-template-columns:1fr}}

/* v73 Documents publics */
.documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.document-card{background:#fff;border:1px solid #eadfd6;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.08)}
.document-thumb{height:220px;background:#f6f1ed;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.document-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.document-card-body{padding:20px}.document-card-body h3{font-family:'Bebas Neue',sans-serif;font-size:34px;margin:0 0 8px;color:#111}.document-meta{font-weight:900;color:#ff5a00;text-transform:uppercase;font-size:13px;margin-bottom:10px}.document-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.doc-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px;background:#111;color:#fff;text-transform:uppercase}.doc-badge.orange{background:#ff5a00}.document-viewer{max-width:1100px;margin:40px auto;padding:0 22px}.document-frame{position:relative;background:#fff;border-radius:22px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.18);overflow:hidden}.document-frame img{width:100%;height:auto;display:block}.duplicata-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-26deg);font-family:'Bebas Neue',sans-serif;font-size:clamp(74px,15vw,210px);letter-spacing:.08em;color:rgba(255,0,0,.22);border:8px solid rgba(255,0,0,.18);padding:.08em .18em;pointer-events:none;z-index:3;text-transform:uppercase}.viewer-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.viewer-toolbar h1{font-family:'Bebas Neue',sans-serif;font-size:46px;margin:0}.document-pdf{width:100%;height:80vh;border:0;border-radius:14px}

/* v75 - Galerie videos */
.gallery-videos-section h2,
.gallery-albums-section h2{color:#111!important;}
.gallery-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.gallery-video-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.08);}
.gallery-video-card video{display:block;width:100%;aspect-ratio:16/9;background:#111;object-fit:cover;}
.gallery-video-content{padding:18px 20px 22px;}
.gallery-video-content span{color:#ff5a00;font-weight:900;text-transform:uppercase;font-style:italic;}
.gallery-video-content h3{font-family:'Bebas Neue',Impact,sans-serif;font-size:34px;margin:6px 0;color:#111;}
.gallery-video-content p{margin:0;color:#222;line-height:1.45;}
@media(max-width:800px){.gallery-video-grid{grid-template-columns:1fr;}}

/* v75 - Résumé général classement live */
.ranking-summary-mini{margin-top:8px;font-size:12px;line-height:1.35;color:#333;font-weight:800;max-width:320px;}
.ranking-score{min-width:220px;}
@media(max-width:800px){.ranking-score{min-width:0}.ranking-summary-mini{max-width:none}}

/* v88 - Prestations PRO : grille 2 + 2 avec mini images */
.pro-training-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}
.pro-training-card{
  min-height:210px;
  padding:28px 190px 28px 26px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pro-training-card .pro-card-thumb{
  position:absolute;
  right:24px;
  top:24px;
  width:140px;
  height:140px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  border:1px solid rgba(0,0,0,.08);
  z-index:1;
}
.pro-training-card .card-label,
.pro-training-card h3,
.pro-training-card p{
  position:relative;
  z-index:2;
}
.pro-training-card:nth-child(2)::before{background:#638425!important;}
.pro-training-card:nth-child(3)::before{background:var(--orange)!important;}
.pro-training-card:nth-child(4)::before{background:#0f5f9c!important;}
@media(max-width:1100px){
  .pro-training-grid{grid-template-columns:1fr !important;}
}
@media(max-width:720px){
  .pro-training-card{padding:22px !important;min-height:auto;}
  .pro-training-card .pro-card-thumb{
    position:relative;
    right:auto;
    top:auto;
    width:100%;
    height:170px;
    order:-1;
    margin:0 0 18px;
  }
}

/* v92 - equipes: garder le compteur dans le cadre */
.teams-page-body .ranking-row{
  grid-template-columns:86px 88px minmax(0,1fr) 96px !important;
  overflow:hidden;
}
.teams-page-body .ranking-team{
  min-width:0;
}
.teams-page-body .ranking-members{
  overflow-wrap:anywhere;
}
.teams-page-body .ranking-score{
  min-width:0 !important;
  width:96px;
  max-width:96px;
  justify-self:end;
  text-align:center;
  padding:8px 6px;
  border-radius:14px;
  background:#fff7f1;
  border:1px solid #eadfd3;
}
.teams-page-body .ranking-score strong{
  font-size:38px;
}
@media(max-width:980px){
  .teams-page-body .ranking-row{
    grid-template-columns:70px 78px minmax(0,1fr) !important;
  }
  .teams-page-body .ranking-score{
    grid-column:1 / -1;
    width:auto;
    max-width:none;
    justify-self:start;
    text-align:left;
  }
}
@media(max-width:720px){
  .teams-page-body .ranking-row{
    grid-template-columns:1fr !important;
  }
}

/* v104 - Formulaire repas/logements parfaitement contenu sur smartphone */
@media (max-width:760px){
  .registration-page,
  .registration-page .info-section,
  .registration-page .registration-panel,
  .registration-page .rr-form,
  .registration-page .form-grid,
  .registration-page .quote-check-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .registration-page{padding-left:12px!important;padding-right:12px!important;overflow-x:hidden!important;}
  .registration-page .registration-panel{padding:18px 14px!important;overflow:hidden!important;}
  .registration-page .form-grid,
  .registration-page .quote-check-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
  .registration-page .rr-form label{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;}
  .registration-page .rr-form input,
  .registration-page .rr-form select,
  .registration-page .rr-form textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .registration-page .quote-check-grid label{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 72px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:12px!important;
  }
  .registration-page .quote-check-grid label span{min-width:0!important;overflow-wrap:anywhere!important;}
  .registration-page .quote-check-grid input[type=number]{width:68px!important;max-width:68px!important;justify-self:end!important;padding:10px 6px!important;}
}


/* V110 - IRA participants responsive definitive */
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.public-table{width:100%;border-collapse:collapse;table-layout:auto}

@media(max-width:720px){
  .info-page{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    margin-inline:auto!important;
    padding-top:14px!important;
    overflow:visible!important;
  }
  .info-hero{width:100%!important;margin:0 0 18px!important;overflow:hidden!important}
  .info-hero-main{
    min-height:250px!important;
    padding:22px 18px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .info-hero.ira-hero h1{
    font-size:clamp(34px,11vw,48px)!important;
    line-height:.9!important;
    letter-spacing:.01em!important;
    max-width:72%!important;
    margin:12px 0 0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .info-section{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:20px 14px!important;
    overflow:hidden!important;
  }
  .section-title-row{display:flex!important;align-items:flex-start!important;gap:12px!important;flex-wrap:wrap!important}
  .section-title-row>div{min-width:0!important;flex:1 1 100%!important}
  .section-title-row h2{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:.94!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .section-title-row .info-pill{position:static!important;margin-top:2px!important}
  .table-responsive{overflow:visible!important;border-radius:0!important}
  .public-table,.public-table thead,.public-table tbody,.public-table tr,.public-table th,.public-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .public-table thead{display:none!important}
  .public-table tbody{display:grid!important;gap:12px!important}
  .public-table tr{
    background:#fff!important;
    border:1px solid #e7ded4!important;
    border-radius:14px!important;
    padding:10px 12px!important;
    box-shadow:0 6px 18px rgba(0,0,0,.06)!important;
    overflow:hidden!important;
  }
  .public-table td{
    display:grid!important;
    grid-template-columns:minmax(92px,38%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid #eee7df!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .public-table td:last-child{border-bottom:0!important}
  .public-table td::before{
    content:attr(data-label);
    font-weight:900;
    color:#111;
  }
  .public-table td[colspan]{display:block!important;text-align:center!important}
  .public-table td[colspan]::before{display:none!important}
}

@media(max-width:390px){
  .info-hero.ira-hero h1{font-size:34px!important;max-width:70%!important}
  .section-title-row h2{font-size:34px!important}
  .public-table td{grid-template-columns:84px minmax(0,1fr)!important;font-size:14px!important}
}

.quote-logistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0 24px}.quote-logistics-option{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #ead7ca;border-radius:14px;background:#fff}.quote-logistics-option input[type=number]{max-width:110px}@media(max-width:700px){.quote-logistics-grid{grid-template-columns:1fr}.quote-logistics-option{width:100%;box-sizing:border-box;flex-wrap:wrap}.quote-logistics-option input[type=number]{width:100%;max-width:none}}


/* V112 - fermeture explicite de la visionneuse de documents */
.document-viewer{position:relative}
.document-close{position:fixed;top:18px;right:18px;z-index:9999;width:52px;height:52px;border:3px solid #fff;border-radius:50%;background:#111;color:#fff;font-size:36px;line-height:1;font-weight:900;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.35);transition:transform .18s ease,background .18s ease}
.document-close:hover,.document-close:focus-visible{background:#ff5a00;transform:scale(1.06);outline:none}
@media (max-width:700px){.document-viewer{padding:72px 12px 18px;margin:0 auto}.document-close{top:10px;right:10px;width:46px;height:46px;font-size:32px}.viewer-toolbar h1{font-size:34px}.document-frame{padding:8px;border-radius:14px}.document-pdf{height:76vh}}
\n\n/* V114 - documents : apercu PDF, texte lisible et visionneuse professionnelle */\n.document-card-body .document-description{color:#222!important;background:transparent!important;line-height:1.58;margin:10px 0 16px;min-height:3.1em}\n.document-card-body .document-description *{color:#222!important}\n.document-thumb{position:relative}\n.document-thumb .pdf-native-thumb,.document-thumb .pdf-thumb-canvas{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;pointer-events:none}\n.document-thumb .pdf-native-thumb{display:block}\n.document-thumb .pdf-thumb-canvas{z-index:2;object-fit:cover}\n.document-thumb .pdf-preview-label{position:absolute;left:12px;bottom:12px;z-index:3;padding:7px 11px;border-radius:999px;background:rgba(17,17,17,.86);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;pointer-events:none}\n.document-actions .btn-orange{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:14px!important;box-shadow:0 10px 22px rgba(255,90,0,.2);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;text-decoration:none}\n.document-actions .btn-orange:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(255,90,0,.28)}\n.document-viewer{max-width:1220px;margin:0 auto;padding:42px 22px 56px;position:relative}\n.document-viewer-card{background:#f7f4f1;border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:22px;box-shadow:0 28px 75px rgba(0,0,0,.24)}\n.viewer-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:20px;padding:8px 6px 4px}\n.viewer-title-block{min-width:0}\n.viewer-kicker{display:inline-block;color:#ff5a00;font-weight:900;text-transform:uppercase;font-style:italic;margin-bottom:5px}\n.viewer-toolbar h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,64px);line-height:.95;margin:0;color:#111!important}\n.viewer-description{color:#282828!important;background:transparent!important;line-height:1.55;margin:14px 0 0;max-width:780px}\n.viewer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:510px}\n.viewer-btn{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 17px;border-radius:14px;font:800 13px/1 'Inter',sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 9px 20px rgba(0,0,0,.1);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}\n.viewer-btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(0,0,0,.16)}\n.viewer-btn-dark{background:#111;color:#fff!important}\n.viewer-btn-dark:hover{background:#ff5a00}\n.viewer-btn-orange{background:#ff5a00;color:#fff!important}\n.viewer-btn-orange:hover{background:#111}\n.viewer-btn-light{background:#fff;color:#111;border:1px solid #e1d8d0}\n.document-frame{background:#dcd8d4;border-radius:20px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);overflow:hidden}\n.document-frame img{border-radius:12px}\n.document-pdf{width:100%;height:82vh;min-height:620px;border:0;border-radius:12px;background:#fff}\n.document-close{top:92px;right:22px}\n.document-duplicata-note{margin-top:18px!important;color:#222!important}\n@media(max-width:900px){.viewer-toolbar{grid-template-columns:1fr}.viewer-actions{justify-content:flex-start;max-width:none}.document-close{top:84px}}\n@media(max-width:700px){.document-viewer{padding:76px 10px 28px}.document-viewer-card{padding:12px;border-radius:18px}.viewer-toolbar{gap:15px;padding:6px 4px}.viewer-toolbar h1{font-size:38px}.viewer-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.viewer-btn{white-space:normal;text-align:center;padding:10px 12px;min-height:48px}.document-frame{padding:6px;border-radius:14px}.document-pdf{height:72vh;min-height:480px}.document-close{top:76px;right:10px;width:46px;height:46px;font-size:31px}.document-thumb{height:210px}.document-thumb .pdf-preview-label{font-size:10px}}\n@media print{header,footer,.document-close,.viewer-toolbar{display:none!important}.document-viewer,.document-viewer-card,.document-frame{padding:0!important;margin:0!important;box-shadow:none!important;background:#fff!important}.document-pdf{height:100vh!important}}\n
/* V115 - visionneuse toujours sous le header fixe */
body:has(.document-viewer){overflow-x:hidden}
.document-viewer{padding-top:150px!important;margin-top:0!important}
.document-close{top:145px!important}
@media(max-width:1100px){.document-viewer{padding-top:132px!important}.document-close{top:124px!important}}
@media(max-width:700px){.document-viewer{padding-top:118px!important}.document-close{top:110px!important}}

/* v119 - Photos du staff fiables dans toutes les langues */
.staff-photo{overflow:hidden;background:#161616}
.staff-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.staff-photo:after{pointer-events:none}
.staff-boss-card .staff-photo>img{min-height:280px}
@media(max-width:720px){.staff-boss-card .staff-photo>img{min-height:320px}}

/* V120 - grille staff stable dans toutes les langues */
.staff-section-v46 .staff-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.staff-section-v46 .staff-grid .staff-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.staff-section-v46 .staff-grid .staff-photo{
  position:relative!important;
  flex:0 0 230px!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  overflow:hidden!important;
  background:#161616!important;
}
.staff-section-v46 .staff-grid .staff-photo>img{
  display:block!important;
  width:100%!important;
  height:230px!important;
  min-height:0!important;
  max-height:230px!important;
  object-fit:cover!important;
  object-position:center 25%!important;
}
.staff-section-v46 .staff-grid .staff-content{
  flex:0 0 auto!important;
  min-height:118px!important;
  padding:20px 20px 22px!important;
  overflow-wrap:anywhere!important;
}
.staff-section-v46 .staff-grid .staff-content h3,
.staff-section-v46 .staff-grid .staff-content p,
.staff-section-v46 .staff-grid .staff-content small{
  max-width:100%!important;
  white-space:normal!important;
}
@media(max-width:1050px){
  .staff-section-v46 .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .staff-section-v46 .staff-grid{grid-template-columns:1fr!important}
  .staff-section-v46 .staff-grid .staff-photo{
    flex-basis:260px!important;height:260px!important;min-height:260px!important;max-height:260px!important
  }
  .staff-section-v46 .staff-grid .staff-photo>img{height:260px!important;max-height:260px!important}
}

/* v127 - onglets d'édition publics */
.public-edition-tabs{display:flex;gap:10px;overflow-x:auto;padding:10px 2px 18px;scrollbar-width:thin}.public-edition-tabs a{flex:0 0 auto;text-decoration:none;background:#fff;color:#111;border:1px solid #e3d7cf;border-radius:999px;padding:11px 18px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.08)}.public-edition-tabs a.active,.public-edition-tabs a:hover{background:#ff5a00;color:#fff;border-color:#ff5a00}
/* v129 - onglets d'édition ROPE */
.public-event-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px;padding:4px 0}.public-event-tabs a{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;border:2px solid #ff5a00;background:#fff7f1;color:#a83b00;font-weight:900;text-decoration:none;box-shadow:0 8px 18px rgba(255,90,0,.12)}.public-event-tabs a:hover,.public-event-tabs a.active{background:#ff5a00;color:#fff}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.section-title-row .btn-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#111;color:#fff;border-radius:14px;padding:13px 18px;font-weight:900}.section-title-row .btn-primary:hover{background:#ff5a00}
@media(max-width:700px){.public-event-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.public-event-tabs a{white-space:nowrap}.section-title-row{align-items:flex-start;flex-direction:column}}

/* v134 - public meal/accommodation price request */
.public-price-request .price-request-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.public-price-request .price-request-contact-grid label:first-child{grid-column:1/-1}
.public-price-request .price-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-price-request .price-option-card{display:grid!important;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:16px;padding:16px 18px!important;min-height:92px}
.public-price-request .price-option-card[hidden]{display:none!important}
.public-price-request .compact-qty{width:64px!important;max-width:64px!important;min-width:64px!important;height:46px!important;padding:8px!important;text-align:center;font-size:18px;font-weight:900;justify-self:end;transform:none!important}
.public-price-request .event-options-hint{padding:16px 18px;border:1px dashed #ff5a00;border-radius:14px;background:#fff8f3;font-weight:800;color:#444}
.public-price-request .price-request-footer-note{margin:24px 0 18px;padding:18px 20px;border-left:6px solid #ff5a00;border-radius:14px;background:#111;color:#fff;font-weight:800;line-height:1.55}
.reservation-chief-note{margin-top:12px!important;font-weight:800;color:#fff!important}
@media(max-width:760px){
  .public-price-request .price-request-contact-grid,.public-price-request .price-option-grid{grid-template-columns:1fr!important}
  .public-price-request .price-option-card{grid-template-columns:minmax(0,1fr) 58px;padding:14px!important}
  .public-price-request .compact-qty{width:54px!important;max-width:54px!important;min-width:54px!important}
}

/* v141 - agenda event images: real img elements for all languages */
.agenda-card .agenda-photo{display:block!important;position:relative!important;width:100%!important;height:210px!important;min-height:210px!important;overflow:hidden!important;background:#171717!important}
.agenda-card .agenda-photo img{display:block!important;width:100%!important;height:100%!important;min-height:210px!important;object-fit:cover!important;object-position:center!important}
@media(max-width:700px){.agenda-card .agenda-photo{height:190px!important;min-height:190px!important}.agenda-card .agenda-photo img{min-height:190px!important}}


/* v142 - strict agenda image frames */
.agenda-grid{align-items:start!important}.agenda-card{align-self:start!important;overflow:hidden!important}.agenda-card .agenda-photo{height:220px!important;min-height:220px!important;max-height:220px!important;overflow:hidden!important}.agenda-card .agenda-photo img{width:100%!important;height:220px!important;min-height:220px!important;max-height:220px!important;object-fit:cover!important;object-position:center!important}
@media(max-width:700px){.agenda-card .agenda-photo,.agenda-card .agenda-photo img{height:185px!important;min-height:185px!important;max-height:185px!important}}
