/* =========================================================
   Infosec Sodium — styles
   Charte du thème « infosec » (preprod.ifsups.fr), appliquée aux modules Divi 5
   par leurs classes CSS (Divi › Avancé › Classe CSS) : sodium-*, comme sur ifsups.
========================================================= */

:root {
  --ifs-orange: #f28c00;
  --ifs-orange-dark: #d97c00;
  --ifs-blue: #002b45;
  --ifs-blue-2: #0a3d5c;
  --ifs-text: #263238;
  --ifs-text-soft: #344054;
  --ifs-muted: #667085;
  --ifs-border: #edf1f5;
  --ifs-border-2: #e5e7eb;
  --ifs-bg-soft: #f3f6f7;
  --ifs-radius-sm: 4px;
  --ifs-radius-md: 8px;
  --ifs-radius-lg: 10px;
  --ifs-radius-xl: 12px;
  --ifs-shadow-card: 0 12px 24px rgba(0, 0, 0, .08);
  --sodium-ok: #12805c;
  --sodium-max: 1180px;
}

/* ---------- Base (sections Divi portant la classe « sodium ») ---------- */

.sodium { color: var(--ifs-text); font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 1.6; }
.sodium *, .sodium *::before, .sodium *::after { box-sizing: border-box; }
.et_pb_section.sodium { padding: clamp(48px, 7vw, 88px) 0; }
.sodium .et_pb_row { width: 90%; max-width: var(--sodium-max); padding: 0; }
.sodium .et_pb_row + .et_pb_row { margin-top: 28px; }
.sodium h1, .sodium h2, .sodium h3, .sodium h4 { color: var(--ifs-blue); font-weight: 800; line-height: 1.2; padding: 0; margin: 0 0 .5em; text-wrap: balance; }
.sodium h1 { font-size: clamp(30px, 4.2vw, 46px); }
.sodium h2 { font-size: clamp(24px, 3vw, 34px); }
.sodium h3 { font-size: 19px; }
.sodium p { margin: 0 0 1em; padding: 0; }
.sodium p:last-child { margin-bottom: 0; padding-bottom: 0; }
.sodium img { max-width: 100%; height: auto; }
.sodium a { color: var(--ifs-orange); }
.sodium .et_pb_module { margin-bottom: 0; }
/* Un contenu large (tableau, sommaire défilant) ne doit pas élargir sa colonne flex. */
.sodium .et_pb_column, .sodium .et_pb_module, .sodium .et_pb_code_inner, .sodium .et_pb_text_inner { min-width: 0; max-width: 100%; }
.sodium .et_pb_column > .et_pb_module + .et_pb_module { margin-top: 18px; }

.sodium-section--soft { background: var(--ifs-bg-soft) !important; }
.sodium-narrow.et_pb_row { max-width: 820px; }

