.elementor-kit-580{--e-global-color-primary:#5A36FF;--e-global-color-secondary:#F4C775;--e-global-color-text:#1A1633;--e-global-color-accent:#EEE8FF;--e-global-color-afc83f1:#F7F5F0;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-580 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================
   v2 — Polish premium : élégance + symétrie
   ========================================= */
.poc-hero{
  --ink:#1A1633; --paper:#F7F5F0; --accent:#5A36FF; --soft:#EEE8FF; --gold:#F4C775;
  --card-alpha:.76;          /* translucidité par défaut (0.68–0.86) */
  --card-alpha-hover:.84;    /* translucidité au survol */
  --radius:26px;
  --shadow-amb: 0 12px 40px rgba(26,22,51,.12);
  --shadow-key: 0 4px 12px rgba(26,22,51,.10);
  --shadow-cta: 0 8px 22px rgba(90,54,255,.28);
}

/* Grille parfaitement tendue */
.poc-hero .elementor-container,
.poc-hero .e-con{ align-items:stretch; row-gap:clamp(18px,2vw,28px); column-gap:clamp(18px,2vw,28px); }

/* ---------------------
   Cartes verre dépoli +
   bordure dégradée
   --------------------- */
.poc-card{
  border-radius: var(--radius);
  padding: clamp(20px,2.6vw,30px);
  height:100%;
  display:flex; flex-direction:column; gap:clamp(14px,1.6vw,20px);
  position:relative; isolation:isolate; overflow:hidden;

  /* verre + pattern discret */
  background:
    radial-gradient(120% 120% at 15% -20%, rgba(238,232,255,.22), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,calc(var(--card-alpha)+.05)), rgba(247,245,240,var(--card-alpha))),
    radial-gradient(18px 18px at 12px 12px, rgba(26,22,51,.035) 1px, transparent 1.6px); 
  background-size:auto, auto, 24px 24px;
  -webkit-backdrop-filter: blur(12px) saturate(1.06);
          backdrop-filter: blur(12px) saturate(1.06);

  border:1px solid rgba(90,54,255,.16);
  box-shadow: var(--shadow-amb), var(--shadow-key);

  transition: transform .35s cubic-bezier(.2,.8,.2,1),
              box-shadow .35s ease,
              border-color .35s ease,
              background .35s ease;
}

/* Liseré gradient propre (sans border-image) */
.poc-card::before{
  content:""; position:absolute; inset:-1px; padding:1px; border-radius:inherit;
  background: linear-gradient(135deg, rgba(90,54,255,.45), rgba(244,199,117,.35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:.0; transition:opacity .35s ease;
}

/* Halo subtil en arrière-plan */
.poc-card::after{
  content:""; position:absolute; inset:auto -20% -40% -20%; height:60%;
  background: radial-gradient(55% 65% at 50% 100%, rgba(110,68,255,.16), transparent 60%);
  filter: blur(18px); z-index:0; pointer-events:none;
  opacity:.65; transition:opacity .35s ease;
}

/* Hover : plus de matière, sans agressivité */
.poc-card:hover{
  transform: translateY(-6px);
  background:
    radial-gradient(120% 120% at 15% -20%, rgba(238,232,255,.26), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,calc(var(--card-alpha-hover)+.04)), rgba(247,245,240,var(--card-alpha-hover))),
    radial-gradient(18px 18px at 12px 12px, rgba(26,22,51,.04) 1px, transparent 1.6px);
  border-color: rgba(90,54,255,.28);
  box-shadow: 0 16px 46px rgba(26,22,51,.16);
}
.poc-card:hover::before{ opacity:1; }
.poc-card:hover::after{ opacity:.9; }

/* Variante premium : ajoute "poc-card--prime" au conteneur central */
.poc-card--prime{ border-color: rgba(244,199,117,.25); }
.poc-card--prime::before{
  background: linear-gradient(135deg, rgba(244,199,117,.55), rgba(110,68,255,.45));
  opacity:.9;
}

/* ---------------------
   Titres : hauteur fixe
   + micro-typographie
   --------------------- */
.poc-title{
  color:var(--ink); font-weight:800; line-height:1.12;
  letter-spacing:.2px;
  font-size: clamp(22px,2.2vw,34px);
  margin:0;
  min-height: clamp(52px,5.4vw,76px); /* 2 lignes visuelles max pour aligner les 3 cartes */
}
.poc-title strong, .poc-title em{ font-style:normal; color:var(--accent); }

/* ---------------------
   Images : cadre premium
   --------------------- */
.poc-media img{
  display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  border-radius: 18px;
  background:#fff;
  border: 1px solid rgba(90,54,255,.18);
  box-shadow: 0 6px 20px rgba(26,22,51,.10);
  position:relative; z-index:1;
  transition: transform .35s ease, box-shadow .35s ease, filter .35s ease, border-color .35s ease;
}
/* Fin lustrée */
.poc-media{ position:relative; }
.poc-media::after{
  content:""; position:absolute; inset:0; border-radius:18px; pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 35%, rgba(26,22,51,.06) 100%);
  mix-blend-mode: soft-light; opacity:.7; z-index:2;
}
.poc-card:hover .poc-media img{
  transform: scale(1.012);
  box-shadow: 0 12px 28px rgba(26,22,51,.16);
  filter: saturate(1.05);
  border-color: rgba(110,68,255,.35);
}

/* ---------------------
   CTA : gradient + shine
   --------------------- */
