/* ==========================================================================
   THEME "SOIE VIOLETTE" — gris / violet / noir / blanc, pastel, apaisant
   Fichier complet à placer dans le CSS PGM du thème enfant.
   Classes Elementor : voir le bloc INSCRIPTION RESPONSIVE en fin de fichier.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Mulish:wght@300;400;500;600;700&display=swap');

.clv-theme-pgm {
  --clv-violet: #5B3F95;
  --clv-violet-texte: #5E4592;
  --clv-violet-nuit: #24164F;
  --clv-accent: #6B4FD8;
  --clv-warm: #E8762C;
  --clv-bg: #F6F4F9;
}

:root{
  /* --- palette --- */
  --sv-white:        #F8F6FB;   /* blanc chaud, presque nacré */
  --sv-pastel-lilac: #E4DAF3;   /* violet pastel très clair */
  --sv-lilac:        #C9B7E8;   /* violet pastel */
  --sv-violet:        #9C86C4;  /* violet moyen (accent) */
  --sv-violet-deep:   #6E5A94;  /* violet profond (hover/actif) */
  --sv-gray:          #B9B5C4;  /* gris pastel violacé */
  --sv-gray-soft:      #DCDAE3; /* gris très clair, bordures */
  --sv-charcoal:       #2A2432; /* noir doux à teinte violette (texte, fonds sombres) */
  --sv-ink:            #34303C; /* --- rôles --- */
  --sv-bg:        var(--sv-white);
  --sv-surface:   rgba(255,255,255,0.55);   /* panneaux "verre dépoli" */
  --sv-border:    rgba(255,255,255,0.6);
  --sv-shadow:    0 20px 60px -20px rgba(66, 44, 90, 0.35);
  --sv-radius-sm: 10px;
  --sv-radius-md: 18px;
  --sv-radius-pill: 999px;
  --sv-font-display: 'Cormorant Garamond', serif;
  --sv-font-body: 'Mulish', sans-serif;
}

/* ==========================================================================
   FOND — brume violette floutée (sans dépendance à une image)
   Astuce : pour utiliser votre propre photo (soie violette), ajoutez-la à la
   médiathèque WordPress puis remplacez l'URL dans .sv-bg-photo ci-dessous.
   ========================================================================== */

.sv-bg-blur{
  position:relative;
  background-color: var(--sv-bg);
  overflow:hidden;
}
.sv-bg-blur::before{
  content:"";
  position:absolute; inset:-10%;
  background:
    radial-gradient(38% 45% at 22% 28%, rgba(228,218,243,0.9), transparent 70%),
    radial-gradient(45% 50% at 78% 20%, rgba(201,183,232,0.8), transparent 70%),
    radial-gradient(50% 55% at 65% 80%, rgba(110,90,148,0.55), transparent 70%),
    radial-gradient(40% 45% at 15% 85%, rgba(185,181,196,0.7), transparent 70%),
    linear-gradient(160deg, #F8F6FB 0%, #ECE6F5 55%, #E4DAF3 100%);
  filter: blur(60px);
  z-index:0;
}
.sv-bg-blur > *{ position:relative; z-index:1; }

/* variante avec votre photo (soie violette) en fond flouté */
.sv-bg-photo{
  position:relative;
  overflow:hidden;
}
.sv-bg-photo::before{
  content:"";
  position:absolute; inset:-6%;
  background-image: url('https://clarvia-academy.com/wp-content/uploads/2026/09/violet-silk-bg.png');
  background-size:cover;
  background-position:center;
  filter: blur(38px) saturate(0.9) brightness(1.02);
  transform:scale(1.08);
  z-index:0;
}
.sv-bg-photo::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(248,246,251,0.55);
  z-index:0;
}
.sv-bg-photo > *{ position:relative; z-index:1; }

/* ==========================================================================
   TYPOGRAPHIE
   ========================================================================== */

.sv-h1, .sv-h2, .sv-h3{
  font-family: var(--sv-font-display);
  color: var(--sv-charcoal);
  font-weight:500;
  letter-spacing:0.01em;
  margin:0 0 14px;
}
.sv-h1{ font-size:clamp(2.1rem, 4vw, 3rem); font-weight:600; }
.sv-h2{ font-size:clamp(1.5rem, 2.6vw, 2rem); }
.sv-h3{ font-size:1.2rem; }

.sv-text{
  font-family: var(--sv-font-body);
  color: var(--sv-ink);
  font-weight:400;
  line-height:1.65;
}
.sv-text-muted{ color:#6E677A; }

/* ==========================================================================
   BOUTONS
   ========================================================================== */

.sv-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  font-family: var(--sv-font-body);
  font-size:0.95rem; font-weight:500;
  padding:14px 30px;
  border-radius: var(--sv-radius-pill);
  border:1px solid transparent;
  cursor:pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  text-decoration:none;
}
.sv-btn:active{ transform: translateY(1px); }

.sv-btn-primary{
  background: linear-gradient(135deg, var(--sv-violet), var(--sv-violet-deep));
  color: var(--sv-white);
  box-shadow: 0 12px 28px -12px rgba(110,90,148,0.55);
}
.sv-btn-primary:hover{
  box-shadow: 0 16px 34px -12px rgba(110,90,148,0.7);
  transform: translateY(-1px);
}

.sv-btn-secondary{
  background: rgba(255,255,255,0.6);
  color: var(--sv-violet-deep);
  border-color: var(--sv-lilac);
  backdrop-filter: blur(6px);
}
.sv-btn-secondary:hover{ background: rgba(255,255,255,0.85); }

.sv-btn-ghost{
  background:transparent;
  color: var(--sv-ink);
  border-color: var(--sv-gray-soft);
}
.sv-btn-ghost:hover{ border-color: var(--sv-violet); color:var(--sv-violet-deep); }

.sv-btn[disabled]{
  opacity:0.45; cursor:not-allowed; box-shadow:none; transform:none;
}

/* ==========================================================================
   CHAMPS DE FORMULAIRE
   ========================================================================== */

.sv-field{ margin-bottom:20px; }
.sv-label{
  display:block;
  font-family: var(--sv-font-body);
  font-size:0.85rem;
  color: var(--sv-ink);
  margin-bottom:8px;
  font-weight:500;
}

