/* ==========================================================================
   FQM Franchises — Plugin styles
   Charte : Anthracite #2B2D31 · Beige doré #C9B79C · Sable #F2EDE4
   Typo  : Playfair Display (titres) · Inter (corps)
   ========================================================================== */
:root{
  --fqm-brand:#2B2D31;          /* Anthracite — principale */
  --fqm-brand-dark:#1d1f23;
  --fqm-brand-soft:#3a3d42;
  --fqm-accent:#C9B79C;         /* Beige doré — secondaire */
  --fqm-accent-dark:#b09f84;
  --fqm-accent-soft:#dccbb3;
  --fqm-sand:#F2EDE4;           /* Fond */
  --fqm-greige:#E6E1D9;         /* Surface */
  --fqm-light:#F5F5F5;          /* Bordures */
  --fqm-bg:#FFFFFF;
  --fqm-card:#FFFFFF;
  --fqm-text:#2B2D31;
  --fqm-muted:#6b6e74;
  --fqm-border:#E6E1D9;
  --fqm-border-soft:#F0EBE2;
  --fqm-radius:14px;
  --fqm-radius-sm:8px;
  --fqm-radius-lg:20px;
  --fqm-shadow-sm:0 1px 3px rgba(43,45,49,.06);
  --fqm-shadow:0 4px 16px rgba(43,45,49,.08);
  --fqm-shadow-lg:0 12px 32px rgba(43,45,49,.10);
  --fqm-font-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --fqm-font-head:"Playfair Display",Georgia,"Times New Roman",serif;
}

.fqm-container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ==========================================================================
   Boutons
   ========================================================================== */
.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-accent);color:var(--fqm-anthracite,#2B2D31)}
.fqm-btn-primary:hover{background:var(--fqm-accent-dark);transform:translateY(-1px)}
.fqm-btn-dark{background:var(--fqm-brand);color:#fff}
.fqm-btn-dark:hover{background:var(--fqm-brand-dark)}
.fqm-btn-outline{
  background:#fff;
  border:1px solid var(--fqm-border);
  color:var(--fqm-text);
}
.fqm-btn-outline:hover{border-color:var(--fqm-accent);color:var(--fqm-accent-dark)}
.fqm-btn::after{content:""}
.fqm-btn-arrow::after{content:"→";margin-left:4px}

/* ==========================================================================
   Hero d'archive
   ========================================================================== */
.fqm-archive-hero{
  background:var(--fqm-sand);
  color:var(--fqm-text);
  padding:50px 0 36px;
  margin-bottom:30px;
}
.fqm-archive-hero h1{
  font-family:var(--fqm-font-head);
  margin:0;
  font-size:clamp(2rem,3.5vw,2.6rem);
  font-weight:600;
  color:var(--fqm-brand);
}
.fqm-archive-hero h1 em{color:var(--fqm-accent-dark);font-style:italic}
.fqm-archive-hero .fqm-sub{
  color:var(--fqm-muted);
  margin-top:.6rem;
  max-width:640px;
}

/* Stats sous le hero (sur archive) */
.fqm-archive-stats{
  background:#fff;
  border-radius:var(--fqm-radius);
  padding:18px 24px;
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  box-shadow:var(--fqm-shadow-sm);
}
@media(max-width:700px){.fqm-archive-stats{grid-template-columns:repeat(2,1fr)}}
.fqm-archive-stats .fqm-stat-item{display:flex;flex-direction:column;gap:2px}
.fqm-archive-stats strong{font-family:var(--fqm-font-head);font-size:1.4rem;color:var(--fqm-brand)}
.fqm-archive-stats span{color:var(--fqm-muted);font-size:.82rem}

/* ==========================================================================
   Layout archive (sidebar + grid)
   ========================================================================== */
.fqm-archive{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:30px;
  margin-bottom:60px;
}
@media(max-width:860px){.fqm-archive{grid-template-columns:1fr}}

.fqm-filters{
  background:var(--fqm-card);
  padding:24px;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  height:fit-content;
}
.fqm-filters h3{
  margin:0 0 18px;
  font-family:var(--fqm-font-head);
  font-size:1.1rem;
  color:var(--fqm-brand);
  display:flex;justify-content:space-between;align-items:center;
}
.fqm-filters label{
  display:block;
  margin-bottom:14px;
  font-size:.88rem;
  color:var(--fqm-text);
  font-weight:500;
}
.fqm-filters input,
.fqm-filters select{
  width:100%;
  padding:.65rem .8rem;
  border:1px solid var(--fqm-border);
  border-radius:var(--fqm-radius-sm);
  margin-top:5px;
  background:#fff;
  font-family:inherit;
  font-size:.9rem;
  color:var(--fqm-text);
}
.fqm-filters input:focus,
.fqm-filters select:focus{
  outline:none;
  border-color:var(--fqm-accent);
  box-shadow:0 0 0 3px rgba(201,183,156,.18);
}
.fqm-filters .fqm-check{display:flex;align-items:center;gap:8px;font-weight:400}
.fqm-filters .fqm-check input{width:auto;margin-top:0}
.fqm-reset{
  color:var(--fqm-accent-dark);
  text-decoration:none;
  font-size:.85rem;
  font-weight:500;
}
.fqm-reset:hover{text-decoration:underline}

/* ==========================================================================
   Grille de cartes franchise
   ========================================================================== */
.fqm-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;
}
.fqm-card{
  background:var(--fqm-card);
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:22px;
  position:relative;
  display:flex;
  flex-direction:column;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.fqm-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--fqm-shadow);
  border-color:var(--fqm-accent-soft);
}
.fqm-card .fqm-card-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:90px;
  margin-bottom:14px;
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius-sm);
  position:relative;
  z-index:1;
}
.fqm-card .fqm-card-logo img{max-height:70px;width:auto;object-fit:contain}
.fqm-card .fqm-card-logo .fqm-default-logo-img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  border-radius:inherit;
}
.fqm-card .fqm-secteur{
  display:inline-block;
  background:var(--fqm-sand);
  color:var(--fqm-brand);
  font-size:.75rem;
  font-weight:500;
  padding:4px 10px;
  border-radius:6px;
  margin:0 0 10px;
  width:fit-content;
}
.fqm-card h3{
  margin:.2rem 0 .6rem;
  font-family:var(--fqm-font-head);
  font-size:1.2rem;
  font-weight:600;
  color:var(--fqm-brand);
}
.fqm-card h3 a{color:inherit;text-decoration:none}
.fqm-card h3 a:hover{color:var(--fqm-accent-dark)}
.fqm-card .fqm-excerpt{font-size:.88rem;color:var(--fqm-muted);margin:.2rem 0 1rem;flex:1}

/* KPIs dans la carte */
.fqm-kpis{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0;margin:0 0 1rem}
.fqm-kpis li{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:.85rem;
  padding:4px 0;
  border-bottom:1px dashed var(--fqm-border-soft);
}
.fqm-kpis li:last-child{border-bottom:0}
.fqm-kpis span{color:var(--fqm-muted)}
.fqm-kpis strong{color:var(--fqm-brand);font-weight:600}

/* Placeholder logo */
.fqm-logo-ph,.fqm-logo-ph-big{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--fqm-brand);color:#fff;
  font-family:var(--fqm-font-head);font-weight:600;
  border-radius:var(--fqm-radius-sm);
  width:64px;height:64px;
}
.fqm-logo-ph-big{width:110px;height:110px;font-size:1.8rem}

