/*
Theme Name: PMP Cintres Child
Description: Thème enfant du site PMP Cintres basé sur Hello Elementor.
Author: Via Ludos
Template: hello-elementor
Version: 1.0.1
Text Domain: pmp-cintres
*/

/* PMP-PLASTIQUE-SUPPRIMER-CADRE-VIDE-01 START — Suppression du grand cadre vide à droite du produit */
@media (min-width: 1025px) {
  body.page-id-17 .elementor-element-hb1d3f5a7c9 {
    border: none !important;
    width: fit-content !important;
  }
}
/* PMP-PLASTIQUE-SUPPRIMER-CADRE-VIDE-01 END */

/* PMP-LOGO-COULEURS-AUDIT-CORRECTION-99-01 START */
body.page-id-28 .elementor-28 .elementor-element-clc28herosect0200 {
  overflow: hidden;
}
body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 {
  display: flex !important;
  --width: calc(50% - 30px) !important;
  width: calc(50% - 30px) !important;
  min-height: 360px !important;
}
body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 .elementor-widget-image,
body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 img {
  display: block;
  width: 100%;
  height: 360px;
  max-height: 360px;
  object-fit: contain;
}
body.page-id-28 .elementor-28 .pmp-logo-eyebrow .elementor-heading-title {
  color: #B8962E !important;
  font-family: Jost, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
}
body.page-id-28 .elementor-28 .pmp-logo-section-intro {
  max-width: 640px;
}
body.page-id-28 .elementor-28 .pmp-logo-section-intro p {
  margin: 0;
  color: #6b6b6b;
  font-family: Jost, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.9;
}
body.page-id-28 .elementor-28 .elementor-element-clc28techgrid0300,
body.page-id-28 .elementor-28 .elementor-element-clc28coulgrid0400,
body.page-id-28 .elementor-28 .elementor-element-clc28gamgrid0500 {
  align-items: stretch;
}
body.page-id-28 .elementor-28 .elementor-element-clc28techgrid0300 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px !important;
  --gap: 2px !important;
}
body.page-id-28 .elementor-28 .elementor-element-clc28coulgrid0400 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px !important;
  --gap: 40px !important;
}
body.page-id-28 .elementor-28 .elementor-element-clc28gamgrid0500 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;
  --gap: 24px !important;
}
body.page-id-28 .elementor-28 .elementor-element-clc28techgrid0300 > .e-con,
body.page-id-28 .elementor-28 .elementor-element-clc28coulgrid0400 > .e-con,
body.page-id-28 .elementor-28 .elementor-element-clc28gamgrid0500 > .e-con {
  width: auto !important;
  max-width: none !important;
}
body.page-id-28 .elementor-28 .pmp-logo-tech-card {
  min-height: 462px;
  position: relative;
}
body.page-id-28 .elementor-28 .pmp-logo-tech-number {
  margin-bottom: -6px;
}
body.page-id-28 .elementor-28 .pmp-logo-tech-number .elementor-heading-title {
  color: rgba(184,150,46,0.16) !important;
  font-size: 74px;
  line-height: .9;
}
body.page-id-28 .elementor-28 .pmp-logo-tech-desc p,
body.page-id-28 .elementor-28 .pmp-logo-color-desc p,
body.page-id-28 .elementor-28 .pmp-logo-gamme-desc p {
  margin: 0;
  color: #6b6b6b;
  font-family: Jost, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
}
body.page-id-28 .elementor-28 .pmp-logo-photo-placeholder {
  min-height: 176px;
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #e8e1d6;
  color: #9b9286;
  font-family: Jost, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.4px;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
body.page-id-28 .elementor-28 .pmp-logo-photo-icon {
  width: 28px;
  height: 22px;
  border: 2px solid currentColor;
  display: block;
  position: relative;
}
body.page-id-28 .elementor-28 .pmp-logo-photo-icon::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 50%;
  position: absolute;
  left: 8px;
  top: 5px;
}
body.page-id-28 .elementor-28 .pmp-logo-material-note p {
  margin: 2px 0 0;
  color: #B8962E;
  font-family: Jost, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.6px;
  line-height: 1.5;
  text-transform: uppercase;
}
body.page-id-28 .elementor-28 .pmp-logo-color-card,
body.page-id-28 .elementor-28 .pmp-logo-gamme-card {
  transition: border-color .2s ease, transform .2s ease;
}
body.page-id-28 .elementor-28 .pmp-logo-color-card:hover,
body.page-id-28 .elementor-28 .pmp-logo-gamme-card:hover {
  border-color: #B8962E !important;
  transform: translateY(-2px);
}
body.page-id-28 .elementor-28 .pmp-logo-spec-list {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
body.page-id-28 .elementor-28 .pmp-logo-spec {
  position: relative;
  padding-left: 20px;
  color: #0a0a0a;
  font-family: Jost, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
}
body.page-id-28 .elementor-28 .pmp-logo-spec::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #B8962E;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .72em;
}
body.page-id-28 .elementor-28 .pmp-logo-gamme-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a0a0a;
  font-size: 20px;
  line-height: 1;
}
body.page-id-28 .elementor-28 .pmp-logo-icon-wood {
  width: 40px;
  height: 18px;
  border: 2px solid #b48445;
  border-radius: 999px;
  background: linear-gradient(90deg, #caa06a, #8f5f2c);
}
body.page-id-28 .elementor-28 .pmp-logo-icon-blue {
  border-radius: 50%;
  background: #1d5d8f;
}
body.page-id-28 .elementor-28 .pmp-logo-gamme-link .elementor-button {
  padding: 0 !important;
}
body.page-id-28 .elementor-28 .elementor-element-clc28ctatitle0603 br {
  display: block;
}
@media (max-width: 1025px) {
  body.page-id-28 .elementor-28 .elementor-element-clc28herosect0200 {
    flex-direction: column !important;
    --flex-direction: column !important;
  }
  body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 {
    --width: 100% !important;
    width: 100% !important;
    min-height: 260px !important;
  }
  body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 img {
    height: 260px;
    max-height: 260px;
  }
  body.page-id-28 .elementor-28 .elementor-element-clc28techgrid0300,
  body.page-id-28 .elementor-28 .elementor-element-clc28coulgrid0400,
  body.page-id-28 .elementor-28 .elementor-element-clc28gamgrid0500 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 {
    min-height: 220px !important;
  }
  body.page-id-28 .elementor-28 .elementor-element-clc28herocol0206 img {
    height: 220px;
    max-height: 220px;
  }
  body.page-id-28 .elementor-28 .elementor-element-clc28techgrid0300,
  body.page-id-28 .elementor-28 .elementor-element-clc28coulgrid0400,
  body.page-id-28 .elementor-28 .elementor-element-clc28gamgrid0500 {
    grid-template-columns: 1fr;
  }
  body.page-id-28 .elementor-28 .pmp-logo-tech-card {
    min-height: 0;
  }
  body.page-id-28 .elementor-28 .pmp-logo-photo-placeholder {
    min-height: 150px;
  }
}
/* PMP-LOGO-COULEURS-AUDIT-CORRECTION-99-01 END */



/* PMP-SECTEUR-GROSSISTES-ALIGNER-TEXTE-HERO-SECTEURS-01 : aligner texte hero avec autres Secteurs */
.elementor-27 .elementor-element.elementor-element-shero {
  justify-content: flex-end !important;
  min-height: 500px !important;
  padding-bottom: 18px !important;
}
@media (max-width: 1024px) {
  .elementor-27 .elementor-element.elementor-element-shero {
    min-height: 400px !important;
    padding-bottom: 47px !important;
  }
}
@media (max-width: 767px) {
  .elementor-27 .elementor-element.elementor-element-shero {
    min-height: 340px !important;
    padding-bottom: 0px !important;
  }
}

/* Mission 011 — Corrections layout header/footer (2026-06-09) */
/* Cause racine : Elementor 4.1 .e-con-boxed a flex-direction:column par défaut, */
/* les custom properties --flex-direction ne sont pas consommées pour les conteneurs imbriqués */

/* ===== HEADER : hauteur contrainte ===== */
@media (min-width: 1026px) {
  .elementor-72 .elementor-element-c6a27f1206073f {
    height: 76px !important;
    min-height: 76px !important;
    overflow: visible !important;
  }
}
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-72 .elementor-element-c6a27f1206073f {
    height: 64px !important;
    min-height: 64px !important;
    overflow: visible !important;
  }
}
@media (max-width: 767px) {
  .elementor-72 .elementor-element-c6a27f1206073f {
    height: 64px !important;
    min-height: 64px !important;
    overflow: visible !important;
  }
}

/* ===== FOOTER : Mission 012 — Resserrement layout v2 (2026-06-09) ===== */
/* Causes racines identifiées : */
/* 1. .e-con-inner du conteneur boxed restreint à 1140px → colonnes ne tiennent pas sur 1 ligne */
/* 2. Gap effectif entre colonnes = 20px (.e-con-inner) au lieu de 48px (conteneur parent) */
/* 3. .e-con-inner de chaque colonne a flex-grow:1 → étirement vertical */
/* 4. Nav Menu : line-height normal sur les <li> au lieu de 1.8em */
/* 5. Barre légale trop haute (137px vs 36px HTML) : dropdown fantôme + paddings */
/* 6. Gap 20px entre conteneur colonnes et barre légale (inutile, border-bottom déjà présent) */

/* ── Desktop (≥1026px) : 5 colonnes sur 1 ligne, layout fidèle à la maquette ── */
@media (min-width: 1026px) {
  /* --- Conteneur principal (full-width, fond noir) --- */
  .elementor-88 .elementor-element-c00000000000001 {
    padding: 56px 60px 0px !important;
    gap: 0px !important;
    row-gap: 0px !important;
  }

  /* --- Conteneur intérieur boxed → forcer largeur 1320px (comme HTML) --- */
  .elementor-88 .elementor-element-c00000000000002 {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  .elementor-88 .elementor-element-c00000000000002 > .e-con-inner {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 48px !important;
    row-gap: 48px !important;
    padding-bottom: 40px !important;
  }

  /* --- Colonnes : flex-grow proportionnel (2:1:1:1:1.4), pas de stretch vertical --- */
  .elementor-88 .elementor-element-c00000000000003 {
    flex: 2 0 0% !important;
    width: auto !important;
  }
  .elementor-88 .elementor-element-c00000000000004 {
    flex: 1 0 0% !important;
    width: auto !important;
  }
  .elementor-88 .elementor-element-c00000000000005 {
    flex: 1 0 0% !important;
    width: auto !important;
  }
  .elementor-88 .elementor-element-c00000000000006 {
    flex: 1 0 0% !important;
    width: auto !important;
  }
  .elementor-88 .elementor-element-c00000000000007 {
    flex: 1.4 0 0% !important;
    width: auto !important;
  }

  /* Empêcher l'étirement vertical des colonnes */
  .elementor-88 .elementor-element-c00000000000003 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000004 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000005 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000006 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000007 > .e-con-inner {
    flex-grow: 0 !important;
  }

  /* Supprimer padding vertical des .e-con-inner de colonnes */
  .elementor-88 .elementor-element-c00000000000003 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000004 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000005 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000006 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000007 > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  /* --- Barre inférieure : compacte comme la maquette HTML --- */
  .elementor-88 .elementor-element-c00000000000008 {
    padding-top: 20px !important;
    padding-bottom: 24px !important;
  }
  .elementor-88 .elementor-element-c00000000000008 > .e-con-inner {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ── Tablette (768px–1025px) : Marque pleine largeur, puis 2×2 colonnes ── */
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-88 .elementor-element-c00000000000001 {
    padding: 48px 32px 0px !important;
    gap: 0px !important;
    row-gap: 0px !important;
  }

  .elementor-88 .elementor-element-c00000000000002 {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  .elementor-88 .elementor-element-c00000000000002 > .e-con-inner {
    gap: 32px !important;
    row-gap: 32px !important;
    padding-bottom: 40px !important;
  }

  /* Marque : pleine largeur en haut, puis 2×2 colonnes */
  .elementor-88 .elementor-element-c00000000000003 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .elementor-88 .elementor-element-c00000000000004 {
    flex: 0 0 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
  .elementor-88 .elementor-element-c00000000000005 {
    flex: 0 0 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
  .elementor-88 .elementor-element-c00000000000006 {
    flex: 0 0 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
  .elementor-88 .elementor-element-c00000000000007 {
    flex: 0 0 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }

  /* Empêcher l'étirement vertical + supprimer padding */
  .elementor-88 .elementor-element-c00000000000003 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000004 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000005 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000006 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000007 > .e-con-inner {
    flex-grow: 0 !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .elementor-88 .elementor-element-c00000000000008 {
    padding-top: 20px !important;
    padding-bottom: 24px !important;
  }
}

/* ── Mobile (<768px) : 1 colonne, compact ── */
@media (max-width: 767px) {
  .elementor-88 .elementor-element-c00000000000001 {
    padding: 40px 20px 0px !important;
    gap: 0px !important;
    row-gap: 0px !important;
  }

  .elementor-88 .elementor-element-c00000000000002 > .e-con-inner {
    gap: 28px !important;
    row-gap: 28px !important;
    padding-bottom: 32px !important;
  }

  /* Empêcher l'étirement vertical + supprimer padding */
  .elementor-88 .elementor-element-c00000000000003 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000004 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000005 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000006 > .e-con-inner,
  .elementor-88 .elementor-element-c00000000000007 > .e-con-inner {
    flex-grow: 0 !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .elementor-88 .elementor-element-c00000000000008 {
    padding-top: 20px !important;
    padding-bottom: 24px !important;
  }

  /* Barre légale : empilement vertical */
  .elementor-88 .elementor-element-c00000000000008 > .e-con-inner {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: center !important;
  }
}

/* ── Nav Menu : line-height compact (tous breakpoints) ── */
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu li a,
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu li {
  line-height: 1.8 !important;
}

/* ── Icon List Contact : line-height compact (tous breakpoints) ── */
.elementor-88 .elementor-icon-list-items .elementor-icon-list-item {
  line-height: 1.8 !important;
}

/* ── Cacher les menus dropdown fantômes (tous breakpoints) ── */
.elementor-88 .elementor-nav-menu--dropdown {
  display: none !important;
}

/* ── Réduire hauteur barre légale (tous breakpoints) ── */
.elementor-88 .elementor-element-c00000000000008 > .e-con-inner {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

/* ── Mission 013 bis — Badge Made in France sur carte Velours ── */
/* Badge positionne absolument en haut a droite du conteneur carte */
.elementor-11 .elementor-element-wbadge013bc3e8b2 {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 5;
}
.elementor-11 .elementor-element-wbadge013bc3e8b2 img {
    width: 70px !important;
    height: auto !important;
}
@media (max-width: 1025px) {
    .elementor-11 .elementor-element-wbadge013bc3e8b2 img {
        width: 60px !important;
    }
}
@media (max-width: 767px) {
    .elementor-11 .elementor-element-wbadge013bc3e8b2 img {
        width: 50px !important;
    }
}

/* ── Mission 013 bis — Fond noir section Personnalisation ── */
/* Couleurs de texte adaptees au fond noir */
.elementor-11 .elementor-element-w60c1d3db575c .elementor-heading-title {
    color: #ffffff !important;
}
.elementor-11 .elementor-element-w4a79d758e7f2 {
    color: rgba(255,255,255,0.7) !important;
}

/* ── Mission 013 bis — Valeurs : border-top et gap ── */
.elementor-11 .elementor-element-vb4b3557e17ff {
    border-top: 1px solid #e8e0d0 !important;
}
.elementor-11 .elementor-element-vb4b3557e17ff > .e-con-inner {
    gap: 24px !important;
}

/* ===== Mission 013 ter B — Correction largeurs cartes Gammes accueil ===== */
/* Cause : Elementor génère --width avec des media queries incorrectes. */
/* Solution : CSS ciblé dans le thème enfant pour la grille Gammes uniquement. */

/* Desktop : 6 cartes par ligne (comme la maquette HTML) */
@media (min-width: 1025px) {
  body.home .elementor-element-gccc9cee9f270 > .e-con {
    --width: 16% !important;
  }
}

/* Mobile : 2 cartes par ligne (comme la maquette HTML) */
@media (max-width: 767px) {
  body.home .elementor-element-gccc9cee9f270 > .e-con {
    --width: 48.5% !important;
  }
}

/* Gap header → grille Gammes : 40px (comme maquette HTML) */
body.home .elementor-element-wef7c6682ad24 {
  margin-bottom: 40px !important;
}

/* Forcer le gap de la grille à 8px (le paramètre Elementor 8px est surchargé) */
body.home .elementor-element-gccc9cee9f270 {
  --column-gap: 8px !important;
  --row-gap: 8px !important;
  gap: 8px !important;
}

/* ===== Mission 015 — Section Valeurs : garder flex-direction row sur mobile ===== */
/* Elementor force flex-direction:column sur les conteneurs en mobile par defaut. */
/* Cette regle maintient l'icone et le texte cote a cote comme la maquette HTML. */
@media (max-width: 767px) {
  body.home [data-id="vb4b3557e17ff"] > .elementor-element[data-id^="vl"] {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
}

/* ===== RESSOURCES : Mission 016 — Suppression gap par défaut Elementor 20px ===== */
/* Elementor flex containers appliquent un gap:20px via --gap CSS variable même quand */
/* column_gap/row_gap=0 dans les réglages. On force --gap à 0 sur les cartes. */
/* Les espacements sont gérés par les marges individuelles des widgets. */
body.home [data-id=rc0923d0315f3],
body.home [data-id=rccfa7893b133],
body.home [data-id=rcdf47936b8c4],
body.home [data-id=rc2a339e89546] {
    --gap: 11px !important;
    --column-gap: 11px !important;
    --row-gap: 11px !important;
    gap: 11px !important;
}
body.home [data-id=r2a0c1791998a] .e-con-inner {
    --gap: 11px !important;
    gap: 11px !important;
}

/* =============================================
   Mission 020 — YITH Request a Quote integration
   ============================================= */

/* YITH "Add to Quote" button — PMP Gold style */
.yith-ywraq-add-to-quote .add-request-quote-button {
    font-family: "Jost", sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    background-color: #B8962E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
}

.yith-ywraq-add-to-quote .add-request-quote-button:hover {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
}

/* YITH Message after add to quote */
.yith-ywraq-add-to-quote .yith-ywraq-add-button {
    margin: 0;
}

.yith-ywraq-add-to-quote {
    margin-top: 12px;
}

/* YITH feedback message */
.ywraq_message {
    font-family: "Jost", sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #0a0a0a;
    padding: 10px 16px;
    background: #f8f5f0;
    border-left: 3px solid #B8962E;
    margin: 12px 0;
}

.ywraq_message a {
    color: #B8962E;
    font-weight: 700;
    text-decoration: underline;
}
/* ===== STYLE YITH REQUEST A QUOTE — Mission 021 (2026-06-10) ===== */

/* --- Page Demande de Devis: fond creme, padding --- */
.page-id-106 .ywraq-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0;
}

/* --- Message de confirmation / succes --- */
.ywraq_message {
    font-family: "Jost", sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: #0a0a0a !important;
    padding: 10px 16px !important;
    background: #f8f5f0 !important;
    border-left: 3px solid #B8962E !important;
    margin: 12px 0 !important;
}

.ywraq_message a {
    color: #B8962E !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* --- Tableau recapitulatif --- */
#yith-ywrq-table-list {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 32px;
    font-family: "Jost", sans-serif;
}

#yith-ywrq-table-list thead th {
    background: #0a0a0a;
    color: #ffffff;
    font-family: "Jost", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 14px 16px;
    border: none;
}

#yith-ywrq-table-list tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid #e8e0d0;
    vertical-align: middle;
    font-family: "Jost", sans-serif;
    font-size: 14px;
    color: #0a0a0a;
}

#yith-ywrq-table-list tbody tr:hover {
    background: #f8f5f0;
}

/* --- Lien produit --- */
#yith-ywrq-table-list .product-name a {
    color: #0a0a0a;
    font-weight: 600;
    text-decoration: none;
}

#yith-ywrq-table-list .product-name a:hover {
    color: #B8962E;
}

/* --- Bouton supprimer --- */
.yith-ywraq-item-remove {
    color: #999 !important;
    font-size: 20px !important;
    text-decoration: none !important;
}

.yith-ywraq-item-remove:hover {
    color: #cc0000 !important;
}

/* --- Quantite input --- */
#yith-ywrq-table-list .product-quantity input {
    width: 60px;
    padding: 6px 8px;
    border: 1px solid #e8e0d0;
    font-family: "Jost", sans-serif;
    font-size: 14px;
    text-align: center;
}

/* --- Bouton Mettre a jour --- */
#yith-ywrq-table-list .actions input[name="update_raq"] {
    font-family: "Jost", sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 12px 28px !important;
    background: #0a0a0a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
}

#yith-ywrq-table-list .actions input[name="update_raq"]:hover {
    background: #B8962E !important;
}

/* --- Formulaire de demande --- */
.yith-ywraq-mail-form-wrapper {
    background: #f8f5f0;
    padding: 36px 36px 24px;
    margin-top: 0;
}

.yith-ywraq-mail-form-wrapper h3 {
    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    font-weight: 400;
    color: #0a0a0a;
    margin: 0 0 24px 0;
    padding: 0;
}

/* --- Champs du formulaire --- */
#yith-ywraq-mail-form .form-row {
    margin-bottom: 16px;
}