.sv-input, .sv-textarea, .sv-select{
  width:100%;
  font-family: var(--sv-font-body);
  font-size:0.95rem;
  color: var(--sv-ink);
  background: rgba(255,255,255,0.65);
  border:1px solid var(--sv-gray-soft);
  border-radius: var(--sv-radius-sm);
  padding:13px 16px;
  outline:none;
  backdrop-filter: blur(4px);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.sv-textarea{ min-height:120px; resize:vertical; }

.sv-input:focus, .sv-textarea:focus, .sv-select:focus{
  border-color: var(--sv-violet);
  background: rgba(255,255,255,0.9);
  box-shadow: 0 0 0 4px rgba(156,134,196,0.18);
}
.sv-input::placeholder, .sv-textarea::placeholder{ color:#9C97A8; }

/* case à cocher / radio */
.sv-check-row{
  display:flex; align-items:center; gap:10px;
  font-family: var(--sv-font-body);
  font-size:0.92rem;
  color: var(--sv-ink);
  margin-bottom:10px;
}
.sv-check-row input[type="checkbox"],
.sv-check-row input[type="radio"]{
  width:18px; height:18px;
  accent-color: var(--sv-violet-deep);
}

/* --------------------------------------------------------------------------
   CARTES DE SÉLECTION (remplace les radios classiques)
   Structure attendue :
   <div class="sv-choice">
     <input type="radio" name="grp" class="sv-choice-input" id="c1" checked>
     <label for="c1" class="sv-choice-card">
       <span class="sv-choice-title">Titre</span>
       <span class="sv-choice-sub">Sous-titre</span>
     </label>
   </div>
   -------------------------------------------------------------------------- */

.sv-choice-group{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
}

.sv-choice{ position:relative; }
.sv-choice-input{
  position:absolute;
  opacity:0;
  width:0; height:0;
  pointer-events:none;
}

.sv-choice-card{
  display:block;
  padding:18px 16px;
  background: var(--sv-white);
  border:1.5px solid var(--sv-gray-soft);
  border-radius:14px;
  cursor:pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.sv-choice-card:hover{ border-color: var(--sv-gray); }

.sv-choice-title{
  display:block;
  font-family: var(--sv-font-body);
  font-size:0.95rem;
  font-weight:600;
  color: var(--sv-charcoal);
}
.sv-choice-sub{
  display:block;
  font-family: var(--sv-font-body);
  font-size:0.82rem;
  color:#8B859A;
  margin-top:4px;
}

/* état sélectionné : juste la bordure qui change de couleur */
.sv-choice-input:checked + .sv-choice-card{
  border-color: var(--sv-violet);
  border-width:2px;
  padding:17px 15px; /* compense le +0.5px de bordure pour éviter un saut de taille */
}
.sv-choice-input:focus-visible + .sv-choice-card{
  outline:2px solid var(--sv-violet);
  outline-offset:2px;
}

/* interrupteur / toggle */
.sv-toggle{
  position:relative;
  width:46px; height:26px;
  display:inline-block;
}
.sv-toggle input{ opacity:0; width:0; height:0; }
.sv-toggle .sv-toggle-track{
  position:absolute; inset:0;
  background: var(--sv-gray-soft);
  border-radius:999px;
  transition: background 0.2s ease;
  cursor:pointer;
}
.sv-toggle .sv-toggle-track::before{
  content:"";
  position:absolute; top:3px; left:3px;
  width:20px; height:20px; border-radius:50%;
  background: var(--sv-white);
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform 0.2s ease;
}
.sv-toggle input:checked + .sv-toggle-track{ background: var(--sv-violet); }
.sv-toggle input:checked + .sv-toggle-track::before{ transform: translateX(20px); }

/* ==========================================================================
   BLOCS / CARTES ("BAC" DE CONTENU)
   ========================================================================== */

.sv-block{
  background: var(--sv-surface);
  border:1px solid var(--sv-border);
  border-radius: var(--sv-radius-md);
  padding:32px;
  backdrop-filter: blur(14px);
  box-shadow: var(--sv-shadow);
}

.sv-block-flat{
  background: rgba(255,255,255,0.35);
  border:1px solid rgba(255,255,255,0.5);
  border-radius: var(--sv-radius-sm);
  padding:24px;
  backdrop-filter: blur(10px);
}

.sv-block-dark{
  background: linear-gradient(160deg, var(--sv-charcoal), #3C3448);
  color: var(--sv-white);
  border-radius: var(--sv-radius-md);
  padding:32px;
}
.sv-block-dark .sv-h2, .sv-block-dark .sv-h3{ color: var(--sv-white); }
.sv-block-dark .sv-text{ color: rgba(248,246,251,0.82); }

.sv-divider{
  height:1px;
  background: linear-gradient(90deg, transparent, var(--sv-gray-soft), transparent);
  margin:28px 0;
  border:none;
}

/* Tablette */
@media (max-width:1024px){
  .sv-block, .sv-block-dark{ padding:26px; }
}

/* Mobile */
@media (max-width:600px){
  .sv-h1{ font-size:1.9rem; }
  .sv-h2{ font-size:1.3rem; }

  .sv-block, .sv-block-dark, .sv-block-flat{ padding:20px; border-radius: var(--sv-radius-sm); }

  .sv-btn{ width:100%; padding:14px 20px; }
  .sv-row .sv-btn{ width:auto; flex:1 1 auto; }

  .sv-input, .sv-textarea, .sv-select{ padding:12px 14px; font-size:0.92rem; }
}

/* Zone utilisant ce thème */
.sv-theme,
.sv-theme *,
.sv-theme *::before,
.sv-theme *::after {
  box-sizing: border-box;
}

/* TITRES ELEMENTOR */
.sv-theme :is(.sv-el-h1, .sv-el-h2, .sv-el-h3)
.elementor-heading-title {
  font-family: var(--sv-font-display) !important;
  color: var(--sv-charcoal) !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.sv-theme .sv-el-h1 .elementor-heading-title {
  font-size: clamp(2.1rem, 4vw, 3rem) !important;
  font-weight: 600 !important;
}

.sv-theme .sv-el-h2 .elementor-heading-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem) !important;
}

.sv-theme .sv-el-h3 .elementor-heading-title {
  font-size: 1.2rem !important;
}

/* TEXTE ELEMENTOR */
.sv-theme .sv-el-text,
.sv-theme .sv-el-text p {
  font-family: var(--sv-font-body) !important;
  color: var(--sv-ink) !important;
  font-weight: 400;
  line-height: 1.65;
}

/* BOUTONS ELEMENTOR + ENVOI FORMINATOR */
.sv-theme .sv-el-btn .elementor-button,
.sv-theme .forminator-ui .forminator-button-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--sv-font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.4;
  padding: 14px 30px !important;
  border: 1px solid transparent !important;
  border-radius: var(--sv-radius-pill) !important;
  background: linear-gradient(
    135deg,
    var(--sv-violet),
    var(--sv-violet-deep)
  ) !important;
  color: var(--sv-white) !important;
  box-shadow: 0 12px 28px -12px rgba(110,90,148,0.55) !important;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sv-theme .sv-el-btn .elementor-button:hover,
.sv-theme .forminator-ui .forminator-button-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px -12px rgba(110,90,148,0.7) !important;
}

/* Variante secondaire */
.sv-theme .sv-el-btn-secondary .elementor-button {
  background: rgba(255,255,255,0.6) !important;
  color: var(--sv-violet-deep) !important;
  border-color: var(--sv-lilac) !important;
  box-shadow: none !important;
}

.sv-theme .sv-el-btn-secondary .elementor-button:hover {
  background: rgba(255,255,255,0.85) !important;
}

/* Variante transparente */
.sv-theme .sv-el-btn-ghost .elementor-button {
  background: transparent !important;
  color: var(--sv-ink) !important;
  border-color: var(--sv-gray-soft) !important;
  box-shadow: none !important;
}

.sv-theme .sv-el-btn-ghost .elementor-button:hover {
  color: var(--sv-violet-deep) !important;
  border-color: var(--sv-violet) !important;
}

/* Focus clavier */
.sv-theme .sv-el-btn .elementor-button:focus-visible,
.sv-theme .forminator-ui .forminator-button-submit:focus-visible {
  outline: 2px solid var(--sv-violet-deep);
  outline-offset: 3px;
}

.sv-theme .forminator-ui .forminator-button-submit:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none !important;
}

/* CHAMPS FORMINATOR */
.sv-theme .forminator-ui .forminator-label {
  display: block;
  font-family: var(--sv-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--sv-ink) !important;
  margin-bottom: 8px !important;
}

.sv-theme .forminator-ui :is(
  .forminator-input,
  .forminator-textarea,
  select.forminator-select,
  .select2-selection
) {
  width: 100%;
  font-family: var(--sv-font-body) !important;
  font-size: 0.95rem !important;
  color: var(--sv-ink) !important;
  background: rgba(255,255,255,0.65) !important;
  border: 1px solid var(--sv-gray-soft) !important;
  border-radius: var(--sv-radius-sm) !important;
}

/* Espacement des champs ordinaires */
.sv-theme .forminator-ui :is(
  .forminator-input:not(.forminator-field--phone),
  .forminator-textarea,
  select.forminator-select
) {
  padding: 13px 16px !important;
}

/* Téléphone : laisser le plugin gérer la place du drapeau */
.sv-theme .forminator-ui .forminator-field--phone {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}
/* Permettre à l’en-tête de suivre le défilement */
.elementor .e-con.pgm-page {
  overflow: clip !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 40px !important;
  --content-width: 100%;
}

.elementor .pgm-page > .e-con-inner {
  overflow: visible !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* En-tête maintenu en haut */
.elementor .e-con.pgm-header {
  position: sticky !important;
  top: 0;
  z-index: 100;
  align-self: stretch;
  background: rgba(248, 246, 251, .96) !important;
  backdrop-filter: blur(10px);
  --display: flex;
  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: center;
  --justify-content: space-between;
  --gap: 16px;
  --width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100% !important;
  min-height: 0;
  margin: 0 !important;
  padding: 20px 24px 20px 24px !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: none !important;
}

/* Décalage lorsque la barre d’administration est visible */
body.admin-bar .elementor .e-con.pgm-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .elementor .e-con.pgm-header {
    top: 46px;
  }
}

@media (max-width: 600px) {
  body.admin-bar .elementor .e-con.pgm-header {
    top: 0;
  }
}

/* Messages sous les champs invalides */
#forminator-module-2316 .forminator-error-message {
  background: transparent !important;
  color: #B42318 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 0 0 !important;
}

/* Message général d’erreur */
#forminator-module-2316
.forminator-response-message.forminator-error {
  background: transparent !important;
  color: #B42318 !important;
  border: 0 !important;
  box-shadow: none !important;
}

#forminator-module-2316
.forminator-response-message.forminator-error p {
  color: #B42318 !important;
}
/* Confirmation : fond lilas, texte violet sombre */
#forminator-module-2316
.forminator-response-message.forminator-success {
  background: #F0EBF7 !important;
  color: #4E3D68 !important;
  border: 1px solid #C9B7E8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}

#forminator-module-2316
.forminator-response-message.forminator-success p {
  color: #4E3D68 !important;
  margin: 0 !important;
}

.sv-theme .forminator-ui .forminator-textarea {
  min-height: 120px;
  resize: vertical;
}

.sv-theme .forminator-ui :is(
  .forminator-input,
  .forminator-textarea,
  select.forminator-select
):focus {
  outline: none;
  border-color: var(--sv-violet) !important;
  background: rgba(255,255,255,0.9) !important;
  box-shadow: 0 0 0 4px rgba(156,134,196,0.18) !important;
}

.sv-theme .forminator-ui :is(
  .forminator-input,
  .forminator-textarea
)::placeholder {
  color: #9C97A8 !important;
}

/* OPTIONS RADIO : cartes espacées */
.sv-theme .forminator-ui label.forminator-radio {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 14px !important;
  padding: 18px 16px !important;
  background: var(--sv-white) !important;
  border: 2px solid var(--sv-gray-soft) !important;
  border-radius: 14px;
  cursor: pointer;
}

.sv-theme .forminator-ui label.forminator-radio:hover {
  border-color: var(--sv-gray) !important;
}

.sv-theme .forminator-ui
label.forminator-radio:has(input:checked) {
  border-color: var(--sv-violet) !important;
}

.sv-theme .forminator-ui
label.forminator-radio:has(input:focus-visible) {
  outline: 2px solid var(--sv-violet-deep);
  outline-offset: 3px;
}

.sv-theme .forminator-ui :is(
  .forminator-radio-label,
  .forminator-checkbox-label
) {
  font-family: var(--sv-font-body) !important;
  font-size: 0.92rem !important;
  color: var(--sv-ink) !important;
}

.sv-theme .forminator-ui .forminator-radio-bullet {
  flex-shrink: 0;
  border-color: var(--sv-violet-deep) !important;
}

.sv-theme .forminator-ui
input:checked + .forminator-radio-bullet::before {
  background-color: var(--sv-violet-deep) !important;
}

/* Texte dans les cartes sombres */
.sv-theme .sv-block-dark
:is(.sv-el-h1, .sv-el-h2, .sv-el-h3)
.elementor-heading-title {
  color: var(--sv-white) !important;
}

.sv-theme .sv-block-dark .sv-el-text,
.sv-theme .sv-block-dark .sv-el-text p {
  color: rgba(248,246,251,0.82) !important;
}

/* MOBILE */
@media (max-width: 600px) {
  .sv-theme .sv-el-h1 .elementor-heading-title {
    font-size: 1.9rem !important;
  }

  .sv-theme .sv-el-h2 .elementor-heading-title {
    font-size: 1.3rem !important;
  }

  .sv-theme .sv-el-btn .elementor-button,
  .sv-theme .forminator-ui .forminator-button-submit {
    width: 100%;
    padding: 14px 20px !important;
  }
}
/* ==========================================================
   PGM — CARTES DES MÉTHODES DE PAIEMENT
   Formulaire 2316, champ radio-1.
   Quatre colonnes au-delà de 600 px ; une colonne sur mobile.
   Valeurs conservées pour les redirections Forminator.
   ========================================================== */

#forminator-module-2316 #radio-1 > .forminator-field {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px !important;
}