/* Badges */
.fqm-badge{
  position:absolute;top:14px;right:14px;
  z-index:5;
  padding:4px 10px;
  border-radius:20px;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.3px;
}
.fqm-badge-pro     {background:var(--fqm-brand);color:#fff}
.fqm-badge-premium {background:var(--fqm-accent);color:var(--fqm-brand)}
.fqm-badge-basic   {background:var(--fqm-greige);color:var(--fqm-brand)}

/* ==========================================================================
   Fiche franchise (single)
   ========================================================================== */
.fqm-single-head{
  background:var(--fqm-sand);
  padding:40px 0;
  border-bottom:1px solid var(--fqm-border);
}

/* Hero avec image de fond */
.fqm-single-head--bg{
  background-color:var(--fqm-brand);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-bottom:none;
  padding:60px 0;
  position:relative;
}
.fqm-single-head--bg::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    105deg,
    rgba(43,45,49,.88) 0%,
    rgba(43,45,49,.72) 55%,
    rgba(43,45,49,.45) 100%
  );
  z-index:0;
}
.fqm-single-head--bg .fqm-container{
  position:relative;
  z-index:1;
}
/* Breadcrumbs */
.fqm-single-head--bg .fqm-breadcrumbs,
.fqm-single-head--bg .fqm-breadcrumbs a,
.fqm-single-head--bg .fqm-breadcrumbs a:visited,
.fqm-single-head--bg .fqm-breadcrumbs span{
  color:rgba(255,255,255,.6) !important;
}
.fqm-single-head--bg .fqm-breadcrumbs a:hover{color:var(--fqm-accent) !important}
/* Titre + baseline */
.fqm-single-head--bg .fqm-hero-info h1{color:#fff}
.fqm-single-head--bg .fqm-baseline{color:var(--fqm-accent)}
.fqm-single-head--bg .fqm-hero-tagline{color:rgba(255,255,255,.85)}
/* Meta items (secteur, date, pdv) */
.fqm-single-head--bg .fqm-meta{color:rgba(255,255,255,.75)}
.fqm-single-head--bg .fqm-meta-item svg{color:var(--fqm-accent)}
/* Badge */
.fqm-single-head--bg .fqm-badge-basic{background:rgba(255,255,255,.15);color:#fff}
/* KPI strip */
.fqm-single-head--bg .fqm-single-kpi-grid{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
}
.fqm-single-head--bg .fqm-kpi-mini .fqm-kpi-label{color:rgba(255,255,255,.65)}
.fqm-single-head--bg .fqm-kpi-mini .fqm-kpi-val{color:#fff}
/* Actions */
.fqm-single-head--bg .fqm-btn-outline{
  border-color:rgba(255,255,255,.5);
  color:#fff;
}
.fqm-single-head--bg .fqm-btn-outline:hover{border-color:var(--fqm-accent);color:var(--fqm-accent)}
/* Cacher la zone visuelle séparée (l'image EST le fond) */
.fqm-single-head--bg .fqm-hero-visual{display:none}
/* Redéfinir la grille sans la ligne visuelle */
.fqm-single-head--bg .fqm-hero-grid{
  grid-template-areas:"logo info form";
  grid-template-columns:auto 1fr 360px;
  grid-template-rows:auto;
}
@media(max-width:1100px){
  .fqm-single-head--bg .fqm-hero-grid{
    grid-template-areas:"logo info" "form form";
    grid-template-columns:auto 1fr;
  }
}
@media(max-width:640px){
  .fqm-single-head--bg .fqm-hero-grid{
    grid-template-areas:"logo" "info" "form";
    grid-template-columns:1fr;
  }
}
.fqm-breadcrumbs{
  font-size:.85rem;
  color:var(--fqm-muted);
  margin-bottom:18px;
}
.fqm-breadcrumbs a{color:var(--fqm-muted);text-decoration:none}
.fqm-breadcrumbs a:hover{color:var(--fqm-accent-dark)}
.fqm-breadcrumbs span{margin:0 6px;color:var(--fqm-accent-dark)}

.fqm-single-head-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  align-items:center;
}
@media(max-width:700px){.fqm-single-head-inner{grid-template-columns:1fr}}
.fqm-single-logo img,
.fqm-single-logo .fqm-logo-ph-big{max-height:140px}
.fqm-single-title h1{
  margin:.2rem 0;
  font-family:var(--fqm-font-head);
  font-size:clamp(2rem,3.5vw,2.6rem);
  font-weight:600;
  color:var(--fqm-brand);
}
.fqm-baseline{
  color:var(--fqm-accent-dark);
  margin:.2rem 0;
  font-size:1.05rem;
}
.fqm-meta{
  color:var(--fqm-muted);
  font-size:.9rem;
  display:flex;flex-wrap:wrap;gap:18px;
  margin-top:8px;
}

.fqm-single-body{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:32px;
  padding:40px 20px;
  max-width:1200px;
  margin:0 auto;
}
@media(max-width:900px){.fqm-single-body{grid-template-columns:1fr}}

/* Bloc KPI premium en haut de fiche */
.fqm-kpis-row{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:14px;
  margin-bottom:32px;
}
.fqm-kpi{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  padding:18px 16px;
  border-radius:var(--fqm-radius);
  text-align:left;
}
.fqm-kpi-label{
  display:block;
  color:var(--fqm-muted);
  font-size:.78rem;
  margin-bottom:6px;
  text-transform:none;
}
.fqm-kpi-val{
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:1.25rem;
  font-weight:600;
}

.fqm-section{margin-bottom:64px}
.fqm-section h2{
  font-family:var(--fqm-font-head);
  font-size:1.5rem;
  font-weight:600;
  color:var(--fqm-brand);
  margin:0 0 20px;
  padding-bottom:8px;
  border-bottom:2px solid var(--fqm-accent);
  display:inline-block;
}
.fqm-section p,
.fqm-section li{
  color:var(--fqm-text);
  line-height:1.65;
}

/* Aside */
.fqm-cta-section{
  background:#fff;
  padding:24px;
  border-radius:var(--fqm-radius);
  box-shadow:var(--fqm-shadow);
  border:1px solid var(--fqm-border-soft);
}
.fqm-cta-section h3{
  font-family:var(--fqm-font-head);
  margin:0 0 6px;
  color:var(--fqm-brand);
}
.fqm-cta-section .fqm-cta-lead{
  color:var(--fqm-muted);
  font-size:.88rem;
  margin:0 0 16px;
}
.fqm-aside>div{
  background:#fff;
  padding:20px;
  border-radius:var(--fqm-radius);
  box-shadow:var(--fqm-shadow-sm);
  border:1px solid var(--fqm-border-soft);
  margin-bottom:16px;
}
.fqm-claim-box h3{margin-top:0;font-family:var(--fqm-font-head);color:var(--fqm-brand)}

/* ==========================================================================
   Formulaires
   ========================================================================== */
.fqm-lead-form label,
.fqm-claim-form label,
.fqm-edit-form label{
  display:block;
  margin-bottom:12px;
  font-size:.85rem;
  color:var(--fqm-text);
  font-weight:500;
}
.fqm-edit-form label small{
  display:block;
  margin-top:7px;
  color:var(--fqm-muted);
  font-size:.78rem;
  font-weight:400;
  line-height:1.35;
}
.fqm-lead-form input,
.fqm-lead-form select,
.fqm-lead-form textarea,
.fqm-claim-form input,
.fqm-edit-form input,
.fqm-edit-form select,
.fqm-edit-form textarea{
  width:100%;
  padding:.7rem .9rem;
  border:1px solid var(--fqm-border);
  border-radius:var(--fqm-radius-sm);
  margin-top:5px;
  font-size:.92rem;
  font-family:inherit;
  background:#fff;
  color:var(--fqm-text);
  transition:border-color .15s,box-shadow .15s;
}
.fqm-lead-form input:focus,
.fqm-lead-form select:focus,
.fqm-lead-form textarea:focus,
.fqm-claim-form input:focus,
.fqm-edit-form input:focus,
.fqm-edit-form select:focus,
.fqm-edit-form textarea:focus{
  outline:none;
  border-color:var(--fqm-accent);
  box-shadow:0 0 0 3px rgba(201,183,156,.18);
}
.fqm-lead-form .fqm-row,
.fqm-claim-form .fqm-row,
.fqm-edit-form .fqm-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media(max-width:520px){.fqm-lead-form .fqm-row,.fqm-claim-form .fqm-row,.fqm-edit-form .fqm-row{grid-template-columns:1fr}}
.fqm-lead-form .fqm-check{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  font-size:.8rem;
  line-height:1.45;
  color:var(--fqm-muted);
  font-weight:400;
  width:100%;
  clear:both;
}
.fqm-lead-form .fqm-check input{width:18px;min-width:18px;margin-top:3px}
.fqm-lead-form .fqm-check-text{display:block;min-width:0}
.fqm-lead-form .fqm-check a{display:inline;color:var(--fqm-accent-dark);text-decoration:underline;text-underline-offset:2px}
.fqm-lead-compact label{font-size:.78rem}
.fqm-form-msg{margin-top:12px;font-size:.9rem}
.fqm-form-msg.ok{color:#3a7a3a}
.fqm-form-msg.err{color:#a83232}

/* ==========================================================================
   Dashboard franchiseur
   ========================================================================== */
.fqm-dash{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  border:0;
  max-width:1280px;
  margin:0 auto;
}
.fqm-dash-tabs{
  display:flex;
  align-items:center;
  gap:6px;
  background:linear-gradient(135deg,#101216 0%,#1e2026 100%);
  padding:6px;
  flex-wrap:wrap;
  border-radius:12px;
  box-shadow:0 16px 38px rgba(17,19,24,.18);
  margin:18px 0 14px;
}
.fqm-dash-tabs a,
.fqm-dash-tabs a:link,
.fqm-dash-tabs a:visited{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 22px;
  color:#d9d7d2 !important;
  text-decoration:none !important;
  font-weight:500;
  font-size:.92rem;
  border-radius:9px;
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s,background .15s,box-shadow .15s;
}
.fqm-dash-tabs a::before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  opacity:.78;
  background:currentColor;
  -webkit-mask:center/18px 18px no-repeat;
  mask:center/18px 18px no-repeat;
}
.fqm-dash-tabs a:nth-child(1)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
}
.fqm-dash-tabs a:nth-child(2)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
}
.fqm-dash-tabs a:nth-child(3)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 8h.01'/%3E%3Crect width='18' height='14' x='3' y='5' rx='2'/%3E%3Cpath d='m3 15 5-5c.9-.9 2.1-.9 3 0l5 5'/%3E%3Cpath d='m14 14 1-1c.9-.9 2.1-.9 3 0l3 3'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 8h.01'/%3E%3Crect width='18' height='14' x='3' y='5' rx='2'/%3E%3Cpath d='m3 15 5-5c.9-.9 2.1-.9 3 0l5 5'/%3E%3Cpath d='m14 14 1-1c.9-.9 2.1-.9 3 0l3 3'/%3E%3C/svg%3E");
}
.fqm-dash-tabs a:nth-child(4)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}
.fqm-dash-tabs a:nth-child(5)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 5 3 7 5-6 4 6 5-7 3 14H2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 5 3 7 5-6 4 6 5-7 3 14H2z'/%3E%3C/svg%3E");
}
.fqm-dash-tabs .fqm-logout::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' x2='9' y1='12' y2='12'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' x2='9' y1='12' y2='12'/%3E%3C/svg%3E");
}
.fqm-dash-tabs a.active,
.fqm-dash-tabs a.active:link,
.fqm-dash-tabs a.active:visited{
  color:#fff !important;
  border-bottom-color:var(--fqm-accent);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.fqm-dash-tabs a:hover{color:#fff !important;background:rgba(255,255,255,.07)}
.fqm-dash-tabs .fqm-logout,
.fqm-dash-tabs .fqm-logout:link,
.fqm-dash-tabs .fqm-logout:visited{margin-left:auto;color:var(--fqm-accent-soft) !important}
.fqm-dash-body{padding:0 0 36px}

.fqm-fiche-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
  padding:34px 38px;
  border:1px solid rgba(201,183,156,.32);
  border-radius:14px;
  background:
    radial-gradient(circle at 94% 10%,rgba(201,183,156,.22),transparent 30%),
    linear-gradient(135deg,#fff 0%,#fbf8f2 100%);
  box-shadow:0 20px 56px rgba(43,45,49,.09);
  overflow:hidden;
}
.fqm-dash-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:8px 15px;
  border:1px solid rgba(201,183,156,.48);
  border-radius:999px;
  background:#f7f1e8;
  color:#7e6233;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fqm-fiche-hero h2{
  margin:0 0 8px;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:1.04;
}
.fqm-fiche-hero p{
  max-width:560px;
  margin:0;
  color:var(--fqm-muted);
  font-size:1rem;
  line-height:1.55;
}
.fqm-fiche-actions{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  padding-top:44px;
}
.fqm-fiche-status{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);
  gap:28px;
  margin-top:8px;
  padding:18px 24px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 28px rgba(43,45,49,.06);
}
.fqm-fiche-status span{
  display:block;
  margin-bottom:8px;
  color:var(--fqm-brand);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.fqm-fiche-status strong{
  display:inline-flex;
  align-items:center;
  color:#6f552d;
  font-weight:700;
}
.fqm-fiche-status strong:first-letter{text-transform:uppercase}
.fqm-fiche-status i{
  display:block;
  width:100%;
  height:9px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--fqm-accent) var(--fqm-completion),rgba(43,45,49,.12) var(--fqm-completion));
}

