.elementor-1504 .elementor-element.elementor-element-a2653a0{--display:flex;--padding-top:10%;--padding-bottom:1%;--padding-left:0%;--padding-right:0%;}.elementor-1504 .elementor-element.elementor-element-a2653a0:not(.elementor-motion-effects-element-type-background), .elementor-1504 .elementor-element.elementor-element-a2653a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-1504 .elementor-element.elementor-element-58d376c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1504 .elementor-element.elementor-element-a5d8821{--display:flex;--padding-top:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1504 .elementor-element.elementor-element-a0470d7{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:4%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1504 .elementor-element.elementor-element-aadeaeb{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1504 .elementor-element.elementor-element-dbd9265 img{width:70%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1504 .elementor-element.elementor-element-7fc21b0{padding:5% 0% 10% 0%;font-family:"Inter", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1504 .elementor-element.elementor-element-cf316a7 .elementor-button{background-color:#FAE14B;font-family:"Inter", Sans-serif;font-weight:700;text-transform:uppercase;line-height:21px;letter-spacing:0.1em;fill:#000000;color:#000000;padding:15px 40px 15px 40px;}.elementor-1504 .elementor-element.elementor-element-81df4e1{--display:flex;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-weight:600;text-transform:uppercase;}.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item:focus{color:#FAE14B;fill:#FAE14B;}.elementor-1504 .elementor-element.elementor-element-e4aaa4c .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-weight:600;text-transform:uppercase;}.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item:focus{color:#FAE14B;fill:#FAE14B;}.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-1504 .elementor-element.elementor-element-42aaaf4{--display:flex;--padding-top:20px;--padding-bottom:0px;--padding-left:50px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(25px/2);}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(25px/2);}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(25px/2);}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-25px/2);}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-25px/2);}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-icon i{color:#FAE14B;transition:color 0.3s;}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-icon svg{fill:#FAE14B;transition:fill 0.3s;}.elementor-1504 .elementor-element.elementor-element-dbfcd88{--e-icon-list-icon-size:20px;--icon-vertical-align:flex-start;--icon-vertical-offset:5px;}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-weight:400;}.elementor-1504 .elementor-element.elementor-element-dbfcd88 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-1504 .elementor-element.elementor-element-9246646{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1504 .elementor-element.elementor-element-6f079e8{width:auto;max-width:auto;}.elementor-1504 .elementor-element.elementor-element-6f079e8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;color:#FFFFFF;}.elementor-1504 .elementor-element.elementor-element-6f079e8 .elementor-heading-title a:hover, .elementor-1504 .elementor-element.elementor-element-6f079e8 .elementor-heading-title a:focus{color:#FAE14B;}.elementor-1504 .elementor-element.elementor-element-9987918{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;color:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-1504 .elementor-element.elementor-element-a0470d7{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;--justify-items:center;}.elementor-1504 .elementor-element.elementor-element-42aaaf4{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-1504 .elementor-element.elementor-element-a2653a0{--content-width:80vw;}.elementor-1504 .elementor-element.elementor-element-42aaaf4{--width:100%;}}@media(max-width:767px){.elementor-1504 .elementor-element.elementor-element-a2653a0{--content-width:90vw;}.elementor-1504 .elementor-element.elementor-element-58d376c{--min-height:35vh;}.elementor-1504 .elementor-element.elementor-element-a0470d7{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:-10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-1504 .elementor-element.elementor-element-aadeaeb{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1504 .elementor-element.elementor-element-11f4010{padding:20px 0px 0px 0px;}.elementor-1504 .elementor-element.elementor-element-11f4010 .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;}.elementor-1504 .elementor-element.elementor-element-9246646{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1504 .elementor-element.elementor-element-9987918{padding:0px 0px 0px 0px;}}/* Start custom CSS for container, class: .elementor-element-58d376c *//* ============================================================
   FOOTER — Logo F. (REJOINS / NOS SALLES)
   ▶ Réglages : modifier uniquement les variables ci-dessous.
   Toutes les épaisseurs / tailles sont exprimées en proportion
   de la HAUTEUR du F : les modifier ne change jamais la hauteur.
============================================================ */
#ftr-footer-logo {
  /* --- Hauteur du F (réduite automatiquement si l'écran est trop étroit) --- */
  --fl-height: 600px;

  /* --- Largeur du F = hauteur × ratio (logo d'origine : 1.4) --- */
  --fl-ratio: 1.25;

  /* --- Épaisseur des barres (× hauteur du F) --- */
  --fl-bar-top: 0.19;     /* barre du haut */
  --fl-bar-mid: 0.19;     /* barre du milieu */
  --fl-stem: 0.19;       /* jambe */
  --fl-dot: 0.165;        /* taille du point */

  /* --- Position de la barre du milieu (× hauteur du F, depuis le haut) --- */
  --fl-mid-top: 0.355;

  /* --- Texte (× hauteur du F) --- */
  --fl-font: 0.13;
  --fl-font-weight: 700;
  --fl-letter-spacing: 0.04em;

  /* --- Couleurs / inclinaison --- */
  --fl-yellow: #FAE14B;
  --fl-text: #000000;
  --fl-angle: -17deg;
  --fl-slant: 0.3057; 

  display: block;
  width: 100%;
  container-type: inline-size;   /* le F se cale sur la largeur disponible */
}

/* ---------- Calculs (ne pas modifier) ---------- */
#ftr-footer-logo .ftr-fl-skew {
  /* hauteur réelle : la hauteur demandée, ou moins si le F ne tient pas en largeur */
  --h: min(var(--fl-height), calc(100cqw / (var(--fl-ratio) + var(--fl-slant))));
  --w: calc(var(--h) * var(--fl-ratio));

  position: relative;
  width: var(--w);
  height: var(--h);
  /* centrage en tenant compte de l'inclinaison */
  margin-left: calc((100cqw - var(--w) - var(--h) * var(--fl-slant)) / 2);
  transform: skewX(var(--fl-angle));
  transform-origin: bottom left;
}

#ftr-footer-logo .ftr-fl-bar,
#ftr-footer-logo .ftr-fl-stem,
#ftr-footer-logo .ftr-fl-dot {
  position: absolute;
  background: var(--fl-yellow);
}

/* Barres */
#ftr-footer-logo .ftr-fl-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#ftr-footer-logo .ftr-fl-top {       /* barre du haut, décalée à droite */
  top: 0;
  left: 12.2%;
  width: 78%;
  height: calc(var(--h) * var(--fl-bar-top));
}
#ftr-footer-logo .ftr-fl-mid {       /* barre du milieu : NOS SALLES centré dans toute la barre */
  top: calc(var(--h) * var(--fl-mid-top));
  left: 0;
  width: 80%;
  height: calc(var(--h) * var(--fl-bar-mid));
}

/* Jambe du F : de la barre du milieu jusqu'en bas */
#ftr-footer-logo .ftr-fl-stem {
  top: calc(var(--h) * var(--fl-mid-top));
  bottom: 0;
  left: 0;
  width: calc(var(--h) * var(--fl-stem));
}

