@import "https://cdn-uicons.flaticon.com/2.0.0/uicons-regular-rounded/css/uicons-regular-rounded.css";

/* =========================================================
   FTC CENTRAL PAGES (theme / expert / company)
   - Couleurs:
     - Partout: on utilise la couleur TEXTE par défaut (donc pas de #hex)
     - Les accents passent par .text-secondary (ton thème gère)
     - Bloc isBFC: garde le SECONDARY (= --pix-secondary)
   ========================================================= */

/* Scope */
#ftc-pages-root{
  color: inherit;
  --ftc-text: inherit;                 /* couleur texte "normale" du site */
  --ftc-secondary: var(--pix-secondary, #c82b43); /* uniquement pour isBFC */
}

/* wrapper */
#ftc-pages-root .ftc-pages-wrap{
  max-width: 1260px;
  margin: 0 auto;
  padding: 0; /* Elementor gère */
}

/* back */
#ftc-pages-root .ftc-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color: inherit;
  font-weight: 400;
  font-size: 12px;
  margin: 10px 0 30px;
}

/* ---------------- THEME PAGE ---------------- */
#ftc-pages-root .ftc-theme-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
@media (min-width: 1024px){
  #ftc-pages-root .ftc-theme-grid{
    grid-template-columns: 1.3fr .9fr;
    gap: 36px;
    align-items:start;
  }
}

/* title row */
#ftc-pages-root .ftc-theme-head{
  display:flex;
  align-items:flex-start;
  gap: 14px;
}
#ftc-pages-root .ftc-theme-ico{
  font-size: 24px;
  line-height: 1;
  margin-top: 6px;
}
#ftc-pages-root .ftc-theme-title{
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.05;
}
#ftc-pages-root .ftc-theme-spacer{
  height: 22px; /* + d'espace après le nom thématique */
}

/* questions list */
#ftc-pages-root .ftc-q-list{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

/* item card */
#ftc-pages-root .ftc-q-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
  overflow:hidden;
  transition: background .15s ease, border-color .15s ease;
}
#ftc-pages-root .ftc-q-item:hover{
  background: rgba(0,0,0,.02); /* hover gris très clair */
  border-color: rgba(0,0,0,.16);
}
#ftc-pages-root .ftc-q-item.is-open{
  border-color: rgba(0,0,0,.22);
}

/* top clickable row */
#ftc-pages-root .ftc-q-top{
  width: 100%;
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: transparent;
  border: 0;
  text-align:left;
  cursor:pointer;
  outline: none !important;
  box-shadow: none !important;
}

/* left arrow aligned (couleur via .text-secondary dans le JS) */
#ftc-pages-root .ftc-q-arrow{
  width: 18px;
  flex: 0 0 18px;
  line-height: 1;
  transform: translateY(1px);
  font-weight: 400;
  display: inline-block;
  transition: transform .15s ease;
  transform-origin: 50% 50%;
}
#ftc-pages-root .ftc-q-arrow.is-open{
  transform: rotate(90deg); /* ➜ devient ↓ */
}
#ftc-pages-root .ftc-q-title{
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}


/* body collapsible */
#ftc-pages-root .ftc-q-body{
  display:none;
  padding: 0 16px 14px 44px; /* aligne sous le titre */
}
#ftc-pages-root .ftc-q-item.is-open .ftc-q-body{
  display:block;
}

/* bullets */
#ftc-pages-root .ftc-q-bullets{
  margin: 10px 0 0;
  padding-left: 16px;
}
#ftc-pages-root .ftc-q-bullets li{
  margin: 6px 0;
  font-size: 13px;
  line-height: 1.35;
}

/* ---------------- RIGHT SIDE EXPERTS ---------------- */
#ftc-pages-root .ftc-experts-box{
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* isBFC block: background secondary, title white */
#ftc-pages-root .ftc-experts-box.is-ftc{
  background: var(--ftc-secondary);
  border-radius: 10px;
  padding: 16px 16px 18px;
  color: #fff; /* uniquement pour le titre/texte du bloc */
  margin-bottom: 25px;
}
#ftc-pages-root .ftc-experts-box-title{
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 16px;
  line-height: 1.15;
}

/* Dans le bloc isBFC: la classe text-secondary doit rester lisible sur fond secondary */
#ftc-pages-root .ftc-experts-box.is-ftc .text-secondary{
  color: #fff !important; /* accent en blanc dans le header isBFC */
}

/* Experts grid */
#ftc-pages-root .ftc-experts-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (min-width: 1024px){
  #ftc-pages-root .ftc-experts-grid{
    grid-template-columns: 1fr 1fr;
  }
}
/* COMPANY PAGE: grid des experts aligné à gauche, sans gros trou */
#ftc-pages-root .ftc-company-experts .ftc-experts-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 210px));
  gap: 16px;
  justify-content: start;
  align-items: stretch;
}