.fqm-fiche-form{
  margin-top:14px;
}
.fqm-fiche-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.fqm-form-panel{
  padding:22px;
  border:1px solid rgba(43,45,49,.09);
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,45,49,.055);
}
.fqm-form-panel-wide{
  grid-column:1/-1;
}
.fqm-form-panel h3,
.fqm-form-panel summary{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:var(--fqm-brand);
  font-family:var(--fqm-font-head);
  font-size:1.22rem;
  font-weight:700;
  cursor:pointer;
}
.fqm-form-panel h3 span{
  display:inline-flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#f7f1e8;
  color:#aa7d3d;
  font-family:var(--fqm-font-body);
  font-size:.82rem;
  font-weight:800;
}
.fqm-edit-form .fqm-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fqm-edit-form .fqm-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fqm-form-media input[type="file"]{
  padding:14px;
  border-style:dashed;
  background:#fbfaf7;
}
.fqm-save-bar{
  position:sticky;
  bottom:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:18px -2px 0;
  padding:16px 22px;
  border:1px solid rgba(201,183,156,.28);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 -12px 32px rgba(43,45,49,.08);
  backdrop-filter:blur(12px);
}
.fqm-save-bar .fqm-note{
  margin:0;
}
@media(max-width:980px){
  .fqm-fiche-hero,
  .fqm-fiche-form-grid,
  .fqm-fiche-status{
    grid-template-columns:1fr;
  }
  .fqm-fiche-actions{
    justify-content:flex-start;
    padding-top:0;
  }
  .fqm-edit-form .fqm-row-3,
  .fqm-edit-form .fqm-row-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .fqm-fiche-hero{
    padding:24px 18px;
  }
  .fqm-fiche-actions,
  .fqm-save-bar{
    flex-direction:column;
    align-items:stretch;
  }
  .fqm-edit-form .fqm-row-3,
  .fqm-edit-form .fqm-row-4{
    grid-template-columns:1fr;
  }
  .fqm-form-panel{
    padding:18px;
  }
}
.fqm-dash-stats{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:16px;
  margin:20px 0;
}
.fqm-stat{
  background:var(--fqm-sand);
  padding:18px;
  border-radius:var(--fqm-radius);
  text-align:left;
}
.fqm-stat strong{
  display:block;
  font-family:var(--fqm-font-head);
  font-size:1.7rem;
  color:var(--fqm-brand);
}
.fqm-stat span{color:var(--fqm-muted);font-size:.85rem}

