/**
 * Bloc Features 04 - Figma Design Match
 *
 * BEM Convention: .bloc-features-04__element
 *
 * Figma reference: https://figma.com/design/I6wtq12NH17BottRCSlGff/?node-id=9048:9132
 * Primary color: #2464D1
 * Text color: #232425
 * Background: #FFFFFF
 *
 * Structure:
 * - Header: tagline, headline, description, button
 * - Featured card: horizontal layout
 * - Grid: 4 vertical cards
 *
 * @package Usine
 * @version 1.0.0
 */

/* ============================================
   ROOT BLOCK
   ============================================ */

.bloc-features-04 {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding-inline: var(--section-padding-x, 64px);
  /* Figma token brand_grey (Coiffeurs / Webiteasy) */
  --usine-color-brand-grey: #f7f6f2;
  /* VIS-013: Prevent horizontal overflow from slider cards */
  overflow-x: clip;
}

.bloc-features-04--wrapped-shell {
  padding-inline: 16px;
}

/* ============================================
   CONTAINER
   ============================================ */

/* FEAT04-2-03: Rounded container — vertical spacing via section inline ACF only */
.bloc-features-04__container {
  max-width: var(--section-max-width, 1312px);
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  border-radius: 16px;
  overflow: clip;
}

/* FIX-FEAT04-SLIDER-NAV: When the container holds a slider, remove overflow:clip so
   the absolutely-positioned arrows and dots (appended by slider.js inside .us-slider)
   are not clipped by the parent.  overflow:clip clips ALL descendants regardless of
   their own overflow or position settings.  border-radius rounding is preserved on the
   slider cards themselves via their own border-radius. */
.bloc-features-04__container:has(.us-slider) {
  overflow: visible;
}

.bloc-features-04--wrapped-shell .bloc-features-04__container {
  max-width: none;
  width: 100%;
}

/* ============================================
   HEADER
   ============================================ */

/* FEAT04-1-04: Header — default left, inline style from ACF overrides when present */
.bloc-features-04__header {
  text-align: left;
  max-width: 100%;
  margin: 0 0 40px;                 /* FIX: reduced title-grid spacing */
  display: flex;
  flex-direction: column;
  gap: 16px;                        /* FIX: tighter header internal spacing */
}

.bloc-features-04__tagline {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: inherit;
  margin: 0;
}

.bloc-features-04__headline {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 48px;
  line-height: 1.2;
  color: inherit;
  margin: 0;
}

/* Coiffeur : surlignage titre (ACF doit contenir exactement les chaînes remplacées en PHP) */
#features-04-fc-bloc_features_04-3 .bloc-features-04__headline .bloc-features-04__headline-highlight,
#features-04-fc-bloc_features_04-4 .bloc-features-04__headline .bloc-features-04__headline-highlight,
#features-04-fc-bloc_features_04-5 .bloc-features-04__headline .bloc-features-04__headline-highlight,
#features-04-fc-bloc_features_04-9 .bloc-features-04__headline .bloc-features-04__headline-highlight {
  color: #FF5700 !important;
}

#features-04-fc-bloc_features_04-7 .bloc-features-04__headline .bloc-features-04__headline-highlight {
  color: #FF5700 !important;
}

#features-04-fc-bloc_features_04-9 .bloc-features-04__card-title .bloc-features-04__card-title-highlight {
  color: #9f2b2c !important;
}

#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__headline .bloc-blog-page-01__headline-highlight {
  color: #9f2b2c !important;
}

/* Override ciblé : bloc #5 en orange */
#features-04-fc-bloc_features_04-5 .bloc-features-04__headline .bloc-features-04__headline-highlight {
  color: #FF5700 !important;
}

#features-04-fc-bloc_features_04-3 .bloc-features-04__headline .bloc-features-04__headline-highlight--blue {
  color: #045FFF !important;
}

.bloc-features-04__description {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: inherit;
  margin: 0;
  /* RC-11: no max-width — description uses full header width per maquette */
}

.bloc-features-04__header[style*="text-align: center"] {
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.bloc-features-04__header[style*="text-align: center"] .bloc-features-04__description {
  margin-left: auto;
  margin-right: auto;
}

.bloc-features-04__header--wrapped {
  padding: var(--bloc-features-04-intro-wrapper-padding, 24px);
}

.bloc-features-04__header-action {
  display: flex;
  justify-content: center;
  gap: 16px;
}

/* ============================================
   BUTTONS
   ============================================ */

.bloc-features-04__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 8px 24px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}

.bloc-features-04__btn--secondary {
  background-color: #FFFFFF;
  border: 1px solid #3C0314;
  color: #3C0314;
}

.bloc-features-04__btn--secondary:hover {
  background-color: #232425;
  color: #FFFFFF;
}

/* ============================================
   FEATURED CARD (Horizontal)
   ============================================ */

.bloc-features-04__featured {
  margin-bottom: 32px;
}

/* FIX: Featured card with light background + shadow, no border */
/* FIX-FEAT04-CARD-BG: Use CSS variable so usine_auto_styles inline wins; transparent fallback */
/* FIX-FEAT04-CARD-RADIUS: Use CSS variable so inline border-radius wins */
.bloc-features-04__card--featured {
  display: flex;
  flex-direction: row;
  background-color: var(--card-bg, transparent);
  border: none;
  border-radius: var(--card-border-radius, 12px);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
}

.bloc-features-04__card--featured .bloc-features-04__card-image {
  width: 50%;
  flex-shrink: 0;
}

.bloc-features-04__card--featured .bloc-features-04__card-content {
  width: 50%;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ============================================
   GRID - 4 Columns
   ============================================ */

/* FIX-FEAT04-GRID-4COL: Figma shows a 4-column grid for vertical cards.
   auto-fill with minmax(280px) resolves to 3 columns in a 1184px content area. */
.bloc-features-04__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  /* Même hauteur de ligne pour toutes les cartes d’une rangée */
  align-items: stretch;
}

/* Cartes = pleine cellule ; le bloc texte (.card-content) s’étire pour égaler la hauteur utile sur la rangée */
.bloc-features-04__grid > .bloc-features-04__card {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  align-self: stretch;
  box-sizing: border-box;
}

.bloc-features-04__grid > .bloc-features-04__card .bloc-features-04__card-image {
  flex-shrink: 0;
}