.poc-cta{ margin-top:auto; }
.poc-cta .elementor-button{
  border-radius:999px; font-weight:800; letter-spacing:.2px;
  padding: clamp(10px,1.1vw,14px) clamp(18px,1.8vw,24px);
  color:#fff; border:1px solid rgba(244,199,117,0);
  background-image: linear-gradient(135deg, var(--accent) 0%, #7B62FF 55%, #8A73FF 100%);
  box-shadow: var(--shadow-cta);
  background-size: 220% 100%; background-position: 0% 0%;
  position:relative; overflow:hidden;
  transition: transform .2s ease, box-shadow .25s ease, background-position .25s ease, border-color .25s ease;
}
.poc-cta .elementor-button::before{
  content:""; position:absolute; inset:-40% -10% auto -10%; height:200%;
  background: linear-gradient(110deg, rgba(255,255,255,.0) 20%, rgba(255,255,255,.45) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%) rotate(8deg);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.poc-cta .elementor-button:hover{
  background-position: 100% 0%;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(90,54,255,.38), 0 0 0 3px rgba(244,199,117,.18) inset;
  border-color: rgba(244,199,117,.58);
}
.poc-cta .elementor-button:hover::before{ transform: translateX(120%) rotate(8deg); }

/* Chevron discret */
.poc-cta .elementor-button-text{ position:relative; padding-right:.9em; }
.poc-cta .elementor-button-text::after{
  content:"›"; position:absolute; right:.2em; top:50%; transform:translateY(-50%);
  font-weight:900; transition: transform .2s ease; opacity:.9;
}
.poc-cta .elementor-button:hover .elementor-button-text::after{ transform:translateY(-50%) translateX(2px); }

/* ---------------------
   Responsive fin
   --------------------- */
@media (max-width:1024px){
  .poc-title{ min-height: clamp(46px,6vw,64px); }
}
@media (max-width:767px){
  .poc-title{ min-height: 0; }
  .poc-card{ padding: clamp(16px,4.4vw,22px); }
}


/* ===== Display Title – version luxe ===== */
.poc-headline{
  --ink:#1A1633; --accent:#5A36FF; --gold:#F4C775; --soft:#EEE8FF;
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight: 800;
  font-size: clamp(30px,3.6vw,62px);
  line-height: 1.05;
  letter-spacing: .2px;
  margin: 0 0 clamp(14px,1.6vw,18px);
  text-wrap: balance;           /* équilibre des lignes */
  color: transparent;           /* gradient text */
  background-image: linear-gradient(180deg, var(--ink) 0%, #2a2550 45%, var(--accent) 100%);
  -webkit-background-clip: text;
          background-clip: text;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.25));
  position: relative;
  display: inline-block;
}

/* Halo doux derrière le titre */
.poc-headline::before{
  content:"";
  position:absolute; inset:-18% -8% -36% -8%;
  background: radial-gradient(60% 70% at 50% 60%, rgba(238,232,255,.85), transparent 60%);
  filter: blur(22px);
  z-index:-1; opacity:.75; pointer-events:none;
}

/* Soulignement gradient premium */
.poc-headline::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-12px; height:8px;
  background: linear-gradient(90deg, var(--accent) 0%, #7B62FF 55%, var(--gold) 100%);
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(110,68,255,.35);
  transform-origin:left center;
}

/* Liseré fantôme sous la barre pour de la profondeur */
.poc-headline{
  --ghost: linear-gradient(90deg, rgba(110,68,255,.20), rgba(244,199,117,.18));
}
.poc-headline + .poc-headline-ghost{
  display:block; height:4px; border-radius:999px; margin-top:6px;
  background: var(--ghost); opacity:.6; filter: blur(2px);
}

/* Shimmer très léger au survol (élégant, non tape-à-l'œil) */
.poc-headline:hover::after{ animation: pocSweep 1.6s ease forwards; }
@keyframes pocSweep{ from{background-position:0% 0%} to{background-position:100% 0%} }

/* ===== HEADLINE FULL CAPS + ANIMATIONS ===== */
.poc-headline{
  --ink:#1A1633; --accent:#5A36FF; --gold:#F4C775; --soft:#EEE8FF;

  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
  font-size: clamp(30px,3.8vw,64px);
  line-height: 1.02;
  margin: 0 0 clamp(16px,1.8vw,22px);

  /* texte en dégradé animé */
  color: transparent;
  background-image: linear-gradient(180deg, var(--ink) 0%, #2a2550 35%, var(--accent) 100%);
  background-size: 200% 100%;
  background-position: 0% 0%;
  -webkit-background-clip: text;
          background-clip: text;

  position: relative; display: inline-block;
  opacity: 0; transform: translateY(10px) scale(.98);
  animation: ph-reveal .8s cubic-bezier(.2,.8,.2,1) .05s both,
             ph-sheen 8s ease-in-out 1.2s both infinite;
  will-change: background-position, transform, opacity, letter-spacing, filter;
}

/* halo doux derrière le titre */
.poc-headline::before{
  content:"";
  position:absolute; inset:-22% -10% -40% -10%;
  background: radial-gradient(60% 70% at 50% 60%, rgba(238,232,255,.9), transparent 60%);
  filter: blur(22px); z-index:-1; opacity:.85; pointer-events:none;
}

/* soulignement dégradé animé */
.poc-headline::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-12px; height:8px;
  background: linear-gradient(90deg, var(--accent) 0%, #7B62FF 55%, var(--gold) 100%);
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(110,68,255,.35);
  transform-origin:left center; transform: scaleX(0);
  animation: ph-underline .9s cubic-bezier(.2,.8,.2,1) .35s forwards;
}

/* hover : tracking + gradient sweep + pulse de la barre */
.poc-headline:hover{
  letter-spacing:.12em;
  transform: translateY(-1px);
  filter: drop-shadow(0 2px 0 rgba(255,255,255,.25));
  background-position: 100% 0%;
  transition: background-position .6s ease, letter-spacing .25s ease, transform .25s ease, filter .25s ease;
}
.poc-headline:hover::after{
  animation: ph-underline-pulse .7s ease-out forwards;
}

/* keyframes */
@keyframes ph-reveal{
  from{opacity:0; transform: translateY(10px) scale(.98);}
  to{opacity:1; transform: translateY(0) scale(1);}
}
@keyframes ph-sheen{
  0%,10%{background-position:0% 0%;}
  50%{background-position:100% 0%;}
  100%{background-position:0% 0%;}
}
@keyframes ph-underline{
  from{transform:scaleX(0);}
  to{transform:scaleX(1);}
}
@keyframes ph-underline-pulse{
  0%{transform:scaleX(1); height:8px;}
  60%{transform:scaleX(1.06); height:9px;}
  100%{transform:scaleX(1); height:8px;}
}

/* accessibilité : pas d’anim si l’utilisateur préfère réduire */
@media (prefers-reduced-motion: reduce){
  .poc-headline{ animation:none; opacity:1; transform:none; }
  .poc-headline::after{ animation:none; transform:scaleX(1); }
}

/* =========================================================
   FrenchQuant — Price Table (Ultra Glass, Clean, No Halo)
   Palette: #F7F5F0 #5A36FF #1A1633 #EEE8FF #F4C775
   ========================================================= */
.elementor-widget-price-table.fq-price{
  --ink:#1A1633; --paper:#F7F5F0; --accent:#5A36FF; --soft:#EEE8FF; --gold:#F4C775;
  --radius:26px;
  --glass:.58;          /* opacité du verre (0.45–0.72) */
  --glassH:.64;         /* au hover */
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  padding: 12px;                 /* léger tampon autour de la carte */
  overflow: visible;
}

/* Kill tout halo/effet précédent */
.elementor-widget-price-table.fq-price::after{ content:none !important; }
.elementor-widget-price-table.fq-price .elementor-price-table::before{ opacity:0 !important; }
.elementor-widget-price-table.fq-price .elementor-price-table__header::after{ display:none !important; }

/* ---------- Carte : ULTRA TRANSLUCIDE (verre dépoli) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table{
  display:flex; flex-direction:column; height:100%;
  border-radius: var(--radius);
  overflow:hidden; isolation:isolate; position:relative;

  /* verre clair, aucune teinte violette */
  background:
    linear-gradient(135deg,
      rgba(255,255,255,var(--glass)),
      rgba(247,245,240, calc(var(--glass) - .10))
    );
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
          backdrop-filter: blur(14px) saturate(1.06);

  /* bord blanc “miroitant” très léger */
  border: 1px solid rgba(255,255,255,.55);
  border-top-color: rgba(238,232,255,.65);
  border-left-color: rgba(238,232,255,.55);

  box-shadow: 0 8px 26px rgba(26,22,51,.10);
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.elementor-widget-price-table.fq-price .elementor-price-table:hover{
  background:
    linear-gradient(135deg,
      rgba(255,255,255,var(--glassH)),
      rgba(247,245,240, calc(var(--glassH) - .10))
    );
  box-shadow: 0 12px 32px rgba(26,22,51,.12);
}

/* ---------- Header & Titre : pastille violette lisible ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__header{
  background:transparent !important;
  text-align:center; padding: 20px 18px 10px; position:relative; z-index:2;
}
.elementor-widget-price-table.fq-price .elementor-price-table__title,
.elementor-widget-price-table.fq-price .elementor-price-table__title *{
  background:none !important; -webkit-background-clip: initial !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; mix-blend-mode:normal !important;
  opacity:1 !important;
}
.elementor-widget-price-table.fq-price .elementor-price-table__title{
  display:inline-block; text-transform:uppercase; letter-spacing:.10em; font-weight:900;
  font-size: clamp(13px,1.2vw,16px); line-height:1.2;
  padding:8px 14px; border-radius:999px;
  background-image: linear-gradient(135deg, var(--accent) 0%, #7B62FF 60%);
  box-shadow: 0 6px 14px rgba(90,54,255,.22);
  border: 1px solid rgba(255,255,255,.28);
}

/* ---------- Bloc prix sobre ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__price{
  display:flex; align-items:flex-end; justify-content:center; gap:8px; padding-top:8px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__currency{
  font-weight:800; font-size: clamp(12px,1.1vw,16px); color:var(--ink); opacity:.9; transform:translateY(-6px);
}
.elementor-widget-price-table.fq-price .elementor-price-table__integer-part{
  font-weight:900; line-height:.9; letter-spacing:-.01em;
  font-size: clamp(38px,5.2vw,66px);
  color: transparent;
  background-image: linear-gradient(180deg, var(--ink) 0%, var(--accent) 80%);
  -webkit-background-clip:text; background-clip:text;
}
.elementor-widget-price-table.fq-price .elementor-price-table__fractional-part{
  font-weight:800; font-size: clamp(10px,1vw,14px); color:rgba(26,22,51,.78); transform:translateY(-6px);
}
.elementor-widget-price-table.fq-price .elementor-price-table__period{
  display:block; text-align:center; margin-top:6px; font-weight:700; color:rgba(26,22,51,.65); font-size:12px;
}

/* ---------- Features minimalistes ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__features-list{
  list-style:none; margin:8px 0 12px; padding:0 18px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__feature{
  display:flex; align-items:flex-start; gap:10px;
  padding:10px 0; border-bottom:1px solid rgba(26,22,51,.08);
  color:var(--ink); font-weight:600;
}
.elementor-widget-price-table.fq-price .elementor-price-table__feature:last-child{ border-bottom:0; }
.elementor-widget-price-table.fq-price .elementor-price-table__feature i,
.elementor-widget-price-table.fq-price .elementor-price-table__feature .elementor-price-table__icon{ display:none !important; }
.elementor-widget-price-table.fq-price .elementor-price-table__feature::before{
  content:""; flex:0 0 16px; height:16px; margin-top:3px; border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 48%, transparent 49% 100%),
    conic-gradient(from 0deg, var(--accent), #7B62FF);
  box-shadow: 0 1px 6px rgba(90,54,255,.18);
}

/* ---------- CTA violet + animation élégante ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__footer{
  margin-top:auto; padding: 0 18px 18px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  border-radius:999px; cursor:pointer;
  padding: 12px 20px;
  font-weight:900; letter-spacing:.02em; color:#fff !important;
  border: 1px solid rgba(255,255,255,.25);
  background-image: linear-gradient(135deg, var(--accent) 0%, #7B62FF 55%, #8A73FF 100%);
  background-size: 200% 100%; background-position: 0% 0%;
  box-shadow: 0 8px 18px rgba(90,54,255,.24);
  position:relative; overflow:hidden;
  transition: background-position .45s ease, box-shadow .3s ease, transform .2s ease;
}
/* Shine + léger “press-bounce” au hover */
.elementor-widget-price-table.fq-price .elementor-price-table__button::after{
  content:""; position:absolute; inset:-40% -10% auto -10%; height:200%;
  background: linear-gradient(110deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.45) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%) rotate(8deg);
  transition: transform .7s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button:hover{
  background-position: 100% 0%;
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 12px 24px rgba(90,54,255,.30);
}
.elementor-widget-price-table.fq-price .elementor-price-table__button:hover::after{
  transform: translateX(120%) rotate(8deg);
}

/* ---------- Ribbon clean ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__ribbon{
  position:absolute; top:14px; right:-48px; z-index:3;
  background: linear-gradient(135deg, var(--gold), #f7d895);
  color:#1A1633; font-weight:900; text-transform:uppercase; letter-spacing:.08em;
  padding:8px 60px; transform: rotate(34deg);
  box-shadow: 0 6px 16px rgba(244,199,117,.30);
  border:1px solid rgba(26,22,51,.06);
}

/* ---------- Responsive ---------- */
@media (max-width: 767px){
  .elementor-widget-price-table.fq-price{ padding:10px; }
  .elementor-widget-price-table.fq-price .elementor-price-table{ border-radius:22px; }
}

/* Accessibilité : animations réduites */
@media (prefers-reduced-motion: reduce){
  .elementor-widget-price-table.fq-price .elementor-price-table,
  .elementor-widget-price-table.fq-price .elementor-price-table__button{ transition:none; }
}


/* ===========================
   FIX ANGLES & CLIPPING
   =========================== */

/* 1) variables de géométrie */
.elementor-widget-price-table.fq-price{
  --radius: 24px;        /* rayon des coins */
  --padFix: 14px;        /* tampon autour du widget */
}

/* 2) wrapper : on donne du souffle et on autorise le clipping propre */
.elementor-widget-price-table.fq-price{
  padding: var(--padFix);
  /* IMPORTANT : on ne veut plus de halo ni de débordement hors widget */
  overflow: visible;
}
.elementor-widget-price-table.fq-price .elementor-widget-container{
  overflow: visible;
}

/* 3) la carte et tous ses calques héritent DU MÊME radius et sont CLIPPÉS */
.elementor-widget-price-table.fq-price .elementor-price-table{
  border-radius: var(--radius) !important;
  overflow: hidden;                             /* clip net des backgrounds internes */
  background-clip: padding-box;                 /* évite les artefacts sur la bordure */
  position: relative;
}
.elementor-widget-price-table.fq-price .elementor-price-table::before,
.elementor-widget-price-table.fq-price .elementor-price-table::after{
  border-radius: inherit !important;
  -webkit-clip-path: inset(0 round var(--radius));
          clip-path: inset(0 round var(--radius));
}

/* 4) Titre pastille violette : même radius logique (pilule) */
.elementor-widget-price-table.fq-price .elementor-price-table__title{
  border-radius: 999px;
}

/* 5) Footer + CTA : on évite que l’ombre touche le bord bas */
.elementor-widget-price-table.fq-price .elementor-price-table__footer{
  /* on ajoute une marge intérieure basse pour que l’ombre du bouton ne tape pas le bord */
  padding-bottom: calc(20px + var(--padFix)) !important;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button{
  /* ombre plus compacte pour ne pas “manger” l’angle bas */
  box-shadow: 0 8px 16px rgba(90,54,255,.22) !important;
}

/* 6) Carte : ombre externe adoucie et respect du rayon aux coins */
.elementor-widget-price-table.fq-price .elementor-price-table{
  box-shadow:
    0 2px 0 rgba(255,255,255,.65) inset,       /* liseré haut très léger */
    0 8px 26px rgba(26,22,51,.10);             /* ombre externe douce */
}

/* 7) (au cas où) neutraliser TOUT ancien halo résiduel sur le wrapper */
.elementor-widget-price-table.fq-price::before,
.elementor-widget-price-table.fq-price::after{ content:none !important; }

/* 8) Ribbon : pas de conflit de clipping dans l’angle haut droit */
.elementor-widget-price-table.fq-price .elementor-price-table__ribbon{
  transform-origin: center;
  will-change: transform;
}

/* 9) Responsive : garde les angles clean sur mobile */
@media (max-width: 767px){
  .elementor-widget-price-table.fq-price{ --radius: 20px; --padFix: 12px; }
}


/* =========================================================
   FrenchQuant — Price Table FINAL (Glass clean, no halo)
   Rendu optimisé pour : 4 chiffres, "custom", titres lisibles
   ========================================================= */
.elementor-widget-price-table.fq-price{
  --ink:#1A1633; --paper:#F7F5F0; --accent:#5A36FF; --soft:#EEE8FF; --gold:#F4C775;
  --radius:24px;
  --glass:.54;     /* opacité carte (↓ = plus translucide) */
  --glassH:.60;
  --ring: rgba(26,22,51,.08);  /* séparateurs features */
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  padding:14px;               /* souffle autour de la carte */
  overflow:visible;
}
.elementor-widget-price-table.fq-price .elementor-widget-container{ overflow:visible; }

/* ---------- Carte verre dépoli ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table{
  display:flex; flex-direction:column; height:100%;
  border-radius:var(--radius) !important;
  overflow:hidden; isolation:isolate; position:relative;
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glass)),
              rgba(247,245,240,calc(var(--glass) - .10)));
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
          backdrop-filter: blur(14px) saturate(1.06);
  border:1px solid rgba(255,255,255,.55);
  border-top-color:rgba(238,232,255,.65);
  border-left-color:rgba(238,232,255,.55);
  box-shadow: 0 8px 26px rgba(26,22,51,.10);
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.elementor-widget-price-table.fq-price .elementor-price-table:hover{
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glassH)),
              rgba(247,245,240,calc(var(--glassH) - .10)));
  box-shadow: 0 12px 32px rgba(26,22,51,.12);
}
/* kill tout halo/ribbon old */
.elementor-widget-price-table.fq-price::before,
.elementor-widget-price-table.fq-price::after,
.elementor-widget-price-table.fq-price .elementor-price-table::before,
.elementor-widget-price-table.fq-price .elementor-price-table::after{ content:none !important; }

/* ---------- Header + Titre (pastille violette lisible) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__header{
  background:transparent !important; text-align:center;
  padding: 22px 18px 12px; position:relative; z-index:2;
}
.elementor-widget-price-table.fq-price .elementor-price-table__title,
.elementor-widget-price-table.fq-price .elementor-price-table__title *{
  background:none !important; -webkit-background-clip:initial !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; opacity:1 !important;
  mix-blend-mode:normal !important;
}
.elementor-widget-price-table.fq-price .elementor-price-table__title{
  display:inline-block; text-transform:uppercase;
  letter-spacing:.08em; font-weight:900;
  font-size:clamp(14px,1.25vw,18px); line-height:1.2;
  padding:8px 16px; border-radius:999px;
  background-image: linear-gradient(135deg, var(--accent) 0%, #7B62FF 60%);
  border:1px solid rgba(255,255,255,.28);
  box-shadow: 0 6px 14px rgba(90,54,255,.22);
  max-width:92%; text-wrap:balance;
}

/* ---------- Bloc Prix (4 chiffres + € aligné) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__price{
  display:flex; align-items:flex-end; justify-content:center; gap:10px; padding-top:10px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__currency{
  font-weight:800; font-size:clamp(13px,1.1vw,16px); color:var(--ink); opacity:.9;
  transform: translateY(-6px);
}
.elementor-widget-price-table.fq-price .elementor-price-table__integer-part{
  font-weight:900; line-height:.9; letter-spacing:-.01em;
  font-size: clamp(48px,6vw,74px);     /* 4 chiffres OK */
  color:transparent; background-image: linear-gradient(180deg, var(--ink) 0%, var(--accent) 80%);
  -webkit-background-clip:text; background-clip:text;
}
.elementor-widget-price-table.fq-price .elementor-price-table__fractional-part{
  font-weight:800; font-size:clamp(11px,1vw,14px); color:rgba(26,22,51,.78);
  transform:translateY(-6px);
}
/* Variante mot long (“custom”) → ajoute la classe fq-price--longprice sur ce widget */
.elementor-widget-price-table.fq-price.fq-price--longprice .elementor-price-table__integer-part{
  font-size: clamp(42px,5.2vw,62px);
  letter-spacing:-.005em; word-break: break-word;
}

/* ---------- Période / sous-titre prix ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__period{
  display:block; text-align:center; margin-top:6px;
  font-weight:700; color:rgba(26,22,51,.65); font-size:12px;
}

/* ---------- Features (séparateurs fins + icône anneau) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__features-list{
  list-style:none; margin:10px 0 14px; padding:0 22px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__feature{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 0; border-bottom:1px solid var(--ring);
  color:var(--ink); font-weight:600;
}
.elementor-widget-price-table.fq-price .elementor-price-table__feature:last-child{ border-bottom:0; }
.elementor-widget-price-table.fq-price .elementor-price-table__feature i,
.elementor-widget-price-table.fq-price .elementor-price-table__feature .elementor-price-table__icon{ display:none !important; }
.elementor-widget-price-table.fq-price .elementor-price-table__feature::before{
  content:""; flex:0 0 16px; height:16px; margin-top:3px; border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 48%, transparent 49% 100%),
    conic-gradient(from 0deg, var(--accent), #7B62FF);
  box-shadow: 0 1px 6px rgba(90,54,255,.18);
}

/* ---------- CTA (gradient + shine + léger “press”) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__footer{
  margin-top:auto; padding:0 22px 24px;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  border-radius:999px; cursor:pointer;
  padding:12px 22px;
  font-weight:900; letter-spacing:.02em; color:#fff !important;
  border:1px solid rgba(255,255,255,.28);
  background-image: linear-gradient(135deg, var(--accent) 0%, #7B62FF 55%, #8A73FF 100%);
  background-size:200% 100%; background-position:0% 0%;
  box-shadow: 0 8px 18px rgba(90,54,255,.22);
  position:relative; overflow:hidden;
  transition: background-position .45s ease, box-shadow .25s ease, transform .16s ease;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button::after{
  content:""; position:absolute; inset:-40% -10% auto -10%; height:200%;
  background: linear-gradient(110deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.45) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%) rotate(8deg);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.elementor-widget-price-table.fq-price .elementor-price-table__button:hover{
  background-position:100% 0%;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(90,54,255,.28);
}
.elementor-widget-price-table.fq-price .elementor-price-table__button:active{
  transform: translateY(0); box-shadow: 0 8px 18px rgba(90,54,255,.22);
}
.elementor-widget-price-table.fq-price .elementor-price-table__button:hover::after{
  transform: translateX(120%) rotate(8deg);
}

/* ---------- Ribbon (PROPRE) ---------- */
.elementor-widget-price-table.fq-price .elementor-price-table__ribbon{
  position:absolute; top:14px; right:-48px; z-index:3;
  background: linear-gradient(135deg, var(--gold), #f7d895);
  color:#1A1633; font-weight:900; text-transform:uppercase; letter-spacing:.08em;
  padding:8px 60px; transform: rotate(34deg);
  box-shadow: 0 6px 16px rgba(244,199,117,.30);
  border:1px solid rgba(26,22,51,.06);
}

/* ---------- Plan vedette (milieu) ---------- */
.elementor-widget-price-table.fq-price.fq-price--prime .elementor-price-table{
  border-color: rgba(244,199,117,.25);
  box-shadow: 0 10px 30px rgba(26,22,51,.12);
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .elementor-widget-price-table.fq-price{ padding:12px; }
  .elementor-widget-price-table.fq-price .elementor-price-table__integer-part{ font-size: clamp(44px,6.4vw,70px); }
}
@media (max-width:767px){
  .elementor-widget-price-table.fq-price{ --radius:20px; padding:10px; }
  .elementor-widget-price-table.fq-price .elementor-price-table{ border-radius:var(--radius); }
  .elementor-widget-price-table.fq-price .elementor-price-table__button{ padding:12px 18px; }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce){
  .elementor-widget-price-table.fq-price .elementor-price-table,
  .elementor-widget-price-table.fq-price .elementor-price-table__button{ transition:none; }
}

/* =========================
   FAQ — titre, conteneur, accordéons
   Palette: #F7F5F0 #5A36FF #1A1633 #EEE8FF #F4C775
   Font: Open Sans
   ========================= */

/* ---------- Conteneur des 2 accordéons ---------- */
.faq-grid{
  --ink:#1A1633; --accent:#5A36FF; --soft:#EEE8FF; --gold:#F4C775;
  --glass:.46;         /* opacité des cartes FAQ */
  --glassH:.52;
  --radius:16px;
  gap: clamp(16px, 2.2vw, 28px);  /* espace entre les deux colonnes */
}

/* ---------- Titre “FAQ” (uniquement) ---------- */
.faq-title{
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  text-transform: uppercase;
  letter-spacing:.08em;
  font-weight:900;
  font-size: clamp(28px, 4vw, 56px);
  line-height:1.02;
  margin: 0 0 6px 0;
  color:#1A1633;
  position:relative;
  display:inline-block;
}
.faq-title::after{
  content:"";
  display:block;
  height:6px; width: clamp(90px,10vw,150px);
  margin-top:10px; border-radius:999px;
  background: linear-gradient(90deg, #5A36FF, #7B62FF 55%, #F4C775);
}
@media (max-width: 991px){
  .faq-title{ text-align:center; }
  .faq-title::after{ margin-inline:auto; }
}

/* ---------- Accordéons (appliquer `fq-faq` sur CHAQUE widget) ---------- */
.fq-faq{ --glass:.44; --glassH:.50; --radius:16px; --ink:#1A1633; --accent:#5A36FF; }

/* reset bordures natives */
.fq-faq .elementor-accordion{ border:0; }

/* carte d’item (verre dépoli doux) */
.fq-faq .elementor-accordion-item{
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glass)),
              rgba(247,245,240, calc(var(--glass) - .06)));
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
          backdrop-filter: blur(10px) saturate(1.05);
  border:1px solid rgba(238,232,255,.75);
  border-radius: var(--radius);
  box-shadow: 0 6px 18px rgba(26,22,51,.08);
  overflow:hidden;
  margin-bottom: clamp(10px,1.6vw,14px);
  transition: box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.fq-faq .elementor-accordion-item:hover{
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glassH)),
              rgba(247,245,240, calc(var(--glassH) - .06)));
  border-color: rgba(110,68,255,.28);
  box-shadow: 0 10px 24px rgba(26,22,51,.12);
}