#forminator-module-2316 #radio-1 > .forminator-field
> :not(label.forminator-radio) {
  grid-column: 1 / -1;
}

#forminator-module-2316 #radio-1 label.forminator-radio {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0;
  min-height: 110px;
  margin: 0 !important;
  padding: 16px 10px !important;
  box-sizing: border-box;
  background: var(--sv-white, #F8F6FB) !important;
  border: 2px solid var(--sv-gray-soft, #DCDAE3) !important;
  border-radius: 14px;
  text-align: center;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}

/* Le contrôle reste accessible au clavier et fonctionnel. */
#forminator-module-2316 #radio-1 .forminator-radio-bullet {
  display: none !important;
}

#forminator-module-2316 #radio-1 input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
}

#forminator-module-2316 #radio-1 .forminator-radio-label {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: center;
  overflow-wrap: anywhere;
}

/* Icônes de paiement : police Bootstrap Icons. */
#forminator-module-2316 #radio-1 label.forminator-radio::before {
  content: "";
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  font-size: 20px !important;
  line-height: 1 !important;
  flex: 0 0 20px;
  font-family: "PGM Bootstrap Icons" !important;
  font-style: normal;
  font-weight: normal !important;
  text-align: center;
  color: var(--sv-violet-deep, #6E5A94);
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* BaridiMob */
#forminator-module-2316 #radio-1
label:has(input[value="one"])::before {
  content: "\f4e7" !important;
}

/* Versement CCP */
#forminator-module-2316 #radio-1
label:has(input[value="two"])::before {
  content: "\f246" !important;
}

/* Virement bancaire */
#forminator-module-2316 #radio-1
label:has(input[value="BANQUE"])::before {
  content: "\f62e" !important;
}

/* Autre / contact WhatsApp */
#forminator-module-2316 #radio-1
label:has(input[value="Contact-nous-via-Whatsapp"])::before {
  content: "\f618" !important;
}

#forminator-module-2316 #radio-1 label.forminator-radio:hover {
  border-color: var(--sv-violet, #9C86C4) !important;
}

#forminator-module-2316 #radio-1
label.forminator-radio:has(input:checked) {
  border-color: var(--sv-violet-deep, #6E5A94) !important;
  background: var(--sv-pastel-lilac, #E4DAF3) !important;
}

#forminator-module-2316 #radio-1
label.forminator-radio:has(input:focus-visible) {
  outline: 2px solid var(--sv-violet-deep, #6E5A94);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  #forminator-module-2316 #radio-1 > .forminator-field {
    grid-template-columns: 1fr;
  }

  #forminator-module-2316 #radio-1 label.forminator-radio {
    flex-direction: row;
    justify-content: flex-start;
    min-height: 64px;
    padding: 16px !important;
    gap: 14px !important;
  }

  #forminator-module-2316 #radio-1 .forminator-radio-label {
    text-align: left;
  }
}

/* Compatibilité avec un conteneur Elementor encadré */
.elementor .pgm-header > .e-con-inner {
  width: 100% !important;
  min-width: 0;
  padding: 0 !important;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: none !important;
  margin: 0 !important;
}

/* Trait réutilisable sous un conteneur */
.elementor .e-con.pgm-border-bottom {
  border-bottom: 1px solid var(--sv-lilac, #C9B7E8);
}

/* Groupes logo et contact */
.elementor .e-con.pgm-header-brand,
.elementor .e-con.pgm-header-actions {
  --width: auto;
  --flex-direction: row;
  --flex-wrap: nowrap;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: auto;
  min-width: 0;
  flex: 0 1 auto;
  gap: 12px;

  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.elementor .e-con.pgm-header-actions {
  justify-content: flex-end;
}

/* Dimensions du logo */
.elementor .elementor-widget.pgm-header-logo {
  width: 190px !important;
  max-width: 100%;
  margin: 0;
}

.elementor .pgm-header-logo img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
  margin: 0 !important;
}

/* Widget de contact : largeur adaptée au contenu */
.elementor .pgm-header-actions .elementor-widget {
  width: auto;
  margin: 0;
}

/* Contact sous forme de titre ou de bouton */
.elementor .pgm-header-actions .elementor-heading-title,
.elementor .pgm-header-actions .elementor-button {
  font-family: var(--sv-font-body, sans-serif);
  font-size: 14px;
  line-height: 1.4;
}

/* MOBILE : logo et contact restent côte à côte */
@media (max-width: 767px) {
  .elementor .e-con.pgm-header {
    padding: 14px 16px !important;
    gap: 12px;
  }

  .elementor .pgm-header > .e-con-inner {
    gap: 12px;
  }

  .elementor .elementor-widget.pgm-header-logo {
    width: 140px !important;
  }

  .elementor .pgm-header-actions .elementor-heading-title,
  .elementor .pgm-header-actions .elementor-button {
    font-size: 12px;
  }

  .elementor .pgm-header-actions .elementor-button {
    padding: 8px 10px;
  }
}
/* Les blocs autres que l’en-tête restent centrés */
.elementor .pgm-page > .e-con:not(.pgm-header),
.elementor .pgm-page > .e-con-inner > .e-con:not(.pgm-header) {
  width: calc(100% - 32px) !important;
  max-width: 920px !important;
  margin-inline: auto !important;
}

/* Logo aligné au bord gauche */
.elementor .e-con.pgm-header-brand,
.elementor .elementor-widget.pgm-header-logo,
.elementor .pgm-header-logo > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Trait sur toute la largeur de l’en-tête */
.elementor .e-con.pgm-header.pgm-border-bottom {
  border-bottom: 1px solid var(--sv-lilac, #C9B7E8) !important;
}

/* Masquer les astérisques — PGM et formation offerte */
#forminator-module-2316 .forminator-required,
#forminator-module-2837 .forminator-required {
  display: none !important;
}
/* PGM — Liste d’étapes de paiement */
.sv-theme ol.pgm-payment-steps {
  counter-reset: pgm-step;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: var(--sv-font-body);
}

/* Une ligne par étape */
.sv-theme .pgm-payment-steps > li {
  counter-increment: pgm-step;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  margin: 0;
  padding: 24px 0;
}

/* Un seul trait entre deux étapes */
.sv-theme .pgm-payment-steps > li + li {
  border-top: 1px solid var(--sv-gray-soft);
}

.sv-theme .pgm-payment-steps > li:first-child {
  padding-top: 0;
}

.sv-theme .pgm-payment-steps > li:last-child {
  padding-bottom: 0;
}

/* Numéros : dégradé violet et forme arrondie */
.sv-theme .pgm-payment-steps > li::before {
  content: counter(pgm-step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--sv-radius-pill);
  background: linear-gradient(
    135deg,
    var(--sv-violet),
    var(--sv-violet-deep)
  );
  color: var(--sv-white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 8px 18px -10px rgba(110, 90, 148, .55);
}

/* Titres et descriptions */
.sv-theme .pgm-payment-step-content h3 {
  margin: 0 0 6px;
  font-family: var(--sv-font-body);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--sv-charcoal);
}

.sv-theme .pgm-payment-step-content p {
  margin: 0;
  font-family: var(--sv-font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--sv-ink);
}

/* Mobile */
@media (max-width: 600px) {
  .sv-theme .pgm-payment-steps > li {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
  }

  .sv-theme .pgm-payment-steps > li::before {
    width: 34px;
    height: 34px;
    font-size: 14px;
  }

  .sv-theme .pgm-payment-step-content h3 {
    font-size: 15px;
  }

  .sv-theme .pgm-payment-step-content p {
    font-size: 14px;
  }
}
/* Collection Bootstrap Icons */
@font-face {
  font-family: "PGM Bootstrap Icons";
  src: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/fonts/bootstrap-icons.woff2")
    format("woff2");
  font-style: normal;
  font-weight: normal;
  font-display: block;
}

/* BaridiMob */
#forminator-module-2316 #radio-1
label:has(input[value="Paiement via BARIDIMOB"])::before {
  content: "\f4e7";
}

/* CCP */
#forminator-module-2316 #radio-1
label:has(input[value="CCP"])::before {
  content: "\f246";
}

/* Banque */
#forminator-module-2316 #radio-1
label:has(input[value="Paiement sur le compte bancaire"])::before {
  content: "\f62e";
}

/* Autre / WhatsApp */
#forminator-module-2316 #radio-1
label:has(input[value="Pour plus d'informations sur les autres moyen de paiement contactez nous whatsapp"])::before {
  content: "\f618";
}
/* PGM — Fenêtre de chargement */
#pgm-loading-dialog {
  box-sizing: border-box;
  width: min(380px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 30px 24px;
  overflow: auto;

  background: #F8F6FB;
  color: #34303C;
  border: 1px solid #E4DAF3;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(42, 36, 50, .22);
  text-align: center;
  font-family: var(--sv-font-body, sans-serif);
}

#pgm-loading-dialog::backdrop {
  background: rgba(42, 36, 50, .42);
}

/* Cercle animé */
#pgm-loading-dialog .pgm-loading-spinner {
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin: 0 auto 20px;
  border: 3px solid #E4DAF3;
  border-top-color: #6E5A94;
  border-radius: 50%;
  animation: pgm-loading-spin .8s linear infinite;
}

#pgm-loading-dialog h2 {
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.4;
  color: #2A2432;
}

#pgm-loading-dialog p {
  margin: 0;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.6;
  color: #6E677A;
}

