/* Interactions communes à toutes les maquettes Astro. */
html.site-motion-ready [data-site-reveal]{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:
    opacity .7s cubic-bezier(.2,.65,.25,1),
    transform .7s cubic-bezier(.2,.65,.25,1);
  transition-delay:var(--site-reveal-delay,0ms);
  will-change:opacity,transform;
}
html.site-motion-ready [data-site-reveal="left"]{transform:translate3d(-24px,0,0)}
html.site-motion-ready [data-site-reveal="right"]{transform:translate3d(24px,0,0)}
html.site-motion-ready [data-site-reveal="scale"]{transform:scale(.975)}
html.site-motion-ready [data-site-reveal].site-motion-in{
  opacity:1;
  transform:none;
  will-change:auto;
}

/* Le bouton est créé automatiquement lorsqu'une page n'en possède pas. */
.site-whatsapp-fab{
  position:fixed;
  right:clamp(16px,3vw,28px);
  bottom:clamp(16px,3vw,28px);
  z-index:100;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#25d366;
  color:#fff;
  border:1px solid rgba(0,0,0,.1);
  box-shadow:0 10px 28px rgba(6,42,58,.28);
  text-decoration:none;
  font:700 12px/1 system-ui,sans-serif;
  letter-spacing:.04em;
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.site-whatsapp-fab:hover,.site-whatsapp-fab:focus-visible{
  color:#fff;
  background:#1ebe5d;
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(6,42,58,.34);
}

/* Sélecteur de langue et message des traductions à venir. */
.lang .site-lang-current,
.lang .site-lang-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  padding:4px 2px;
  font:inherit;
  letter-spacing:inherit;
  line-height:1.2;
}
.lang .site-lang-current{
  color:inherit;
  border-bottom:2px solid #0994dc;
}
.lang .site-lang-trigger{
  margin:0;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:inherit;
  opacity:.68;
  cursor:pointer;
}
.lang .site-lang-trigger:hover,
.lang .site-lang-trigger:focus-visible{
  opacity:1;
  border-bottom-color:currentColor;
  outline:none;
}
.site-modal-open{overflow:hidden}
.site-language-modal[hidden]{display:none}
.site-language-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
}
.site-language-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,42,58,.78);
  backdrop-filter:blur(8px);
}
.site-language-modal__dialog{
  position:relative;
  width:min(100%,560px);
  border-top:4px solid #0994dc;
  background:#f2f6f8;
  color:#231f20;
  padding:clamp(32px,6vw,56px);
  box-shadow:0 28px 80px rgba(0,0,0,.3);
}
.site-language-modal__eyebrow{
  display:block;
  margin-bottom:20px;
  color:#0b4256;
  font:500 11px/1.4 'IBM Plex Mono',ui-monospace,monospace;
  letter-spacing:.14em;
}
.site-language-modal__dialog h2{
  margin:0 48px 16px 0;
  color:#062a3a;
  font:800 clamp(34px,6vw,58px)/.95 'Archivo',system-ui,sans-serif;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.site-language-modal__dialog p{
  margin:0 0 32px;
  color:#5d7480;
  font:400 17px/1.6 'Inter',system-ui,sans-serif;
}
.site-language-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid #c3d3d5;
  background:transparent;
  color:#062a3a;
  font:300 30px/1 system-ui,sans-serif;
  cursor:pointer;
}
.site-language-modal__action{
  min-height:48px;
  border:0;
  border-radius:2px;
  background:#e2551f;
  color:#fff;
  padding:13px 22px;
  font:500 12px/1.2 'IBM Plex Mono',ui-monospace,monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.site-language-modal__close:hover,
.site-language-modal__close:focus-visible,
.site-language-modal__action:hover,
.site-language-modal__action:focus-visible{
  outline:2px solid #0994dc;
  outline-offset:3px;
}

@media(prefers-reduced-motion:reduce){
  html.site-motion-ready [data-site-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }
}