/* Mobile: cards plus flexibles */
@media (max-width: 520px){
  #ftc-pages-root .ftc-company-experts .ftc-experts-grid{
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  }
}


/* Expert card (cliquable) */
#ftc-pages-root .ftc-expertCard{
  background:#fff;
  border-radius: 18px;
  padding: 20px;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height: 360px;        /* plus haut (poool-like) */
  width: 210px;
  max-width: 210px;
  text-decoration: none;
}
#ftc-pages-root .ftc-expertCard:hover{
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}
@media (max-width: 520px){
  #ftc-pages-root .ftc-expertCard{
    width: 100%;
    max-width: none;
  }
}

/* Dans isBFC: le bloc est blanc => texte normal (PAS blanc) */
#ftc-pages-root .ftc-experts-box.is-ftc .ftc-expertCard{
  background:#fff;
  border-color: rgba(255,255,255,.35);
  box-shadow: none;
}


/* Avatar */
#ftc-pages-root .ftc-expertAvatar{
  width: 140px; height: 140px;
  border-radius: 999px;
  overflow:hidden;
  background: rgba(0,0,0,.04);
}
#ftc-pages-root .ftc-expertAvatar img{
  width:100%; height:100%;
  object-fit: cover;
  display:block;
}

#ftc-pages-root .ftc-expertName{
  margin-top: 8px;
  font-size: 14px;
  font-weight: 800;
  text-align:center;
}
#ftc-pages-root .ftc-expertJob{
  margin-top: 0px;
  font-size: 13px;
  font-weight: 400;
  opacity:1;
  text-align:center;
}
#ftc-pages-root .ftc-expertCompany{
  margin-top: 20px;
  font-size: 13px;
  font-weight: 700;
  opacity:1;
  text-align:center;
}

/* Button visual */
#ftc-pages-root .ftc-btn{
  margin-top:auto;

  width: auto;              /* ✅ s'adapte au texte */
  max-width: none;          /* ✅ pas de limite à 160px */
  padding: 0 18px;          /* ✅ plus large */
  height: 44px;             /* ✅ plus “newsletter-like” */

  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size: 14px;
  font-weight: 700;

  border: 1px solid rgba(0,0,0,.18);
  color: inherit;
  background: transparent;

  white-space: nowrap;      /* ✅ pas de retour à la ligne */
}
#ftc-pages-root .ftc-expertCard .ftc-btn{
  width: 100%;
  max-width: 160px; /* comme avant, seulement dans les cards */
}

#ftc-pages-root .ftc-btn:hover{
  background: rgba(0,0,0,.03);
}

/* Bouton dans isBFC: secondary */
#ftc-pages-root .ftc-experts-box.is-ftc .ftc-btn{
  background: var(--ftc-secondary);
  border-color: transparent;
  color: #fff;
}
#ftc-pages-root .ftc-experts-box.is-ftc .ftc-btn:hover{
  filter: brightness(.96);
}

/* ---------------- EXPERT PAGE ---------------- */
#ftc-pages-root .ftc-hero{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  padding: 40px;
}
#ftc-pages-root .ftc-hero-cols{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 1024px){
  #ftc-pages-root .ftc-hero-cols{
    grid-template-columns: 220px 1fr 220px;
    align-items:start;
    gap: 24px;
  }
}

#ftc-pages-root .ftc-hero-c1{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap: 10px;
}
#ftc-pages-root .ftc-hero-avatar{
  width: 150px; height: 150px;
  border-radius: 999px;
  overflow:hidden;
  background: rgba(0,0,0,.04);
}
#ftc-pages-root .ftc-hero-avatar img{
  width:100%; height:100%;
  object-fit: cover;
  display:block;
}

#ftc-pages-root .ftc-link{
  text-decoration:none;
  font-weight: 700;
  font-size: 13px;
  color: inherit;
}
#ftc-pages-root .ftc-hero-name{
  margin: 0;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.05;
}
#ftc-pages-root .ftc-hero-job{
  margin-top: 6px;
  font-size: 14px;
  font-weight: 700;
  opacity:.75;
}
#ftc-pages-root .ftc-hero-bio{
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.45;
}
#ftc-pages-root .ftc-more{
  margin-top: 10px;
  background: transparent;
  border: 0;
  padding: 0;
  cursor:pointer;
  font-weight: 800;
  font-size: 13px;
  color: inherit;
}

#ftc-pages-root .ftc-hero-c3{
  display:flex;
  justify-content:flex-end;
}
#ftc-pages-root .ftc-companyBox{
  width: 180px;
  height: 180px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.10);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color: inherit;
}
#ftc-pages-root .ftc-companyBox img{
  width: 120px; height: 120px;
  object-fit: contain;
}
#ftc-pages-root .ftc-companyFallback{
  font-weight: 800;
  padding: 12px;
  text-align:center;
}

