/* ==========================================================================
   FQM — Surcharges Divi
   Sélecteurs ciblant la structure Divi (.et_pb_…, #main-header, etc.)
   ========================================================================== */

/* ---------- Base ---------- */
body.divi-fqm{
  font-family:var(--fqm-font-body);
  color:var(--fqm-text);
  background:var(--fqm-white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.divi-fqm h1,.divi-fqm h2,.divi-fqm h3,.divi-fqm h4,.divi-fqm h5,
.divi-fqm .et_pb_module_header,
.divi-fqm .et_pb_slide_title,
.divi-fqm .et_pb_promo_description h1,
.divi-fqm .et_pb_promo_description h2{
  font-family:var(--fqm-font-head)!important;
  font-weight:600;
  color:var(--fqm-anthracite);
  letter-spacing:-.01em;
  line-height:1.2;
}
.divi-fqm a{color:var(--fqm-anthracite);transition:color .15s}
.divi-fqm a:hover{color:#fff}

/* Accent doré en italique sur fragment */
.divi-fqm em,.divi-fqm .fqm-accent{
  color:var(--fqm-gold-dark);
  font-style:italic;
}

/* ---------- Header / Menu Divi ---------- */
.divi-fqm #main-header{
  background:var(--fqm-white)!important;
  box-shadow:none!important;
  border-bottom:1px solid var(--fqm-light);
}
.divi-fqm #et-top-navigation{padding-top:24px!important}
.divi-fqm #top-menu li a{
  color:var(--fqm-anthracite)!important;
  font-family:var(--fqm-font-body);
  font-weight:500;
  font-size:.95rem;
  text-transform:none;
  letter-spacing:0;
}
.divi-fqm #top-menu li a:hover,
.divi-fqm #top-menu li.current-menu-item > a{
  color:var(--fqm-gold-dark)!important;
  opacity:1;
}
.divi-fqm #top-menu li.cta > a,
.divi-fqm .nav li.cta a{
  background:var(--fqm-anthracite)!important;
  color:#fff!important;
  padding:10px 18px!important;
  border-radius:var(--fqm-radius-sm);
}

/* Logo zone — Playfair pour le slogan (si activé via texte) */
.divi-fqm #logo{max-height:60px}

/* ---------- Boutons Divi ---------- */
.divi-fqm .et_pb_button,
.divi-fqm a.et_pb_button{
  background:var(--fqm-gold)!important;
  color:var(--fqm-anthracite)!important;
  border:0!important;
  font-family:var(--fqm-font-body)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:.85rem 1.4rem!important;
  border-radius:var(--fqm-radius-sm)!important;
  transition:background .2s,transform .15s,color .2s!important;
}
.divi-fqm .et_pb_button:after,
.divi-fqm a.et_pb_button:after{display:none!important}
.divi-fqm .et_pb_button:hover,
.divi-fqm a.et_pb_button:hover{
  background:var(--fqm-gold-dark)!important;
  color:var(--fqm-anthracite)!important;
  padding:.85rem 1.4rem!important;
  transform:translateY(-1px);
}

/* Bouton secondaire / "outline" — classe Divi personnalisée à activer dans le module */
.divi-fqm .et_pb_button.fqm-outline,
.divi-fqm a.et_pb_button.fqm-outline{
  background:#fff!important;
  border:1px solid var(--fqm-border)!important;
  color:var(--fqm-anthracite)!important;
}
.divi-fqm .et_pb_button.fqm-outline:hover{
  border-color:var(--fqm-gold)!important;
  color:var(--fqm-gold-dark)!important;
  background:#fff!important;
}