.fqm-leads-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
  font-size:.9rem;
}
.fqm-leads-table th,
.fqm-leads-table td{
  padding:12px 10px;
  border-bottom:1px solid var(--fqm-border-soft);
  text-align:left;
  vertical-align:top;
}
.fqm-leads-table thead{background:var(--fqm-sand)}
.fqm-leads-table th{font-weight:600;color:var(--fqm-brand);font-size:.82rem;text-transform:uppercase;letter-spacing:.3px}

.fqm-subscription-panel{
  background:linear-gradient(180deg,#fff 0%,#fbf8f2 100%);
  border:1px solid var(--fqm-border-soft);
  border-radius:calc(var(--fqm-radius) + 4px);
  padding:24px;
  box-shadow:var(--fqm-shadow-sm);
}
.fqm-subscription-panel.is-active{
  background:linear-gradient(180deg,#fff 0%,#f7f2ea 100%);
}
.fqm-subscription-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.fqm-subscription-eyebrow{
  margin:0 0 6px;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--fqm-muted);
}
.fqm-subscription-current{
  margin:0;
  font-size:1rem;
  color:var(--fqm-text);
}
.fqm-subscription-current strong{
  font-family:var(--fqm-font-head);
  font-size:1.9rem;
  line-height:1;
  color:var(--fqm-brand);
}
.fqm-subscription-intro{
  margin:0 0 4px;
  max-width:720px;
  color:var(--fqm-muted);
}
.fqm-subscription-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.fqm-subscription-kpi{
  background:rgba(201,183,156,.14);
  border:1px solid rgba(201,183,156,.26);
  border-radius:16px;
  padding:16px 18px;
}
.fqm-subscription-kpi span{
  display:block;
  font-size:.82rem;
  color:var(--fqm-muted);
  margin-bottom:6px;
}
.fqm-subscription-kpi strong{
  font-family:var(--fqm-font-head);
  font-size:1.35rem;
  color:var(--fqm-brand);
  line-height:1.15;
}

.fqm-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.fqm-plan-card{
  background:linear-gradient(180deg,#f8f4ed 0%,#f2ede4 100%);
  border:1px solid var(--fqm-border);
  border-radius:22px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  min-height:100%;
  position:relative;
  box-shadow:var(--fqm-shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.fqm-plan-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--fqm-shadow);
}
.fqm-plan-card.is-featured{
  background:linear-gradient(180deg,#f7f0e5 0%,#efe5d6 100%);
  border-color:rgba(201,183,156,.8);
  box-shadow:0 14px 34px rgba(43,45,49,.08);
}
.fqm-plan-card-top{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.fqm-plan-badge,
.fqm-plan-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:600;
}
.fqm-plan-badge{
  background:#fff;
  color:var(--fqm-brand);
  border:1px solid rgba(43,45,49,.08);
}
.fqm-plan-pill{
  background:var(--fqm-brand);
  color:#fff;
}
.fqm-plan-card h4{
  margin:0;
  font-family:var(--fqm-font-head);
  font-size:2rem;
  line-height:1;
  color:var(--fqm-brand);
}
.fqm-plan-desc{
  margin:0;
  color:var(--fqm-muted);
  line-height:1.55;
}
.fqm-plan-price{
  margin:2px 0 0;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
}
.fqm-plan-price strong{
  display:block;
  font-size:2.15rem;
  line-height:1;
  color:var(--fqm-accent-dark);
}
.fqm-plan-price span{
  display:block;
  margin-top:6px;
  font-size:1rem;
  color:var(--fqm-accent-dark);
}
.fqm-plan-points{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
  width:100%;
}
.fqm-plan-points li{
  position:relative;
  padding-left:18px;
  color:var(--fqm-text);
  line-height:1.45;
}
.fqm-plan-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--fqm-accent);
}
.fqm-plan-card .fqm-btn{
  width:100%;
  justify-content:center;
  margin-top:auto;
}
@media(max-width:980px){
  .fqm-plan-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .fqm-subscription-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .fqm-subscription-kpis{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .fqm-plan-grid{grid-template-columns:1fr}
  .fqm-plan-card h4{font-size:1.8rem}
  .fqm-plan-price strong{font-size:1.95rem}
}

/* ==========================================================================
   Search bar
   ========================================================================== */
.fqm-search-bar{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr auto;
  gap:0;
  background:#fff;
  padding:8px;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius-lg);
  box-shadow:var(--fqm-shadow);
  align-items:center;
}
@media(max-width:760px){.fqm-search-bar{grid-template-columns:1fr;gap:8px;border-radius:var(--fqm-radius);padding:14px}}
.fqm-search-bar .fqm-search-field{
  padding:10px 18px;
  border-right:1px solid var(--fqm-border-soft);
  display:flex;flex-direction:column;gap:2px;
}
@media(max-width:760px){.fqm-search-bar .fqm-search-field{border-right:0;border-bottom:1px solid var(--fqm-border-soft);padding:10px 4px}}
.fqm-search-bar .fqm-search-field:last-of-type{border-right:0;border-bottom:0}
.fqm-search-bar label{
  display:block;
  font-size:.72rem;
  color:var(--fqm-muted);
  margin-bottom:0;
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
}
.fqm-search-bar input,
.fqm-search-bar select{
  padding:4px 0;
  border:0;
  width:100%;
  background:transparent;
  font-family:inherit;
  font-size:.95rem;
  color:var(--fqm-text);
}
.fqm-search-bar input:focus,
.fqm-search-bar select:focus{outline:none}
.fqm-search-bar .fqm-btn{margin-left:100px}

/* ==========================================================================
   Pagination
   ========================================================================== */
.fqm-pagination{margin:30px 0;text-align:center}
.fqm-pagination .page-numbers{
  display:inline-block;
  padding:8px 14px;
  margin:0 3px;
  border-radius:var(--fqm-radius-sm);
  text-decoration:none;
  color:var(--fqm-brand);
  border:1px solid var(--fqm-border);
  font-weight:500;
  font-size:.9rem;
  transition:all .15s;
}
.fqm-pagination .page-numbers:hover{
  border-color:var(--fqm-accent);
  color:var(--fqm-accent-dark);
}
.fqm-pagination .current{
  background:var(--fqm-brand);
  color:#fff;
  border-color:var(--fqm-brand);
}

/* ==========================================================================
   Single — Hero 3 colonnes (logo + info + image) + form aside
   ========================================================================== */
.fqm-hero-grid{
  display:grid;
  grid-template-columns:auto 1fr 360px;
  grid-template-areas:
    "logo info form"
    "visual visual form";
  gap:24px 28px;
  align-items:start;
  margin-top:18px;
}
@media(max-width:1100px){
  .fqm-hero-grid{
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "logo info"
      "visual visual"
      "form form";
  }
}
@media(max-width:640px){
  .fqm-hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "visual"
      "logo"
      "info"
      "form";
    gap:16px;
  }
}

.fqm-hero-logo{
  grid-area:logo;
  background:var(--fqm-brand);
  border-radius:var(--fqm-radius);
  width:160px;height:160px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.fqm-hero-logo img,
.fqm-hero-logo .fqm-logo-img{
  max-width:80%;
  max-height:80%;
  width:auto;height:auto;
  display:block;
  object-fit:contain;
}
.fqm-hero-logo .fqm-default-logo-img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:cover;
}
.fqm-hero-logo .fqm-logo-ph-big{
  background:transparent;
  color:#fff;
  width:auto;height:auto;
  font-size:2rem;
}
@media(max-width:640px){
  .fqm-hero-logo{
    width:110px;height:110px;
    margin:0 auto;
  }
}