#pgm-loading-dialog .pgm-loading-dismiss {
  display: inline-block;
  margin-top: 20px;
  padding: 8px 14px;
  background: transparent;
  color: #6E5A94;
  border: 1px solid #C9B7E8;
  border-radius: 999px;
  font-family: inherit;
  font-size: 12px;
  cursor: pointer;
}

#pgm-loading-dialog .pgm-loading-dismiss:focus-visible {
  outline: 2px solid #6E5A94;
  outline-offset: 3px;
}

/* Masque le bandeau uniquement pendant l’ouverture */
body.pgm-loading-open #forminator-module-2316
.forminator-response-message.forminator-loading:not(.forminator-error):not(.forminator-success) {
  visibility: hidden !important;
}

@keyframes pgm-loading-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  #pgm-loading-dialog .pgm-loading-spinner {
    animation: none;
  }
}
#forminator-module-2316 #radio-1
label:has(input[value="BANK"])::before {
  content: "\f62e" !important;
}

#forminator-module-2316 #radio-1
label:has(input[value="Contactez-nous-whatsapp"])::before {
  content: "\f618" !important;
}
/* PGM — Menu de contact */
.pgm-contact-dropdown {
  position: relative;
  font-family: var(--sv-font-body, sans-serif);
}

.pgm-contact-dropdown > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  list-style: none;
  cursor: pointer;

  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;

  color: var(--sv-violet-deep, #6E5A94);
  background: var(--sv-white, #F8F6FB);
  border: 1px solid var(--sv-lilac, #C9B7E8);
  border-radius: 10px;
}

.pgm-contact-dropdown > summary::-webkit-details-marker {
  display: none;
}

.pgm-contact-dropdown > summary::after {
  content: "▾";
}

.pgm-contact-dropdown[open] > summary::after {
  content: "▴";
}

.pgm-contact-dropdown > summary:focus-visible,
.pgm-contact-list > a:focus-visible {
  outline: 2px solid var(--sv-violet-deep, #6E5A94);
  outline-offset: 3px;
}

/* Liste sous le bouton, alignée à droite */
.pgm-contact-list {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 200;

  width: 180px;
  max-width: calc(100vw - 32px);
  padding: 6px;

  background: var(--sv-white, #F8F6FB);
  border: 1px solid var(--sv-lilac, #C9B7E8);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(42, 36, 50, .14);
}

.pgm-contact-list > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 7px;

  color: var(--sv-ink, #34303C);
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
}

.pgm-contact-list > a:hover {
  background: var(--sv-pastel-lilac, #E4DAF3);
  color: var(--sv-violet-deep, #6E5A94);
}

@media (max-width: 767px) {
  .pgm-contact-dropdown > summary {
    padding: 8px 10px;
    font-size: 12px;
  }
}
/* Icônes de la liste de contact */
.pgm-contact-list .pgm-contact-icon {
  display: block;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  max-width: 20px;
  flex: 0 0 20px;
}

.pgm-contact-list .pgm-icon-whatsapp {
  color: #25D366;
}

.pgm-contact-list .pgm-icon-email {
  color: var(--sv-violet-deep, #6E5A94);
}
/* Exclusion existante dans les listes d’indicatifs : code pays « il » (Israël) */
.iti__country[data-country-code="il"],
.intl-tel-input .country[data-country-code="il"] {
  display: none !important;
}
/* Logo centré au-dessus du titre d'inscription */
.elementor .elementor-element.pgm-inscription-logo {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 16px !important;
  text-align: center;
}

.elementor .pgm-inscription-logo img {
  display: block;
  width: 80px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* Taille sur mobile */
@media (max-width: 767px) {
  .elementor .pgm-inscription-logo img {
    width: 60px !important;
  }
}
/* Bonhomme au trait, dans le violet des icônes de paiement */
.pgm-registration-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--sv-violet-deep, #6E5A94);
  background: none;
  border: none;
  line-height: 1;
}

.pgm-registration-icon svg {
  display: block;
  width: 28px !important;
  height: 28px !important;
}

/* Introduction compacte sur mobile */
@media (max-width: 767px) {
  .elementor .elementor-element.pgm-inscription-intro {
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 16px !important;
    margin: 0 !important;
    gap: 12px !important;
    --gap: 12px;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Conteneur intérieur éventuel d’Elementor */
  .pgm-inscription-intro > .e-con-inner {
    min-height: 0 !important;
    padding: 0 !important;
    gap: 12px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .elementor .pgm-inscription-intro .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .pgm-inscription-intro .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .elementor .pgm-inscription-intro .elementor-heading-title {
    margin: 0 !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.3 !important;
  }

  .pgm-inscription-intro p {
    margin: 0 !important;
  }

  .elementor .pgm-inscription-intro .pgm-inscription-logo img {
    width: 60px !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}
/* ==========================================
   CLARVIA — Connexion Forminator 2655
   ========================================== */

/* Carte du formulaire */
#forminator-module-2655 {
  --cl-login-violet: #6e5a94;
  --cl-login-violet-hover: #594477;
  --cl-login-ink: #34303c;
  --cl-login-muted: #655b70;
  --cl-login-border: #ddd5e8;

  box-sizing: border-box;
  width: 100% !important;

  margin: 0 auto !important;

  color: var(--cl-login-ink);

}

/* Libellés */
#forminator-module-2655 .forminator-label {
  margin-bottom: 8px !important;
  color: var(--cl-login-ink) !important;
  font-family: inherit !important;

  line-height: 1.5 !important;
}

/* Champs */
#forminator-module-2655 input.forminator-input {
  box-sizing: border-box;
  width: 100% !important;

  color: var(--cl-login-ink) !important;
  background: #fff !important;
  border: 1px solid var(--cl-login-border) !important;

  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

#forminator-module-2655 input.forminator-input::placeholder {
  color: #8b8295 !important;
  opacity: 1;
}

/* Champ actif */
#forminator-module-2655 input.forminator-input:focus {
  border-color: var(--cl-login-violet) !important;
  outline: 2px solid #c9b7e8 !important;
  outline-offset: 2px;
}

/* Texte secondaire et case « Se souvenir de moi » */
#forminator-module-2655 .forminator-description,
#forminator-module-2655 .forminator-checkbox-label {
  color: var(--cl-login-muted) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

#forminator-module-2655 .forminator-checkbox-box {
  border-color: #b5a4cd !important;
  border-radius: 4px !important;
  background: #fff !important;
}

#forminator-module-2655
.forminator-checkbox input:checked + .forminator-checkbox-box {
  border-color: var(--cl-login-violet) !important;
  background: var(--cl-login-violet) !important;
}

#forminator-module-2655
.forminator-checkbox input:checked + .forminator-checkbox-box::before {
  color: #fff !important;
}

#forminator-module-2655
.forminator-checkbox input:focus-visible + .forminator-checkbox-box {
  outline: 2px solid var(--cl-login-violet) !important;
  outline-offset: 3px;
}

/* Bouton de connexion */
#forminator-module-2655 .forminator-button-submit {
  box-sizing: border-box;
  width: 100% !important;

  padding: 14px 20px !important;

  color: #fff !important;

  border: 1px solid transparent !important;

  font-family: inherit !important;

  line-height: 1.4 !important;
  text-align: center;
  cursor: pointer;
}

#forminator-module-2655 .forminator-button-submit:focus-visible,
#forminator-module-2655 a:focus-visible {
  outline: 2px solid var(--cl-login-violet) !important;
  outline-offset: 4px;
}

#forminator-module-2655 .forminator-button-submit:disabled {
  opacity: .65;
  cursor: wait;
}

/* Liens, dont « Mot de passe oublié ? » */
#forminator-module-2655 a {
  color: var(--cl-login-violet) !important;

  text-underline-offset: 3px;
}

#forminator-module-2655 a:hover {
  color: var(--cl-login-violet-hover) !important;
}

/* Champs obligatoires et erreurs : rouge sans fond rose */
#forminator-module-2655 .forminator-required {
  color: #b42335 !important;
}

#forminator-module-2655 .forminator-error-message {
  margin-top: 6px !important;
  padding: 0 !important;
  color: #b42335 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

#forminator-module-2655 .forminator-has_error input.forminator-input {
  border-color: #b42335 !important;
}

#forminator-module-2655
.forminator-response-message.forminator-error {
  color: #b42335 !important;
  background: transparent !important;
  border: 1px solid #e5b7bf !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  #forminator-module-2655 {
    padding: 24px 18px !important;
    border-radius: 18px !important;
  }

  #forminator-module-2655 .forminator-row {
    margin-bottom: 16px !important;
  }
}

/* Préserver la largeur du menu Contactez-nous */
.elementor .pgm-header-actions {
  flex-shrink: 0 !important;
}

.elementor .pgm-header-actions .elementor-widget-html {
  width: auto !important;
  flex-shrink: 0 !important;
}

