/*
Theme Name: Fontaine de la Reine V16
Theme URI: https://fontainedelareine.fr
Author: HG / ChatGPT
Description: Thème WordPress propre, stable et personnalisable pour Fontaine de la Reine.
Version: V16
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: fontaine-reine
*/

:root{
  --fr-navy:#07112b;
  --fr-navy-2:#0d1f4a;
  --fr-blue:#244694;
  --fr-pale:#e8edf8;
  --fr-soft:#f8fbff;
  --fr-text:#07112b;
  --fr-muted:#13295e;
  --fr-line:rgba(7,17,43,.12);
  --fr-white:#fff;
  --fr-radius:24px;
  --fr-shadow:0 18px 50px rgba(7,17,43,.08);
  --fr-serif:"Fraunces", Georgia, serif;
  --fr-sans:"Jost", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;max-width:100%;overflow-x:hidden;background:#fff;color:var(--fr-text);font-family:var(--fr-sans);font-weight:400}
body{font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}

.fr-container{width:min(1180px, calc(100% - clamp(24px,5vw,64px)));margin-inline:auto}
.fr-main{position:relative;z-index:1;background:#fff}

.fr-site-header{
  position:fixed;
  top:16px;
  left:0;
  right:0;
  z-index:1000;
  pointer-events:none;
}
body.admin-bar .fr-site-header{top:48px}
.fr-site-header__inner{
  pointer-events:auto;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:10px 18px;
  border:1px solid var(--fr-line);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 20px 60px rgba(7,17,43,.10);
}
.fr-logo{display:flex;align-items:center;text-decoration:none;min-width:145px}
.fr-logo img{max-height:58px;max-width:150px;width:auto;object-fit:contain}
.fr-wordmark{display:inline-flex;flex-direction:column;font-family:var(--fr-serif);line-height:.86;letter-spacing:-.06em;color:var(--fr-navy)}
.fr-wordmark strong{font-size:27px;font-weight:300}
.fr-wordmark em{font-size:11px;font-style:italic;margin:3px 0 3px 32px;letter-spacing:-.02em}
.fr-wordmark--light{color:#fff}

.fr-nav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.fr-nav-list a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 13px;
  border-radius:999px;
  text-decoration:none;
  color:var(--fr-navy);
  font-family:var(--fr-serif);
  font-size:15px;
  line-height:1.05;
  transition:.2s ease;
  white-space:nowrap;
}
.fr-nav-list a:hover{background:var(--fr-pale)}
.fr-nav-list .current-menu-item>a,
.fr-nav-list .current_page_item>a,
.fr-nav-list .current_page_parent>a,
.fr-nav-list a[aria-current="page"]{
  background:var(--fr-navy);
  color:#fff;
  box-shadow:0 10px 24px rgba(7,17,43,.16);
}

.fr-header-actions{display:flex;align-items:center;gap:10px}
.fr-lang-switch{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--fr-muted)}
.fr-lang-switch a{text-decoration:none;opacity:.72}
.fr-lang-switch a.active{opacity:1;border-bottom:1px solid currentColor}

.fr-menu-toggle{
  display:none;
  width:44px;height:44px;
  border:0;
  background:transparent;
  color:var(--fr-navy);
  cursor:pointer;
}
.fr-menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px auto;border-radius:99px;transition:.2s ease}
.fr-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.fr-menu-toggle.is-open span:nth-child(2){opacity:0}
.fr-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.fr-mobile-panel{
  pointer-events:auto;
  margin-top:8px;
}
.fr-mobile-panel[hidden]{display:none!important}
.fr-mobile-panel__inner{
  padding:18px;
  border:1px solid var(--fr-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 60px rgba(7,17,43,.10);
}
.fr-mobile-nav-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fr-mobile-nav-list a{text-decoration:none;font-family:var(--fr-serif);font-size:20px;color:var(--fr-navy)}

.fr-page-header{
  position:relative;
  min-height:760px;
  height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(180deg,#17284f,#07112b);
  color:#fff;
}
.fr-page-header--small{min-height:580px;height:72svh}
.fr-page-header__image,
.fr-page-header__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.fr-page-header__image.is-video-fallback{display:none}
.fr-page-header__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(7,17,43,.48),rgba(7,17,43,.82));
}
.fr-page-header__content{
  position:relative;
  z-index:2;
  text-align:center;
  padding:160px 0 80px;
  max-width:920px;
}
.fr-eyebrow{
  margin:0;
  font-size:11px;
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--fr-blue);
}
.fr-page-header .fr-eyebrow{color:rgba(255,255,255,.76)}
.fr-header-title{
  margin:18px 0 0;
  font-family:var(--fr-serif);
  font-size:clamp(4rem, 7vw, 7.4rem);
  line-height:.9;
  font-weight:300;
  letter-spacing:-.07em;
}
.fr-header-sub{
  margin:24px auto 0;
  max-width:760px;
  font-size:18px;
  line-height:1.75;
  color:rgba(255,255,255,.9);
}
.fr-page-header__actions{margin-top:32px}

.fr-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:12px 18px;
  border-radius:12px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
  line-height:1;
  transition:.2s ease;
}
.fr-button--primary{background:var(--fr-navy);color:#fff;border-color:var(--fr-navy)}
.fr-button--primary:hover{background:var(--fr-blue);border-color:var(--fr-blue)}
.fr-button--ghost{background:#fff;color:var(--fr-navy);border-color:var(--fr-line)}
.fr-button--ghost:hover{background:var(--fr-pale)}
.fr-button--ghost-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.22)}
.fr-button--small{min-height:38px;padding:9px 14px;font-size:13px}