/* Point */
#ftr-footer-logo .ftr-fl-dot {
  right: 0;
  bottom: 0;
  width: calc(var(--h) * var(--fl-dot));
  height: calc(var(--h) * var(--fl-dot));
}

/* Texte */
#ftr-footer-logo .ftr-fl-bar span {
  position: relative;
  z-index: 1;
  font-family: 'Inter', sans-serif;
  font-weight: var(--fl-font-weight);
  font-size: calc(var(--h) * var(--fl-font));
  letter-spacing: var(--fl-letter-spacing);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--fl-text);
  margin-right: calc(var(--fl-letter-spacing) * -1); /* recentre malgré l'espacement */
  text-box: trim-both cap alphabetic;                /* centrage vertical précis des capitales */
}

/* ---------- Mobile (optionnel) ---------- */
@media (max-width: 767px) {
  #ftr-footer-logo {
    --fl-height: 260px;   /* réduit automatiquement si l'écran est plus étroit */
  }
}

/* ============================================================
   FOOTER — Logo F. : ANIMATION D'ENTRÉE
   À coller APRÈS le CSS existant du logo (ne rien supprimer).
   ▶ Réglages : modifier uniquement les variables ci-dessous.

   Scénario :
   1. REJOINS arrive de la droite, NOS SALLES + la jambe de la
      gauche, en accélérant (comme un coup de poing).
   2. Impact : léger rebond + secousse du logo.
   3. Après --fl-anim-dot-wait, le point tombe comme un poids
      lâché au sol (écrasement + secousse).
============================================================ */
#ftr-footer-logo {
  --fl-anim-start: 0s;       /* délai avant départ, une fois le logo visible */
  --fl-anim-bars: 0.75s;     /* durée d'arrivée des barres (rebond compris) */
  --fl-anim-dot-wait: 0.5s;  /* attente entre le F complet et l'arrivée du point */
  --fl-anim-dot: 0.65s;      /* durée de la chute du point (rebond compris) */
  --fl-anim-shake: 1;        /* intensité des secousses (0 = aucune, 2 = double) */

  overflow-x: clip;          /* les barres arrivent de hors-champ sans scroll horizontal */
}