/* Sur-titre, titre, chapeau */
.sodium-kicker, .sodium-kicker p { color: var(--ifs-orange) !important; font-size: 13px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sodium .et_pb_column > .sodium-kicker + .sodium-title { margin-top: 6px !important; }
.sodium-title .et_pb_heading_container > * { margin: 0; }
.sodium-intro, .sodium-intro p { color: var(--ifs-muted); max-width: 720px; }
.sodium-lead, .sodium-lead p { font-size: 18px; color: var(--ifs-text-soft); }
.sodium-accent { color: var(--ifs-orange); }
.sodium-rounded img { border-radius: var(--ifs-radius-xl); box-shadow: var(--ifs-shadow-card); }
.sodium .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Boutons (module Bouton Divi + classe) ---------- */

.sodium .et_pb_button_module_wrapper, .sodium .et_pb_button_wrapper { display: inline-block; margin: 8px 12px 0 0 !important; }
.sodium .et_pb_column > .et_pb_button + .et_pb_button,
.sodium .et_pb_column > .et_pb_button_module_wrapper + .et_pb_button_module_wrapper { margin-left: 12px; }
a.et_pb_button.sodium-btn-primary, a.et_pb_button.sodium-btn-ghost, a.et_pb_button.sodium-btn-link, .sodium-phone-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 12px 22px !important;
  border: 1px solid transparent !important; border-radius: var(--ifs-radius-sm) !important;
  font: 700 15px/1.1 "Open Sans", Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
  text-decoration: none !important; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
a.et_pb_button.sodium-btn-primary::after, a.et_pb_button.sodium-btn-ghost::after, a.et_pb_button.sodium-btn-link::after { display: none !important; }
a.et_pb_button.sodium-btn-primary { background: var(--ifs-orange) !important; color: #fff !important; }
a.et_pb_button.sodium-btn-primary:hover { background: var(--ifs-orange-dark) !important; transform: translateY(-1px); }
a.et_pb_button.sodium-btn-ghost { background: #fff !important; border-color: #d8dde3 !important; color: var(--ifs-text-soft) !important; }
a.et_pb_button.sodium-btn-ghost:hover { border-color: var(--ifs-blue) !important; color: var(--ifs-blue) !important; }
a.et_pb_button.sodium-btn-link { background: none !important; padding: 0 !important; min-height: 0; color: var(--ifs-orange) !important; }
a.et_pb_button.sodium-btn-link:hover { text-decoration: underline !important; }
a.et_pb_button.sodium-btn-link::before { content: none !important; }
.sodium-link { color: var(--ifs-orange) !important; font-weight: 700; text-decoration: none !important; }
.sodium-link:hover { text-decoration: underline !important; }
.sodium a:focus-visible { outline: 3px solid rgba(242,140,0,.45); outline-offset: 2px; }

/* ---------- En-tête (Theme Builder) ---------- */

.et_pb_section.sodium-header { padding: 14px 0 !important; background: #fff; border-bottom: 1px solid var(--ifs-border); position: relative; z-index: 50; }
.sodium-header .et_pb_row { display: flex; align-items: center; column-gap: 16px !important; --horizontal-gap-parent: 16px; }
@media (max-width: 980px) {
  .sodium-header .et_pb_row { flex-wrap: wrap !important; }
  .sodium-header .et_flex_column_8_24_tablet { width: calc(33.333% - 16px * 2 / 3) !important; }
  .sodium-header__nav { text-align: right; }
}
@media (max-width: 767px) {
  .sodium-header .et_flex_column_16_24_phone { width: calc(66.666% - 8px) !important; }
  .sodium-header .et_flex_column_8_24_phone { width: calc(33.333% - 8px) !important; }
}
.sodium-header .et_pb_column { margin-bottom: 0 !important; }
.sodium-header__logo img { max-height: 58px; width: auto; }
.sodium-header__cta { text-align: right; }
.sodium-header .et_pb_column > .et_pb_module + .et_pb_module { margin-top: 0; }
.sodium-menu .et-menu > li > a, .sodium-menu .et-menu-nav li a { color: var(--ifs-blue) !important; font-weight: 600; font-size: 15px; }
.sodium-menu .et-menu > li > a:hover, .sodium-menu .current-menu-item > a, .sodium-menu .current-menu-ancestor > a { color: var(--ifs-orange) !important; }
.sodium-menu .et-menu li.sodium-menu-cta { display: none; } /* le bouton « Demander un devis » est dans l'en-tête */
.sodium-menu .sub-menu { border-top: 3px solid var(--ifs-orange) !important; border-radius: 0 0 var(--ifs-radius-md) var(--ifs-radius-md); box-shadow: var(--ifs-shadow-card); }

/* ---------- Pied de page (Theme Builder) ---------- */

.et_pb_section.sodium-footer { background: var(--ifs-blue) !important; color: rgba(255,255,255,.82); padding: 56px 0 28px !important; }
.sodium-footer h2, .sodium-footer h3, .sodium-footer .sodium-card__title { color: #fff !important; font-size: 16px !important; text-transform: uppercase; letter-spacing: .06em; }
.sodium-footer a { color: #fff; }
.sodium-footer a:hover { color: var(--ifs-orange); }
.sodium-footer__logo img { max-height: 54px; width: auto; background: #fff; padding: 6px 10px; border-radius: var(--ifs-radius-md); }
.sodium-footer__links { list-style: none; padding: 0 !important; margin: 0; }
.sodium-footer__links li { padding: 4px 0 !important; }
.sodium-footer__legal { border-top: 1px solid rgba(255,255,255,.14); padding-top: 18px; font-size: 13px; color: rgba(255,255,255,.6); }

/* ---------- Hero ---------- */

.et_pb_section.sodium-hero {
  padding: clamp(40px, 6vw, 80px) 0 !important;
  background: radial-gradient(1200px 500px at 85% 10%, rgba(242,140,0,.12), transparent 60%), linear-gradient(180deg, #fff 0%, var(--ifs-bg-soft) 100%) !important;
  border-bottom: 1px solid var(--ifs-border);
}
.sodium-hero .et_pb_row { align-items: center; }
.sodium-hero__media { text-align: center; }
.sodium-hero__media img { max-height: 380px; width: auto; filter: drop-shadow(0 24px 32px rgba(0,43,69,.18)); }
.sodium-hero .sodium-lead { max-width: 620px; }

/* ---------- Chiffres clés ---------- */

.et_pb_section.sodium-figures { background: var(--ifs-blue) !important; color: #fff; padding: 0 !important; }
.sodium-figures__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.sodium-figure { padding: 28px 20px; text-align: center; border-left: 1px solid rgba(255,255,255,.12); }
.sodium-figure:first-child { border-left: 0; }
.sodium-figure strong { display: block; font-size: clamp(26px, 3vw, 36px); font-weight: 800; color: var(--ifs-orange); line-height: 1.1; font-variant-numeric: tabular-nums; }
.sodium-figure span { display: block; margin-top: 6px; font-size: 14px; color: rgba(255,255,255,.85); }

/* ---------- Cartes (module Blurb + classe sodium-card) ---------- */

.sodium-cards.et_pb_row { align-items: stretch; }
.sodium-cards .et_pb_column { display: flex; flex-direction: column; }
.et_pb_blurb.sodium-card, .et_pb_module.sodium-card {
  flex: 1; background: #fff; border: 1px solid var(--ifs-border); border-radius: var(--ifs-radius-xl);
  padding: 28px; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.sodium-card .et_pb_module_header, .sodium-card .et_pb_module_header a, .sodium-card__title { color: var(--ifs-blue) !important; font-size: 20px !important; font-weight: 800; padding: 0 0 8px !important; margin: 0 !important; display: block; text-decoration: none !important; }
.sodium-card .et_pb_blurb_description { color: var(--ifs-text-soft); }
.sodium-card .et_pb_blurb_content { max-width: none; text-align: left; }
.sodium-card .et_pb_main_blurb_image { margin-bottom: 16px !important; text-align: left; }
.sodium-card--icon .et_pb_main_blurb_image { display: inline-grid !important; place-items: center; width: 52px !important; max-width: 52px !important; height: 52px; border-radius: var(--ifs-radius-lg); background: rgba(242,140,0,.12); }
.sodium-card--icon .et_pb_main_blurb_image img, .sodium-card--resource .et_pb_main_blurb_image img { width: 26px !important; height: 26px; }
.sodium-card--icon .et_pb_main_blurb_image .et_pb_image_wrap { display: grid; place-items: center; }
.sodium-card--resource .et_pb_main_blurb_image { display: inline-grid !important; place-items: center; width: 48px !important; max-width: 48px !important; height: 48px; border-radius: var(--ifs-radius-lg); background: rgba(0,43,69,.07); }
.sodium-card--resource .et_pb_module_header { font-size: 17px !important; }
.sodium-card--resource .sodium-kicker { margin-bottom: 4px !important; }

.et_pb_blurb.sodium-card--product { padding: 0; overflow: hidden; }
.sodium-card--product .et_pb_main_blurb_image { display: grid !important; place-items: center; aspect-ratio: 4 / 3; width: 100%; padding: 20px; margin: 0 !important; background: linear-gradient(180deg, #fff, var(--ifs-bg-soft)); }
.sodium-card--product .et_pb_main_blurb_image img { max-height: 100%; width: auto; object-fit: contain; }
.sodium-card--product .et_pb_blurb_container { padding: 20px 24px 24px; }
.sodium-card--product .et_pb_blurb_description { order: -1; }
.et_pb_blurb.sodium-card--product:hover { box-shadow: var(--ifs-shadow-card); transform: translateY(-3px); border-color: #d9e2ec; }

.et_pb_blurb.sodium-card--app { padding: 0; overflow: hidden; }
.sodium-card--app .et_pb_main_blurb_image { margin: 0 !important; width: 100%; }
.sodium-card--app .et_pb_main_blurb_image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.sodium-card--app .et_pb_blurb_container { padding: 22px 24px 26px; }

.sodium-card--figure { text-align: center; }
.sodium-card--figure .et_pb_main_blurb_image { text-align: center; }
.sodium-card--figure .et_pb_main_blurb_image img { max-height: 220px; width: auto; }
.sodium-card--figure .et_pb_blurb_content { text-align: center; }

/* ---------- Listes, pastilles ---------- */

.sodium-checklist { list-style: none; padding: 0 !important; margin: 0 0 8px; }
.sodium-checklist li { position: relative; padding: 6px 0 6px 30px !important; }
.sodium-checklist li::before { content: ""; position: absolute; left: 0; top: 10px; width: 18px; height: 18px; background: no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312805c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

.sodium-pills { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 28px; }
.sodium-pills span { padding: 8px 14px; border-radius: 999px; background: rgba(242,140,0,.1); color: #9a5800; font-weight: 700; font-size: 14px; }

/* ---------- Tableaux ---------- */

.sodium-table-wrap { position: relative; overflow-x: auto; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-xl); background: #fff; }
.sodium-table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 !important; border: 0 !important; }
.sodium-table caption { caption-side: top; text-align: left; padding: 14px 16px 0; font-weight: 700; color: var(--ifs-blue); }
.sodium-table th, .sodium-table td { padding: 12px 16px !important; text-align: left; border: 0 !important; border-bottom: 1px solid var(--ifs-border) !important; vertical-align: top; }
.sodium-table thead th { background: var(--ifs-blue); color: #fff; font-weight: 700; font-size: 14px; }
.sodium-table tbody th { color: var(--ifs-blue); font-weight: 700; }
.sodium-table tbody tr:last-child > * { border-bottom: 0 !important; }
.sodium-table td { font-variant-numeric: tabular-nums; }
.sodium-table .is-highlight, .sodium-table tr.is-highlight > * { background: rgba(242,140,0,.08); color: var(--ifs-blue); font-weight: 700; }
.sodium-table thead th.is-highlight { background: var(--ifs-orange); color: #fff; }
.sodium-table--compact th, .sodium-table--compact td { padding: 9px 12px !important; font-size: 14px; white-space: nowrap; }

/* ---------- Avantages ---------- */

.et_pb_section.sodium-anchors-bar { padding: 0 !important; position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid var(--ifs-border); }
.admin-bar .sodium-anchors-bar { top: 32px; }
.sodium-anchors { display: flex; gap: 6px; overflow-x: auto; padding: 10px 0; scrollbar-width: thin; }
.sodium-anchors a { white-space: nowrap; padding: 8px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ifs-text-soft); text-decoration: none; }
.sodium-anchors a:hover, .sodium-anchors a.is-active { background: rgba(242,140,0,.12); color: var(--ifs-orange); }
.sodium-adv { scroll-margin-top: 80px; }
.sodium-adv .et_pb_row { align-items: center; }
@media (min-width: 981px) { .sodium .et_pb_row.sodium-reverse { flex-direction: row-reverse; } }
.sodium-adv__num p { font-size: 15px; font-weight: 800; color: var(--ifs-orange); letter-spacing: .1em; }

.sodium-temp { display: grid; gap: 12px; }
.sodium-temp__item { display: flex; justify-content: space-between; gap: 16px; padding: 16px 20px; background: #fff; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-lg); }
.sodium-temp__item strong { color: var(--ifs-blue); }
.sodium-temp__item span { color: var(--ifs-muted); text-align: right; }
.sodium-temp__item.is-highlight { border-color: var(--ifs-orange); background: rgba(242,140,0,.06); }
.sodium-temp__item.is-highlight span { color: var(--ifs-blue); font-weight: 700; }
.sodium-temp__label { margin: 4px 0 0 !important; font-size: 13px; color: var(--ifs-muted); text-align: center; }

.sodium-bars { display: grid; gap: 16px; padding: 24px; background: #fff; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-xl); }
.sodium-bar { display: grid; grid-template-columns: 80px 1fr 110px; align-items: center; gap: 12px; }
.sodium-bar span { font-weight: 700; color: var(--ifs-blue); }
.sodium-bar i { display: block; height: 14px; border-radius: 999px; background: linear-gradient(90deg, #c9d2db var(--w), var(--ifs-bg-soft) var(--w)); }
.sodium-bar.is-highlight i { background: linear-gradient(90deg, var(--ifs-orange) var(--w), var(--ifs-bg-soft) var(--w)); }
.sodium-bar b { font-variant-numeric: tabular-nums; color: var(--ifs-text-soft); }

.sodium-abundance { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sodium-abundance div { padding: 28px 20px; text-align: center; background: #fff; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-xl); }
.sodium-abundance strong { display: block; font-size: 34px; font-weight: 800; color: var(--ifs-muted); font-variant-numeric: tabular-nums; }
.sodium-abundance .is-highlight { border-color: var(--ifs-orange); }
.sodium-abundance .is-highlight strong { color: var(--ifs-orange); }
.sodium-abundance span { font-size: 14px; color: var(--ifs-muted); }

/* ---------- Problème / solution ---------- */

.sodium-pains { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.sodium-pain { background: #fff; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-xl); padding: 28px; }
.sodium-pain__before, .sodium-pain__after { padding: 14px 16px; border-radius: var(--ifs-radius-md); }
.sodium-pain__before { background: var(--ifs-bg-soft); margin-bottom: 10px; }
.sodium-pain__after { background: rgba(242,140,0,.08); border-left: 3px solid var(--ifs-orange); }
.sodium-pain span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ifs-muted); margin-bottom: 4px; }
.sodium-pain__after span { color: var(--ifs-orange); }
.sodium-pain p { margin: 0 !important; }

/* ---------- Gamme ---------- */

.sodium-family.et_pb_row { align-items: center; padding: 32px !important; background: #fff; border: 1px solid var(--ifs-border); border-radius: var(--ifs-radius-xl); }
.sodium-family__media { text-align: center; }
.sodium-family__media img { max-height: 240px; width: auto; }
.sodium-family__models { font-size: 14px; color: var(--ifs-muted); font-weight: 600; }

/* ---------- FAQ (module Accordéon) ---------- */

.sodium-faq .et_pb_toggle { border: 1px solid var(--ifs-border-2) !important; border-radius: var(--ifs-radius-lg); background: #fff !important; margin-bottom: 12px !important; padding: 0 !important; }
.sodium-faq .et_pb_toggle_title { padding: 18px 52px 18px 22px !important; font-weight: 700; color: var(--ifs-blue) !important; font-size: 16px !important; }
.sodium-faq .et_pb_toggle_title::before { color: var(--ifs-orange) !important; right: 22px !important; }
.sodium-faq .et_pb_toggle_content { padding: 0 22px 20px !important; color: var(--ifs-text-soft); }

/* ---------- Frise ---------- */

.sodium-timeline { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 14px 0 0 !important; margin: 0; }
.sodium-timeline li { position: relative; padding: 24px 0 0 !important; border-top: 3px solid var(--ifs-border-2); }
.sodium-timeline li::before { content: ""; position: absolute; top: -9px; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--ifs-orange); }
.sodium-timeline strong { display: block; font-size: 26px; color: var(--ifs-blue); font-weight: 800; }
.sodium-timeline span { color: var(--ifs-text-soft); }

/* ---------- Bandeau d'appel à l'action ---------- */

.et_pb_section.sodium-cta { background: linear-gradient(120deg, var(--ifs-blue) 0%, var(--ifs-blue-2) 100%) !important; color: #fff; padding: clamp(40px, 6vw, 64px) 0 !important; }
.sodium-cta .et_pb_row { align-items: center; }
.sodium-cta h2 { color: #fff !important; margin-bottom: 8px; }
.sodium-cta p { color: rgba(255,255,255,.85); max-width: 620px; }
.sodium-cta__actions { text-align: right; }
.sodium-phone-btn { background: transparent; border-color: rgba(255,255,255,.5) !important; color: #fff !important; margin-top: 8px; }
.sodium-phone-btn::before { content: "☎"; }
.sodium-phone-btn:hover { background: rgba(255,255,255,.1); border-color: #fff !important; }

/* ---------- Formulaire (Forminator) ---------- */

.sodium-panel { background: #fff; border: 1px solid var(--ifs-border-2); border-radius: var(--ifs-radius-xl); padding: clamp(22px, 3vw, 36px) !important; box-shadow: var(--ifs-shadow-card); }
#formulaire { scroll-margin-top: 30px; }
.sodium-panel > .et_pb_module, .sodium .et_pb_code, .sodium .et_pb_text { width: 100%; max-width: none; }
.sodium .forminator-ui.forminator-custom-form { margin: 0 !important; font-family: "Open Sans", Arial, sans-serif !important; }
.sodium .forminator-ui .forminator-row { display: flex; flex-wrap: wrap; gap: 16px 20px; margin-bottom: 16px; }
.sodium .forminator-ui .forminator-row:last-child { margin-bottom: 0; }
.sodium .forminator-ui .forminator-col { flex: 1 1 220px; min-width: 0; }
.sodium .forminator-ui .forminator-field { display: flex; flex-direction: column; }
.sodium .forminator-ui .forminator-input, .sodium .forminator-ui .forminator-textarea, .sodium .forminator-ui select { width: 100% !important; padding: 11px 14px !important; }
.sodium .forminator-ui .forminator-textarea { min-height: 120px; resize: vertical; }
.sodium .forminator-ui .forminator-description { font-size: 13px; color: var(--ifs-muted); }
.sodium .forminator-ui .forminator-edit-module { font-size: 13px; }
.sodium .forminator-ui .forminator-label { font-size: 14px !important; font-weight: 600 !important; color: var(--ifs-text-soft) !important; margin-bottom: 6px !important; }
.sodium .forminator-ui .forminator-input, .sodium .forminator-ui .forminator-textarea, .sodium .forminator-ui select.forminator-select2, .sodium .forminator-ui .forminator-select-container {
  min-height: 46px; border: 1px solid #d0d5dd !important; border-radius: var(--ifs-radius-md) !important; background: #fff !important; font-size: 15px !important; color: var(--ifs-text) !important;
}
.sodium .forminator-ui .forminator-input:focus, .sodium .forminator-ui .forminator-textarea:focus { border-color: var(--ifs-orange) !important; box-shadow: 0 0 0 3px rgba(242,140,0,.2) !important; }
.sodium .forminator-ui .forminator-button-submit { background: var(--ifs-orange) !important; color: #fff !important; border: 0 !important; border-radius: var(--ifs-radius-sm) !important; min-height: 50px; padding: 14px 26px !important; font: 700 15px/1.1 "Open Sans", Arial, sans-serif !important; }
.sodium .forminator-ui .forminator-button-submit:hover { background: var(--ifs-orange-dark) !important; }
.sodium .forminator-ui .forminator-checkbox input + .forminator-checkbox-box { border-color: #d0d5dd !important; }
.sodium .forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box { background: var(--ifs-orange) !important; border-color: var(--ifs-orange) !important; }
.sodium .forminator-ui .forminator-error-message { color: #c0392b !important; }

/* Coordonnées */
.sodium-contact__list { list-style: none; padding: 0 !important; margin: 0; }
.sodium-contact__list li { padding: 6px 0 6px 28px !important; position: relative; }
.sodium-contact__list li::before { position: absolute; left: 0; color: var(--ifs-orange); font-weight: 700; }
.sodium-contact--phone::before { content: "☎"; }
.sodium-contact--mail::before { content: "@"; }
.sodium-contact--address::before { content: "⌂"; }

/* Remerciement */
.sodium-thanks { text-align: center; min-height: 50vh; }
.sodium-thanks__icon img { width: 72px; padding: 18px; border-radius: 50%; background: rgba(18,128,92,.12); }

/* ---------- Responsive (Divi empile les colonnes sous 981 px) ---------- */

/* Largeurs tablette / mobile des colonnes flex (classes posées par Divi d'après module.decoration.sizing,
   dont Divi ne génère pas toujours le CSS) — points de rupture Divi : 980 px et 767 px. */
@media (max-width: 980px) {
  .sodium .et_pb_row { flex-wrap: wrap !important; }
  .sodium .et_flex_column_24_24_tablet { width: 100% !important; }
  .sodium .et_flex_column_12_24_tablet { width: calc(50% - var(--horizontal-gap-parent, 5.5%) * 1 / 2) !important; }
  .sodium-hero__media img { max-height: 260px; }
  .sodium-figures__grid { grid-template-columns: repeat(2, 1fr); }
  .sodium-figure:nth-child(3) { border-left: 0; }
  .sodium-figure:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
  .sodium-timeline { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
  .sodium-cta__actions, .sodium-header__cta { text-align: left; }
  .sodium-family__media img { max-height: 200px; }
  .sodium-cards .et_pb_column { margin-bottom: 20px !important; }
}

@media (max-width: 767px) {
  .sodium .et_flex_column_24_24_phone { width: 100% !important; }
  /* La section Divi est un flex centré : sans largeur explicite, une rangée prendrait la largeur de son plus large contenu. */
  .sodium .et_pb_row { width: calc(100% - 32px) !important; margin-left: auto; margin-right: auto; }
  .sodium-pains, .sodium-timeline { grid-template-columns: 1fr; }
  .sodium-family.et_pb_row { padding: 22px !important; }
  .sodium-bar { grid-template-columns: 64px 1fr 92px; }
  .sodium-temp__item { flex-direction: column; gap: 2px; }
  .sodium-temp__item span { text-align: left; }
  .sodium-lead, .sodium-lead p { font-size: 16px; }
  .sodium-header__cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sodium *, .sodium *::before, .sodium *::after { transition: none !important; scroll-behavior: auto !important; }
}