/* Bouton anthracite (CTA principal sombre) */
.divi-fqm .et_pb_button.fqm-dark,
.divi-fqm a.et_pb_button.fqm-dark{
  background:var(--fqm-anthracite)!important;
  color:#fff!important;
}
.divi-fqm .et_pb_button.fqm-dark:hover{background:var(--fqm-anthracite-dark)!important;color:#fff!important}

/* ---------- Modules Divi courants ---------- */
/* Blurb (icône + texte) */
.divi-fqm .et_pb_blurb_position_left .et_pb_main_blurb_image,
.divi-fqm .et_pb_blurb .et-pb-icon{
  color:var(--fqm-gold-dark)!important;
  background:var(--fqm-sand);
  border-radius:50%;
  width:48px;height:48px;
  display:inline-flex;align-items:center;justify-content:center;
}
.divi-fqm .et_pb_blurb_content .et_pb_module_header{
  font-size:1.05rem!important;
  color:var(--fqm-anthracite);
  margin-bottom:6px;
}
.divi-fqm .et_pb_blurb_description{color:var(--fqm-text-muted);font-size:.92rem;line-height:1.55}

/* Counters / Number Counter */
.divi-fqm .et_pb_number_counter .percent-value,
.divi-fqm .et_pb_number_counter .percent{
  font-family:var(--fqm-font-head)!important;
  color:var(--fqm-anthracite)!important;
  font-weight:600;
}
.divi-fqm .et_pb_number_counter .title{color:var(--fqm-text-muted)!important;font-weight:500}

/* Cartes / Promo */
.divi-fqm .et_pb_promo,
.divi-fqm .et_pb_blurb{
  border-radius:var(--fqm-radius);
}
.divi-fqm .et_pb_promo{
  background:var(--fqm-sand)!important;
  padding:36px!important;
}

/* Section "Fullwidth header" — hero éventuel */
.divi-fqm .et_pb_fullwidth_header h1{
  font-family:var(--fqm-font-head)!important;
  font-size:clamp(2.4rem,4vw,3.6rem)!important;
}
.divi-fqm .et_pb_fullwidth_header_subhead{
  color:var(--fqm-text-muted)!important;
  font-weight:400;
}

/* Champs de formulaire (Contact form Divi) */
.divi-fqm .et_pb_contact p input,
.divi-fqm .et_pb_contact p textarea,
.divi-fqm .et_pb_contact_field input,
.divi-fqm .et_pb_contact_field textarea,
.divi-fqm .et_pb_contact_field select{
  background:#fff!important;
  border:1px solid var(--fqm-border)!important;
  border-radius:var(--fqm-radius-sm)!important;
  padding:.7rem .9rem!important;
  font-family:var(--fqm-font-body)!important;
  color:var(--fqm-text)!important;
  font-size:.92rem!important;
  transition:border-color .15s,box-shadow .15s;
}
.divi-fqm .et_pb_contact_field input:focus,
.divi-fqm .et_pb_contact_field textarea:focus{
  outline:none!important;
  border-color:var(--fqm-gold)!important;
  box-shadow:0 0 0 3px rgba(201,183,156,.18)!important;
}

/* Toggles / Accordéons */
.divi-fqm .et_pb_toggle{
  background:#fff!important;
  border:1px solid var(--fqm-border-soft)!important;
  border-radius:var(--fqm-radius)!important;
  padding:18px 24px!important;
}
.divi-fqm .et_pb_toggle_title{
  color:var(--fqm-anthracite)!important;
  font-family:var(--fqm-font-head)!important;
  font-size:1.05rem!important;
}
.divi-fqm .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title{color:var(--fqm-gold-dark)!important}

/* Tabs */
.divi-fqm .et_pb_tabs{
  background:transparent!important;
  border:0!important;
}
.divi-fqm .et_pb_tabs_controls{
  background:#fff!important;
  border-bottom:1px solid var(--fqm-border)!important;
  padding:0!important;
}
.divi-fqm .et_pb_tabs_controls li{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.divi-fqm .et_pb_tabs_controls li a{
  color:var(--fqm-text-muted)!important;
  font-family:var(--fqm-font-body)!important;
  font-weight:500!important;
  font-size:.92rem!important;
  padding:16px 18px!important;
  border-bottom:2px solid transparent!important;
  text-transform:none!important;
}
.divi-fqm .et_pb_tabs_controls li.et_pb_tab_active a{
  color:var(--fqm-anthracite)!important;
  border-bottom-color:var(--fqm-gold)!important;
}
.divi-fqm .et_pb_all_tabs{background:transparent!important;padding:24px 0!important}

/* Testimonials */
.divi-fqm .et_pb_testimonial{
  background:var(--fqm-sand)!important;
  border-radius:var(--fqm-radius)!important;
  padding:30px!important;
  border:0!important;
}
.divi-fqm .et_pb_testimonial:before{color:var(--fqm-gold-dark)!important}
.divi-fqm .et_pb_testimonial_author{color:var(--fqm-anthracite)!important;font-family:var(--fqm-font-head)!important}

/* Pricing tables */
.divi-fqm .et_pb_pricing_table{
  border-radius:var(--fqm-radius)!important;
  border:1px solid var(--fqm-border-soft)!important;
  box-shadow:var(--fqm-shadow-sm);
}
.divi-fqm .et_pb_featured_table{
  border:2px solid var(--fqm-gold)!important;
  box-shadow:var(--fqm-shadow)!important;
}
.divi-fqm .et_pb_pricing_heading{
  background:var(--fqm-anthracite)!important;
  color:#fff!important;
}
.divi-fqm .et_pb_pricing_heading h2,
.divi-fqm .et_pb_pricing_heading h3{color:#fff!important}
.divi-fqm .et_pb_best_value{background:var(--fqm-gold)!important;color:var(--fqm-anthracite)!important}

/* ---------- Footer Divi ---------- */
.divi-fqm #main-footer{display:none!important}
.divi-fqm #main-footer{background:var(--fqm-anthracite)!important;color:#cfcfd2}
.divi-fqm #main-footer h1,
.divi-fqm #main-footer h2,
.divi-fqm #main-footer h3,
.divi-fqm #main-footer h4{color:#fff!important}
.divi-fqm #main-footer a{color:#fff!important}
.divi-fqm #main-footer a:hover{color:var(--fqm-gold)!important}
.divi-fqm #footer-bottom{background:var(--fqm-anthracite-dark)!important;color:#9a9da3}

.fqm-site-footer{
  position:relative;
  margin-top:70px;
  padding:58px 0 0;
  background:
    radial-gradient(circle at 12% 10%,rgba(201,183,156,.15),transparent 28%),
    linear-gradient(135deg,#111716 0%,#22242a 100%);
  color:#d8d5ce;
  overflow:hidden;
}

.fqm-site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 36%,rgba(201,183,156,.08));
}

.fqm-footer-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(280px,1.25fr) repeat(3,minmax(160px,.7fr));
  gap:46px;
  width:min(1320px,calc(100% - 64px));
  margin:0 auto;
}

.fqm-footer-logo{
  display:inline-flex;
  align-items:center;
  margin-bottom:20px;
  padding:10px 14px;
  border-radius:12px;
  background:#fff;
}

.fqm-footer-logo img{
  width:260px;
  max-width:100%;
  height:auto;
  display:block;
}

.fqm-footer-brand p{
  max-width:470px;
  margin:0;
  color:#d8d5ce;
  font-size:15px;
  line-height:1.75;
}

.fqm-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.fqm-footer-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(201,183,156,.55);
  border-radius:999px;
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
}

.fqm-footer-actions a:first-child{
  background:#c9a675;
  border-color:#c9a675;
  color:#1e2026!important;
}

.fqm-footer-col h3{
  margin:0 0 18px;
  color:#fff;
  font-family:var(--fqm-font-head);
  font-size:22px;
  line-height:1.1;
}

.fqm-footer-col a{
  display:block;
  margin:0 0 12px;
  color:#d8d5ce!important;
  text-decoration:none;
  font-size:15px;
  line-height:1.35;
  transition:color .15s,transform .15s;
}

.fqm-footer-col a:hover,
.fqm-footer-actions a:hover{
  color:#c9a675!important;
  transform:translateX(2px);
}

.fqm-footer-actions a:first-child:hover{
  color:#1e2026!important;
  background:#d8bd8d;
}

.fqm-footer-bottom{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:min(1320px,calc(100% - 64px));
  margin:46px auto 0;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.12);
  color:#aaa79f;
  font-size:13px;
}

.fqm-footer-bottom nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:18px;
}

.fqm-footer-bottom a{
  color:#cfc9bd!important;
  text-decoration:none;
}

.fqm-footer-bottom a:hover{
  color:#fff!important;
}

@media(max-width:980px){
  .fqm-footer-inner{
    grid-template-columns:1fr 1fr;
    width:min(100% - 36px,760px);
    gap:34px;
  }
  .fqm-footer-brand{
    grid-column:1/-1;
  }
  .fqm-footer-bottom{
    width:min(100% - 36px,760px);
    flex-direction:column;
    align-items:flex-start;
  }
  .fqm-footer-bottom nav{
    justify-content:flex-start;
  }
}

@media(max-width:620px){
  .fqm-site-footer{
    margin-top:46px;
    padding-top:42px;
  }
  .fqm-footer-inner{
    grid-template-columns:1fr;
  }
  .fqm-footer-logo img{
    width:220px;
  }
  .fqm-footer-actions{
    flex-direction:column;
    align-items:stretch;
  }
}

/* ==========================================================================
   Composants FQM partagés (réutilisables dans un module Code Divi)
   ========================================================================== */

