/* V1.0.1 — correction responsive et suppression des overlays parasites */
html:has(.gd242-app),body:has(.gd242-app){overflow:hidden!important;margin:0!important}
.gd242-app{
  width:100vw!important;
  max-width:none!important;
  min-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#041f13!important;
  color:#fff!important;
  color-scheme:dark;
}
.gd242-bg{
  inset:0!important;
  overflow:hidden!important;
  background:linear-gradient(155deg,#031b10 0%,#052b19 54%,#073820 100%)!important;
}
.gd242-bg:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 49.9%,rgba(0,164,67,.055) 50%,transparent 50.1%),
    linear-gradient(0deg,transparent 0 49.9%,rgba(255,210,30,.035) 50%,transparent 50.1%);
  background-size:120px 120px;
  mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 75%,transparent);
}
.gd242-bg:after{
  right:-8vw!important;
  bottom:-18vh!important;
  z-index:-1!important;
  font-size:clamp(280px,35vw,620px)!important;
  color:rgba(255,255,255,.025)!important;
  opacity:1!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
.gd242-app header{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  height:clamp(58px,8vh,78px)!important;
  padding-inline:max(20px,calc((100vw - 1120px)/2))!important;
  background:rgba(3,27,16,.94)!important;
  backdrop-filter:blur(16px);
}
.gd242-app main{
  position:relative!important;
  z-index:2!important;
  width:min(920px,100%)!important;
  min-height:calc(100dvh - clamp(58px,8vh,78px))!important;
  padding:clamp(34px,6vh,66px) clamp(20px,5vw,56px) 52px!important;
  overflow:visible!important;
}
.gd242-app h1{
  max-width:100%!important;
  font-size:clamp(64px,10vw,132px)!important;
  line-height:.82!important;
  overflow-wrap:normal!important;
}
.gd242-app h2{font-size:clamp(42px,7vw,76px)!important}
.gd242-app h3{font-size:clamp(27px,4vw,44px)!important}
.gd242-app mark{background:transparent!important;color:#ffd21e!important}
.gd242-target{
  flex-wrap:wrap!important;
  align-items:baseline!important;
  row-gap:4px!important;
}
.gd242-target strong{font-size:clamp(46px,7vw,68px)!important}
.gd242-btn,.gd242-ghost{max-width:100%!important;flex:0 0 auto!important}
.gd242-days{width:100%!important}
.gd242-num{z-index:-1!important;color:rgba(255,255,255,.035)!important;pointer-events:none!important}
.gd242-link{margin:18px auto 0;background:none;border:0;color:#ffd21e;font:700 12px inherit;letter-spacing:.12em;cursor:pointer}
.gd242-app header nav{display:flex;gap:8px;margin-left:auto}.gd242-app header nav button{border:0;background:transparent;color:#ffffffa8;font:700 9px inherit;letter-spacing:.1em;cursor:pointer;padding:8px}.gd242-app header nav button:hover{color:#ffd21e}.gd242-app header>span{margin-left:8px!important}.gd242-brand{display:flex;align-items:center;max-width:160px;height:48px}.gd242-brand img{display:block;max-width:100%;max-height:42px;object-fit:contain}
.gd242-ad{display:grid;place-items:center;gap:12px;width:100%;margin:20px 0;padding:22px;border:1px solid rgba(255,210,30,.28);background:rgba(255,255,255,.045);text-align:center;border-radius:2px}
.gd242-ad.is-compact{margin-top:28px;padding:14px;grid-template-columns:auto minmax(0,1fr) auto auto;text-align:left}
.gd242-ad small{font-size:9px;letter-spacing:.18em;color:#ffffff88}.gd242-ad strong{font-size:18px}.gd242-ad img,.gd242-ad video{display:block;max-width:100%;max-height:180px;object-fit:contain}.gd242-ad.is-compact img,.gd242-ad.is-compact video{width:70px;height:38px}.gd242-ad a{color:#ffd21e;font-size:11px;font-weight:800;text-decoration:none;letter-spacing:.08em}
.gd242-profile{margin-top:28px;padding:22px;border:1px solid #ffffff22;background:#ffffff08}.gd242-profile p{color:#ffffffaa;line-height:1.5}.gd242-profile label{display:flex;align-items:center;gap:10px;margin:10px 0;color:#ffffffbb;font-size:12px}.gd242-profile label input{width:18px;height:18px;margin:0}.gd242-profile .gd242-btn{margin-top:18px}
.gd242-ad--embed{display:block!important;padding:14px!important}.gd242-ad--embed>small{display:block;margin-bottom:10px;text-align:center}.gd242-ad--embed iframe{display:block;width:100%;height:clamp(130px,24vh,260px);border:0;background:transparent}.gd242-ad--embed.is-compact iframe{height:clamp(100px,18vh,190px)}
.gd242-registration{position:relative;z-index:2}.gd242-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gd242-registration .gd242-consent{display:flex;align-items:flex-start;gap:11px;margin:4px 0 20px;color:#ffffffb8;font-size:11px;line-height:1.45}.gd242-registration .gd242-consent input{width:20px;height:20px;min-width:20px;margin:0;accent-color:#ffd21e}.gd242-registration .gd242-btn{margin-top:4px}
.gd242-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 24px}.gd242-profile-stats div{padding:16px 10px;border:1px solid #ffffff20;text-align:center}.gd242-profile-stats strong{display:block;color:#ffd21e;font-size:24px}.gd242-profile-stats span{display:block;margin-top:5px;color:#ffffff88;font-size:8px;letter-spacing:.1em}
.gd242-palmares-list{display:grid;gap:8px;margin-bottom:24px}.gd242-palmares-list>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #ffffff18}.gd242-palmares-list b{color:#ffd21e}.gd242-palmares-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd242-palmares-list strong{font-size:14px}

/* Questions et réponses longues : lisibilité automatique */
.gd242-app h3.gd242-question--long{
  font-size:clamp(25px,3.15vw,37px)!important;
  line-height:1.12!important;
  max-width:18em!important;
  margin-bottom:26px!important;
}
.gd242-app h3.gd242-question--xl{
  font-size:clamp(22px,2.65vw,32px)!important;
  line-height:1.16!important;
  max-width:22em!important;
  margin-bottom:24px!important;
}
.gd242-choices{min-width:0!important}
.gd242-choices.gd242-choices--stacked{grid-template-columns:1fr!important}
.gd242-choices button{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
}
.gd242-choices button span{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.35!important;
}
.gd242-choices--stacked button{
  min-height:58px!important;
  padding-block:9px!important;
}

@media (max-width:699px){
  .gd242-app header nav{gap:0}.gd242-app header nav button{font-size:8px;padding:7px 5px}.gd242-app header>span{display:none}.gd242-brand{max-width:110px}
  .gd242-form-grid{grid-template-columns:1fr}
  .gd242-bg:after{right:-42vw!important;bottom:-9vh!important;font-size:310px!important;color:rgba(255,255,255,.022)!important}
  .gd242-app header{padding-inline:20px!important}
  .gd242-app main{justify-content:flex-start!important;padding:clamp(34px,6vh,58px) 20px 44px!important}
  .gd242-app h1{font-size:clamp(62px,20vw,86px)!important;margin-bottom:26px!important}
  .gd242-app h2{font-size:clamp(40px,13vw,62px)!important}
  .gd242-lead{font-size:15px!important;line-height:1.55!important}
  .gd242-target{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:end!important;gap:8px!important;margin:24px 0 30px!important}
  .gd242-target strong{font-size:clamp(48px,16vw,68px)!important;line-height:.85!important}
  .gd242-target span,.gd242-target small{font-size:9px!important}
  .gd242-btn,.gd242-ghost{min-height:58px!important}
  .gd242-days button{grid-template-columns:48px minmax(0,1fr) auto!important;padding:15px 12px!important}
  .gd242-choices{grid-template-columns:1fr!important}
  .gd242-choices button{min-height:62px!important}
  .gd242-ad.is-compact{grid-template-columns:1fr;text-align:center}.gd242-profile-stats{grid-template-columns:1fr}.gd242-ad img,.gd242-ad video{max-height:130px}
  .gd242-app h3.gd242-question--long,
  .gd242-app h3.gd242-question--xl{font-size:clamp(22px,7vw,30px)!important;line-height:1.14!important;margin-bottom:22px!important}
}

@media (max-width:390px){
  .gd242-app h1{font-size:58px!important}
  .gd242-target{grid-template-columns:1fr auto!important}
  .gd242-target span{grid-column:1/-1!important}
  .gd242-target strong{font-size:54px!important}
}

@media (max-height:740px) and (min-width:700px){
  .gd242-app main{justify-content:flex-start!important;padding-top:30px!important}
  .gd242-app h1{font-size:82px!important;margin-bottom:18px!important}
  .gd242-target{margin:14px 0 22px!important}
  .gd242-qmeta{margin-top:18px!important}
  .gd242-app h3{margin-top:16px!important;margin-bottom:20px!important}
  .gd242-choices{gap:9px!important}
  .gd242-choices button{min-height:56px!important}
}