#yith-ywraq-mail-form label {
    font-family: "Jost", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #0a0a0a;
    display: block;
    margin-bottom: 6px;
}

#yith-ywraq-mail-form label abbr.required {
    color: #cc0000;
    border: none;
    font-size: 14px;
}

#yith-ywraq-mail-form input[type="text"],
#yith-ywraq-mail-form input[type="email"],
#yith-ywraq-mail-form input[type="tel"],
#yith-ywraq-mail-form textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #e8e0d0;
    background: #ffffff;
    font-family: "Jost", sans-serif;
    font-size: 14px;
    color: #0a0a0a;
    border-radius: 0;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

#yith-ywraq-mail-form input:focus,
#yith-ywraq-mail-form textarea:focus {
    border-color: #B8962E;
    outline: none;
    box-shadow: 0 0 0 2px rgba(184, 150, 46, 0.15);
}

#yith-ywraq-mail-form textarea {
    min-height: 80px;
    resize: vertical;
}

/* --- Checkbox RGPD --- */
.ywraq-privacy-wrapper {
    margin: 20px 0;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e8e0d0;
}

.ywraq-privacy-wrapper p {
    margin: 0 0 10px 0;
    font-family: "Jost", sans-serif;
    font-size: 13px;
    color: #666666;
    line-height: 1.6;
}

.ywraq-privacy-wrapper p:last-child {
    margin-bottom: 0;
}

#rqa_privacy_row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#rqa_privacy_row input[type="checkbox"] {
    margin-top: 2px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

#rqa_privacy_row label {
    font-family: "Jost", sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: #0a0a0a;
    margin-bottom: 0;
}

/* --- Bouton Envoyer --- */
.raq-send-request {
    font-family: "Jost", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: 16px 48px !important;
    background: #B8962E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
    width: 100%;
}

.raq-send-request:hover {
    background: #0a0a0a !important;
    color: #ffffff !important;
}

/* --- Bouton "Ajouter au devis" sur page gamme --- */
.yith-ywraq-add-to-quote .add-request-quote-button,
.page-id-17 .add-request-quote-button {
    font-family: "Jost", sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    background-color: #B8962E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
}

.yith-ywraq-add-to-quote .add-request-quote-button:hover,
.page-id-17 .add-request-quote-button:hover {
    background-color: #0a0a0a !important;
}

/* --- Lien "Voir ma demande" page gamme --- */
.yith-ywraq-add-to-quote .yith-ywraq-add-button a {
    font-family: "Jost", sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #B8962E;
    text-decoration: underline;
}

/* --- Message "Ajoute" --- */
.ywraq_product_added {
    font-family: "Jost", sans-serif;
    font-size: 13px;
    color: #0a0a0a;
}

/* --- Notices d'erreur --- */
.woocommerce-error,
.ywraq_notice {
    font-family: "Jost", sans-serif;
    font-size: 14px;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 768px) {
    .yith-ywraq-mail-form-wrapper {
        padding: 24px 20px;
    }

    .yith-ywraq-mail-form-wrapper h3 {
        font-size: 24px;
    }

    #yith-ywrq-table-list thead {
        display: none;
    }

    #yith-ywrq-table-list tbody td {
        display: block;
        padding: 10px 12px;
        border-bottom: none;
        text-align: right;
    }

    #yith-ywrq-table-list tbody td:before {
        content: attr(data-title);
        float: left;
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #666;
    }

    #yith-ywrq-table-list tbody tr {
        display: block;
        border-bottom: 2px solid #0a0a0a;
        padding: 8px 0;
    }

    #yith-ywrq-table-list tbody td.product-remove {
        text-align: left;
        border-bottom: 1px solid #e8e0d0;
        padding-bottom: 8px;
        margin-bottom: 8px;
    }

    #yith-ywrq-table-list tbody td.product-remove:before {
        display: none;
    }

    #yith-ywrq-table-list .actions input[name="update_raq"] {
        width: 100%;
    }

    .raq-send-request {
        padding: 14px 32px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 390px) {
    .yith-ywraq-mail-form-wrapper {
        padding: 16px 12px;
    }

    #yith-ywraq-mail-form input[type="text"],
    #yith-ywraq-mail-form input[type="email"],
    #yith-ywraq-mail-form input[type="tel"],
    #yith-ywraq-mail-form textarea {
        font-size: 16px; /* empeche zoom auto sur iOS */
    }
}
/* Fix debordement horizontal table YITH */
.ywraq-form-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

#yith-ywrq-table-list {
    min-width: 0;
    width: 100%;
}

.ywraq-wrapper {
    max-width: 100% !important;
    overflow-x: hidden;
}

/* Forcer le wrapper Elementor a ne pas deborder */
.page-id-106 .elementor-widget-shortcode {
    max-width: 100%;
    overflow-x: hidden;
}

/* ===== Mission 023A — Footer : correction couleurs nav-menu (2026-06-10) ===== */
/* Cause racine : Elementor Pro ne génère pas le CSS color_normal/color_hover des  */
/* nav-menu widgets via WP-CLI (seul .elementor-menu-toggle est inclus dans post-88.css). */
/* Les liens apparaissent en noir (défaut Hello Elementor) sur fond noir #0a0a0a. */

/* --- Liens colonnes footer : Gammes / Secteurs / Ressources (layout vertical) --- */
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu .elementor-item,
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
}
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu .elementor-item:hover,
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu a:hover,
.elementor-88 .elementor-nav-menu--layout-vertical .elementor-nav-menu .elementor-item-active {
    color: #B8962E !important;
}

/* --- Menu bas de page : Mentions légales / CGV (layout horizontal) --- */
.elementor-88 .elementor-nav-menu--layout-horizontal .elementor-nav-menu .elementor-item,
.elementor-88 .elementor-nav-menu--layout-horizontal .elementor-nav-menu a {
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none !important;
}
.elementor-88 .elementor-nav-menu--layout-horizontal .elementor-nav-menu .elementor-item:hover,
.elementor-88 .elementor-nav-menu--layout-horizontal .elementor-nav-menu a:hover {
    color: #B8962E !important;
}

/* ===== Mission 037J — Correction definitive H1 Grossistes mobile ===== */
@media (max-width: 480px) {
  body.page-id-27 h1.entry-title,
  body.page-id-27 .entry-title {
    display: block;
    width: 100%;
    max-width: calc(100vw - 32px);
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    font-size: 24px;
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}


/* ===== Mission 038F — Correction overflow mobile page Secteurs ===== */
@media (max-width: 480px) {
  body.page-id-23 .pmp-secteurs-grid .elementor-widget-html section > div > div:last-child {
    grid-template-columns: 1fr !important;
  }
}
/* ===== Mission 040F — Correction overflow mobile Crochets de couleur (2026-06-12) ===== */
/* Cause : widgets HTML inline grid-template-columns: repeat(4,1fr) et repeat(3,1fr) */
/* non adaptes au viewport mobile 390px. Les items de grille ont min-width:auto par */
/* defaut et ne peuvent pas descendre sous leur min-content → scrollWidth 566px. */
@media (max-width: 480px) {
  /* Coloris disponibles : 4 colonnes → 2 colonnes */
  body.page-id-29 .elementor-widget-html div[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 100%;
  }

  /* Compatibilite gammes : 3 colonnes → 1 colonne */
  body.page-id-29 .elementor-widget-html div[style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: 1fr !important;
    max-width: 100%;
  }

  /* Permettre le retrecissement des items de grille sous leur min-content */
  body.page-id-29 .elementor-widget-html div[style*="grid-template-columns"] > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
  }
}
/* ===== Mission 041F — Correction overflow mobile Finitions sur mesure (2026-06-12) ===== */
/* Cause : widget HTML inline grid-template-columns: repeat(8,1fr) pour les 16 coloris */
/* velours. Sur mobile (390px viewport), 8 colonnes = ~34px chacune, mais les cercles */
/* de couleur font 44px → overflowRight 62px, scrollWidth 452px. */
/* Solution : 4 colonnes sur mobile, chaque colonne = ~80px, les cercles de 44px tiennent. */
@media (max-width: 480px) {
  body.page-id-30 .elementor-element-fin30velgrid div[style*="grid-template-columns"] {
    grid-template-columns: repeat(4, 1fr) !important;
    max-width: 100%;
  }

body.page-id-30 .elementor-element-fin30velgrid div[style*="grid-template-columns"] > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
  }
}

/* ===== Mission PMP-PERSONNALISATION-HERO-DEGRADE-LOGO-DIMENSIONS-01 ===== */
/* Elementor data contient le gradient, mais le CSS genere rend un fond noir plat. */
body.page-id-28 .elementor-element-clc28herosect0200,
body.page-id-31 .elementor-element-dim31herosect {
  background:
    linear-gradient(135deg, #0a0a0a 0%, #1a1208 50%, #2d1f00 100%) !important;
}

/* ============================================================
   Mission FID-GLOBAL — Polissage visuel fidélité maquettes (2026-06-13)
   Audit source : brain/RAPPORT_AGENT.md (audit-fidelite-global)
   Ne PAS supprimer les blocs 037J / 038F / 040F / 041F ci-dessus.
   ============================================================ */

/* ── FID H1 : heros sombres en widgets HTML (le h1_color du kit Elementor
      l'emporte sur le color:#fff hérité de la <section> inline) ── */
.elementor-13 .elementor-element-realherw h1,
.elementor-15 .elementor-element-c031bherohtml01 h1,
.elementor-25 .elementor-element-retailhw h1,
.elementor-26 .elementor-element-hotherow h1 {
  color: #ffffff;
}

/* ── FID Contact 15 : formulaire à gauche, coordonnées à droite (maquette) ── */
.elementor-15 .elementor-element-c031binfoshtml2 section > div > div:first-child {
  order: 2;
}

/* ── FID Contact 15 : H1 inline 58px non responsive ── */
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-15 .elementor-element-c031bherohtml01 h1 { font-size: 42px !important; }
}
@media (max-width: 767px) {
  .elementor-15 .elementor-element-c031bherohtml01 h1 { font-size: 36px !important; }
}

/* ── FID Crochets 29 : H1 hero 56px desktop (maquette) ── */
@media (min-width: 1026px) {
  .elementor-29 .elementor-element-2714 .elementor-heading-title { font-size: 56px; }
}

/* ── FID Grossistes 27 : H1 hero 52px desktop (CSS généré défaillant) ── */
@media (min-width: 1026px) {
  .elementor-27 .elementor-element-shero-title .elementor-heading-title { font-size: 52px; }
}

/* ── FID Gammes : H1 tablette 46px → 30px (maquettes) ── */
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-18 h1.elementor-heading-title,
  .elementor-19 h1.elementor-heading-title,
  .elementor-20 h1.elementor-heading-title,
  .elementor-21 h1.elementor-heading-title,
  .elementor-22 h1.elementor-heading-title {
    font-size: 30px !important;
  }
}

/* ── FID : colonnes décoratives vides des heros (pas d'image fournie hors
      base64 — voir liste images David). Masquées pour supprimer les grands
      vides noirs. À retirer quand les vraies images seront intégrées. ── */
.elementor-30 .elementor-element-fin30herocol0206,
.elementor-30 .elementor-element-fin30dimcol02 {
  display: none;
}