.fqm-hero-info{grid-area:info;min-width:0}
.fqm-hero-info h1{
  font-family:var(--fqm-font-head);
  font-size:clamp(2rem,3.5vw,2.6rem);
  font-weight:600;
  color:var(--fqm-brand);
  margin:.2rem 0 .4rem;
  line-height:1.05;
}
.fqm-badge-inline{
  position:static;
  display:inline-block;
  margin-bottom:8px;
}
.fqm-baseline{
  color:var(--fqm-accent-dark);
  font-size:1.05rem;
  margin:.2rem 0 .6rem;
  font-family:var(--fqm-font-head);
  font-style:italic;
}
.fqm-hero-tagline{
  color:var(--fqm-text);
  font-size:1rem;
  line-height:1.5;
  margin:0 0 14px;
  max-width:560px;
}
.fqm-meta{
  display:flex;flex-wrap:wrap;gap:18px;
  color:var(--fqm-muted);
  font-size:.9rem;
  margin:0 0 14px;
}
.fqm-meta-item{
  display:inline-flex;align-items:center;gap:6px;
}
.fqm-meta-item svg{color:var(--fqm-accent-dark);flex-shrink:0}

.fqm-hero-visual{
  grid-area:visual;
  border-radius:var(--fqm-radius);
  overflow:hidden;
  background:var(--fqm-greige);
  aspect-ratio:16/7;
  width:100%;
  position:relative;
}
.fqm-hero-visual img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.fqm-hero-visual-ph{
  width:100%;height:100%;
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-accent-soft));
}
@media(max-width:640px){
  .fqm-hero-visual{aspect-ratio:4/3}
}

/* Form aside dans le hero */
.fqm-hero-form{
  grid-area:form;
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:24px;
  box-shadow:var(--fqm-shadow);
  position:sticky;
  top:90px;
}
.fqm-hero-form h3{
  margin:0 0 4px;
  font-family:var(--fqm-font-head);
  font-size:1.2rem;
  color:var(--fqm-brand);
}
.fqm-hero-form .fqm-cta-lead{
  color:var(--fqm-muted);
  font-size:.88rem;
  margin:0 0 16px;
}
.fqm-form-disclaimer{
  font-size:.72rem;
  color:var(--fqm-muted);
  margin-top:10px;
  line-height:1.4;
}
@media(max-width:1100px){
  .fqm-hero-form{position:static}
}

.fqm-single-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px;
  margin:20px 0 18px;
  padding:14px 18px;
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
}
.fqm-kpi-mini{display:flex;flex-direction:column;gap:2px}
.fqm-kpi-mini .fqm-kpi-label{
  font-size:.72rem;
  color:var(--fqm-muted);
}
.fqm-kpi-mini .fqm-kpi-val{
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:1.1rem;
  font-weight:600;
}
.fqm-single-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.fqm-single-actions .fqm-btn{padding:.7rem 1.1rem;font-size:.9rem}
.fqm-btn-fav.is-active,
.fqm-btn-compare.is-active{
  background:#102b29;
  border-color:#102b29;
  color:#fff!important;
}
.fqm-btn-fav.is-active svg,
.fqm-btn-compare.is-active svg{
  fill:rgba(201,183,156,.25);
  stroke:#c9a675;
}

.fqm-quick-menu-item{
  display:inline-flex!important;
  align-items:center;
}
.fqm-header-quick-nav{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-left:14px;
}
.fqm-quick-link{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0!important;
  border:1px solid rgba(43,45,49,.12);
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 24px rgba(43,45,49,.08);
}
.fqm-quick-link:hover,
.fqm-quick-link:focus{
  color:#a47b43!important;
  background:#fbf8f2!important;
  border-color:rgba(201,166,117,.45)!important;
  opacity:1!important;
}
.fqm-quick-icon{
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:center/18px 18px no-repeat;
  mask:center/18px 18px no-repeat;
}
.fqm-quick-favorites .fqm-quick-icon{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
}
.fqm-quick-compare .fqm-quick-icon{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 16V9'/%3E%3Cpath d='M12 16V5'/%3E%3Cpath d='M17 16v-3'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 16V9'/%3E%3Cpath d='M12 16V5'/%3E%3Cpath d='M17 16v-3'/%3E%3C/svg%3E");
}
.fqm-quick-count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#c9a675;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:18px;
  text-align:center;
}
.fqm-quick-count.is-empty{
  display:none;
}
@media(max-width:980px){
  .fqm-header-quick-nav{
    margin-left:auto;
  }
}

/* ==========================================================================
   Onglets
   ========================================================================== */
.fqm-tabs{
  background:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(201,183,156,.24);
  position:sticky;
  top:0;
  z-index:5;
  box-shadow:0 10px 28px rgba(43,45,49,.06);
  backdrop-filter:blur(14px);
}
.fqm-tabs-inner{
  display:flex;
  gap:8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 0;
  scrollbar-width:none;
}
.fqm-tabs-inner::-webkit-scrollbar{
  display:none;
}
.fqm-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 17px;
  color:#5d6067;
  text-decoration:none;
  font-weight:650;
  font-size:.86rem;
  border:1px solid transparent;
  border-radius:999px;
  white-space:nowrap;
  transition:color .15s,border-color .15s,background .15s,box-shadow .15s,transform .15s;
}
.fqm-tab:hover{
  color:var(--fqm-brand);
  background:#f8f3eb;
  border-color:rgba(201,183,156,.28);
}
.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);
}

/* ==========================================================================
   Section "Le concept" — texte + image
   ========================================================================== */
.fqm-concept-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:30px;
  align-items:center;
}
@media(max-width:760px){.fqm-concept-grid{grid-template-columns:1fr}}
.fqm-concept-grid .fqm-content{color:var(--fqm-text);line-height:1.65}
.fqm-concept-visual{
  border-radius:var(--fqm-radius);
  overflow:hidden;
  background:var(--fqm-greige);
  aspect-ratio:4/3;
}
.fqm-concept-visual img{width:100%;height:100%;object-fit:cover;display:block}
.fqm-concept-visual-ph{
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-accent-soft));
}

/* ==========================================================================
   Feature grid (savoir-faire, produits…)
   ========================================================================== */
.fqm-feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:20px;
  margin-bottom:0;
}
.fqm-feature{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:28px 24px;
}
.fqm-feature-icon{
  display:inline-flex;
  width:52px;height:52px;
  align-items:center;justify-content:center;
  border-radius:50%;
  background:var(--fqm-sand);
  color:var(--fqm-accent-dark);
  margin-bottom:14px;
}
.fqm-feature-icon svg{width:26px;height:26px;flex-shrink:0}
.fqm-feature h4{
  margin:0 0 6px;
  font-family:var(--fqm-font-head);
  font-size:1.05rem;
  font-weight:600;
  color:var(--fqm-brand);
}
.fqm-feature p{margin:0;color:var(--fqm-muted);font-size:.9rem;line-height:1.6}

/* ==========================================================================
   Chiffres clés (keynum)
   ========================================================================== */