/* Hero pour [fqm_hero] */
.fqm-divi-hero{
  background:var(--fqm-white);
  padding:60px 0;
}
.fqm-divi-hero-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:50px;
  align-items:center;
}
@media(max-width:900px){.fqm-divi-hero-inner{grid-template-columns:1fr}}
.fqm-divi-hero h1{
  font-family:var(--fqm-font-head);
  font-size:clamp(2.4rem,4.5vw,3.6rem);
  font-weight:600;
  margin:0 0 18px;
  color:var(--fqm-anthracite);
}
.fqm-divi-hero h1 em{color:var(--fqm-gold-dark);font-style:italic}
.fqm-divi-hero h1 .fqm-hero-title-static{
  display:block;
}
.fqm-divi-hero h1 .fqm-hero-phrase{
  display:block;
  min-width:min(100%, 11.5em);
  opacity:1;
  transform:scale(1);
  transition:opacity .42s ease, transform .42s cubic-bezier(.2,.8,.2,1), filter .42s ease;
}
.fqm-divi-hero h1 .fqm-hero-phrase.is-leaving{
  opacity:0;
  transform:scale(.985);
  filter:blur(4px);
}
.fqm-divi-hero h1 .fqm-hero-phrase.is-entering{
  animation:fqmHeroPhraseIn .65s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes fqmHeroPhraseIn{
  0%{
    opacity:0;
    transform:scale(.985);
    filter:blur(5px);
  }
  100%{
    opacity:1;
    transform:scale(1);
    filter:blur(0);
  }
}
.fqm-divi-hero .fqm-hero-lead{
  color:var(--fqm-text-muted);
  font-size:1.05rem;
  margin:0 0 28px;
  max-width:480px;
  line-height:1.55;
}
.fqm-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.fqm-divi-hero-visual{
  border-radius:var(--fqm-radius-lg);
  aspect-ratio:1/1;
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-gold-soft));
  box-shadow:var(--fqm-shadow-lg);
}

/* KPI strip réutilisable */
.fqm-kpi-strip{
  max-width:1200px;
  margin:30px auto 0;
  padding:30px 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  border-top:1px solid var(--fqm-light);
}
@media(max-width:700px){.fqm-kpi-strip{grid-template-columns:repeat(2,1fr)}}
.fqm-kpi-strip .fqm-kpi-item{display:flex;flex-direction:column;gap:4px}
.fqm-kpi-strip strong{
  font-family:var(--fqm-font-head);
  font-size:1.8rem;
  color:var(--fqm-anthracite);
}
.fqm-kpi-strip span{color:var(--fqm-text-muted);font-size:.85rem}

/* Grille secteurs (réutilisable via [fqm_sectors]) */
.fqm-sector-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:14px;
}
.fqm-sector-card{
  background:var(--fqm-white);
  padding:24px 20px;
  border:1px solid var(--fqm-light);
  border-radius:var(--fqm-radius);
  text-decoration:none;
  color:var(--fqm-anthracite);
  display:flex;flex-direction:column;gap:14px;
  min-height:130px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.fqm-sector-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--fqm-shadow);
  border-color:var(--fqm-gold-soft);
}
.fqm-sector-icon{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:var(--fqm-gold-dark);
}
.fqm-sector-card strong{
  display:block;
  font-family:var(--fqm-font-head);
  font-size:1.05rem;
  font-weight:600;
  color:var(--fqm-anthracite);
}
.fqm-sector-card span{color:var(--fqm-text-muted);font-size:.82rem}

/* Bandeau franchiseur */
.fqm-franchiseur-banner{
  max-width:1200px;
  margin:40px auto;
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius);
  padding:36px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:30px;
  align-items:center;
}
@media(max-width:760px){.fqm-franchiseur-banner{grid-template-columns:1fr}}

/* Boutons utilitaires partagés avec le plugin */
.fqm-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:.85rem 1.4rem;
  border-radius:var(--fqm-radius-sm);
  font-family:var(--fqm-font-body);font-weight:500;font-size:.95rem;
  text-decoration:none;border:0;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .15s;
}
.fqm-btn-primary{background:var(--fqm-gold);color:var(--fqm-anthracite)}
.fqm-btn-primary:hover{background:var(--fqm-gold-dark);transform:translateY(-1px)}
.fqm-btn-dark{background:var(--fqm-anthracite);color:#fff}
.fqm-btn-dark:hover{background:var(--fqm-anthracite-dark)}
.fqm-btn-outline{background:#fff;border:1px solid var(--fqm-border);color:var(--fqm-text)}
.fqm-btn-outline:hover{border-color:var(--fqm-gold);color:var(--fqm-gold-dark)}
.divi-fqm a.fqm-btn-primary:hover,
.divi-fqm a.fqm-btn-primary:focus{
  color:var(--fqm-anthracite)!important;
}
.divi-fqm a.fqm-btn-outline:hover,
.divi-fqm a.fqm-btn-outline:focus{
  color:var(--fqm-gold-dark)!important;
}
.fqm-btn-arrow::after{content:"→";margin-left:4px}
/* ==========================================================================
   FQM HOME FIX - Maquette accueil
   A coller en toute fin de fqm-divi-overrides.css
   ========================================================================== */

body.divi-fqm.home #main-footer{display:none!important}
body.divi-fqm.home .et-cart-info{display:none!important}

body.divi-fqm .entry-content .fqm-kpis{
  list-style:none!important;
  padding:0!important;
  margin:0 0 1rem!important;
  line-height:normal!important;
}
body.divi-fqm .entry-content .fqm-kpis li{list-style:none!important}

body.divi-fqm.home .fqm-btn{width:auto}
body.divi-fqm.home .fqm-card .fqm-badge{
  left:auto!important;
  right:14px!important;
  top:14px!important;
  z-index:8!important;
  width:auto!important;
  border-radius:18px!important;
  padding: 10px;
  background: #C9B79C;
}

/* Header */
@media (min-width:981px){
  body.divi-fqm.et_fixed_nav.et_show_nav #page-container{padding-top:104px!important}

  body.divi-fqm #main-header{
    height:104px;
    border-bottom:0!important;
    box-shadow:none!important;
  }

  body.divi-fqm #main-header .container{
    width:calc(100% - 64px);
    max-width:1680px;
    height:104px;
    display:flex;
    align-items:center;
  }

  body.divi-fqm #main-header .logo_container{
    position:relative!important;
    width:340px!important;
    height:104px!important;
    display:flex;
    align-items:center;
  }

  body.divi-fqm #main-header .logo_helper{display:none!important}

  body.divi-fqm #logo{
    max-height:76px!important;
    max-width:310px!important;
    width:auto!important;
    display:block;
  }

  body.divi-fqm #et-top-navigation{
    flex:1;
    float:none!important;
    padding:0!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
  }

  body.divi-fqm #top-menu-nav,
  body.divi-fqm #top-menu{float:none!important}

  body.divi-fqm #top-menu{
    display:flex;
    align-items:center;
    gap:24px;
  }

  body.divi-fqm #top-menu li{padding-right:0!important}

  body.divi-fqm #top-menu > li > a{
    padding-bottom:0!important;
    font-size:16px;
    line-height:1;
  }
}

body.divi-fqm #top-menu li.fqm-quick-menu-item a.fqm-quick-link{
  width:42px;
  height:42px;
  padding:0!important;
  color:#2b2d31!important;
  border:1px solid rgba(43,45,49,.12);
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 24px rgba(43,45,49,.08);
}

body.divi-fqm #top-menu li.fqm-quick-menu-item a.fqm-quick-link:hover{
  color:#a47b43!important;
  background:#fbf8f2!important;
  border-color:rgba(201,166,117,.45)!important;
  opacity:1;
}

body.divi-fqm .fqm-header-quick-nav .fqm-quick-link,
body.divi-fqm .fqm-header-quick-nav .fqm-quick-link:visited{
  color:#2b2d31!important;
}