.fr-section{padding:96px 0;overflow:hidden;background:#fff}
.fr-section--alt{background:var(--fr-soft)}
.fr-section-tight{padding:64px 0}
.fr-section-intro{max-width:760px;margin-bottom:44px}
.fr-section-intro--split{display:grid;grid-template-columns:.42fr .58fr;gap:48px;align-items:end;max-width:none}
.fr-section-title{
  margin:16px 0 0;
  font-family:var(--fr-serif);
  font-size:clamp(3rem,5vw,5.9rem);
  line-height:.96;
  font-weight:300;
  letter-spacing:-.065em;
  color:var(--fr-navy);
}
.fr-section-title--small{font-size:clamp(2.5rem,4vw,4.2rem)}
.fr-section-text{margin:24px 0 0;max-width:780px;color:var(--fr-muted);line-height:1.95}
.fr-content-card{
  padding:clamp(26px,4vw,48px);
  border:1px solid var(--fr-line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--fr-shadow);
}

.fr-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fr-metric-card{padding:24px;border:1px solid var(--fr-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(7,17,43,.06)}
.fr-metric-card__label{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fr-blue)}
.fr-metric-card__value{margin-top:12px;font-family:var(--fr-serif);font-size:38px;line-height:1;font-weight:300;letter-spacing:-.05em}

.fr-two-col{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.fr-image-card{overflow:hidden;border:1px solid var(--fr-line);border-radius:28px;background:#fff;box-shadow:var(--fr-shadow)}
.fr-image-card img{width:100%;height:440px;object-fit:cover}
.fr-quote{margin:34px 0 0;padding:26px;border:1px solid var(--fr-line);border-radius:22px;background:var(--fr-pale);font-family:var(--fr-serif);font-size:28px;line-height:1.15;font-style:italic;color:var(--fr-navy)}

.fr-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fr-feature-card{padding:26px;border:1px solid var(--fr-line);border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(7,17,43,.07)}
.fr-picto{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;background:var(--fr-pale);border:1px solid var(--fr-line);color:var(--fr-navy);margin-bottom:18px}
.fr-picto svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fr-feature-card__title{margin:0;font-family:var(--fr-serif);font-size:32px;line-height:1;letter-spacing:-.05em;font-weight:300}
.fr-feature-card__text{margin:18px 0 0;color:var(--fr-muted);font-size:15px;line-height:1.8}

.fr-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fr-journey-card{overflow:hidden;border:1px solid var(--fr-line);border-radius:24px;background:#fff;box-shadow:var(--fr-shadow)}
.fr-journey-card img{width:100%;height:260px;object-fit:cover}
.fr-journey-card__body{padding:24px}
.fr-journey-card h3{margin:0;font-family:var(--fr-serif);font-size:34px;line-height:1;font-weight:300;letter-spacing:-.05em}
.fr-journey-card p{margin:16px 0 0;color:var(--fr-muted);font-size:15px;line-height:1.8}

.fr-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.fr-product-card{padding:16px;border:1px solid var(--fr-line);border-radius:24px;background:#fff;box-shadow:var(--fr-shadow);display:flex;flex-direction:column}
.fr-product-card__media{min-height:260px;border-radius:18px;background:var(--fr-pale);display:grid;place-items:center;overflow:hidden;margin-bottom:18px}
.fr-product-card__media img{width:100%;height:260px;object-fit:contain;object-position:center;padding:14px}
.fr-bottle-placeholder{width:96px;height:210px;border:1px solid #bcd0f5;border-radius:36px;background:linear-gradient(180deg,#fff,#dfeaff)}
.fr-product-card__type{margin:0;color:var(--fr-blue);font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.fr-product-card__title{margin:10px 0 0;font-family:var(--fr-serif);font-size:38px;line-height:1;font-weight:300;letter-spacing:-.05em}
.fr-product-card__text{margin:16px 0 0;color:var(--fr-muted);font-size:15px;line-height:1.8}
.fr-product-card__usage{margin-top:16px;padding:13px 14px;border-radius:14px;background:var(--fr-pale);color:var(--fr-muted);font-size:14px;line-height:1.55}
.fr-product-card__usage strong{display:block;margin-bottom:5px;color:var(--fr-blue);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.fr-product-card__list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--fr-muted);font-size:14px;line-height:1.5}
.fr-product-card__list li{position:relative;padding-left:18px}
.fr-product-card__list li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:99px;background:var(--fr-blue)}
.fr-product-showcase-placeholder{width:100%;min-height:320px;border-radius:24px;background:linear-gradient(135deg,var(--fr-pale),#fff);border:1px solid var(--fr-line);display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:24px}
.fr-product-showcase-placeholder span{display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid var(--fr-line);font-family:var(--fr-serif);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.06em}

.fr-compare-layout{display:grid;grid-template-columns:.32fr .68fr;gap:36px;align-items:start}
.fr-compare-visual{padding:18px;border:1px solid var(--fr-line);border-radius:28px;background:#fff;box-shadow:var(--fr-shadow)}
.fr-compare-visual-inner{min-height:440px;display:grid;place-items:center;border-radius:22px;background:var(--fr-pale);overflow:hidden}
.fr-compare-visual img{max-width:100%;max-height:430px;object-fit:contain}
.fr-table-wrap{overflow:hidden;border:1px solid var(--fr-line);border-radius:24px;background:#fff;box-shadow:var(--fr-shadow)}
.fr-table-scroll{overflow-x:auto}
.fr-compare-table{width:100%;min-width:860px;border-collapse:collapse;color:var(--fr-navy)}
.fr-compare-table th{padding:17px 16px;background:var(--fr-pale);border-bottom:1px solid var(--fr-line);font-size:13px;text-align:center}
.fr-compare-table th:first-child{text-align:left}
.fr-compare-table td{padding:16px;border-bottom:1px solid rgba(7,17,43,.08);text-align:center}
.fr-compare-table td:first-child{text-align:left;font-weight:700}
.fr-compare-table tr.is-highlight td{background:#dfe8fb}
.fr-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--fr-pale);color:var(--fr-navy)}
.fr-badge.is-yes{background:var(--fr-navy);color:#fff}

.fr-contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:32px}
.fr-contact-stack{display:grid;gap:18px}
.fr-contact-box,.fr-form-card{padding:26px;border:1px solid var(--fr-line);border-radius:22px;background:#fff;box-shadow:var(--fr-shadow)}
.fr-contact-box--featured{background:var(--fr-pale)}
.fr-contact-box__label{margin:0;color:var(--fr-blue);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.fr-card-title{margin:12px 0 0;font-family:var(--fr-serif);font-size:42px;line-height:1;letter-spacing:-.06em;font-weight:300}
.fr-contact-box__value{margin:16px 0 0;color:var(--fr-muted);line-height:1.85}
.fr-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.fr-form-grid label span{display:block;margin-bottom:7px;color:var(--fr-blue);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.fr-form-grid input,.fr-form-grid select,.fr-form-grid textarea{width:100%;border:1px solid var(--fr-line);border-radius:12px;background:var(--fr-soft);padding:12px 14px;color:var(--fr-navy);outline:none}
.fr-form-grid textarea{min-height:150px}
.fr-form-grid__full{grid-column:1/-1}
.fr-form-actions{margin-top:18px}

.fr-editorial-strip{background:var(--fr-soft);padding:42px 0}
.fr-strip-box{padding:20px;border:1px solid var(--fr-line);border-radius:18px;background:#fff}
.fr-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fr-strip-item{padding:18px;border-radius:14px;background:var(--fr-pale)}
.fr-strip-item strong{display:block;color:var(--fr-blue);font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.fr-strip-item p{margin:10px 0 0;color:var(--fr-muted);font-size:14px;line-height:1.75}

.fr-site-footer{position:relative;z-index:2;background:var(--fr-navy);color:#fff;padding:72px 0 34px;overflow:hidden}
.fr-footer-cta{margin-bottom:54px;padding:38px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:linear-gradient(135deg,#13295e,var(--fr-navy));box-shadow:0 30px 80px rgba(7,17,43,.35);display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.fr-footer-cta__eyebrow{margin:0;color:rgba(255,255,255,.55);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.fr-footer-cta__title{margin:16px 0 0;font-family:var(--fr-serif);font-size:clamp(2.5rem,4vw,4.8rem);line-height:1.02;font-weight:300;letter-spacing:-.05em}
.fr-footer-cta__text{margin:18px 0 0;max-width:680px;color:rgba(255,255,255,.74)}
.fr-footer-cta__actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.fr-footer-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr 1fr;gap:44px}
.fr-footer-logo img{max-width:160px;max-height:90px;object-fit:contain}
.fr-footer-copy-text{margin:22px 0 0;max-width:340px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.8}
.fr-footer-heading{font-family:var(--fr-serif);font-weight:300;font-size:22px;letter-spacing:-.03em;margin:0 0 18px}
.fr-footer-nav{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fr-footer-nav a{text-decoration:none;color:rgba(255,255,255,.78);font-size:14px}
.fr-footer-list{display:grid;gap:10px;color:rgba(255,255,255,.78);font-size:14px}
.fr-socials{display:flex;gap:10px;margin-top:22px}
.fr-social{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:rgba(255,255,255,.05)}
.fr-social svg{width:18px;height:18px}
.fr-footer-bottom{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.52);font-size:13px}
.fr-footer-bottom__links{display:flex;gap:18px;flex-wrap:wrap}
.fr-footer-bottom__links a{text-decoration:none;color:inherit}

@media(max-width:1180px){
  .fr-main-nav,.fr-header-actions{display:none}
  .fr-menu-toggle{display:block}
  .fr-site-header__inner{min-height:64px}
}
@media(max-width:980px){
  .fr-section-intro--split,.fr-two-col,.fr-compare-layout,.fr-contact-layout,.fr-footer-cta,.fr-footer-grid{grid-template-columns:1fr}
  .fr-feature-grid,.fr-products-grid,.fr-metrics-grid{grid-template-columns:repeat(2,1fr)}
  .fr-journey-grid,.fr-strip-grid{grid-template-columns:1fr}
  .fr-footer-cta__actions{justify-content:flex-start}
}
@media(max-width:760px){
  body.admin-bar .fr-site-header{top:54px}
  .fr-site-header{top:10px}
  .fr-site-header__inner{border-radius:16px;padding:8px 12px}
  .fr-container{width:calc(100% - 22px)}
  .fr-logo{min-width:auto}
  .fr-logo img{max-height:48px;max-width:126px}
  .fr-wordmark strong{font-size:23px}
  .fr-wordmark em{font-size:10px;margin-left:28px}
  .fr-page-header,.fr-page-header--small{min-height:620px;height:100svh}
  .fr-page-header__content{padding:130px 0 60px}
  .fr-header-title{font-size:clamp(3.05rem,14vw,4.7rem);line-height:.95}
  .fr-header-sub{font-size:15px;line-height:1.65}
  .fr-page-header__video{display:none}
  .fr-page-header__image.is-video-fallback{display:block}
  .fr-section{padding:68px 0}
  .fr-section-title{font-size:clamp(2.6rem,11vw,4rem);line-height:1}
  .fr-feature-grid,.fr-products-grid,.fr-metrics-grid{grid-template-columns:1fr}
  .fr-image-card img{height:320px}
  .fr-form-grid{grid-template-columns:1fr}
  .fr-table-wrap{border:0;background:transparent;box-shadow:none}
  .fr-table-scroll{overflow:visible}
  .fr-compare-table{display:block;min-width:0;width:100%;background:transparent}
  .fr-compare-table thead{display:none}
  .fr-compare-table tbody{display:grid;gap:14px}
  .fr-compare-table tr{display:block;background:#fff;border:1px solid var(--fr-line);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(7,17,43,.07)}
  .fr-compare-table td{display:flex;justify-content:space-between;gap:14px;text-align:right;padding:12px 14px;background:#fff!important}
  .fr-compare-table td:before{content:attr(data-label);text-align:left;color:var(--fr-blue);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .fr-compare-table td:first-child{display:block;text-align:left;background:var(--fr-pale)!important}
  .fr-compare-table td:first-child:before{display:none}
  .fr-compare-table td:first-child strong{font-family:var(--fr-serif);font-size:24px;font-weight:300;letter-spacing:-.04em}
  .fr-product-card__media,.fr-product-card__media img{height:auto;min-height:220px}
  .fr-footer-grid{gap:32px}
  .fr-footer-bottom{flex-direction:column}
}


/* === V13 corrections : menu, footer, comparatif éditable, responsive === */
html, body { overflow-x: hidden !important; }

.fr-site-header__inner {
  gap: 16px;
}

.fr-logo img {
  max-height: 56px;
  max-width: 148px;
}

.fr-wordmark strong {
  font-size: 25px;
}

.fr-wordmark em {
  font-size: 10px;
  margin-left: 30px;
}

.fr-main-nav {
  min-width: 0;
}

.fr-nav-list {
  justify-content: flex-end;
  gap: 5px;
}

.fr-nav-list a {
  padding: 10px 13px;
  color: var(--fr-navy);
}

.fr-nav-list a:hover {
  background: var(--fr-pale);
  color: var(--fr-navy);
}

.fr-nav-list .current-menu-item > a,
.fr-nav-list .current_page_item > a,
.fr-nav-list .current_page_parent > a,
.fr-nav-list a[aria-current="page"] {
  background: var(--fr-navy);
  color: #fff !important;
}

.fr-header-actions,
.fr-lang-switch,
.fr-socials {
  display: none !important;
}

.fr-mobile-panel__inner {
  overflow: hidden;
}

.fr-mobile-nav-list {
  display: grid;
  gap: 8px;
}

.fr-mobile-nav-list li {
  width: 100%;
}

.fr-mobile-nav-list a,
.fr-mobile-nav-list button {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 12px;
  line-height: 1.1;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}

.fr-mobile-nav-list .current-menu-item > a,
.fr-mobile-nav-list .current_page_item > a,
.fr-mobile-nav-list a[aria-current="page"] {
  background: var(--fr-navy);
  color: #fff;
}

.fr-products-section {
  padding-top: 96px;
}

.fr-compare-visual {
  padding: 14px;
  border-radius: 30px;
}

.fr-compare-visual-inner {
  min-height: 440px;
  padding: 18px;
  border-radius: 24px;
  background: var(--fr-pale);
  overflow: hidden;
}

.fr-compare-visual-inner img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
}

.fr-footer-grid {
  grid-template-columns: 1.15fr 1fr 1fr 1fr;
}

.fr-footer-nav {
  gap: 12px;
}

.fr-footer-nav a {
  display: inline-flex;
  line-height: 1.25;
}

.fr-footer-list span {
  line-height: 1.5;
}

@media (max-width: 1280px) {
  .fr-nav-list a {
    padding: 9px 10px;
    font-size: 14px;
  }
}

@media (max-width: 1180px) {
  .fr-main-nav {
    display: none !important;
  }

  .fr-menu-toggle {
    display: block;
    flex: 0 0 auto;
  }

  .fr-site-header__inner {
    width: min(100%, calc(100vw - 24px));
    min-height: 62px;
  }

  .fr-logo img {
    max-height: 50px;
    max-width: 138px;
  }
}

@media (max-width: 980px) {
  .fr-products-section {
    padding-top: 72px;
  }

  .fr-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .fr-compare-layout {
    gap: 24px;
  }

  .fr-compare-visual-inner {
    min-height: 360px;
  }

  .fr-compare-visual-inner img {
    max-height: 340px;
  }
}

@media (max-width: 760px) {
  .fr-container {
    width: calc(100% - 28px);
  }

  .fr-site-header {
    top: 10px;
  }

  body.admin-bar .fr-site-header {
    top: 56px;
  }

  .fr-site-header__inner {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    padding: 8px 10px;
    border-radius: 16px;
  }

  .fr-logo img {
    max-width: 124px;
    max-height: 46px;
  }

  .fr-wordmark strong {
    font-size: 22px;
  }

  .fr-wordmark em {
    font-size: 9px;
    margin-left: 26px;
  }

  .fr-mobile-panel {
    width: 100%;
  }

  .fr-mobile-panel__inner {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    padding: 12px;
    border-radius: 16px;
  }

  .fr-mobile-nav-list a {
    font-size: 18px;
  }

  .fr-page-header,
  .fr-page-header--small {
    min-height: 640px;
    height: 100svh;
  }

  .fr-page-header__content {
    padding-top: 132px;
    padding-bottom: 54px;
  }

  .fr-header-title {
    max-width: 100%;
  }

  .fr-section {
    padding: 64px 0;
  }

  .fr-section-tight {
    padding: 48px 0;
  }

  .fr-products-section {
    padding-top: 64px;
  }

  .fr-section-intro {
    margin-bottom: 30px;
  }

  .fr-content-card,
  .fr-feature-card,
  .fr-product-card,
  .fr-contact-box,
  .fr-form-card {
    border-radius: 20px;
  }

  .fr-compare-visual {
    padding: 10px;
    border-radius: 24px;
  }

  .fr-compare-visual-inner {
    min-height: 300px;
    padding: 12px;
    border-radius: 20px;
  }

  .fr-compare-visual-inner img {
    height: 276px;
    max-height: 276px;
    object-fit: cover;
    border-radius: 16px;
  }

  .fr-footer-cta {
    padding: 24px;
    border-radius: 20px;
  }

  .fr-footer-grid {
    grid-template-columns: 1fr;
  }

  .fr-footer-bottom {
    gap: 16px;
  }
}

@media (max-width: 420px) {
  .fr-container {
    width: calc(100% - 20px);
  }

  .fr-header-title {
    font-size: clamp(2.8rem, 13vw, 3.6rem);
  }

  .fr-section-title {
    font-size: clamp(2.45rem, 12vw, 3.5rem);
  }

  .fr-product-card__title {
    font-size: 34px;
  }

  .fr-feature-card__title {
    font-size: 29px;
  }

  .fr-footer-cta__title {
    font-size: 2.45rem;
  }
}


/* === V14 fixes : mobile menu real column, active state, footer nav, table dynamic === */
.fr-main-nav .fr-nav-list,
.fr-site-header .fr-nav-list {
  display: flex;
  flex-wrap: nowrap;
}

.fr-mobile-panel .fr-nav-list,
.fr-mobile-panel .fr-mobile-nav-list {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.fr-mobile-panel .fr-nav-list li,
.fr-mobile-panel .fr-mobile-nav-list li {
  display: block;
  width: 100%;
}

.fr-mobile-panel .fr-nav-list a,
.fr-mobile-panel .fr-mobile-nav-list a {
  display: flex !important;
  width: 100% !important;
  justify-content: flex-start !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  font-size: 18px !important;
}

.fr-mobile-panel .fr-nav-list .current-menu-item > a,
.fr-mobile-panel .fr-mobile-nav-list .current-menu-item > a,
.fr-nav-list .current-menu-item > a,
.fr-nav-list .current_page_item > a,
.fr-nav-list a[aria-current="page"] {
  background: var(--fr-navy) !important;
  color: #fff !important;
}

.fr-footer-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.fr-footer-nav li {
  list-style: none;
}

.fr-footer-nav a {
  display: inline-flex;
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.fr-footer-nav a:hover {
  color: #fff;
}

.fr-compare-table th,
.fr-compare-table td {
  min-width: 110px;
}

.fr-compare-table th:first-child,
.fr-compare-table td:first-child {
  min-width: 190px;
}

@media (max-width: 1180px) {
  .fr-mobile-panel .fr-nav-list,
  .fr-mobile-panel .fr-mobile-nav-list {
    max-width: 100%;
    overflow: hidden;
  }
}

@media (max-width: 760px) {
  .fr-mobile-panel {
    left: 0;
    right: 0;
  }

  .fr-mobile-panel__inner {
    overflow: hidden;
  }

  .fr-mobile-panel .fr-nav-list a,
  .fr-mobile-panel .fr-mobile-nav-list a {
    font-size: 17px !important;
  }
}


/* === V15 : homepage logo hero + clear videos/images === */

/* Retire l'overlay sombre des headers pour garder la vidéo/image claire. */
.fr-page-header__overlay {
  background: transparent !important;
  pointer-events: none;
}

/* Ajoute de la lisibilité au texte sans foncer toute la vidéo. */
.fr-page-header__content,
.fr-home-hero-content {
  text-shadow: 0 2px 18px rgba(7,17,43,.42);
}

/* Header accueil façon logo plein écran. */
.fr-page-header--home-logo {
  min-height: 780px;
  height: 100svh;
}

.fr-home-hero-content {
  max-width: 1240px;
  padding-top: 150px;
  padding-bottom: 70px;
}

.fr-home-hero-logo {
  margin-inline: auto;
  color: #fff;
  font-family: var(--fr-serif);
  font-weight: 300;
  line-height: .82;
  letter-spacing: -.075em;
  text-align: center;
  filter: drop-shadow(0 8px 28px rgba(7,17,43,.34));
}

.fr-home-logo-line {
  font-size: clamp(5rem, 12vw, 13.5rem);
  line-height: .78;
}

.fr-home-logo-middle {
  width: min(520px, 42vw);
  min-width: 260px;
  margin: .08em auto .02em;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  color: #fff;
  letter-spacing: -.02em;
}

.fr-home-logo-middle span {
  height: 1px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 0 12px rgba(255,255,255,.18);
}

.fr-home-logo-middle em {
  font-size: clamp(1.45rem, 3vw, 3.2rem);
  font-style: italic;
  line-height: 1;
}

.fr-home-logo-bottom {
  position: relative;
}

.fr-home-logo-bottom::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .05em;
  width: .18em;
  height: .18em;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #fff;
  opacity: .95;
}

.fr-home-hero-baseline {
  margin: 34px auto 0;
  max-width: 1200px;
  color: #fff;
  font-family: var(--fr-serif);
  font-size: clamp(1rem, 1.7vw, 1.7rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fr-home-hero-divider {
  width: 190px;
  height: 1px;
  margin: 58px auto 0;
  background: rgba(255,255,255,.78);
}

.fr-home-hero-subline {
  margin: 44px auto 0;
  color: rgba(255,255,255,.92);
  font-family: var(--fr-serif);
  font-size: clamp(1.5rem, 2.4vw, 2.45rem);
  font-style: italic;
  line-height: 1.2;
}

.fr-home-hero-actions {
  margin-top: 28px;
}

@media (max-width: 980px) {
  .fr-page-header--home-logo {
    min-height: 720px;
  }

  .fr-home-hero-content {
    padding-top: 130px;
  }

  .fr-home-logo-middle {
    width: min(420px, 64vw);
  }

  .fr-home-hero-baseline {
    max-width: 760px;
    letter-spacing: .11em;
  }
}

@media (max-width: 760px) {
  .fr-page-header--home-logo {
    min-height: 640px;
    height: 100svh;
  }

  .fr-home-hero-content {
    padding-top: 118px;
    padding-bottom: 40px;
  }

  .fr-home-logo-line {
    font-size: clamp(4rem, 20vw, 6.2rem);
  }

  .fr-home-logo-middle {
    width: min(320px, 76vw);
    min-width: 220px;
    gap: 12px;
  }

  .fr-home-logo-middle em {
    font-size: clamp(1.2rem, 6vw, 1.75rem);
  }

  .fr-home-hero-baseline {
    margin-top: 28px;
    max-width: 92%;
    font-size: .86rem;
    letter-spacing: .08em;
  }

  .fr-home-hero-divider {
    margin-top: 38px;
    width: 130px;
  }

  .fr-home-hero-subline {
    margin-top: 30px;
    font-size: 1.45rem;
  }
}

@media (max-width: 420px) {
  .fr-home-logo-line {
    font-size: clamp(3.55rem, 21vw, 5.2rem);
  }

  .fr-home-hero-baseline {
    font-size: .78rem;
    line-height: 1.45;
  }

  .fr-home-hero-subline {
    font-size: 1.25rem;
  }
}


/* === V16 : logo image personnalisable dans le hero accueil === */

/* On n'affiche plus le faux logo en texte. Le logo central vient d'une image uploadée. */
.fr-home-hero-logo,
.fr-home-logo-line,
.fr-home-logo-middle,
.fr-home-logo-bottom {
  display: none !important;
}

.fr-home-hero-logo-img {
  display: block;
  width: min(var(--fr-home-logo-width, 620px), 86vw);
  height: auto;
  max-height: 42vh;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 8px 28px rgba(7,17,43,.32));
}

.fr-home-hero-content {
  justify-content: center;
}

.fr-home-hero-baseline {
  margin-top: 34px;
}

@media (max-width: 760px) {
  .fr-home-hero-logo-img {
    width: min(var(--fr-home-logo-width-mobile, 330px), 86vw);
    max-height: 34vh;
  }

  .fr-home-hero-baseline {
    margin-top: 24px;
  }
}


/* === V17 : retours typographie, tableau, produits, footer === */
.fr-section-title,
.fr-header-title,
.fr-footer-cta__title {
  letter-spacing: 1px !important;
}

.fr-table-scroll {
  overflow-x: visible !important;
}

.fr-compare-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}

.fr-compare-table th,
.fr-compare-table td {
  min-width: 0 !important;
  padding: 14px 12px !important;
  font-size: clamp(11px, .82vw, 14px);
  line-height: 1.35;
  word-break: normal;
  overflow-wrap: anywhere;
}

.fr-compare-table th:first-child,
.fr-compare-table td:first-child {
  width: 25%;
  min-width: 0 !important;
}

.fr-badge {
  white-space: nowrap;
  padding-inline: 10px;
}

@media (max-width: 760px) {
  .fr-compare-table,
  .fr-compare-table thead,
  .fr-compare-table tbody,
  .fr-compare-table th,
  .fr-compare-table td,
  .fr-compare-table tr {
    display: block;
  }

  .fr-compare-table thead {
    display: none;
  }

  .fr-compare-table tr {
    border-bottom: 1px solid rgba(7,17,43,.12);
    padding: 12px 0;
  }

  .fr-compare-table tr.is-highlight {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 10px;
  }

  .fr-compare-table td {
    display: grid;
    grid-template-columns: minmax(110px, 44%) 1fr;
    gap: 10px;
    align-items: center;
    border-bottom: 0 !important;
    padding: 8px 14px !important;
    text-align: left !important;
    font-size: 14px;
  }

  .fr-compare-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--fr-navy);
    opacity: .74;
  }

  .fr-compare-table td:first-child {
    width: auto;
    grid-template-columns: 1fr;
    padding-top: 14px !important;
    font-size: 16px;
  }

  .fr-compare-table td:first-child::before {
    display: none;
  }
}

.fr-product-card {
  display: flex;
  flex-direction: column;
  padding: 16px !important;
}

.fr-product-card__visual {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  min-height: auto !important;
  padding: 12px !important;
  border-radius: 22px !important;
  overflow: hidden;
}

.fr-product-card__visual img {
  width: 100%;
  height: 100%;
  max-height: 220px;
  object-fit: contain;
  object-position: center;
  border-radius: 18px !important;
  display: block;
}

.fr-product-card__meta {
  margin-top: 22px !important;
}

.fr-product-card__title {
  margin-top: 10px !important;
}

.fr-product-card__text {
  margin-top: 12px !important;
}

.fr-footer-logo img {
  width: min(180px, 70%);
  height: auto;
  display: block;
  object-fit: contain;
}

.fr-footer-text {
  margin-top: 20px;
}

.fr-footer-list {
  display: grid;
  gap: 10px;
}

.fr-footer-list span {
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .fr-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 640px) {
  .fr-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .fr-footer-cta__actions {
    width: 100%;
  }

  .fr-footer-cta__actions .fr-button {
    width: 100%;
    justify-content: center;
  }
}


/* === V18 : audit SEO / conversion / confort === */
.fr-nav-list a{font-size:14px;padding-inline:11px}
.fr-page-header__image,.fr-page-header__video{filter:none}
.fr-home-hero-seo-text{max-width:760px;margin:18px auto 0;color:rgba(255,255,255,.88);font-size:15px;line-height:1.75;text-shadow:0 2px 18px rgba(7,17,43,.42)}
.fr-page-header__actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
.fr-scroll-indicator{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:34px;height:54px;border:1px solid rgba(255,255,255,.45);border-radius:999px;display:grid;place-items:start center;padding-top:10px;text-decoration:none;opacity:.75;transition:.2s ease}
.fr-scroll-indicator:hover{opacity:1;background:rgba(255,255,255,.08)}
.fr-scroll-indicator span{width:4px;height:9px;border-radius:99px;background:#fff;animation:frScrollDot 1.55s ease-in-out infinite}
@keyframes frScrollDot{0%{transform:translateY(0);opacity:.4}50%{transform:translateY(16px);opacity:1}100%{transform:translateY(0);opacity:.4}}

.fr-metrics-section{padding-top:42px}
.fr-metric-card{display:flex;align-items:center;gap:18px;min-height:132px;background:linear-gradient(180deg,#fff,#f8fbff)}
.fr-metric-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;background:var(--fr-pale);border:1px solid var(--fr-line);color:var(--fr-navy);flex:0 0 auto}
.fr-metric-card__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fr-metric-card__value{font-size:clamp(40px,4vw,58px)}

.fr-proof-section{padding-top:0;background:#fff}
.fr-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fr-proof-card{padding:22px;border:1px solid var(--fr-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(7,17,43,.06);display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}
.fr-proof-card .fr-picto{margin:0;grid-row:span 2}
.fr-proof-card strong{font-family:var(--fr-serif);font-weight:300;font-size:28px;letter-spacing:.01em;line-height:1;color:var(--fr-navy)}
.fr-proof-card span{color:var(--fr-muted);font-size:14px;line-height:1.6}

.fr-product-card__cta{margin-top:auto;align-self:flex-start}
.fr-product-card__media{padding:12px;border-radius:22px}
.fr-product-card__media img{border-radius:16px;background:#fff}

.fr-table-hint{display:none;margin:0 0 12px;color:var(--fr-blue);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.fr-strip-item{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start}
.fr-strip-icon{width:42px;height:42px;grid-row:span 2;display:grid;place-items:center;border-radius:999px;background:#fff;border:1px solid var(--fr-line);color:var(--fr-navy)}
.fr-strip-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fr-strip-item p{grid-column:2}

@media(max-width:1180px){.fr-nav-list a{font-size:13px;padding-inline:9px}}
@media(max-width:980px){.fr-proof-grid{grid-template-columns:1fr}.fr-proof-card strong{font-size:25px}}
@media(max-width:760px){
  .fr-table-hint{display:block}
  .fr-scroll-indicator{bottom:18px;width:30px;height:46px}
  .fr-home-hero-seo-text{font-size:13px;max-width:92%;line-height:1.65}
  .fr-proof-card{grid-template-columns:1fr;text-align:left}.fr-proof-card .fr-picto{grid-row:auto}.fr-strip-item{grid-template-columns:1fr}.fr-strip-item p{grid-column:auto}
}


/* =========================================================
   V20 clean / SEO / responsive / lazy / mobile video robust
   ========================================================= */

/* Base safety */
html, body { overflow-x: hidden !important; }
.fr-main { overflow: hidden; }
.fr-container { width: min(1180px, calc(100% - clamp(24px, 5vw, 64px))) !important; }

/* Header + menu mobile fully vertical */
.fr-header-actions,
.fr-lang-switch,
.fr-socials { display: none !important; }

.fr-nav-list .current-menu-item > a,
.fr-nav-list .current_page_item > a,
.fr-nav-list .current_page_parent > a,
.fr-nav-list a[aria-current="page"] {
  background: var(--fr-navy) !important;
  color: #fff !important;
}

.fr-mobile-panel .fr-mobile-nav-list,
.fr-mobile-panel .fr-nav-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.fr-mobile-panel .fr-mobile-nav-list li,
.fr-mobile-panel .fr-nav-list li { width: 100% !important; }

.fr-mobile-panel .fr-mobile-nav-list a,
.fr-mobile-panel .fr-nav-list a {
  width: 100% !important;
  white-space: normal !important;
  line-height: 1.12 !important;
  justify-content: flex-start !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: 18px !important;
}

/* Hero: clear video, no heavy overlay */
.fr-page-header__overlay {
  background: linear-gradient(180deg, rgba(7,17,43,.08), rgba(7,17,43,.20)) !important;
  pointer-events: none;
}

.fr-page-header__content,
.fr-home-hero-content {
  text-shadow: 0 2px 18px rgba(7,17,43,.42);
}

/* Video fallback states */
.fr-page-header__image.is-video-fallback { display: block; }
.fr-page-header__video {
  z-index: 1;
  background: #07112b;
}
.fr-page-header__image {
  z-index: 0;
}
.fr-video-ready .fr-page-header__image.is-video-fallback {
  display: none !important;
}
.fr-video-failed .fr-page-header__video {
  display: none !important;
}
.fr-video-failed .fr-page-header__image.is-video-fallback {
  display: block !important;
}

/* Remove scroll indicator entirely to avoid CTA collision */
.fr-scroll-indicator { display: none !important; }

/* Hero sizes/typography */
.fr-page-header {
  min-height: 760px;
  height: 100svh;
}
.fr-page-header--small {
  min-height: 620px;
  height: 78svh;
}
.fr-page-header__content {
  padding-top: 150px !important;
  padding-bottom: 88px !important;
}
.fr-header-title {
  font-size: clamp(3.2rem, 6vw, 6.6rem) !important;
  line-height: .98 !important;
  letter-spacing: .5px !important;
}
.fr-header-sub {
  max-width: 840px;
}

/* Home logo image */
.fr-home-hero-logo,
.fr-home-logo-line,
.fr-home-logo-middle,
.fr-home-logo-bottom {
  display: none !important;
}
.fr-home-hero-logo-img {
  display: block;
  width: min(var(--fr-home-logo-width, 620px), 86vw);
  max-height: 42vh;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 8px 28px rgba(7,17,43,.32));
}
.fr-home-hero-seo-text {
  max-width: 760px;
  margin: 18px auto 0;
  color: rgba(255,255,255,.94);
  font-size: 15px;
  line-height: 1.7;
}
.fr-home-hero-baseline {
  margin-top: 30px;
}

/* Titles: requested +1px tracking */
.fr-section-title,
.fr-footer-cta__title {
  letter-spacing: 1px !important;
}

/* Avoid repeated block feeling: spacing and metrics */
.fr-metrics-section {
  padding-top: 60px !important;
  padding-bottom: 44px !important;
}
.fr-metrics-grid {
  gap: 20px !important;
}
.fr-metric-card {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 142px;
}
.fr-metric-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: var(--fr-pale);
  border: 1px solid var(--fr-line);
  color: var(--fr-navy);
}
.fr-metric-card__icon svg,
.fr-strip-icon svg,
.fr-picto svg {
  width: 24px;
  height: 24px;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Product image box: radius + consistent spacing */
.fr-product-card {
  display: flex;
  flex-direction: column;
  padding: 16px !important;
}
.fr-product-card__media {
  aspect-ratio: 1 / 1;
  min-height: auto !important;
  padding: 12px !important;
  border-radius: 22px !important;
  overflow: hidden;
}
.fr-product-card__media img {
  width: 100%;
  height: 100%;
  max-height: 250px;
  object-fit: contain;
  object-position: center;
  padding: 0 !important;
  border-radius: 18px !important;
}
.fr-product-card__cta {
  margin-top: auto;
  align-self: flex-start;
}

/* Comparison: no desktop horizontal overflow; mobile card mode */
.fr-table-scroll { overflow-x: visible !important; }
.fr-compare-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}
.fr-compare-table th,
.fr-compare-table td {
  min-width: 0 !important;
  padding: 14px 10px !important;
  font-size: clamp(11px, .82vw, 14px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.fr-compare-table th:first-child,
.fr-compare-table td:first-child {
  width: 25%;
}
.fr-table-hint {
  font-size: 13px;
  color: var(--fr-muted);
  margin-bottom: 10px;
  display: none;
}
.fr-compare-visual-inner {
  padding: 16px !important;
  border-radius: 24px !important;
}
.fr-compare-visual-inner img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
}

/* Footer */
.fr-footer-nav {
  display: grid !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.fr-footer-nav a {
  text-decoration: none;
  color: rgba(255,255,255,.78);
}
.fr-footer-nav a:hover { color: #fff; }
.fr-footer-logo img {
  width: min(180px, 70%);
  height: auto;
  object-fit: contain;
}

/* Responsive */
@media (max-width: 1180px) {
  .fr-main-nav { display: none !important; }
  .fr-menu-toggle { display: block !important; }
}

@media (max-width: 980px) {
  .fr-section-intro--split,
  .fr-compare-layout,
  .fr-two-col {
    grid-template-columns: 1fr !important;
  }
  .fr-metrics-grid,
  .fr-feature-grid,
  .fr-products-grid,
  .fr-journey-grid,
  .fr-proof-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .fr-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 760px) {
  .fr-container {
    width: calc(100% - 22px) !important;
  }

  .fr-site-header {
    top: 10px !important;
  }
  body.admin-bar .fr-site-header {
    top: 56px !important;
  }
  .fr-site-header__inner {
    width: calc(100vw - 20px);
    min-height: 62px;
    padding: 8px 12px;
    border-radius: 16px;
  }
  .fr-logo {
    min-width: 0 !important;
  }
  .fr-logo img {
    max-width: 126px !important;
    max-height: 48px !important;
  }
  .fr-wordmark strong { font-size: 22px !important; }
  .fr-wordmark em { font-size: 9px !important; margin-left: 25px !important; }

  .fr-mobile-panel__inner {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    padding: 12px;
    border-radius: 16px;
    overflow: hidden;
  }

  .fr-page-header,
  .fr-page-header--small,
  .fr-page-header--home-logo {
    min-height: 700px !important;
    height: 100svh !important;
  }
  .fr-page-header__content,
  .fr-home-hero-content {
    padding-top: 116px !important;
    padding-bottom: 56px !important;
  }
  .fr-header-title {
    font-size: clamp(2.8rem, 14vw, 4.8rem) !important;
    line-height: 1 !important;
  }
  .fr-header-sub {
    font-size: 15px !important;
    line-height: 1.65 !important;
    max-width: 94%;
  }
  .fr-page-header__actions {
    margin-top: 24px !important;
    gap: 10px !important;
  }
  .fr-page-header__actions .fr-button {
    width: 100%;
    max-width: 260px;
  }
  .fr-home-hero-logo-img {
    width: min(var(--fr-home-logo-width-mobile, 330px), 86vw);
    max-height: 30vh;
  }
  .fr-home-hero-baseline {
    font-size: .78rem !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
  }
  .fr-home-hero-seo-text {
    display: none !important;
  }
  .fr-home-hero-subline {
    font-size: 1.35rem !important;
    margin-top: 22px !important;
  }

  .fr-section {
    padding: 64px 0 !important;
  }
  .fr-section-tight {
    padding: 48px 0 !important;
  }
  .fr-section-title {
    font-size: clamp(2.5rem, 11vw, 3.7rem) !important;
    line-height: 1 !important;
  }

  .fr-metrics-grid,
  .fr-feature-grid,
  .fr-products-grid,
  .fr-journey-grid,
  .fr-proof-grid,
  .fr-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .fr-metric-card {
    min-height: 112px !important;
    padding: 18px !important;
  }

  .fr-table-hint {
    display: block;
  }
  .fr-compare-table,
  .fr-compare-table thead,
  .fr-compare-table tbody,
  .fr-compare-table tr,
  .fr-compare-table th,
  .fr-compare-table td {
    display: block !important;
  }
  .fr-compare-table thead {
    display: none !important;
  }
  .fr-compare-table tr {
    padding: 12px 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-compare-table tr.is-highlight {
    border-radius: 16px;
    overflow: hidden;
    margin: 0 0 10px;
  }
  .fr-compare-table td {
    display: grid !important;
    grid-template-columns: minmax(112px, 44%) 1fr;
    gap: 10px;
    border-bottom: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
  }
  .fr-compare-table td::before {
    content: attr(data-label);
    font-weight: 700;
    opacity: .72;
  }
  .fr-compare-table td:first-child {
    width: auto !important;
    grid-template-columns: 1fr;
    font-size: 16px !important;
  }
  .fr-compare-table td:first-child::before {
    display: none;
  }

  .fr-compare-visual-inner {
    min-height: 290px !important;
  }
  .fr-compare-visual-inner img {
    max-height: 270px !important;
  }
}

@media (max-width: 420px) {
  .fr-container { width: calc(100% - 18px) !important; }
  .fr-header-title { font-size: clamp(2.55rem, 13vw, 4rem) !important; }
  .fr-section-title { font-size: clamp(2.25rem, 10vw, 3.2rem) !important; }
}


/* =========================================================
   V21 : édition Gutenberg prioritaire + personnalisation globale
   ========================================================= */

:root{
  --fr-container-max:1180px;
  --fr-section-padding:96px;
  --fr-section-padding-mobile:64px;
  --fr-title-tracking:1px;
  --fr-header-overlay-opacity:.12;
}

.fr-container{
  width:min(var(--fr-container-max), calc(100% - clamp(24px,5vw,64px))) !important;
}

.fr-section{
  padding:var(--fr-section-padding) 0 !important;
}

.fr-section-tight{
  padding:calc(var(--fr-section-padding) * .66) 0 !important;
}

.fr-section-title,
.fr-header-title,
.fr-footer-cta__title{
  letter-spacing:var(--fr-title-tracking) !important;
}

/* Overlay header gérable par Customizer */
.fr-page-header__overlay{
  background:linear-gradient(
    180deg,
    rgba(7,17,43,var(--fr-header-overlay-opacity)),
    rgba(7,17,43,calc(var(--fr-header-overlay-opacity) + .08))
  ) !important;
}

/* Le contenu Gutenberg est maintenant rendu en priorité. */
.fr-page-builder-content{
  background:#fff;
  overflow:hidden;
}

.fr-page-builder-content > :not(section):not(.fr-section):not(.alignfull){
  width:min(var(--fr-container-max), calc(100% - clamp(24px,5vw,64px)));
  margin-left:auto;
  margin-right:auto;
}

.fr-page-builder-content > h1,
.fr-page-builder-content > h2,
.fr-page-builder-content > h3,
.fr-page-builder-content > p,
.fr-page-builder-content > ul,
.fr-page-builder-content > ol,
.fr-page-builder-content > .wp-block-heading,
.fr-page-builder-content > .wp-block-paragraph,
.fr-page-builder-content > .wp-block-list{
  max-width:920px;
}

.fr-page-builder-content > h2,
.fr-page-builder-content .wp-block-heading{
  font-family:var(--fr-serif);
  color:var(--fr-navy);
  line-height:1.06;
}

.fr-page-builder-content > h2{
  font-size:clamp(2.4rem, 4.8vw, 5.4rem);
  font-weight:300;
  letter-spacing:var(--fr-title-tracking);
  margin-top:72px;
  margin-bottom:24px;
}

.fr-page-builder-content > p{
  color:var(--fr-muted);
  line-height:1.95;
  margin-top:0;
  margin-bottom:28px;
}

.fr-page-builder-content .wp-block-shortcode{
  margin-top:0;
  margin-bottom:0;
}

/* Carte optionnelle si tu ajoutes un groupe Gutenberg avec classe fr-edit-card */
.fr-edit-card{
  padding:clamp(26px,4vw,48px);
  border:1px solid var(--fr-line);
  border-radius:var(--fr-radius);
  background:#fff;
  box-shadow:var(--fr-shadow);
}

/* Toutes les images ajoutées dans Gutenberg gardent une apparence propre. */
.fr-page-builder-content img{
  border-radius:calc(var(--fr-radius) * .75);
}

@media (max-width:760px){
  .fr-section{
    padding:var(--fr-section-padding-mobile) 0 !important;
  }

  .fr-section-tight{
    padding:calc(var(--fr-section-padding-mobile) * .72) 0 !important;
  }

  .fr-page-builder-content > h2{
    font-size:clamp(2.2rem, 11vw, 3.4rem);
    margin-top:50px;
  }
}


/* === V23 : logique propre — contenu dans les pages, design dans le thème === */

/* Le texte SEO du hero accueil n'est plus affiché pour éviter les répétitions.
   Le H1 SEO reste bien présent en screen-reader-text. */
.fr-home-hero-seo-text{
  display:none !important;
}

.fr-home-hero-baseline{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.fr-home-hero-subline{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* Customizer = design global seulement. Le contenu visible des pages est prioritaire via Gutenberg. */
.fr-page-builder-content{
  position:relative;
  z-index:2;
}

/* On évite que les paragraphes Gutenberg passent au-dessus ou soient ignorés visuellement. */
.fr-page-builder-content .wp-block-heading,
.fr-page-builder-content p,
.fr-page-builder-content .wp-block-paragraph{
  color:inherit;
}


/* === V24 : couleurs hero séparées des couleurs de section === */
.fr-page-header .fr-eyebrow{
  color:var(--fr-hero-eyebrow, #fff) !important;
}

.fr-page-header .fr-header-title{
  color:var(--fr-hero-title, #fff) !important;
}

.fr-page-header .fr-header-sub{
  color:var(--fr-hero-text, #fff) !important;
}

.fr-page-header .fr-home-hero-baseline{
  color:var(--fr-home-logo-text, #fff) !important;
}

.fr-page-header .fr-home-hero-subline{
  color:var(--fr-home-subline, #fff) !important;
}

.fr-page-header__content,
.fr-home-hero-content{
  text-shadow:var(--fr-hero-text-shadow, 0 3px 22px rgba(7,17,43,.50)) !important;
}

.fr-page-header .fr-button--primary{
  background:var(--fr-hero-button-bg, #07112b) !important;
  border-color:var(--fr-hero-button-bg, #07112b) !important;
  color:var(--fr-hero-button-text, #fff) !important;
}


/* === V25 : footer vraiment séparé et lisible === */

.fr-site-footer,
footer.fr-site-footer,
.fr-footer{
  background:var(--fr-footer-bg, #07112b) !important;
  color:var(--fr-footer-text, #dbe6ff) !important;
  border-top:1px solid color-mix(in srgb, var(--fr-footer-border, #2c457f) 72%, transparent) !important;
}

.fr-site-footer{
  padding-top:72px !important;
  position:relative;
  overflow:hidden;
}

.fr-site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--fr-footer-border, #2c457f) 80%, white 20%), transparent);
  opacity:.75;
}

.fr-footer-cta{
  transform:none !important;
  margin-top:0 !important;
  margin-bottom:64px !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--fr-footer-card, #13295e) 70%, white 10%), transparent 44%),
    linear-gradient(135deg, var(--fr-footer-card, #13295e), color-mix(in srgb, var(--fr-footer-bg, #07112b) 82%, black 18%)) !important;
  border:1px solid color-mix(in srgb, var(--fr-footer-border, #2c457f) 82%, white 18%) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.28) !important;
  border-radius:calc(var(--fr-radius, 24px) + 2px) !important;
}

.fr-footer-cta,
.fr-footer-cta *{
  color:var(--fr-footer-text, #dbe6ff) !important;
}

.fr-footer-cta__eyebrow,
.fr-site-footer .fr-eyebrow{
  color:var(--fr-footer-muted, #8aa4df) !important;
}

.fr-footer-cta__title,
.fr-site-footer h2,
.fr-site-footer h3,
.fr-site-footer .fr-footer-title,
.fr-site-footer .fr-footer-col-title{
  color:var(--fr-footer-title, #ffffff) !important;
  text-shadow:none !important;
}

.fr-footer-cta__text,
.fr-site-footer p,
.fr-site-footer span,
.fr-site-footer li{
  color:var(--fr-footer-text, #dbe6ff) !important;
}

.fr-site-footer a,
.fr-footer-nav a{
  color:var(--fr-footer-text, #dbe6ff) !important;
  text-decoration:none;
}

.fr-site-footer a:hover,
.fr-footer-nav a:hover{
  color:var(--fr-footer-title, #ffffff) !important;
}

.fr-site-footer .fr-button--primary{
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:var(--fr-footer-bg, #07112b) !important;
}

.fr-site-footer .fr-button--ghost,
.fr-site-footer .fr-button--ghost-light{
  background:transparent !important;
  border-color:color-mix(in srgb, var(--fr-footer-border, #2c457f) 65%, white 35%) !important;
  color:var(--fr-footer-title, #ffffff) !important;
}

.fr-footer-grid{
  padding-top:12px !important;
  padding-bottom:54px !important;
  border-bottom:1px solid color-mix(in srgb, var(--fr-footer-border, #2c457f) 65%, transparent) !important;
}

.fr-footer-bottom{
  padding-top:24px !important;
  color:var(--fr-footer-muted, #8aa4df) !important;
}

.fr-footer-logo,
.fr-footer-wordmark,
.fr-site-footer .fr-wordmark{
  color:var(--fr-footer-title, #ffffff) !important;
}

.fr-footer-logo img{
  filter:none !important;
}

@media(max-width:760px){
  .fr-site-footer{
    padding-top:48px !important;
  }

  .fr-footer-cta{
    margin-bottom:44px !important;
    padding:28px !important;
  }

  .fr-footer-cta__title{
    font-size:clamp(2.2rem, 11vw, 3.4rem) !important;
    line-height:1.02 !important;
  }

  .fr-footer-grid{
    gap:34px !important;
  }
}

/* Shortcodes : si un shortcode est dans un paragraphe, éviter une marge énorme */
.fr-page-builder-content > p:has(.fr-shortcode-placeholder){
  margin:0 !important;
}


/* === V26 : correction shortcodes + vidéo hero sur mobile === */

/* Ancienne règle du thème cachait volontairement les vidéos sur mobile.
   On l'annule pour afficher les vidéos aussi en responsive. */
@media (max-width: 760px){
  .fr-page-header__video{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

.fr-page-header__video{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:1 !important;
}

.fr-page-header__image.is-video-fallback{
  display:block !important;
  z-index:0 !important;
}

.fr-video-ready .fr-page-header__image.is-video-fallback,
.fr-video-has-metadata .fr-page-header__image.is-video-fallback{
  display:none !important;
}

.fr-video-failed .fr-page-header__video{
  display:none !important;
}

.fr-video-failed .fr-page-header__image.is-video-fallback{
  display:block !important;
}

/* Message shortcode brut : normalement corrigé par alias, mais on évite les marges parasites autour des blocs shortcode. */
.fr-page-builder-content .wp-block-shortcode{
  margin:0 !important;
}


/* === V27 : ajustements contenus client + menu + métriques === */

/* Menu : plus respirant, meilleur équilibre logo / navigation */
.fr-site-header__inner{
  gap:clamp(16px, 2.4vw, 42px) !important;
  padding-left:clamp(16px, 2vw, 28px) !important;
  padding-right:clamp(16px, 2vw, 28px) !important;
}

.fr-logo{
  min-width:132px !important;
  flex:0 0 auto !important;
}

.fr-main-nav{
  flex:1 1 auto !important;
  display:flex !important;
  justify-content:center !important;
  min-width:0 !important;
}

.fr-nav-list{
  gap:clamp(6px, .8vw, 12px) !important;
  flex-wrap:nowrap !important;
}

.fr-nav-list a{
  padding-inline:clamp(11px, .95vw, 16px) !important;
}

/* Capsules métriques : alignées sur une même ligne desktop */
.fr-metrics-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.fr-metric-card{
  min-height:118px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding:20px 18px !important;
}

.fr-metric-card__body{
  min-width:0 !important;
}

.fr-metric-card__label{
  font-size:9px !important;
  letter-spacing:.18em !important;
  line-height:1.25 !important;
  white-space:normal !important;
}

.fr-metric-card__value{
  font-size:clamp(26px, 2.3vw, 36px) !important;
  margin-top:8px !important;
  white-space:nowrap !important;
}

.fr-metric-card__icon{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}

/* Footer : lisibilité coordonnées multi-lignes */
.fr-footer-list{
  gap:9px !important;
}

.fr-footer-list span{
  line-height:1.55 !important;
}

.fr-footer-text{
  max-width:36rem !important;
}

/* Responsive : menu mobile reste vertical */
@media(max-width:1180px){
  .fr-main-nav{display:none !important;}
}

@media(max-width:760px){
  .fr-logo{
    min-width:0 !important;
  }

  .fr-metrics-grid{
    grid-template-columns:1fr !important;
  }

  .fr-metric-card{
    min-height:96px !important;
  }
}


/* === V28 : correction footer contact + logo blanc + shortcode source story === */

.fr-site-footer .fr-footer-logo img,
.fr-site-footer .fr-footer-logo-img {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

.fr-site-footer .fr-wordmark,
.fr-site-footer .fr-wordmark *,
.fr-site-footer .fr-footer-logo,
.fr-site-footer .fr-footer-logo * {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.55) !important;
}

.fr-site-footer .fr-footer-list span:last-child {
  color: var(--fr-footer-title, #ffffff) !important;
  font-weight: 600 !important;
}

.fr-site-footer .fr-footer-list {
  line-height: 1.55 !important;
}

/* Renforce la lisibilité de tous les textes du footer */
.fr-site-footer,
.fr-site-footer p,
.fr-site-footer span,
.fr-site-footer li,
.fr-site-footer a {
  color: var(--fr-footer-text, #dbe6ff) !important;
}

.fr-site-footer h2,
.fr-site-footer h3,
.fr-site-footer .fr-footer-title,
.fr-site-footer .fr-footer-col-title,
.fr-footer-cta__title {
  color: #ffffff !important;
}



/* === V29 : footer lisible + contact propre === */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow{
  color:#ffffff !important;
  opacity:.72 !important;
  letter-spacing:.30em !important;
}

.fr-footer-cta__title{
  color:#ffffff !important;
  max-width:820px !important;
}

.fr-footer-cta__text{
  color:#dbe6ff !important;
}

.fr-footer-grid{
  grid-template-columns:minmax(240px,1.15fr) minmax(150px,.8fr) minmax(190px,.9fr) minmax(240px,1fr) !important;
  gap:clamp(28px,4vw,64px) !important;
  align-items:start !important;
}

.fr-footer-list{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:9px !important;
  color:#dbe6ff !important;
  font-size:14px !important;
  line-height:1.55 !important;
  min-width:0 !important;
}

.fr-footer-list span{
  display:block !important;
  width:100% !important;
  color:#dbe6ff !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.55 !important;
}

.fr-footer-list span:last-child{
  color:#ffffff !important;
  font-weight:700 !important;
}

.fr-footer-heading{
  color:#ffffff !important;
}

.fr-footer-copy-text,
.fr-footer-text{
  color:#dbe6ff !important;
  line-height:1.85 !important;
}

.fr-contact-box__value{
  white-space:normal !important;
}

@media(max-width:980px){
  .fr-footer-grid{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:640px){
  .fr-footer-grid{
    grid-template-columns:1fr !important;
  }
}


/* === V30 : section informations nourrissons === */
.fr-infant-section{
  background:linear-gradient(180deg, #ffffff 0%, var(--fr-soft, #f8fbff) 100%) !important;
}
.fr-infant-card{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);
  gap:clamp(28px,4vw,64px);
  align-items:stretch;
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:var(--fr-radius, 24px);
  background:#ffffff;
  box-shadow:var(--fr-shadow, 0 24px 70px rgba(7,17,43,.08));
  overflow:hidden;
}
.fr-infant-card__content{padding:clamp(30px,5vw,64px);}
.fr-infant-points{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
.fr-infant-point{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px;
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:18px;
  background:var(--fr-soft, #f8fbff);
}
.fr-infant-point h3{
  margin:0 0 6px;
  font-family:var(--fr-serif);
  font-size:clamp(1.3rem,2.2vw,1.85rem);
  line-height:1.05;
  color:var(--fr-text, #07112b);
}
.fr-infant-point p{margin:0;color:var(--fr-muted,#13295e);line-height:1.7;font-size:14px;}
.fr-infant-note{margin:24px 0 0;color:var(--fr-muted,#13295e);font-size:13px;line-height:1.7;opacity:.82;}
.fr-infant-card__visual{
  min-height:420px;
  background:
    radial-gradient(circle at 54% 38%, rgba(255,255,255,.55), transparent 28%),
    linear-gradient(135deg, rgba(196,211,239,.96), rgba(232,237,248,.65)),
    url('https://images.unsplash.com/photo-1544126592-807ade215a0b?w=900&q=75&auto=format&fit=crop') center/cover;
  position:relative;
}
.fr-infant-card__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(7,17,43,.18));
}
.fr-infant-badge{
  position:absolute;
  z-index:2;
  left:clamp(22px,4vw,44px);
  bottom:clamp(22px,4vw,44px);
  width:min(260px, calc(100% - 44px));
  padding:22px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:22px;
  background:rgba(7,17,43,.72);
  color:#fff;
  backdrop-filter:blur(14px);
}
.fr-infant-badge span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.78;}
.fr-infant-badge strong{display:block;margin-top:10px;font-family:var(--fr-serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:.9;}
.fr-infant-badge small{display:block;margin-top:8px;opacity:.82;}
@media(max-width:900px){
  .fr-infant-card{grid-template-columns:1fr;}
  .fr-infant-card__visual{min-height:300px;order:-1;}
}


/* === V31 : titres plus compacts et moins envahissants === */
:root{
  --fr-title-scale: .82;
  --fr-hero-title-scale: .82;
  --fr-card-title-scale: .82;
}

/* Titres principaux de section */
.fr-section-title,
.fr-page-builder-content > h2,
.fr-page-builder-content .wp-block-heading{
  font-size:clamp(2.25rem, calc(4.8vw * var(--fr-title-scale, .82)), 4.85rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  max-width:980px !important;
}

/* Titres hero hors logo image */
.fr-header-title{
  font-size:clamp(2.8rem, calc(7vw * var(--fr-hero-title-scale, .82)), 5.8rem) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
}

/* Titre hero accueil avec logo image : texte de fallback plus petit si affiché */
.fr-home-hero-title,
.fr-home-hero-content .fr-header-title{
  font-size:clamp(2.8rem, calc(6.2vw * var(--fr-hero-title-scale, .82)), 5.4rem) !important;
}

/* Titres dans cartes, contact, produits, footer */
.fr-card-title,
.fr-contact-box .fr-card-title,
.fr-form-card .fr-card-title,
.fr-product-card__title,
.fr-feature-card__title,
.fr-footer-cta__title,
.fr-infant-point h3,
.fr-journey-card__title{
  font-size:clamp(1.75rem, calc(3.3vw * var(--fr-card-title-scale, .82)), 3.3rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}

/* Le titre du bloc nourrissons ne doit plus prendre toute la page */
.fr-infant-card .fr-section-title{
  font-size:clamp(2rem, calc(4vw * var(--fr-title-scale, .82)), 4.1rem) !important;
  line-height:1.03 !important;
  max-width:850px !important;
}

/* Titre CTA footer plus lisible, moins géant */
.fr-footer-cta__title{
  font-size:clamp(2rem, calc(4vw * var(--fr-card-title-scale, .82)), 4rem) !important;
  line-height:1.05 !important;
  max-width:820px !important;
}

/* Titres des valeurs / repères beaucoup moins gros */
.fr-metric-card__value{
  font-size:clamp(1.55rem, 2.1vw, 2.5rem) !important;
  line-height:1.02 !important;
}

.fr-product-card__title{
  font-size:clamp(1.85rem, 2.8vw, 3rem) !important;
}

.fr-section{
  overflow:hidden;
}

@media(max-width:760px){
  .fr-section-title,
  .fr-page-builder-content > h2,
  .fr-page-builder-content .wp-block-heading{
    font-size:clamp(2rem, 11vw, 3.25rem) !important;
    line-height:1.03 !important;
  }

  .fr-header-title{
    font-size:clamp(2.45rem, 13vw, 4rem) !important;
    line-height:.96 !important;
  }

  .fr-card-title,
  .fr-contact-box .fr-card-title,
  .fr-form-card .fr-card-title,
  .fr-footer-cta__title{
    font-size:clamp(1.75rem, 9vw, 2.75rem) !important;
    line-height:1.06 !important;
  }

  .fr-infant-card .fr-section-title{
    font-size:clamp(1.95rem, 10vw, 3rem) !important;
  }
}


/* === V32 : équilibrage des cartes d'information desktop + mobile === */

/* Grilles de petites cartes : timeline, engagements, repères, packs, valeurs */
.fr-timeline-grid,
.fr-history-grid,
.fr-feature-grid,
.fr-engagement-grid,
.fr-values-grid,
.fr-source-cards,
.fr-info-grid {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(14px, 1.6vw, 22px) !important;
  align-items:stretch !important;
}

/* Cartes plus compactes et alignées */
.fr-feature-card,
.fr-history-card,
.fr-value-card,
.fr-source-card,
.fr-timeline-card,
.fr-engagement-card {
  min-height:210px !important;
  padding:clamp(20px, 2.1vw, 28px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:14px !important;
}

/* Pictos plus constants */
.fr-feature-card .fr-picto,
.fr-history-card .fr-picto,
.fr-value-card .fr-picto,
.fr-source-card .fr-picto,
.fr-timeline-card .fr-picto,
.fr-engagement-card .fr-picto {
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}

/* Titres de petites cartes : éviter les gros retours bizarres */
.fr-feature-card__title,
.fr-history-card__title,
.fr-value-card__title,
.fr-source-card__title,
.fr-timeline-card__title,
.fr-engagement-card__title,
.fr-feature-card h3,
.fr-history-card h3,
.fr-value-card h3,
.fr-source-card h3,
.fr-timeline-card h3,
.fr-engagement-card h3 {
  font-size:clamp(1.55rem, 2.2vw, 2.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.025em !important;
  text-wrap:balance !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  max-width:100% !important;
}

/* Nombres et données : ne jamais couper les valeurs importantes */
.fr-metric-card__value,
.fr-product-card__title,
.fr-composition-item strong,
.fr-infant-badge strong,
.fr-feature-card__title,
.fr-history-card__title,
.fr-source-card__title,
.fr-timeline-card__title {
  white-space:normal !important;
}

.fr-metric-card__value,
.fr-composition-item strong,
.fr-infant-badge strong {
  white-space:nowrap !important;
}

/* Cas spécifiques : titres courts en une ligne si possible */
.fr-history-card__title,
.fr-source-card__title,
.fr-timeline-card__title,
.fr-feature-card h3 {
  min-height:2.1em !important;
}

/* Texte des cartes plus compact et lisible */
.fr-feature-card__text,
.fr-history-card__text,
.fr-value-card__text,
.fr-source-card__text,
.fr-timeline-card__text,
.fr-engagement-card__text,
.fr-feature-card p,
.fr-history-card p,
.fr-value-card p,
.fr-source-card p,
.fr-timeline-card p,
.fr-engagement-card p {
  font-size:14px !important;
  line-height:1.65 !important;
  max-width:32ch !important;
}

/* Section source : meilleur équilibre du bloc "Une histoire..." */
.fr-source-history .fr-section-title,
.fr-history-section .fr-section-title,
.fr-source-story .fr-section-title {
  max-width:720px !important;
  font-size:clamp(2.3rem, 4.2vw, 4.4rem) !important;
  line-height:1.02 !important;
  text-wrap:balance !important;
}

/* Les capsules métriques doivent rester sur la même ligne en desktop */
.fr-metrics-grid {
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(14px, 1.4vw, 20px) !important;
}

.fr-metric-card {
  min-height:112px !important;
  padding:18px 18px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.fr-metric-card__label {
  font-size:9px !important;
  line-height:1.2 !important;
  letter-spacing:.18em !important;
}

.fr-metric-card__value {
  font-size:clamp(1.7rem, 2.05vw, 2.45rem) !important;
  line-height:.98 !important;
}

/* Cartes produits : formats/nombres sur une ligne */
.fr-product-card__title {
  font-size:clamp(1.85rem, 2.5vw, 2.8rem) !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Tableaux : éviter les casses moches dans les cellules courtes */
.fr-compare-table th,
.fr-compare-table td {
  white-space:nowrap !important;
}

.fr-compare-table th:first-child,
.fr-compare-table td:first-child {
  white-space:normal !important;
}

/* Responsive tablette : 2 colonnes équilibrées */
@media(max-width:1024px){
  .fr-timeline-grid,
  .fr-history-grid,
  .fr-feature-grid,
  .fr-engagement-grid,
  .fr-values-grid,
  .fr-source-cards,
  .fr-info-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .fr-feature-card,
  .fr-history-card,
  .fr-value-card,
  .fr-source-card,
  .fr-timeline-card,
  .fr-engagement-card {
    min-height:190px !important;
  }

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

/* Mobile : cartes compactes, textes pas cassés n'importe comment */
@media(max-width:640px){
  .fr-timeline-grid,
  .fr-history-grid,
  .fr-feature-grid,
  .fr-engagement-grid,
  .fr-values-grid,
  .fr-source-cards,
  .fr-info-grid {
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .fr-feature-card,
  .fr-history-card,
  .fr-value-card,
  .fr-source-card,
  .fr-timeline-card,
  .fr-engagement-card {
    min-height:auto !important;
    padding:20px !important;
    gap:12px !important;
  }

  .fr-feature-card__title,
  .fr-history-card__title,
  .fr-value-card__title,
  .fr-source-card__title,
  .fr-timeline-card__title,
  .fr-engagement-card__title,
  .fr-feature-card h3,
  .fr-history-card h3,
  .fr-value-card h3,
  .fr-source-card h3,
  .fr-timeline-card h3,
  .fr-engagement-card h3 {
    font-size:clamp(1.65rem, 8vw, 2.35rem) !important;
    line-height:1.04 !important;
    min-height:0 !important;
  }

  .fr-feature-card__text,
  .fr-history-card__text,
  .fr-value-card__text,
  .fr-source-card__text,
  .fr-timeline-card__text,
  .fr-engagement-card__text,
  .fr-feature-card p,
  .fr-history-card p,
  .fr-value-card p,
  .fr-source-card p,
  .fr-timeline-card p,
  .fr-engagement-card p {
    max-width:none !important;
    font-size:14px !important;
    line-height:1.65 !important;
  }

  .fr-metrics-grid {
    grid-template-columns:1fr !important;
  }

  .fr-metric-card {
    min-height:86px !important;
    padding:16px !important;
  }

  .fr-metric-card__value {
    font-size:clamp(1.65rem, 8vw, 2.35rem) !important;
  }
}


/* === V33 : nouvelle section qualité sans tableau comparatif === */
.fr-quality-overview-section{
  background:linear-gradient(180deg, var(--fr-soft, #f8fbff) 0%, #ffffff 100%) !important;
}
.fr-quality-overview-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);
  gap:clamp(28px,5vw,80px);
  align-items:end;
  margin-bottom:clamp(32px,5vw,58px);
}
.fr-quality-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
}
.fr-quality-card{
  min-height:230px;
  padding:clamp(20px,2.4vw,30px);
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:var(--fr-radius, 24px);
  background:#ffffff;
  box-shadow:0 18px 54px rgba(7,17,43,.07);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.fr-quality-card__label{
  margin-top:4px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:700;
  color:var(--fr-accent, #244694);
}
.fr-quality-card__value{
  font-family:var(--fr-serif);
  font-size:clamp(2.15rem,3.1vw,3.75rem);
  line-height:1;
  letter-spacing:-.035em;
  color:var(--fr-text, #07112b);
  white-space:nowrap;
}
.fr-quality-card p{
  margin:0;
  color:var(--fr-muted,#13295e);
  line-height:1.7;
  font-size:14px;
  max-width:34ch;
}
.fr-quality-usage{
  margin-top:clamp(22px,3vw,34px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.fr-quality-usage article{
  padding:22px;
  border-radius:20px;
  background:var(--fr-soft,#eef4ff);
  border:1px solid var(--fr-line, rgba(7,17,43,.10));
}
.fr-quality-usage strong{
  display:block;
  font-family:var(--fr-serif);
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.05;
  color:var(--fr-text,#07112b);
  margin-bottom:10px;
}
.fr-quality-usage span{
  display:block;
  color:var(--fr-muted,#13295e);
  line-height:1.7;
  font-size:14px;
}
.fr-comparison-table-section,
.fr-comparison-section,
.fr-compare-section{
  display:none !important;
}
@media(max-width:980px){
  .fr-quality-overview-head{grid-template-columns:1fr;align-items:start;}
  .fr-quality-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fr-quality-usage{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .fr-quality-overview-grid{grid-template-columns:1fr;}
  .fr-quality-card{min-height:auto;}
  .fr-quality-card__value{font-size:clamp(2rem,12vw,3.1rem);}
}


/* === V35 Safe : suppression visible du tableau comparatif === */
.fr-comparison-table-section,
.fr-comparison-section,
.fr-compare-section,
.fr-comparison-wrapper,
.fr-water-comparison,
.fr-table-comparison{
  display:none !important;
}

.fr-quality-overview-section{
  background:linear-gradient(180deg, var(--fr-soft, #f8fbff) 0%, #ffffff 100%) !important;
}

.fr-quality-overview-head{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(320px,.78fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  margin-bottom:clamp(30px,5vw,56px);
}

.fr-quality-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
}

.fr-quality-card{
  min-height:220px;
  padding:clamp(20px,2.3vw,30px);
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:var(--fr-radius, 24px);
  background:#ffffff;
  box-shadow:0 18px 54px rgba(7,17,43,.07);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.fr-quality-card__label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:700;
  color:var(--fr-blue, #244694);
}

.fr-quality-card__value{
  font-family:var(--fr-serif);
  font-size:clamp(2rem,3vw,3.5rem);
  line-height:1;
  letter-spacing:-.035em;
  color:var(--fr-text, #07112b);
  white-space:nowrap;
}

.fr-quality-card p{
  margin:0;
  color:var(--fr-muted,#13295e);
  line-height:1.65;
  font-size:14px;
  max-width:34ch;
}

.fr-quality-usage{
  margin-top:clamp(22px,3vw,34px);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.fr-quality-usage article{
  padding:20px;
  border-radius:20px;
  background:var(--fr-soft,#eef4ff);
  border:1px solid var(--fr-line, rgba(7,17,43,.10));
}

.fr-quality-usage strong{
  display:block;
  font-family:var(--fr-serif);
  font-size:clamp(1.25rem,1.8vw,1.85rem);
  line-height:1.05;
  color:var(--fr-text,#07112b);
  margin-bottom:9px;
}

.fr-quality-usage span{
  display:block;
  color:var(--fr-muted,#13295e);
  line-height:1.65;
  font-size:14px;
}

@media(max-width:980px){
  .fr-quality-overview-head{grid-template-columns:1fr;align-items:start;}
  .fr-quality-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fr-quality-usage{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:640px){
  .fr-quality-overview-grid,
  .fr-quality-usage{grid-template-columns:1fr;}
  .fr-quality-card{min-height:auto;}
}


/* === V36 Safe : sections éditables home intro + partenaires === */
.fr-home-intro-section{
  background:#ffffff !important;
}

.fr-home-intro-card{
  max-width:none !important;
}

.fr-partners-section{
  background:#ffffff !important;
}

.fr-partners-card{
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:var(--fr-radius, 24px);
  background:#ffffff;
  box-shadow:0 22px 70px rgba(7,17,43,.07);
  padding:clamp(28px, 5vw, 58px);
}

.fr-partners-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);
  gap:clamp(28px, 5vw, 72px);
  align-items:end;
  margin-bottom:clamp(28px, 4vw, 44px);
}

.fr-partners-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(14px, 1.5vw, 22px);
  align-items:stretch;
}

.fr-partner-item{
  min-height:128px;
  padding:22px;
  border:1px solid var(--fr-line, rgba(7,17,43,.10));
  border-radius:20px;
  background:var(--fr-soft, #f8fbff);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.fr-partner-item a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  color:var(--fr-text, #07112b);
  text-decoration:none;
}

.fr-partner-item img{
  display:block;
  max-width:100%;
  max-height:76px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:none !important;
}

.fr-partner-item span{
  font-family:var(--fr-serif);
  font-size:clamp(1.2rem, 1.9vw, 1.8rem);
  line-height:1.08;
  color:var(--fr-text, #07112b);
}

@media(max-width:980px){
  .fr-partners-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .fr-partners-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fr-partners-grid{
    grid-template-columns:1fr;
  }
  .fr-partner-item{
    min-height:104px;
  }
}


/* === V37 Safe : texte de section plus aéré, notamment "La composition en un regard" === */

/* La section qualité ne doit plus avoir un paragraphe trop étroit */
.fr-quality-overview-head{
  grid-template-columns:minmax(420px, .88fr) minmax(500px, .92fr) !important;
  gap:clamp(40px, 6vw, 96px) !important;
  align-items:center !important;
  margin-bottom:clamp(36px, 5vw, 64px) !important;
}

.fr-quality-overview-head .fr-section-title{
  max-width:820px !important;
  text-wrap:balance !important;
}

.fr-quality-overview-head .fr-section-text{
  max-width:680px !important;
  font-size:clamp(15.5px, 1.05vw, 17px) !important;
  line-height:1.95 !important;
  letter-spacing:.005em !important;
  color:var(--fr-muted, #13295e) !important;
}

/* Même logique pour les autres intros en deux colonnes */
.fr-partners-head,
.fr-section-intro{
  gap:clamp(34px, 5vw, 86px) !important;
}

.fr-partners-head .fr-section-text,
.fr-section-intro .fr-section-text{
  max-width:680px !important;
  line-height:1.9 !important;
}

/* Les titres très étroits dans les grilles éditoriales respirent mieux */
.fr-section-title{
  text-wrap:balance !important;
}

.fr-content-card .fr-section-text,
.fr-home-intro-card .fr-section-text{
  max-width:920px !important;
  line-height:1.9 !important;
}

/* Responsive : on repasse proprement en une colonne, sans texte collé */
@media(max-width:1180px){
  .fr-quality-overview-head{
    grid-template-columns:1fr !important;
    gap:22px !important;
    align-items:start !important;
  }

  .fr-quality-overview-head .fr-section-title{
    max-width:900px !important;
  }

  .fr-quality-overview-head .fr-section-text{
    max-width:820px !important;
  }
}

@media(max-width:640px){
  .fr-quality-overview-head,
  .fr-partners-head,
  .fr-section-intro{
    gap:18px !important;
  }

  .fr-quality-overview-head .fr-section-text,
  .fr-partners-head .fr-section-text,
  .fr-section-intro .fr-section-text,
  .fr-content-card .fr-section-text,
  .fr-home-intro-card .fr-section-text{
    max-width:none !important;
    font-size:15px !important;
    line-height:1.78 !important;
  }
}


/* === V38 Safe : partenaires sans masque + titre composition mieux composé === */

/* Titre “La composition en un regard” sur 2 lignes propres */
.fr-quality-title{
  max-width:760px !important;
  text-wrap:balance !important;
}

.fr-quality-title span{
  display:block !important;
  white-space:nowrap !important;
}

@media(max-width:640px){
  .fr-quality-title span{
    white-space:normal !important;
  }
}

/* Logos partenaires : affichage en entier, pas de cercle, pas de crop */
.fr-partners-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(16px, 1.7vw, 24px) !important;
}

.fr-partner-item{
  min-height:170px !important;
  padding:22px !important;
  border:1px solid var(--fr-line, rgba(7,17,43,.12)) !important;
  border-radius:22px !important;
  background:#ffffff !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
  color:var(--fr-text, #07112b) !important;
  text-decoration:none !important;
  box-shadow:0 14px 42px rgba(7,17,43,.055) !important;
  overflow:visible !important;
}

.fr-partner-item:hover{
  background:var(--fr-soft, #f8fbff) !important;
  transform:translateY(-2px);
}

.fr-partner-logo-wrap{
  width:100% !important;
  height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

.fr-partner-logo-wrap img,
.fr-partner-item img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:92px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
  filter:none !important;
}

.fr-partner-name{
  display:block !important;
  font-family:var(--fr-sans, inherit) !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:var(--fr-text, #07112b) !important;
}

.fr-partner-link-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:var(--fr-soft, #eef4ff) !important;
  color:var(--fr-blue, #244694) !important;
  font-size:11px !important;
  font-weight:700 !important;
}

.fr-partner-logo-fallback{
  font-family:var(--fr-serif) !important;
  font-size:clamp(1.25rem, 1.8vw, 1.75rem) !important;
  line-height:1.08 !important;
  color:var(--fr-text, #07112b) !important;
}

@media(max-width:980px){
  .fr-partners-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:640px){
  .fr-partners-grid{
    grid-template-columns:1fr !important;
  }
  .fr-partner-item{
    min-height:140px !important;
  }
}


/* === V39 Safe : menu avec états actif / hover / normal lisibles === */

.fr-site-header,
.site-header,
.fr-header{
  --fr-menu-text: var(--fr-navy, #07112b);
  --fr-menu-muted: #244064;
  --fr-menu-hover-bg: #e8edf8;
  --fr-menu-active-bg: var(--fr-navy, #07112b);
  --fr-menu-active-text: #ffffff;
  --fr-menu-ring: rgba(36,70,148,.18);
}

/* Navigation desktop */
.fr-nav-list,
.fr-main-nav ul,
.site-header nav ul{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

.fr-nav-list li,
.fr-main-nav li,
.site-header nav li{
  position:relative !important;
}

.fr-nav-list a,
.fr-main-nav a,
.site-header nav a{
  position:relative !important;
  z-index:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  color:var(--fr-menu-text) !important;
  background:transparent !important;
  border:1px solid transparent !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  transition:
    color .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    transform .22s ease !important;
}

/* Pastille animée au hover */
.fr-nav-list a::before,
.fr-main-nav a::before,
.site-header nav a::before{
  content:"" !important;
  position:absolute !important;
  inset:3px !important;
  z-index:-1 !important;
  border-radius:999px !important;
  background:var(--fr-menu-hover-bg) !important;
  opacity:0 !important;
  transform:scaleX(.72) scaleY(.84) !important;
  transform-origin:center !important;
  transition:opacity .22s ease, transform .24s cubic-bezier(.2,.8,.2,1) !important;
}

/* État non actif */
.fr-nav-list a:not([aria-current="page"]),
.fr-main-nav a:not([aria-current="page"]),
.site-header nav a:not([aria-current="page"]){
  color:var(--fr-menu-muted) !important;
}

/* Hover non actif : texte bleu foncé sur fond bleu pâle */
.fr-nav-list a:hover:not([aria-current="page"]),
.fr-main-nav a:hover:not([aria-current="page"]),
.site-header nav a:hover:not([aria-current="page"]),
.fr-nav-list a:focus-visible:not([aria-current="page"]),
.fr-main-nav a:focus-visible:not([aria-current="page"]),
.site-header nav a:focus-visible:not([aria-current="page"]){
  color:var(--fr-menu-text) !important;
  background:transparent !important;
  transform:translateY(-1px) !important;
}

.fr-nav-list a:hover:not([aria-current="page"])::before,
.fr-main-nav a:hover:not([aria-current="page"])::before,
.site-header nav a:hover:not([aria-current="page"])::before,
.fr-nav-list a:focus-visible:not([aria-current="page"])::before,
.fr-main-nav a:focus-visible:not([aria-current="page"])::before,
.site-header nav a:focus-visible:not([aria-current="page"])::before{
  opacity:1 !important;
  transform:scaleX(1) scaleY(1) !important;
}

/* État actif : fond bleu foncé + texte blanc */
.fr-nav-list .current-menu-item > a,
.fr-nav-list .current_page_item > a,
.fr-nav-list .current_page_parent > a,
.fr-main-nav .current-menu-item > a,
.fr-main-nav .current_page_item > a,
.fr-main-nav .current_page_parent > a,
.site-header nav .current-menu-item > a,
.site-header nav .current_page_item > a,
.site-header nav .current_page_parent > a,
.fr-nav-list a[aria-current="page"],
.fr-main-nav a[aria-current="page"],
.site-header nav a[aria-current="page"]{
  background:var(--fr-menu-active-bg) !important;
  color:var(--fr-menu-active-text) !important;
  border-color:var(--fr-menu-active-bg) !important;
  box-shadow:0 10px 28px rgba(7,17,43,.16) !important;
}

.fr-nav-list .current-menu-item > a::before,
.fr-nav-list .current_page_item > a::before,
.fr-nav-list .current_page_parent > a::before,
.fr-main-nav .current-menu-item > a::before,
.fr-main-nav .current_page_item > a::before,
.fr-main-nav .current_page_parent > a::before,
.site-header nav .current-menu-item > a::before,
.site-header nav .current_page_item > a::before,
.site-header nav .current_page_parent > a::before,
.fr-nav-list a[aria-current="page"]::before,
.fr-main-nav a[aria-current="page"]::before,
.site-header nav a[aria-current="page"]::before{
  opacity:0 !important;
}

/* Hover actif : reste lisible, pas de texte blanc sur bouton blanc */
.fr-nav-list .current-menu-item > a:hover,
.fr-nav-list .current_page_item > a:hover,
.fr-nav-list .current_page_parent > a:hover,
.fr-main-nav .current-menu-item > a:hover,
.fr-main-nav .current_page_item > a:hover,
.fr-main-nav .current_page_parent > a:hover,
.site-header nav .current-menu-item > a:hover,
.site-header nav .current_page_item > a:hover,
.site-header nav .current_page_parent > a:hover,
.fr-nav-list a[aria-current="page"]:hover,
.fr-main-nav a[aria-current="page"]:hover,
.site-header nav a[aria-current="page"]:hover{
  background:var(--fr-menu-active-bg) !important;
  color:var(--fr-menu-active-text) !important;
  border-color:var(--fr-menu-active-bg) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 32px rgba(7,17,43,.22) !important;
}

/* Mobile : état actif et hover séparés */
.fr-mobile-nav-list a,
.fr-mobile-menu a,
.fr-mobile-nav a{
  display:flex !important;
  align-items:center !important;
  min-height:44px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  color:var(--fr-menu-text) !important;
  text-decoration:none !important;
  transition:background-color .2s ease, color .2s ease, transform .2s ease !important;
}

.fr-mobile-nav-list a:hover,
.fr-mobile-menu a:hover,
.fr-mobile-nav a:hover{
  background:var(--fr-menu-hover-bg) !important;
  color:var(--fr-menu-text) !important;
  transform:translateX(3px) !important;
}

.fr-mobile-nav-list .current-menu-item > a,
.fr-mobile-nav-list .current_page_item > a,
.fr-mobile-nav-list a[aria-current="page"],
.fr-mobile-menu .current-menu-item > a,
.fr-mobile-menu .current_page_item > a,
.fr-mobile-menu a[aria-current="page"],
.fr-mobile-nav .current-menu-item > a,
.fr-mobile-nav .current_page_item > a,
.fr-mobile-nav a[aria-current="page"]{
  background:var(--fr-menu-active-bg) !important;
  color:var(--fr-menu-active-text) !important;
}

/* Anciennes règles qui forçaient texte blanc sur hover */
.fr-nav-list a:hover,
.fr-main-nav a:hover,
.site-header nav a:hover{
  text-decoration:none !important;
}

/* Accessibilité clavier */
.fr-nav-list a:focus-visible,
.fr-main-nav a:focus-visible,
.site-header nav a:focus-visible,
.fr-mobile-nav-list a:focus-visible,
.fr-mobile-menu a:focus-visible,
.fr-mobile-nav a:focus-visible{
  outline:3px solid var(--fr-menu-ring) !important;
  outline-offset:2px !important;
}


/* === V40 Safe : footer CTA contraste + interlignage corrigé === */

/* Le petit label dans le footer doit rester lisible sur fond bleu foncé */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow,
.fr-site-footer .fr-footer-cta [class*="eyebrow"],
.fr-footer-cta .fr-eyebrow,
.fr-footer-cta__eyebrow,
footer .fr-footer-cta .fr-eyebrow{
  color:rgba(255,255,255,.72) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Correction du gros titre dans l'encart footer : moins d'interlignage, plus lisible */
.fr-site-footer .fr-footer-cta__title,
.fr-site-footer .fr-footer-cta h2,
.fr-site-footer .fr-footer-cta h3,
.fr-footer-cta__title,
.fr-footer-cta h2,
.fr-footer-cta h3{
  color:#ffffff !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  text-shadow:none !important;
}

/* Le texte de description du footer reste bien lisible */
.fr-site-footer .fr-footer-cta p,
.fr-footer-cta p{
  color:rgba(255,255,255,.82) !important;
  line-height:1.65 !important;
}

/* Empêche tout héritage bleu/noir dans les zones footer sombres */
.fr-site-footer,
.fr-site-footer .fr-footer-cta{
  color:#ffffff !important;
}

.fr-site-footer .fr-footer-cta a:not(.fr-button){
  color:#ffffff !important;
}

/* Responsive : titre footer moins haut sur mobile */
@media(max-width:760px){
  .fr-site-footer .fr-footer-cta__title,
  .fr-site-footer .fr-footer-cta h2,
  .fr-site-footer .fr-footer-cta h3,
  .fr-footer-cta__title,
  .fr-footer-cta h2,
  .fr-footer-cta h3{
    line-height:1 !important;
    letter-spacing:-.045em !important;
  }
}

/* === V40 Safe : vidéos hero mobile intégrées au thème === */
.fr-page-header__video{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:1 !important;
  pointer-events:none !important;
}

@media(max-width:760px){
  .fr-page-header__video{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

.fr-page-header__image.is-video-fallback{
  display:block !important;
  z-index:0 !important;
}

.fr-video-ready .fr-page-header__image.is-video-fallback,
.fr-video-has-metadata .fr-page-header__image.is-video-fallback{
  display:none !important;
}

.fr-video-waiting .fr-page-header__image.is-video-fallback{
  display:block !important;
}

.fr-video-failed .fr-page-header__video{
  display:none !important;
}


/* === V41 Safe : renfort footer lisibilité + page qualité éditable === */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow,
.fr-footer-cta .fr-eyebrow,
.fr-footer-cta__eyebrow,
footer .fr-footer-cta .fr-eyebrow,
footer [class*="footer"] [class*="eyebrow"]{
  color:rgba(255,255,255,.76) !important;
  opacity:1 !important;
}

.fr-site-footer .fr-footer-cta__title,
.fr-site-footer .fr-footer-cta h2,
.fr-site-footer .fr-footer-cta h3,
.fr-footer-cta__title,
.fr-footer-cta h2,
.fr-footer-cta h3{
  color:#ffffff !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
}

.fr-site-footer .fr-footer-cta p,
.fr-footer-cta p{
  color:rgba(255,255,255,.82) !important;
  line-height:1.65 !important;
}

.fr-quality-title span{
  display:block !important;
  white-space:nowrap !important;
}

@media(max-width:640px){
  .fr-quality-title span{
    white-space:normal !important;
  }
}


/* === V42 Safe : page contact — société en premier === */
.fr-contact-card--company,
.fr-contact-info-company,
.fr-contact-company,
.fr-contact-grid [data-contact="company"]{
  order:-10 !important;
  background:var(--fr-soft, #eef4ff) !important;
  border-color:rgba(7,17,43,.14) !important;
}


/* === V43 Safe : contact société en premier + conservation partenaires === */
.fr-contact-box--company{
  background:var(--fr-soft, #eef4ff) !important;
  border-color:rgba(7,17,43,.14) !important;
}


/* === V44 Preserve Partners : footer, pictos, minéralisation éditable, pages légales === */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow,
.fr-footer-cta .fr-eyebrow,
.fr-footer-cta__eyebrow{
  color:#ffffff !important;
  opacity:1 !important;
}

.fr-site-footer .fr-footer-cta__title,
.fr-site-footer .fr-footer-cta h2,
.fr-site-footer .fr-footer-cta h3,
.fr-footer-cta__title,
.fr-footer-cta h2,
.fr-footer-cta h3{
  color:#ffffff !important;
  line-height:.98 !important;
}

.fr-site-footer .fr-wordmark,
.fr-site-footer .fr-logo,
.fr-site-footer .site-logo,
.fr-site-footer [class*="wordmark"],
.fr-site-footer [class*="logo"]{
  color:#ffffff !important;
}

.fr-picto svg{
  width:22px;
  height:22px;
  display:block;
}

.fr-mineral-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:32px;
}

.fr-mineral-grid article{
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:18px;
  background:#fff;
  padding:18px;
  box-shadow:0 12px 32px rgba(7,17,43,.06);
}

.fr-mineral-grid span{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--fr-blue,#244694);
}

.fr-mineral-grid strong{
  display:block;
  margin-top:10px;
  font-family:var(--fr-serif);
  font-size:clamp(1.6rem,2.3vw,2.6rem);
  line-height:1;
  color:var(--fr-text,#07112b);
}

.fr-note{
  margin-top:18px;
  font-size:13px;
  color:var(--fr-muted,#13295e);
}

.fr-infant-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:26px;
  align-items:start;
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:28px;
  background:#fff;
  padding:clamp(28px,5vw,58px);
  box-shadow:0 22px 70px rgba(7,17,43,.08);
}

.fr-infant-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.fr-infant-badges span{
  border-radius:999px;
  background:var(--fr-soft,#eef4ff);
  border:1px solid rgba(7,17,43,.10);
  padding:9px 13px;
  font-size:12px;
  font-weight:700;
  color:var(--fr-text,#07112b);
}

.fr-legal-content{
  max-width:960px;
}

.fr-legal-content h1{
  font-family:var(--fr-serif);
  font-size:clamp(2.5rem,6vw,5rem);
  line-height:.95;
  letter-spacing:-.06em;
  color:var(--fr-text,#07112b);
  margin:0 0 36px;
}

.fr-legal-content h2{
  font-family:var(--fr-serif);
  font-size:clamp(1.7rem,3vw,2.4rem);
  line-height:1;
  letter-spacing:-.04em;
  margin:34px 0 12px;
  color:var(--fr-text,#07112b);
}

.fr-legal-content p,
.fr-legal-content li{
  font-size:16px;
  line-height:1.85;
  color:var(--fr-muted,#13295e);
}

.fr-legal-placeholder{
  display:inline-block;
  background:#fff4d8;
  color:#5b4200;
  border:1px solid #f0d37b;
  border-radius:8px;
  padding:2px 7px;
  font-weight:700;
}

@media(max-width:980px){
  .fr-mineral-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fr-mineral-grid{
    grid-template-columns:1fr;
  }
  .fr-infant-card{
    grid-template-columns:1fr;
  }
}


/* === V45 Preserve Partners : corrections footer + minéralisation visible === */

/* Retire le trait au-dessus de Mentions légales / RGPD / Cookies */
.fr-footer-bottom{
  border-top:0 !important;
  padding-top:0 !important;
}

/* Le label Fontaine de la Reine dans l'encart footer doit être lisible mais rester bleu */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow,
.fr-footer-cta .fr-eyebrow,
.fr-footer-cta__eyebrow{
  color:#9bb8ff !important;
  opacity:1 !important;
}

/* Le titre de l'encart footer reste blanc et lisible */
.fr-site-footer .fr-footer-cta__title,
.fr-site-footer .fr-footer-cta h2,
.fr-site-footer .fr-footer-cta h3,
.fr-footer-cta__title,
.fr-footer-cta h2,
.fr-footer-cta h3{
  color:#ffffff !important;
}

/* Séparation plus douce du footer sans double trait */
.fr-site-footer .fr-container::after,
.fr-site-footer::after{
  display:none !important;
}

/* Section minéralisation : garantit l'affichage propre quand appelée par shortcode */
.fr-page-builder-content .fr-mineral-details-section{
  margin-top:0 !important;
}

.fr-mineral-details-section{
  display:block !important;
}

/* Pages légales : rendu propre et lisible */
.fr-legal-section{
  background:#ffffff !important;
}

.fr-legal-content{
  max-width:980px !important;
}

.fr-legal-content h1{
  font-family:var(--fr-serif);
  font-size:clamp(2.7rem,6vw,5.4rem);
  line-height:.94;
  letter-spacing:-.065em;
  color:var(--fr-text,#07112b);
  margin:0 0 36px;
}

.fr-legal-content h2{
  font-family:var(--fr-serif);
  font-size:clamp(1.65rem,3vw,2.35rem);
  line-height:1;
  letter-spacing:-.045em;
  color:var(--fr-text,#07112b);
  margin:34px 0 12px;
}

.fr-legal-content p,
.fr-legal-content li{
  color:var(--fr-muted,#13295e);
  font-size:16px;
  line-height:1.85;
}

.fr-legal-content a{
  color:var(--fr-blue,#244694);
  font-weight:700;
}

.fr-legal-placeholder{
  display:inline-block;
  padding:2px 7px;
  border-radius:8px;
  background:#fff4d8;
  border:1px solid #e8ca6f;
  color:#5d4300;
  font-weight:700;
}


/* === V46 Safe Preserve Partners : UI, ergonomie, contraste, animations === */

/* Base lisibilité */
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

:root{
  --fr-focus:#9bb8ff;
}

/* Header plus premium et plus lisible */
.fr-site-header,
.site-header,
.fr-header{
  backdrop-filter:saturate(1.2) blur(18px);
}

.fr-site-header a,
.fr-main-nav a,
.site-header nav a{
  outline:none;
}

/* Focus clavier propre */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid rgba(155,184,255,.85) !important;
  outline-offset:3px !important;
}

/* Hover des cartes */
.fr-card,
.fr-quality-card,
.fr-product-card,
.fr-partner-item,
.fr-mineral-grid article,
.fr-contact-card,
.fr-infant-card{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
}

.fr-card:hover,
.fr-quality-card:hover,
.fr-product-card:hover,
.fr-partner-item:hover,
.fr-mineral-grid article:hover,
.fr-contact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(36,70,148,.26) !important;
  box-shadow:0 24px 70px rgba(7,17,43,.12) !important;
}

/* Boutons : micro interaction */
.fr-button,
button[class*="button"],
a[class*="button"]{
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease !important;
}

.fr-button:hover,
button[class*="button"]:hover,
a[class*="button"]:hover{
  transform:translateY(-1px);
}

/* Encart footer : contraste */
.fr-site-footer .fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-footer-cta__eyebrow,
.fr-footer-cta .fr-eyebrow,
.fr-footer-cta__eyebrow{
  color:#9bb8ff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.fr-site-footer .fr-footer-cta__title,
.fr-site-footer .fr-footer-cta h2,
.fr-site-footer .fr-footer-cta h3,
.fr-footer-cta__title,
.fr-footer-cta h2,
.fr-footer-cta h3{
  color:#ffffff !important;
  line-height:.98 !important;
}

.fr-site-footer .fr-footer-cta p,
.fr-footer-cta p{
  color:rgba(255,255,255,.82) !important;
}

/* Supprime le deuxième trait en bas du footer */
.fr-footer-bottom{
  border-top:0 !important;
  padding-top:0 !important;
}

.fr-site-footer .fr-container::after,
.fr-site-footer::after{
  display:none !important;
}

/* Contact footer plus lisible */
.fr-site-footer a,
.fr-site-footer span,
.fr-site-footer p,
.fr-site-footer li{
  overflow-wrap:anywhere;
}

/* Page qualité : la minéralisation doit être visible */
.fr-mineral-details-section{
  display:block !important;
}

.fr-page-builder-content .fr-mineral-details-section{
  margin-top:0 !important;
}

/* Grille minérale plus dense et lisible */
.fr-mineral-grid{
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
}

.fr-mineral-grid article{
  min-height:124px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Pages légales */
.fr-legal-section{
  background:#ffffff !important;
}

.fr-legal-content{
  max-width:980px !important;
}

.fr-legal-content h1{
  font-family:var(--fr-serif);
  font-size:clamp(2.7rem,6vw,5.4rem);
  line-height:.94;
  letter-spacing:-.065em;
  color:var(--fr-text,#07112b);
  margin:0 0 36px;
}

.fr-legal-content h2{
  font-family:var(--fr-serif);
  font-size:clamp(1.65rem,3vw,2.35rem);
  line-height:1;
  letter-spacing:-.045em;
  color:var(--fr-text,#07112b);
  margin:34px 0 12px;
}

.fr-legal-content p,
.fr-legal-content li{
  color:var(--fr-muted,#13295e);
  font-size:16px;
  line-height:1.85;
}

.fr-legal-content a{
  color:var(--fr-blue,#244694);
  font-weight:700;
}

/* Animations au scroll */
.fr-v46-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .65s ease,
    transform .65s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--fr-reveal-delay,0ms);
  will-change:opacity, transform;
}

.fr-v46-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Respect des préférences d’accessibilité */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }

  .fr-v46-reveal{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Responsive polish */
@media(max-width:760px){
  .fr-section-title,
  h1,h2{
    text-wrap:balance;
  }

  .fr-footer-cta{
    margin-inline:0 !important;
  }

  .fr-mineral-grid article{
    min-height:auto;
  }
}


/* === V47 : baseline officielle réellement visible et propre === */
.fr-page-header__baseline,
.fr-hero-baseline,
.fr-page-header .fr-eyebrow,
.fr-home-hero .fr-eyebrow{
  text-wrap:balance;
  max-width:980px;
  margin-inline:auto;
}

/* éviter une baseline trop écrasée quand elle est longue */
@media(max-width:760px){
  .fr-page-header__baseline,
  .fr-hero-baseline,
  .fr-page-header .fr-eyebrow,
  .fr-home-hero .fr-eyebrow{
    font-size:clamp(0.72rem, 2.8vw, 0.95rem) !important;
    line-height:1.35 !important;
    letter-spacing:.12em !important;
  }
}


/* === V48 : page Qualité & Engagement réparée === */
.fr-quality-page-v48{
  background:#ffffff;
}

.fr-engagement-grid-v48{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
  margin-top:36px;
}

.fr-engagement-card-v48{
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:24px;
  background:#fff;
  padding:clamp(22px,2.5vw,32px);
  box-shadow:0 18px 50px rgba(7,17,43,.08);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}

.fr-engagement-card-v48:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 70px rgba(7,17,43,.12);
  border-color:rgba(36,70,148,.28);
}

.fr-engagement-card-v48 h3{
  margin:18px 0 0;
  font-family:var(--fr-serif);
  font-size:clamp(1.65rem,2.4vw,2.45rem);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--fr-text,#07112b);
}

.fr-engagement-card-v48 p{
  margin:14px 0 0;
  color:var(--fr-muted,#13295e);
  font-size:15px;
  line-height:1.75;
}

@media(max-width:980px){
  .fr-engagement-grid-v48{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fr-engagement-grid-v48{
    grid-template-columns:1fr;
  }
}


/* === V49 : baseline officielle du hero éditable === */
.fr-home-hero-baseline,
.fr-page-header__baseline,
.fr-hero-baseline{
  text-wrap:balance;
  max-width:min(980px, 92vw);
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:760px){
  .fr-home-hero-baseline,
  .fr-page-header__baseline,
  .fr-hero-baseline{
    font-size:clamp(.72rem,2.8vw,.95rem) !important;
    line-height:1.35 !important;
    letter-spacing:.12em !important;
  }
}


/* === V50 : réparation menu/page Qualité & Engagement === */
.fr-quality-page-v48{ background:#ffffff; }
.fr-quality-page-v48 .fr-section:first-child{ padding-top:clamp(56px,7vw,100px); }
.fr-engagement-grid-v48{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
  margin-top:36px;
}
.fr-engagement-card-v48{
  border:1px solid var(--fr-line, rgba(7,17,43,.12));
  border-radius:24px;
  background:#fff;
  padding:clamp(22px,2.5vw,32px);
  box-shadow:0 18px 50px rgba(7,17,43,.08);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.fr-engagement-card-v48:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 70px rgba(7,17,43,.12);
  border-color:rgba(36,70,148,.28);
}
.fr-engagement-card-v48 h3{
  margin:18px 0 0;
  font-family:var(--fr-serif);
  font-size:clamp(1.65rem,2.4vw,2.45rem);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--fr-text,#07112b);
}
.fr-engagement-card-v48 p{
  margin:14px 0 0;
  color:var(--fr-muted,#13295e);
  font-size:15px;
  line-height:1.75;
}
@media(max-width:980px){ .fr-engagement-grid-v48{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px){ .fr-engagement-grid-v48{ grid-template-columns:1fr; } }


/* === V51 : menu Qualité corrigé + eyebrow bleu clair sur fonds foncés === */
.fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-eyebrow,
.fr-site-footer p.fr-eyebrow,
.fr-footer-cta p.fr-eyebrow,
.fr-dark-section .fr-eyebrow,
.fr-section--dark .fr-eyebrow{
  color:#9bb8ff !important;
  opacity:1 !important;
}

/* Ciblage spécifique demandé */
p.fr-eyebrow{
  transition:color .2s ease;
}

.fr-site-footer p.fr-eyebrow,
.fr-footer-cta p.fr-eyebrow{
  color:#9bb8ff !important;
}

/* Évite que l'état actif/hover du menu garde un ancien lien visuel bizarre */
.fr-main-nav a[href*="qualite-engagement"],
.fr-site-header a[href*="qualite-engagement"],
.site-header a[href*="qualite-engagement"]{
  white-space:nowrap;
}


/* === V52 : maillage discret Hugo Giorgi dans le footer === */
.fr-footer-credit{
  margin-top:14px;
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,.42);
}

.fr-footer-credit span{
  color:rgba(255,255,255,.42);
}

.fr-footer-credit a{
  color:rgba(255,255,255,.62) !important;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.18);
  transition:color .2s ease, border-color .2s ease;
}

.fr-footer-credit a:hover{
  color:#9bb8ff !important;
  border-color:#9bb8ff;
}

/* rappel : eyebrow footer en bleu clair */
.fr-footer-cta .fr-eyebrow,
.fr-site-footer .fr-eyebrow,
.fr-site-footer p.fr-eyebrow,
.fr-footer-cta p.fr-eyebrow{
  color:#9bb8ff !important;
  opacity:1 !important;
}


/* === V53 : mention Hugo Giorgi encore plus discrète === */
.fr-footer-credit{
  margin-top:4px !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
  color:rgba(255,255,255,.24) !important;
  opacity:1 !important;
}

.fr-footer-credit span{
  color:rgba(255,255,255,.22) !important;
}

.fr-footer-credit a{
  color:rgba(255,255,255,.30) !important;
  text-decoration:none !important;
  border-bottom:0 !important;
  font-weight:400 !important;
}

.fr-footer-credit a:hover{
  color:rgba(155,184,255,.72) !important;
  border-bottom:0 !important;
}

/* Si la mention est dans le bas du footer, elle reste secondaire */
.fr-footer-bottom .fr-footer-credit{
  margin-top:2px !important;
  flex-basis:100%;
  order:3;
}

/* Sur desktop, elle peut se placer en fin de ligne sans attirer l’œil */
@media(min-width:760px){
  .fr-footer-bottom .fr-footer-credit{
    flex-basis:auto;
    margin-left:auto;
    order:4;
    text-align:right;
  }
}

/* Sur mobile, elle descend proprement sous les liens légaux */
@media(max-width:759px){
  .fr-footer-credit{
    font-size:10px !important;
    margin-top:8px !important;
  }
}


/* === V54 : Source & Notre Eau · timeline au scroll === */
.fr-source-story-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(36,70,148,.08), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.fr-source-story-intro{
  margin-bottom:clamp(42px,6vw,76px);
}

.fr-source-story{
  --fr-source-progress:0;
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:clamp(18px,4vw,54px);
}

.fr-source-story__rail{
  position:sticky;
  top:140px;
  align-self:start;
  height:min(62vh,560px);
  display:flex;
  justify-content:center;
}

.fr-source-story__rail-track,
.fr-source-story__rail-fill{
  position:absolute;
  top:0;
  bottom:0;
  width:2px;
  border-radius:999px;
}

.fr-source-story__rail-track{
  background:rgba(7,17,43,.11);
}

.fr-source-story__rail-fill{
  bottom:auto;
  height:calc(var(--fr-source-progress) * 100%);
  background:linear-gradient(180deg, #9bb8ff 0%, #244694 100%);
  box-shadow:0 0 22px rgba(36,70,148,.22);
  transition:height .14s linear;
}

.fr-source-story__items{
  display:grid;
  gap:clamp(34px,7vw,90px);
}

.fr-source-story-step{
  position:relative;
  min-height:clamp(360px,56vh,620px);
  display:grid;
  align-items:center;
}

.fr-source-story-step__marker{
  position:absolute;
  left:calc(-1 * (clamp(18px,4vw,54px) + 88px) + 36px);
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(36,70,148,.25);
  background:#ffffff;
  color:#244694;
  box-shadow:0 12px 32px rgba(7,17,43,.10);
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.fr-source-story-step__marker span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
}

.fr-source-story-step.is-active .fr-source-story-step__marker{
  background:#07112b;
  color:#ffffff;
  transform:translateY(-50%) scale(1.08);
  box-shadow:0 18px 46px rgba(7,17,43,.22);
}

.fr-source-story-step__content{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);
  gap:clamp(24px,4vw,58px);
  align-items:center;
}

.fr-source-story-step__text{
  border:1px solid rgba(7,17,43,.12);
  border-radius:28px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  padding:clamp(26px,4vw,48px);
  box-shadow:0 24px 70px rgba(7,17,43,.08);
}

.fr-source-story-step__text .fr-picto{
  margin-bottom:20px;
}

.fr-source-story-step__kicker{
  margin:0 0 12px;
  font-size:11px;
  line-height:1.4;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:#244694;
}

.fr-source-story-step__text h3{
  margin:0;
  font-family:var(--fr-serif);
  font-size:clamp(2.4rem,5vw,5.6rem);
  line-height:.9;
  letter-spacing:-.075em;
  color:#07112b;
  text-wrap:balance;
}

.fr-source-story-step__text p:not(.fr-source-story-step__kicker){
  margin:22px 0 0;
  max-width:58ch;
  font-size:clamp(15px,1.2vw,17px);
  line-height:1.85;
  color:#13295e;
}

.fr-source-story-step__image{
  margin:0;
  min-height:clamp(320px,48vh,560px);
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(7,17,43,.12);
  background:#eef4ff;
  box-shadow:0 26px 78px rgba(7,17,43,.12);
}

.fr-source-story-step__image img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  display:block;
  transform:scale(1.04);
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1), filter .8s ease;
  filter:saturate(.96) contrast(1.02);
}

.fr-source-story-step.is-active .fr-source-story-step__image img{
  transform:scale(1);
}

@media(max-width:980px){
  .fr-source-story{
    grid-template-columns:48px minmax(0,1fr);
    gap:22px;
  }

  .fr-source-story__rail{
    top:112px;
    height:58vh;
  }

  .fr-source-story-step{
    min-height:auto;
    padding:12px 0 38px;
  }

  .fr-source-story-step__marker{
    left:-70px;
    top:34px;
    transform:none;
  }

  .fr-source-story-step.is-active .fr-source-story-step__marker{
    transform:scale(1.06);
  }

  .fr-source-story-step__content{
    grid-template-columns:1fr;
  }

  .fr-source-story-step__image{
    min-height:280px;
  }
}

@media(max-width:640px){
  .fr-source-story{
    grid-template-columns:1fr;
  }

  .fr-source-story__rail{
    display:none;
  }

  .fr-source-story-step__marker{
    position:relative;
    left:auto;
    top:auto;
    margin-bottom:14px;
  }

  .fr-source-story-step__text{
    padding:24px;
    border-radius:22px;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(2.4rem,15vw,4rem);
  }

  .fr-source-story-step__image{
    border-radius:22px;
    min-height:230px;
  }
}


/* === V2 : timeline Source plus propre === */

/* Titres moins collés : + environ 1px d’interlettrage */
.fr-source-story-step__text h3,
.fr-source-story-section .fr-section-title{
  letter-spacing:calc(-0.04em + 1px) !important;
}

/* Structure plus stable : rail centré dans sa colonne */
.fr-source-story{
  grid-template-columns:96px minmax(0,1fr) !important;
  column-gap:clamp(26px,4vw,64px) !important;
  align-items:start !important;
}

.fr-source-story__rail{
  position:sticky !important;
  top:132px !important;
  height:calc(100vh - 180px) !important;
  min-height:420px !important;
  max-height:680px !important;
  width:96px !important;
  display:grid !important;
  justify-items:center !important;
  align-items:stretch !important;
  align-self:start !important;
}

.fr-source-story__rail-track,
.fr-source-story__rail-fill{
  left:50% !important;
  transform:translateX(-50%) !important;
  width:3px !important;
  border-radius:999px !important;
}

.fr-source-story__rail-track{
  top:0 !important;
  bottom:0 !important;
  height:100% !important;
}

.fr-source-story__rail-fill{
  top:0 !important;
  bottom:auto !important;
  min-height:0 !important;
  height:calc(var(--fr-source-progress, 0) * 100%) !important;
  transition:height .08s linear !important;
}

/* Marker aligné exactement sur le rail */
.fr-source-story-step__marker{
  left:calc(-1 * (clamp(26px,4vw,64px) + 96px) + 48px) !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  text-align:center !important;
}

.fr-source-story-step.is-active .fr-source-story-step__marker{
  transform:translate(-50%, -50%) scale(1.08) !important;
}

/* Numéros parfaitement centrés dans les cercles */
.fr-source-story-step__marker span{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
  transform:translateY(.5px) !important;
}

/* Espacements plus propres */
.fr-source-story__items{
  gap:clamp(42px,8vw,112px) !important;
}

.fr-source-story-step{
  min-height:clamp(440px,62vh,720px) !important;
}

.fr-source-story-step__content{
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr) !important;
}

/* Mobile/tablette : rail caché, numéros propres au-dessus du bloc */
@media(max-width:980px){
  .fr-source-story{
    grid-template-columns:56px minmax(0,1fr) !important;
    column-gap:22px !important;
  }

  .fr-source-story__rail{
    width:56px !important;
    top:104px !important;
    height:calc(100vh - 160px) !important;
    min-height:360px !important;
  }

  .fr-source-story-step__marker{
    left:calc(-1 * (22px + 56px) + 28px) !important;
    top:28px !important;
    transform:translate(-50%, 0) !important;
  }

  .fr-source-story-step.is-active .fr-source-story-step__marker{
    transform:translate(-50%, 0) scale(1.06) !important;
  }

  .fr-source-story-step__content{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  .fr-source-story{
    grid-template-columns:1fr !important;
  }

  .fr-source-story__rail{
    display:none !important;
  }

  .fr-source-story-step__marker{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    margin-bottom:16px !important;
  }

  .fr-source-story-step.is-active .fr-source-story-step__marker{
    transform:scale(1.04) !important;
  }

  .fr-source-story-step__text h3,
  .fr-source-story-section .fr-section-title{
    letter-spacing:calc(-0.035em + .6px) !important;
  }
}


/* === V3 : menu/header sans flou latéral === */
.fr-site-header,
.site-header,
.fr-header,
.fr-site-header *,
.site-header *,
.fr-header *{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

/* Garde un fond propre et net pour la barre de navigation */
.fr-site-header,
.site-header,
.fr-header{
  background:transparent !important;
}

.fr-site-header__inner,
.fr-header__inner,
.site-header .fr-container,
.fr-menu-shell,
.fr-nav-shell,
header .fr-container{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}

/* Suppression des pseudo-éléments qui pouvaient créer un halo/flou sur les côtés */
.fr-site-header::before,
.fr-site-header::after,
.site-header::before,
.site-header::after,
.fr-header::before,
.fr-header::after,
.fr-site-header__inner::before,
.fr-site-header__inner::after,
.fr-header__inner::before,
.fr-header__inner::after,
.fr-menu-shell::before,
.fr-menu-shell::after,
.fr-nav-shell::before,
.fr-nav-shell::after{
  display:none !important;
  content:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Le menu reste lisible, mais sans effet vitre/flou */
.fr-site-header nav,
.site-header nav,
.fr-main-nav,
.fr-mobile-panel,
#fr-mobile-panel{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}


/* === V4 : timeline Source corrigée / responsive / overflow === */

/* Sécurité globale sur les cartes de timeline */
.fr-source-story-section,
.fr-source-story,
.fr-source-story__items,
.fr-source-story-step,
.fr-source-story-step__content,
.fr-source-story-step__text{
  min-width:0 !important;
}

/* Le fil doit être dans une colonne stable et centrée */
.fr-source-story{
  position:relative !important;
  display:grid !important;
  grid-template-columns:88px minmax(0,1fr) !important;
  gap:clamp(22px,3.6vw,54px) !important;
  align-items:start !important;
}

.fr-source-story__rail{
  position:sticky !important;
  top:132px !important;
  width:88px !important;
  height:calc(100vh - 180px) !important;
  min-height:420px !important;
  max-height:680px !important;
  display:grid !important;
  justify-items:center !important;
  align-items:stretch !important;
  align-self:start !important;
  pointer-events:none !important;
}

.fr-source-story__rail-track,
.fr-source-story__rail-fill{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:3px !important;
  border-radius:999px !important;
}

.fr-source-story__rail-track{
  top:0 !important;
  bottom:0 !important;
  height:100% !important;
  background:rgba(7,17,43,.13) !important;
}

.fr-source-story__rail-fill{
  top:0 !important;
  bottom:auto !important;
  height:calc(var(--fr-source-progress, 0) * 100%) !important;
  min-height:0 !important;
  max-height:100% !important;
  background:linear-gradient(180deg,#9bb8ff 0%,#244694 100%) !important;
  box-shadow:0 0 22px rgba(36,70,148,.20) !important;
}

/* Les étapes restent sur la colonne de contenu, le marker est aligné avec le rail */
.fr-source-story-step{
  position:relative !important;
  min-height:clamp(420px,58vh,680px) !important;
  display:grid !important;
  align-items:center !important;
}

.fr-source-story-step__marker{
  position:absolute !important;
  left:calc(-1 * (clamp(22px,3.6vw,54px) + 44px)) !important;
  top:50% !important;
  width:44px !important;
  height:44px !important;
  transform:translate(-50%, -50%) !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  text-align:center !important;
  z-index:3 !important;
}

.fr-source-story-step.is-active .fr-source-story-step__marker{
  transform:translate(-50%, -50%) scale(1.08) !important;
}

/* Numéro parfaitement centré */
.fr-source-story-step__marker span{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:100% !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
  transform:translateY(0) !important;
}

/* La grille contenu ne doit jamais forcer le débordement */
.fr-source-story-step__content{
  display:grid !important;
  grid-template-columns:minmax(0,0.92fr) minmax(280px,1.08fr) !important;
  gap:clamp(22px,3.4vw,48px) !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
}

.fr-source-story-step__text{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  padding:clamp(24px,3.2vw,42px) !important;
}

/* Titres : moins collés, mais surtout jamais hors carte */
.fr-source-story-step__text h3{
  max-width:100% !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
  text-wrap:balance !important;
  font-size:clamp(2.15rem,4.2vw,4.7rem) !important;
  line-height:.95 !important;
  letter-spacing:calc(-0.04em + 1px) !important;
}

.fr-source-story-step__text p:not(.fr-source-story-step__kicker){
  max-width:100% !important;
  overflow-wrap:break-word !important;
}

.fr-source-story-step__image{
  width:100% !important;
  max-width:100% !important;
}

/* Grand écran très large : garde un rendu premium */
@media(min-width:1280px){
  .fr-source-story-step__text h3{
    font-size:clamp(2.5rem,4.1vw,5.05rem) !important;
  }
}

/* Tablette : la timeline reste lisible, pas de débordement */
@media(max-width:1100px){
  .fr-source-story{
    grid-template-columns:64px minmax(0,1fr) !important;
    gap:24px !important;
  }

  .fr-source-story__rail{
    width:64px !important;
    top:112px !important;
  }

  .fr-source-story-step__marker{
    left:calc(-1 * (24px + 32px)) !important;
  }

  .fr-source-story-step__content{
    grid-template-columns:1fr !important;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(2.35rem,8vw,4.6rem) !important;
  }

  .fr-source-story-step__image{
    min-height:280px !important;
  }
}

/* Mobile : plus de rail sticky, numéros au-dessus, tout dans une seule colonne */
@media(max-width:640px){
  .fr-source-story{
    display:block !important;
  }

  .fr-source-story__rail{
    display:none !important;
  }

  .fr-source-story__items{
    display:grid !important;
    gap:34px !important;
  }

  .fr-source-story-step{
    min-height:auto !important;
    display:block !important;
  }

  .fr-source-story-step__marker{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    margin:0 0 14px 0 !important;
  }

  .fr-source-story-step.is-active .fr-source-story-step__marker{
    transform:scale(1.04) !important;
  }

  .fr-source-story-step__text{
    padding:22px !important;
    border-radius:22px !important;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(2rem,13vw,3.5rem) !important;
    line-height:1 !important;
    letter-spacing:calc(-0.035em + .6px) !important;
  }

  .fr-source-story-step__image{
    min-height:220px !important;
    border-radius:22px !important;
  }
}


/* === V5 : timeline Source sans barre / sans rail === */

/* On masque totalement l'ancien fil conducteur */
.fr-source-story__rail,
.fr-source-story__rail-track,
.fr-source-story__rail-fill{
  display:none !important;
}

/* La timeline devient une succession de cartes éditoriales propres */
.fr-source-story{
  display:block !important;
  max-width:100% !important;
}

.fr-source-story__items{
  display:grid !important;
  gap:clamp(34px,6vw,78px) !important;
}

.fr-source-story-step{
  position:relative !important;
  min-height:auto !important;
  display:block !important;
  padding:0 !important;
}

.fr-source-story-step__content{
  display:grid !important;
  grid-template-columns:minmax(0,0.92fr) minmax(300px,1.08fr) !important;
  gap:clamp(22px,3.4vw,48px) !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Numéro en badge, plus relié à une barre */
.fr-source-story-step__marker{
  position:absolute !important;
  z-index:4 !important;
  left:clamp(18px,2.5vw,28px) !important;
  top:clamp(18px,2.5vw,28px) !important;
  width:42px !important;
  height:42px !important;
  transform:none !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  background:#07112b !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 14px 32px rgba(7,17,43,.18) !important;
}

.fr-source-story-step.is-active .fr-source-story-step__marker{
  transform:scale(1.04) !important;
}

.fr-source-story-step__marker span{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:100% !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
  transform:none !important;
}

/* Carte texte : padding haut adapté au badge */
.fr-source-story-step__text{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  padding:clamp(74px,6vw,88px) clamp(24px,3.2vw,42px) clamp(24px,3.2vw,42px) !important;
}

/* Titres plus lisibles, moins collés et sans césure dans les mots */
.fr-source-story-step__text h3{
  max-width:100% !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance !important;
  font-size:clamp(2.05rem,3.75vw,4.35rem) !important;
  line-height:.98 !important;
  letter-spacing:calc(-0.032em + 1px) !important;
}

/* Empêche la césure visuelle de “L’eau accompagne” */
.fr-source-story-step__text h3{
  white-space:normal !important;
}

.fr-source-story-step__text p:not(.fr-source-story-step__kicker){
  max-width:100% !important;
  overflow-wrap:break-word !important;
}

/* Image stable */
.fr-source-story-step__image{
  width:100% !important;
  max-width:100% !important;
  min-height:clamp(320px,45vh,540px) !important;
}

/* Variante active subtile */
.fr-source-story-step__text,
.fr-source-story-step__image{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.fr-source-story-step.is-active .fr-source-story-step__text,
.fr-source-story-step.is-active .fr-source-story-step__image{
  border-color:rgba(36,70,148,.24) !important;
}

/* Responsive */
@media(max-width:1100px){
  .fr-source-story-step__content{
    grid-template-columns:1fr !important;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(2.25rem,7vw,4.3rem) !important;
  }

  .fr-source-story-step__image{
    min-height:280px !important;
  }
}

@media(max-width:640px){
  .fr-source-story__items{
    gap:30px !important;
  }

  .fr-source-story-step__marker{
    width:38px !important;
    height:38px !important;
    left:18px !important;
    top:18px !important;
  }

  .fr-source-story-step__text{
    padding:66px 22px 22px !important;
    border-radius:22px !important;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(1.95rem,11vw,3.2rem) !important;
    line-height:1.02 !important;
    letter-spacing:calc(-0.025em + .6px) !important;
    text-wrap:balance !important;
  }

  .fr-source-story-step__image{
    min-height:220px !important;
    border-radius:22px !important;
  }
}


/* === V6 : timeline Source — numéro + picto dans une même pastille, titres contenus === */

/* Masque définitivement les anciens éléments incohérents s'ils restent dans le DOM */
.fr-source-story-step__marker{
  display:none !important;
}

.fr-source-story-step__text > .fr-picto{
  display:none !important;
}

/* La carte texte n’a plus besoin d’un gros padding top pour l’ancien badge */
.fr-source-story-step__text{
  padding:clamp(24px,3vw,38px) !important;
  overflow:hidden !important;
  min-width:0 !important;
}

/* Pastille propre : numéro + picto sur la même ligne */
.fr-source-story-step__meta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 22px 0 !important;
  padding:7px 9px 7px 12px !important;
  border:1px solid rgba(36,70,148,.24) !important;
  border-radius:999px !important;
  background:#ffffff !important;
  box-shadow:0 12px 28px rgba(7,17,43,.08) !important;
}

.fr-source-story-step__number{
  display:grid !important;
  place-items:center !important;
  min-width:28px !important;
  height:28px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  background:#07112b !important;
  color:#ffffff !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-variant-numeric:tabular-nums !important;
}

.fr-source-story-step__meta-icon{
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
  background:#eef4ff !important;
  border:1px solid rgba(36,70,148,.16) !important;
  color:#07112b !important;
  flex:0 0 auto !important;
}

.fr-source-story-step__meta-icon svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
}

/* Kicker rapproché de la pastille, propre */
.fr-source-story-step__kicker{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

/* Titres : taille réduite + wrapping propre sur deux lignes quand nécessaire */
.fr-source-story-step__text h3{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  white-space:normal !important;
  text-wrap:balance !important;
  font-size:clamp(2rem,3.15vw,3.65rem) !important;
  line-height:1.02 !important;
  letter-spacing:calc(-0.025em + .8px) !important;
}

/* Sécurité spéciale : aucun mot ne doit sortir de la carte */
.fr-source-story-step__text{
  container-type:inline-size;
}

@container (max-width: 420px){
  .fr-source-story-step__text h3{
    font-size:clamp(1.9rem,12vw,3rem) !important;
    line-height:1.04 !important;
  }
}

/* Cartes source : contenu aligné et équilibré */
.fr-source-story-step__content{
  align-items:stretch !important;
}

.fr-source-story-step__text,
.fr-source-story-step__image{
  min-height:100% !important;
}

/* Active state subtil sur la pastille */
.fr-source-story-step.is-active .fr-source-story-step__meta{
  border-color:rgba(36,70,148,.42) !important;
  box-shadow:0 18px 42px rgba(7,17,43,.12) !important;
}

.fr-source-story-step.is-active .fr-source-story-step__number{
  background:#244694 !important;
}

/* Tablette */
@media(max-width:1100px){
  .fr-source-story-step__text h3{
    font-size:clamp(2.2rem,6.8vw,4rem) !important;
  }
}

/* Mobile */
@media(max-width:640px){
  .fr-source-story-step__meta{
    margin-bottom:18px !important;
    padding:6px 8px 6px 10px !important;
  }

  .fr-source-story-step__number{
    min-width:26px !important;
    height:26px !important;
    font-size:10px !important;
  }

  .fr-source-story-step__meta-icon{
    width:30px !important;
    height:30px !important;
  }

  .fr-source-story-step__text{
    padding:22px !important;
  }

  .fr-source-story-step__text h3{
    font-size:clamp(1.9rem,10.5vw,3.15rem) !important;
    line-height:1.04 !important;
    letter-spacing:calc(-0.018em + .45px) !important;
  }
}


/* === V9 : couleur forcée du “Fontaine de la Reine” dans le CTA footer === */
.fr-site-footer .fr-footer-cta p.fr-eyebrow,
.fr-site-footer .fr-footer-cta .fr-eyebrow,
footer .fr-footer-cta p.fr-eyebrow,
footer .fr-footer-cta .fr-eyebrow,
.fr-footer-cta p.fr-eyebrow,
.fr-footer-cta .fr-eyebrow{
  color:#b9caff !important;
  opacity:1 !important;
}

/* Si un ancien effet venait assombrir le texte */
.fr-footer-cta p.fr-eyebrow,
.fr-footer-cta .fr-eyebrow{
  text-shadow:none !important;
  mix-blend-mode:normal !important;
  filter:none !important;
}


/* === V10 : page Qualité & Engagement clarifiée et harmonisée === */
.fr-quality-page-v10{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 48%,#ffffff 100%);
}

.fr-quality-lead-v10{
  padding-top:clamp(64px,8vw,118px) !important;
}

.fr-quality-lead-v10__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}

.fr-quality-lead-v10__content{
  max-width:760px;
}

.fr-quality-lead-v10__content .fr-section-title{
  letter-spacing:calc(-0.055em + .8px) !important;
  text-wrap:balance;
}

.fr-quality-keyfacts-v10{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.fr-quality-keyfacts-v10 article{
  border:1px solid rgba(7,17,43,.12);
  border-radius:24px;
  background:#ffffff;
  padding:clamp(18px,2.2vw,28px);
  box-shadow:0 18px 52px rgba(7,17,43,.07);
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.fr-quality-keyfacts-v10 span{
  display:block;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  color:#244694;
}

.fr-quality-keyfacts-v10 strong{
  display:block;
  margin-top:18px;
  font-family:var(--fr-serif);
  font-size:clamp(2rem,3.4vw,3.6rem);
  line-height:.9;
  letter-spacing:calc(-0.055em + .6px);
  color:#07112b;
  white-space:nowrap;
}

/* Minéralisation : au lieu de cartes déséquilibrées, un panneau de lecture clair */
.fr-mineral-v10 .fr-mineral-v10__layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}

.fr-mineral-v10__intro{
  position:sticky;
  top:110px;
}

.fr-mineral-v10__intro .fr-section-title{
  letter-spacing:calc(-0.055em + .8px) !important;
  text-wrap:balance;
}

.fr-mineral-v10__highlight{
  margin-top:28px;
  border:1px solid rgba(36,70,148,.16);
  border-radius:28px;
  background:linear-gradient(135deg,#eef4ff 0%,#ffffff 100%);
  padding:clamp(22px,3vw,34px);
  box-shadow:0 20px 60px rgba(7,17,43,.08);
}

.fr-mineral-v10__highlight span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  color:#244694;
}

.fr-mineral-v10__highlight strong{
  display:block;
  margin-top:14px;
  font-family:var(--fr-serif);
  font-size:clamp(3rem,6vw,6rem);
  line-height:.85;
  letter-spacing:calc(-0.065em + .7px);
  color:#07112b;
  white-space:nowrap;
}

.fr-mineral-v10__highlight small{
  display:block;
  margin-top:14px;
  font-size:14px;
  line-height:1.6;
  color:#13295e;
}

.fr-mineral-v10__panel{
  border:1px solid rgba(7,17,43,.12);
  border-radius:30px;
  background:#ffffff;
  box-shadow:0 26px 82px rgba(7,17,43,.10);
  padding:clamp(16px,2.2vw,24px);
}

.fr-mineral-v10__header,
.fr-mineral-v10__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:18px;
  align-items:center;
}

.fr-mineral-v10__header{
  padding:12px 16px 16px;
  border-bottom:1px solid rgba(7,17,43,.10);
  color:#244694;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.fr-mineral-v10__rows{
  display:grid;
}

.fr-mineral-v10__row{
  min-height:52px;
  padding:13px 16px;
  border-bottom:1px solid rgba(7,17,43,.08);
}

.fr-mineral-v10__row:last-child{
  border-bottom:0;
}

.fr-mineral-v10__label{
  min-width:0;
  color:#07112b;
  font-size:15px;
  font-weight:650;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.fr-mineral-v10__value{
  color:#07112b;
  font-family:var(--fr-serif);
  font-size:clamp(1.55rem,2vw,2.2rem);
  line-height:1;
  letter-spacing:calc(-0.045em + .45px);
  white-space:nowrap;
  text-align:right;
}

.fr-mineral-v10__note{
  margin:18px 16px 4px !important;
  font-size:13px !important;
  line-height:1.55 !important;
  color:#53637a !important;
}

/* Section nourrissons : plus compacte et structurée */
.fr-infant-card-v10{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:clamp(20px,3vw,42px) !important;
  align-items:center !important;
  background:#07112b !important;
  color:#ffffff !important;
  border-radius:32px !important;
  padding:clamp(28px,5vw,58px) !important;
}

.fr-infant-card-v10 .fr-eyebrow{
  color:#b9caff !important;
}

.fr-infant-card-v10 .fr-section-title{
  color:#ffffff !important;
  letter-spacing:calc(-0.055em + .8px) !important;
}

.fr-infant-card-v10 .fr-section-text{
  color:rgba(255,255,255,.78) !important;
}

.fr-infant-card-v10__icon .fr-picto{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#b9caff;
}

.fr-infant-badges-v10{
  display:grid !important;
  gap:10px !important;
  margin-top:0 !important;
}

.fr-infant-badges-v10 span{
  white-space:nowrap;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#ffffff !important;
}

/* Engagements : cartes homogènes */
.fr-quality-commitment-grid-v10{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
  margin-top:34px;
}

.fr-quality-commitment-card-v10{
  min-height:250px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(7,17,43,.12);
  border-radius:26px;
  background:#ffffff;
  padding:clamp(22px,2.4vw,32px);
  box-shadow:0 18px 54px rgba(7,17,43,.07);
}

.fr-quality-commitment-card-v10 .fr-picto{
  margin-bottom:auto;
}

.fr-quality-commitment-card-v10 h3{
  margin:28px 0 0;
  font-family:var(--fr-serif);
  font-size:clamp(1.8rem,2.5vw,2.6rem);
  line-height:.98;
  letter-spacing:calc(-0.045em + .65px);
  color:#07112b;
}

.fr-quality-commitment-card-v10 p{
  margin:12px 0 0;
  color:#13295e;
  font-size:15px;
  line-height:1.7;
}

/* Responsive */
@media(max-width:1120px){
  .fr-quality-lead-v10__grid,
  .fr-mineral-v10 .fr-mineral-v10__layout{
    grid-template-columns:1fr;
  }

  .fr-mineral-v10__intro{
    position:relative;
    top:auto;
  }

  .fr-quality-commitment-grid-v10{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fr-infant-card-v10{
    grid-template-columns:1fr !important;
  }

  .fr-infant-badges-v10{
    display:flex !important;
    flex-wrap:wrap !important;
  }
}

@media(max-width:640px){
  .fr-quality-keyfacts-v10,
  .fr-quality-commitment-grid-v10{
    grid-template-columns:1fr;
  }

  .fr-quality-keyfacts-v10 article{
    min-height:108px;
  }

  .fr-mineral-v10__panel{
    border-radius:22px;
    padding:10px;
  }

  .fr-mineral-v10__header,
  .fr-mineral-v10__row{
    grid-template-columns:minmax(0,1fr) max-content;
    gap:12px;
  }

  .fr-mineral-v10__row{
    padding:12px 10px;
  }

  .fr-mineral-v10__label{
    font-size:13px;
    white-space:nowrap;
  }

  .fr-mineral-v10__value{
    font-size:1.45rem;
  }

  .fr-infant-card-v10{
    border-radius:24px !important;
  }

  .fr-infant-badges-v10 span{
    white-space:normal;
  }
}


/* === V11 : corrections page qualité + onglets comparatifs === */

/* Cartes chiffres clés : valeurs réduites pour ne plus sortir */
.fr-quality-keyfacts-v10{
  min-width:0 !important;
}

.fr-quality-keyfacts-v10 article{
  min-width:0 !important;
  overflow:hidden !important;
  padding:clamp(16px,1.9vw,24px) !important;
}

.fr-quality-keyfacts-v10 strong{
  max-width:100% !important;
  font-size:clamp(1.7rem,2.6vw,2.8rem) !important;
  line-height:.95 !important;
  letter-spacing:calc(-0.04em + .45px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.fr-quality-keyfacts-v10 span{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Si NF V90-001 est trop long, il reste contenu */
.fr-quality-keyfacts-v10 article:nth-child(4) strong{
  font-size:clamp(1.45rem,2.2vw,2.35rem) !important;
}

/* Onglets comparaison */
.fr-compare-tabs-section-v11{
  background:#ffffff;
}

.fr-compare-tabs-intro-v11{
  margin-bottom:clamp(28px,4vw,48px);
}

.fr-compare-tabs-v11{
  border:1px solid rgba(7,17,43,.12);
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 24px 72px rgba(7,17,43,.09);
  padding:clamp(16px,2vw,24px);
}

.fr-compare-tabs-v11__nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:6px;
  border-radius:999px;
  background:#eef4ff;
  width:max-content;
  max-width:100%;
  margin-bottom:20px;
}

.fr-compare-tabs-v11__button{
  appearance:none;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#13295e;
  padding:10px 16px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.fr-compare-tabs-v11__button:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.75);
}

.fr-compare-tabs-v11__button.is-active{
  background:#07112b;
  color:#ffffff;
}

.fr-compare-panel-v11{
  border-radius:24px;
  background:#ffffff;
  border:1px solid rgba(7,17,43,.10);
  padding:clamp(18px,2.4vw,30px);
}

.fr-compare-panel-v11[hidden]{
  display:none !important;
}

.fr-compare-panel-v11__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.fr-compare-panel-v11__head span{
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  color:#244694;
}

.fr-compare-panel-v11__head h3{
  margin:0;
  font-family:var(--fr-serif);
  font-size:clamp(2rem,4vw,4rem);
  line-height:.92;
  letter-spacing:calc(-0.055em + .7px);
  color:#07112b;
  text-align:right;
}

.fr-compare-panel-v11__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.fr-compare-metric-v11{
  min-width:0;
  border-radius:18px;
  border:1px solid rgba(7,17,43,.10);
  background:#f8fbff;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:116px;
}

.fr-compare-metric-v11 span{
  color:#244694;
  font-size:10px;
  font-weight:800;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.13em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.fr-compare-metric-v11 strong{
  margin-top:18px;
  color:#07112b;
  font-family:var(--fr-serif);
  font-size:clamp(1.4rem,2vw,2rem);
  line-height:1;
  letter-spacing:calc(-0.04em + .4px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.fr-compare-panel-v11.is-home .fr-compare-metric-v11{
  background:#eef4ff;
  border-color:rgba(36,70,148,.20);
}

/* Responsive */
@media(max-width:1120px){
  .fr-compare-panel-v11__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .fr-quality-lead-v10__grid{
    gap:26px !important;
  }

  .fr-quality-keyfacts-v10{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fr-quality-keyfacts-v10 strong{
    font-size:clamp(1.55rem,8vw,2.3rem) !important;
  }

  .fr-quality-keyfacts-v10 article:nth-child(4) strong{
    font-size:clamp(1.28rem,6.5vw,1.9rem) !important;
  }

  .fr-compare-tabs-v11__nav{
    border-radius:20px;
    width:100%;
  }

  .fr-compare-tabs-v11__button{
    flex:1 1 auto;
  }

  .fr-compare-panel-v11__head{
    display:block;
  }

  .fr-compare-panel-v11__head h3{
    text-align:left;
    margin-top:10px;
  }

  .fr-compare-panel-v11__grid{
    grid-template-columns:1fr;
  }

  .fr-compare-metric-v11{
    min-height:auto;
    flex-direction:row;
    align-items:center;
    gap:16px;
  }

  .fr-compare-metric-v11 strong{
    margin-top:0;
    text-align:right;
  }
}


/* === V12 : comparaison alimentée par Eaux engagement === */
.fr-compare-tabs-v12__nav{
  width:100% !important;
  border-radius:24px !important;
  overflow-x:auto !important;
  flex-wrap:nowrap !important;
  scrollbar-width:thin;
}

.fr-compare-tabs-v12__button{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

.fr-compare-tabs-v12__button.is-home{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.fr-compare-panel-v12__grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
}

.fr-compare-metric-v12{
  min-height:104px !important;
}

.fr-compare-metric-v12 span,
.fr-compare-metric-v12 strong{
  max-width:100%;
}

.fr-compare-tabs-v12__note{
  margin-top:14px !important;
  font-size:12px !important;
  color:#61718c !important;
}

@media(max-width:720px){
  .fr-compare-tabs-v12__nav{
    padding:6px !important;
    gap:6px !important;
  }

  .fr-compare-tabs-v12__button{
    flex:0 0 auto !important;
    font-size:12px !important;
    padding:9px 13px !important;
  }

  .fr-compare-panel-v12__grid{
    grid-template-columns:1fr !important;
  }
}


/* === V13 : repères de minéralisation sans comparaison nominative === */
.fr-compare-tabs-section-v11,
.fr-compare-tabs-section-v12{
  display:none !important;
}

.fr-safe-benchmarks-section-v13{
  background:
    radial-gradient(circle at 10% 0%, rgba(36,70,148,.08), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.fr-safe-benchmarks-intro-v13{
  margin-bottom:clamp(28px,4vw,48px);
}

.fr-safe-benchmarks-v13{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}

.fr-safe-benchmark-card-v13{
  min-width:0;
  min-height:230px;
  border:1px solid rgba(7,17,43,.12);
  border-radius:28px;
  background:#ffffff;
  padding:clamp(22px,2.5vw,32px);
  box-shadow:0 18px 54px rgba(7,17,43,.07);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.fr-safe-benchmark-card-v13.is-highlight{
  background:#07112b;
  border-color:rgba(155,184,255,.35);
  color:#ffffff;
}

.fr-safe-benchmark-card-v13__label{
  display:block;
  color:#244694;
  font-size:11px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}

.fr-safe-benchmark-card-v13.is-highlight .fr-safe-benchmark-card-v13__label{
  color:#b9caff;
}

.fr-safe-benchmark-card-v13 strong{
  display:block;
  margin:22px 0 0;
  color:#07112b;
  font-family:var(--fr-serif);
  font-size:clamp(2.1rem,3vw,3.8rem);
  line-height:.9;
  letter-spacing:calc(-0.055em + .6px);
  white-space:nowrap;
}

.fr-safe-benchmark-card-v13.is-highlight strong{
  color:#ffffff;
}

.fr-safe-benchmark-card-v13 p{
  margin:22px 0 0;
  color:#13295e;
  font-size:15px;
  line-height:1.7;
}

.fr-safe-benchmark-card-v13.is-highlight p{
  color:rgba(255,255,255,.78);
}

.fr-safe-benchmarks-note-v13{
  margin-top:18px;
  max-width:860px;
}

.fr-safe-benchmarks-note-v13 p{
  margin:0;
  color:#61718c;
  font-size:13px;
  line-height:1.65;
}

@media(max-width:1120px){
  .fr-safe-benchmarks-v13{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fr-safe-benchmarks-v13{
    grid-template-columns:1fr;
  }

  .fr-safe-benchmark-card-v13{
    min-height:auto;
  }

  .fr-safe-benchmark-card-v13 strong{
    font-size:clamp(2rem,12vw,3.2rem);
  }
}


/* === V14 : repères de minéralisation corrigés / sans débordement / textes publics propres === */
.fr-safe-benchmarks-section-v14{
  overflow:hidden !important;
}

.fr-safe-benchmarks-intro-v14 .fr-section-title{
  max-width:960px !important;
  font-size:clamp(3rem,6vw,6.8rem) !important;
  line-height:.95 !important;
  letter-spacing:calc(-0.055em + .8px) !important;
  text-wrap:balance !important;
}

.fr-safe-benchmarks-intro-v14 .fr-section-text{
  max-width:760px !important;
}

.fr-safe-benchmarks-v14{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(14px,2vw,22px) !important;
}

.fr-safe-benchmark-card-v14{
  min-width:0 !important;
  overflow:hidden !important;
  min-height:245px !important;
  padding:clamp(20px,2.2vw,28px) !important;
}

.fr-safe-benchmark-card-v14__label{
  min-height:34px !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.fr-safe-benchmark-card-v14 strong{
  max-width:100% !important;
  font-size:clamp(2rem,2.7vw,3.15rem) !important;
  line-height:.95 !important;
  letter-spacing:calc(-0.045em + .45px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}

/* Valeurs longues comme < 500 mg/L restent dans la carte */
.fr-safe-benchmark-card-v14:nth-child(3) strong{
  font-size:clamp(1.75rem,2.35vw,2.75rem) !important;
}

.fr-safe-benchmark-card-v14 p{
  max-width:100% !important;
  overflow-wrap:break-word !important;
  text-wrap:pretty !important;
}

.fr-safe-benchmarks-note-v14{
  max-width:900px !important;
}

.fr-safe-benchmarks-note-v14 p{
  color:#61718c !important;
}

/* Tablette */
@media(max-width:1120px){
  .fr-safe-benchmarks-v14{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fr-safe-benchmark-card-v14 strong{
    font-size:clamp(2.2rem,5.2vw,3.8rem) !important;
  }

  .fr-safe-benchmark-card-v14:nth-child(3) strong{
    font-size:clamp(2rem,4.7vw,3.3rem) !important;
  }
}

/* Mobile */
@media(max-width:640px){
  .fr-safe-benchmarks-intro-v14 .fr-section-title{
    font-size:clamp(2.6rem,13vw,4.4rem) !important;
  }

  .fr-safe-benchmarks-v14{
    grid-template-columns:1fr !important;
  }

  .fr-safe-benchmark-card-v14{
    min-height:auto !important;
  }

  .fr-safe-benchmark-card-v14__label{
    min-height:0 !important;
  }

  .fr-safe-benchmark-card-v14 strong,
  .fr-safe-benchmark-card-v14:nth-child(3) strong{
    font-size:clamp(2.4rem,13vw,4rem) !important;
  }
}


/* === V15 : correction définitive des débordements dans les repères de minéralisation === */

/* Grille plus respirante : les cartes ne doivent jamais être trop étroites */
.fr-safe-benchmarks-v13,
.fr-safe-benchmarks-v14{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(18px,2.3vw,28px) !important;
  align-items:stretch !important;
}

/* Cartes strictement contenues */
.fr-safe-benchmark-card-v13,
.fr-safe-benchmark-card-v14{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  padding:clamp(20px,2vw,26px) !important;
}

/* Libellés plus propres */
.fr-safe-benchmark-card-v13__label,
.fr-safe-benchmark-card-v14__label{
  display:block !important;
  max-width:100% !important;
  min-height:auto !important;
  font-size:10px !important;
  line-height:1.35 !important;
  letter-spacing:.14em !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

/* Valeurs : taille réduite, pas de sortie de cadre */
.fr-safe-benchmark-card-v13 strong,
.fr-safe-benchmark-card-v14 strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:18px !important;
  font-size:clamp(2rem,2.25vw,2.7rem) !important;
  line-height:1 !important;
  letter-spacing:calc(-0.035em + .35px) !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:none !important;
  overflow:hidden !important;
}

/* Les valeurs longues sont volontairement plus petites */
.fr-safe-benchmark-card-v13:nth-child(2) strong,
.fr-safe-benchmark-card-v14:nth-child(2) strong,
.fr-safe-benchmark-card-v13:nth-child(3) strong,
.fr-safe-benchmark-card-v14:nth-child(3) strong{
  font-size:clamp(1.55rem,1.85vw,2.15rem) !important;
  letter-spacing:calc(-0.025em + .2px) !important;
}

/* Texte de description */
.fr-safe-benchmark-card-v13 p,
.fr-safe-benchmark-card-v14 p{
  max-width:100% !important;
  font-size:14px !important;
  line-height:1.65 !important;
  overflow-wrap:break-word !important;
}

/* Sur desktop intermédiaire : 2 colonnes pour garantir la lisibilité */
@media(max-width:1240px){
  .fr-safe-benchmarks-v13,
  .fr-safe-benchmarks-v14{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .fr-safe-benchmark-card-v13 strong,
  .fr-safe-benchmark-card-v14 strong{
    font-size:clamp(2.3rem,4.4vw,3.6rem) !important;
    white-space:nowrap !important;
  }

  .fr-safe-benchmark-card-v13:nth-child(2) strong,
  .fr-safe-benchmark-card-v14:nth-child(2) strong,
  .fr-safe-benchmark-card-v13:nth-child(3) strong,
  .fr-safe-benchmark-card-v14:nth-child(3) strong{
    font-size:clamp(2rem,3.8vw,3.05rem) !important;
    white-space:nowrap !important;
  }
}

/* Mobile : 1 colonne, valeurs grandes mais contenues */
@media(max-width:640px){
  .fr-safe-benchmarks-v13,
  .fr-safe-benchmarks-v14{
    grid-template-columns:1fr !important;
  }

  .fr-safe-benchmark-card-v13 strong,
  .fr-safe-benchmark-card-v14 strong,
  .fr-safe-benchmark-card-v13:nth-child(2) strong,
  .fr-safe-benchmark-card-v14:nth-child(2) strong,
  .fr-safe-benchmark-card-v13:nth-child(3) strong,
  .fr-safe-benchmark-card-v14:nth-child(3) strong{
    font-size:clamp(2.4rem,12vw,4rem) !important;
    white-space:normal !important;
  }
}


/* === V16 : refonte propre des repères de minéralisation === */

/* On neutralise les anciennes versions de cette section */
.fr-safe-benchmarks-section-v13,
.fr-safe-benchmarks-section-v14{
  display:none !important;
}

/* Nouvelle section stable */
.fr-benchmarks-v16{
  background:
    radial-gradient(circle at 12% 0%, rgba(36,70,148,.07), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.fr-benchmarks-v16,
.fr-benchmarks-v16 *{
  box-sizing:border-box;
}

.fr-benchmarks-v16__intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  margin-bottom:clamp(28px,4vw,48px);
}

.fr-benchmarks-v16__intro .fr-section-title{
  max-width:850px;
  font-size:clamp(3rem,5.8vw,6.4rem) !important;
  line-height:.95 !important;
  letter-spacing:calc(-0.055em + .8px) !important;
  text-wrap:balance;
}

.fr-benchmarks-v16__intro .fr-section-text{
  max-width:620px !important;
  margin-bottom:.35em;
}

/* Grille lisible : la carte principale prend plus de place */
.fr-benchmarks-v16__grid{
  display:grid;
  grid-template-columns:1.15fr repeat(3, minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
  align-items:stretch;
}

/* Carte sans clipping agressif */
.fr-benchmark-v16{
  min-width:0;
  min-height:220px;
  border:1px solid rgba(7,17,43,.12);
  border-radius:28px;
  background:#ffffff;
  padding:clamp(22px,2.4vw,32px);
  box-shadow:0 18px 54px rgba(7,17,43,.07);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.fr-benchmark-v16.is-highlight{
  background:#07112b;
  border-color:rgba(155,184,255,.34);
  color:#ffffff;
}

.fr-benchmark-v16__top{
  min-width:0;
}

.fr-benchmark-v16__top span{
  display:block;
  margin-bottom:18px;
  color:#244694;
  font-size:11px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
  overflow-wrap:anywhere;
}

.fr-benchmark-v16.is-highlight .fr-benchmark-v16__top span{
  color:#b9caff;
}

.fr-benchmark-v16__top strong{
  display:block;
  width:100%;
  max-width:100%;
  color:#07112b;
  font-family:var(--fr-serif);
  font-size:clamp(1.85rem,2.45vw,3rem);
  line-height:1.02;
  letter-spacing:calc(-0.035em + .35px);
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}

.fr-benchmark-v16.is-highlight .fr-benchmark-v16__top strong{
  color:#ffffff;
  font-size:clamp(2.25rem,3.25vw,4.1rem);
}

.fr-benchmark-v16 p{
  margin:26px 0 0;
  color:#13295e;
  font-size:15px;
  line-height:1.7;
  overflow-wrap:break-word;
}

.fr-benchmark-v16.is-highlight p{
  color:rgba(255,255,255,.78);
}

.fr-benchmarks-v16__note{
  margin:18px 0 0;
  max-width:820px;
  color:#61718c;
  font-size:13px;
  line-height:1.65;
}

/* Desktop moyen : 2 colonnes propres */
@media(max-width:1180px){
  .fr-benchmarks-v16__intro{
    grid-template-columns:1fr;
    align-items:start;
  }

  .fr-benchmarks-v16__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fr-benchmark-v16__top strong{
    font-size:clamp(2.15rem,4.8vw,3.7rem);
  }

  .fr-benchmark-v16.is-highlight .fr-benchmark-v16__top strong{
    font-size:clamp(2.4rem,5.4vw,4.3rem);
  }
}

/* Mobile : une colonne, aucun texte coupé */
@media(max-width:640px){
  .fr-benchmarks-v16__intro .fr-section-title{
    font-size:clamp(2.6rem,13vw,4.3rem) !important;
  }

  .fr-benchmarks-v16__grid{
    grid-template-columns:1fr;
  }

  .fr-benchmark-v16{
    min-height:auto;
    border-radius:24px;
  }

  .fr-benchmark-v16__top strong,
  .fr-benchmark-v16.is-highlight .fr-benchmark-v16__top strong{
    font-size:clamp(2.25rem,12vw,4rem);
  }
}
