/* Back-to-top button (injected by /assets/js/main.js) */
.scroll-top{
  position:fixed;right:20px;bottom:20px;z-index:30;
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;padding:0;margin:0;
  border:2px solid #F7931E;border-radius:50%;
  background:#1D1E22;color:#FFFFFF;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,background-color .2s ease,color .2s ease;
}
.scroll-top.is-visible{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .25s ease,transform .25s ease,visibility 0s linear 0s,background-color .2s ease,color .2s ease;
}
.scroll-top svg{width:24px;height:24px;display:block}
.scroll-top:hover,.scroll-top:focus-visible{background:#F7931E;color:#1D1E22}
.scroll-top:focus-visible{outline:3px solid #FFC72C;outline-offset:3px;border-radius:50%}
@media (max-width:767px){
  .scroll-top{right:16px;bottom:16px;width:44px;height:44px;min-width:44px;min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .scroll-top,.scroll-top.is-visible{transition:none}
}

/* Mobile header: "S'inscrire" button centred in the header bar (clone injected by main.js) */
.hdr-cta{display:none}
@media (max-width:1180px){
  .hdr{display:grid;grid-template-columns:1fr auto 1fr;gap:10px}
  .hdr .brand{justify-self:start;min-width:0}
  .hdr .nav-toggle{justify-self:end}
  .hdr-cta{display:inline-flex;justify-self:center;white-space:nowrap}
  .nav .btn{display:none}
}
@media (max-width:420px){
  .hdr .brand-sub{display:none}
  .hdr .brand-name{font-size:1.5rem}
  .hdr-cta{padding:0 12px}
}