.fqm-keynum-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:20px;
}
.fqm-keynum{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:32px 20px;
  text-align:center;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(26,36,35,.06);
}
.fqm-keynum-icon{
  display:inline-flex;
  width:70px;height:70px;
  align-items:center;justify-content:center;
  border-radius:22px;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.98), rgba(255,255,255,.34) 28%, transparent 46%),
    linear-gradient(145deg,#fffaf1 0%,#e5d4b8 48%,#b98a45 100%);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:
    inset 8px 8px 18px rgba(255,255,255,.72),
    inset -9px -10px 18px rgba(122,82,30,.18),
    0 16px 28px rgba(123,86,43,.22),
    0 2px 0 rgba(255,255,255,.9);
  color:var(--fqm-accent-dark);
  margin:0 auto 18px;
  position:relative;
  transform:rotateX(8deg) rotateZ(-2deg);
}
.fqm-keynum-icon::before{
  content:"";
  display:block;
  width:36px;
  height:36px;
  background:linear-gradient(160deg,#203633 0%,#0b2724 58%,#c79b58 100%);
  filter:drop-shadow(0 7px 5px rgba(51,34,17,.22)) drop-shadow(0 -1px 0 rgba(255,255,255,.7));
  -webkit-mask:var(--fqm-keynum-mask) center/contain no-repeat;
  mask:var(--fqm-keynum-mask) center/contain no-repeat;
}
.fqm-keynum-icon::after{
  content:"";
  position:absolute;
  inset:7px 9px auto auto;
  width:20px;
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  filter:blur(.4px);
  transform:rotate(-22deg);
}
.fqm-keynum-icon-store{--fqm-keynum-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M8 19h32v23H8zM5 15l4-9h30l4 9v5a6 6 0 0 1-10 4.5A6 6 0 0 1 24 24a6 6 0 0 1-9 0A6 6 0 0 1 5 20zM18 29h12v13H18z'/%3E%3C/svg%3E")}
.fqm-keynum-icon-team{--fqm-keynum-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 25a10 10 0 1 0 0-20 10 10 0 0 0 0 20ZM8 43a16 16 0 0 1 32 0H8Zm2-16a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm28 0a7 7 0 1 0 0-14 7 7 0 0 0 0 14ZM0 42a13 13 0 0 1 15-12 20 20 0 0 0-8 12H0Zm41 0a20 20 0 0 0-8-12 13 13 0 0 1 15 12h-7Z'/%3E%3C/svg%3E")}
.fqm-keynum-icon-calendar{--fqm-keynum-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M14 3h6v7h8V3h6v7h6a5 5 0 0 1 5 5v25a5 5 0 0 1-5 5H8a5 5 0 0 1-5-5V15a5 5 0 0 1 5-5h6V3Zm26 19H8v17h32V22ZM13 26h7v7h-7v-7Zm10 0h7v7h-7v-7Z'/%3E%3C/svg%3E")}
.fqm-keynum-icon-growth{--fqm-keynum-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M5 40h38v5H0V3h5v37Zm6-7 10-11 8 7 12-17h-9V7h16v16h-5v-8L31 35l-9-8-8 10-3-4Z'/%3E%3C/svg%3E")}
.fqm-keynum-icon-globe{--fqm-keynum-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 3a21 21 0 1 0 0 42 21 21 0 0 0 0-42Zm13 18h-8a35 35 0 0 0-3-12 16 16 0 0 1 11 12ZM24 9a28 28 0 0 1 4 12h-8a28 28 0 0 1 4-12ZM9 27h8a35 35 0 0 0 3 12A16 16 0 0 1 9 27Zm8-6H9A16 16 0 0 1 20 9a35 35 0 0 0-3 12Zm7 18a28 28 0 0 1-4-12h8a28 28 0 0 1-4 12Zm4-18h-8a28 28 0 0 1 4-12 28 28 0 0 1 4 12Zm0 18a35 35 0 0 0 3-12h8a16 16 0 0 1-11 12Z'/%3E%3C/svg%3E")}
.fqm-keynum-icon-store{background-image:url("../images/keynum-store.png")}
.fqm-keynum-icon-team{background-image:url("../images/keynum-team.png")}
.fqm-keynum-icon-calendar{background-image:url("../images/keynum-calendar.png")}
.fqm-keynum-icon-growth{background-image:url("../images/keynum-growth.png")}
.fqm-keynum-icon-globe{background-image:url("../images/keynum-globe.png")}
.fqm-keynum-icon-store,
.fqm-keynum-icon-team,
.fqm-keynum-icon-calendar,
.fqm-keynum-icon-growth,
.fqm-keynum-icon-globe{
  width:78px;
  height:78px;
  border:0;
  background-color:transparent;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:none;
  transform:none;
}
.fqm-keynum-icon-store::before,
.fqm-keynum-icon-team::before,
.fqm-keynum-icon-calendar::before,
.fqm-keynum-icon-growth::before,
.fqm-keynum-icon-globe::before,
.fqm-keynum-icon-store::after,
.fqm-keynum-icon-team::after,
.fqm-keynum-icon-calendar::after,
.fqm-keynum-icon-growth::after,
.fqm-keynum-icon-globe::after{
  display:none;
}
.fqm-keynum strong{
  display:block;
  font-family:var(--fqm-font-head);
  font-size:1.6rem;
  color:var(--fqm-brand);
  font-weight:600;
  line-height:1.1;
  margin-bottom:4px;
}
.fqm-keynum > span:not(.fqm-keynum-icon){color:var(--fqm-muted);font-size:.85rem;margin-top:4px;display:block}

/* ==========================================================================
   Modèle économique
   ========================================================================== */
.fqm-econ-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:0;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  overflow:hidden;
  background:#fff;
}
.fqm-econ-item{
  padding:18px 20px;
  border-right:1px solid var(--fqm-border-soft);
  border-bottom:1px solid var(--fqm-border-soft);
}
.fqm-econ-label{
  display:block;
  font-size:.78rem;
  color:var(--fqm-muted);
  margin-bottom:4px;
}
.fqm-econ-item strong{
  font-family:var(--fqm-font-head);
  font-size:1.05rem;
  color:var(--fqm-brand);
  font-weight:600;
}

/* ==========================================================================
   Étapes accompagnement
   ========================================================================== */
.fqm-step-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-top:14px;
}
.fqm-step{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:18px;
}
.fqm-step-icon{font-size:1.6rem;display:block;margin-bottom:6px}
.fqm-step h4{
  margin:0 0 4px;
  font-family:var(--fqm-font-head);
  font-size:.98rem;
  color:var(--fqm-brand);
}
.fqm-step p{margin:0;color:var(--fqm-muted);font-size:.85rem;line-height:1.5}

/* ==========================================================================
   Profil recherché
   ========================================================================== */
.fqm-profile-section{
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius);
  padding:30px;
}
.fqm-profile-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:24px;
  align-items:center;
}
@media(max-width:700px){.fqm-profile-grid{grid-template-columns:1fr}}
.fqm-profile-list{list-style:none;padding:0;margin:0}
.fqm-profile-list li{
  position:relative;
  padding:8px 0 8px 32px;
  color:var(--fqm-text);
  line-height:1.5;
}
.fqm-profile-list li::before{
  content:"✓";
  position:absolute;
  left:0;top:8px;
  width:22px;height:22px;
  border-radius:50%;
  background:var(--fqm-accent);
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;
  font-weight:700;
}
.fqm-profile-visual{
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-accent-soft));
  border-radius:var(--fqm-radius);
  aspect-ratio:4/3;
}

/* ==========================================================================
   Collections favoris / comparateur
   ========================================================================== */