/* en-tête de l’item (ligne cliquable) */
.fq-faq .elementor-tab-title{
  position:relative;
  padding: 16px 56px 16px 18px !important;
  border:none; background:transparent;
  line-height:1.25; cursor:pointer;
}
.fq-faq .elementor-tab-title .elementor-accordion-title{
  font-weight:800; font-size: clamp(14px,1.1vw,16px);
  color: var(--ink); text-decoration:none;
}

/* filet vertical à gauche (accent) */
.fq-faq .elementor-tab-title::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background: linear-gradient(180deg, #5A36FF, #7B62FF);
  opacity:.55; transition: width .2s ease, opacity .2s ease;
}
.fq-faq .elementor-tab-title.elementor-active::before{ width:6px; opacity:.9; }

/* remplace l’icône par une pastille +/– */
.fq-faq .elementor-accordion-icon{ display:none !important; }
.fq-faq .elementor-tab-title::after{
  content:"+"; position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; display:grid; place-items:center;
  border-radius:50%;
  background: rgba(238,232,255,.9);
  border:1px solid rgba(110,68,255,.25);
  font-weight:900; color:#5A36FF;
  transition: all .25s ease; box-shadow: 0 2px 8px rgba(26,22,51,.08) inset;
}
.fq-faq .elementor-tab-title.elementor-active::after{
  content:"–";
  background: linear-gradient(135deg, #5A36FF, #7B62FF);
  color:#fff; border-color: transparent;
  box-shadow: 0 6px 14px rgba(90,54,255,.25);
}

/* contenu */
.fq-faq .elementor-tab-content{
  padding: 0 18px 16px 18px !important;
  border-top:1px solid rgba(26,22,51,.10);
  color: rgba(26,22,51,.85);
  font-weight:600;
}
.fq-faq .elementor-tab-title.elementor-active + .elementor-tab-content{
  animation: fqFaqFade .25s ease both;
}
.fq-faq .elementor-tab-content a{ color:#5A36FF; font-weight:700; text-decoration:none; }
.fq-faq .elementor-tab-content a:hover{ text-decoration:underline; }

/* focus clavier accessible */
.fq-faq .elementor-tab-title:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(238,232,255,.9), 0 0 0 6px rgba(90,54,255,.35) inset;
  border-radius: var(--radius);
}

@keyframes fqFaqFade{
  from{ opacity:0; transform: translateY(-2px); }
  to{ opacity:1; transform: translateY(0); }
}

/* responsive : juste micro-ajustements */
@media (max-width: 991px){
  .fq-faq .elementor-tab-title{ padding: 14px 50px 14px 16px !important; }
  .fq-faq .elementor-tab-title::after{ right:10px; width:30px; height:30px; }
}

/* ===============================
   FAQ — Conteneur glass + items
   Palette: #F7F5F0 #5A36FF #1A1633 #EEE8FF #F4C775
   Font: Open Sans
   =============================== */

/* -------- Conteneur qui englobe les 2 accordéons -------- */
.faq-shell{
  --ink:#1A1633; --accent:#5A36FF; --soft:#EEE8FF; --gold:#F4C775;
  --glass:.44;          /* ↓ = plus translucide (0.36–0.56) */
  --glassH:.50;
  --radius:22px;

  border-radius: var(--radius);
  padding: clamp(18px,2.4vw,32px);
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glass)),
              rgba(247,245,240, calc(var(--glass) - .08)));
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
          backdrop-filter: blur(12px) saturate(1.05);
  border: 1px solid rgba(238,232,255,.75);
  box-shadow: 0 10px 28px rgba(26,22,51,.08);
}
.faq-shell:hover{
  background: linear-gradient(135deg,
              rgba(255,255,255,var(--glassH)),
              rgba(247,245,240, calc(var(--glassH) - .08)));
}