body.divi-fqm .fqm-header-quick-nav .fqm-quick-link:hover,
body.divi-fqm .fqm-header-quick-nav .fqm-quick-link:focus{
  color:#a47b43!important;
  background:#fbf8f2!important;
  border-color:rgba(201,166,117,.45)!important;
}

body.divi-fqm #top-menu li.fqm-quick-menu-item{
  padding-right:0!important;
}

/* Hero */
body.divi-fqm.home .et_pb_section_0.et_pb_section{
  padding:0!important;
  background:#fff!important;
}

body.divi-fqm.home .et_pb_row_0.et_pb_row{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
}

body.divi-fqm.home .fqm-divi-hero{
  --fqm-hero-img:url("https://annuaire.franchisequimarche.com/wp-content/uploads/envie-rejoindre-franchise-.png");
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:690px!important;
  height:690px;
  padding:0;
  background:#fff;
}

body.divi-fqm.home .fqm-divi-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.98) 36%,
    rgba(255,255,255,.72) 43%,
    rgba(255,255,255,0) 52%,
    rgba(255,255,255,0) 100%
  );
}

body.divi-fqm.home .fqm-divi-hero-inner{
  max-width:1680px;
  min-height:100%;
  margin:0 auto;
  padding:0 80px;
  display:flex;
  align-items:center;
}

body.divi-fqm.home .fqm-divi-hero-content{
  position:relative;
  z-index:2;
  width:min(760px,52vw);
  padding-top:0;
}

body.divi-fqm.home .fqm-divi-hero h1{
  max-width:720px;
  margin:0 0 34px;
  font-size:clamp(48px,4vw,94px);
  line-height:1.02;
  letter-spacing:0;
}

body.divi-fqm.home .fqm-divi-hero h1 .fqm-hero-title-static{
  margin-bottom:12px;
}

body.divi-fqm.home .fqm-divi-hero h1 .fqm-hero-phrase{
  line-height:1.08;
  min-height:1.12em;
}

body.divi-fqm.home .fqm-divi-hero h1 em{
  color:var(--fqm-gold-dark);
  font-style:normal;
}

body.divi-fqm.home .fqm-divi-hero .fqm-hero-lead{
  max-width:650px;
  margin:0 0 34px;
  color:#2B2D31;
  font-size:clamp(21px,1.55vw,29px);
  line-height:1.35;
}

body.divi-fqm.home .fqm-divi-hero-visual{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:min(66vw,1120px);
  height:690px;
  aspect-ratio:auto;
  border-radius:0;
  box-shadow:none;
  pointer-events:none;
  background-image:var(--fqm-hero-img);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
}

/* Barre de recherche */
body.divi-fqm.home .fqm-search-bar{
  position:relative;
  z-index:3;
  width:min(580px,calc(100vw - 160px));
  max-width:none;
  display:grid;
  grid-template-columns:minmax(240px,1.15fr) minmax(210px,.95fr) minmax(210px,.95fr) 220px;
  align-items:stretch;
  gap:0;
  padding:14px;
  margin-top:28px;
  border:1px solid #eee8df;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,45,49,.12);
}

body.divi-fqm.home .fqm-search-bar .fqm-search-field{
  position:relative;
  min-height:66px;
  justify-content:center;
  padding:10px 28px 10px 74px!important;
  border-right:1px solid #eee8df;
	width: 300px;
}

body.divi-fqm.home .fqm-search-bar .fqm-search-field:last-of-type{
  border-right:1px solid #eee8df;
}

body.divi-fqm.home .fqm-search-field::before{
  position:absolute;
  left:25px;
  top:50%;
  transform:translateY(-50%);
  color:#C9B79C;
  font-size:30px;
  line-height:1;
}

body.divi-fqm.home .fqm-search-field:nth-child(1)::before{content:"▦"}
body.divi-fqm.home .fqm-search-field:nth-child(2)::before{content:"€"}
body.divi-fqm.home .fqm-search-field:nth-child(3)::before{content:"⌖"}

body.divi-fqm.home .fqm-search-bar label{
  color:#6b6e74;
  font-size:13px;
  font-weight:600;
}

body.divi-fqm.home .fqm-search-bar input,
body.divi-fqm.home .fqm-search-bar select{
  min-height:28px;
  color:#2B2D31;
  font-size:16px;
  font-weight:600;
}

body.divi-fqm.home .fqm-search-bar .fqm-btn{
  width:100%!important;
  height:66px;
  justify-content:center;
  border-radius:8px;
  font-size:17px;
  font-weight:700;
}

/* CTA hero */
body.divi-fqm.home .fqm-hero-ctas{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  margin-top:0;
}

body.divi-fqm.home .fqm-hero-ctas .fqm-btn{
  min-width:315px;
  min-height:58px;
  justify-content:center;
  border-radius:8px;
  font-size:16px;
  font-weight:700;
}

body.divi-fqm.home .fqm-hero-ctas .fqm-btn-outline{
  background:#fff;
  border:1px solid #d8d8d8;
}

/* KPIs */
body.divi-fqm.home .fqm-kpi-strip{
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 30px 80px 30px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  background: #fdfdfd;
  border-top:1px solid rgba(43,45,49,.06);
}

body.divi-fqm.home .fqm-kpi-item{
  position:relative;
  min-height:58px;
  padding-left:64px;
}

body.divi-fqm.home .fqm-kpi-item::before{
  position:absolute;
  left:0;
  top:4px;
  color:#C9B79C;
  font-size:34px;
  line-height:1;
}

body.divi-fqm.home .fqm-kpi-item:nth-child(1)::before{content:"▦"}
body.divi-fqm.home .fqm-kpi-item:nth-child(2)::before{content:"⚑"}
body.divi-fqm.home .fqm-kpi-item:nth-child(3)::before{content:"◎"}
body.divi-fqm.home .fqm-kpi-item:nth-child(4)::before{content:"⌖"}

body.divi-fqm.home .fqm-kpi-strip strong{
  font-size:36px;
  line-height:1;
}

body.divi-fqm.home .fqm-kpi-strip span{
  margin-top:8px;
  color:#2B2D31;
  font-size:15px;
}

/* Sections */
body.divi-fqm.home .et_pb_section_1.et_pb_section,
body.divi-fqm.home .et_pb_section_2.et_pb_section{
  padding-top:34px!important;
  padding-bottom:34px!important;
  background:#fff!important;
}

body.divi-fqm.home .et_pb_section_1 .et_pb_row,
body.divi-fqm.home .et_pb_section_2 .et_pb_row,
body.divi-fqm.home .et_pb_section_3 .et_pb_row,
body.divi-fqm.home .et_pb_section_4 .et_pb_row,
body.divi-fqm.home .et_pb_section_5 .et_pb_row{
  width:calc(100% - 160px);
  max-width:1680px;
}

body.divi-fqm.home .et_pb_text_0 h2,
body.divi-fqm.home .et_pb_text_1 h2{
  padding-bottom:22px;
  font-size:30px!important;
}

/* Secteurs */
body.divi-fqm.home .fqm-sector-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:34px;
}