/* booking section */
#ftc-pages-root .ftc-book{
  margin-top: 42px;
  background: transparent;
  padding: 20px;
}
#ftc-pages-root .ftc-h2{
  display:flex;
  align-items:center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 32px;
  font-weight: 700;
}
#ftc-pages-root .ftc-h2-ico{
  font-size: 22px;
  line-height: 1;
}

/* au cas où ton thème met un fond au parent */
#ftc-pages-root .ftc-cal {
  width: 100%;
  min-height: 500px; /* ajuste */
  border: 0 !important;
  background: transparent !important;
}

/* optionnel si tu avais des styles iframe */
#ftc-pages-root .ftc-cal iframe {
  border: 0 !important;
}


/* ---------------- COMPANY PAGE ---------------- */
#ftc-pages-root .ftc-company-hero{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  padding: 40px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 1024px){
  #ftc-pages-root .ftc-company-hero{
    grid-template-columns: 220px 1fr;
    align-items:start;
    gap: 26px;
  }
}
#ftc-pages-root .ftc-company-logo{
  width: 180px; height: 180px;
  object-fit: contain;
}
#ftc-pages-root .ftc-company-name{
  margin: 0;
  font-size: 34px;
  font-weight: 900;
}
#ftc-pages-root .ftc-company-url{
  display:inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  text-decoration:none;
  color: inherit;
}
#ftc-pages-root .ftc-company-desc{
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
  opacity:.9;
}
#ftc-pages-root .ftc-company-experts{
  margin-top: 42px;
}

/* Si tu utilises un grid spécifique "company" (évite cards qui s'étirent) */
#ftc-pages-root .ftc-expertsGrid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 210px));
  gap: 18px;
  justify-content: start;
  align-items: stretch;
}
@media (max-width: 520px){
  #ftc-pages-root .ftc-expertsGrid{
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  }
}

/* misc */
#ftc-pages-root .ftc-muted{
  opacity:.7;
  font-weight: 600;
}

/* Texte “noms” en gris 9 */
#ftc-root .ftc-domain-title,
#ftc-root .ftc-lbl,
#ftc-pages-root .ftc-q-title,
#ftc-pages-root .ftc-expertName,
#ftc-pages-root .ftc-company-name{
  color: var(--pix-gray-9) !important;
}

/* Optionnel : noms companies dans cards expert (si tu l’affiches) */
#ftc-pages-root .ftc-expertCompany{
  color: var(--pix-gray-9) !important;
}

/* =========================
   Formulaire (fallback contact)
   ========================= */
#ftc-pages-root .ftc-contactWizard{
  margin-top: 18px;
}

#ftc-pages-root .ftc-contactStepper{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 18px;
  margin: 8px 0 18px;
}

#ftc-pages-root .ftc-step{
  width: 34px; height: 34px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  background: rgba(0,0,0,.10);
}

#ftc-pages-root .ftc-step.is-active{
  background: var(--pix-secondary);
  color: #fff;
}
/* Step done = rond rouge + check en blanc */
#ftc-pages-root .ftc-step.is-done{
  background: var(--ftc-secondary);
  color: transparent;          /* masque la lettre (A/B/C) si elle reste dans le DOM */
  position: relative;
}
/* Coche affichée pour les steps done */
#ftc-pages-root .ftc-step.is-done::after{
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
}
/* Ligne rouge quand la section est franchie
   -> marche si tu ajoutes une classe sur la ligne (recommandé) */
#ftc-pages-root .ftc-stepLine.is-done{
  background: var(--ftc-secondary);
}

/* Variante sans JS : colore la ligne qui suit un step done (si ta ligne est juste après le step dans le DOM) */
#ftc-pages-root .ftc-step.is-done + .ftc-stepLine{
  background: var(--ftc-secondary);
}

#ftc-pages-root .ftc-stepLine{
  height: 2px;
  width: 90px;
  background: rgba(0,0,0,.12);
}

#ftc-pages-root .ftc-contactPanel{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  padding: 26px;
}

#ftc-pages-root .ftc-stepTitle{
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 900;
}

/* Grid */
#ftc-pages-root .ftc-formGrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

@media (min-width: 900px){
  #ftc-pages-root .ftc-formGrid{
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 14px;
  }
}

#ftc-pages-root .ftc-field{
  display:flex;
  flex-direction:column;
  gap: 4px;              /* ✅ moins d’espace label -> input */
  padding-bottom: 14px;
}

#ftc-pages-root .ftc-field-full{
  grid-column: 1 / -1;
}