.elementor .pgm-header .pgm-contact-dropdown > summary {
  box-sizing: border-box;
  width: auto !important;
  padding: 10px 16px !important;
  gap: 8px !important;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .elementor .pgm-header .pgm-contact-dropdown > summary {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}

/* Même typographie pour Accueil et Contactez-nous */
.elementor .pgm-header-actions .pgm-header-home,
.elementor .pgm-header-actions .pgm-contact-dropdown > summary {
  font-family: var(--sv-font-body, 'Mulish', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  color: var(--sv-violet-deep, #6E5A94) !important;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .elementor .pgm-header-actions .pgm-header-home,
  .elementor .pgm-header-actions .pgm-contact-dropdown > summary {
    font-size: 12px !important;
  }
}
/* CLARVIA — Connexion : composition ouverte, fond du parent conservé.
   Ajouter le widget HTML d'introduction entre le logo et le Code court. */
.elementor .elementor-element.clarvia-login-page {
  box-sizing: border-box;
  --min-height: 0px;
  --justify-content: flex-start;
  --gap: 0px;
  display: flex;
  flex-direction: column;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  height: auto !important;
  flex-grow: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 36px 20px 32px !important;
  gap: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor .clarvia-login-page > .e-con-inner {
  width: 100%;
  max-width: 480px;
  min-height: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  align-items: center;
  gap: 0 !important;
}
.elementor .clarvia-login-page .clarvia-login-panel {
  width: 100% !important;
  max-width: 480px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor .clarvia-login-page .clarvia-login-panel > .e-con-inner {
  min-height: 0 !important;
  padding: 0 !important;
}
.elementor .clarvia-login-page::before,
.elementor .clarvia-login-page::after,
.elementor .clarvia-login-page .clarvia-login-panel::before,
.elementor .clarvia-login-page .clarvia-login-panel::after {
  background: none !important;
  box-shadow: none !important;
}
.elementor .clarvia-login-page .elementor-widget-image img {
  display: block;
  width: 72px !important;
  height: auto !important;
  margin: 0 auto;
}
.elementor .clarvia-login-page .elementor-widget-shortcode,
.elementor .clarvia-login-page .clarvia-login-intro-widget {
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.clarvia-login-intro {
  margin: 0 auto 32px;
  text-align: center;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
}
.clarvia-login-intro h1 {
  margin: 0 0 10px !important;
  color: #2A2432 !important;
  font-family: inherit !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.clarvia-login-intro p {
  margin: 0 !important;
  color: #655B70 !important;
  font-family: inherit !important;
  font-size: clamp(16px, 2vw, 19px) !important;
  line-height: 1.5 !important;
}
#forminator-module-2655 {
  max-width: 480px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
}
#forminator-module-2655 .forminator-row {
  margin-bottom: 24px !important;
}
#forminator-module-2655 .forminator-row:last-child {
  margin-bottom: 0 !important;
}
#forminator-module-2655 .forminator-label {
  font-size: 15px !important;
  font-weight: 600 !important;
}
#forminator-module-2655 input.forminator-input {
  min-height: 56px;
  padding: 15px 16px !important;
  border-radius: 12px !important;
  background-color: #FDFCFE !important;
  box-shadow: 0 2px 3px rgba(42,36,50,.035) !important;
}
#forminator-module-2655 .forminator-input-with-icon input.forminator-input {
  padding-right: 48px !important;
}
#forminator-module-2655 input.forminator-input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #FDFCFE inset !important;
  -webkit-text-fill-color: #34303C !important;
}
#forminator-module-2655 .forminator-button-submit {
  min-height: 56px;
  font-size: 18px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  background: #6E5A94 !important;
  box-shadow: 0 8px 18px -8px rgba(110,90,148,.45) !important;
}
#forminator-module-2655 .forminator-button-submit:hover {
  background: #594477 !important;
}
#forminator-module-2655 .forminator-button-submit:disabled {
  box-shadow: none !important;
}
#forminator-module-2655 a {
  font-weight: 600;
  text-decoration: none;
}
#forminator-module-2655 a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .elementor .elementor-element.clarvia-login-page {
    padding: 28px 20px 24px !important;
  }
  .elementor .clarvia-login-page .elementor-widget-image img {
    width: 60px !important;
  }
  .clarvia-login-intro { margin-bottom: 28px; }
}

/*
 CLARVIA — Demande de lien + saisie du nouveau mot de passe WooCommerce.
 Styles intégrés au fichier PGM complet.
 Cible les formulaires WooCommerce ; ne s'applique pas à wp-login.php.
*/
body:is(.woocommerce-lost-password, :has(form.lost_reset_password)) {
  --cl-reset-bg: #F8F6FB;
  --cl-reset-violet: #6E5A94;
  --cl-reset-hover: #594477;
  --cl-reset-ink: #34303C;
  --cl-reset-muted: #655B70;
  --cl-reset-line: #DDD5E8;
  background: var(--cl-reset-bg) !important;
}

/* Fond continu dans la zone de contenu, en-tête et pied conservés. */
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
:is(#content, .site-content) {
  background: linear-gradient(135deg, #F8F6FB 0%, #EEE7F6 100%) !important;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
:is(article.page, .entry-content, .woocommerce) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password)) article.page {
  padding: 32px 20px !important;
  min-height: 0 !important;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.entry-header {
  margin: 0 auto 24px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.entry-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif) !important;
  color: #2A2432 !important;
  font-size: clamp(26px, 4vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

/* Même composition sur les deux formulaires. */
.woocommerce form.lost_reset_password {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 480px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 24px !important;
  float: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #34303C;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
}
.woocommerce form.lost_reset_password * { box-sizing: border-box; }

.woocommerce form.lost_reset_password > p:first-child {
  margin: 0 0 28px !important;
  color: #655B70 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  text-align: center;
}
.woocommerce form.lost_reset_password .form-row {
  display: block;
  float: none !important;
  clear: both;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 22px !important;
}
.woocommerce form.lost_reset_password .form-row:last-of-type {
  margin-bottom: 0 !important;
}
.woocommerce form.lost_reset_password label {
  display: block;
  margin: 0 0 8px !important;
  color: #34303C !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
.woocommerce form.lost_reset_password .required { color: #B42335; }

.woocommerce form.lost_reset_password input:is([type="text"], [type="email"], [type="password"]) {
  display: block;
  width: 100% !important;
  min-width: 0;
  min-height: 56px;
  height: auto !important;
  padding: 15px 16px !important;
  background: #FDFCFE !important;
  color: #34303C !important;
  border: 1px solid #DDD5E8 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 3px rgba(42,36,50,.035) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.woocommerce form.lost_reset_password input:focus {
  border-color: #6E5A94 !important;
  outline: 2px solid #C9B7E8 !important;
  outline-offset: 2px;
}
.woocommerce form.lost_reset_password input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #FDFCFE inset !important;
  -webkit-text-fill-color: #34303C !important;
}
.woocommerce form.lost_reset_password .password-input {
  position: relative;
  display: block;
  width: 100%;
}
.woocommerce form.lost_reset_password .password-input input {
  padding-right: 52px !important;
}
/* Préserver la commande native d'affichage du mot de passe. */
.woocommerce form.lost_reset_password .show-password-input {
  color: #6E5A94 !important;
}
.woocommerce form.lost_reset_password button[type="submit"] {
  display: block;
  float: none !important;
  width: 100% !important;
  min-height: 56px;
  height: auto !important;
  padding: 14px 18px !important;
  margin: 8px 0 0 !important;
  background: #6E5A94 !important;
  color: #FFF !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 18px -8px rgba(110,90,148,.45) !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: center;
  text-transform: none !important;
  white-space: normal !important;
  cursor: pointer;
}
.woocommerce form.lost_reset_password button[type="submit"]:hover {
  background: #594477 !important;
}
.woocommerce form.lost_reset_password :is(button, a):focus-visible {
  outline: 2px solid #6E5A94 !important;
  outline-offset: 4px;
}
.woocommerce form.lost_reset_password button[type="submit"]:disabled {
  opacity: .55 !important;
  box-shadow: none !important;
  cursor: not-allowed;
}
/* L'indicateur reste visible avec un sens distinct pour chaque niveau. */
.woocommerce form.lost_reset_password .woocommerce-password-strength {
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid #DDD5E8;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}
.woocommerce form.lost_reset_password .woocommerce-password-strength:is(.short, .bad) {
  background: #FFF0F0;
  color: #922B36;
}
.woocommerce form.lost_reset_password .woocommerce-password-strength.good {
  background: #FFF5DF;
  color: #785019;
}
.woocommerce form.lost_reset_password .woocommerce-password-strength.strong {
  background: #EAF5EF;
  color: #245C3D;
}
.woocommerce form.lost_reset_password .woocommerce-password-hint {
  margin-top: 8px;
  color: #655B70;
  font-size: 13px;
  line-height: 1.6;
}
/* Confirmation d'envoi, erreurs et informations sur ce parcours seulement. */
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  box-sizing: border-box;
  max-width: 540px;
  margin: 0 auto 24px !important;
  padding: 16px 18px 16px 48px !important;
  border: 1px solid #C9B7E8 !important;
  border-radius: 12px !important;
  background: #F0EBF7 !important;
  color: #4E3D68 !important;
  box-shadow: none !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
  line-height: 1.6;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.woocommerce :is(.woocommerce-message, .woocommerce-info)::before {
  color: #6E5A94 !important;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.woocommerce .woocommerce-error {
  background: #FFF6F7 !important;
  border-color: #E5B7BF !important;
  color: #922B36 !important;
}
body:is(.woocommerce-lost-password, :has(form.lost_reset_password))
.woocommerce .woocommerce-error::before { color: #922B36 !important; }

@media (max-width: 600px) {
  body:is(.woocommerce-lost-password, :has(form.lost_reset_password)) article.page {
    padding: 24px 16px !important;
  }
  .woocommerce form.lost_reset_password > p:first-child {
    font-size: 15px !important;
    margin-bottom: 24px !important;
  }
  .woocommerce form.lost_reset_password button[type="submit"] {
    font-size: 16px !important;
  }
}
/* CLARVIA — Récupération du mot de passe WordPress */

body.login.clarvia-password-page {
  background: linear-gradient(
    135deg, #F8F6FB 0%, #EEE7F6 100%
  ) !important;
  color: #34303C;
  font-family: var(--sv-font-body, "Mulish", Arial, sans-serif);
  min-height: 100vh;
}

body.clarvia-password-page #login {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  padding: 40px 20px 24px !important;
}

/* Le logo existant est conservé. */
body.clarvia-password-page #login h1 {
  margin-bottom: 24px;
}

/* Formulaire ouvert, sans grand cadre blanc */
body.clarvia-password-page #login form {
  box-sizing: border-box;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

body.clarvia-password-page #login label {
  display: block;
  margin-bottom: 8px;
  color: #34303C !important;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.5;
}

/* Identifiant et nouveau mot de passe */
body.clarvia-password-page #login input:is(
  [type="text"], [type="email"], [type="password"]
) {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 56px;
  margin-bottom: 20px;
  padding: 14px 16px !important;
  background: #FDFCFE !important;
  color: #34303C !important;
  border: 1px solid #DDD5E8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.clarvia-password-page #login input:focus {
  border-color: #6E5A94 !important;
  outline: 2px solid #C9B7E8 !important;
  outline-offset: 2px;
}

body.clarvia-password-page #login .wp-pwd {
  position: relative;
}