body.divi-fqm.home .fqm-sector-card{
  min-height:158px;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:26px 18px;
  border-color:#ededed;
  border-radius:8px;
  text-align:center;
  box-shadow:0 6px 18px rgba(43,45,49,.06);
}

body.divi-fqm.home .fqm-sector-icon{
  width:46px;
  height:46px;
  color:#C9B79C;
}

body.divi-fqm.home .fqm-sector-card strong{
  font-family:var(--fqm-font-body);
  font-size:16px;
  font-weight:700;
}

body.divi-fqm.home .fqm-sector-card span{
  display:block;
  margin-top:6px;
  color:#2B2D31;
  font-size:14px;
}

/* Enseignes */
body.divi-fqm.home .fqm-section-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:0 auto 14px;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#b88a45;
  font-size:15px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.divi-fqm.home .fqm-section-kicker::before,
body.divi-fqm.home .fqm-section-kicker::after{
  content:"";
  width:52px;
  height:1px;
  background:rgba(184,138,69,.35);
}

body.divi-fqm.home .fqm-section-title{
  margin:0 0 12px;
  color:#1f2d2d;
  font-size:clamp(48px,4.8vw,76px);
  line-height:1.02;
  text-align:center;
}

body.divi-fqm.home .fqm-section-subtitle{
  max-width:720px;
  margin:0 auto 48px;
  color:#5f6468;
  font-size:18px;
  line-height:1.65;
  text-align:center;
}

body.divi-fqm.home .fqm-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:26px;
}