/* ── FID Personnalisation 12 : image hero contrainte (rendu logo géant) ── */
.elementor-12 .elementor-element-wpagimgpers05 img {
  max-height: 420px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* ── FID : bannières sous-catégories Gammes — colonnes sur une ligne ── */
.elementor-17 .elementor-element-h3a5c7e9b1d,
.elementor-18 .elementor-element-wboisbanrow,
.elementor-19 .elementor-element-cmetal0000002,
.elementor-21 .elementor-element-chot000000002 {
  --gap: 0px;
  gap: 0px !important;
}
.elementor-19 .elementor-element-cmetal0000002 {
  margin-bottom: 60px !important;
}
@media (min-width: 768px) {
  .elementor-17 .elementor-element-h3a5c7e9b1d > .e-con,
  .elementor-18 .elementor-element-wboisbanrow > .e-con,
  .elementor-19 .elementor-element-cmetal0000002 > .e-con {
    --width: 33.333% !important;
  }
  .elementor-21 .elementor-element-chot000000002 > .e-con {
    --width: 25% !important;
  }
}
@media (max-width: 767px) {
  .elementor-17 .elementor-element-h3a5c7e9b1d > .e-con,
  .elementor-18 .elementor-element-wboisbanrow > .e-con,
  .elementor-19 .elementor-element-cmetal0000002 > .e-con,
  .elementor-21 .elementor-element-chot000000002 > .e-con {
    --width: 100% !important;
  }
}

/* ── FID Velours 20 : liens texte → bannières visuelles (charte) ── */
.elementor-20 .elementor-element-cvel000000021 {
  --gap: 0px;
  gap: 0px !important;
}
.elementor-20 .elementor-element-hvelban1,
.elementor-20 .elementor-element-hvelban2,
.elementor-20 .elementor-element-hvelban3 {
  padding: 45px 20px;
  text-align: center;
}
.elementor-20 .elementor-element-hvelban1 { background: #0a0a0a; }
.elementor-20 .elementor-element-hvelban2 { background: #1a1208; }
.elementor-20 .elementor-element-hvelban3 { background: #2d1f00; }
.elementor-20 .elementor-element-hvelban1 .elementor-heading-title,
.elementor-20 .elementor-element-hvelban2 .elementor-heading-title,
.elementor-20 .elementor-element-hvelban3 .elementor-heading-title {
  text-align: center;
}
@media (min-width: 768px) {
  .elementor-20 .elementor-element-hvelban1,
  .elementor-20 .elementor-element-hvelban2,
  .elementor-20 .elementor-element-hvelban3 {
    width: 33.333%;
  }
}

/* ============================================================
   Mission PMP-GAMME-METAL-AJUSTEMENTS-99-01 (2026-06-18)
   Carte produit (320px) + bouton "Voir la fiche" (outlined) page 19.
   Placé en zone valide : les règles calque (~l.3674/3693) sont inertes
   à cause d'une accolade non fermée (~l.3647, bloc partagé pages 18-22).
   Scope strict : .elementor-19 uniquement.
   ============================================================ */
@media (min-width: 768px) {
  .elementor-19 .elementor-element-m19prodcard01 {
    --width: 320px !important;
    max-width: 320px !important;
  }
}
.elementor-19 .elementor-element-m19prodbtn01 .elementor-button {
  width: 100%;
  background: transparent !important;
  color: #0a0a0a !important;
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #e8e0d0 !important;
  border-radius: 0;
  padding: 10px;
  transition: border-color 0.2s ease;
}
.elementor-19 .elementor-element-m19prodbtn01 .elementor-button:hover {
  border-color: #0a0a0a !important;
  background: transparent !important;
  color: #0a0a0a !important;
}

/* ── FID Plastique 17 / Bois 18 : carte produit compacte (image géante) ── */
@media (min-width: 768px) {
  .elementor-17 .elementor-element-h9a1b3c5d7e,
  .elementor-18 .elementor-element-hboiscardeco01 {
    --width: 320px !important;
    max-width: 320px;
  }
}

/* ── FID GRILLES DESKTOP (>=1026px) : enfants de conteneurs row sans largeur ── */
@media (min-width: 1026px) {
  /* Personnalisation 12 : hero texte + image */
  .elementor-12 .elementor-element-cpers00000001 > .e-con-inner > .elementor-element-ccpers00000002 { --width: calc(55% - 20px) !important; }
  .elementor-12 .elementor-element-cpers00000001 > .e-con-inner > .elementor-element-ccpersimg00003 { --width: calc(45% - 20px) !important; }
  /* Personnalisation 12 : 5 cartes options en 3 colonnes */
  .elementor-12 .elementor-element-cpersgridop04 > .e-con { --width: calc(33.333% - 14px) !important; }
  /* Personnalisation 12 : processus 4 colonnes */
  .elementor-12 .elementor-element-cprogr00000033 > .e-con { --width: calc(25% - 15px) !important; }

  /* À propos 14 : hero texte + stats */
  .elementor-14 .elementor-element-caprohero00001 > .e-con-inner > .elementor-element-caprotext00002 { --width: calc(58% - 20px) !important; }
  .elementor-14 .elementor-element-caprohero00001 > .e-con-inner > .elementor-element-caprostats00003 { --width: calc(42% - 20px) !important; }
  /* À propos 14 : histoire texte + visuel */
  .elementor-14 .elementor-element-caprohistoire00008 > .e-con-inner > .elementor-element-caprohtxt00009 { --width: calc(55% - 20px) !important; }
  .elementor-14 .elementor-element-caprohistoire00008 > .e-con-inner > .elementor-element-caprohimg00013 { --width: calc(45% - 20px) !important; }
  /* À propos 14 : valeurs 4 colonnes */
  .elementor-14 .elementor-element-caprovalgrid00019 > .e-con { --width: calc(25% - 15px) !important; }

  /* Dimensions 31 : cartes tailles 3 colonnes */
  .elementor-31 .elementor-element-dim31tailfemgrid > .e-con,
  .elementor-31 .elementor-element-dim31tailhomgrid > .e-con,
  .elementor-31 .elementor-element-dim31tailenfgrid > .e-con { --width: calc(33.333% - 14px) !important; }
  /* Dimensions 31 : options techniques 2 colonnes */
  .elementor-31 .elementor-element-dim31optgrid > .e-con { --width: calc(50% - 10px) !important; }

  /* Logo & Couleurs 28 : techniques 4 col, couleurs 2 col, gammes 3 col */
  .elementor-28 .elementor-element-clc28techgrid0300 > .e-con { --width: calc(25% - 15px) !important; }
  .elementor-28 .elementor-element-clc28coulgrid0400 > .e-con { --width: calc(50% - 10px) !important; }
  .elementor-28 .elementor-element-clc28gamgrid0500 > .e-con { --width: calc(33.333% - 14px) !important; }

  /* Finitions 30 : finitions bois/plastique/métal 3 colonnes */
  .elementor-30 .elementor-element-fin30boisgrid > .e-con,
  .elementor-30 .elementor-element-fin30plasgrid > .e-con,
  .elementor-30 .elementor-element-fin30metalgrid > .e-con { --width: calc(33.333% - 14px) !important; }

  /* Grossistes 27 : 4 raisons en 4 colonnes, 2 cartes gammes côte à côte */
  .elementor-27 .elementor-element-sargs-grid > .e-con-inner > .e-con,
  .elementor-27 .elementor-element-sargs-grid > .e-con { --width: calc(25% - 15px) !important; }
  .elementor-27 .elementor-element-sgammes-grid > .e-con-inner > .e-con,
  .elementor-27 .elementor-element-sgammes-grid > .e-con { --width: calc(50% - 10px) !important; }
}

/* ── FID GRILLES TABLETTE (768-1025px) : 2 colonnes ── */
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-12 .elementor-element-cpersgridop04 > .e-con,
  .elementor-12 .elementor-element-cprogr00000033 > .e-con,
  .elementor-14 .elementor-element-caprovalgrid00019 > .e-con,
  .elementor-31 .elementor-element-dim31tailfemgrid > .e-con,
  .elementor-31 .elementor-element-dim31tailhomgrid > .e-con,
  .elementor-31 .elementor-element-dim31tailenfgrid > .e-con,
  .elementor-31 .elementor-element-dim31optgrid > .e-con,
  .elementor-28 .elementor-element-clc28techgrid0300 > .e-con,
  .elementor-28 .elementor-element-clc28coulgrid0400 > .e-con,
  .elementor-28 .elementor-element-clc28gamgrid0500 > .e-con,
  .elementor-30 .elementor-element-fin30boisgrid > .e-con,
  .elementor-30 .elementor-element-fin30plasgrid > .e-con,
  .elementor-30 .elementor-element-fin30metalgrid > .e-con {
    --width: calc(50% - 10px) !important;
  }
  .elementor-27 .elementor-element-sargs-grid > .e-con-inner > .e-con,
  .elementor-27 .elementor-element-sargs-grid > .e-con {
    --width: calc(50% - 10px) !important;
  }
}

/* ── FID À propos 14 : stats hero en 2×2 à tous les breakpoints (maquette) ── */
.elementor-14 .elementor-element-caprogrid00004 > .e-con {
  --width: calc(50% - 10px) !important;
}

/* ============================================================
   Mission 042A — Sous-page Packaging dédié (ID 32) — grilles desktop
   Largeur des conteneurs-enfants de grille (Elementor ne génère pas
   --width depuis _inline_size : même pattern que FID-GLOBAL).
   ============================================================ */

/* Conditionnements : 6 cartes — 3 colonnes desktop, 2 tablette, 1 mobile */
@media (min-width: 1026px) {
  .elementor-32 .elementor-element-pkg32optgrid > .e-con {
    --width: calc(33.333% - 14px) !important;
  }
  .elementor-32 .elementor-element-pkg32pqgrid > .e-con {
    --width: calc(33.333% - 14px) !important;
  }
}
@media (min-width: 768px) and (max-width: 1025px) {
  .elementor-32 .elementor-element-pkg32optgrid > .e-con {
    --width: calc(50% - 10px) !important;
  }
  .elementor-32 .elementor-element-pkg32pqgrid > .e-con {
    --width: calc(33.333% - 14px) !important;
  }
}
@media (max-width: 767px) {
  .elementor-32 .elementor-element-pkg32optgrid > .e-con,
  .elementor-32 .elementor-element-pkg32pqgrid > .e-con {
    --width: 100% !important;
  }
}


/* =====================================================================
   Mission FIX-FID-ACCUEIL-99 — Fidélité visuelle Accueil (ID 11) (2026-06-13)
   Source de vérité : html/pmp-cintres-v2.html
   CSS ciblé par identifiants Elementor stables (aucune modif _elementor_data).
   Toutes les règles sont scopées .elementor-11 / body.home → page Accueil uniquement.
   ===================================================================== */

/* ---------- HERO : alignement à gauche (maquette : hero-content max 680px, padding 0 72px) ---------- */
.elementor-11 .elementor-element-hda211edc7bac {
  justify-content: center !important;   /* centrage vertical */
  align-items: flex-start !important;   /* contenu collé à gauche */
}
.elementor-11 .elementor-element-hc01a07182af7 {
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
}
.elementor-11 .elementor-element-hc01a07182af7 > .e-con-inner {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 680px !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding-left: 36px !important;
}
/* Forcer l'alignement gauche de chaque widget du hero */
.elementor-11 .elementor-element-w42e04dc6d552,
.elementor-11 .elementor-element-w42e04dc6d552 .elementor-heading-title,
.elementor-11 .elementor-element-wc1d6285f5502,
.elementor-11 .elementor-element-wc1d6285f5502 .elementor-heading-title,
.elementor-11 .elementor-element-wb8d6c350cb13,
.elementor-11 .elementor-element-wb8d6c350cb13 .elementor-widget-container,
.elementor-11 .elementor-element-wcf1f86214b1b,
.elementor-11 .elementor-element-wcf1f86214b1b .elementor-widget-container,
.elementor-11 .elementor-element-w462c040968e2,
.elementor-11 .elementor-element-w462c040968e2 .elementor-button-wrapper {
  text-align: left !important;
}
/* Overlay dégradé gauche→droite (maquette hero-overlay) */
body .elementor-11 .elementor-element-hda211edc7bac > .elementor-background-overlay {
  background-color: transparent !important;
  background-image: linear-gradient(to right, rgba(10,8,4,0.82) 0%, rgba(10,8,4,0.45) 55%, rgba(10,8,4,0.12) 100%) !important;
}
/* H1 maquette : 54px, graisse 400 */
.elementor-11 .elementor-element-wc1d6285f5502 .elementor-heading-title {
  font-size: 54px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
}
@media (max-width: 1024px) {
  .elementor-11 .elementor-element-wc1d6285f5502 .elementor-heading-title { font-size: 40px !important; }
}
@media (max-width: 767px) {
  .elementor-11 .elementor-element-wc1d6285f5502 .elementor-heading-title { font-size: 32px !important; }
  .elementor-11 .elementor-element-hc01a07182af7 > .e-con-inner { padding-left: 8px !important; }
}
/* Paragraphe hero : 15px, max 400px, interligne 1.8 (maquette) */
.elementor-11 .elementor-element-wcf1f86214b1b,
.elementor-11 .elementor-element-wcf1f86214b1b .elementor-widget-container {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.75) !important;
  max-width: 400px !important;
}
/* Bouton hero : contour or transparent (maquette .btn-hero) */
.elementor-11 .elementor-element-w462c040968e2 .elementor-button {
  background-color: transparent !important;
  color: #B8962E !important;
  border: 1.5px solid #B8962E !important;
}
.elementor-11 .elementor-element-w462c040968e2 .elementor-button:hover {
  background-color: #B8962E !important;
  color: #ffffff !important;
}

/* ---------- NOS GAMMES : libellé court (maquette .section-title-sm, pas un titre serif) ---------- */
.elementor-11 .elementor-element-wd37f8a2fd30e .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
  line-height: 1.2 !important;
}
/* Grille 6 colonnes avec gap 20px (maquette .gammes-grid) — override Mission 013 ter B */
@media (min-width: 1025px) {
  body.home .elementor-element-gccc9cee9f270 {
    --column-gap: 20px !important;
    --row-gap: 20px !important;
    gap: 20px !important;
  }
  body.home .elementor-element-gccc9cee9f270 > .e-con {
    --width: calc((100% - 100px) / 6) !important;
  }
}
/* Cartes : alignement gauche, fond transparent (maquette : pas de fond crème) */
.elementor-11 .elementor-element-gccc9cee9f270 > .e-con {
  background-color: transparent !important;
  align-items: flex-start !important;
}
/* Images cartes : hauteur 200px (maquette .gamme-img-wrap) */
.elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image img {
  height: 200px !important;
  width: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 767px) {
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image img { height: 150px !important; }
}
/* Noms de gammes : Jost 11px majuscules, alignés à gauche (maquette .gamme-name) */
.elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-heading .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: #0a0a0a !important;
}
.elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-heading {
  text-align: left !important;
}
.elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-heading .elementor-widget-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Descriptions cartes : 13px gris, alignées à gauche (maquette .gamme-desc) */
.elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-text-editor {
  text-align: left !important;
  font-size: 13px !important;
  color: #666666 !important;
  line-height: 1.6 !important;
}

/* ---------- SUBLIMER : fond crème + titre 42px (maquette .split-content / .split-title) ---------- */
.elementor-11 .elementor-element-sc8c31244cee1 {
  background-color: #F9F6F0 !important;
}
.elementor-11 .elementor-element-w6a69a5367191 .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}
@media (max-width: 767px) {
  .elementor-11 .elementor-element-w6a69a5367191 .elementor-heading-title { font-size: 30px !important; }
}

/* ---------- PERSONNALISATION : titre 46px graisse 300 (maquette .perso-title) ---------- */
.elementor-11 .elementor-element-w60c1d3db575c .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
}
@media (max-width: 767px) {
  .elementor-11 .elementor-element-w60c1d3db575c .elementor-heading-title { font-size: 34px !important; }
}

/* ---------- RESSOURCES : libellé court + cartes bord supérieur, alignées à gauche ---------- */
/* Titre de section : Jost (maquette .ressources-title) */
.elementor-11 .elementor-element-wc31613595745 .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
}
/* Cartes : bord supérieur, padding haut, alignées à gauche (maquette .res-card) */
.elementor-11 .elementor-element-gr82321d04df0 > .e-con {
  border-top: 1px solid #dddddd !important;
  padding-top: 20px !important;
  align-items: flex-start !important;
}
@media (min-width: 1025px) {
  .elementor-11 .elementor-element-gr82321d04df0 {
    --column-gap: 36px !important;
    --row-gap: 36px !important;
    gap: 36px !important;
  }
  .elementor-11 .elementor-element-gr82321d04df0 > .e-con {
    --width: calc((100% - 108px) / 4) !important;
  }
}
/* Icônes ressources : noires (maquette .res-icon svg{stroke:var(--black)}) */
.elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-html svg {
  stroke: #0a0a0a !important;
}
/* Noms ressources : Jost 11px majuscules gauche (maquette .res-name) */
.elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-heading .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: #0a0a0a !important;
}
.elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-text-editor {
  text-align: left !important;
  font-size: 14px !important;
  color: #666666 !important;
  line-height: 1.7 !important;
}
.elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-button .elementor-button-wrapper {
  text-align: left !important;
}

/* ---------- BANDEAU VALEURS : alignement gauche, espacement icône/texte (maquette .value-item) ---------- */
.elementor-11 .elementor-element-vb4b3557e17ff .elementor-widget-heading .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: #0a0a0a !important;
}
.elementor-11 .elementor-element-vb4b3557e17ff .elementor-widget-text-editor {
  font-size: 13px !important;
  color: #666666 !important;
  text-align: left !important;
  line-height: 1.6 !important;
}
/* Espacement icône ↔ texte (maquette gap:14px) */
.elementor-11 .elementor-element-vlfc619e18282,
.elementor-11 .elementor-element-vl52f2934d8ce,
.elementor-11 .elementor-element-vl15d55b620d8,
.elementor-11 .elementor-element-vl7d98cc4ece2 {
  --column-gap: 14px !important;
  gap: 14px !important;
  align-items: center !important;
}
/* ===== Fin Mission FIX-FID-ACCUEIL-99 ===== */

/* FIX-FID-ACCUEIL-99 (suite) — Badge hero encadré blanc (maquette .hero-badge) */
.elementor-11 .elementor-element-wb8d6c350cb13 .elementor-widget-container {
  display: inline-block !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  padding: 5px 14px !important;
  margin-bottom: 6px !important;
}
.elementor-11 .elementor-element-wb8d6c350cb13 span {
  color: #ffffff !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
}

/* =====================================================================
   Mission FIX-FID-ACCUEIL-99B — Footer global reconstruit (ID 88) (2026-06-13)
   Source de vérité : html/pmp-cintres-v2.html (CSS footer reproduit à l'identique).
   Markup = widget HTML unique .pmp-footer-v2 (voir build-footer-99b.php).
   Scopé .pmp-footer-v2 → n'affecte que le footer reconstruit.
   ===================================================================== */
