.rtclb-launcher,.rtclb-launcher *{box-sizing:border-box}.rtclb-launcher{position:fixed;inset:0;z-index:999999;pointer-events:none;font-family:Montserrat,Inter,Arial,sans-serif;color:var(--rtclb-text)}.rtclb-launcher-edge{position:fixed;top:0;width:30px;height:100vh;pointer-events:auto}.rtclb-side-right .rtclb-launcher-edge{right:0}.rtclb-side-left .rtclb-launcher-edge{left:0}.rtclb-launcher-handle{position:fixed;top:var(--rtclb-vertical-position);width:var(--rtclb-handle-size);height:var(--rtclb-handle-size);margin-top:calc(var(--rtclb-handle-size)/-2);display:grid;place-items:center;padding:8px;color:var(--rtclb-handle-color);background:var(--rtclb-handle-bg);border:var(--rtclb-handle-border-width) solid var(--rtclb-handle-border);cursor:pointer;pointer-events:auto;z-index:3;transition:transform .25s ease,right var(--rtclb-speed),left var(--rtclb-speed),color .2s}.rtclb-side-right .rtclb-launcher-handle{right:calc(var(--rtclb-handle-size)/-2)}.rtclb-side-left .rtclb-launcher-handle{left:calc(var(--rtclb-handle-size)/-2)}.rtclb-launcher-handle:hover{color:var(--rtclb-handle-hover)}.rtclb-launcher-handle img{width:100%;height:100%;object-fit:contain}.rtclb-launcher-handle svg{width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rtclb-handle-text{font-weight:800;font-size:14px;letter-spacing:.08em}.rtclb-shape-circle{border-radius:50%}.rtclb-shape-rounded{border-radius:22%}.rtclb-shape-square{border-radius:0}.rtclb-shape-none{background:transparent;border-color:transparent}.rtclb-animation-pulse{animation:rtclbPulse 2.2s infinite}.rtclb-animation-rotate img,.rtclb-animation-rotate svg{animation:rtclbRotate 14s linear infinite}.rtclb-animation-halo{animation:rtclbHalo 2.5s infinite}.rtclb-animation-zoom:hover{transform:scale(1.12)}@keyframes rtclbPulse{50%{transform:scale(1.06)}}@keyframes rtclbRotate{to{transform:rotate(360deg)}}@keyframes rtclbHalo{50%{box-shadow:0 0 0 14px rgba(200,154,58,0)}}.rtclb-launcher-panel{position:fixed;top:0;width:min(var(--rtclb-panel-width),calc(100vw - 20px));height:100dvh;padding:28px 24px;overflow-y:auto;background:var(--rtclb-panel-bg);backdrop-filter:blur(var(--rtclb-blur));-webkit-backdrop-filter:blur(var(--rtclb-blur));box-shadow:-20px 0 55px rgba(9,38,76,.22);pointer-events:auto;visibility:hidden;transition:transform var(--rtclb-speed) cubic-bezier(.22,.61,.36,1),visibility var(--rtclb-speed)}.rtclb-side-right .rtclb-launcher-panel{right:0;border-radius:var(--rtclb-radius) 0 0 var(--rtclb-radius);transform:translateX(calc(100% + 25px))}.rtclb-side-left .rtclb-launcher-panel{left:0;border-radius:0 var(--rtclb-radius) var(--rtclb-radius) 0;transform:translateX(calc(-100% - 25px));box-shadow:20px 0 55px rgba(9,38,76,.22)}.rtclb-launcher.is-open .rtclb-launcher-panel{transform:none;visibility:visible}.rtclb-side-right.is-open .rtclb-launcher-handle{right:calc(min(var(--rtclb-panel-width),calc(100vw - 20px)) - var(--rtclb-handle-size)/2)}.rtclb-side-left.is-open .rtclb-launcher-handle{left:calc(min(var(--rtclb-panel-width),calc(100vw - 20px)) - var(--rtclb-handle-size)/2)}.rtclb-launcher-close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;font-size:30px;background:#eef3f8;color:var(--rtclb-text);cursor:pointer}.rtclb-side-left .rtclb-launcher-close{right:auto;left:14px}.rtclb-launcher-header{display:flex;gap:15px;align-items:center;padding:8px 45px 22px 0;border-bottom:1px solid rgba(9,38,76,.12)}.rtclb-launcher-header img{width:var(--rtclb-logo-size);height:var(--rtclb-logo-size);object-fit:contain}.rtclb-launcher-header strong,.rtclb-launcher-header span{display:block}.rtclb-launcher-header strong{font:700 25px/1.1 "Cormorant Garamond",Georgia,serif}.rtclb-launcher-header span{margin-top:5px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.rtclb-launcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:22px}.rtclb-launcher-item{min-height:122px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(9,38,76,.11);border-radius:18px;background:var(--rtclb-card-bg);color:var(--rtclb-text)!important;text-decoration:none!important;text-align:center;box-shadow:0 8px 22px rgba(9,38,76,.07);opacity:0;transform:translateX(16px);transition:opacity .3s var(--delay),transform .3s var(--delay),background .2s,translate .2s}.rtclb-launcher.is-open .rtclb-launcher-item{opacity:1;transform:none}.rtclb-launcher-item:hover{background:var(--rtclb-card-hover);translate:0 -3px}.rtclb-launcher-item-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--item-color);color:var(--item-color);pointer-events:none}.rtclb-launcher-item-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rtclb-launcher-backdrop{position:fixed;inset:0;border:0;background:rgba(9,38,76,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.25s}.rtclb-launcher.is-open .rtclb-launcher-backdrop{opacity:1;visibility:visible;pointer-events:auto}@media(max-width:600px){.rtclb-launcher-grid{grid-template-columns:1fr}.rtclb-launcher-item{min-height:88px;flex-direction:row;justify-content:flex-start}.rtclb-launcher-item-icon{flex:0 0 54px}}@media(prefers-reduced-motion:reduce){.rtclb-launcher *{animation:none!important;transition:none!important}}
/* V4.2.1 : masquer la poignée du menu lorsque le panneau est ouvert */
.rtclb-launcher.is-open .rtclb-launcher-handle{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.82);
  transition:
    opacity .18s ease,
    visibility 0s linear .18s,
    transform .18s ease;
}
.rtclb-launcher:not(.is-open) .rtclb-launcher-handle{
  opacity:1;
  visibility:visible;
  transition:
    opacity .2s ease,
    visibility 0s,
    transform .2s ease,
    right var(--rtclb-speed),
    left var(--rtclb-speed),
    color .2s;
}