/* ✅ Labels : plus gros, pas gras */
#ftc-pages-root .ftc-label{
  font-size: 14px;        /* ✅ plus gros */
  font-weight: 400;       /* ✅ pas gras */
  line-height: 1.2;
  margin: 0 0 4px 0;      /* ✅ encore moins d’espace */
}

/* Inputs */
#ftc-pages-root .ftc-input,
#ftc-pages-root .ftc-select,
#ftc-pages-root .ftc-textarea{
  width:100%;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  height: 44px;           /* ✅ inputs plus “confortables” */
  box-sizing: border-box;
  background: #fff;
  margin-bottom: 6px;
}

/* textarea */
#ftc-pages-root .ftc-textarea{
  height: auto;
  min-height: 120px;
  resize: vertical;
}

/* option placeholder select (utile si tu mets <option value="" disabled selected>...) */
#ftc-pages-root .ftc-select:invalid{
  color: rgba(0,0,0,.55);
}

/* Checkbox row */
#ftc-pages-root .ftc-checkLabel{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: 14px;
  font-weight: 400;       /* ✅ pas gras */
  line-height: 1.35;
}

#ftc-pages-root .ftc-check{
  margin-top: 3px;
}

/* Actions */
#ftc-pages-root .ftc-contactActions{
  display:flex;
  justify-content:flex-end;
  gap: 14px;
  margin-top: 18px;
}

#ftc-pages-root .ftc-btn.ftc-btn-primary{
  background: var(--pix-secondary);
  border-color: transparent;
  color: #fff;
}

#ftc-pages-root .ftc-btn.ftc-btn-ghost{
  background: #fff;
  border: 1px solid rgba(0,0,0,.14);
}

#ftc-pages-root .ftc-contactStatus{
  margin-top: 12px;
  font-weight: 700;
}

#ftc-pages-root .ftc-rgpd{
  font-weight: 400;
  opacity: .7; /* si tu veux garder l’effet “muted” */
}
#ftc-pages-root .ftc-rgpd a{
  font-weight: 700; /* optionnel : lien un peu plus visible */
}

/* Errors */
#ftc-pages-root .has-error .ftc-input,
#ftc-pages-root .has-error .ftc-select,
#ftc-pages-root .has-error .ftc-textarea{
  border-color: rgba(200,43,67,.7);
}

#ftc-pages-root .ftc-error{
  font-size: 12px;
  color: rgba(200,43,67,1);
  font-weight: 700;
}

/*admin expert*/
#ftc-pages-root .ftc-theme-right{
  position: relative;
}

#ftc-pages-root .ftc-theme-rightInner{
  will-change: transform;
}
#ftc-pages-root .ftc-theme-rightInner{
  transition: transform .18s ease;
}


/* checkbox align + comfort */
#ftc-pages-root .ftc-domain-check{
  width:18px;
  height:18px;
  cursor:pointer;
  accent-color: var(--pix-secondary);
}

/* FTC expert-form — toast autosave (hors root car injecté dans <body>) */
.ftc-saveToast{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999999;

  display: none;                 /* caché par défaut */
  padding: 10px 14px;
  border-radius: 12px;

  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);

  font-size: 13px;
  font-weight: 600;
  color: var(--pix-gray-9, #111);
  max-width: 360px;
}

.ftc-saveToast.is-on{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ftc-saveToast.is-error{
  border-color: rgba(200,43,67,.45);
}


#ftc-pages-root .ftc-helpText{
  font-size: 13px;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
}
#ftc-pages-root .ftc-helpText b{
  font-weight: 800;
}
#ftc-pages-root .ftc-experts-box.is-ftc a{
  /*color:#fff;*/
  text-decoration: underline;
}

#ftc-pages-root .ftc-expertform-spacer{ height: 16px; }
#ftc-pages-root .ftc-expertform-spacer2{ height: 22px; }



/* FTC expert form: right column sticky (Mode d’emploi) */
#ftc-pages-root .ftc-expertform-rightInner{
  position: sticky;
  top: 24px;            /* ajuste si besoin (ex: 16 / 32) */
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* FIX sticky Elementor: sticky casse si un parent a overflow != visible */
#ftc-pages-root,
#ftc-pages-root .ftc-pages-wrap,
#ftc-pages-root .ftc-theme-grid,
#ftc-pages-root .ftc-theme-left,
#ftc-pages-root .ftc-theme-right{
  overflow: visible !important;
}

/* FIX sticky: sticky casse si un parent est transformé */
#ftc-pages-root .ftc-theme-grid,
#ftc-pages-root .ftc-theme-right{
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

/* Ton conteneur sticky */
#ftc-pages-root .ftc-expertform-rightInner{
  position: sticky;
  top: 24px; /* ajuste */
  align-self: start;
}

#ftc-pages-root .ftc-expertForm-profileTitle{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--pix-gray-9);
}