/* ---------- Calculs / animations (ne pas modifier) ---------- */
#ftr-footer-logo.ftr-fl-anim {
  /* instant où les barres touchent leur position finale (55 % de l'animation) */
  --fl-t-impact: calc(var(--fl-anim-start) + var(--fl-anim-bars) * 0.55);
  /* le F est entièrement posé */
  --fl-t-f-done: calc(var(--fl-anim-start) + var(--fl-anim-bars));
  /* le point démarre */
  --fl-t-dot: calc(var(--fl-t-f-done) + var(--fl-anim-dot-wait));
}

/* Les éléments animés forment chacun un calque : on garde les barres
   (et leur texte) au-dessus de la jambe, comme sans animation */
#ftr-footer-logo.ftr-fl-anim .ftr-fl-bar { z-index: 1; }

/* État initial figé (animations en pause) tant que le logo n'est pas visible */
#ftr-footer-logo.ftr-fl-anim .ftr-fl-top {
  animation: ftrFlFromRight var(--fl-anim-bars) var(--fl-anim-start) both paused;
}
#ftr-footer-logo.ftr-fl-anim .ftr-fl-mid,
#ftr-footer-logo.ftr-fl-anim .ftr-fl-stem {
  animation: ftrFlFromLeft var(--fl-anim-bars) var(--fl-anim-start) both paused;
}
#ftr-footer-logo.ftr-fl-anim .ftr-fl-top span {
  animation: ftrFlTextSkidRight var(--fl-anim-bars) var(--fl-anim-start) both paused;
}
#ftr-footer-logo.ftr-fl-anim .ftr-fl-mid span {
  animation: ftrFlTextSkidLeft var(--fl-anim-bars) var(--fl-anim-start) both paused;
}
#ftr-footer-logo.ftr-fl-anim .ftr-fl-dot {
  transform-origin: 50% 100%;
  animation: ftrFlDotDrop var(--fl-anim-dot) var(--fl-t-dot) both paused;
}
#ftr-footer-logo.ftr-fl-anim .ftr-fl-skew {
  animation:
    ftrFlShake 0.35s var(--fl-t-impact) paused,
    ftrFlShake 0.4s calc(var(--fl-t-dot) + var(--fl-anim-dot) * 0.55) paused;
}

/* Déclenchement (classe ajoutée par le JS quand le logo entre à l'écran) */
#ftr-footer-logo.ftr-fl-go .ftr-fl-skew,
#ftr-footer-logo.ftr-fl-go .ftr-fl-skew > div,
#ftr-footer-logo.ftr-fl-go .ftr-fl-bar span {
  animation-play-state: running;
}

/* Barre du haut : arrive de la droite, accélère, dépasse, se cale */
@keyframes ftrFlFromRight {
  0%   { translate: 100cqw 0;                      animation-timing-function: cubic-bezier(.55, 0, .85, .35); }
  55%  { translate: calc(var(--h) * -0.045) 0;     animation-timing-function: cubic-bezier(.25, .6, .4, 1); }
  75%  { translate: calc(var(--h) *  0.015) 0;     animation-timing-function: ease-in-out; }
  90%  { translate: calc(var(--h) * -0.004) 0; }
  100% { translate: 0 0; }
}