body.divi-fqm .fqm-grid .fqm-card{
  flex:0 1 245px;
  min-height:500px;
  padding:22px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%);
  box-shadow:0 18px 46px rgba(43,45,49,.08);
  overflow:hidden;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-card-logo{
  height:154px;
  margin-bottom:20px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:9px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
  position:relative;
  z-index:1;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-badge{
  z-index:8;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-card-logo img{
  max-width:100%;
  max-height:118px;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-card-logo .fqm-default-logo-img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  border-radius:8px;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-secteur{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0 0 16px;
  padding:9px 14px;
  border:1px solid rgba(201,183,156,.34);
  border-radius:999px;
  background:#f7f1e8;
  color:#4f4a42;
  font-size:13px;
  font-weight:600;
}

body.divi-fqm .fqm-grid .fqm-card h3{
  margin:0;
  padding:0 0 20px;
  font-family:var(--fqm-font-head);
  font-size:23px;
  line-height:1.16;
  font-weight:600;
  color:#1f2d2d;
}

body.divi-fqm .fqm-grid .fqm-card h3::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:20px;
  background:linear-gradient(90deg,rgba(201,183,156,.2),rgba(184,138,69,.65),rgba(201,183,156,.2));
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis{
  gap:0;
  margin:0 0 24px;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis li{
  position:relative;
  min-height:42px;
  padding:10px 0 10px 34px;
  border-bottom:1px solid rgba(43,45,49,.08);
  font-size:14px;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis li::before{
  content:"€";
  position:absolute;
  left:0;
  top:12px;
  width:19px;
  height:19px;
  border:1.5px solid #b88a45;
  border-radius:4px;
  color:#b88a45;
  font-size:12px;
  font-weight:700;
  line-height:18px;
  text-align:center;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis .fqm-kpi-points::before{
  content:"";
  width:17px;
  height:17px;
  top:11px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis .fqm-kpi-points::after{
  content:"";
  position:absolute;
  left:6px;
  top:17px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b88a45;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis span{
  color:#5f6468;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-kpis strong{
  color:#20272b;
  font-size:16px;
  font-weight:700;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-btn{
  width:100%;
  min-height:56px;
  margin-top:auto;
  justify-content:center;
  border:0;
  border-radius:9px;
  background:#102725;
  color:#fff!important;
  font-size:16px;
  font-weight:700;
  box-shadow:0 12px 24px rgba(16,39,37,.18);
}

body.divi-fqm .fqm-grid .fqm-card .fqm-btn:hover,
body.divi-fqm .fqm-grid .fqm-card .fqm-btn:focus{
  background:#183936;
  color:#fff!important;
}

body.divi-fqm .fqm-grid .fqm-card .fqm-card-arrow{
  margin-left:auto;
  color:#d1a45d;
  font-size:24px;
  line-height:1;
}

/* Moteur dynamique franchises */
body.divi-fqm .fqm-dynamic-search{
  width:min(100%,1680px);
  margin:0 auto;
}

body.divi-fqm .fqm-dynamic-search-bar{
  position:relative;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(180px,1fr)) auto;
  gap:14px;
  align-items:end;
  margin:0 0 34px;
  padding:18px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 46px rgba(43,45,49,.06);
}

body.divi-fqm .fqm-dynamic-search-bar.is-fixed{
  position:fixed;
  top:0!important;
  left:0!important;
  width:100%!important;
  margin:0;
  box-shadow:0 18px 46px rgba(43,45,49,.14);
}

body.divi-fqm .fqm-dynamic-search-bar label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0;
  color:#4f4a42;
  font-size:13px;
  font-weight:700;
}

body.divi-fqm .fqm-dynamic-search-bar input,
body.divi-fqm .fqm-dynamic-search-bar select{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid rgba(43,45,49,.14);
  border-radius:9px;
  background:#fffdf9;
  color:#20272b;
  font-size:15px;
}

body.divi-fqm .fqm-dynamic-reset{
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(184,138,69,.38);
  border-radius:9px;
  background:#fff;
  color:#20272b;
  font-weight:700;
  cursor:pointer;
}

body.divi-fqm .fqm-dynamic-status{
  min-height:22px;
  margin:0 0 18px;
  color:#5f6468;
  font-size:14px;
  font-weight:600;
}

body.divi-fqm .fqm-dynamic-search.is-loading .fqm-dynamic-results{
  opacity:.48;
  pointer-events:none;
}

body.divi-fqm .fqm-dynamic-search .fqm-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
}

body.divi-fqm .fqm-dynamic-search .fqm-card{
  min-width:0;
}

body.divi-fqm .fqm-search-empty{
  grid-column:1 / -1;
  padding:34px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:12px;
  background:#fff;
  color:#5f6468;
  text-align:center;
  font-weight:700;
}

@media (max-width:1280px){
  body.divi-fqm .fqm-dynamic-search .fqm-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.divi-fqm .fqm-dynamic-search-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  body.divi-fqm .fqm-dynamic-search-bar{
    top:12px;
    grid-template-columns:1fr;
    padding:14px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card{
    min-height:430px;
    padding:14px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card .fqm-card-logo{
    height:112px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card h3{
    font-size:18px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card .fqm-secteur{
    font-size:12px;
    padding:8px 10px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card .fqm-kpis li{
    padding-left:28px;
    font-size:12px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card .fqm-kpis strong{
    font-size:13px;
  }

  body.divi-fqm .fqm-dynamic-search .fqm-card .fqm-btn{
    min-height:48px;
    font-size:14px;
  }
}

/* Blurbs */
body.divi-fqm.home .et_pb_section_3.et_pb_section{
  padding-top:20px!important;
  background:#FFF!important;
}

body.divi-fqm.home .et_pb_blurb{
  min-height:190px;
  border-radius:8px!important;
  box-shadow:0 6px 18px rgba(43,45,49,.05);
}

/* Bloc franchiseur */
body.divi-fqm.home .et_pb_section_4.et_pb_section{
  padding-top:66px!important;
  padding-bottom:66px!important;
}

body.divi-fqm.home .et_pb_row_4{
  border-radius:10px!important;
}

body.divi-fqm.home .et_pb_image_0 .et_pb_image_wrap,
body.divi-fqm.home .et_pb_image_0 img{
  width:100%!important;
  height:260px!important;
  object-fit:cover;
}

/* CTA final */
body.divi-fqm.home .et_pb_section_5.et_pb_section{
  padding-top:58px!important;
  padding-bottom:58px!important;
}

/* Responsive */
@media (max-width:1180px){
  body.divi-fqm.home .fqm-search-bar{
    width:calc(100vw - 80px);
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  body.divi-fqm.home .fqm-search-bar .fqm-search-field{
    border-right:0;
    border-bottom:1px solid #eee8df;
  }

  body.divi-fqm.home .fqm-search-bar .fqm-btn{
    margin-left:0;
  }

  body.divi-fqm.home .fqm-sector-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:980px){
  body.divi-fqm.home .fqm-divi-hero{
    min-height:auto!important;
    height:auto;
    padding-bottom:34px;
  }

  body.divi-fqm.home .fqm-divi-hero::before{
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.88) 60%,#fff 100%);
  }

  body.divi-fqm.home .fqm-divi-hero-inner{
    min-height:0;
    padding:38px 22px 0;
    display:block;
  }

  body.divi-fqm.home .fqm-divi-hero-content{
    width:auto;
    margin:0 auto;
    padding-top:0;
    text-align:center;
  }

  body.divi-fqm.home .fqm-divi-hero h1{
    max-width:720px;
    margin:0 auto 28px;
    font-size:clamp(42px,8vw,62px);
    text-align:center;
  }

  body.divi-fqm.home .fqm-divi-hero h1 .fqm-hero-title-static{
    margin-bottom:14px;
  }

  body.divi-fqm.home .fqm-divi-hero h1 .fqm-hero-phrase{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:2.28em;
    text-align:center;
  }

  body.divi-fqm.home .fqm-divi-hero .fqm-hero-lead{
    margin-right:auto;
    margin-left:auto;
    text-align:center;
  }

  body.divi-fqm.home .fqm-hero-ctas{
    justify-content:center;
  }

  body.divi-fqm.home .fqm-divi-hero-visual{
    position:relative;
    z-index:2;
    width:auto;
    height:340px;
    margin:28px 22px 0;
    border-radius:18px;
    background-position:center;
  }

  body.divi-fqm.home .fqm-search-bar{
    width:100%;
    grid-template-columns:1fr;
    padding:14px;
  }

  body.divi-fqm.home .fqm-search-bar .fqm-search-field{
    padding:12px 8px!important;
  }

  body.divi-fqm.home .fqm-search-field::before{
    display:none;
  }

  body.divi-fqm.home .fqm-hero-ctas .fqm-btn{
    width:100%!important;
    min-width:0;
  }

  body.divi-fqm.home .fqm-kpi-strip{
   grid-template-columns: repeat(3,1fr);
    padding: 28px 22px 0;
    position: relative;
    margin-top: 50px;
  }

  body.divi-fqm.home .fqm-kpi-item{
    padding-left:0;
  }

  body.divi-fqm.home .fqm-kpi-item::before{
    display:none;
  }

  body.divi-fqm.home .et_pb_section_1 .et_pb_row,
  body.divi-fqm.home .et_pb_section_2 .et_pb_row,
  body.divi-fqm.home .et_pb_section_3 .et_pb_row,
  body.divi-fqm.home .et_pb_section_4 .et_pb_row,
  body.divi-fqm.home .et_pb_section_5 .et_pb_row{
    width:calc(100% - 44px);
  }

  body.divi-fqm.home .fqm-sector-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
}

@media (max-width:560px){
  body.divi-fqm.home .fqm-sector-grid,
  body.divi-fqm.home .fqm-kpi-strip{
    grid-template-columns:1fr;
  }

  body.divi-fqm.home .fqm-card{
    flex-basis:100%;
  }
}
/* ==========================================================================
   FQM SINGLE FRANCHISE - rendu maquette
   ========================================================================== */

body.single-franchise .fqm-btn{width:auto!important}
body.single-franchise .fqm-badge{position:static!important;width:auto!important;border-radius:999px!important}
body.single-franchise .fqm-container{width:calc(100% - 96px);max-width:1510px;padding:0}

/* Hero */
body.single-franchise .fqm-single-head{
  background:#f3eee6!important;
  padding:34px 0 42px!important;
  border-bottom:1px solid #e8e1d8;
}

body.single-franchise .fqm-breadcrumbs{
  margin:0 0 20px;
  font-size:13px;
  color:#6b6e74;
}

body.single-franchise .fqm-hero-grid{
  display:grid!important;
  grid-template-columns:150px minmax(440px,560px) minmax(430px,1fr) 355px;
  grid-template-areas:"logo info visual form";
  gap:24px;
  align-items:start;
}

body.single-franchise .fqm-hero-logo{
  grid-area:logo;
  width:150px;
  height:150px;
  border-radius:8px;
  background:#111;
  box-shadow:none;
}

body.single-franchise .fqm-hero-logo img{
  max-width:100%;
  max-height:100%;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
}

body.single-franchise .fqm-hero-logo .fqm-default-logo-img{
  object-fit:cover;
  padding:0;
  border-radius:8px;
}

body.single-franchise .fqm-hero-info{grid-area:info;margin: 20px;min-width: 700px;}
body.single-franchise .fqm-badge-inline{
  display:inline-flex!important;
  margin:0 0 10px;
  padding:6px 13px!important;
  background:#c9b79c!important;
  color:#2b2d31!important;
  font-size:12px!important;
}

body.single-franchise .fqm-hero-info h1{
  margin:0 0 8px;
  padding:0;
  font-size:clamp(42px,4vw,66px);
  line-height:.95;
  letter-spacing:0;
}

body.single-franchise .fqm-baseline{
  margin:0 0 15px;
  color:#b99061;
  font-size:22px;
  line-height:1.3;
}

body.single-franchise .fqm-meta{
  display:flex;
  flex-wrap:wrap;
  gap:13px 22px;
  margin:0 0 20px;
  color:#2b2d31;
  font-size:13px;
}

body.single-franchise .fqm-meta-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

body.single-franchise .fqm-single-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  margin:0 0 16px;
  padding:0;
  overflow:hidden;
  border:1px solid #e8e1d8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 26px rgba(43,45,49,.06);
}

body.single-franchise .fqm-kpi-mini{
  min-height:82px;
  padding:15px 14px;
  border-right:1px solid #e8e1d8;
}

body.single-franchise .fqm-kpi-mini:last-child{border-right:0}
body.single-franchise .fqm-kpi-label{
  margin:0 0 8px;
  color:#6b6e74;
  font-size:11px;
  line-height:1.25;
}

body.single-franchise .fqm-kpi-val{
  color:#2b2d31;
  font-family:var(--fqm-font-body);
  font-size:18px;
  font-weight:800;
  line-height:1.15;
}

body.single-franchise .fqm-single-actions{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:12px;
  margin-top:0;
}

body.single-franchise .fqm-single-actions .fqm-btn{
  min-height:48px;
  justify-content:center;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
}

body.single-franchise .fqm-hero-visual{
  grid-area:visual;
  height:420px;
  border-radius:8px;
  overflow:hidden;
  background:#111;
  box-shadow:none;
}

body.single-franchise .fqm-hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.single-franchise .fqm-hero-form{
  grid-area:form;
  position:sticky;
  top:116px;
  padding:18px;
  border:1px solid #e8e1d8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,45,49,.08);
}

body.single-franchise .fqm-hero-form h3{
  margin:0 0 4px;
  font-size:22px;
}

body.single-franchise .fqm-hero-form .fqm-cta-lead{
  margin:0 0 18px;
  font-size:13px;
}

body.single-franchise .fqm-hero-form .fqm-row{
  grid-template-columns:1fr 1fr;
  gap:10px;
}

body.single-franchise .fqm-hero-form label{
  margin-bottom:10px;
  font-size:12px;
}

body.single-franchise .fqm-hero-form input,
body.single-franchise .fqm-hero-form select,
body.single-franchise .fqm-hero-form textarea{
  min-height:40px;
  margin-top:5px;
  padding:9px 11px;
  border-radius:6px;
  font-size:13px;
}

body.single-franchise .fqm-hero-form textarea{min-height:88px}
body.single-franchise .fqm-hero-form .fqm-check{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:flex-start;
  color:#6b6e74;
  font-size:11px;
  line-height:1.35;
  width:100%!important;
  clear:both;
  margin:12px 0 14px!important;
}

body.single-franchise .fqm-hero-form .fqm-check input[type="checkbox"]{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
}

body.single-franchise .fqm-hero-form .fqm-check-text{
  display:block;
  min-width:0;
}

body.single-franchise .fqm-hero-form .fqm-check a{
  display:inline;
  color:#8f6d3f;
  text-decoration:underline;
  text-underline-offset:2px;
}

body.single-franchise .fqm-hero-form .fqm-btn{
  width:100%!important;
  min-height:46px;
  justify-content:center;
}

/* Tabs */
body.single-franchise .fqm-tabs{
  position:sticky;
  top:104px;
  z-index:50;
  background:rgba(255,255,255,.9);
  border-top:0;
  border-bottom:1px solid rgba(201,183,156,.24);
  box-shadow:0 10px 28px rgba(43,45,49,.06);
  backdrop-filter:blur(14px);
}

body.single-franchise .fqm-tabs-inner{
  gap:8px;
  justify-content:flex-start;
  padding:10px 0;
  scrollbar-width:none;
}

body.single-franchise .fqm-tabs-inner::-webkit-scrollbar{
  display:none;
}

body.single-franchise .fqm-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  color:#5d6067;
  font-size:13px;
  font-weight:650;
  border:1px solid transparent;
  border-radius:999px;
  transition:color .15s,background .15s,border-color .15s,box-shadow .15s;
}

body.single-franchise .fqm-tab:hover{
  color:#102b29;
  background:#f8f3eb;
  border-color:rgba(201,183,156,.32);
}

body.single-franchise .fqm-tab.active{
  color:#fff;
  border-color:#102b29;
  background:linear-gradient(135deg,#122e2b 0%,#081c1a 100%);
  box-shadow:0 10px 22px rgba(8,28,26,.18);
}

/* Corps */
body.single-franchise .fqm-single-body-full{
  max-width:1510px!important;
  width:calc(100% - 96px);
  padding:42px 0 70px!important;
}

body.single-franchise .fqm-section{
 margin-bottom: 50px;
  margin-top: 50px;
}

body.single-franchise .fqm-section h2{
  margin:0 0 20px;
  padding:0 0 8px;
  font-size:25px;
  border-bottom:1px solid #c9a675;
}

body.single-franchise .fqm-concept-grid{
  grid-template-columns:minmax(0,1fr) 520px;
  gap:54px;
  align-items:start;
}

body.single-franchise .fqm-concept-grid .fqm-content{
  max-width:680px;
  font-size:15px;
  line-height:1.75;
}

body.single-franchise .fqm-concept-visual{
  height:280px;
  border-radius:8px;
}

body.single-franchise .fqm-feature-grid,
body.single-franchise .fqm-keynum-grid,
body.single-franchise .fqm-step-grid,
body.single-franchise .fqm-actus-grid,
body.single-franchise .fqm-doc-grid{
  gap:16px;
}

body.single-franchise .fqm-feature,
body.single-franchise .fqm-keynum,
body.single-franchise .fqm-step,
body.single-franchise .fqm-actu,
body.single-franchise .fqm-doc,
body.single-franchise .fqm-testimonial{
  border:1px solid #e8e1d8;
  border-radius:8px;
  box-shadow:none;
}

body.single-franchise .fqm-keynum{
  border-color:#eadfce;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%);
  box-shadow:0 18px 42px rgba(34,37,37,.07);
  overflow:hidden;
}

body.single-franchise .fqm-feature-grid{grid-template-columns:repeat(4,1fr)}
body.single-franchise .fqm-keynum-grid{grid-template-columns:repeat(5,1fr)}
body.single-franchise .fqm-step-grid{grid-template-columns:repeat(5,1fr)}
body.single-franchise .fqm-doc-grid{grid-template-columns:repeat(4,1fr)}

body.single-franchise .fqm-econ-grid{
  grid-template-columns:repeat(6,1fr);
  border-radius:8px;
  border:1px solid #e8e1d8;
}

body.single-franchise .fqm-profile-section{
  padding:32px;
  border-radius:8px;
  background:#f3eee6;
}

body.single-franchise .fqm-profile-grid{
  grid-template-columns:1.15fr .85fr;
  gap:42px;
}

body.single-franchise .fqm-profile-visual{
  min-height:245px;
  border-radius:8px;
  overflow:hidden;
}

body.single-franchise .fqm-profile-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.single-franchise .fqm-implant-grid{
  grid-template-columns:280px 1fr 240px;
  gap:34px;
}

body.single-franchise .fqm-implant-left,
body.single-franchise .fqm-implant-cities{
  padding:24px;
  border:1px solid #e8e1d8;
  border-radius:8px;
  background:#fff;
}

body.single-franchise .fqm-implant-map{
  min-height:360px;
  border-radius:8px;
  background:#f3eee6;
}

body.single-franchise .fqm-testimonials-grid{grid-template-columns:repeat(3,1fr)}
body.single-franchise .fqm-actus-grid{grid-template-columns:repeat(4,1fr)}
body.single-franchise .fqm-actu-img{background:#e8dccb}

body.single-franchise .fqm-cta-bottom{
  padding:28px 34px;
  border-radius:8px;
  background:#f3eee6;
}

body.single-franchise .fqm-cta-bottom .fqm-btn{
  min-width:310px;
  justify-content:center;
}

/* Responsive */
@media(max-width:1280px){
  body.single-franchise .fqm-container,
  body.single-franchise .fqm-single-body-full{width:calc(100% - 44px)}

  body.single-franchise .fqm-hero-grid{
    grid-template-columns:130px minmax(0,1fr) 330px;
    grid-template-areas:
      "logo info form"
      "visual visual form";
  }

  body.single-franchise .fqm-hero-visual{height:340px}
  body.single-franchise .fqm-single-kpi-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:980px){
  body.single-franchise .fqm-hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:"logo" "info" "visual" "form";
  }

  body.single-franchise .fqm-hero-logo{width:130px;height:130px}
  body.single-franchise .fqm-hero-form{position:static}
  body.single-franchise .fqm-tabs{top:0}
  body.single-franchise .fqm-tabs-inner{overflow-x:auto}

  body.single-franchise .fqm-concept-grid,
  body.single-franchise .fqm-profile-grid,
  body.single-franchise .fqm-implant-grid{
    grid-template-columns:1fr;
  }

  body.single-franchise .fqm-feature-grid,
  body.single-franchise .fqm-keynum-grid,
  body.single-franchise .fqm-step-grid,
  body.single-franchise .fqm-actus-grid,
  body.single-franchise .fqm-doc-grid,
  body.single-franchise .fqm-econ-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  body.single-franchise .fqm-container,
  body.single-franchise .fqm-single-body-full{width:calc(100% - 28px)}

  body.single-franchise .fqm-single-kpi-grid,
  body.single-franchise .fqm-single-actions,
  body.single-franchise .fqm-hero-form .fqm-row,
  body.single-franchise .fqm-feature-grid,
  body.single-franchise .fqm-keynum-grid,
  body.single-franchise .fqm-step-grid,
  body.single-franchise .fqm-actus-grid,
  body.single-franchise .fqm-doc-grid,
  body.single-franchise .fqm-econ-grid{
    grid-template-columns:1fr;
  }
}
body.single-franchise .fqm-single-actions .fqm-btn-primary:hover,
body.single-franchise .fqm-single-actions .fqm-btn-primary:focus{
    color:#fff !important;
}
.fqm-sector-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1.25rem;
}

.fqm-sector-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;          /* image collée aux bords arrondis du haut */
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s;
}

.fqm-sector-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.10);
}

/* Zone image — hauteur fixe, fond gris pour le placeholder */
.fqm-sector-image {
    width: 100%;
    height: 160px;
    background-color: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #9ca3af;
}

.fqm-sector-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* recadrage centré, pas de déformation */
    display: block;
}

/* Zone texte */
.fqm-sector-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
}

.fqm-sector-title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.fqm-sector-count {
    font-size: 0.82rem;
    color: #6b7280;
}
.fqm-filters{
    display:none;
}
.secteurs-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 0 25px;
    scroll-behavior: smooth;
}

.secteurs-scroll-wrapper::-webkit-scrollbar {
    height: 8px;
}

.secteurs-scroll-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 20px;
}

.secteurs-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #bbb;
    border-radius: 20px;
}

.secteurs-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: #888;
}

.secteurs-grid-horizontal {
    display: flex;
    gap: 24px;
    min-width: max-content;
    padding: 5px;
}

.secteur-card {
    width: 260px;
    min-width: 260px;
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.secteur-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

.secteur-card-image {
    width: 100%;
    height: 170px;
    overflow: hidden;
}

.secteur-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.secteur-card:hover .secteur-card-image img {
    transform: scale(1.06);
}

.secteur-card-content {
    padding: 20px;
    text-align: center;
}

.secteur-card-content h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #1f1f1f;
}

@media (max-width: 767px) {
    .secteur-card {
        width: 220px;
        min-width: 220px;
    }

    .secteur-card-image {
        height: 145px;
    }

    .secteur-card-content h3 {
        font-size: 16px;
    }
}
.secteurs-slider-container {
    position: relative;
    width: 100%;
}

.secteurs-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 0 25px;
    scroll-behavior: smooth;

    /* Cache la scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.secteurs-scroll-wrapper::-webkit-scrollbar {
    display: none;
}

.secteurs-grid-horizontal {
    display: flex;
    gap: 24px;
    min-width: max-content;
    padding: 5px 60px 5px 5px;
}

.secteur-card {
    width: 260px;
    min-width: 260px;
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.secteur-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

.secteur-card-image {
    width: 100%;
    height: 170px;
    overflow: hidden;
}

.secteur-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.secteur-card:hover .secteur-card-image img {
    transform: scale(1.06);
}

.secteur-card-content {
    padding: 20px;
    text-align: center;
}

.secteur-card-content h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #1f1f1f;
}

.secteurs-arrow {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    z-index: 5;

    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #1f1f1f;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;

    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.secteurs-arrow:hover {
    transform: translateY(-50%) scale(1.08);
    background: #f5f5f5;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.24);
}

@media (max-width: 767px) {
    .secteur-card {
        width: 220px;
        min-width: 220px;
    }

    .secteur-card-image {
        height: 145px;
    }

    .secteur-card-content h3 {
        font-size: 16px;
    }

    .secteurs-arrow {
        width: 40px;
        height: 40px;
        font-size: 20px;
        right: 0;
    }

    .secteurs-grid-horizontal {
        padding-right: 50px;
    }
}



.secteurs-slider-container {
    position: relative;
    width: 100%;
}

.secteurs-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 0 25px;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.secteurs-scroll-wrapper::-webkit-scrollbar {
    display: none;
}

.secteurs-grid-horizontal {
    display: flex;
    gap: 24px;
    min-width: max-content;
    padding: 5px 65px;
}

.secteur-card {
    width: 260px;
    min-width: 260px;
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.secteur-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

.secteur-card-image {
    width: 100%;
    height: 170px;
    overflow: hidden;
}

.secteur-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.secteur-card:hover .secteur-card-image img {
    transform: scale(1.06);
}

.secteur-card-content {
    padding: 20px;
    text-align: center;
}

.secteur-card-content h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #1f1f1f;
}

.secteurs-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #1f1f1f;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;

    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, opacity 0.25s ease;
}

.secteurs-arrow:hover {
    transform: translateY(-50%) scale(1.08);
    background: #f5f5f5;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.24);
}

.secteurs-arrow-left {
    left: 5px;
}

.secteurs-arrow-right {
    right: 5px;
}

@media (max-width: 767px) {
    .secteur-card {
        width: 220px;
        min-width: 220px;
    }

    .secteur-card-image {
        height: 145px;
    }

    .secteur-card-content h3 {
        font-size: 16px;
    }

    .secteurs-arrow {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .secteurs-arrow-left {
        left: 0;
    }

    .secteurs-arrow-right {
        right: 0;
    }

    .secteurs-grid-horizontal {
        padding: 5px 50px;
    }
}