.bloc-features-04__grid > .bloc-features-04__card .bloc-features-04__card-content {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Section grille 6 : padding vertical maquette (renfort si autre règle écrase l’inline) */
.bloc-features-04--grid-6 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* 6 cartes : 3×2 desktop, 2×3 tablette (≤1200px), 1×6 mobile (≤768px) — colonnes inline PHP + media queries ci-dessous */
.bloc-features-04--grid-6 .bloc-features-04__grid {
  gap: clamp(24px, 3vw, 32px);
}

/* Couleurs texte cards (subel_text_title / subel_text_desc) — DS, surcharge styles inline ACF */
.bloc-features-04--grid-6 .bloc-features-04__card-title {
  color: #232425 !important;
}

.bloc-features-04--grid-6 .bloc-features-04__card-description {
  color: #5a5e60 !important;
}

/* Row 6 (grid-6) : cartes fond #F7F6F2 + textes sombres (écrase styles inline) */
.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-features-04__card-content {
  background-color: #F7F6F2 !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-features-04__card-title {
  color: #232425 !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-features-04__card-description {
  color: #5A5E60 !important;
}

/* Row 6 : spacing entre l'intro ajoutée et la grille */
.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-blog-page-01__intro {
  margin-bottom: 32px !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-blog-page-01__tagline {
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #696E71 !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-blog-page-01__headline {
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 43px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: #232425 !important;
  margin: 0 !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-blog-page-01__description {
  margin-top: 24px !important;
}

/* Row 6 : la 1ère rangée (3 premières cartes) doit avoir la même typo/couleurs que la 2e rangée */
.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-features-04__grid > .bloc-features-04__card:nth-child(-n+3) .bloc-features-04__card-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #232425 !important;
}

.bloc-features-04.bloc-features-04--grid-6[data-bloc-features-04-acf-row="6"] .bloc-features-04__grid > .bloc-features-04__card:nth-child(-n+3) .bloc-features-04__card-description {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #5A5E60 !important;
}

/* ============================================
   Bloc ciblé (ligne flexible ACF) : el_icon_text_short en pleine largeur,
   subel_icon padding 2px, cartes sans fond — classe posée par render.php
   (filtre: usine_bloc_features_04_icon_text_fill_row, défaut row index = 8)
   ============================================ */

.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid {
  align-items: stretch;
}

/* Row 8 (icon-text-fill-layout) : remplacer toutes les icônes SVG par le check fourni
   (on garde le wrapper + ses styles inline, ex. background-color / border-radius). */
.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"] .icon.icon--fallback {
  background-image: url("../assets/icons/row8-x.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"] .icon.icon--fallback > svg {
  display: none !important;
}

.bloc-features-04--icon-text-fill-layout .bloc-features-04__card,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card--vertical,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card--featured {
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Ligne flexible 8 (NOS RÉALISATIONS) : toutes les cards sans fond, angles 0 — repli si classe layout absente */
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card--vertical,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card--featured,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card--on-dark {
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-image,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-img,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-hitarea,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-image,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-img,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-hitarea {
  border-radius: 0 !important;
}

/* Ligne 8 / icon-text-fill : aucun padding sur .card-content (surcharge 24px/32px !important des cartes verticales) */
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card .bloc-features-04__card-content,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card .bloc-features-04__card-content {
  padding: 0 !important;
}

/* Ligne 8 / icon-text-fill : variantes .icon-text--wrapped sans padding (équivalent visuel « non wrapped », cf. usine-components.css) */
.bloc-features-04[data-bloc-features-04-acf-row="8"] .icon-text.icon-text--wrapped,
.bloc-features-04--icon-text-fill-layout .icon-text.icon-text--wrapped {
  --us-icon-text-wrap-padding: 0;
  padding: 0 !important;
}

.bloc-features-04--icon-text-fill-layout .bloc-features-04__card--vertical {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}

.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-details {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  align-self: stretch;
  min-height: 0;
}

.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-details .icon-text {
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  min-height: 0;
  box-sizing: border-box;
}

/* Tous les subel_icon (lignes el_icon_text_short, icône seule, droite, carte) : padding 2px */
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-content .icon-text__icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-content .icon-text > .icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-content .icon-text .icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-standalone-icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__card-icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__icon-right {
  padding: 2px;
  box-sizing: content-box;
}

/* Même padding si la ligne flexible = 8 (repli si la classe --icon-text-fill-layout n’est pas posée) */
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-content .icon-text__icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-content .icon-text > .icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-content .icon-text .icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-standalone-icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__card-icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__icon-right {
  padding: 2px;
  box-sizing: content-box;
}

/*
 * Première carte uniquement (grid [0]) — ligne flexible 8 : couleur prop_icon / icônes #F3F5F9
 * (surcharge styles inline ACF ; SVG via currentColor sur path/stroke)
 */
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text__icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text > .icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text .icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__card-standalone-icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__card-icon,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__icon-right,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text__icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text > .icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text .icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__card-standalone-icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__card-icon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .bloc-features-04__icon-right {
  color: #f3f5f9 !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text svg,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon svg,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .icon-text svg,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child .icon svg {
  color: inherit;
}

.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg path,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg circle,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg rect,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg line,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg polyline,
.bloc-features-04[data-bloc-features-04-acf-row="8"] .bloc-features-04__grid > .bloc-features-04__card:first-child svg polygon,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg path,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg circle,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg rect,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg line,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg polyline,
.bloc-features-04--icon-text-fill-layout .bloc-features-04__grid > .bloc-features-04__card:first-child svg polygon {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* ============================================
   CARD (Vertical)
   ============================================ */

/* FIX: cards with light background + subtle shadow, no border */
/* FIX-FEAT04-CARD-BG: Use CSS variable so usine_auto_styles inline wins; transparent fallback */
/* FIX-FEAT04-CARD-RADIUS: Use CSS variable so inline border-radius wins */
.bloc-features-04__card {
  background-color: var(--card-bg, transparent);
  border: none;
  border-radius: var(--card-border-radius, 12px);
  overflow: hidden;
  box-shadow: none;
  transition: none;
  position: relative;
}

.bloc-features-04__card-hitarea {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  border-radius: inherit;
}

.bloc-features-04__card .btn {
  position: relative;
  z-index: 2;
}

.bloc-features-04__card:hover {
  box-shadow: none;
}

.bloc-features-04__card--vertical {
  display: flex;
  flex-direction: column;
}

/* comp_features_card_vertical — fond par défaut si l’ACF n’impose pas de background (inline gagne sans !important) */
.bloc-features-04__card--vertical:not(.bloc-features-04__card--on-dark) {
  background-color: #f7f6f2;
}

.bloc-features-04__card--vertical .bloc-features-04__card-content {
  padding: 24px !important;
}

/* Override earlier asymmetric top padding so padding is uniform on all sides */
.bloc-features-04__card--vertical .bloc-features-04__card-image + .bloc-features-04__card-content {
  padding: 24px !important;
}

/* prop_icon via usine_render_icon_text(): .icon-text > .icon.icon-text__icon (+ SVG shapes) */
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg,
.bloc-features-04__card--vertical .bloc-features-04__card-icon,
.bloc-features-04__card--vertical .bloc-features-04__card-icon svg,
.bloc-features-04__card--vertical .bloc-features-04__detail-icon,
.bloc-features-04__card--vertical .bloc-features-04__detail-icon svg,
.bloc-features-04__card--vertical .bloc-features-04__icon-right,
.bloc-features-04__card--vertical .bloc-features-04__icon-right svg {
  color: #9F2B2C !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg path,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg circle,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg rect,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg line,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polyline,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polygon,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg path,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg circle,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg rect,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg line,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polyline,
.bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polygon {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/*
 * Ligne flexible 3 : listes icon-text (détails) en #FFFFFF uniquement.
 * Les prop_icon standalone / card-icon restent #9F2B2C (règles .card--vertical ci-dessus).
 */
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__icon-right,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__icon-right svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg path,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg circle,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg rect,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg line,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polyline,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polygon,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg path,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg circle,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg rect,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg line,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polyline,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polygon {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Ligne flexible 3 : fond #FFFFFF sur la zone .card-content (cartes verticales) */
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical:not(.bloc-features-04__card--on-dark) {
  background-color: transparent !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card-content {
  background-color: #ffffff !important;
}

/*
 * Accueil uniquement : bloc flexible row 3 (ex. « Une offre complète ») — fond cartes #F7F6F2.
 * N’impacte pas les autres pages où le même index ACF peut pointer vers un autre contenu.
 */
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card-content {
  background-color: #f7f6f2 !important;
}

/* Sur fond crème, repasser les pictos détails en #9F2B2C (le blanc était pour fond #fff) */
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__icon-right,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__icon-right svg {
  color: #9f2b2c !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg path,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg circle,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg rect,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg line,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polyline,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon svg polygon,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg path,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg circle,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg rect,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg line,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polyline,
body.home .bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon svg polygon {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/*
 * Accueil — ligne flexible 5 : bandeau type « reinsurance » (3 colonnes, fond bordeaux, sans intro).
 * Masque le header et ne garde que titre + description par carte, centrés, texte blanc.
 */
/* Margin strict maquette : top/bottom 16px (toutes pages) */
.bloc-features-04[data-bloc-features-04-acf-row="5"] {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  /* Row 5 bandeau : pas de padding section (ACF injecte souvent 80px inline) */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  /* Pas de padding horizontal sur la section (le container garde son padding) */
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

/*
 * Ligne flexible 5 : bandeau stats (style maquette)
 * - Tout reste dans le bloc (pas de full-bleed)
 * - Container arrondi + padding interne
 * - 3 colonnes centrées
 * - Typo : Unbounded 43 Regular (titres) + Figtree 20 Bold (sous-texte)
 */
.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__container {
  background-color: #5A0001 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  padding: clamp(20px, 3vw, 32px) !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: center !important;
  justify-items: center !important;
  text-align: center;
}

.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card,
.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card--vertical {
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  align-items: center !important;
  text-align: center !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-content {
  padding: 0 !important;
  background-color: transparent !important;
  align-items: center !important;
  text-align: center !important;
  width: 100%;
  gap: 8px !important;
}

/* Force le centrage même si ACF injecte text-align inline sur .__card-content */
.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card--on-dark .bloc-features-04__card-content[style*="text-align"] {
  text-align: center !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-title {
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 43px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-align: center !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-description {
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: #f5f6f6 !important;
  margin: 0 !important;
  text-align: center !important;
}

@media (max-width: 768px) {
  .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__container {
    padding: 20px !important;
  }

  .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-title {
    font-size: 40px !important;
  }
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__header {
  display: none !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__container {
  gap: 0;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
  width: 100%;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card--vertical {
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  align-items: center;
  text-align: center;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-image,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-number,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-standalone-icon,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-details,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-icon-right,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-detail,
body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-content .btn {
  display: none !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-content {
  padding: 12px 8px 20px !important;
  align-items: center !important;
  text-align: center !important;
  width: 100%;
  gap: 10px !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-title {
  color: #ffffff !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__card-description {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  body.home .bloc-features-04[data-bloc-features-04-acf-row="5"] .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }
}

/* row 2: keep font-family only, let inline ACF typography drive size/weight/line-height */
.bloc-features-04[data-bloc-features-04-acf-row="2"] .bloc-features-04__card-title {
  font-family: "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Descriptions des cartes (row 2) : Figtree Regular 16 */
.bloc-features-04[data-bloc-features-04-acf-row="2"] .bloc-features-04__card-description {
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Headline DS (legacy) — keep for row 1/3 only, not row 2 */
.bloc-features-04[data-bloc-features-04-acf-row="1"] .bloc-features-04__headline,
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__headline {
  font-weight: 400 !important;
  font-size: 43px !important;
  line-height: 1.1 !important;
}

/* Titres cards (row 3) : Unbounded Regular 22 */
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card-title {
  font-weight: 400 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}

/* Tagline + description (row 3) : Figtree */
.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__tagline {
  font-weight: 700 !important; /* Bold */
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__description {
  font-weight: 400 !important; /* Regular */
  font-size: 18px !important;
  line-height: 1.5 !important;
}

.bloc-features-04[data-bloc-features-04-acf-row="3"] .bloc-features-04__card-description {
  font-weight: 400 !important; /* Regular */
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.bloc-features-04__card[data-media-position="bottom"] {
  flex-direction: column-reverse;
}

/* FIX-FEAT04-CARD-RADIUS: Image border-radius inherits from card variable */
.bloc-features-04__card-image {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #E6E7E7;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--card-border-radius, 12px) var(--card-border-radius, 12px) 0 0;
}

/* Grille 6 cartes : fond image (surcharge #E6E7E7 — aligné hero / stack feat02) */
.bloc-features-04--grid-6 .bloc-features-04__card-image {
  background-color: #3e2b17;
}

.bloc-features-04__card[data-media-position="bottom"] .bloc-features-04__card-image {
  border-radius: 0 0 var(--card-border-radius, 12px) var(--card-border-radius, 12px);
}

.bloc-features-04__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/*
 * Cartes verticales (grilles 4/6, slider) : le cadre (.card-image) reste visible ;
 * l’image ne remplit pas la zone marron, proportions conservées, centrée.
 * Les cartes featured (horizontal) ne sont pas .card--vertical → inchangées.
 */
.bloc-features-04__card--vertical .bloc-features-04__card-image {
  padding: 24px;
  box-sizing: border-box;
}

.bloc-features-04__card--vertical .bloc-features-04__card-image img,
.bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img {
  width: auto !important;
  max-width: 80% !important;
  height: auto !important;
  max-height: 220px !important;
  object-fit: contain !important;
  object-position: center !important;
  position: static !important;
  flex: 0 0 auto !important;
}

/*
 * Bloc unique features-04-fc-bloc_features_04-3 (classe ajoutée en PHP) :
 * images en remplissage total de la zone média, homogène sur les cartes — ne pas généraliser.
 */
.bloc-features-04.bloc-features-04--coiffeur-salon-vitrine .bloc-features-04__card--vertical .bloc-features-04__card-image {
  padding: 0;
  align-items: stretch;
  justify-content: stretch;
}

.bloc-features-04.bloc-features-04--coiffeur-salon-vitrine .bloc-features-04__card--vertical .bloc-features-04__card-image img,
.bloc-features-04.bloc-features-04--coiffeur-salon-vitrine .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0;
  min-height: 0;
  object-fit: cover !important;
  object-position: center !important;
  flex: 1 1 0;
  position: static !important;
}

/* ==============================================================
   FEATURES-04 — INSTANCE #3 (id="features-04-fc-bloc_features_04-3")
   Responsive uniquement (tablette + mobile) :
   - Titre moins massif
   - Cartes en colonne (1 par ligne)
   - Lecture fluide sur petit écran
   ============================================================== */

/*
 * Conflit : usine-components.css applique en tablette/mobile
 * main#primary > ... > .entry-content :is(..., [class*="__card"]) { padding !important; gap !important; }
 * ce qui matche __card-content, __card-image, __card-img, etc. Spécificité > #id seul.
 * Contre-pass : chaîne avec section#features-04-fc-bloc_features_04-3 (2 id au total avec #primary).
 */
@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 [class*="__card"] {
    padding: 0 !important;
    gap: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-content {
    padding: 12px !important;
    gap: 12px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card--vertical {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image {
    padding: 0 !important;
    margin: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image .bloc-features-04__card-img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    flex: none !important;
    position: static !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__headline {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    /* Espace header → 1re carte (image) : 16px tablette/mobile */
    margin-top: 16px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__header {
    margin-bottom: 0 !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__container {
    gap: 0 !important;
    row-gap: 0 !important;
  }
}

/* #3 tablette uniquement : réduire la hauteur de l'image d'environ -35% */
@media (min-width: 769px) and (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image {
    height: 228px !important;
    max-height: 228px !important;
    overflow: hidden !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image .bloc-features-04__card-img {
    height: 100% !important;
  }
}

@media (max-width: 768px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 [class*="__card"] {
    padding: 0 !important;
    gap: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-content {
    padding: 12px !important;
    gap: 10px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card--vertical {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image {
    padding: 0 !important;
    margin: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-image .bloc-features-04__card-img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    flex: none !important;
    position: static !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__headline {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 16px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-3 .bloc-features-04__header {
    margin-bottom: 0 !important;
  }

  #features-04-fc-bloc_features_04-3 .bloc-features-04__container {
    gap: 0 !important;
    row-gap: 0 !important;
  }
}

/* #features-04-fc-bloc_features_04-4 — icônes (standalone + puces icon-text) : padding 8px fixe ; zone picto 32×32 */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon.icon--fallback,
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon.icon--wrapped.icon-text__icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon.icon--wrapped.icon-text__icon.icon--fallback {
  padding: 8px !important;
  box-sizing: content-box !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  --us-icon-size: 32px !important;
}

/* ==============================================================
   FEATURES-04 — INSTANCE #4 (id="features-04-fc-bloc_features_04-4")
   Responsive uniquement (tablette + mobile) :
   - Titres de carte (.card-title) : 22px
   - Paddings adaptés
   - Cartes en colonne (1 par ligne)
   ============================================================== */

@media (max-width: 1024px) {
  /* Contre-pass usine-components [class*="__card"] (padding/gap !important) — même principe que #3 */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 [class*="__card"] {
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Bloc plus compact sur tablette */
  #features-04-fc-bloc_features_04-4.bloc-features-04 {
    padding: 32px 20px !important;
  }

  /* Kicker / sous-titre : espacement plus serré */
  #features-04-fc-bloc_features_04-4 .bloc-features-04__tagline {
    margin-bottom: 8px !important;
  }

  /* Header → grille : 16px ; pas de padding-bottom sur le header */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__header,
  #features-04-fc-bloc_features_04-4 .bloc-features-04__header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Titre type H3 tablette (~32px) */
  #features-04-fc-bloc_features_04-4 .bloc-features-04__headline {
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }

  /* Dernier bloc du header : pas de marge sous la description (l’écart vers la grille = margin-top grille) */
  #features-04-fc-bloc_features_04-4 .bloc-features-04__description {
    margin-bottom: 0 !important;
  }

  /* Grille : une colonne, cartes étirées sur la largeur utile */
  #features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }

  #features-04-fc-bloc_features_04-4 .bloc-features-04__card,
  #features-04-fc-bloc_features_04-4 .bloc-features-04__card--vertical {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    padding: 16px !important;
    gap: 0 !important;
  }

  /* #4 tablette : éviter le collage des deux premiers items + plus d'air entre chaque ligne */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-detail,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-detail .icon-text,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon-text {
    display: flex !important;
    align-items: center !important;
    column-gap: 10px !important;
    margin: 0 !important;
  }

  /* Icône standalone → titre : 20px ; titre → description : 8px */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon {
    margin: 0 0 20px 0 !important;
    align-self: flex-start !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title {
    font-size: 22px !important;
    line-height: 1.2 !important; /* explicit to override usine typography on h3 */
    margin: 0 0 8px 0 !important;
    color: inherit !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-description {
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 768px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 [class*="__card"] {
    padding: 8px !important;
    gap: 0 !important;
  }

  /* Bloc encore plus compact en mobile */
  #features-04-fc-bloc_features_04-4.bloc-features-04 {
    padding: 24px 16px !important;
  }

  #features-04-fc-bloc_features_04-4 .bloc-features-04__tagline {
    margin-bottom: 10px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__header,
  #features-04-fc-bloc_features_04-4 .bloc-features-04__header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Titre H3 mobile (28px) */
  #features-04-fc-bloc_features_04-4 .bloc-features-04__headline {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }

  #features-04-fc-bloc_features_04-4 .bloc-features-04__description {
    margin-bottom: 0 !important;
  }

  #features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }

  #features-04-fc-bloc_features_04-4 .bloc-features-04__card,
  #features-04-fc-bloc_features_04-4 .bloc-features-04__card--vertical {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    gap: 0 !important;
  }

  /* #4 mobile : même correction de collage + espacement vertical renforcé */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-detail,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-detail .icon-text,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon-text {
    display: flex !important;
    align-items: center !important;
    column-gap: 10px !important;
    margin: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon {
    margin: 0 0 20px 0 !important;
    align-self: flex-start !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-description {
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

.bloc-features-04__card-image-placeholder {
  width: 48px;
  height: 48px;
  color: #999;
}

.bloc-features-04__card-image-placeholder svg {
  width: 100%;
  height: 100%;
}

.bloc-features-04__card-content {
  padding: 32px;                     /* FIX: increased internal padding */
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bloc-features-04__card-content:empty {
  display: none;
}

/* FIX-F04-R4: Breathing room between card image and card text content */
.bloc-features-04__card-image + .bloc-features-04__card-content {
  padding-top: 24px;
}

/* FIX-FEAT04-CARD-ICON: Standalone icon container (circular bg, above title) */
.bloc-features-04__card-standalone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: inherit;
  width: var(--us-icon-size, 40px);
  height: var(--us-icon-size, 40px);
  object-fit: contain;
}

.bloc-features-04__card-standalone-icon svg {
  width: 100%;
  height: 100%;
}

/* prop_icon standalone : formes SVG alignées sur #9F2B2C (currentColor depuis la règle carte verticale) */
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg path,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg circle,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg rect,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg line,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg polyline,
.bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon svg polygon {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* On dark sections, cards should be transparent (no white box on dark bg) */
.bloc-features-04__card--on-dark {
  background-color: transparent;
  border-color: transparent;
}

/* On dark cards, icon color should be white by default */
.bloc-features-04__card--on-dark .bloc-features-04__card-standalone-icon,
.bloc-features-04__card--on-dark .bloc-features-04__card-standalone-icon svg {
  color: #ffffff;
}

.bloc-features-04__card-icon {
  width: 40px;
  height: 40px;
  color: inherit;
}

.bloc-features-04__card-icon img,
.bloc-features-04__card-icon svg {
  width: 100%;
  height: 100%;
}

.bloc-features-04__card-number {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: #f3f4f6;         /* FIX: light gray background behind number */
  border-radius: 6px;
}

.bloc-features-04__card-title {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  color: inherit;
  margin: 0;
}

.bloc-features-04__card-description {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: inherit;
  margin: 0;
}

/* ============================================
   DETAILS
   ============================================ */

.bloc-features-04__card-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-width: 0;
  align-self: stretch;
  box-sizing: border-box;
}

/* Lignes icon+texte (usine_render_icon_text) : pleine largeur, texte occupe l’espace restant */
.bloc-features-04 .bloc-features-04__card-details .icon-text {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  align-items: center;
}

.bloc-features-04 .bloc-features-04__card-details .icon-text .icon-text__text {
  flex: 1 1 auto;
  min-width: 0;
}

/* Icônes icon-text (cartes) : 2px de padding — aligné sur --icon-text-fill-layout / ligne flexible 8 */
.bloc-features-04 .bloc-features-04__card-content .icon-text__icon,
.bloc-features-04 .bloc-features-04__card-content .icon-text > .icon,
.bloc-features-04 .bloc-features-04__card-content .icon-text .icon,
.bloc-features-04 .bloc-features-04__card-standalone-icon,
.bloc-features-04 .bloc-features-04__card-icon,
.bloc-features-04 .bloc-features-04__icon-right {
  padding: 2px;
  box-sizing: content-box;
}

.bloc-features-04__detail-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.bloc-features-04__detail-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: inherit;
}

.bloc-features-04__detail-icon img,
.bloc-features-04__detail-icon svg {
  width: 100%;
  height: 100%;
}

.bloc-features-04__detail-text {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: inherit;
}

/* ============================================
   CARD LINK
   ============================================ */

.bloc-features-04__card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #3C0314;
  text-decoration: none;
  margin-top: auto;
}

.bloc-features-04__card-link:hover {
  color: #2a020e;
}

.bloc-features-04__card-link-icon {
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
}

.bloc-features-04__card-link-icon svg {
  width: 100%;
  height: 100%;
}

.bloc-features-04__card-link:hover .bloc-features-04__card-link-icon {
  transform: translateX(4px);
}

/* ============================================
   SLIDER MODE (us-slider integration)
   ============================================ */

/* Slider wrapper: contained within the block container */
/* FIX-FEAT04-SLIDER-VISIBLE: overflow:visible so slider arrows are not clipped */
.bloc-features-04__slider {
  margin-top: 32px;
  padding-bottom: 64px;             /* FIX: space for arrows/dots below */
  overflow: visible;
}

/* Slider cards keep the same vertical composition as the design cards. */
/* FIX-FEAT04-CARD-BG + FIX-FEAT04-CARD-RADIUS: Slider cards use same CSS variables */
.bloc-features-04__slider .bloc-features-04__card {
  margin: 0 16px;
  box-sizing: border-box;
  height: auto;
  display: flex;
  flex-direction: column;
  background-color: var(--card-bg, transparent);
  border: none;
  border-radius: var(--card-border-radius, 12px);
  box-shadow: none;
}

/* Non-interactive vertical cards: no hover feedback */
.bloc-features-04__card--vertical:not(:has(.bloc-features-04__card-hitarea)):hover {
  box-shadow: none;
}

.bloc-features-04__slider .bloc-features-04__card--vertical {
  flex-direction: column;
}

.bloc-features-04__slider .bloc-features-04__card-image {
  width: 100%;
  flex-shrink: 0;
  aspect-ratio: 16/10;
}

.bloc-features-04__slider .bloc-features-04__card-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* First/last card margin adjustments */
.bloc-features-04__slider .us-slider__track > :first-child {
  margin-left: 0;
}
.bloc-features-04__slider .us-slider__track > :last-child {
  margin-right: 0;
}

/* FIX: Arrows at bottom right, outline style */
.bloc-features-04__slider .us-slider__prev,
.bloc-features-04__slider .us-slider__next {
  top: auto;
  bottom: 0;
  transform: none;
  background: var(--us-slider-arrow-bg, transparent);
  border: var(--us-slider-arrow-border-width, 1px) solid var(--us-slider-arrow-border-color, #e6e7e7);
  border-radius: var(--us-slider-arrow-radius, 999px);
  box-shadow: none;
}

.bloc-features-04__slider .us-slider__prev:hover,
.bloc-features-04__slider .us-slider__next:hover {
  background: var(--us-slider-arrow-bg-hover, #f5f6f6);
  box-shadow: none;
}

.bloc-features-04__slider .us-slider__prev {
  left: auto;
  right: 88px;
}

.bloc-features-04__slider .us-slider__next {
  right: 16px;
}

.bloc-features-04__slider .us-slider__prev svg,
.bloc-features-04__slider .us-slider__next svg {
  color: var(--us-slider-arrow-icon-color, #9ca3af);
}

/* FIX: Dots aligned bottom left */
.bloc-features-04__slider .us-slider__dots {
  margin-top: 24px;
  justify-content: flex-start;
}

.bloc-features-04__slider .us-slider__dot {
  background: #e5e7eb;
}

.bloc-features-04__slider .us-slider__dot:hover {
  background: #cbd5e1;
}

.bloc-features-04__slider .us-slider__dot.is-active {
  background: #cbd5e1;
}

/* ============================================
   RESPONSIVE - Tablet (1200px)
   ============================================ */

@media (max-width: 1200px) {
  .bloc-features-04__container {
    padding: 0;
  }

  /* FIX-FEAT04-GRID-4COL: 4 -> 2 columns on tablet */
  .bloc-features-04__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bloc-features-04__headline {
    font-size: 40px;
  }
}

/* ============================================
   RESPONSIVE - Mobile (768px)
   ============================================ */

@media (max-width: 768px) {
  .bloc-features-04__container {
    padding: 0;
  }

  .bloc-features-04__header {
    margin-bottom: 48px;
  }

  .bloc-features-04__headline {
    font-size: 32px;
  }

  .bloc-features-04__card--featured {
    flex-direction: column;
  }

  .bloc-features-04__card--featured .bloc-features-04__card-image {
    width: 100%;
  }

  .bloc-features-04__card--featured .bloc-features-04__card-content {
    width: 100%;
    padding: 24px;
  }

  .bloc-features-04__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   ACCESSIBILITY - Reduced Motion
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  .bloc-features-04__btn,
  .bloc-features-04__card-link-icon {
    transition: none;
  }
}

/* ============================================
  HOME-SCOPED TARGETED OVERRIDES
  - 1st bloc_features_04
  - bloc_features_04 sans intro (centrage cards)
  ============================================ */

/* 1) First bloc_features_04 on home: visible background behind image */
body:is(.home, .page-id-3577) .entry-content .bloc-features-04[data-bloc-features-04-instance="1"] .bloc-features-04__card-image {
  background-color: #3E2B17 !important;
}

/* Fallback selector: first .bloc-features-04 among direct siblings */
body:is(.home, .page-id-3577) .entry-content > .bloc-features-04:not(.bloc-features-04 ~ .bloc-features-04) .bloc-features-04__card-image {
  background-color: #3E2B17 !important;
}

/*
 * Bloc sans intro (comp_intro_content_section_group_visible = false) :
 * centrage réel titre + description — sans width:100%, le flex rétrécit les blocs au texte (~73px)
 * et le rendu reste visuellement à gauche malgré align-items:center.
 *
 * Pleine largeur utile : padding horizontal 8px seuls (pas de --section-padding-x),
 * container sans max-width, grille gap 8px, cartes sur toute la largeur disponible.
 */
.bloc-features-04--no-intro {
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box;
  background-color: #ffffff !important;
}

.bloc-features-04--no-intro .bloc-features-04__container {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.bloc-features-04--no-intro .bloc-features-04__grid {
  width: 100%;
  gap: 8px !important;
  align-items: stretch;
  border-radius: 0 !important;
}

.bloc-features-04--no-intro .bloc-features-04__grid > .bloc-features-04__card {
  min-width: 0;
  min-height: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  align-self: stretch;
  border-radius: 8px !important;
  display: flex;
  flex-direction: column;
}

/* Surface carte : beige DS désactivé, fond bordeaux sur la zone contenu */
.bloc-features-04--no-intro .bloc-features-04__card--vertical:not(.bloc-features-04__card--on-dark) {
  background-color: transparent !important;
}

.bloc-features-04--no-intro .bloc-features-04__card-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  text-align: left !important;
  background-color: #5a0001 !important;
  color: #ffffff;
  border-radius: 8px !important;
  overflow: hidden;
}

.bloc-features-04--no-intro .bloc-features-04__card-title,
.bloc-features-04--no-intro .bloc-features-04__card-description,
.bloc-features-04--no-intro .bloc-features-04__card-detail {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: left !important;
  text-wrap: balance;
  color: #ffffff !important;
}

/* Icônes lisibles sur fond #5A0001 */
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__card-standalone-icon,
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__card-icon,
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__detail-icon,
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__icon-right,
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text > .icon,
.bloc-features-04--no-intro .bloc-features-04__card--vertical .bloc-features-04__card-details .icon-text .icon.icon-text__icon {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* ==========================================================
   Scope LOCAL strict — Bloc comparaison row 8, instance 1
   Corrige l'icône réelle dans le subicon (span.icon--fallback)
   ========================================================== */
main#primary > .page-content-wrapper > .entry-content > section.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"][data-bloc-features-04-instance="1"] .icon.icon--wrapped.icon-text__icon.icon--fallback {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  --us-icon-size: 24px !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}

/* Webiteasy (colonne 1) : coche blanche dans rond rouge */
main#primary > .page-content-wrapper > .entry-content > section.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"][data-bloc-features-04-instance="1"] .bloc-features-04__grid > .bloc-features-04__card:first-child .icon.icon--wrapped.icon-text__icon.icon--fallback {
  background-image: url("../../assets/icons/check-white.png") !important;
}

/* Concurrents (colonnes suivantes) : croix grise dans rond gris clair */
main#primary > .page-content-wrapper > .entry-content > section.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"][data-bloc-features-04-instance="1"] .bloc-features-04__grid > .bloc-features-04__card:not(:first-child) .icon.icon--wrapped.icon-text__icon.icon--fallback {
  background-image: url("../../assets/icons/row8-x-dark.png") !important;
}

/* Si un SVG est injecté, on le masque pour éviter les collisions visuelles */
main#primary > .page-content-wrapper > .entry-content > section.bloc-features-04.bloc-features-04--icon-text-fill-layout[data-bloc-features-04-acf-row="8"][data-bloc-features-04-instance="1"] .icon.icon--wrapped.icon-text__icon.icon--fallback > svg {
  display: none !important;
}

/* Vertical card surface + icons + padding: see comp_features_card_vertical rules on .bloc-features-04__card--vertical (global within this block) */

/* Bloc ciblé (comment ça marche) :
   neutraliser l'arrondi parasite du parent et uniformiser les cartes à 8px */
#features-04-fc-bloc_features_04-2 {
  --card-border-radius: 0px;
}

/* #2 : neutraliser tout arrondi résiduel (sans !important) */
#features-04-fc-bloc_features_04-2 .bloc-features-04__card,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-content,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-image,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-img,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-image img {
  border-radius: 0 !important;
}

#features-04-fc-bloc_features_04-2 .bloc-features-04__container {
  border-radius: 0;
  overflow: visible !important;
}

#features-04-fc-bloc_features_04-2 .bloc-features-04__grid {
  align-items: stretch !important;
}

#features-04-fc-bloc_features_04-2 .bloc-features-04__grid > .bloc-features-04__card,
#features-04-fc-bloc_features_04-2 .bloc-features-04__grid > .bloc-features-04__card .bloc-features-04__card-content {
  border-radius: 0;
}

/* Bloc ciblé (comment ça marche) : texte des cards en #121F30 */
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-content,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-title,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-description,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-detail {
  color: #121F30 !important;
}

/* Bloc #2 : fond des div .card-content en #121F30 (pas les textes) */
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-content {
  background-color: #121F30 !important;
}

/* Bloc #2 : tout le texte en blanc */
#features-04-fc-bloc_features_04-2,
#features-04-fc-bloc_features_04-2 .bloc-features-04__header,
#features-04-fc-bloc_features_04-2 .bloc-features-04__headline,
#features-04-fc-bloc_features_04-2 .bloc-features-04__description,
#features-04-fc-bloc_features_04-2 .bloc-features-04__tagline,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-content,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-title,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-description,
#features-04-fc-bloc_features_04-2 .bloc-features-04__card-detail,
#features-04-fc-bloc_features_04-2 .bloc-features-04__detail-text,
#features-04-fc-bloc_features_04-2 .icon-text__text,
#features-04-fc-bloc_features_04-2 a {
  color: #FFFFFF !important;
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-2 (--no-intro, row 1)
   Tablette + mobile : cartes empilées ; padding section 8px ; cartes / card-content / image → 0 ;
   écart titre/description : gap 8px sur .card-content (surcharge usine-components qui cible __card-content).
   Desktop inchangé.
   ============================================================== */
@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2.bloc-features-04,
  section#features-04-fc-bloc_features_04-2.bloc-features-04 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-inline: 8px !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid > .bloc-features-04__card,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid > .bloc-features-04__card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 133px !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    border-radius: 0;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-content,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-content,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-content {
    padding: 0 !important;
    box-sizing: border-box !important;
    height: 100% !important;
    /* Surcharge usine-components : [class*="__card"] matche __card-content → gap 18/16px entre flex items */
    gap: 8px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-title {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-description,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-description,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__grid .bloc-features-04__card-description {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-2 .bloc-features-04__card--vertical .bloc-features-04__card-image,
  section#features-04-fc-bloc_features_04-2 .bloc-features-04__card--vertical .bloc-features-04__card-image {
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* #features-04-fc-bloc_features_04-4 : 1re carte — standalone fallback → picto joint (padding 8px : règle globale #4) */
#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:first-child
  .bloc-features-04__card-standalone-icon.icon--fallback
  svg {
  display: none !important;
}

#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:first-child
  .bloc-features-04__card-standalone-icon.icon--fallback {
  box-sizing: content-box !important;
  padding: 8px !important;
  background-image: url("assets/f04-grid4-card0-standalone.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* #features-04-fc-bloc_features_04-4 : 2e carte — standalone fallback → éclair (padding 8px : règle globale #4) */
#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:nth-child(2)
  .bloc-features-04__card-standalone-icon.icon--fallback
  svg {
  display: none !important;
}

#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:nth-child(2)
  .bloc-features-04__card-standalone-icon.icon--fallback {
  box-sizing: content-box !important;
  padding: 8px !important;
  background-image: url("assets/f04-standalone-lightning.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* #features-04-fc-bloc_features_04-4 : puces .card-details (icon-text) — fallback SVG → picto joint */
#features-04-fc-bloc_features_04-4
  .bloc-features-04__card-details
  .icon.icon--wrapped.icon-text__icon.icon--fallback
  svg {
  display: none !important;
}

#features-04-fc-bloc_features_04-4
  .bloc-features-04__card-details
  .icon.icon--wrapped.icon-text__icon.icon--fallback {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-image: url("assets/f04-grid4-details-check.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Même bloc, 1re carte : puces 4 & 5 (icon-text[3]/[4] dans l’inspecteur) → picto X */
#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:first-child
  .bloc-features-04__card-details
  > .icon-text:nth-child(4)
  .icon.icon--wrapped.icon-text__icon.icon--fallback,
#features-04-fc-bloc_features_04-4
  .bloc-features-04__grid
  > .bloc-features-04__card--vertical:first-child
  .bloc-features-04__card-details
  > .icon-text:nth-child(5)
  .icon.icon--wrapped.icon-text__icon.icon--fallback {
  background-image: url("assets/f04-grid4-details-x.png") !important;
}

/* FIX STABLE — bloc #4 "Pack Webistart / Pack Webiteasy" */
#features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

#features-04-fc-bloc_features_04-4 .bloc-features-04__card,
#features-04-fc-bloc_features_04-4 .bloc-features-04__card--vertical {
  height: 100% !important;
  border-radius: 0 !important;
}

#features-04-fc-bloc_features_04-4 .bloc-features-04__card-content {
  padding: 24px !important;
  gap: 12px !important;
}

#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title {
  display: inline-block;
  width: fit-content;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
}

#features-04-fc-bloc_features_04-4 .bloc-features-04__card-description {
  margin: 0 0 8px 0 !important;
}

#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details {
  gap: 10px !important;
}

@media (max-width: 900px) {
  #features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
  }
}

/*
 * #features-04-fc-bloc_features_04-3 — header → grille 16px (tablette + mobile)
 * En fin de fichier : après la règle globale .bloc-features-04__header { margin-bottom: 48px } (≤768px).
 * Principe : mb header = 0 + mt grille = 16px.
 * section#… : fonctionne même si .page-content-wrapper est absent du DOM.
 */
@media (max-width: 1024px) {
  section#features-04-fc-bloc_features_04-3 .bloc-features-04__header {
    margin-bottom: 0 !important;
  }

  section#features-04-fc-bloc_features_04-3 .bloc-features-04__header + .bloc-features-04__grid {
    margin-top: 16px !important;
  }

  /* #3 tablette/mobile : plus d'espace entre headline et description du header */
  section#features-04-fc-bloc_features_04-3 .bloc-features-04__header .bloc-features-04__headline {
    margin-bottom: 12px !important;
  }

  /* #5 tablette/mobile : plus d'espace entre headline et description du header */
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__header .bloc-features-04__headline {
    margin-bottom: 12px !important;
  }

  /* #5 tablette/mobile : plus d'espace entre tagline et headline */
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__header .bloc-features-04__tagline {
    margin-bottom: 12px !important;
  }

  /* #3 tablette/mobile : un peu plus d'espace entre card-title et card-description */
  section#features-04-fc-bloc_features_04-3 .bloc-features-04__card-title {
    margin-bottom: 12px !important;
  }

  section#features-04-fc-bloc_features_04-3 .bloc-features-04__grid {
    margin-top: 16px !important;
  }

  section#features-04-fc-bloc_features_04-3 .bloc-features-04__container {
    gap: 0 !important;
    row-gap: 0 !important;
  }
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-6
   Correctif conflit CSS : neutralise le mode "bandeau row=5" sur cette instance.
   ============================================================== */
section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__container {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__grid {
  gap: 24px !important;
  justify-items: stretch !important;
  text-align: left !important;
}

section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__card,
section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__card--vertical {
  align-items: stretch !important;
  text-align: left !important;
  border-radius: 12px !important;
}

section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__card-content {
  padding: 24px !important;
  gap: 16px !important;
  text-align: left !important;
}

@media (max-width: 1024px) {
  section#features-04-fc-bloc_features_04-6.bloc-features-04 {
    background-color: #ffffff !important;
  }

  section#features-04-fc-bloc_features_04-6.bloc-features-04 .bloc-features-04__grid .bloc-features-04__card-content {
    padding: 20px !important;
    gap: 14px !important;
  }
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-5 (grid-6)
   Tablette + mobile : padding section 32px / 16px, pleine largeur (intro, en-tête, grille),
   1 colonne, cartes empilées ; subcomp_content_features_card → .card-content padding 12px ;
   titre / description sans padding supplémentaire ; carte externe padding 0.
   Média vertical : ne pas surcharger .card-image (hauteur / padding inchangés vs design global).
   Uniquement img / .card-img : max utilisation de la zone interne, contain, pas de déformation.
   Espace en-tête → grille : 16px (desktop reste margin-bottom 40px du composant).
   Desktop inchangé.
   ============================================================== */
@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5.bloc-features-04.bloc-features-04--grid-6,
  section#features-04-fc-bloc_features_04-5.bloc-features-04.bloc-features-04--grid-6 {
    padding: 32px 16px !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-inline: 16px !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__container,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__container {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-blog-page-01__intro,
  section#features-04-fc-bloc_features_04-5 .bloc-blog-page-01__intro {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__header,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__header,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__header {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 16px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__tagline,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__headline,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__description,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__tagline,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__headline,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__description {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid > .bloc-features-04__card,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid > .bloc-features-04__card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    padding: 0 !important;
  }

  /* #5 tablette/mobile : wrapper image 50% moins haut (base 16/9 -> 32/9) */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image {
    aspect-ratio: 32 / 9 !important;
  }

  /* #5 : fond du wrapper image (toutes les cartes) */
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image {
    background-color: #0D2843 !important;
  }

  /* Uniquement le média : container .card-image inchangé ; visuels un peu plus petits (max 88 %), centrés. */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img {
    width: auto !important;
    max-width: 88% !important;
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    flex: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: static !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-content,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-content,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-title {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-description,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-description,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__grid .bloc-features-04__card-description {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-7 (grille 6 / row 6)
   Tablette + mobile uniquement : padding section 32px / 16px, pleine largeur,
   grille 1 colonne, .card-content / .card-title / .card-description → padding 0 (contre-pass usine-components).
   Intro : .bloc-blog-page-01__headline 28px ; titres carte : .card-title 22px.
   Desktop inchangé.
   ============================================================== */

@media (min-width: 1025px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid > .bloc-features-04__card {
    background-color: #ffffff !important;
  }

  /* #7 desktop : plus d'espace entre titre de carte et première ligne icon-text */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title {
    margin-bottom: 24px !important;
  }

  /* #7 desktop : icon-text detail font-size -15% (20px -> 17px) */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-detail .icon-text .icon-text__text,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-detail .icon-text .icon-text__text,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-details .icon-text .icon-text__text,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-details .icon-text .icon-text__text {
    font-size: 17px !important;
  }
}

/* #7 : aligner le titre de carte sur l'axe des icônes (tous devices). */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title,
section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title {
  margin-left: 0 !important;
  font-weight: 500 !important; /* neutralise les styles inline (600) issus d'ACF */
}

@media (max-width: 768px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    width: 100%;
  }
}

/* Icônes standalone (fallback) : padding 8px fixe partout ; zone picto 32×32 inchangée */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-standalone-icon.icon--fallback,
section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-standalone-icon.icon--fallback {
  padding: 8px !important;
  box-sizing: content-box !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  --us-icon-size: 32px !important;
}

@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7.bloc-features-04.bloc-features-04--grid-6,
  section#features-04-fc-bloc_features_04-7.bloc-features-04.bloc-features-04--grid-6 {
    padding: 32px 16px !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-inline: 16px !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__container,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__container {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__intro,
  section#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__intro {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__headline,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__headline,
  section#features-04-fc-bloc_features_04-7 .bloc-blog-page-01__headline {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__header,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__header {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Surcharge grid-template-columns inline repeat(3,1fr) + règle tablette 2 col */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid > .bloc-features-04__card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  /* [class*="__card"] (usine-components) + .card--vertical 24px : padding 0 */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-content,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-content,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
    margin-top: 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-description,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-description,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid .bloc-features-04__card-description {
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

/* #7 tablette : 2 cartes par ligne */
@media (min-width: 769px) and (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-9 (icon-text-fill / row 8)
   Tablette + mobile : grille 1 colonne ; header → grille 24px ; .card / .card-content /
   .card-title-highlight → padding 0 ; h3 .card-title → padding-top / padding-bottom 0.
   Desktop inchangé.
   ============================================================== */
@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__header,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__header {
    margin-bottom: 0 !important;
  }

  #features-04-fc-bloc_features_04-9 .bloc-features-04__container {
    gap: 0 !important;
    row-gap: 0 !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 24px !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid > .bloc-features-04__card,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid > .bloc-features-04__card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-content,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-content,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-content {
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* span : classe contient __card → ciblage usine-components */
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title-highlight,
  body.home main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title-highlight,
  section#features-04-fc-bloc_features_04-9 .bloc-features-04__grid .bloc-features-04__card-title-highlight {
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

/* #features-04-fc-bloc_features_04-4 uniquement :
   icones des lignes icon-text (card-details) a la meme taille que pricing (16x16). */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon.icon--wrapped.icon-text__icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-details .icon.icon--wrapped.icon-text__icon.icon--fallback {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  --us-icon-size: 16px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-size: 16px 16px !important;
}

/* #features-04-fc-bloc_features_04-4 uniquement :
   standalone icon alignee sur bloc-features-02__card-icon (boite 48x48). */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-standalone-icon.icon--fallback {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  --us-icon-size: 32px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Conflit specifique #4 (regles nth-child plus fortes): forcer exactement la meme boite partout */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid > .bloc-features-04__card--vertical:first-child .bloc-features-04__card-standalone-icon.icon--fallback,
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid > .bloc-features-04__card--vertical:nth-child(2) .bloc-features-04__card-standalone-icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid > .bloc-features-04__card--vertical:first-child .bloc-features-04__card-standalone-icon.icon--fallback,
section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid > .bloc-features-04__card--vertical:nth-child(2) .bloc-features-04__card-standalone-icon.icon--fallback {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  --us-icon-size: 32px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-size: 32px 32px !important;
}

/* FINAL OVERRIDE — bloc #4 packs (priorite maximale, apres tous les conflits) */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__container {
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
}

main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid > .bloc-features-04__card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
}

main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid .bloc-features-04__card-content {
  padding: 24px !important;
  gap: 10px !important;
}

main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid .bloc-features-04__card-title {
  display: inline-block !important;
  width: fit-content !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
}

main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid .bloc-features-04__card-description {
  margin: 0 0 8px 0 !important;
}

@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==============================================================
   FEATURES-04 — INSTANCE #features-04-fc-bloc_features_04-8 (row 7)
   Tablette + mobile : cartes pleine largeur, en colonne, les unes sous les autres.
   ============================================================== */
section#features-04-fc-bloc_features_04-8 {
  --card-border-radius: 0px;
}

@media (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-8 .bloc-features-04__container,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 16px !important;
    box-sizing: border-box !important;
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid > .bloc-features-04__card,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid > .bloc-features-04__card--vertical,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid > .bloc-features-04__card,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__grid > .bloc-features-04__card--vertical {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
}

/* Mobile : enlever le padding latéral "desktop" (64px) pour que les cartes prennent toute la largeur */
@media (max-width: 768px) {
  section#features-04-fc-bloc_features_04-8 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-detail,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-details {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-detail .icon-text,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-details .icon-text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
    flex: 1 1 auto;
  }

  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-detail .icon-text .icon-text__text,
  section#features-04-fc-bloc_features_04-8 .bloc-features-04__card-details .icon-text .icon-text__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/* #7 tablette : centrer le contenu des cartes au milieu */
@media (min-width: 769px) and (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-content,
  section#features-04-fc-bloc_features_04-7 .bloc-features-04__card-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}


/* Typo demandee — bloc #4 */
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__headline,
main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-4 .bloc-features-04__card-title {
  font-family: "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

/* #5 tablette : images 50% moins hautes */
@media (min-width: 769px) and (max-width: 1024px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image {
    aspect-ratio: 32 / 9 !important; /* 16/9 -> 32/9 = hauteur divisée par 2 */
  }

  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img {
    transform: scale(0.5) !important;
    transform-origin: center center !important;
  }
}

@media (max-width: 768px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image img,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image .bloc-features-04__card-img {
    transform: scale(0.5) !important;
    transform-origin: center center !important;
  }
}

/* #5 desktop + tablette : conserver 24px de padding vertical sur la zone image */
@media (min-width: 769px) {
  main#primary > .page-content-wrapper > .entry-content > section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image,
  section#features-04-fc-bloc_features_04-5 .bloc-features-04__card--vertical .bloc-features-04__card-image {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
}