.fqm-collection{
  max-width:1280px;
  margin:40px auto 70px;
  padding:0 24px;
}
.fqm-collection-head{
  margin-bottom:28px;
  text-align:center;
}
.fqm-collection-eyebrow{
  display:inline-flex;
  margin-bottom:10px;
  color:#aa7d3d;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fqm-collection h1{
  margin:0 0 10px;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:clamp(2.2rem,4vw,4rem);
}
.fqm-collection-head p,
.fqm-collection-status{
  margin:0;
  color:var(--fqm-muted);
}
.fqm-collection-status{
  margin-bottom:18px;
  text-align:center;
}
.fqm-collection-empty,
.fqm-collection-hint{
  padding:24px;
  border:1px solid rgba(201,183,156,.28);
  border-radius:12px;
  background:#fbf8f2;
  color:var(--fqm-muted);
  text-align:center;
}
.fqm-collection-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.fqm-collection-card{
  display:flex;
  flex-direction:column;
  min-height:430px;
  padding:20px;
  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);
}
.fqm-collection-card-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:150px;
  margin-bottom:16px;
  border:1px solid rgba(43,45,49,.1);
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}
.fqm-collection-card-logo img{
  max-width:100%;
  max-height:118px;
  object-fit:contain;
}
.fqm-collection-card-logo .fqm-default-logo-img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
}
.fqm-collection-card h3{
  margin:14px 0 16px;
  font-family:var(--fqm-font-head);
  font-size:1.35rem;
}
.fqm-collection-card h3 a{
  color:var(--fqm-brand);
  text-decoration:none;
}
.fqm-collection-actions{
  display:grid;
  gap:10px;
  margin-top:auto;
}
.fqm-compare-table-wrap{
  margin:0 0 28px;
  overflow-x:auto;
  border:1px solid rgba(43,45,49,.1);
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,45,49,.06);
}
.fqm-compare-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
}
.fqm-compare-table th,
.fqm-compare-table td{
  padding:15px 18px;
  border-bottom:1px solid rgba(43,45,49,.08);
  text-align:left;
}
.fqm-compare-table thead th{
  background:#fbf8f2;
  color:var(--fqm-brand);
  font-weight:800;
}
.fqm-compare-table tbody th{
  color:var(--fqm-muted);
  font-weight:650;
}
@media(max-width:1100px){
  .fqm-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .fqm-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fqm-collection{padding:0 14px}
}
@media(max-width:520px){
  .fqm-collection-grid{grid-template-columns:1fr}
}
.fqm-profile-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}

/* ==========================================================================
   Implantations
   ========================================================================== */
.fqm-implant-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:20px;
  align-items:center;
}
@media(max-width:860px){.fqm-implant-grid{grid-template-columns:1fr}}
.fqm-implant-list{
  list-style:none;padding:0;margin:0 0 18px;
}
.fqm-implant-list li{
  padding:6px 0 6px 26px;
  position:relative;
  color:var(--fqm-text);
}
.fqm-implant-list li::before{
  content:"";
  position:absolute;
  left:0;top:11px;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--fqm-accent);
}
.fqm-implant-map{
  background:linear-gradient(135deg,var(--fqm-sand),var(--fqm-greige));
  border-radius:var(--fqm-radius);
  aspect-ratio:4/3;
  position:relative;
}
.fqm-implant-cities h4{
  margin:0 0 10px;
  font-family:var(--fqm-font-head);
  font-size:.78rem;
  color:var(--fqm-muted);
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:600;
}
.fqm-implant-cities ul{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr;gap:4px;
}
.fqm-implant-cities li{
  padding:4px 0 4px 18px;
  position:relative;
  font-size:.9rem;
  color:var(--fqm-text);
}
.fqm-implant-cities li::before{
  content:"";
  position:absolute;
  left:0;top:11px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--fqm-accent-dark);
}

/* ==========================================================================
   Actualités
   ========================================================================== */
.fqm-actus-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}
.fqm-actu{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  overflow:hidden;
}
.fqm-actu-img{display:block;aspect-ratio:16/10;background:var(--fqm-greige);overflow:hidden}
.fqm-actu-img img{width:100%;height:100%;object-fit:cover;display:block}
.fqm-actu-cat{
  display:block;
  padding:14px 16px 4px;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:1px;
  color:var(--fqm-accent-dark);
  text-transform:uppercase;
}
.fqm-actu h4{
  margin:0 16px 8px;
  font-family:var(--fqm-font-head);
  font-size:1rem;
  line-height:1.35;
  color:var(--fqm-brand);
}
.fqm-actu h4 a{color:inherit;text-decoration:none}
.fqm-actu h4 a:hover{color:var(--fqm-accent-dark)}
.fqm-actu-link{
  display:block;
  padding:0 16px 16px;
  color:var(--fqm-accent-dark);
  font-size:.85rem;
  font-weight:500;
  text-decoration:none;
}

/* ==========================================================================
   Documents utiles
   ========================================================================== */
.fqm-doc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:14px;
}
.fqm-doc{
  display:flex;
  flex-direction:column;
  padding:18px;
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  text-decoration:none;
  color:var(--fqm-text);
  transition:border-color .15s,transform .15s;
}
.fqm-doc:hover{border-color:var(--fqm-accent);transform:translateY(-2px)}
.fqm-doc-icon{font-size:1.4rem;margin-bottom:6px}
.fqm-doc strong{
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:1rem;
}
.fqm-doc span{color:var(--fqm-muted);font-size:.8rem;margin-top:2px}

/* ==========================================================================
   CTA bas de fiche
   ========================================================================== */
.fqm-cta-bottom{
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius);
  padding:30px;
}
.fqm-cta-bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.fqm-cta-bottom h3{
  margin:0 0 6px;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
}
.fqm-cta-bottom p{margin:0;color:var(--fqm-muted)}

/* ==========================================================================
   Section body — single-body-full (sans aside : form est dans le hero)
   ========================================================================== */
.fqm-single-body-full{
  display:block;
  max-width:1200px;
  margin:0 auto;
  padding:40px 20px;
}
.fqm-section-lead{
  color:var(--fqm-muted);
  margin:-6px 0 16px;
  font-size:.95rem;
}

/* ==========================================================================
   Modèle économique — version avec icônes (PAUL mockup)
   ========================================================================== */
.fqm-econ-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  overflow:hidden;
  background:#fff;
}
@media(max-width:980px){.fqm-econ-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.fqm-econ-grid{grid-template-columns:repeat(2,1fr)}}
.fqm-econ-item{
  padding:18px 20px;
  border-right:1px solid var(--fqm-border-soft);
  display:flex;
  align-items:center;
  gap:12px;
}
.fqm-econ-item:last-child{border-right:0}
.fqm-econ-icon{
  width:36px;height:36px;
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:var(--fqm-sand);
  color:var(--fqm-accent-dark);
}
.fqm-econ-label{
  display:block;
  font-size:.75rem;
  color:var(--fqm-muted);
  margin-bottom:2px;
}
.fqm-econ-item strong{
  font-family:var(--fqm-font-head);
  font-size:1rem;
  color:var(--fqm-brand);
  font-weight:600;
  line-height:1.2;
}

/* ==========================================================================
   Implantations — layout 3 colonnes (left | map | cities)
   ========================================================================== */
.fqm-implant-grid{
  display:grid;
  grid-template-columns:280px 1fr 240px;
  gap:30px;
  align-items:center;
}
@media(max-width:980px){
  .fqm-implant-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}
.fqm-implant-left{
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius);
  padding:24px;
}
.fqm-implant-list{
  list-style:none;
  padding:0;
  margin:0 0 18px;
}
.fqm-implant-list li{
  padding:8px 0 8px 28px;
  position:relative;
  color:var(--fqm-text);
  font-size:.95rem;
}
.fqm-implant-list li::before{
  content:"";
  position:absolute;
  left:0;top:13px;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--fqm-accent);
}
.fqm-implant-map{
  display:flex;
  justify-content:center;
  align-items:center;
}
.fqm-implant-map svg{
  width:100%;
  max-width:420px;
  height:auto;
}
.fqm-implant-cities h4{
  margin:0 0 12px;
  font-family:var(--fqm-font-body);
  font-size:.72rem;
  color:var(--fqm-muted);
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-weight:600;
}
.fqm-implant-cities ul{
  list-style:none;
  padding:0;
  margin:0;
}
.fqm-implant-cities li{
  padding:6px 0 6px 18px;
  position:relative;
  font-size:.92rem;
  color:var(--fqm-text);
}
.fqm-implant-cities li::before{
  content:"";
  position:absolute;
  left:0;top:14px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--fqm-accent-dark);
}