/* respiration entre colonnes et items (sans toucher le layout Elementor) */
.faq-shell .elementor-container,
.faq-shell .e-con{ row-gap: clamp(16px,2vw,24px); column-gap: clamp(20px,2.6vw,36px); }

/* -------- Accordéons (applique la classe `fq-faq` sur CHACUN) -------- */
.fq-faq{ --radius:14px; --ink:#1A1633; --accent:#5A36FF; }

/* reset/neutralisation des styles natifs */
.fq-faq .elementor-accordion{ border:0; background:transparent; }

/* carte d’item : fond translucide léger, bords doux */
.fq-faq .elementor-accordion-item{
  border:1px solid rgba(238,232,255,.75);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 6px 18px rgba(26,22,51,.06);
  margin-bottom: clamp(10px,1.6vw,14px);
}

/* en-tête (ligne cliquable) */
.fq-faq .elementor-tab-title{
  position:relative;
  padding: 14px 56px 14px 16px !important;
  background: rgba(255,255,255,.62);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  border: 0;
  line-height:1.25; cursor:pointer;
}
.fq-faq .elementor-tab-title .elementor-accordion-title{
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight:800; font-size: clamp(14px,1.1vw,16px);
  color: var(--ink); text-decoration:none;
}

/* filet accent à gauche (s’élargit quand actif) */
.fq-faq .elementor-tab-title::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background: linear-gradient(180deg, #5A36FF, #7B62FF);
  opacity:.55; transition: width .2s ease, opacity .2s ease;
}
.fq-faq .elementor-tab-title.elementor-active::before{ width:6px; opacity:.9; }

/* remplace l’icône par une pastille + / – */
.fq-faq .elementor-accordion-icon{ display:none !important; }
.fq-faq .elementor-tab-title::after{
  content:"+"; position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; display:grid; place-items:center;
  border-radius:50%;
  background: rgba(238,232,255,.92);
  border:1px solid rgba(110,68,255,.25);
  font-weight:900; color:#5A36FF;
  transition: all .25s ease; box-shadow: 0 2px 8px rgba(26,22,51,.08) inset;
}
.fq-faq .elementor-tab-title.elementor-active::after{
  content:"–";
  background: linear-gradient(135deg, #5A36FF, #7B62FF);
  color:#fff; border-color: transparent;
  box-shadow: 0 6px 14px rgba(90,54,255,.22);
}

/* contenu */
.fq-faq .elementor-tab-content{
  padding: 0 16px 14px 16px !important;
  background: rgba(255,255,255,.55);
  border-top:1px solid rgba(26,22,51,.10);
  color: rgba(26,22,51,.85);
  font-weight:600;
}
.fq-faq .elementor-tab-title.elementor-active + .elementor-tab-content{
  animation: fqFaqFade .22s ease both;
}
@keyframes fqFaqFade{
  from{ opacity:0; transform: translateY(-2px); }
  to{ opacity:1; transform: translateY(0); }
}

/* focus clavier accessible */
.fq-faq .elementor-tab-title:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(238,232,255,.9), 0 0 0 6px rgba(90,54,255,.35) inset;
  border-radius: var(--radius);
}

/* responsive : micro-ajustements */
@media (max-width: 991px){
  .fq-faq .elementor-tab-title{ padding: 12px 50px 12px 14px !important; }
  .fq-faq .elementor-tab-title::after{ right:10px; width:30px; height:30px; }
}


/* =========================
   CONTACT — titre + icônes
   Palette: #F7F5F0 #5A36FF #1A1633 #EEE8FF #F4C775
   Font: Open Sans
   ========================= */

/* --- Zone --- */
.contact-zone{
  --ink:#1A1633; --accent:#5A36FF; --gold:#F4C775; --soft:#EEE8FF;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap: clamp(14px, 2.2vw, 20px);
  padding-block: clamp(18px, 3vw, 32px);
  font-family:'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* --- Titre visible (pas fade) --- */
.contact-title{
  margin:0;
  font-weight:900;
  letter-spacing:.02em;
  font-size: clamp(26px, 3.2vw, 40px);
  line-height:1.08;
  color: var(--ink);
  text-wrap: balance;
  position: relative;
}
.contact-title::after{
  content:"";
  display:block;
  height:8px; width: clamp(140px, 22vw, 220px);
  margin: 12px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), #7B62FF 55%, var(--gold));
  box-shadow: 0 2px 8px rgba(90,54,255,.22);
}

/* =========================
   Icônes sociales – cadrage parfait
   ========================= */
.contact-socials{
  --size: 58px;      /* 52–64 selon goût */
  --radius: 16px;    /* 12–18 */
  --gap: 14px;
}
.contact-socials .elementor-social-icons{
  display:flex; flex-wrap:wrap; gap: var(--gap);
  justify-content:center; align-items:center;
  margin-top: 2px;
}

/* Reset des styles Elementor (couleurs de marque, opacités, etc.) */
.contact-socials .elementor-social-icon{
  background: none !important;
  background-color: rgba(255,255,255,.88) !important;  /* glass clair, très lisible */
  -webkit-backdrop-filter: blur(10px) saturate(1.04);
          backdrop-filter: blur(10px) saturate(1.04);
  border: 1px solid rgba(238,232,255,.95);
  box-shadow: 0 10px 24px rgba(26,22,51,.10), inset 0 1px 0 rgba(255,255,255,.65);
  color: #1A1633 !important;
  opacity: 1 !important; filter: none !important;

  width: var(--size); height: var(--size);
  border-radius: var(--radius);
  display:flex; align-items:center; justify-content:center;
  line-height: 1;               /* corrige le centrage vertical */
  transition: transform .18s ease, box-shadow .25s ease,
              background .25s ease, color .2s ease, border-color .25s ease;
  overflow:hidden;
}

/* Taille icône uniforme (font ou SVG) */
.contact-socials .elementor-social-icon i{ font-size: 22px; line-height:1; }
.contact-socials .elementor-social-icon svg{
  width: 24px; height: 24px; fill: currentColor;
}

/* Hover : gradient violet du site + texte blanc, bien contrasté */
.contact-socials .elementor-social-icon:hover{
  background-image: linear-gradient(135deg, #5A36FF 0%, #7B62FF 55%, #8A73FF 100%) !important;
  color:#fff !important;
  border-color: rgba(244,199,117,.35);
  box-shadow: 0 14px 28px rgba(90,54,255,.28), 0 0 0 3px rgba(244,199,117,.14) inset;
  transform: translateY(-2px);
}

/* État actif (clic) – évite le “saut” moche */
.contact-socials .elementor-social-icon:active{
  transform: translateY(0);
  box-shadow: 0 10px 20px rgba(90,54,255,.24), inset 0 0 0 2px rgba(255,255,255,.25);
}

/* Focus clavier accessible */
.contact-socials .elementor-social-icon:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px var(--soft), 0 0 0 6px rgba(90,54,255,.35);
}

/* Option : couleurs de marque au hover
   -> ajoute aussi la classe `contact-socials--brands` au widget si tu préfères */
.contact-socials.contact-socials--brands .elementor-social-icon-facebook:hover{ background:#1877F2 !important; }
.contact-socials.contact-socials--brands .elementor-social-icon-twitter:hover{ background:#1DA1F2 !important; }
.contact-socials.contact-socials--brands .elementor-social-icon-youtube:hover{ background:#FF0000 !important; }
.contact-socials.contact-socials--brands .elementor-social-icon-linkedin:hover{ background:#0A66C2 !important; }
.contact-socials.contact-socials--brands .elementor-social-icon-tiktok:hover{ background:#000000 !important; }
.contact-socials.contact-socials--brands .elementor-social-icon-instagram:hover{
  background: radial-gradient(45% 60% at 30% 30%, #ffdc80, transparent 60%),
              linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af 80%, #515bd4 100%) !important;
}
.contact-socials.contact-socials--brands .elementor-social-icon:hover{
  color:#fff !important; border-color: rgba(255,255,255,.28);
}

/* Responsive – resserre légèrement */
@media (max-width: 767px){
  .contact-socials/* End custom CSS */