/* Barre du milieu + jambe : arrivent ensemble de la gauche */
@keyframes ftrFlFromLeft {
  0%   { translate: -100cqw 0;                     animation-timing-function: cubic-bezier(.55, 0, .85, .35); }
  55%  { translate: calc(var(--h) *  0.045) 0;     animation-timing-function: cubic-bezier(.25, .6, .4, 1); }
  75%  { translate: calc(var(--h) * -0.015) 0;     animation-timing-function: ease-in-out; }
  90%  { translate: calc(var(--h) *  0.004) 0; }
  100% { translate: 0 0; }
}

/* Le texte « traîne » un peu derrière sa barre puis est projeté par l'inertie */
@keyframes ftrFlTextSkidRight {
  0%, 50% { translate: calc(var(--h) *  0.07) 0; }
  65%     { translate: calc(var(--h) * -0.03) 0; }
  85%     { translate: calc(var(--h) *  0.008) 0; }
  100%    { translate: 0 0; }
}
@keyframes ftrFlTextSkidLeft {
  0%, 50% { translate: calc(var(--h) * -0.07) 0; }
  65%     { translate: calc(var(--h) *  0.03) 0; }
  85%     { translate: calc(var(--h) * -0.008) 0; }
  100%    { translate: 0 0; }
}

/* Point : chute lourde, écrasement à l'impact, petit rebond */
@keyframes ftrFlDotDrop {
  0%   { translate: 0 calc(var(--h) * -0.9); scale: 0.9 1.2;  opacity: 0; animation-timing-function: cubic-bezier(.6, 0, .9, .45); }
  15%  { opacity: 1; }
  55%  { translate: 0 0;                     scale: 1.28 0.68; opacity: 1; animation-timing-function: cubic-bezier(.2, .7, .4, 1); }
  72%  { translate: 0 calc(var(--h) * -0.05); scale: 0.94 1.08; animation-timing-function: cubic-bezier(.6, 0, .9, .45); }
  86%  { translate: 0 0;                     scale: 1.08 0.93; }
  100% { translate: 0 0;                     scale: 1 1; }
}

/* Secousse du logo à chaque impact (utilise "translate" : ne touche pas au skew) */
@keyframes ftrFlShake {
  0%   { translate: 0 0; }
  20%  { translate: 0 calc(var(--h) * 0.014 * var(--fl-anim-shake)); }
  45%  { translate: 0 calc(var(--h) * -0.007 * var(--fl-anim-shake)); }
  70%  { translate: 0 calc(var(--h) * 0.003 * var(--fl-anim-shake)); }
  100% { translate: 0 0; }
}

/* Accessibilité : aucune animation si l'utilisateur la refuse */
@media (prefers-reduced-motion: reduce) {
  #ftr-footer-logo.ftr-fl-anim .ftr-fl-skew,
  #ftr-footer-logo.ftr-fl-anim .ftr-fl-skew > div,
  #ftr-footer-logo.ftr-fl-anim .ftr-fl-bar span {
    animation: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a5d8821 *//* ============================================================
   FOOTER — Réseaux sociaux (inspiré de phive.pt)
   ▶ Réglages : modifier uniquement les variables ci-dessous.
============================================================ */
#ftr-social {
  --soc-size: clamp(150px, 30vw, 340px);   /* diamètre des ronds */
  --soc-gap: clamp(20px, 5vw, 60px);        /* espace entre les 2 ronds */
  --soc-zoom: 1.2;                          /* zoom du rond survolé */
  --soc-unzoom: 0.9;                        /* dézoom de l'autre rond */
  --soc-rotate: 20deg;                      /* rotation au survol (comme phive) */
  --soc-border: 15px;                       /* bordure au survol (comme phive) */
  --soc-border-color: #FAE14B;
  --soc-logo: 26%;                          /* taille du logo dans le rond */
  --soc-title-color: #FFFFFF;
  --soc-title-size: clamp(1.6rem, 4vw, 3.2rem);

  /* Courbes d'animation reprises de phive */
  --soc-ease-zoom: cubic-bezier(0.165, 0.84, 0.44, 1);   /* power4.out */
  --soc-ease-ring: cubic-bezier(0.19, 1, 0.22, 1);       /* expo.out */

  container-type: inline-size;
  width: 100%;
  padding: 40px 0;
  text-align: center;
}