/* ==========================================================================
   Témoignages — 3 cards
   ========================================================================== */
.fqm-testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  position:relative;
}
@media(max-width:900px){.fqm-testimonials-grid{grid-template-columns:1fr;gap:18px}}
.fqm-testimonial{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:30px 26px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.fqm-testimonial-quote{
  font-family:var(--fqm-font-head);
  font-size:3rem;
  line-height:.7;
  color:var(--fqm-accent);
  display:block;
  height:24px;
}
.fqm-testimonial-text{
  margin:0;
  color:var(--fqm-text);
  font-size:.95rem;
  line-height:1.55;
  flex:1;
}
.fqm-testimonial footer{
  margin-top:auto;
}
.fqm-testimonial footer strong{
  display:block;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:1rem;
}
.fqm-testimonial footer span{
  display:block;
  color:var(--fqm-muted);
  font-size:.85rem;
  margin-top:2px;
}

/* ==========================================================================
   Profil — visual avec image de fond
   ========================================================================== */
.fqm-profile-visual{
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-accent-soft));
  border-radius:var(--fqm-radius);
  aspect-ratio:4/3;
  min-height:260px;
  overflow:hidden;
}

/* ==========================================================================
   Actualités — placeholder pour articles sans image
   ========================================================================== */
.fqm-actu-ph{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,var(--fqm-greige),var(--fqm-accent-soft));
}

/* ==========================================================================
   Bottom meta : claim + site officiel
   ========================================================================== */
.fqm-bottom-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:32px;
}
@media(max-width:760px){.fqm-bottom-meta{grid-template-columns:1fr}}
.fqm-claim-box,
.fqm-site-officiel{
  background:#fff;
  border:1px solid var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:22px;
}
.fqm-claim-box h3,
.fqm-site-officiel h3{
  margin:0 0 8px;
  font-family:var(--fqm-font-head);
  color:var(--fqm-brand);
  font-size:1.1rem;
}
.fqm-claim-box p,
.fqm-site-officiel p{
  margin:0 0 12px;
  color:var(--fqm-muted);
  font-size:.92rem;
}

.fqm-thumb-preview{
  margin:8px 0 6px;
  border-radius:var(--fqm-radius-sm);
  overflow:hidden;
  display:inline-block;
}
.fqm-thumb-preview img{
  max-height:72px;
  width:auto;
  display:block;
  border-radius:var(--fqm-radius-sm);
  border:1px solid var(--fqm-border-soft);
}

/* ==========================================================================
   CTA inter-sections
   ========================================================================== */
.fqm-cta-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:36px 0;
}
.fqm-cta-strip::before,
.fqm-cta-strip::after{
  content:'';
  flex:1;
  height:1px;
  background:var(--fqm-border-soft);
}
.fqm-cta-strip .fqm-btn{
  white-space:nowrap;
  flex-shrink:0;
}

/* ==========================================================================
   Médias — Dashboard (onglet Photos & documents)
   ========================================================================== */
.fqm-media-section{
  margin-bottom:36px;
  padding-bottom:32px;
  border-bottom:1px solid var(--fqm-border-soft);
}
.fqm-media-section:last-child{border-bottom:none}
.fqm-media-section h3{
  font-family:var(--fqm-font-head);
  font-size:1.05rem;
  color:var(--fqm-brand);
  margin:0 0 14px;
}
.fqm-notice{
  padding:12px 16px;
  border-radius:var(--fqm-radius);
  margin-bottom:20px;
  font-size:.9rem;
}
.fqm-notice-success{background:#e6f4ea;color:#1e6b38;border:1px solid #a8d5b5}
.fqm-notice-error{background:#fdecea;color:#9b2335;border:1px solid #f5bcc0}
.fqm-empty{color:var(--fqm-muted);font-size:.9rem;font-style:italic;margin:0 0 12px}

/* Grille de photos dans le dashboard */
.fqm-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;
  margin-bottom:16px;
}
.fqm-gallery-item{
  position:relative;
  border-radius:var(--fqm-radius);
  overflow:hidden;
  aspect-ratio:1;
  background:var(--fqm-sand);
}
.fqm-gallery-item img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.fqm-gallery-delete{
  position:absolute;top:5px;right:5px;
  background:rgba(0,0,0,.6);
  color:#fff;border:none;border-radius:50%;
  width:22px;height:22px;line-height:20px;
  font-size:.75rem;cursor:pointer;
  padding:0;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.fqm-gallery-delete:hover{background:rgba(180,20,20,.9)}

/* Zone d'upload */
.fqm-media-add-form{
  display:flex;flex-direction:column;gap:12px;max-width:480px;
}
.fqm-file-label{
  display:flex;align-items:center;gap:10px;
  background:var(--fqm-sand);
  border:1.5px dashed var(--fqm-border-soft);
  border-radius:var(--fqm-radius);
  padding:12px 16px;
  font-size:.88rem;
  color:var(--fqm-muted);
  cursor:pointer;
  transition:border-color .15s;
}
.fqm-file-label:hover{border-color:var(--fqm-accent)}
.fqm-file-label input[type="file"]{font-size:.82rem}

/* Lignes vidéos */
.fqm-video-row{align-items:flex-end}

/* Liste documents dans le dashboard */
.fqm-doc-list-edit{list-style:none;padding:0;margin:0 0 16px}
.fqm-doc-item-edit{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  background:var(--fqm-sand);
  border-radius:var(--fqm-radius);
  margin-bottom:8px;
  font-size:.9rem;
}
.fqm-doc-icon-sm{font-size:1rem;flex-shrink:0}
.fqm-doc-item-edit a{flex:1;color:var(--fqm-brand);font-weight:500;text-decoration:none}
.fqm-doc-item-edit a:hover{text-decoration:underline}
.fqm-btn-link{
  background:none;border:none;cursor:pointer;
  font-size:.82rem;padding:0;
  text-decoration:underline;
}
.fqm-delete-link{color:var(--fqm-muted)}
.fqm-delete-link:hover{color:#c0392b}

/* ==========================================================================
   Médias — Fiche publique (galerie photos & vidéos)
   ========================================================================== */
.fqm-photo-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:10px;
  margin-bottom:28px;
}
.fqm-gallery-thumb{
  display:block;
  border-radius:var(--fqm-radius);
  overflow:hidden;
  aspect-ratio:4/3;
  background:var(--fqm-sand);
}
.fqm-gallery-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s ease;
}
.fqm-gallery-thumb:hover img{transform:scale(1.04)}

.fqm-videos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px;
  margin-top:20px;
}
.fqm-video-wrap{}
.fqm-video-label{
  font-family:var(--fqm-font-head);
  font-size:.95rem;
  color:var(--fqm-brand);
  margin:0 0 8px;
}
.fqm-video-embed{
  position:relative;
  padding-bottom:56.25%;
  height:0;
  border-radius:var(--fqm-radius);
  overflow:hidden;
  background:#000;
}
.fqm-video-embed iframe{
  position:absolute;top:0;left:0;width:100%;height:100%;
  border:none;
}

@media(max-width:600px){
  .fqm-photo-gallery{grid-template-columns:repeat(2,1fr)}
  .fqm-videos-grid{grid-template-columns:1fr}
  .fqm-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}
}
