/* =========================================================
   REASQ — page d'entree avec mot de passe (style teaser)
   ========================================================= */
#rq-gate{display:none;}
html.rq-locked body{overflow:hidden!important;}
html.rq-locked #rq-gate{display:block;}
/* on cache tout ce qui ne sert pas pendant l'ecran d'entree */
html.rq-locked #header,html.rq-locked #rqlang,html.rq-locked .rq-back,html.rq-locked #rqcur,
html.rq-locked .gdpr-cookie-banner,html.rq-locked .rq-ck-panel,html.rq-locked .rq-topband{display:none!important;}
/* la cagoule 3D reste au centre, au-dessus de l'ecran d'entree */
html.rq-locked body #rq3d{display:block!important;z-index:9990;}

#rq-gate{position:fixed;inset:0;z-index:9980;color:#fff;font-family:"Space Mono",monospace;
  background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
#rq-gate .g-top,#rq-gate .g-bot{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 20px;}
#rq-gate .g-top{bottom:calc(50% + clamp(78px,10vh,110px));}
#rq-gate .g-bot{top:calc(50% + clamp(78px,10vh,110px));}
#rq-gate .g-logo{width:clamp(170px,17vw,240px);height:auto;margin:0 0 clamp(18px,4vh,46px);filter:drop-shadow(0 2px 10px rgba(0,0,0,.75));}
#rq-gate .g-year{margin:0;line-height:0;}
#rq-gate .g-year img{width:clamp(220px,24vw,340px);height:auto;filter:drop-shadow(0 2px 14px rgba(0,0,0,.55));}
#rq-gate .g-txt{font:400 clamp(11px,1.1vw,14px)/1.6 "Space Mono",monospace;letter-spacing:.2em;text-transform:uppercase;margin:0 0 clamp(18px,3.4vh,34px);text-shadow:0 1px 8px rgba(0,0,0,.8);}
#rq-gate form{width:min(420px,100%);display:flex;flex-direction:column;gap:12px;}
#rq-gate input{width:100%;padding:20px 22px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.55);border-radius:0;color:#fff;
  font:400 15px "Space Mono",monospace;letter-spacing:.12em;outline:none;transition:border-color .2s,background .2s;}
#rq-gate input::placeholder{color:rgba(255,255,255,.75);text-transform:uppercase;}
#rq-gate input:focus{border-color:#fff;background:rgba(0,0,0,.4);}
#rq-gate button{width:100%;padding:19px 22px;background:#262626;border:0;border-radius:0;color:#fff;cursor:pointer;
  font:700 13px "Space Mono",monospace;letter-spacing:.2em;text-transform:uppercase;transition:background .25s,transform .25s;}
#rq-gate button:hover,#rq-gate button:focus-visible{background:#7a0b10;}
#rq-gate button:active{transform:scale(.98);}
#rq-gate .g-err{min-height:18px;margin:2px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ff9da1;}
#rq-gate form.bad{animation:rqShake .4s;}
@keyframes rqShake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
#rq-gate .g-soc{display:flex;gap:26px;margin-top:clamp(10px,2.4vh,22px);}
#rq-gate .g-soc a{display:block;width:24px;height:24px;opacity:.9;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s;}
#rq-gate .g-soc a:hover{opacity:1;transform:scale(1.18) rotate(-6deg);}
#rq-gate .g-soc svg{width:100%;height:100%;fill:#fff;}
#rq-gate.out{opacity:0;transition:opacity .5s;}
@media (max-width:767px){
  #rq-gate .g-top{bottom:calc(50% + 62px);}
  #rq-gate .g-bot{top:calc(50% + 62px);}
  #rq-gate input,#rq-gate button{padding:16px 18px;}
}
@media (max-height:640px){
  #rq-gate .g-logo{margin-bottom:10px;width:150px;}
  #rq-gate .g-year img{width:200px;}
}