/* ---------- Titre ---------- */
#ftr-social .ftr-soc-title {
  margin: 0 0 clamp(40px, 6vw, 80px);
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: var(--soc-title-size);
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--soc-title-color);
}

/* ---------- Les 2 ronds côte à côte ---------- */
#ftr-social .ftr-soc-list {
  /* taille réelle : réduite si l'écran est trop étroit pour 2 ronds */
  --s: min(var(--soc-size), calc((100cqw - var(--soc-gap) - 20px) / 2));

  display: flex;
  justify-content: center;
  gap: var(--soc-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

#ftr-social .ftr-soc-item {
  width: var(--s);
  height: var(--s);
  margin: 0;
  transition: transform 0.25s var(--soc-ease-zoom);
}
/* le rond qui dézoome se resserre vers l'extérieur (comme phive) */
#ftr-social .ftr-soc-item:first-child { transform-origin: left center; }
#ftr-social .ftr-soc-item:last-child  { transform-origin: right center; }
#ftr-social .ftr-soc-item.is-zoom     { transform: scale(var(--soc-zoom)); transform-origin: center; }
#ftr-social .ftr-soc-item.is-unzoom   { transform: scale(var(--soc-unzoom)); }

#ftr-social .ftr-soc-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

/* ---------- Photos ---------- */
#ftr-social .ftr-soc-images {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: 50%;
  border: 0 solid var(--soc-border-color);
  box-sizing: border-box;
  background: #1a1a1a;
  transition: transform 0.25s var(--soc-ease-ring), border-width 0.25s var(--soc-ease-ring);
}
#ftr-social .ftr-soc-images img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
#ftr-social .ftr-soc-images img.is-active {
  opacity: 1;
}

/* Survol : bordure jaune + rotation (gauche → droite, droite → gauche) */
#ftr-social .ftr-soc-item.is-zoom .ftr-soc-images {
  border-width: min(var(--soc-border), calc(var(--s) * 0.045));
}
#ftr-social .ftr-soc-item:first-child.is-zoom .ftr-soc-images { transform: rotate(var(--soc-rotate)); }
#ftr-social .ftr-soc-item:last-child.is-zoom  .ftr-soc-images { transform: rotate(calc(var(--soc-rotate) * -1)); }

/* ---------- Logo officiel (reste droit, pas de croix) ---------- */
#ftr-social .ftr-soc-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--soc-logo);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.35));
}
#ftr-social .ftr-soc-logo svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* ---------- Apparition au scroll (comme phive) ---------- */
#ftr-social.is-armed .ftr-soc-item {
  transform: scale(0);
  transform-origin: center;
}
#ftr-social.is-armed .ftr-soc-link {
  opacity: 0;
  transform: rotate(var(--soc-intro-rot, 20deg));
}
#ftr-social.is-armed .ftr-soc-item:last-child .ftr-soc-link {
  --soc-intro-rot: -20deg;
}
#ftr-social.is-in .ftr-soc-item {
  transform: scale(1);
  transition: transform 1s var(--soc-ease-ring);
}
#ftr-social.is-in .ftr-soc-item:last-child {
  transition-delay: 0.25s;
}
#ftr-social.is-in .ftr-soc-link {
  opacity: 1;
  transform: none;
  transition: opacity 0.75s var(--soc-ease-ring) 0.7s, transform 0.75s var(--soc-ease-ring) 0.7s;
}
#ftr-social.is-in .ftr-soc-item:last-child .ftr-soc-link {
  transition-delay: 0.8s;
}
/* (le JS retire is-armed / is-in une fois l'apparition terminée) */

@media (prefers-reduced-motion: reduce) {
  #ftr-social .ftr-soc-item,
  #ftr-social .ftr-soc-images,
  #ftr-social .ftr-soc-link {
    transition: none !important;
  }
}/* End custom CSS */