.pmp-footer-v2 { background: #000000; padding: 56px 60px 24px; font-family: "Jost", sans-serif; }
.pmp-footer-v2 *, .pmp-footer-v2 *::before, .pmp-footer-v2 *::after { box-sizing: border-box; }
.pmp-footer-v2 .footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.pmp-footer-v2 .footer-logo { height: 110px; width: auto; margin-bottom: 14px; display: block; }
.pmp-footer-v2 .footer-brand-desc { font-size: 15px; color: rgba(255,255,255,0.7); line-height: 1.9; font-weight: 400; max-width: 240px; margin-bottom: 18px; }
.pmp-footer-v2 .footer-social { display: flex; gap: 10px; }
.pmp-footer-v2 .footer-social a {
  width: 36px; height: 36px;
  border: 1px solid rgba(255,255,255,0.4);
  color: rgba(255,255,255,0.8);
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; font-size: 13px; font-weight: 700;
  transition: all .2s;
}
.pmp-footer-v2 .footer-social a:hover { border-color: #B8962E; color: #B8962E; }
.pmp-footer-v2 .footer-col h4 { font-size: 13px; letter-spacing: 2.5px; text-transform: uppercase; color: #ffffff; font-weight: 700; margin-bottom: 20px; }
.pmp-footer-v2 .footer-col a,
.pmp-footer-v2 .footer-col p { display: block; font-size: 15px; color: rgba(255,255,255,0.7); text-decoration: none; margin-bottom: 13px; line-height: 1.8; font-weight: 400; transition: color .2s; }
.pmp-footer-v2 .footer-col a:hover { color: #D4AF5A; }
.pmp-footer-v2 .footer-contact p { display: flex; align-items: center; gap: 8px; }
.pmp-footer-v2 .footer-contact p.addr { align-items: flex-start; }
.pmp-footer-v2 .footer-contact svg { width: 14px; height: 14px; stroke: rgba(255,255,255,0.8); fill: none; stroke-width: 2; flex-shrink: 0; }
.pmp-footer-v2 .footer-contact p.addr svg { margin-top: 2px; }
.pmp-footer-v2 .footer-contact a,
.pmp-footer-v2 .footer-contact span { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 15px; font-weight: 400; line-height: 1.8; margin-bottom: 0; transition: color .2s; }
.pmp-footer-v2 .footer-contact a:hover { color: #D4AF5A; }
.pmp-footer-v2 .footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; font-size: 14px; color: rgba(255,255,255,0.6); }
.pmp-footer-v2 .footer-bottom a { color: rgba(255,255,255,0.6); text-decoration: none; margin-left: 20px; }
.pmp-footer-v2 .footer-bottom a:hover { color: #B8962E; }
/* Responsive footer (breakpoints maquette) */
@media (max-width: 1024px) {
  .pmp-footer-v2 .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 767px) {
  .pmp-footer-v2 { padding: 40px 20px 20px; }
  .pmp-footer-v2 .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .pmp-footer-v2 .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .pmp-footer-v2 .footer-bottom a { margin-left: 0; margin-right: 20px; }
}
/* ===== Fin Mission FIX-FID-ACCUEIL-99B Footer ===== */

/* =====================================================================
   Mission FIX-FID-ACCUEIL-99B — Header global (ID 72)
   Maquette .nav-links a : 11px / 600 / MAJUSCULES / letter-spacing 1.5px ;
   item actif = or + soulignement or ; CTA padding 11px 22px.
   Typographie nav appliquée en desktop (≥1026px) uniquement → hamburger
   tablette/mobile non impacté.
   ===================================================================== */
@media (min-width: 1026px) {
  /* Empêcher le retour à la ligne du menu (8 items tiennent sur 1 ligne comme la maquette) */
  .elementor-72 .elementor-nav-menu--main .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }
  .elementor-72 .elementor-nav-menu--main .elementor-item {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #0a0a0a !important;
    white-space: nowrap !important;
  }
  .elementor-72 .elementor-nav-menu--main .elementor-item:hover,
  .elementor-72 .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: #B8962E !important;
  }
  /* Soulignement (pointer underline) en or au lieu du noir par défaut */
  .elementor-72 .e--pointer-underline .elementor-item::before,
  .elementor-72 .e--pointer-underline .elementor-item::after {
    background-color: #B8962E !important;
  }
}
/* CTA « Demander un Devis » : padding maquette 11px 22px (défaut Elementor = 16px 40px) */
.elementor-72 .elementor-widget-button .elementor-button {
  padding: 11px 22px !important;
  white-space: nowrap !important;
}
@media (max-width: 767px) {
  .elementor-72 .elementor-widget-button .elementor-button { padding: 9px 14px !important; }
}
/* ===== Fin Mission FIX-FID-ACCUEIL-99B Header ===== */

/* =====================================================================
   Mission FIX-FID-ACCUEIL-99B — Hero badge + overlay + badge Velours (Accueil ID 11)
   ===================================================================== */
/* Badge hero « Fabricant de Cintres et Accessoires » : encadré blanc (maquette .hero-badge)
   Le widget text-editor n'a PAS de .elementor-widget-container (span enfant direct) →
   on borde l'élément lui-même, largeur = contenu (align-self flex-start). */
.elementor-11 .elementor-element-wb8d6c350cb13 {
  border: 1px solid rgba(255,255,255,0.55) !important;
  padding: 5px 14px !important;
  margin-bottom: 22px !important;
  align-self: flex-start !important;
  width: auto !important;
  max-width: max-content !important;
}
.elementor-11 .elementor-element-wb8d6c350cb13 span {
  color: #ffffff !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
/* Overlay dégradé exact maquette (0.80 → 0.45 → 0.10, gauche→droite) */
body .elementor-11 .elementor-element-hda211edc7bac > .elementor-background-overlay {
  background-color: transparent !important;
  background-image: linear-gradient(to right, rgba(10,8,4,0.80) 0%, rgba(10,8,4,0.45) 55%, rgba(10,8,4,0.10) 100%) !important;
}
/* Badge « Made in France » carte Velours : petit 55px haut-gauche (maquette) au lieu de 163×200 */
.elementor-11 .elementor-element-wbadge013bc3e8b2 {
  width: 55px !important;
  max-width: 55px !important;
  height: auto !important;
  top: 6px !important;
  left: 6px !important;
  right: auto !important;
}
.elementor-11 .elementor-element-wbadge013bc3e8b2 img { width: 55px !important; height: auto !important; }
.elementor-11 .elementor-element-wbadge013bis19cd7b { display: none !important; }
/* ===== Fin Mission FIX-FID-ACCUEIL-99B Hero/Velours ===== */

/* =====================================================================
   Mission CODEX-FID-ACCUEIL-99 - fidelite desktop Accueil ID 11
   Surcouche strictement scopee a l'Accueil.
   ===================================================================== */
@media (min-width: 1025px) {
  /* Hero */
  .elementor-11 .elementor-element-hda211edc7bac,
  .elementor-11 .elementor-element-hc01a07182af7,
  .elementor-11 .elementor-element-hc01a07182af7 > .e-con-inner {
    --gap: 0px !important; --column-gap: 0px !important; --row-gap: 0px !important; gap: 0 !important;
  }
  .elementor-11 .elementor-element-hc01a07182af7 { justify-content: center !important; }
  .elementor-11 .elementor-element-w42e04dc6d552 { margin-bottom: 14px !important; }
  .elementor-11 .elementor-element-wb8d6c350cb13 {
    display: flex !important; align-items: center !important; min-height: 27px !important;
    height: 27px !important; box-sizing: border-box !important; margin-bottom: 22px !important;
  }
  .elementor-11 .elementor-element-wb8d6c350cb13,
  .elementor-11 .elementor-element-wb8d6c350cb13 span { line-height: normal !important; }
  .elementor-11 .elementor-element-wc1d6285f5502 { margin-bottom: 18px !important; }
  .elementor-11 .elementor-element-wcf1f86214b1b { margin-bottom: 32px !important; }
  .elementor-11 .elementor-element-w462c040968e2 .elementor-button {
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    padding: 12px 26px !important; border: 1.5px solid #b8962e !important;
    font-family: "Jost", sans-serif !important; font-size: 10px !important; font-weight: 700 !important;
    line-height: normal !important; letter-spacing: 2.5px !important; text-transform: uppercase !important;
  }

  /* Gammes */
  .elementor-11 .elementor-element-ge127651e9cbd {
    --content-width: none !important; --gap: 0px !important; gap: 0 !important; padding: 70px 60px !important;
  }
  .elementor-11 .elementor-element-ge127651e9cbd > .e-con-inner {
    width: 100% !important; max-width: none !important; padding: 0 !important; gap: 0 !important;
  }
  .elementor-11 .elementor-element-wef7c6682ad24 {
    width: 100% !important; min-height: 18px !important; height: 18px !important; margin-bottom: 40px !important;
  }
  .elementor-11 .elementor-element-wd37f8a2fd30e .elementor-heading-title { line-height: 18px !important; }
  .elementor-11 .elementor-element-gccc9cee9f270 {
    width: 100% !important; max-width: none !important; gap: 20px !important;
  }
  .elementor-11 .elementor-element-gccc9cee9f270 > .e-con {
    --width: calc((100% - 100px) / 6) !important; width: calc((100% - 100px) / 6) !important;
    max-width: calc((100% - 100px) / 6) !important; flex: 0 0 calc((100% - 100px) / 6) !important;
    --gap: 0px !important; gap: 0 !important;
  }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image,
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image .elementor-widget-container {
    width: 100% !important;
  }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image { margin-bottom: 12px !important; }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-heading { margin-bottom: 6px !important; }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-heading .elementor-heading-title { line-height: normal !important; }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-text-editor { font-weight: 400 !important; }
  .elementor-11 .elementor-element-wbadge013bc3e8b2,
  .elementor-11 .elementor-element-wbadge013bc3e8b2 img { width: 28px !important; max-width: 28px !important; }

  /* Sublimer et Personnalisation */
  .elementor-11 .elementor-element-s71f8b1d8e848,
  .elementor-11 .elementor-element-p446272c9ab51 {
    --gap: 0px !important; gap: 0 !important; padding: 0 !important; flex-wrap: nowrap !important;
  }
  .elementor-11 .elementor-element-si78f98212912,
  .elementor-11 .elementor-element-sc8c31244cee1,
  .elementor-11 .elementor-element-pccba10ae1e9d,
  .elementor-11 .elementor-element-pi4a94f905242 {
    --width: 50% !important; width: 50% !important; min-height: 460px !important;
  }
  .elementor-11 .elementor-element-p446272c9ab51,
  .elementor-11 .elementor-element-pccba10ae1e9d,
  .elementor-11 .elementor-element-pi4a94f905242 { min-height: 466.78125px !important; }
  .elementor-11 .elementor-element-sc8c31244cee1,
  .elementor-11 .elementor-element-pccba10ae1e9d {
    --gap: 0px !important; gap: 0 !important; padding: 70px 60px !important; justify-content: center !important;
  }
  .elementor-11 .elementor-element-pccba10ae1e9d { background: #000000 !important; }
  .elementor-11 .elementor-element-w6e0c77487b07,
  .elementor-11 .elementor-element-w0825fdf3da36 { margin-bottom: 14px !important; }
  .elementor-11 .elementor-element-w6a69a5367191,
  .elementor-11 .elementor-element-w60c1d3db575c { margin-bottom: 20px !important; }
  .elementor-11 .elementor-element-w279a646f8ea6,
  .elementor-11 .elementor-element-w4a79d758e7f2 { margin-bottom: 30px !important; }
  .elementor-11 .elementor-element-w279a646f8ea6 { max-width: 400px !important; }
  .elementor-11 .elementor-element-w4a79d758e7f2 { max-width: 380px !important; }
  .elementor-11 .elementor-element-wac7e8fb26408,
  .elementor-11 .elementor-element-w987241c28186,
  .elementor-11 .elementor-element-wac7e8fb26408 .elementor-button-wrapper,
  .elementor-11 .elementor-element-w987241c28186 .elementor-button-wrapper { width: 100% !important; }
  .elementor-11 .elementor-element-wac7e8fb26408,
  .elementor-11 .elementor-element-w987241c28186 { position: relative !important; }
  .elementor-11 .elementor-element-wac7e8fb26408 { top: 3px !important; }
  .elementor-11 .elementor-element-w987241c28186 { top: 1.5px !important; }
  .elementor-11 .elementor-element-wac7e8fb26408 .elementor-button,
  .elementor-11 .elementor-element-w987241c28186 .elementor-button {
    display: flex !important; align-items: center !important; width: 100% !important; gap: 10px !important;
    padding: 11px 22px !important; background: transparent !important; font-family: "Jost", sans-serif !important;
    font-size: 10px !important; font-weight: 700 !important; line-height: normal !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
  }
  .elementor-11 .elementor-element-wac7e8fb26408 .elementor-button {
    color: #0a0a0a !important; border: 1.5px solid #0a0a0a !important;
  }
  .elementor-11 .elementor-element-w987241c28186 .elementor-button {
    color: #b8962e !important; border: 1.5px solid #b8962e !important;
  }

  /* Ressources */
  .elementor-11 .elementor-element-r2a0c1791998a {
    --content-width: none !important; --gap: 0px !important; gap: 0 !important; padding: 70px 60px !important;
  }
  .elementor-11 .elementor-element-r2a0c1791998a > .e-con-inner {
    width: 100% !important; max-width: none !important; padding: 0 !important; gap: 0 !important;
  }
  .elementor-11 .elementor-element-wc31613595745 { margin-bottom: 40px !important; }
  .elementor-11 .elementor-element-gr82321d04df0 { width: 100% !important; max-width: none !important; gap: 36px !important; }
  .elementor-11 .elementor-element-gr82321d04df0 > .e-con {
    --width: calc((100% - 108px) / 4) !important; --gap: 0px !important; gap: 0 !important;
  }
  .elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-html { margin-bottom: 10px !important; }
  .elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-heading { margin-bottom: 8px !important; }
  .elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-text-editor {
    margin-bottom: 14px !important; font-weight: 300 !important;
  }
  .elementor-11 .elementor-element-gr82321d04df0 .elementor-widget-button .elementor-button {
    display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; color: #0a0a0a !important;
    font-family: "Jost", sans-serif !important; font-size: 10px !important; font-weight: 700 !important;
    line-height: normal !important; letter-spacing: 2px !important; text-transform: uppercase !important;
  }

  /* Valeurs et footer Accueil */
  .elementor-11 .elementor-element-vb4b3557e17ff {
    --gap: 24px !important; gap: 24px !important; flex-wrap: nowrap !important;
    min-height: 138.59375px !important; height: 138.59375px !important;
  }
  .elementor-11 .elementor-element-vlfc619e18282,
  .elementor-11 .elementor-element-vl52f2934d8ce,
  .elementor-11 .elementor-element-vl15d55b620d8,
  .elementor-11 .elementor-element-vl7d98cc4ece2 {
    --width: calc((100% - 72px) / 4) !important; width: calc((100% - 72px) / 4) !important;
    --gap: 14px !important; gap: 14px !important; flex-wrap: nowrap !important;
  }
  .elementor-11 .elementor-element-vb4b3557e17ff .elementor-widget-heading { margin-bottom: 5px !important; }
  .elementor-11 .elementor-element-vb4b3557e17ff .elementor-widget-heading .elementor-heading-title { line-height: normal !important; }
  .elementor-11 .elementor-element-vb4b3557e17ff .elementor-widget-text-editor { font-weight: 300 !important; }
  body.home .pmp-footer-v2 { height: 440px !important; overflow: hidden !important; }
}
/* ===== Fin Mission CODEX-FID-ACCUEIL-99 ===== */

/* ===== Mission CODEX-HEADER-NAV-01 ===== */
/* Le dropdown ouvert doit rester au-dessus du contenu sans modifier le header ferme. */
.elementor-72 {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
}
@media (max-width: 1025px) {
  .elementor-72 .elementor-element-w6a27f12060742 {
    position: static !important;
  }
  .elementor-72 .elementor-element-w6a27f12060742 nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 64px !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
    z-index: 1001 !important;
  }
}
/* ===== Fin Mission CODEX-HEADER-NAV-01 ===== */

/* ===== Mission OPUS-HEADER-STICKY-OVERFLOW-01 ===== */
/* Sous-menu Secteurs : largeur suffisante pour les libellés longs */
/* "Hôtellerie & Collectivités" et "Retail & Concept Stores" doivent tenir */
.elementor-72 .elementor-nav-menu--main .elementor-nav-menu ul {
  width: auto !important;
  min-width:260px !important;
}
.elementor-72 .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  white-space: nowrap !important;
  padding: 10px 20px !important;
}
/* ===== Fin Mission OPUS-HEADER-STICKY-OVERFLOW-01 ===== */

/*
 * Mission CODEX-FID-PERSONNALISATION-99
 * Surcouche strictement limitee a la page Elementor 12.
 */

/* Largeur utile et rythme vertical de la maquette. */
.elementor-12 .elementor-element-cpers00000001,
.elementor-12 .elementor-element-cpers00000010,
.elementor-12 .elementor-element-cpers00000030,
.elementor-12 .elementor-element-cperscta000040 {
  box-sizing: border-box;
  width: 100%;
}

.elementor-12 .elementor-element-cpers00000001 > .e-con-inner,
.elementor-12 .elementor-element-cpers00000010 > .e-con-inner,
.elementor-12 .elementor-element-cpers00000030 > .e-con-inner,
.elementor-12 .elementor-element-cperscta000040 > .e-con-inner {
  width: 100%;
  max-width: none !important;
  gap: 0 !important;
}

/* Hero. */
.elementor-12 .elementor-element-cpers00000001 {
  min-height: 560px !important;
  padding: 0 60px !important;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 50%, #2d1f00 100%) !important;
}

.elementor-12 .elementor-element-cpers00000001 > .e-con-inner {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 80px !important;
}

.elementor-12 .elementor-element-ccpers00000002 {
  --width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0;
  gap: 0 !important;
}

.elementor-12 .elementor-element-ccpersimg00003 {
  --width: 560px !important;
  flex: 0 0 560px !important;
  width: 560px !important;
  height: 380px !important;
  min-height: 380px !important;
  overflow: hidden;
  background: url("/wp-content/uploads/2026/06/sur_mesure-1.webp") center center / cover no-repeat;
}

.elementor-12 .elementor-element-wpagimgpers05 {
  display: none !important;
}

.elementor-12 .elementor-element-wpagtagpers01 {
  margin-bottom: 20px !important;
}

.elementor-12 .elementor-element-wpagtagpers01 .elementor-heading-title {
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

.elementor-12 .elementor-element-wpagh100pers02 {
  margin-bottom: 24px !important;
}

.elementor-12 .elementor-element-wpagh100pers02 .elementor-heading-title {
  font-size: 58px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
}

.elementor-12 .elementor-element-wpagtxtpers03 {
  max-width: 480px;
  margin-bottom: 40px !important;
}

.elementor-12 .elementor-element-wpagtxtpers03,
.elementor-12 .elementor-element-wpagtxtpers03 p {
  font-size: 15px !important;
  line-height: 1.9 !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.elementor-12 .elementor-element-wpagtxtpers03 p,
.elementor-12 .elementor-element-wperstxtop03 p,
.elementor-12 .elementor-element-cpersgridop04 .elementor-widget-text-editor p {
  margin: 0 !important;
}

.elementor-12 .elementor-element-wpagbtnpers04 .elementor-button {
  padding: 16px 40px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
}

/* Options. */
.elementor-12 .elementor-element-cpers00000010 {
  padding: 0 60px !important;
}

.elementor-12 .elementor-element-wperstagop01 {
  margin-bottom: 12px !important;
}

.elementor-12 .elementor-element-wperstagop01 .elementor-heading-title,
.elementor-12 .elementor-element-wprotg0000031 .elementor-heading-title,
.elementor-12 .elementor-element-wctatag000041 .elementor-heading-title {
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

.elementor-12 .elementor-element-wperstitop02 {
  margin-bottom: 14px !important;
}

.elementor-12 .elementor-element-wperstitop02 .elementor-heading-title,
.elementor-12 .elementor-element-wproth20000032 .elementor-heading-title {
  font-size: 42px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

.elementor-12 .elementor-element-wperstxtop03 {
  width: 600px !important;
  max-width: 600px;
  align-self: flex-start;
  margin-bottom: 56px !important;
}

.elementor-12 .elementor-element-wperstxtop03,
.elementor-12 .elementor-element-wperstxtop03 p {
  font-size: 15px !important;
  line-height: 1.9 !important;
  font-weight: 300 !important;
  color: #666 !important;
}

.elementor-12 .elementor-element-cpersgridop04 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  padding: 0 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con {
  --width: auto !important;
  width: auto !important;
  min-width: 0;
  min-height: 0 !important;
  padding: 40px 32px 31.4px !important;
  border: 1px solid #e8e3dc !important;
  position: relative;
  align-items: flex-start !important;
  gap: 0 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:first-child {
  position: absolute !important;
  top: 12px;
  right: 20px;
  width: auto !important;
  margin: 0 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:first-child,
.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:first-child p {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 60px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  color: rgba(184, 150, 46, 0.12) !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:nth-child(2) {
  margin-bottom: 18px !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:nth-child(2),
.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:nth-child(2) p {
  font-size: 28px !important;
  line-height: 1 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-heading {
  margin-bottom: 10px !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-heading .elementor-heading-title {
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:nth-child(4),
.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-text-editor:nth-child(4) p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  color: #666 !important;
}

.elementor-12 .elementor-element-cpersgridop04 > .e-con > .elementor-widget-button {
  margin-top: 16px !important;
}

.elementor-12 .elementor-element-cpersgridop04 .elementor-button {
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #b8962e !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  box-shadow: none !important;
}

/* Processus. */
.elementor-12 .elementor-element-cpers00000030 {
  padding: 0 60px !important;
}

.elementor-12 .elementor-element-wprotg0000031 {
  margin-bottom: 14px !important;
}

.elementor-12 .elementor-element-wproth20000032 {
  margin-bottom: 50px !important;
}

.elementor-12 .elementor-element-cprogr00000033 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid #e8e3dc !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con {
  --width: auto !important;
  width: auto !important;
  min-width: 0;
  min-height: 0 !important;
  padding: 36px 28px !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid #e8e3dc !important;
  gap: 0 !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con:last-child {
  border-right: 0 !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-text-editor:first-child {
  margin-bottom: 16px !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-text-editor:first-child,
.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-text-editor:first-child p {
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  color: #b8962e !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-heading {
  margin-bottom: 10px !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-heading .elementor-heading-title {
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-text-editor:last-child,
.elementor-12 .elementor-element-cprogr00000033 > .e-con > .elementor-widget-text-editor:last-child p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  color: #666 !important;
}

/* CTA. */
.elementor-12 .elementor-element-cperscta000040 {
  min-height: 478px !important;
  padding: 0 60px !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
}

.elementor-12 .elementor-element-wctatag000041 {
  margin-bottom: 14px !important;
}

.elementor-12 .elementor-element-wctah20000042 {
  max-width: 620px;
  margin-bottom: 16px !important;
}

.elementor-12 .elementor-element-wctah20000042 .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
}

.elementor-12 .elementor-element-wctatxt000043 {
  max-width: 520px;
  margin-bottom: 36px !important;
}

.elementor-12 .elementor-element-wctatxt000043,
.elementor-12 .elementor-element-wctatxt000043 p {
  font-size: 15px !important;
  line-height: 1.9 !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-align: center;
}

.elementor-12 .elementor-element-wctabtn000044 .elementor-button {
  padding: 16px 40px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
}

@media (min-width: 769px) and (max-width: 1025px) {
  .elementor-12 .elementor-element-cpers00000001 {
    min-height: 0 !important;
    padding: 0 30px !important;
  }

  .elementor-12 .elementor-element-cpers00000001 > .e-con-inner {
    flex-flow: column nowrap !important;
    gap: 40px !important;
  }

  .elementor-12 .elementor-element-ccpersimg00003 {
    --width: 100% !important;
    flex: 0 0 380px !important;
    width: 100% !important;
  }

  .elementor-12 .elementor-element-cpers00000010,
  .elementor-12 .elementor-element-cpers00000030,
  .elementor-12 .elementor-element-cperscta000040 {
    padding: 0 30px !important;
  }

  .elementor-12 .elementor-element-cpersgridop04 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 > .e-con:nth-child(2) {
    border-right: 0 !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 > .e-con:nth-child(-n+2) {
    border-bottom: 1px solid #e8e3dc !important;
  }
}

@media (min-width: 1026px) {
  .elementor-12 .elementor-element-cpers00000030 {
    height: 494.78px !important;
    min-height: 494.78px !important;
  }

  .elementor-12 .elementor-element-cperscta000040 {
    height: 478px !important;
    min-height: 478px !important;
  }
}

@media (max-width: 768px) {
  .elementor-12 .elementor-element-cpers00000001 {
    min-height: 0 !important;
    padding: 0 20px !important;
  }

  .elementor-12 .elementor-element-cpers00000001 > .e-con-inner {
    flex-flow: column nowrap !important;
    gap: 40px !important;
  }

  .elementor-12 .elementor-element-ccpersimg00003 {
    --width: 100% !important;
    flex: 0 0 260px !important;
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
  }

  .elementor-12 .elementor-element-wpagh100pers02 .elementor-heading-title {
    font-size: 36px !important;
  }

  .elementor-12 .elementor-element-cpers00000010,
  .elementor-12 .elementor-element-cpers00000030,
  .elementor-12 .elementor-element-cperscta000040 {
    padding: 0 20px !important;
  }

  .elementor-12 .elementor-element-cpersgridop04,
  .elementor-12 .elementor-element-cprogr00000033 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 {
    gap: 0 !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 > .e-con {
    border-right: 0 !important;
    border-bottom: 1px solid #e8e3dc !important;
  }

  .elementor-12 .elementor-element-cprogr00000033 > .e-con:last-child {
    border-bottom: 0 !important;
  }

  .elementor-12 .elementor-element-wctah20000042 .elementor-heading-title {
    font-size: 38px !important;
  }
}

/* ===== Mission CODEX-RESSOURCES-FAQ-INTEGRATION-01 — FAQ ID 34 ===== */

/* Sidebar sticky */
body.page-id-34 .pmp-faq-sidebar {
  position: sticky;
  top: 90px;
}
body.page-id-34 .pmp-faq-sidebar-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #B8962E;
  margin-bottom: 20px;
}
body.page-id-34 .pmp-faq-sidebar-link {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #666666;
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid #e8e3dc;
  transition: color 0.2s;
}
body.page-id-34 .pmp-faq-sidebar-link:hover {
  color: #B8962E;
  font-weight: 600;
}

/* Groupes FAQ */
body.page-id-34 .pmp-faq-group {
  margin-bottom: 56px;
}
body.page-id-34 .pmp-faq-group-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #B8962E;
  color: #0a0a0a;
}

/* Questions FAQ */
body.page-id-34 .pmp-faq-item {
  border-bottom: 1px solid #e8e3dc;
}
body.page-id-34 .pmp-faq-question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 22px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: "Jost", sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #0a0a0a;
  transition: color 0.2s;
}
body.page-id-34 .pmp-faq-question:hover,
body.page-id-34 .pmp-faq-question.open {
  color: #B8962E;
}
body.page-id-34 .pmp-faq-icon {
  font-size: 22px;
  font-weight: 300;
  color: #B8962E;
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 16px;
}
body.page-id-34 .pmp-faq-question.open .pmp-faq-icon {
  transform: rotate(45deg);
}

/* Réponses FAQ */
body.page-id-34 .pmp-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
body.page-id-34 .pmp-faq-answer.open {
  max-height: 800px;
}
body.page-id-34 .pmp-faq-answer-inner {
  padding: 0 0 22px;
  font-size: 14px;
  color: #666666;
  line-height: 1.9;
  font-weight: 300;
}
body.page-id-34 .pmp-faq-answer-inner a {
  color: #B8962E;
  text-decoration: none;
}
body.page-id-34 .pmp-faq-answer-inner strong {
  color: #0a0a0a;
  font-weight: 600;
}

/* Responsive : tablette/mobile (< 1025px) */
@media (max-width: 1024px) {
  body.page-id-34 .pmp-faq-sidebar {
    position: static;
  }

  /* Forcer FAQ section en colonne */
  body.page-id-34 .elementor-element-wfaqmain00005 {
    flex-direction: column !important;
    padding: 50px 20px !important;
  }

  /* Sidebar pleine largeur */
  body.page-id-34 .elementor-element-wfaqside0006 {
    width: 100% !important;
  }

  /* Contenu FAQ pleine largeur */
  body.page-id-34 .elementor-element-wfaqcont0008 {
    width: 100% !important;
  }

  /* Hero responsive */
  body.page-id-34 .elementor-element-wfaqhero0001 {
    padding: 60px 20px !important;
  }

  body.page-id-34 .elementor-element-wfaqhead0003 .elementor-heading-title {
    font-size: 36px !important;
  }

  /* CTA responsive */
  body.page-id-34 .elementor-element-wfaqcta000010 {
    padding: 60px 20px !important;
  }

  body.page-id-34 .elementor-element-wfaqctah0012 .elementor-heading-title {
    font-size: 32px !important;
  }

  /* Group title responsive */
  body.page-id-34 .pmp-faq-group-title {
    font-size: 24px;
  }
}

/* Mobile strict (< 481px) */
@media (max-width: 480px) {
  body.page-id-34 .pmp-faq-group-title {
    font-size: 22px;
  }
  body.page-id-34 .pmp-faq-question {
    font-size: 14px;
    padding: 18px 0;
  }
}

/* ===== Mission CODEX-RESSOURCES-FAQ-FID-99-STRICT-01 — Fidelite visuelle FAQ ===== */

/* --- Grille FAQ : sidebar 280px fixe (alignement maquette) --- */
body.page-id-34 .elementor-element-wfaqside0006 {
  width: 280px !important;
  max-width: 280px;
  flex-shrink: 0;
}
body.page-id-34 .elementor-element-wfaqcont0008 {
  flex: 1 1 0% !important;
  min-width: 0;
}

/* --- Bouton CTA noir (conforme maquette .btn-black) --- */
body.page-id-34 .elementor-element-wfaqcta000010 .elementor-button {
  background-color: #0a0a0a !important;
  padding: 16px 40px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}
body.page-id-34 .elementor-element-wfaqcta000010 .elementor-button:hover {
  background-color: #B8962E !important;
}

/* --- Ajustements espacements verticaux --- */
body.page-id-34 .elementor-element-wfaqhero0001 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  min-height: 280px !important;
}
body.page-id-34 .elementor-element-wfaqmain00005 {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
  padding-left: 60px !important;
  padding-right: 60px !important;
  gap: 80px !important;
}
body.page-id-34 .elementor-element-wfaqcta000010 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  padding-left: 60px !important;
  padding-right: 60px !important;
}

/* --- Titre CTA proche maquette --- */
body.page-id-34 .elementor-element-wfaqctah0012 .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 400 !important;
}

/* ===== Mission CODEX-RESSOURCES-FAQ-TYPO-CSS-01 — Sidebar FAQ typographie ===== */

/* Sidebar titre Catégories — police explicite */
body.page-id-34 .pmp-faq-sidebar-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #B8962E !important;
  margin-bottom: 22px !important;
}

/* Sidebar liens — police explicite */
body.page-id-34 .pmp-faq-sidebar-link {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
  color: #666666 !important;
  padding: 10px 0 !important;
  min-height: 38px !important;
  border-bottom: 1px solid #e8e3dc !important;
}

/* Hero sous-titre — police conforme maquette */
body.page-id-34 .elementor-element-wfaqtxt00004 p {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.9 !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

/* CTA texte — police conforme maquette */
body.page-id-34 .elementor-element-wfaqctat0013 p {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.9 !important;
}

/* CTA bouton — police explicite (doublon renforce) */
body.page-id-34 .elementor-element-wfaqctab0014 .elementor-button {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 2.5px !important;
  padding: 16px 40px !important;
}

/* Reponses FAQ — police explicite */
body.page-id-34 .pmp-faq-answer-inner {
  font-family: 'Jost', sans-serif !important;
}

/* Titres groupes FAQ — margin-top:0 (annule le 24.9px Elementor) */
body.page-id-34 .pmp-faq-group-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  margin-top: 0 !important;
}

/* ===== Mission CODEX-RESSOURCES-FAQ-FID-99-FINAL-01 — Derniere passe fidelite FAQ ===== */

/* --- Suppression column-gap Elementor dans hero et CTA (cause des +53px et +41px) --- */
body.page-id-34 .elementor-element-wfaqhero0001 {
  row-gap: 0px !important;
  --column-gap: 0px !important;
}
body.page-id-34 .elementor-element-wfaqcta000010 {
  row-gap: 0px !important;
  --column-gap: 0px !important;
}

/* --- Hero surtitre : marges maquette (mb 20px) + police Jost explicite --- */
body.page-id-34 .elementor-element-wfaqsur00002 {
  margin-bottom: 20px !important;
}
body.page-id-34 .elementor-element-wfaqsur00002 .elementor-heading-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 3px !important;
}

/* --- Hero H1 : marge maquette (mb 18px) --- */
body.page-id-34 .elementor-element-wfaqhead0003 {
  margin-bottom: 18px !important;
}
body.page-id-34 .elementor-element-wfaqhead0003 .elementor-heading-title {
  line-height: 1.15 !important;
}

/* --- Hero texte intro : pas de marge supplementaire --- */
body.page-id-34 .elementor-element-wfaqtxt00004 {
  margin-bottom: 0 !important;
}

/* --- CTA surtitre : marges maquette (mb 14px) + police Jost explicite --- */
body.page-id-34 .elementor-element-wfaqctas0011 {
  margin-bottom: 14px !important;
}
body.page-id-34 .elementor-element-wfaqctas0011 .elementor-heading-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 3px !important;
  color: #B8962E !important;
}

/* --- CTA H2 : marge maquette (mb 16px) --- */
body.page-id-34 .elementor-element-wfaqctah0012 {
  margin-bottom: 16px !important;
}
body.page-id-34 .elementor-element-wfaqctah0012 .elementor-heading-title {
  line-height: 1.2 !important;
}

/* --- CTA texte : marge maquette (mb 36px) --- */
body.page-id-34 .elementor-element-wfaqctat0013 {
  margin-bottom: 36px !important;
}

/* --- Suppression Times New Roman sur conteneurs FAQ et sidebar --- */
body.page-id-34 .elementor-element-wfaqcontw0009,
body.page-id-34 .elementor-element-wfaqsidew0007 {
  font-family: 'Jost', sans-serif !important;
}

/* --- FAQ questions : police Jost explicite (renforce) --- */
body.page-id-34 .pmp-faq-question {
  font-family: 'Jost', sans-serif !important;
}


/* --- Ajustement padding hero pour compenser spacing Elementor (cible 338px) --- */
body.page-id-34 .elementor-element-wfaqhero0001 {
  padding-top: 68px !important;
  padding-bottom: 67px !important;
}

/* --- Ajustement padding CTA pour compenser spacing Elementor (cible 397px) --- */
body.page-id-34 .elementor-element-wfaqcta000010 {
  padding-top: 66px !important;
  padding-bottom: 65px !important;
}

/* --- Suppression marges widget-wrap hero (espace parasite Elementor) --- */
body.page-id-34 .elementor-element-wfaqhero0001 .elementor-widget-wrap {
  padding: 0 !important;
}
body.page-id-34 .elementor-element-wfaqcta000010 .elementor-widget-wrap {
  padding: 0 !important;
}

/* --- Suppression Times New Roman sur les conteneurs hero et CTA (heritage) --- */
body.page-id-34 .elementor-element-wfaqhero0001,
body.page-id-34 .elementor-element-wfaqmain00005,
body.page-id-34 .elementor-element-wfaqcta000010 {
  font-family: 'Jost', sans-serif !important;
}

/* --- Hero sous-titre conteneur : police Jost (renforce le p deja corrige) --- */
body.page-id-34 .elementor-element-wfaqtxt00004 {
  font-family: 'Jost', sans-serif !important;
}

/* --- CTA texte conteneur : police Jost (renforce le p deja corrige) --- */
body.page-id-34 .elementor-element-wfaqctat0013 {
  font-family: 'Jost', sans-serif !important;
}


/* ============================================================
   Mission CODEX-RESSOURCES-MATIERES-INTEGRATION-01 — Page Matières ID 35
   ============================================================ */

/* --- Hero --- */
body.page-id-35 .pmp-mat-hero {
  min-height: 280px;
}
body.page-id-35 .pmp-mat-hero h1 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 56px !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
}
body.page-id-35 .pmp-mat-hero > div > div:first-child {
  font-family: "Jost", sans-serif !important;
}

/* --- Intro --- */
body.page-id-35 .pmp-mat-intro {
  background: #f8f5f0;
}
body.page-id-35 .pmp-mat-intro h2 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
  margin-bottom: 18px !important;
}

/* --- Blocs matière : flex layout --- */
body.page-id-35 .pmp-mat-bois > div,
body.page-id-35 .pmp-mat-plastique > div,
body.page-id-35 .pmp-mat-metal > div,
body.page-id-35 .pmp-mat-velours > div {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

/* --- Image columns --- */
body.page-id-35 .pmp-mat-bois > div > div:first-child,
body.page-id-35 .pmp-mat-metal > div > div:first-child {
  flex: 0 0 50% !important;
  min-width: 280px;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-id-35 .pmp-mat-plastique > div > div:last-child,
body.page-id-35 .pmp-mat-velours > div > div:last-child {
  flex: 0 0 50% !important;
  min-width: 280px;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Content columns --- */
body.page-id-35 .pmp-mat-bois > div > div:last-child,
body.page-id-35 .pmp-mat-metal > div > div:last-child {
  flex: 1 1 50% !important;
  min-width: 280px;
}

body.page-id-35 .pmp-mat-plastique > div > div:first-child,
body.page-id-35 .pmp-mat-velours > div > div:first-child {
  flex: 1 1 50% !important;
  min-width: 280px;
}

/* --- Finitions grid --- */
body.page-id-35 .pmp-mat-finitions > div > div:last-child {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  justify-content: center;
}
body.page-id-35 .pmp-mat-finitions .finition-card-hover:hover {
  border-top-color: #B8962E !important;
}

/* --- CTA buttons --- */
body.page-id-35 .pmp-mat-cta h2 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
}
body.page-id-35 .pmp-mat-cta a {
  transition: background 0.2s, color 0.2s;
}
body.page-id-35 .pmp-mat-cta a:hover {
  background: #ffffff !important;
  color: #0a0a0a !important;
}

/* --- Boutons gamme hover --- */
body.page-id-35 .pmp-mat-bois a:hover,
body.page-id-35 .pmp-mat-plastique a:hover,
body.page-id-35 .pmp-mat-metal a:hover,
body.page-id-35 .pmp-mat-velours a:hover {
  background: #B8962E !important;
}

/* --- Responsive tablette (≤1024px) --- */
@media (max-width: 1024px) {
  body.page-id-35 .pmp-mat-hero h1 {
    font-size: 42px !important;
  }
  body.page-id-35 .pmp-mat-intro h2 {
    font-size: 34px !important;
  }
  body.page-id-35 .pmp-mat-bois > div > div:first-child,
  body.page-id-35 .pmp-mat-metal > div > div:first-child,
  body.page-id-35 .pmp-mat-plastique > div > div:last-child,
  body.page-id-35 .pmp-mat-velours > div > div:last-child {
    flex: 0 0 45% !important;
    min-height: 320px;
  }
  body.page-id-35 .pmp-mat-bois > div > div:last-child,
  body.page-id-35 .pmp-mat-metal > div > div:last-child,
  body.page-id-35 .pmp-mat-plastique > div > div:first-child,
  body.page-id-35 .pmp-mat-velours > div > div:first-child {
    padding: 40px 30px !important;
  }
  body.page-id-35 .pmp-mat-finitions > div > div:last-child > div {
    flex: 0 0 calc(50% - 1px) !important;
    min-width: 0;
  }
}

/* --- Responsive mobile (≤768px) --- */
@media (max-width: 768px) {
  body.page-id-35 .pmp-mat-hero {
    padding: 60px 20px !important;
    min-height: auto;
  }
  body.page-id-35 .pmp-mat-hero h1 {
    font-size: 36px !important;
  }
  body.page-id-35 .pmp-mat-intro h2 {
    font-size: 30px !important;
  }
  body.page-id-35 .pmp-mat-hero h2,
  body.page-id-35 .pmp-mat-cta h2 {
    font-size: 32px !important;
  }

  /* Empiler blocs matière */
  body.page-id-35 .pmp-mat-bois > div,
  body.page-id-35 .pmp-mat-plastique > div,
  body.page-id-35 .pmp-mat-metal > div,
  body.page-id-35 .pmp-mat-velours > div {
    flex-direction: column !important;
  }
  body.page-id-35 .pmp-mat-bois > div > div:first-child,
  body.page-id-35 .pmp-mat-metal > div > div:first-child,
  body.page-id-35 .pmp-mat-plastique > div > div:last-child,
  body.page-id-35 .pmp-mat-velours > div > div:last-child,
  body.page-id-35 .pmp-mat-bois > div > div:last-child,
  body.page-id-35 .pmp-mat-metal > div > div:last-child,
  body.page-id-35 .pmp-mat-plastique > div > div:first-child,
  body.page-id-35 .pmp-mat-velours > div > div:first-child {
    flex: 1 1 100% !important;
    min-height: 260px;
    max-width: 100%;
  }
  body.page-id-35 .pmp-mat-bois > div > div:last-child,
  body.page-id-35 .pmp-mat-metal > div > div:last-child,
  body.page-id-35 .pmp-mat-plastique > div > div:first-child,
  body.page-id-35 .pmp-mat-velours > div > div:first-child {
    padding: 50px 20px !important;
  }

  /* Finitions 1 colonne */
  body.page-id-35 .pmp-mat-finitions > div > div:last-child > div {
    flex: 1 1 100% !important;
    min-width: 0;
  }
  body.page-id-35 .pmp-mat-finitions {
    padding: 60px 20px !important;
  }
  body.page-id-35 .pmp-mat-cta {
    padding: 60px 20px !important;
  }
}

/* ============================================================
   Mission OPUS-RESSOURCES-MATIERES-AUDIT-CORRECTION-01 (2026-06-15)
   Structure 50/50 pleine largeur Matières (ID 35).
   Objectif : reproduire .matiere-block / .matiere-img / .matiere-content
   de la maquette — images GRANDES qui remplissent toute leur colonne
   (object-fit:contain comme la maquette), alternance image/texte correcte.
   CSS strictement scopé body.page-id-35. Aucune image IA, aucune base64,
   aucun overflow-x:hidden.
   ============================================================ */

/* L'image remplit toute sa colonne (équivaut à .matiere-img img de la maquette).
   Annule le max-height:400px inline qui faisait flotter une petite vignette,
   et le max-height:250px Velours de la mission FID-99-01. */
body.page-id-35 .pmp-mat-bois [style*="min-height:420px"] img,
body.page-id-35 .pmp-mat-plastique [style*="min-height:420px"] img,
body.page-id-35 .pmp-mat-metal [style*="min-height:420px"] img,
body.page-id-35 .pmp-mat-velours [style*="min-height:420px"] img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* Colonne image : fond crème derrière le contain + rognage propre (comme .matiere-img) */
body.page-id-35 .pmp-mat-bois [style*="min-height:420px"],
body.page-id-35 .pmp-mat-plastique [style*="min-height:420px"],
body.page-id-35 .pmp-mat-metal [style*="min-height:420px"],
body.page-id-35 .pmp-mat-velours [style*="min-height:420px"] {
  background: #f8f5f0 !important;
  overflow: hidden !important;
}

/* --- Polices explicites anti-Times New Roman (ex FID-99-01, fusionné ici) --- */
body.page-id-35 .pmp-mat-hero [style*="font:700 10px"],
body.page-id-35 .pmp-mat-intro [style*="font:700 10px"],
body.page-id-35 .pmp-mat-cta [style*="font:700 10px"],
body.page-id-35 .pmp-mat-finitions [style*="font:700 10px"] {
  font-family: "Jost", sans-serif !important;
}
body.page-id-35 .pmp-mat-bois [style*="Gamme 01"],
body.page-id-35 .pmp-mat-plastique [style*="Gamme 02"],
body.page-id-35 .pmp-mat-metal [style*="Gamme 03"],
body.page-id-35 .pmp-mat-velours [style*="Gamme 04"] {
  font-family: "Jost", sans-serif !important;
}

/* --- Desktop ≥1025px : vraie grille 50/50 pleine largeur --- */
@media (min-width: 1025px) {
  body.page-id-35 .pmp-mat-bois > div,
  body.page-id-35 .pmp-mat-plastique > div,
  body.page-id-35 .pmp-mat-metal > div,
  body.page-id-35 .pmp-mat-velours > div {
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  /* colonne image : exactement 50%, étirée sur toute la hauteur du bloc */
  body.page-id-35 .pmp-mat-bois [style*="min-height:420px"],
  body.page-id-35 .pmp-mat-plastique [style*="min-height:420px"],
  body.page-id-35 .pmp-mat-metal [style*="min-height:420px"],
  body.page-id-35 .pmp-mat-velours [style*="min-height:420px"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-height: 420px !important;
    align-self: stretch !important;
    padding: 20px !important;
  }
  /* colonne texte : 50%, centrée verticalement, padding maquette 70/60 */
  body.page-id-35 .pmp-mat-bois [style*="padding:70px 60px"],
  body.page-id-35 .pmp-mat-plastique [style*="padding:70px 60px"],
  body.page-id-35 .pmp-mat-metal [style*="padding:70px 60px"],
  body.page-id-35 .pmp-mat-velours [style*="padding:70px 60px"] {
    flex: 1 1 50% !important;
    max-width: 50% !important;
    padding: 70px 60px !important;
  }
  /* Alternance : Plastique & Velours -> image à DROITE (annule order:0 inline) */
  body.page-id-35 .pmp-mat-plastique [style*="min-height:420px"],
  body.page-id-35 .pmp-mat-velours [style*="min-height:420px"] {
    order: 1 !important;
  }
}

/* ═══════════════════════════════════════════════════════
   Mission OPUS-RESSOURCES-GUIDES-01A — Guides ID 36
   Hero + CTA uniquement — 2026-06-15
   ═══════════════════════════════════════════════════════ */

body.page-id-36 .elementor-element-ghero000w section,
body.page-id-36 .elementor-element-gcta0000w section {
  margin: 0;
  box-sizing: border-box;
}

/* Bouton CTA hover */
body.page-id-36 .elementor-element-gcta0000w a[href="/contact/"]:hover {
  background: #ffffff !important;
  color: #0a0a0a !important;
}

/* Responsive : padding réduit mobile */
@media (max-width: 768px) {
  body.page-id-36 .elementor-element-ghero000w section {
    padding: 60px 20px !important;
  }
  body.page-id-36 .elementor-element-gcta0000w section {
    padding: 60px 20px !important;
  }
  body.page-id-36 .elementor-element-ghero000w h1 {
    font-size: 38px !important;
  }
  body.page-id-36 .elementor-element-gcta0000w h2 {
    font-size: 30px !important;
  }
}

/* ═══════════════════════════════════════════════════════
   Mission OPUS-RESSOURCES-GUIDES-01B — Cartes Guides ID 36
   Section Nos guides (6 cartes) — 2026-06-15
   ═══════════════════════════════════════════════════════ */

/* Grille des 6 cartes : 3 colonnes desktop, 2 tablette, 1 mobile */
body.page-id-36 .pmp-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1140px;
  margin: 0 auto;
}

/* Carte individuelle */
body.page-id-36 .pmp-guide-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid #e8e3dc;
  border-radius: 0;
  background: #ffffff;
  padding: 40px 32px;
  text-decoration: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.page-id-36 .pmp-guide-card:hover {
  border-color: #B8962E;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

/* Icône */
body.page-id-36 .pmp-guide-icon {
  font-size: 42px;
  line-height: 1;
  margin-bottom: 20px;
}

/* Catégorie */
body.page-id-36 .pmp-guide-cat {
  font: 700 9px/1.4 Jost, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #B8962E;
  margin-bottom: 12px;
}

/* Titre */
body.page-id-36 .pmp-guide-title {
  font: 400 24px/1.3 'Cormorant Garamond', serif;
  color: #0a0a0a;
  margin-bottom: 14px;
}

/* Description */
body.page-id-36 .pmp-guide-desc {
  font: 300 13px/1.8 Jost, sans-serif;
  color: #666666;
  margin-bottom: auto;
}

/* Lien */
body.page-id-36 .pmp-guide-link {
  font: 700 10px/1.4 Jost, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #B8962E;
  margin-top: 20px;
  transition: color 0.3s ease;
}

body.page-id-36 .pmp-guide-card:hover .pmp-guide-link {
  color: #0a0a0a;
}

/* Responsive tablettes */
@media (max-width: 1024px) {
  body.page-id-36 .pmp-guides-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

/* Responsive mobile */
@media (max-width: 768px) {
  body.page-id-36 .pmp-guides-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body.page-id-36 .pmp-guide-card {
    padding: 32px 24px;
  }
  body.page-id-36 .pmp-guide-title {
    font-size: 22px;
  }
}
/* ============================================================
   Mission OPUS-RESSOURCES-GUIDES-01C — Conseils pratiques
   Page Guides & Conseils ID 36
   ============================================================ */

/* Grille 2 colonnes desktop */
body.page-id-36 .elementor-element-gconse0w .pmp-conseils-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px;
  max-width: 1140px;
  margin: 0 auto;
}

/* Padding section */
body.page-id-36 .elementor-element-gconse0w section {
  padding: 90px 60px !important;
  background: #f8f5f0 !important;
}

/* Responsive tablettes */
@media (max-width: 1024px) {
  body.page-id-36 .elementor-element-gconse0w section {
    padding: 70px 40px !important;
  }
  body.page-id-36 .elementor-element-gconse0w .pmp-conseils-grid {
    gap: 36px;
  }
}

/* Responsive mobile */
@media (max-width: 768px) {
  body.page-id-36 .elementor-element-gconse0w section {
    padding: 60px 20px !important;
  }
  body.page-id-36 .elementor-element-gconse0w .pmp-conseils-grid {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }
}

/* ============================================================
   Mission OPUS-RESSOURCES-CATALOGUE-01D-FIX-MOBILE-OVERFLOW
   Page Catalogue ID 37 — Correction overflow mobile
   Cause : h1.entry-title content-box + padding + width 100%
   Fix : border-box + max-width 100%
   ============================================================ */
@media (max-width: 480px) {
  body.page-id-37 h1.entry-title,
  body.page-id-37 .entry-title {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

/* ============================================================
   Mission OPUS-RESSOURCES-BLOG-01F-A — Grille 3 cartes articles
   Page Blog & Actualités ID 38
   ============================================================ */

/* Icône placeholder : opacité 0.25 */
body.page-id-38 .elementor-element-colcard01-icon .elementor-heading-title,
body.page-id-38 .elementor-element-colcard02-icon .elementor-heading-title,
body.page-id-38 .elementor-element-colcard03-icon .elementor-heading-title {
  opacity: 0.25;
}

/* Cartes : hover lift + shadow */
body.page-id-38 .elementor-element-colcard01,
body.page-id-38 .elementor-element-colcard02,
body.page-id-38 .elementor-element-colcard03 {
  transition: all 0.3s ease;
}
body.page-id-38 .elementor-element-colcard01:hover,
body.page-id-38 .elementor-element-colcard02:hover,
body.page-id-38 .elementor-element-colcard03:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

/* Ajustement responsive : padding réduit sur mobile */
@media (max-width: 480px) {
  body.page-id-38 .elementor-element-colcard01-body,
  body.page-id-38 .elementor-element-colcard02-body,
  body.page-id-38 .elementor-element-colcard03-body {
    padding: 20px 16px !important;
  }
}

/* ============================================================
   Mission OPUS-ACCUEIL-GAMMES-HOVER-ZOOM-01 — Zoom au survol
   Page Accueil ID 11 — Section Nos Gammes (6 images)
   Survol desktop : zoom doux scale(1.05) avec transition fluide
   L image ne deborde pas hors de sa carte (overflow:hidden)
   Le texte ne bouge pas (zoom applique uniquement a l image)
   ============================================================ */
@media (min-width: 1025px) {
  .elementor-11 .elementor-element-gccc9cee9f270 > .e-con {
    overflow: hidden !important;
  }
  .elementor-11 .elementor-element-gccc9cee9f270 .elementor-widget-image img {
    transition: transform 0.4s ease !important;
    will-change: transform;
  }
  .elementor-11 .elementor-element-gccc9cee9f270 > .e-con:hover .elementor-widget-image img {
    transform: scale(1.05) !important;
  }
}
/* ============================================================
   Mission DEEPSEEK-GAMME-PLASTIQUE-FIDELITE-99-01
   Fidélité visuelle 99% page Gamme Plastique ID 17
   Date : 2026-06-16
   Scope : .elementor-17 ou .page-id-17 uniquement
   ============================================================ */

/* ── 1. Divider : corriger couleur or + épaisseur 2px + largeur 60px ── */
.elementor-17 .elementor-element-wd44e6ab7c5 {
  --divider-color: #B8962E !important;
  --divider-border-width: 2px !important;
}
.elementor-17 .elementor-element-wd44e6ab7c5 .elementor-divider-separator {
  width: 60px !important;
}

/* ── 2. Bannières sous-catégories : dégradé maquette ── */
/* HTML : linear-gradient(135deg,#0a0a0a 0%,#1a1208 60%,#2d1f00 100%) */
.elementor-17 .elementor-element-h1c6e7f5a3b,
.elementor-17 .elementor-element-h2d4f6a8c0e,
.elementor-17 .elementor-element-hf1d3e5b7a9 {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 60%, #2d1f00 100%) !important;
}

/* ── 3. Bannières : effet hover ligne or en bas ── */
.elementor-17 .elementor-element-h1c6e7f5a3b,
.elementor-17 .elementor-element-h2d4f6a8c0e,
.elementor-17 .elementor-element-hf1d3e5b7a9 {
  position: relative;
  overflow: hidden;
}

/* Ligne or en bas sur hover */
.elementor-17 .elementor-element-h1c6e7f5a3b::after,
.elementor-17 .elementor-element-h2d4f6a8c0e::after,
.elementor-17 .elementor-element-hf1d3e5b7a9::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: transparent;
  transition: background 0.3s ease;
  z-index: 1;
}

.elementor-17 .elementor-element-h1c6e7f5a3b:hover::after,
.elementor-17 .elementor-element-h2d4f6a8c0e:hover::after,
.elementor-17 .elementor-element-hf1d3e5b7a9:hover::after {
  background: #B8962E;
}

/* ── 4. Bannières : hover texte or → blanc ── */
/* Titre principal (Cormorant) : #E2C97E → #ffffff */
.elementor-17 .elementor-element-h1c6e7f5a3b:hover .elementor-heading-title,
.elementor-17 .elementor-element-h2d4f6a8c0e:hover .elementor-heading-title,
.elementor-17 .elementor-element-hf1d3e5b7a9:hover .elementor-heading-title {
  transition: color 0.3s ease;
}

/* Surtitre (Jost, rgba 0.5) → rgba 0.8 */
.elementor-17 .elementor-element-h1c6e7f5a3b:hover .elementor-widget-heading:first-child .elementor-heading-title,
.elementor-17 .elementor-element-h2d4f6a8c0e:hover .elementor-widget-heading:first-child .elementor-heading-title,
.elementor-17 .elementor-element-hf1d3e5b7a9:hover .elementor-widget-heading:first-child .elementor-heading-title {
  color: rgba(255,255,255,0.8) !important;
  transition: color 0.3s ease;
}

/* ── 5. Image produit : fond crème + aspect-ratio 1:1 + padding ── */
.elementor-17 .elementor-element-we2f4a6c8d0 {
  background-color: #F9F6F0;
  padding: 16px;
}
.elementor-17 .elementor-element-we2f4a6c8d0 img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto;
}

/* ── 6. Carte produit : transition hover box-shadow + border ── */
.elementor-17 .elementor-element-h9a1b3c5d7e {
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-17 .elementor-element-h9a1b3c5d7e:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* ── 7. Bouton "Voir la fiche" hover : border noir ── */
.elementor-17 .elementor-element-wc5e7f9a1b3 .elementor-button:hover {
  border-color: #000000 !important;
}

/* ── 8. Largeur contenu hero desktop : 1140px centré ── */
/* Déjà en place via Elementor (boxed_width: 1140px), vérification uniquement */




/* ============================================================
   Mission DEEPSEEK-GAMME-PLASTIQUE-ACHARNEMENT-99-02
   Acharnement visuel 99% page Gamme Plastique ID 17
   Date : 2026-06-16 — Passe 3 (finale)
   Scope : body.page-id-17 ou .elementor-17 uniquement
   ============================================================ */

/* ── 1. Breadcrumb : bordure basse ── */
.elementor-17 .elementor-element-hbreadcrumb991702 {
  border-bottom: 1px solid #e8e0d0 !important;
}

/* ── 2. Hero : fond blanc + padding réduit ── */
.elementor-17 .elementor-element-h4cc2ce52c6 {
  background-color: #ffffff !important;
  padding-top: 40px !important;
  padding-bottom: 24px !important;
}

/* ── 3. Hero : réduire marges widgets ── */
.elementor-17 .elementor-element-w7baf9c25e3 {
  margin-bottom: 16px !important;
}
.elementor-17 .elementor-element-wc6d8e91f4b p {
  margin-bottom: 8px !important;
  line-height: 1.7 !important;
}
.elementor-17 .elementor-element-wc6d8e91f4b p:last-child {
  margin-bottom: 0 !important;
}
.elementor-17 .elementor-element-wd44e6ab7c5 {
  margin-top: 20px !important;
}

/* ── 4. Section produit : padding réduit ── */
.elementor-17 .elementor-element-h5a7c9e1b3d {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

   Mission DEEPSEEK-GAMME-PLASTIQUE-BLOC-PRODUIT-99-03
   Correction bloc produit Cintre A — Pass 1
   Date : 2026-06-16
   Scope : body.page-id-17 / .elementor-17 uniquement
   ============================================================ */

/* ── 1. Masquer "Ajouter au devis" (widget YITH shortcode) dans la carte produit ── */
body.page-id-17 .elementor-element-814b6608e0 {
  display: none !important;
}

/* ── 2. Masquer "Voir ma demande de devis →" (widget text-editor) dans la carte produit ── */
body.page-id-17 .elementor-element-fee5b5841d {
  display: none !important;
}

/* ── 3. Bouton "Voir la fiche" : style maquette (bordure claire, fond transparent, noir) ── */
body.page-id-17 .elementor-element-wc5e7f9a1b3 .elementor-button {
  width: 100%;
  background: transparent !important;
  color: #0a0a0a !important;
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #e8e0d0 !important;
  border-radius: 0;
  padding: 10px;
  transition: border-color 0.2s ease;
}

body.page-id-17 .elementor-element-wc5e7f9a1b3 .elementor-button:hover {
  border-color: #0a0a0a !important;
  background: transparent !important;
  color: #0a0a0a !important;
}

/* ── 4. Carte produit : bordure claire ── */
.elementor-17 .elementor-element-hb1d3f5a7c9 {
  border: 1px solid #e8e0d0;
}

/* ── 5. Colonne image : fond crème renforcé ── */
.elementor-17 .elementor-element-h9a1b3c5d7e {
  background-color: #F9F6F0;
}

/* ── 6. Réduire padding interne de la colonne contenu pour resserrer ── */
.elementor-17 .elementor-element-hb5d7f9a1c3 {
  padding: 20px;
}

/* ── 7. Titre produit : Cormorant Garamond 18px ── */
.elementor-17 .elementor-element-wf1a3b5c7d9 .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0a;
}

/* ── 8. Tailles : gris 12px ── */
.elementor-17 .elementor-element-wf1a3b5c7d9 + .elementor-widget-text-editor p,
.elementor-17 .elementor-element-wf1a3b5c7d9 ~ .elementor-widget-text-editor p:first-child {
  font-size: 12px;
  color: #666666;
  margin-bottom: 14px;
}
/* ============================================================
   Mission DEEPSEEK-GAMME-PLASTIQUE-BLOC-PRODUIT-99-03
   Correction bloc produit Cintre A — Pass 2 (affinage)
   Date : 2026-06-16
   Scope : body.page-id-17 / .elementor-17 uniquement
   ============================================================ */

/* ── 1. Supprimer marge basse du bouton (plus rien en dessous) ── */
body.page-id-17 .elementor-element-wc5e7f9a1b3 {
  margin-bottom: 0 !important;
}

/* ── 2. Laisser respirer le bas de la carte ── */
.elementor-17 .elementor-element-hb5d7f9a1c3 {
  padding-bottom: 24px;
}
/**
 * Mission DEEPSEEK-GAMME-PLASTIQUE-PAGE-99-05 — Pass 1 CSS
 * Scope: body.page-id-17 uniquement
 * Objectif: réduire écarts hero (-52px), produit (-85px), footer (-102px)
 */
/* ═══════════════════════════════════════════════════════════════════════════════
   PASS 1 — Corrections structurelles page Gamme Plastique (ID 17)
   ═══════════════════════════════════════════════════════════════════════════════ */

/* --- 1. HERO ZONE : réduire de ~52px (433→~380px) --- */

/* Conteneur hero : réduire padding top/bottom */
body.page-id-17 .elementor-element-h4cc2ce52c6 {
  padding-top: 24px !important;
  padding-bottom: 20px !important;
}

/* H1 : line-height serré */
body.page-id-17 .elementor-element-h4cc2ce52c6 h1 {
  line-height: 1.0 !important;
  margin-bottom: 4px !important;
}

/* Surtitre (Jost 10px or) : réduire margin */
body.page-id-17 .elementor-element-h4cc2ce52c6 .elementor-widget-heading:first-of-type {
  margin-bottom: 2px !important;
}

/* Intro paragraphes : espacement réduit */
body.page-id-17 .elementor-element-h4cc2ce52c6 p {
  margin-bottom: 6px !important;
  line-height: 1.55 !important;
}

/* Divider doré : réduire espace au-dessus */
body.page-id-17 .elementor-element-h4cc2ce52c6 .elementor-widget-divider {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* Breadcrumb bar : réduire padding */
body.page-id-17 .elementor-element-hbreadcrumb991702 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* --- 2. BANNIÈRES : déjà à 140px, aligner si possible --- */
/* Conserver l'état actuel, le hover et dégradé sont déjà bons */


/* --- 3. ZONE PRODUIT : réduire de ~85px (735→~650px) --- */

/* Conteneur produit : réduire padding */
body.page-id-17 .elementor-element-h5a7c9e1b3d {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

/* Carte produit : padding interne réduit */
body.page-id-17 .elementor-element-h5a7c9e1b3d .e-con-inner {
  gap: 16px !important;
}

/* Titre produit (Cormorant Garamond) */
body.page-id-17 .elementor-element-h5a7c9e1b3d h2,
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-heading-title {
  margin-bottom: 2px !important;
}

/* Description / caractéristiques */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-text-editor p,
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-text-editor {
  line-height: 1.45 !important;
  margin-bottom: 4px !important;
}

/* Bouton "Voir la fiche" : réduire espace en dessous */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-button-wrapper {
  margin-top: 4px !important;
}

/* Image produit : padding réduit */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-image {
  margin-bottom: 0 !important;
}


/* --- 5. GAPS INTER-SECTIONS : réduire les espaces entre les blocs --- */

/* Réduire les gaps entre conteneurs top-level */
body.page-id-17 .elementor-17 > .e-con {
  margin-bottom: 0 !important;
}
/**
 * Mission DEEPSEEK-GAMME-PLASTIQUE-PAGE-99-05 — Pass 2 CSS
 * Scope: body.page-id-17 uniquement
 * Objectif: réduire écarts restants produit (+30px) et footer (+54px)
 * Après Pass 1: 1607px, cible: ~1510-1550px
 */

/* --- 2. ZONE PRODUIT : réduire de ~30px supplémentaires (680→~650px) --- */

/* Conteneur produit : padding réduit */
body.page-id-17 .elementor-element-h5a7c9e1b3d {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* Inner container */
body.page-id-17 .elementor-element-h5a7c9e1b3d .e-con-inner {
  gap: 10px !important;
  row-gap: 10px !important;
}

/* Widgets dans produit : espacement réduit */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget {
  margin-bottom: 0 !important;
}

/* Titre produit */
body.page-id-17 .elementor-element-h5a7c9e1b3d h2 {
  font-size: 22px !important;
  margin-bottom: 0 !important;
}

/* Description texte */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-text-editor {
  line-height: 1.35 !important;
}
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-text-editor p {
  margin-bottom: 2px !important;
  line-height: 1.35 !important;
}

/* Colonnes internes produit : gap réduit */
body.page-id-17 .elementor-element-h5a7c9e1b3d .e-con.e-child .e-con-inner {
  gap: 8px !important;
}

/* Image produit : padding minimum */
body.page-id-17 .elementor-element-h5a7c9e1b3d .elementor-widget-image img {
  padding: 8px !important;
}


/* --- 3. HERO : derniers ajustements (~12px) --- */

/* Conteneur hero */
body.page-id-17 .elementor-element-h4cc2ce52c6 {
  padding-top: 18px !important;
  padding-bottom: 16px !important;
}

/* Paragraphes intro */
body.page-id-17 .elementor-element-h4cc2ce52c6 p {
  margin-bottom: 4px !important;
  line-height: 1.5 !important;
}


/* --- 4. BREADCRUMB BAR : ajustement mineur --- */

body.page-id-17 .elementor-element-hbreadcrumb991702 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}


/* --- 5. ESPACES INTER-SECTIONS (gap vertical global) --- */

body.page-id-17 .elementor-17 {
  gap: 0 !important;
}
body.page-id-17 .elementor-17 > .e-con + .e-con {
  margin-top: 0 !important;
}
/**
 * Mission DEEPSEEK-GAMME-PLASTIQUE-PAGE-99-05 — Pass 3 CSS (ULTIME)
 * Scope: body.page-id-17 uniquement
 * Objectif: réduire footer de ~20px (273→~250px), micro-ajustements
 */


/* --- PRODUIT : annuler la sur-compression (617→~630px pour respirer) --- */

body.page-id-17 .elementor-element-h5a7c9e1b3d {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

body.page-id-17 .elementor-element-h5a7c9e1b3d .e-con-inner {
  gap: 14px !important;
}

/* --- HERO : ajustement final --- */

body.page-id-17 .elementor-element-h4cc2ce52c6 {
  padding-top: 20px !important;
}

/* ============================================================
   Mission DEEPSEEK-GAMMES-CALQUE-PLASTIQUE-99-01
   Calque visuel Plastique → Bois/Métal/Velours/Hôtellerie/Accessoires
   Date : 2026-06-16
   Scope : body.page-id-18 à body.page-id-22
   ============================================================ */

/* ── 1. BREADCRUMB : fond clair, bordure basse, padding compact ── */
body.page-id-18 .elementor-element-wboisbc000001,
body.page-id-19 .elementor-element-wmetalbc00001,
body.page-id-20 .elementor-element-wvelbc000001,
body.page-id-21 .elementor-element-whotbc0000001,
body.page-id-22 .elementor-element-waccbc0000001 {
  background-color: #F9F6F0 !important;
  border-bottom: 1px solid #e8e0d0 !important;
  padding: 12px 60px !important;
  margin-bottom: 0 !important;
}

/* ── 2. HERO : fond blanc, padding réduit ── */
body.page-id-18 .elementor-element-cbois00000001,
body.page-id-19 .elementor-element-cmetal0000001,
body.page-id-20 .elementor-element-cvel000000001,
body.page-id-21 .elementor-element-chot000000001,
body.page-id-22 .elementor-element-cacc000000001 {
  background-color: #ffffff !important;
  padding-top: 30px !important;
  padding-bottom: 20px !important;
}

/* ── 3. HERO H1 : line-height serré ── */
body.page-id-18 .elementor-element-wboish1000003 .elementor-heading-title,
body.page-id-19 .elementor-element-wmetalh100003 .elementor-heading-title,
body.page-id-20 .elementor-element-wvelh1000003 .elementor-heading-title,
body.page-id-21 .elementor-element-whoth10000003 .elementor-heading-title,
body.page-id-22 .elementor-element-wacch10000003 .elementor-heading-title {
  line-height: 1.05 !important;
}

/* ── 4. HERO SURTITRE : réduction marge ── */
body.page-id-18 .elementor-element-wboistag00002,
body.page-id-19 .elementor-element-wmetaltag0002,
body.page-id-20 .elementor-element-wveltag000002,
body.page-id-21 .elementor-element-whottag000002,
body.page-id-22 .elementor-element-wacctag000002 {
  margin-bottom: 4px !important;
}

/* ── 5. HERO INTRO : line-height compact ── */
body.page-id-18 .elementor-element-wboisintro0004 p,
body.page-id-19 .elementor-element-wmetalintro004 p,
body.page-id-20 .elementor-element-wvelintro0004 p,
body.page-id-21 .elementor-element-whotintro00004 p,
body.page-id-22 .elementor-element-waccintro00004 p {
  line-height: 1.55 !important;
  margin-bottom: 6px !important;
}

/* ── 6. DIVIDER : couleur or, épaisseur 2px, largeur 60px ── */
body.page-id-18 .elementor-element-wboisdiv00005,
body.page-id-19 .elementor-element-wmetaldiv0005,
body.page-id-20 .elementor-element-wveldiv000005,
body.page-id-21 .elementor-element-whotdiv000005,
body.page-id-22 .elementor-element-waccdiv000005 {
  --divider-color: #B8962E !important;
  --divider-border-width: 2px !important;
  margin-top: 16px !important;
}
body.page-id-18 .elementor-element-wboisdiv00005 .elementor-divider-separator,
body.page-id-19 .elementor-element-wmetaldiv0005 .elementor-divider-separator,
body.page-id-20 .elementor-element-wveldiv000005 .elementor-divider-separator,
body.page-id-21 .elementor-element-whotdiv000005 .elementor-divider-separator,
body.page-id-22 .elementor-element-waccdiv000005 .elementor-divider-separator {
  width: 60px !important;
}

/* ── 7. BANNIÈRES : dégradé noir/or foncé + hover ligne or ── */
/* Bois */
body.page-id-18 .elementor-element-wboisban1,
body.page-id-18 .elementor-element-wboisban2,
body.page-id-18 .elementor-element-wboisban3 {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 60%, #2d1f00 100%) !important;
  position: relative; overflow: hidden;
}
body.page-id-18 .elementor-element-wboisban1::after,
body.page-id-18 .elementor-element-wboisban2::after,
body.page-id-18 .elementor-element-wboisban3::after {
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: transparent; transition: background 0.3s ease; z-index: 1;
}
body.page-id-18 .elementor-element-wboisban1:hover::after,
body.page-id-18 .elementor-element-wboisban2:hover::after,
body.page-id-18 .elementor-element-wboisban3:hover::after {
  background: #B8962E;
}

/* Métal */
body.page-id-19 .elementor-element-wmetalban001,
body.page-id-19 .elementor-element-wmetalban002,
body.page-id-19 .elementor-element-wmetalban003 {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 60%, #2d1f00 100%) !important;
  position: relative; overflow: hidden;
}
body.page-id-19 .elementor-element-wmetalban001::after,
body.page-id-19 .elementor-element-wmetalban002::after,
body.page-id-19 .elementor-element-wmetalban003::after {
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: transparent; transition: background 0.3s ease; z-index: 1;
}
body.page-id-19 .elementor-element-wmetalban001:hover::after,
body.page-id-19 .elementor-element-wmetalban002:hover::after,
body.page-id-19 .elementor-element-wmetalban003:hover::after {
  background: #B8962E;
}

/* Hôtellerie */
body.page-id-21 .elementor-element-whotban0001,
body.page-id-21 .elementor-element-whotban0002,
body.page-id-21 .elementor-element-whotban0003,
body.page-id-21 .elementor-element-whotban0004 {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 60%, #2d1f00 100%) !important;
  position: relative; overflow: hidden;
}
body.page-id-21 .elementor-element-whotban0001::after,
body.page-id-21 .elementor-element-whotban0002::after,
body.page-id-21 .elementor-element-whotban0003::after,
body.page-id-21 .elementor-element-whotban0004::after {
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: transparent; transition: background 0.3s ease; z-index: 1;
}
body.page-id-21 .elementor-element-whotban0001:hover::after,
body.page-id-21 .elementor-element-whotban0002:hover::after,
body.page-id-21 .elementor-element-whotban0003:hover::after,
body.page-id-21 .elementor-element-whotban0004:hover::after {
  background: #B8962E;
}

/* Velours — 3 blocs de gamme */
body.page-id-20 .elementor-element-hvelban1,
body.page-id-20 .elementor-element-hvelban2,
body.page-id-20 .elementor-element-hvelban3 {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 60%, #2d1f00 100%) !important;
  position: relative; overflow: hidden;
  padding: 24px 32px !important;
  transition: box-shadow 0.3s ease;
}
body.page-id-20 .elementor-element-hvelban1::after,
body.page-id-20 .elementor-element-hvelban2::after,
body.page-id-20 .elementor-element-hvelban3::after {
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: transparent; transition: background 0.3s ease; z-index: 1;
}
body.page-id-20 .elementor-element-hvelban1:hover::after,
body.page-id-20 .elementor-element-hvelban2:hover::after,
body.page-id-20 .elementor-element-hvelban3:hover::after {
  background: #B8962E;
}
body.page-id-20 .elementor-element-hvelban1:hover,
body.page-id-20 .elementor-element-hvelban2:hover,
body.page-id-20 .elementor-element-hvelban3:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.3);
}

/* ── 8. TITRE SECTION BANNIÈRES "Nos Gammes" ── */
body.page-id-20 .elementor-element-wveltag000006 {
  margin-bottom: 20px !important;
}

/* Accessoires — "Tous nos accessoires" */
body.page-id-22 .elementor-element-waccttl000001 {
  margin-bottom: 24px !important;
}

/* ── 10. GAPS INTER-SECTIONS : réduction ── */
body.page-id-18 .elementor-18 > .e-con,
body.page-id-19 .elementor-19 > .e-con,
body.page-id-20 .elementor-20 > .e-con,
body.page-id-21 .elementor-21 > .e-con,
body.page-id-22 .elementor-22 > .e-con {
  margin-bottom: 0 !important;
}
body.page-id-18 .elementor-18,
body.page-id-19 .elementor-19,
body.page-id-20 .elementor-20,
body.page-id-21 .elementor-21,
body.page-id-22 .elementor-22 {
  gap: 0 !important;
}

/* ============================================================
   Mission PMP-GAMMES-WEBP-CALQUE-PLASTIQUE-01 (2026-06-17)
   Cartes produit Métal/Velours/Hôtellerie alignées sur Plastique
   (largeur 320px desktop/tablette, 100% mobile par défaut).
   + Correction largeur carte Bois (l'ancien sélecteur ciblait
     hboiscardeco01 alors que la carte réelle est hboiscard00001).
   ============================================================ */
@media (min-width: 768px) {
  .elementor-19 .elementor-element-m19prodcard01,
  .elementor-20 .elementor-element-v20prodcard01,
  .elementor-21 .elementor-element-h21prodcard01,
  .elementor-18 .elementor-element-hboiscard00001 {
    --width: 320px !important;
    max-width: 320px;
  }
}

/* PMP-GAMMES-BLOC-PRODUIT-IDENTIQUE-PLASTIQUE-01 : carte Accessoires 320px (alignée Plastique) */
@media (min-width: 768px) {
  .elementor-22 .elementor-element-a22prodcard01 {
    --width: 320px !important;
    max-width: 320px;
  }
}

/* PMP-GAMMES-BLOC-PRODUIT-IDENTIQUE-PLASTIQUE-01 : bouton "Voir la fiche" outlined (calque Plastique 17) */
.elementor-18 .elementor-element-wboisbtneco01 .elementor-button,
.elementor-19 .elementor-element-m19prodbtn01 .elementor-button,
.elementor-20 .elementor-element-v20prodbtn01 .elementor-button,
.elementor-21 .elementor-element-h21prodbtn01 .elementor-button,
.elementor-22 .elementor-element-a22prodbtn01 .elementor-button {
  width: 100%;
  background: transparent !important;
  color: #0a0a0a !important;
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #e8e0d0 !important;
  border-radius: 0;
  padding: 10px;
  transition: border-color 0.2s ease;
}
.elementor-18 .elementor-element-wboisbtneco01 .elementor-button:hover,
.elementor-19 .elementor-element-m19prodbtn01 .elementor-button:hover,
.elementor-20 .elementor-element-v20prodbtn01 .elementor-button:hover,
.elementor-21 .elementor-element-h21prodbtn01 .elementor-button:hover,
.elementor-22 .elementor-element-a22prodbtn01 .elementor-button:hover {
  border-color: #0a0a0a !important;
  background: transparent !important;
  color: #0a0a0a !important;
}

/* ============================================================
   PMP-GAMMES-CORRECTION-GAP-HEADER-HERO-01 (2026-06-17)
   Calque du gap hero Plastique (≈20px) sur Bois/Métal/Velours/
   Hôtellerie/Accessoires. Hero boxed : 30px (.e-con) + 50px
   (.e-con-inner) = 80px → ramené à 20px (.e-con) + 0 (.e-con-inner).
   Scopé pages 18-22 uniquement. Plastique 17 NON touchée.
   ============================================================ */
body.page-id-18 .elementor-element-cbois00000001,
body.page-id-19 .elementor-element-cmetal0000001,
body.page-id-20 .elementor-element-cvel000000001,
body.page-id-21 .elementor-element-chot000000001,
body.page-id-22 .elementor-element-cacc000000001 {
  padding-top: 20px !important;
}
body.page-id-18 .elementor-element-cbois00000001 > .e-con-inner,
body.page-id-19 .elementor-element-cmetal0000001 > .e-con-inner,
body.page-id-20 .elementor-element-cvel000000001 > .e-con-inner,
body.page-id-21 .elementor-element-chot000000001 > .e-con-inner,
body.page-id-22 .elementor-element-cacc000000001 > .e-con-inner {
  padding-top: 0 !important;
}

/* ============================================================
   PMP-SECTEUR-MODE-AJUSTEMENTS-99-01 (2026-06-17)
   Responsive mobile : paddings desktop 60px → 20px mobile.
   Scopé page Mode ID 24 uniquement.
   ============================================================ */
@media(max-width:768px){
  body.page-id-24 .elementor-24 .pmp-mode-intro-arguments section,
  body.page-id-24 .elementor-24 .pmp-mode-gammes-wrap,
  body.page-id-24 .elementor-24 .pmp-mode-cta section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* PMP-SECTEUR-MODE-AJUSTEMENTS-99-01 — Arguments grid responsive */
@media(max-width:768px){
  body.page-id-24 .elementor-element-modeargs034b [style*="display:grid"] {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 24px !important;
  }
}

/* ============================================================
   PMP-SECTEUR-RETAIL-MAQUETTE-95-01 (2026-06-17)
   Responsive mobile/tablette page Retail ID 25.
   Scopé strictement body.page-id-25.
   ============================================================ */
@media(max-width:768px){

  /* Hero : hauteur 320px, padding réduit, H1 32px */
  body.page-id-25 .elementor-25 section[style*="height:480px"] {
    height: 320px !important;
  }
  body.page-id-25 .elementor-25 section[style*="height:480px"] > div[style*="z-index:2"] {
    padding: 30px 20px !important;
  }
  body.page-id-25 .elementor-25 section[style*="height:480px"] h1 {
    font-size: 32px !important;
  }

  /* Intro / Arguments / Gammes / CTA : padding gauche/droite 20px */
  body.page-id-25 .elementor-25 section[style*="padding:60px 60px 40px"],
  body.page-id-25 .elementor-25 section[style*="padding:70px 60px"],
  body.page-id-25 .elementor-25 section[style*="padding:80px 60px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Arguments : grid 2 colonnes au lieu de 4 */
  body.page-id-25 .elementor-25 div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 24px !important;
  }

  /* Gammes : cartes empilées verticalement */
  body.page-id-25 .elementor-25 div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:24px"] {
    grid-template-columns: 1fr !important;
  }
  body.page-id-25 .elementor-25 a[style*="grid-template-columns:140px 1fr"] {
    grid-template-columns: 120px 1fr !important;
    height: 140px !important;
  }
  body.page-id-25 .elementor-25 a[style*="grid-template-columns:140px 1fr"] img {
    width: 120px !important;
    height: 140px !important;
  }
}

/* Tablette : grille arguments 2 colonnes aussi */
@media(max-width:1024px) and (min-width:769px){
  body.page-id-25 .elementor-25 div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 24px !important;
  }
}

/* ============================================================
   PMP-SECTEUR-RETAIL-MAQUETTE-95-01 — PASS 2 responsive
   Ciblage par classes conteneur Elementor (pmp-retail-*).
   ============================================================ */

/* --- TABLETTE (max 1024px) --- */
@media(max-width:1024px){
  /* Arguments : grid 2 colonnes */
  body.page-id-25 .pmp-retail-intro-arguments div[style*="grid-template-columns"] {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 24px !important;
  }
  /* Gammes : grid 2 colonnes */
  body.page-id-25 .pmp-retail-gammes div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: repeat(2,1fr) !important;
  }
}

/* --- MOBILE (max 768px) --- */
@media(max-width:768px){
  /* Hero : hauteur 320px, padding réduit */
  body.page-id-25 .pmp-retail-hero section[style*="height:480px"] {
    height: 320px !important;
  }
  body.page-id-25 .pmp-retail-hero section[style*="height:480px"] > div[style*="z-index:2"] {
    padding: 30px 20px !important;
  }
  body.page-id-25 .pmp-retail-hero h1 {
    font-size: 32px !important;
  }

  /* Intro / Arguments / Gammes / CTA : padding gauche/droite 20px */
  body.page-id-25 .pmp-retail-intro-arguments section,
  body.page-id-25 .pmp-retail-gammes section,
  body.page-id-25 .pmp-retail-cta section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Arguments : grid 1 colonne, padding 40px haut/bas */
  body.page-id-25 .pmp-retail-intro-arguments section[style*="background:#0a0a0a"] {
    padding: 40px 20px !important;
  }
  body.page-id-25 .pmp-retail-intro-arguments div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Gammes : grid 1 colonne */
  body.page-id-25 .pmp-retail-gammes div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
  }

  /* Gammes : cartes horizontales compactes en mobile */
  body.page-id-25 .pmp-retail-gammes .gamme-card-retail {
    grid-template-columns: 110px 1fr !important;
    height: 140px !important;
  }
  body.page-id-25 .pmp-retail-gammes .gamme-card-retail img {
    width: 110px !important;
    height: 140px !important;
  }

  /* Assurer qu'aucun élément ne dépasse */
  body.page-id-25 .pmp-retail-hero,
  body.page-id-25 .pmp-retail-intro-arguments,
  body.page-id-25 .pmp-retail-gammes,
  body.page-id-25 .pmp-retail-cta {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  body.page-id-25 .pmp-retail-hero *,
  body.page-id-25 .pmp-retail-intro-arguments *,
  body.page-id-25 .pmp-retail-gammes *,
  body.page-id-25 .pmp-retail-cta * {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  /* Sauf les images dans les cartes */
  body.page-id-25 .pmp-retail-gammes .gamme-card-retail .gamme-card-retail-img {
    max-width: 110px !important;
  }
}

/* ============================================================

/* ============================================================
   PMP-SECTEUR-HOTELLERIE-MAQUETTE-95-01 — Responsive page 26
   ============================================================ */

/* Arguments — 2 colonnes tablette, 1 colonne mobile */
@media (max-width: 1024px) {
  body.page-id-26 .elementor-26 .pmp-hot-arguments section > div > div:last-child {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 768px) {
  /* Hero hauteur réduite */
  body.page-id-26 .elementor-26 .pmp-hot-hero section {
    height: 320px !important;
  }
  body.page-id-26 .elementor-26 .pmp-hot-hero section > div:last-child {
    padding: 30px 24px !important;
  }
  body.page-id-26 .elementor-26 .pmp-hot-hero h1 {
    font-size: 32px !important;
  }
  
  /* Intro padding mobile */
  body.page-id-26 .elementor-26 .pmp-hot-intro section {
    padding: 40px 24px !important;
  }
  
  /* Arguments padding mobile + 1 colonne */
  body.page-id-26 .elementor-26 .pmp-hot-arguments section {
    padding: 40px 24px !important;
  }
  body.page-id-26 .elementor-26 .pmp-hot-arguments section > div > div:last-child {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  
  /* Gammes — 1 colonne, cartes empilées vertical */
  body.page-id-26 .elementor-26 .pmp-hot-gammes section {
    padding: 40px 24px !important;
  }
  .pmp-hot-gammes-grid {
    grid-template-columns: 1fr !important;
  }
  .pmp-hot-gamme-card {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 160px;
  }
  .pmp-hot-gamme-img {
    width: 100% !important;
    height: 140px !important;
  }
  
  /* CTA padding mobile */
  body.page-id-26 .elementor-26 .pmp-hot-cta section {
    padding: 40px 24px !important;
  }
}

/* ===== PMP-SECTEUR-GROSSISTES-MAQUETTE-95-01 — Hover gammes + overlay hero ===== */

/* Hero overlay gradient — calque maquette Grossistes (gradient bottom→top) */
.elementor-27 .elementor-element-shero > .elementor-background-overlay {
  background: linear-gradient(to top,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.3) 60%,
    transparent 100%) !important;
}

/* Cartes gammes Grossistes — hover or + ombre portée */
.elementor-27 .elementor-element-sgam-col1,
.elementor-27 .elementor-element-sgam-col2 {
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.elementor-27 .elementor-element-sgam-col1:hover,
.elementor-27 .elementor-element-sgam-col2:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1) !important;
  border-color: #B8962E !important;
}

/* Animation lien Découvrir → au survol (gap 6→12px) */
.elementor-27 .elementor-element-sgam-col1:hover .elementor-button-link,
.elementor-27 .elementor-element-sgam-col2:hover .elementor-button-link {
  gap: 12px;
  transition: gap 0.3s ease;
}

/* Fin PMP-SECTEUR-GROSSISTES-MAQUETTE-95-01 */

/* ============================================================
   PMP-GAMME-HOTELLERIE-AJUSTEMENTS-99-01 (2026-06-18)
   Carte produit Hôtellerie alignée sur Plastique (calque visuel) :
   image fond crème + aspect-ratio 1:1, colonne contenu resserrée.
   Scopé strictement page 21. La largeur 320px de la carte et le
   bouton outline sont déjà gérés par les règles .elementor-21
   existantes (restaurées par la correction de l'accolade manquante).
   ============================================================ */

/* Image produit : fond crème + aspect-ratio 1:1 + padding (calque Plastique) */
.elementor-21 .elementor-element-h21prodimg01 {
  background-color: #F9F6F0;
  padding: 16px;
}
.elementor-21 .elementor-element-h21prodimg01 img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto;
}

/* Carte produit : fond crème renforcé + transition hover (calque Plastique) */
.elementor-21 .elementor-element-h21prodcard01 {
  background-color: #F9F6F0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-21 .elementor-element-h21prodcard01:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* Colonne contenu (FE / taille / bouton) : fond blanc, padding resserré */
.elementor-21 .elementor-element-h21prodcont01 {
  background-color: #ffffff;
  padding: 20px;
}

/* Fin PMP-GAMME-HOTELLERIE-AJUSTEMENTS-99-01 */

/* ============================================================
   PMP-GAMME-VELOURS-POLISH-REEL-99-02 (2026-06-18)
   Restauration du rythme vertical maquette HTML/JPEG.
   Override du gap compressé GAMMES-CORRECTION-GAP-HEADER-HERO-01
   pour la page Velours uniquement.
   ============================================================ */

/* HERO : restaurer padding-top 50px (écrasé à 20px par gap-header-hero) */
body.page-id-20 .elementor-element-cvel000000001 {
  padding-top: 50px !important;
}
body.page-id-20 .elementor-element-cvel000000001 > .e-con-inner {
  padding-top: 0 !important;
}

/* H1 : restaurer line-height 1.1 (écrasé à 1.05 par ajustements) */
body.page-id-20 .elementor-element-wvelh1000003 .elementor-heading-title {
  line-height: 1.1 !important;
}

/* SURTITRE : restaurer margin-bottom (écrasé à 4px) */
body.page-id-20 .elementor-element-wveltag000002 {
  margin-bottom: 10px !important;
}

/* INTRO : restaurer line-height 1.9 + margin-bottom 12px (écrasé à 1.55 + 6px) */
body.page-id-20 .elementor-element-wvelintro0004 p {
  line-height: 1.9 !important;
  margin-bottom: 12px !important;
}

/* DIVIDER : restaurer margin-top 28px (écrasé à 16px) */
body.page-id-20 .elementor-element-wveldiv000005 {
  margin-top: 8px !important;
}

/* Made in France : padding/gap/background conformes à la maquette HTML (mission audit 2026-06-18) */
body.page-id-20 .elementor-element-hvelbadge00001 {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* Produit : espacement vertical bloc produit augmenté */
body.page-id-20 .elementor-element-hvelprodsct001 {
  padding-top: 60px !important;
}

/* Produit : titre produit marge inférieure */
body.page-id-20 .elementor-element-wvelpstitle01 {
  margin-bottom: 8px !important;
}

/* Produit : description marge inférieure */
body.page-id-20 .elementor-element-wvelpsdesc01 {
  margin-bottom: 36px !important;
}

/* ── POLISH 99-02 PASS 2 : micro-ajustements rythme vertical ── */

/* H1 : margin-bottom 20px (conforme maquette HTML) */
body.page-id-20 .elementor-element-wvelh1000003 {
  margin-bottom: 20px !important;
}

/* HERO : padding-bottom restauré à 30px (conforme page-header HTML) */
body.page-id-20 .elementor-element-cvel000000001 {
  padding-bottom: 30px !important;
}

/* INTRO widget : margin-bottom pour respirer avant divider */
body.page-id-20 .elementor-element-wvelintro0004 {
  margin-bottom: 0 !important;
}

/* DIVIDER : margin-bottom 28px (conforme HTML margin:28px 0) */
body.page-id-20 .elementor-element-wveldiv000005 {
  margin-bottom: 28px !important;
}



/* Bandeaux noirs : padding vertical conforme HTML (30px vs 45px antérieur) */
body.page-id-20 .elementor-element-hvelban1,
body.page-id-20 .elementor-element-hvelban2,
body.page-id-20 .elementor-element-hvelban3 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

/* Produit : padding-bottom restauré pour respiration avant footer */
body.page-id-20 .elementor-element-hvelprodsct001 {
  padding-bottom: 60px !important;
}

/* Made in France — garantie titre or (mission pass 2) */
body.page-id-20 .elementor-element-wvelbadgettl01,
body.page-id-20 .elementor-element-wvelbadgettl01 .elementor-heading-title {
  color: #B8962E !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Made in France — badge dimensions (mission pass 3) */
body.page-id-20 .elementor-element-wvelbadgeimg01 img {
  width: 96px !important;
  height: 100px !important;
  object-fit: fill !important;
}

/* Made in France — hauteur minimale conforme maquette (mission pass 4) */
body.page-id-20 .elementor-element-hvelbadge00001 {
  min-height: 156px !important;
}
/* Made in France — badge container + image width fix (mission pass 5) */
body.page-id-20 .elementor-element-wvelbadgeimg01 {
  width: 110px !important;
  flex-shrink: 0 !important;
}
body.page-id-20 .elementor-element-wvelbadgeimg01 img {
  width: 96px !important;
  height: 100px !important;
}

/* PMP-VELOURS-MIF-ENCART-01 START */
body.page-id-20 .elementor-20 .elementor-element-hvelbadge00001 {
  width: calc(100% - 120px) !important;
  max-width: calc(100% - 120px) !important;
  margin-left: 60px !important;
  margin-right: 60px !important;
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-20 .elementor-element-hvelbadge00001 {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 980px) !important;
  grid-template-rows: auto auto !important;
  column-gap: 20px !important;
  row-gap: 8px !important;
  align-self: center !important;
  align-content: center !important;
  align-items: center !important;
}

body.page-id-20 .elementor-element-hvelbadge00001 > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.page-id-20 .elementor-element-hvelbadge00001 .elementor-element-wvelbadgedsc01 {
  max-width: 980px !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
}

body.page-id-20 .elementor-element-hvelbadge00001 .elementor-element-wvelbadgeimg01 {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: start !important;
}

body.page-id-20 .elementor-element-hvelbadge00001 .elementor-element-wvelbadgettl01 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
  body.page-id-20 .elementor-20 .elementor-element-hvelbadge00001 {
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
    margin-left: 24px !important;
    margin-right: 24px !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  body.page-id-20 .elementor-20 .elementor-element-hvelbadge00001 {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-bottom: 0 !important;
  }
}
/* PMP-VELOURS-MIF-ENCART-01 END */


/* ============================================================
   Mission PMP-PACKAGING-DEDIE-POLISH-99-02 (2026-06-18)
   Page Packaging dedie (ID 32). Scope strict : page-id-32.
   ============================================================ */
@media (min-width: 1026px) {
  body.page-id-32 .elementor-32 .elementor-element-pkg32herosect {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 420px !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
    gap: 80px !important;
    overflow: hidden !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32herocol1 {
    --width: calc(52% - 40px) !important;
    width: calc(52% - 40px) !important;
    max-width: 620px !important;
    flex: 0 1 calc(52% - 40px) !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32herocol2 {
    --width: 380px !important;
    width: 380px !important;
    max-width: 380px !important;
    min-height: 220px !important;
    flex: 0 0 380px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32heroimg,
  body.page-id-32 .elementor-32 .elementor-element-pkg32heroimg .elementor-widget-container {
    width: 100% !important;
    max-width: 380px !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32heroimg img {
    width: 100% !important;
    height: 220px !important;
    max-width: 380px !important;
    object-fit: cover !important;
    display: block !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32optsect {
    padding-top: 78px !important;
    padding-bottom: 82px !important;
  }
}

body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid {
  gap: 0 !important;
}

body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con {
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-left: 1px solid rgba(0, 0, 0, 0.06) !important;
  min-height: 380px !important;
  padding: 42px 28px 34px !important;
  justify-content: flex-start !important;
}

body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con:nth-child(3n) {
  border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
}

body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con:nth-last-child(-n+3) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid .elementor-widget-html {
  margin-top: auto !important;
  width: 100% !important;
}

body.page-id-32 .elementor-32 .pmp-pkg-photo-placeholder {
  width: 100% !important;
  min-height: 116px !important;
  margin-top: 24px !important;
  background: #ddd9d1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: rgba(10, 10, 10, 0.34) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

body.page-id-32 .elementor-32 .pmp-pkg-photo-icon {
  width: 22px !important;
  height: 17px !important;
  border: 2px solid rgba(10, 10, 10, 0.24) !important;
  border-radius: 2px !important;
  position: relative !important;
  display: block !important;
}

body.page-id-32 .elementor-32 .pmp-pkg-photo-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 5px !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: rgba(184, 150, 46, 0.45) !important;
}

body.page-id-32 .elementor-32 .pmp-pkg-photo-icon::after {
  content: "" !important;
  position: absolute !important;
  right: 3px !important;
  bottom: 3px !important;
  width: 8px !important;
  height: 7px !important;
  background: rgba(10, 10, 10, 0.18) !important;
  clip-path: polygon(0 100%, 50% 20%, 100% 100%) !important;
}

@media (min-width: 768px) and (max-width: 1025px) {
  body.page-id-32 .elementor-32 .elementor-element-pkg32herosect {
    flex-direction: column !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
    gap: 34px !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32heroimg img {
    width: 100% !important;
    max-width: 520px !important;
    height: 300px !important;
    object-fit: cover !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con {
    min-height: 390px !important;
  }
}

@media (max-width: 767px) {
  body.page-id-32 .elementor-32 .elementor-element-pkg32herosect {
    flex-direction: column !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    gap: 28px !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32heroimg img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con {
    min-height: 0 !important;
    padding: 34px 24px 30px !important;
    border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-bottom: 0 !important;
  }

  body.page-id-32 .elementor-32 .elementor-element-pkg32optgrid > .e-con:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  body.page-id-32 .elementor-32 .pmp-pkg-photo-placeholder {
    min-height: 104px !important;
  }
}


/* ============================================================
   Mission PMP-PERSONNALISATION-LOGO-COULEURS-AJUSTEMENTS-99-01 (2026-06-18)
   Page 28 — image hero (cintres noirs logo PMP) en cover + finitions.
   Scope strict : .elementor-28 uniquement.
   ============================================================ */
.elementor-28 .elementor-element-clc28herocol0206 {
  display: flex !important;
  align-self: stretch;
}
.elementor-28 .elementor-element-clc28herocol0206 .elementor-widget-image,
.elementor-28 .elementor-element-clc28herocol0206 .elementor-widget-image .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-28 .elementor-element-clc28herocol0206 img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
}
@media (max-width: 1025px) {
  .elementor-28 .elementor-element-clc28herocol0206 img { min-height: 260px; }
}
/* numéros techniques : pas de débordement, ligne serrée */
.elementor-28 .elementor-element-clc28techgrid0300 .elementor-heading-title { line-height: 1; }
/* LC-99-01-HERO-WIDTH : hero 28 — 2 colonnes 50/50 desktop */
@media (min-width:1026px){
  .elementor-28 .elementor-element-clc28herosect0200 .elementor-element-clc28herocol0201,
  .elementor-28 .elementor-element-clc28herosect0200 .elementor-element-clc28herocol0206 {
    --width: calc(50% - 30px) !important;
  }
}


/* ============================================================
   Mission PMP-DIMENSIONS-SUR-MESURE-AJUSTEMENTS-99-01 (2026-06-18)
   Page Dimensions sur mesure (ID 31). Scope strict : .elementor-31.
   Hero 2 colonnes + séparateurs dorés groupes + listes options sobres.
   ============================================================ */

/* Hero : 2 colonnes texte / image (desktop) */
@media (min-width: 1026px) {
  .elementor-31 .elementor-element-dim31herocol { --width: calc(52% - 30px) !important; }
  .elementor-31 .elementor-element-dim31heroimg { --width: calc(48% - 30px) !important; }
}
.elementor-31 .elementor-element-dim31heroimgw img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  max-height: 440px;
  object-fit: cover;
}
@media (max-width: 767px) {
  .elementor-31 .elementor-element-dim31heroimgw img { max-height: 260px; }
}

/* Section tailles : ligne dorée sous chaque label de groupe */
.elementor-31 .elementor-element-dim31tailfemlabel .elementor-heading-title,
.elementor-31 .elementor-element-dim31tailhomlabel .elementor-heading-title,
.elementor-31 .elementor-element-dim31tailenflabel .elementor-heading-title {
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(184, 150, 46, 0.45);
  padding-bottom: 12px;
}

/* Options techniques : listes sobres (pas de grosse carte blanche) */
.elementor-31 .elementor-element-dim31optformeitems,
.elementor-31 .elementor-element-dim31optfabritems {
  gap: 13px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 6px;
}
.elementor-31 .elementor-element-dim31optformeitems > .e-con,
.elementor-31 .elementor-element-dim31optfabritems > .e-con {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: 13px !important;
}
.elementor-31 .elementor-element-dim31optformeitems > .e-con:last-child,
.elementor-31 .elementor-element-dim31optfabritems > .e-con:last-child {
  border-bottom: none;
  padding-bottom: 0 !important;
}
.elementor-31 .elementor-element-dim31optformeitems .elementor-heading-title,
.elementor-31 .elementor-element-dim31optfabritems .elementor-heading-title {
  position: relative;
  padding-left: 26px;
}
.elementor-31 .elementor-element-dim31optformeitems .elementor-heading-title::before,
.elementor-31 .elementor-element-dim31optfabritems .elementor-heading-title::before {
  content: "\2192";
  position: absolute;
  left: 0;
  top: 0;
  color: #B8962E;
  font-weight: 600;
}

/* ============================================================
   PMP-GAMMES-HOVER-PRODUIT-COMME-HOTELLERIE-01 (2026-06-18)
   Extension du hover Hôtellerie (h21prodcard01) aux cartes
   produit Bois/Métal/Velours/Accessoires.
   Plastique 17 déjà couvert par bloc DEEPSEEK-GAMME-PLASTIQUE-
   BLOC-PRODUIT-99-03. Hôtellerie 21 inchangé (modele).
   ============================================================ */

/* --- Bois ID 18 : carte hboiscard00001 --- */
.elementor-18 .elementor-element-hboiscard00001 {
  background-color: #F9F6F0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-18 .elementor-element-hboiscard00001:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* --- Métal ID 19 : carte m19prodcard01 --- */
.elementor-19 .elementor-element-m19prodcard01 {
  background-color: #F9F6F0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-19 .elementor-element-m19prodcard01:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* --- Velours ID 20 : carte v20prodcard01 --- */
.elementor-20 .elementor-element-v20prodcard01 {
  background-color: #F9F6F0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-20 .elementor-element-v20prodcard01:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* --- Accessoires ID 22 : carte a22prodcard01 --- */
.elementor-22 .elementor-element-a22prodcard01 {
  background-color: #F9F6F0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.elementor-22 .elementor-element-a22prodcard01:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  border-color: #B8962E !important;
}

/* Fin PMP-GAMMES-HOVER-PRODUIT-COMME-HOTELLERIE-01 */

/* PMP-CONTACT-COLONNES-FORMULAIRE-FINAL-99-01 - colonnes + bouton */
body.page-id-15 .pmk-contact-grid,
.elementor-15 .pmk-contact-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    max-width: 1320px !important;
    gap: 60px !important;
    align-items: start !important;
    margin: 0 auto !important;
}
body.page-id-15 .pmk-form,
.elementor-15 .pmk-form {
    flex: 0 0 calc(58% - 30px) !important;
    min-width: 0 !important;
    padding-right: 30px !important;
    order: 1 !important;
}
body.page-id-15 .pmk-infos,
.elementor-15 .pmk-infos {
    flex: 0 0 calc(42% - 30px) !important;
    min-width: 0 !important;
    order: 2 !important;
}
body.page-id-15 .pmk-btn-submit,
.elementor-15 .pmk-btn-submit {
    background: #0a0a0a !important;
    color: #ffffff !important;
}
@media (max-width: 768px) {
    body.page-id-15 .pmk-contact-grid,
    .elementor-15 .pmk-contact-grid {
        display: block !important;
    }
    body.page-id-15 .pmk-form,
    .elementor-15 .pmk-form {
        padding-right: 0 !important;
    }
    body.page-id-15 .pmk-infos,
    .elementor-15 .pmk-infos {
        margin-top: 48px !important;
    }
}

/* PMP-CONTACT-COLONNES-FORMULAIRE-FINAL-99-01 v2 - tablette stacked */
@media (max-width: 900px) {
    body.page-id-15 .pmk-contact-grid,
    .elementor-15 .pmk-contact-grid {
        display: block !important;
        max-width: 100% !important;
        gap: 0 !important;
    }
    body.page-id-15 .pmk-form,
    .elementor-15 .pmk-form {
        flex: auto !important;
        width: 100% !important;
        padding-right: 0 !important;
        order: 1 !important;
    }
    body.page-id-15 .pmk-infos,
    .elementor-15 .pmk-infos {
        flex: auto !important;
        width: 100% !important;
        margin-top: 48px !important;
        order: 2 !important;
    }
}

/* PMP-CONTACT-COLONNES-FORMULAIRE-FINAL-99-01 v3 - fix tablet/mobile order */
@media (max-width: 900px) {
    body.page-id-15 .pmk-contact-grid,
    .elementor-15 .pmk-contact-grid {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        max-width: 100% !important;
        gap: 0 !important;
    }
    body.page-id-15 .pmk-form,
    .elementor-15 .pmk-form {
        flex: auto !important;
        width: 100% !important;
        padding-right: 0 !important;
        order: 1 !important;
    }
    body.page-id-15 .pmk-infos,
    .elementor-15 .pmk-infos {
        flex: auto !important;
        width: 100% !important;
        margin-top: 48px !important;
        order: 2 !important;
    }
}

/* PMP-TEXTES-SOMBRES-PERSONNALISATION-01 — Correction lisibilité titres hero */
body.page-id-29 .pmpc-h1,
body.page-id-29 .elementor-29 h1.pmpc-h1,
body.page-id-30 .pmpf-hero-title,
body.page-id-30 .elementor-30 h1.pmpf-hero-title {
  color: #ffffff !important;
}