/* V4.2.3 : deux grilles distinctes, filtrées côté serveur */
.rtclb-grid-mobile{display:none}
.rtclb-grid-desktop{display:grid}
@media (max-width:782px){
  .rtclb-grid-desktop{display:none!important}
  .rtclb-grid-mobile{display:grid!important}
}

/* V4.2.4 : taille configurable des icônes et libellé sur le bouton menu */
.rtclb-launcher-item-icon{
  width:var(--rtclb-icon-size,56px);
  height:var(--rtclb-icon-size,56px);
  flex:0 0 var(--rtclb-icon-size,56px);
}
.rtclb-launcher-item-icon svg{
  width:calc(var(--rtclb-icon-size,56px) * .5);
  height:calc(var(--rtclb-icon-size,56px) * .5);
}
.rtclb-launcher-item-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:inherit;
}
.rtclb-launcher-handle{
  position:fixed;
  overflow:hidden;
}
.rtclb-handle-visual{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
}
.rtclb-handle-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.rtclb-handle-visual svg{
  width:55%;
  height:55%;
}
.rtclb-handle-label{
  position:relative;
  z-index:2;
  align-self:end;
  max-width:90%;
  margin:0 auto 10%;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(9,38,76,.72);
  color:#fff;
  font-size:clamp(10px,calc(var(--rtclb-handle-size) * .12),15px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.05em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  white-space:nowrap;
  pointer-events:none;
}
.rtclb-shape-none .rtclb-handle-label{
  background:rgba(9,38,76,.82);
}
@media(max-width:600px){
  .rtclb-launcher-item-icon{flex-basis:var(--rtclb-icon-size,56px)}
}

/* V4.2.5 : texte vertical sur la demi-partie visible du bouton */
.rtclb-handle-label{
  position:absolute;
  top:50%;
  z-index:3;
  margin:0;
  padding:4px 8px;
  max-width:none;
  border-radius:999px;
  background:rgba(9,38,76,.68);
  color:var(--rtclb-handle-color,#fff);
  font-size:var(--rtclb-label-font-size,13px);
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
  transform-origin:center;
  text-shadow:0 1px 3px rgba(0,0,0,.65);
}
/* Bouton placé à droite : seule sa moitié gauche est visible. */
.rtclb-side-right .rtclb-handle-label{
  left:25%;
  transform:translate(calc(-50% + var(--rtclb-label-offset-x,0px)),calc(-50% + var(--rtclb-label-offset-y,0px))) rotate(-90deg);
}
/* Bouton placé à gauche : seule sa moitié droite est visible. */
.rtclb-side-left .rtclb-handle-label{
  right:25%;
  transform:translate(calc(50% - var(--rtclb-label-offset-x,0px)),calc(-50% + var(--rtclb-label-offset-y,0px))) rotate(90deg);
}
.rtclb-label-no-shadow .rtclb-handle-label{text-shadow:none}
.rtclb-shape-none .rtclb-handle-label{background:rgba(9,38,76,.78)}