body.clarvia-password-page #login .wp-pwd input {
  padding-right: 54px !important;
}

/* Bouton œil natif */
body.clarvia-password-page #login .wp-hide-pw {
  top: 0 !important;
  right: 0 !important;
  width: 48px !important;
  height: 56px !important;
  padding: 0 !important;
  color: #6E5A94 !important;
  background: transparent !important;
  border: 0 !important;
}

/* Boutons d'envoi et d'enregistrement */
body.clarvia-password-page #login .button-primary {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  min-height: 56px;
  height: auto !important;
  margin-top: 12px;
  padding: 13px 18px !important;
  background: #6E5A94 !important;
  color: #FFFFFF !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 18px -8px rgba(110,90,148,.45) !important;
  font-family: inherit;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.5 !important;
  text-shadow: none !important;
  white-space: normal;
}

body.clarvia-password-page #login .button-primary:hover {
  background: #594477 !important;
}

body.clarvia-password-page #login .button-primary:disabled {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none !important;
}

body.clarvia-password-page #login :is(button, a, .button):focus-visible {
  outline: 2px solid #6E5A94 !important;
  outline-offset: 3px;
}

/* Messages d'information et de confirmation */
body.clarvia-password-page #login :is(.message, .success) {
  padding: 16px 18px !important;
  background: #F0EBF7 !important;
  color: #4E3D68 !important;
  border: 1px solid #C9B7E8 !important;
  border-radius: 12px;
  box-shadow: none !important;
  font-size: 14px;
  line-height: 1.7;
}

/* Erreurs */
body.clarvia-password-page #login #login_error {
  padding: 16px 18px !important;
  background: #FFF6F7 !important;
  color: #922B36 !important;
  border: 1px solid #E5B7BF !important;
  border-radius: 12px;
  box-shadow: none !important;
}

/* Conserver les couleurs natives du niveau de sécurité */
body.clarvia-password-page #pass-strength-result {
  box-sizing: border-box;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
}

body.clarvia-password-page .indicator-hint,
body.clarvia-password-page .pw-weak {
  color: #655B70;
  font-size: 13px;
  line-height: 1.6;
}

body.clarvia-password-page #login .pw-weak label {
  display: inline;
  font-size: 13px !important;
  font-weight: 400;
}

/* Liens de navigation */
body.clarvia-password-page #login :is(#nav, #backtoblog) {
  padding: 0 !important;
  text-align: center;
}

body.clarvia-password-page #login a {
  color: #6E5A94;
}

body.clarvia-password-page #login a:hover {
  color: #594477;
}

@media (max-width: 600px) {
  body.clarvia-password-page #login {
    padding: 28px 20px 24px !important;
  }
}
/* ======================================================================
   INSCRIPTION RESPONSIVE — classes à saisir SANS point dans Elementor
   Page : conserver sv-theme sv-bg-blur pgm-page, ajouter pgm-registration.
   Conteneur du contenu (hors en-tête) : pgm-registration-content
   Conteneur des 4 widgets d'introduction : pgm-registration-intro
   Image C : pgm-inscription-logo | Titre : pgm-registration-title
   Widget bonhomme : pgm-registration-symbol
   Texte : pgm-registration-subtitle
   Conteneur du formulaire : pgm-registration-form
   Placer le widget Shortcode directement dans ce dernier conteneur.
   Retirer les widgets Espacement entre ces blocs.
   ====================================================================== */
.elementor .pgm-registration {
  --pgm-intro-gap: 10px;
  --pgm-logo-size: 68px;
  --pgm-symbol-size: 28px;
  --pgm-title-size: clamp(28px, 2.6vw, 36px);
  --pgm-copy-size: 17px;
  font-family: var(--sv-font-body, 'Mulish', Arial, sans-serif);
}

/* Neutraliser les hauteurs imposées et la répartition space-between. */
.elementor .pgm-registration .e-con.pgm-registration-content {
  --width: 100%;
  --content-width: 920px;
  --flex-direction: column;
  --justify-content: flex-start;
  --align-items: center;
  --gap: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start !important;
  gap: 24px !important;
  width: calc(100% - 40px) !important;
  max-width: 920px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 28px 0 0 !important;
  flex-grow: 0 !important;
}
.elementor .pgm-registration .pgm-registration-content > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor .pgm-registration .e-con.pgm-registration-intro,
.elementor .pgm-registration .pgm-registration-intro > .e-con-inner {
  --flex-direction: column;
  --justify-content: flex-start;
  --align-items: center;
  --gap: var(--pgm-intro-gap);
  --widgets-spacing: 0px;
  display: flex;
  flex-direction: column;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--pgm-intro-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  flex-grow: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
.elementor .pgm-registration .pgm-registration-intro .elementor-widget,
.elementor .pgm-registration .pgm-registration-intro .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex-grow: 0 !important;
}
.elementor .pgm-registration .pgm-registration-intro .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}
.elementor .pgm-registration .pgm-inscription-logo img {
  display: block;
  width: var(--pgm-logo-size) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain;
}

/* Cibler le titre lui-même, même si la classe est sur le widget. */
.elementor .pgm-registration .pgm-registration-title,
.elementor .pgm-registration .pgm-registration-title :is(.elementor-heading-title,h1,h2) {
  font-family: var(--sv-font-body, 'Mulish', Arial, sans-serif) !important;
  font-size: var(--pgm-title-size) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  color: #352B45 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  text-wrap: balance;
  margin: 0 !important;
}
.elementor .pgm-registration .pgm-registration-symbol :is(.pgm-registration-icon,.elementor-icon-wrapper) {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}
.elementor .pgm-registration .pgm-registration-symbol :is(svg,img) {
  display: block;
  width: var(--pgm-symbol-size) !important;
  height: var(--pgm-symbol-size) !important;
  object-fit: contain;
  margin: 0 auto !important;
}
.elementor .pgm-registration .pgm-registration-symbol .elementor-icon {
  font-size: var(--pgm-symbol-size) !important;
  color: #6E5A94 !important;
  line-height: 1;
}
.elementor .pgm-registration .pgm-registration-subtitle,
.elementor .pgm-registration .pgm-registration-subtitle :is(p,.elementor-heading-title) {
  font-family: var(--sv-font-body, 'Mulish', Arial, sans-serif) !important;
  font-size: var(--pgm-copy-size) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #655B70 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  margin: 0 !important;
}

.elementor .pgm-registration .e-con.pgm-registration-form {
  width: 100% !important;
  max-width: 920px !important;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.65) !important;
  box-shadow: 0 16px 48px -24px rgba(66,44,90,.25) !important;
}
.elementor .pgm-registration .pgm-registration-form > .e-con-inner,
.elementor .pgm-registration .pgm-registration-form .elementor-widget-shortcode,
.elementor .pgm-registration .pgm-registration-form .elementor-widget-shortcode > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor .pgm-registration .pgm-registration-form :is(
  #forminator-module-2316,
  #forminator-module-2837
) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor .pgm-registration .pgm-registration-form .forminator-label {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
.elementor .pgm-registration .pgm-registration-form :is(.forminator-input,.forminator-textarea) {
  font-size: 16px !important;
  min-height: 48px;
}
/* Le plugin conserve la gestion des indicatifs et du padding téléphone. */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .pgm-registration {
    --pgm-logo-size: 60px;
    --pgm-title-size: 30px;
    --pgm-copy-size: 16px;
  }
  .elementor .pgm-registration .e-con.pgm-registration-form { padding: 24px !important; }
  .pgm-registration #forminator-module-2316 #radio-1 > .forminator-field {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px) {
  .elementor .pgm-registration {
    --pgm-intro-gap: 8px;
    --pgm-logo-size: 52px;
    --pgm-symbol-size: 24px;
    --pgm-title-size: clamp(24px, 5.4vw, 28px);
    --pgm-copy-size: 16px;
  }
  .elementor .pgm-registration .e-con.pgm-registration-content {
    width: calc(100% - 32px) !important;
    padding-top: 20px !important;
    gap: 20px !important;
  }
  .elementor .pgm-registration .pgm-registration-content > .e-con-inner { gap: 20px !important; }
  .elementor .pgm-registration .e-con.pgm-registration-form {
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }
  .pgm-registration #forminator-module-2316 #radio-1 > .forminator-field {
    grid-template-columns: 1fr;
  }
  .pgm-registration #forminator-module-2316 #radio-1 label.forminator-radio {
    flex-direction: row;
    justify-content: flex-start;
    min-height: 60px;
    padding: 14px !important;
  }
  .pgm-registration #forminator-module-2316 #radio-1 .forminator-radio-label { text-align: left; }
}

/* ======================================================================
   INSCRIPTION 2316 — paiement OU formation offerte
   Comportement : pgm-choix-elementor.html. Validation : snippet PHP fourni.
   ====================================================================== */
#forminator-module-2316 #checkbox-1 > .forminator-field {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px !important;
  padding: 18px 20px !important;
  border: 2px solid var(--sv-gray-soft, #DCDAE3) !important;
  border-radius: 14px;
  background: var(--sv-white, #F8F6FB) !important;
  box-sizing: border-box;
}
#forminator-module-2316 #checkbox-1 > .forminator-field > .forminator-label {
  order: 0;
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 !important;
}
#forminator-module-2316 #checkbox-1 label.forminator-checkbox {
  order: 1;
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px !important;
  width: auto !important;
  min-width: 0;
  min-height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  cursor: pointer;
}
#forminator-module-2316 #checkbox-1 .forminator-description {
  order: 2;
  flex: 0 0 100%;
  min-width: 0;
  font-family: var(--sv-font-body, 'Mulish', sans-serif) !important;
  color: #6b5bb8 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
#forminator-module-2316 #checkbox-1 .forminator-description * {
  color: inherit !important;
  font-size: inherit !important;
}
#forminator-module-2316 #checkbox-1 .forminator-error-message {
  order: 3;
  flex: 0 0 100%;
}
/* Un seul contrôle visible : case native, accessible au clavier.
   La boîte décorative Forminator est masquée pour éviter une double case. */
#forminator-module-2316 #checkbox-1 .forminator-checkbox-box {
  display: none !important;
}
#forminator-module-2316 #checkbox-1 label.forminator-checkbox::before,
#forminator-module-2316 #checkbox-1 label.forminator-checkbox::after {
  content: none !important;
}
#forminator-module-2316 #checkbox-1 input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  box-sizing: border-box;
  position: static !important;
  display: inline-block !important;
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  pointer-events: auto !important;
  accent-color: var(--sv-violet-deep, #6E5A94);
  cursor: pointer;
}
#forminator-module-2316 #checkbox-1 input[type="checkbox"]::before,
#forminator-module-2316 #checkbox-1 input[type="checkbox"]::after {
  content: none !important;
}
#forminator-module-2316 #checkbox-1 .forminator-checkbox-label {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--sv-ink, #34303C) !important;
  overflow-wrap: anywhere;
}

#forminator-module-2316 #checkbox-1 > .forminator-field:has(input:checked) {
  border-color: var(--sv-violet-deep, #6E5A94) !important;
}
#forminator-module-2316 #checkbox-1 label:has(input:focus-visible) {
  outline: 2px solid #6b5bb8;
  outline-offset: 4px;
}
/* Les contrôles sont réellement désactivés par JavaScript. */
#forminator-module-2316 :is(#radio-1, #checkbox-1).pgm-choice-disabled {
  opacity: .5;
  filter: grayscale(1);
}
#forminator-module-2316 :is(#radio-1, #checkbox-1).pgm-choice-disabled :is(label,input) {
  cursor: not-allowed !important;
}
#forminator-module-2316 #radio-1.pgm-choice-disabled label.forminator-radio:hover {
  border-color: var(--sv-gray-soft, #DCDAE3) !important;
}
#forminator-module-2316 button.pgm-clear-payment {
  display: inline-block !important;
  width: auto !important;
  min-height: 36px;
  margin: 8px 0 0 !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font: inherit;
  font-size: 13px !important;
  color: #6b5bb8 !important;
  text-decoration: underline;
  cursor: pointer;
}
#forminator-module-2316 button.pgm-clear-payment[hidden],
#forminator-module-2316 .pgm-choice-error[hidden] { display: none !important; }
#forminator-module-2316 button.pgm-clear-payment:focus-visible {
  outline: 2px solid #6b5bb8;
  outline-offset: 3px;
}
#forminator-module-2316 .pgm-choice-error {
  color: #B42318 !important;
  font-size: 13px;
  margin: 10px 0;
  background: transparent !important;
}
@media (max-width: 600px) {
  #forminator-module-2316 #checkbox-1 > .forminator-field {
    padding: 14px !important;
    column-gap: 12px !important;
  }
}

/* ==========================================================================
   FORMATION OFFERTE — REGISTER-FO
   Navigation : "Je m'inscris" / "Déjà inscrit"
   Forminator : 2837

   Classes Elementor attendues :
   - Conteneur Forminator :
       pgm-registration-form clarvia-fo-register-panel is-active
   - Widget / conteneur du shortcode "Déjà inscrit" :
       clarvia-fo-existing-panel

   L'ancien <summary> "Déjà inscrit(e) ?" du shortcode est volontairement masqué :
   les deux onglets du haut le remplacent.
   ========================================================================== */

/* Titre d'inscription sur une seule ligne — mobile */
@media (max-width: 767px) {
  .elementor .pgm-registration .pgm-registration-title,
  .elementor .pgm-registration .pgm-registration-title
  :is(.elementor-heading-title, h1, h2) {
    font-size: clamp(16px, 5.2vw, 30px) !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
}

/* BARRE DES DEUX ONGLETS */
.pgm-registration .clarvia-fo-tablist {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 18px;
  padding: 2px;
  background: rgba(255,255,255,.60);
  border: 1px solid var(--sv-lilac, #C9B7E8);
  border-radius: 999px;
  box-shadow: 0 8px 24px -18px rgba(66,44,90,.45);
  backdrop-filter: blur(8px);
}

.pgm-registration .clarvia-fo-tab {
  appearance: none;
  -webkit-appearance: none;
  min-width: 130px;
  margin: 0;
  padding: 10px 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sv-violet-deep, #6E5A94);
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: background .20s ease, color .20s ease, box-shadow .20s ease;
}

.pgm-registration .clarvia-fo-tab:hover {
  color: var(--sv-violet-deep, #6E5A94);
}

.pgm-registration .clarvia-fo-tab.is-active {
  color: #fff !important;
  background: linear-gradient(
    135deg,
    var(--sv-violet, #9C86C4),
    var(--sv-violet-deep, #6E5A94)
  ) !important;
  box-shadow: 0 8px 18px -10px rgba(110,90,148,.58);
}

.pgm-registration .clarvia-fo-tab:focus-visible {
  outline: 2px solid var(--sv-violet-deep, #6E5A94);
  outline-offset: 3px;
}

/* VISIBILITÉ DES DEUX PANNEAUX */

/* JE M'INSCRIS : caché si non actif */
.elementor .pgm-registration .e-con.clarvia-fo-register-panel:not(.is-active),
.elementor .pgm-registration .clarvia-fo-register-panel:not(.is-active) {
  display: none !important;
}

/* JE M'INSCRIS : visible au chargement */
.elementor .pgm-registration .e-con.clarvia-fo-register-panel.is-active,
.elementor .pgm-registration .clarvia-fo-register-panel.is-active {
  display: flex !important;
}

/* DÉJÀ INSCRIT : caché au chargement */
.elementor .pgm-registration .clarvia-fo-existing-panel:not(.is-active) {
  display: none !important;
}

/* DÉJÀ INSCRIT : visible uniquement quand actif */
.elementor .pgm-registration .clarvia-fo-existing-panel.is-active {
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}

/* Masquer l'ancien bouton "Déjà inscrit(e) ?" généré par le shortcode */
.elementor .pgm-registration
.clarvia-fo-existing-panel
details.clarvia-fo-access > summary,
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access > summary {
  display: none !important;
}

/* Bloc shortcode déjà inscrit */
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access {
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box;
  font-family: var(--sv-font-body, 'Mulish', Arial, sans-serif);
  color: var(--sv-ink, #34303C);
}

/* Carte e-mail */
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-form {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 28px 26px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(110,90,148,.20) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 45px -28px rgba(66,44,90,.35) !important;
  backdrop-filter: blur(10px);
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-form label {
  display: block;
  margin: 0 0 16px !important;
  color: var(--sv-charcoal, #2A2432);
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

/* Ligne champ + bouton */
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px !important;
  align-items: stretch;
}

/* Champ e-mail */
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row input {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  min-height: 58px;
  margin: 0 !important;
  padding: 14px 20px !important;
  color: var(--sv-ink, #34303C);
  background: rgba(255,255,255,.92) !important;
  border: 1px solid var(--sv-gray-soft, #DCDAE3) !important;
  border-radius: 14px !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
  font-size: 16px !important;
  line-height: 1.4;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row input::placeholder {
  color: #B7B3BD !important;
  opacity: 1;
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row input:focus {
  border-color: var(--sv-violet, #9C86C4) !important;
  box-shadow: 0 0 0 4px rgba(156,134,196,.16) !important;
}

/* Bouton Accéder à ma formation */
.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  min-height: 58px;
  margin: 0 !important;
  padding: 14px 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(
    135deg,
    var(--sv-violet, #9C86C4),
    var(--sv-violet-deep, #6E5A94)
  ) !important;
  font-family: var(--sv-font-body, 'Mulish', sans-serif);
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 12px 28px -14px rgba(110,90,148,.58) !important;
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-row button:hover {
  transform: translateY(-1px);
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-message {
  margin: 12px 0 0 !important;
  color: #6B5BB8;
  font-size: 13px;
  line-height: 1.6;
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-message:empty {
  display: none !important;
}

.elementor .pgm-registration
.clarvia-fo-existing-panel
.clarvia-fo-access-message.is-error {
  color: #B42318 !important;
}

/* FORMINATOR 2837 */
.elementor .pgm-registration
.pgm-registration-form
#forminator-module-2837 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* MOBILE */
@media (max-width: 767px) {
  .pgm-registration .clarvia-fo-tablist {
    width: 100%;
    max-width: 310px;
  }

  .pgm-registration .clarvia-fo-tab {
    flex: 1 1 50%;
    min-width: 0;
    padding: 10px 12px;
    font-size: 13px;
  }

  .elementor .pgm-registration
  .clarvia-fo-existing-panel
  .clarvia-fo-access-form {
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }

  .elementor .pgm-registration
  .clarvia-fo-existing-panel
  .clarvia-fo-access-row {
    grid-template-columns: 1fr;
  }

  .elementor .pgm-registration
  .clarvia-fo-existing-panel
  .clarvia-fo-access-row button {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pgm-registration .clarvia-fo-tab,
  .elementor .pgm-registration
  .clarvia-fo-existing-panel
  .clarvia-fo-access-row button {
    transition: none !important;
  }
}

/* =========================================================
   FORMATION OFFERTE — Masquer correctement le panneau
   "Déjà inscrit(e) ?" (ID clarvia-fo-existing-panel)
   ========================================================= */

/* 1. Masquer tout le widget quand il n'est pas actif */
#clarvia-fo-existing-panel:not(.is-active),
.elementor #clarvia-fo-existing-panel:not(.is-active),
.pgm-registration #clarvia-fo-existing-panel:not(.is-active) {
  display: none !important;
}

/* 2. Masquer le <summary> en toutes circonstances (sécurité) */
#clarvia-fo-existing-panel details.clarvia-fo-access > summary,
#clarvia-fo-existing-panel .clarvia-fo-access > summary,
.pgm-registration #clarvia-fo-existing-panel summary {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  border: 0 !important;
}

/* 3. Forcer la fermeture du <details> quand le panneau n'est pas actif */
#clarvia-fo-existing-panel:not(.is-active) details.clarvia-fo-access {
  display: none !important;
}

/* 4. Quand le panneau est actif, on laisse le formulaire visible
      (mais sans le summary) */
#clarvia-fo-existing-panel.is-active {
  display: block !important;
}

#clarvia-fo-existing-panel.is-active details.clarvia-fo-access {
  display: block !important;
}
/* ==========================================================================
   BADGE — statut court (ex. "Bientôt disponible"), cohérent avec sv-btn-*
   À coller dans pgm.css, juste après le bloc BOUTONS
   ========================================================================== */

.sv-badge{
  display:inline-block;
  font-family: var(--sv-font-body);
  font-size:0.78rem;
  font-weight:600;
  color: var(--sv-violet-deep);
  background: var(--sv-pastel-lilac);
  padding:6px 18px;
  border-radius: var(--sv-radius-pill);
  letter-spacing:0.01em;
}

/* variante carte centrée, pour un état vide/à venir dans un dashboard */
.sv-card-center{
  text-align:center;
}
.sv-card-center .sv-h3{ margin-top:16px; }

/* ==========================================================================
   TUTOR LMS — Dashboard apprenante ("Mon espace") habillé au thème Soie Violette
   Classes réelles confirmées via inspecteur navigateur (pas d'invention).
   À coller dans pgm.css, à la fin du fichier.
   ========================================================================== */

.tutor-wrap.tutor-dashboard{
  font-family: var(--sv-font-body);
}

/* --------------------------------------------------------------------------
   Carte d'accueil "Hello, Yamina"
   -------------------------------------------------------------------------- */
.tutor-frontend-dashboard-header{
  background: var(--sv-surface);
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius-md);
  padding: 28px 32px !important;
  backdrop-filter: blur(14px);
  box-shadow: var(--sv-shadow);
  margin-bottom: 24px;
}

.tutor-avatar-xl .tutor-avatar-text{
  background: linear-gradient(135deg, var(--sv-violet), var(--sv-violet-deep)) !important;
  color: var(--sv-white) !important;
  font-family: var(--sv-font-display);
}

.tutor-dashboard-header-greetings{
  font-family: var(--sv-font-body) !important;
  color: var(--sv-ink) !important;
}

.tutor-dashboard-header-username{
  font-family: var(--sv-font-display) !important;
  color: var(--sv-charcoal) !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Menu latéral
   -------------------------------------------------------------------------- */
.tutor-dashboard-permalinks{
  background: var(--sv-surface);
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius-md);
  padding: 12px;
  backdrop-filter: blur(14px);
  box-shadow: var(--sv-shadow);
}

.tutor-dashboard-menu-item{
  border-radius: var(--sv-radius-sm);
  margin-bottom: 4px;
  overflow: hidden;
}

.tutor-dashboard-menu-item-link{
  font-family: var(--sv-font-body) !important;
  color: var(--sv-ink) !important;
  padding: 12px 16px !important;
  border-radius: var(--sv-radius-sm);
  transition: background .15s ease, color .15s ease;
}

.tutor-dashboard-menu-item:not(.active):hover .tutor-dashboard-menu-item-link{
  background: var(--sv-pastel-lilac);
}

/* L'état actif ("Tableau de bord" surligné) */
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link{
  background: linear-gradient(135deg, var(--sv-violet), var(--sv-violet-deep)) !important;
  color: var(--sv-white) !important;
  box-shadow: 0 8px 18px -10px rgba(110,90,148,.55);
}

.tutor-dashboard-menu-divider{
  background: var(--sv-gray-soft);
  height: 1px;
  margin: 10px 4px;
  border: 0;
}

/* --------------------------------------------------------------------------
   Zone de contenu principale
   -------------------------------------------------------------------------- */
.tutor-dashboard-title{
  font-family: var(--sv-font-display) !important;
  color: var(--sv-charcoal) !important;
  font-weight: 600 !important;
  font-size: 1.6rem !important;
}

/* Volontairement sans carte ici : la carte "Bientôt disponible"
   (sv-block-flat) joue déjà ce rôle à l'intérieur — évite une carte
   dans une carte. */
.tutor-dashboard-content{
  padding: 8px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Menu mobile bas d'écran
   -------------------------------------------------------------------------- */
#tutor-dashboard-footer-mobile{
  background: var(--sv-white);
  border-top: 1px solid var(--sv-gray-soft);
}
#tutor-dashboard-footer-mobile a{
  color: var(--sv-ink) !important;
  font-family: var(--sv-font-body);
}
#tutor-dashboard-footer-mobile a i{
  color: var(--sv-violet-deep) !important;
}

/* Mobile : un peu moins de padding sur les cartes */
@media (max-width: 600px){
  .tutor-frontend-dashboard-header,
  .tutor-dashboard-permalinks{
    padding: 18px !important;
  }
}
/* ==========================================================================
   TUTOR LMS — Masquer temporairement les onglets non utilisés
   Classes confirmées via inspecteur navigateur
   ========================================================================== */

.tutor-dashboard-menu-my-profile,
.tutor-dashboard-menu-enrolled-courses,
.tutor-dashboard-menu-settings{
  display: none !important;
}

/* Idem pour le menu mobile bas d'écran, si vous souhaitez le simplifier aussi */
/*
#tutor-dashboard-footer-mobile a[href*="my-quiz-attempts"]{
  display: none !important;
}
*/


/* ==========================================================================
   EN-TÊTE BUDDYBOSS (site-wide) — palette Soie Violette
   Le thème BuddyBoss pilote déjà ses couleurs via des variables CSS
   (--bb-primary-color, --bb-header-background, etc.), visibles dans le
   code source de votre site. Cette surcharge les aligne sur vos couleurs
   sv- sans toucher au reste du design system BuddyBoss.

   ATTENTION : cet en-tête est GLOBAL (affiché sur TOUTES les pages du
   site, pas seulement /mon-espace/). Si vous ne voulez le violet QUE sur
   les pages formation, voir la note en bas de bloc.
   ========================================================================== */

:root{
  --bb-primary-color: #6E5A94;
  --bb-primary-color-rgb: 110, 90, 148;

  --bb-header-background: #F8F6FB;
  --bb-header-links: #34303C;
  --bb-header-links-hover: #6E5A94;

  --bb-sidenav-menu-background-color-active: #6E5A94;
  --bb-sidenav-text-active: #FFFFFF;

  --bb-primary-button-background-regular: #6E5A94;
  --bb-primary-button-background-hover: #594477;
  --bb-primary-button-border-regular: #6E5A94;
  --bb-primary-button-border-hover: #594477;

  --bb-body-background-color: #F0F5FF; /* laissez tel quel, ou remplacez par #F8F6FB */
}
/* ==========================================================================
   CORRECTIF — sv-bg-blur dans un conteneur Elementor "boxed"
   Sans ça, le fond dégradé reste confiné à la largeur du conteneur
   au lieu de couvrir tout l'écran (cas du dashboard sur /mon-espace/).
   Réutilisable : s'applique automatiquement partout où vous mettez
   les deux classes "sv-bg-blur" + conteneur boxed d'Elementor.
   ========================================================================== */

.sv-bg-blur.e-con-boxed::before{
  position: fixed !important;
  inset: 0 !important;
  transform: none !important;
}
/*----------------boite de profil ---------------*/
.pgm-profile-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.pgm-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}

.pgm-profile-name {
  font-weight: 500;
}

.pgm-chevron {
  margin-left: auto;
  transition: transform 0.2s ease;
}

details[open] .pgm-chevron {
  transform: rotate(180deg);
}

.pgm-divider {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 8px 12px;
}

/* Style commun pour les liens ET le bouton de déconnexion */
.pgm-contact-list a,
.pgm-contact-list .pgm-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
  text-align: left;
  border-radius: 8px;
  box-sizing: border-box;
}

.pgm-contact-list a:hover,
.pgm-contact-list .pgm-logout:hover {
  background-color: #f0e7ff;
}

/* Force le texte sur une seule ligne */
.pgm-logout span {
  white-space: nowrap;
}

.pgm-divider {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 6px 12px;
}

/* Icônes */
.pgm-contact-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
/* ===== Boutons PGM : violet foncé + triangle orange ===== */
.clv-theme-pgm .clv-accueil__btn {
  background: #4B1C71 !important;      /* violet foncé */
/*  border-color: #E8762C !important;  */  /* contour orange */
  color: #FFFFFF !important;           /* texte blanc */
}
.clv-theme-pgm .clv-accueil__btn:hover {
  background: #532567 !important;      /* violet un peu plus clair au survol */
}
.clv-theme-pgm .clv-accueil__btn svg {
 /* color: #E8762C !important;   */        /* triangle orange */
}

/* ===== Titre « Ton parcours commence ici. » sur une seule ligne ===== */
.clv-theme-pgm .clv-accueil__titre {
  white-space: nowrap !important;                               /* jamais de retour à la ligne */
  font-size: min(56px, calc((100vw - 48px) / 14.5)) !important; /* taille qui s'adapte à l'écran */
  line-height: 1.1 !important;
}
/* ===== « Un Pas vers le Grand Ménage™ » plus petit ===== */
.clv-theme-pgm .clv-accueil__sous {
  font-size: clamp(20px, 3vw, 30px) !important;   /* 30 px sur ordinateur, 20 px minimum sur mobile */
  line-height: 1.2 !important;
}
/* ===== Mobile : lien « Télécharger le PDF » centré ===== */
@media (max-width: 700px) {
  .clv-theme-pgm .clv-carnet__liens { justify-content: center !important; }
}
/* ===== Titre des leçons (ex. « Bienvenue ») : même couleur que l'accueil ===== */
.clv-theme-pgm .clv-lecon__titre { color: var(--clv-violet-nuit) !important; }
/* ===== Signe Clarvia orange dans les boutons ===== */
.clv-theme-pgm .clv-accueil__btn svg { color: #E8762C !important; }
/*-------------fin boite profil---------------*/



