.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2456 .elementor-element.elementor-element-respira_b0c4ea7f{text-align:center;}.elementor-2456 .elementor-element.elementor-element-respira_b0c4ea7f .elementor-heading-title{color:#0095DB;}.elementor-2456 .elementor-element.elementor-element-respira_f5c8d947{text-align:center;}.elementor-2456 .elementor-element.elementor-element-respira_f5c8d947 .elementor-heading-title{color:#004077;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-2456 .elementor-element.elementor-element-respira_3529a46c{--divider-border-style:solid;--divider-color:#E4032E;--divider-border-width:5px;}.elementor-2456 .elementor-element.elementor-element-respira_3529a46c .elementor-divider-separator{width:66px;margin:0 auto;margin-center:0;}.elementor-2456 .elementor-element.elementor-element-respira_3529a46c .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-widget-toggle .elementor-toggle-title, .elementor-widget-toggle .elementor-toggle-icon{color:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-toggle-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-tab-title.elementor-active a, .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{color:var( --e-global-color-accent );}.elementor-widget-toggle .elementor-toggle-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-toggle .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2456 .elementor-element.elementor-element-respira_07a3d296{text-align:center;}.elementor-2456 .elementor-element.elementor-element-respira_07a3d296 .elementor-heading-title{color:#004077;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2456 .elementor-element.elementor-element-respira_6f661563{text-align:center;}.elementor-2456 .elementor-element.elementor-element-respira_2cb24cec{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2456 .elementor-element.elementor-element-respira_49bfd037 .elementor-button{background-color:#E4032E;fill:#FFFFFF;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:16px 30px 16px 30px;}.elementor-2456 .elementor-element.elementor-element-respira_095421a5 .elementor-heading-title{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-respira_6d8fd7ae .elementor-button{background-color:#FFFFFF;fill:#004077;color:#004077;border-radius:999px 999px 999px 999px;padding:16px 30px 16px 30px;}@media(min-width:768px){.elementor-2456 .elementor-element.elementor-element-respira_2dc907e7{width:66%;}.elementor-2456 .elementor-element.elementor-element-respira_745de3be{width:34%;}}/* Start custom CSS */.chf-cssholder{display:none}
.chf-sec>.elementor-container,.chf-avail>.elementor-container,.chf-notes>.elementor-container,.chf-amg>.elementor-container{max-width:1200px;padding-left:28px;padding-right:28px}
.chf-sec,.chf-avail,.chf-notes{font-family:'Montserrat',sans-serif}
.chf-sec{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px)}
.chf-head{padding-bottom:clamp(28px,3.4vw,50px)}
.chf-tight{padding-top:0}
.chf-h2 .elementor-heading-title{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.06;letter-spacing:.005em}
.chf-h3 .elementor-heading-title{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.1;letter-spacing:.005em}
.chf-h1 .elementor-heading-title,.chf-h2 .elementor-heading-title,.chf-h3 .elementor-heading-title{margin:0}
.chf-h1 .elementor-heading-title sup,.chf-h2 .elementor-heading-title sup,.chf-h3 .elementor-heading-title sup{font-size:.36em;position:relative;top:-.85em;font-weight:600;color:inherit;vertical-align:baseline;line-height:0;margin:0}
.chf-eyebrow .elementor-heading-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.19em;text-transform:uppercase;margin:0}
.chf-h1 em,.chf-h2 em,.chf-h3 em,.chf-desc em,.chf-lead em{font-style:italic;font-weight:inherit}
.chf-desc sup,.chf-lead sup,.chf-plist sup,.chf-actif-txt sup{font-size:.58em;font-weight:700;color:#0095DB;vertical-align:super;line-height:0;margin-left:.06em;position:static;top:auto}
.chf-rule .elementor-divider{padding-block-start:18px;padding-block-end:0}
.chf-rule .elementor-divider-separator{border-radius:99px}
.chf-btn .elementor-button{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.01em;transition:.22s;display:inline-flex;align-items:center;gap:10px}
.chf-btn .elementor-button:hover{transform:translateY(-2px)}
.chf-btn-red .elementor-button{box-shadow:0 12px 26px -12px rgba(228,3,46,.65)}
.chf-btn-red .elementor-button:hover{background-color:#B80125!important}
.chf-btn-ghost .elementor-button{background-color:transparent!important;color:#004077!important;border:1.6px solid #DDE7F0;box-shadow:none}
.chf-btn-ghost .elementor-button:hover{border-color:#0095DB;color:#0095DB!important;background-color:#F7FAFD!important}
.chf-btn-white .elementor-button:hover{background-color:#EDF5FC!important}
.chf-btn:not(.chf-btn-ghost) .elementor-button-text::after{content:"";display:inline-block;vertical-align:middle;width:17px;height:12px;margin-left:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Cpath d='M1 7h15M11 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Cpath d='M1 7h15M11 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.chf-plist .elementor-icon-list-items{display:grid;gap:9px}
.chf-plist .elementor-icon-list-icon{display:none!important}
.chf-plist .elementor-icon-list-item{display:flex;align-items:flex-start;gap:11px}
.chf-plist .elementor-icon-list-item::before{content:"";flex:none;width:19px;height:19px;border-radius:50%;margin-top:3px;background:#0095DB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.chf-plist .elementor-icon-list-text{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;color:#173049;padding:0;line-height:1.5}
.chf-notes{background-color:#F7FAFD}
.chf-notes .elementor-widget{margin-bottom:0}
#chf-notes-bas-de-page p.chf-disclaimer{font-family:'Montserrat',sans-serif;font-size:.74rem;line-height:1.65;margin:0 0 14px;max-width:110ch;color:#4A6076}
#chf-notes-bas-de-page ol{margin:0;padding-left:1.35em;display:grid;gap:6px}
#chf-notes-bas-de-page li{font-family:'Montserrat',sans-serif;font-size:.72rem;line-height:1.6;color:#4A6076}
#chf-notes-bas-de-page li::marker{color:#0095DB;font-weight:700}
.elementor-widget-image figure,.elementor-widget-image .wp-caption{background:transparent!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
.elementor-widget-image figcaption{display:none}
.chf-h1 .elementor-heading-title,.chf-h2 .elementor-heading-title,.chf-h3 .elementor-heading-title{overflow-wrap:break-word}

.chf-rule .elementor-divider{justify-content:flex-start}
.chf-center .chf-rule .elementor-divider{justify-content:center}
@media(max-width:767px){.chf-h1 .elementor-heading-title,.chf-h2 .elementor-heading-title{font-size:clamp(1.62rem,7.2vw,2.4rem)}}
.chf-lead p{font-size:1.09rem;color:#4A6076;max-width:70ch;line-height:1.7;margin:0}
.chf-lead-c p{margin:22px auto 0;text-align:center}
.chf-shead .elementor-widget:not(:last-child){margin-bottom:0}
.chf-shead .chf-lead{margin-top:22px!important}
.chf-nb{padding-bottom:0!important}
.chf-faq>.elementor-container{gap:clamp(30px,4vw,58px);align-items:flex-start}
@media(max-width:1024px){.chf-faq .elementor-column{width:100%}.chf-faqaside{max-width:420px;margin:0 auto}.chf-faqaside>.elementor-element-populated{position:relative;top:auto}}
@media(max-width:767px){.chf-faq .elementor-column{width:100%}}
.chf-shead .chf-eyebrow{margin-bottom:12px!important}
.chf-pt44{padding-top:clamp(34px,4vw,54px)!important}
.chf-faqtoggle .elementor-toggle{display:grid;gap:14px;text-align:left}
.chf-faqtoggle .elementor-toggle-item{background:#fff;border:1px solid #DDE7F0;border-radius:22px;overflow:hidden;transition:.22s}
.chf-faqtoggle .elementor-toggle-item:has(>.elementor-tab-title.elementor-active){border-color:#BFDCF2;box-shadow:0 30px 60px -42px rgba(0,64,119,.5)}
.chf-faqtoggle .elementor-toggle .elementor-tab-title{display:flex!important;align-items:flex-start;gap:18px;margin:0!important;padding:24px 26px!important;border:0!important;background:none!important;font-family:'Barlow Condensed',Impact,sans-serif!important;font-size:1.3rem!important;font-weight:700!important;text-transform:uppercase;color:#004077!important;line-height:1.2!important;cursor:pointer;transition:.18s}
.chf-faqtoggle .elementor-toggle .elementor-tab-title .elementor-toggle-title{flex:1 1 auto;min-width:0;font:inherit;color:inherit;text-decoration:none;outline:none}
.chf-faqtoggle .elementor-toggle .elementor-tab-title sup{font-size:.44em;vertical-align:super;position:static;top:auto;line-height:0;margin:0 .02em 0 .01em;font-weight:600}
.chf-faqtoggle .elementor-toggle .elementor-tab-title em{font-style:normal}
.chf-faqtoggle .elementor-toggle .elementor-tab-title:hover,.chf-faqtoggle .elementor-toggle .elementor-tab-title:hover .elementor-toggle-title{color:#0095DB!important}
.chf-faqtoggle .elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:none!important}
.chf-faqtoggle .elementor-toggle .elementor-tab-title::after{content:"";flex:0 0 auto;order:2;width:32px;height:32px;margin-left:auto;border-radius:50%;background:#EDF5FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004077' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;transition:.25s}
.chf-faqtoggle .elementor-toggle .elementor-tab-title.elementor-active::after{background-color:#E4032E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");transform:rotate(135deg)}
.chf-faqtoggle .elementor-toggle .elementor-tab-content{padding:0 26px 26px!important;border:0!important;background:none!important;font-family:'Montserrat',sans-serif;font-size:.94rem;color:#4A6076;line-height:1.7}
.chf-faqtoggle .elementor-toggle .elementor-tab-content p{margin:0 0 .9em}
.chf-faqtoggle .elementor-toggle .elementor-tab-content p:last-child{margin-bottom:0}
.chf-faqtoggle .elementor-toggle .elementor-tab-content .doselist{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:9px}
.chf-faqtoggle .elementor-toggle .elementor-tab-content .doselist li{display:block;position:relative;padding-left:29px;font-weight:700;color:#004077;font-size:.9rem;line-height:1.5;overflow-wrap:break-word}
.chf-faqtoggle .elementor-toggle .elementor-tab-content .doselist li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:#0095DB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat}
.chf-faqtoggle .elementor-toggle .elementor-tab-content a{color:#0095DB;font-weight:700;text-decoration:underline}
@media(max-width:767px){.chf-faqtoggle .elementor-toggle .elementor-tab-title{padding:20px 18px!important;font-size:1.12rem!important;gap:12px}.chf-faqtoggle .elementor-toggle .elementor-tab-content{padding:0 18px 20px!important}}
/* --- colonne « aside » de la FAQ, en widgets natifs --- */
.chf-faqaside>.elementor-element-populated{position:sticky;top:120px;isolation:isolate;background:linear-gradient(160deg,#F2F9FE 0%,#fff 55%);border:2px solid #0095DB;border-radius:22px;padding:34px 28px 30px!important;text-align:center;box-shadow:0 30px 60px -42px rgba(0,64,119,.5)}
.chf-faqaside .elementor-widget{margin-bottom:0!important}
.chf-faqaside .chf-tagnew{position:absolute;top:-17px;left:26px;width:auto!important;z-index:2;margin:0!important;text-align:left}
.chf-tagnew .elementor-heading-title{display:inline-block;background:#FFE500;color:#004077;font-family:'Barlow Condensed',Impact,sans-serif!important;font-size:1.28rem;font-weight:700;letter-spacing:.15em;padding:8px 20px 6px;border-radius:9px;text-transform:uppercase;line-height:1;margin:0;box-shadow:0 8px 18px -8px rgba(0,64,119,.5)}
.chf-aside-pk img{display:block;width:min(100%,248px);margin:0 auto 20px;filter:drop-shadow(0 22px 28px rgba(0,64,119,.26))}
.chf-aside-lg img{display:block;width:180px;margin:0 auto 14px}
.chf-aside-p p{font-size:.88rem;color:#4A6076;line-height:1.65;margin:0 0 22px}
.chf-aside-btn .elementor-button{padding:15px 26px!important;font-size:.92rem}
/* --- encadré « Vous n'avez pas trouvé votre réponse ? » en widgets natifs --- */
.chf-nohelp>.elementor-element-populated{background:linear-gradient(120deg,#004077 0%,#00558F 60%,#0075BF 100%);color:#fff;border-radius:22px;padding:clamp(30px,3.6vw,46px)!important;display:grid!important;grid-template-columns:1fr auto!important;column-gap:30px;align-items:center;align-content:center}
.chf-nohelp .elementor-widget{margin-bottom:0!important}
.chf-nohelp .chf-nohelp-h{grid-column:1;grid-row:1}
.chf-nohelp .chf-nohelp-p{grid-column:1;grid-row:2}
.chf-nohelp .chf-nohelp-btn{grid-column:2;grid-row:1/3;align-self:center;justify-self:end}
.chf-nohelp-h .elementor-heading-title{font-family:'Barlow Condensed',Impact,sans-serif!important;color:#fff;font-size:clamp(1.4rem,2.4vw,1.9rem);text-transform:uppercase;font-weight:700;margin:0 0 6px;line-height:1.1}
.chf-nohelp-p p{color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.65;margin:0}
.chf-nohelp-btn .elementor-button{font-size:.95rem;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
@media(max-width:767px){.chf-nohelp>.elementor-element-populated{grid-template-columns:1fr!important;row-gap:0}.chf-nohelp .chf-nohelp-btn{grid-column:1;grid-row:3;justify-self:stretch;margin-top:20px!important}.chf-nohelp-btn .elementor-button{width:100%;justify-content:center}}
/* FIDELITE MAQUETTE - interlignes, espacements, marges internes */
body{font-family:'Montserrat',-apple-system,'Segoe UI',Roboto,sans-serif;font-size:17px;line-height:1.65;color:#173049}
.chf-sec>.elementor-container,.chf-avail>.elementor-container,.chf-notes>.elementor-container,.chf-amg>.elementor-container{max-width:1200px!important}
/* la maquette n'a pas de padding de colonne : on neutralise celui du kit Elementor
   (les cartes redeclarent le leur en !important) */
.chf-sec>.elementor-container>.elementor-column>.elementor-element-populated,
.chf-sec .elementor-inner-section>.elementor-container>.elementor-column>.elementor-element-populated,
.chf-avail>.elementor-container>.elementor-column>.elementor-element-populated,
.chf-notes>.elementor-container>.elementor-column>.elementor-element-populated{padding:0}
.chf-head,.chf-head-l{padding-bottom:clamp(34px,4vw,58px)}
.chf-eyebrow .elementor-heading-title{line-height:1.65}
.elementor-widget.chf-eyebrow{margin-bottom:14px!important}
.chf-h3 .elementor-heading-title{line-height:1.06}
.chf-lead p{font-size:1.09rem;line-height:1.65;margin:0 0 1.05em}
.chf-lead p:last-child{margin-bottom:0}
.chf-lead-c p{margin:22px auto 0}
.chf-epanel p{line-height:1.65;margin:0 0 1.05em}
.chf-epanel p:last-child{margin-bottom:0}
.chf-callout p{line-height:1.65}
.chf-balance{line-height:1.65}
.chf-fbox-i p{line-height:1.65}
.chf-faqaside p{line-height:1.65}
.chf-cinfo h2,.chf-nohelp h2{line-height:1.06}
.chf-plist .elementor-icon-list-items{gap:9px}
.chf-plist .elementor-icon-list-text{line-height:1.65}
.chf-steps .elementor-icon-list-text{line-height:1.65}
.chf-btn .elementor-button{font-size:.92rem;letter-spacing:.02em;gap:11px;padding:16px 30px;border-radius:999px}
.chf-btn:not(.chf-btn-ghost) .elementor-button-text::after{margin-left:11px}
.chf-xsell-body .xs-h2{font-size:clamp(2.1rem,4.4vw,3.35rem)}
.chf-xsell-body p{font-size:17px;line-height:1.65;margin:0 0 1.05em}
.chf-xsell-body .xs-btn{font-size:.92rem;gap:11px;letter-spacing:.02em;margin-top:12px;border:2px solid transparent}
.chf-card .chf-ct .elementor-heading-title{line-height:1.06}
.chf-duo-card .chf-dp p{line-height:1.65}
.chf-lifecard .chf-cp p{line-height:1.5}
.chf-sec>.elementor-container>.elementor-column.chf-shead{max-width:840px}
.chf-sec>.elementor-container>.elementor-column.chf-shead.chf-center{margin-left:auto;margin-right:auto}
.chf-callout{margin-top:34px}
.chf-balance{margin-top:26px}
.chf-lead-c p{margin:0 auto}
.chf-tag span,.chf-tag .elementor-heading-title{line-height:1.65}
.chf-btn .elementor-button{line-height:1.65;border:2px solid transparent}
.chf-btn-ghost .elementor-button{border:2px solid #DDE7F0}
.chf-lifecard .chf-ct{margin:16px 0 6px!important}
.chf-lifecard .chf-ct .elementor-heading-title{font-size:1rem}
.elementor-widget.chf-epanel{margin-top:34px;margin-bottom:32px}
.chf-toc li,.chf-toc a{line-height:1.65}
.chf-sec h1,.chf-sec h2,.chf-sec h3,.chf-sec h4,.chf-avail h2,.chf-avail h3,.chf-notes h3{line-height:1.06}
.chf-notes{padding-top:34px;padding-bottom:38px;border-top:1px solid #DDE7F0}
.chf-xsell-body .xs-h2 sup{font-size:.58em;font-weight:700;vertical-align:super;position:static;top:auto;line-height:0;margin-left:.06em}
/* largeurs de colonnes identiques aux grilles CSS de la maquette */
.chf-ehero>.elementor-container{gap:clamp(34px,4.5vw,72px)}
.chf-ehero>.elementor-container>.elementor-column.chf-ehero-txt,.chf-ehero>.elementor-container>.elementor-column.chf-labo-txt{width:50%}
.chf-ehero>.elementor-container>.elementor-column.chf-ehero-visual,.chf-ehero>.elementor-container>.elementor-column.chf-labovis{width:44.34%}
.chf-labo-hero>.elementor-container{gap:clamp(34px,4.5vw,72px)}
.chf-labo-hero>.elementor-container>.elementor-column.chf-labo-txt{width:50%}
.chf-labo-hero>.elementor-container>.elementor-column.chf-labovis{width:44.34%}
.chf-xsell>.elementor-container>.elementor-column.chf-xsell-pack{width:45.1%}
.chf-xsell>.elementor-container>.elementor-column.chf-xsell-txt{width:49.85%}
@media(max-width:767px){.chf-ehero>.elementor-container>.elementor-column,.chf-labo-hero>.elementor-container>.elementor-column,.chf-xsell>.elementor-container>.elementor-column{width:100%!important}}
.chf-sec.chf-facts{padding-top:clamp(38px,4vw,58px)}
.chf-award>.elementor-container{gap:clamp(32px,4vw,64px)}
.chf-award>.elementor-container>.elementor-column.chf-award-txt{width:54.63%}
.chf-award>.elementor-container>.elementor-column.chf-award-img{width:40.38%}
.chf-quote{margin:26px 40px 17px}
@media(max-width:767px){.chf-award>.elementor-container>.elementor-column{width:100%!important}.chf-quote{margin-left:0;margin-right:0}}
.chf-life>.elementor-container{gap:18px}
.chf-form .elementor-field-group>*{margin-bottom:0}
.chf-form .elementor-field-textual{line-height:1.5}
.chf-form .elementor-field-label{line-height:1.4}
.chf-form .elementor-field-type-acceptance{margin-top:6px}
.chf-form .elementor-button{font-size:.92rem;letter-spacing:.02em;padding:16px 30px;border-radius:999px;line-height:1.65;border:2px solid transparent}
.chf-faq>.elementor-container{gap:clamp(30px,4vw,58px);align-items:flex-start}
.chf-faq>.elementor-container>.elementor-column.chf-faq-main{width:68.85%}
.chf-faq>.elementor-container>.elementor-column.chf-faq-side{width:26.12%}
@media(max-width:980px){.chf-faq>.elementor-container>.elementor-column{width:100%!important}}
.chf-sec.chf-faq{padding-top:clamp(30px,3.4vw,46px)}
.chf-sec.chf-pt44{padding-top:clamp(30px,3.4vw,46px)}
.chf-faq+.chf-sec.chf-pt44{padding-top:clamp(34px,4vw,54px)}
.chf-sec.chf-pt44.chf-contact{padding-top:clamp(30px,3.4vw,46px)!important}
.chf-sec.chf-advsec{padding-top:calc(clamp(40px,4.5vw,64px) + clamp(30px,3.5vw,46px))}
.chf-advsec .elementor-widget:last-child{margin-bottom:0}
.chf-advsec .elementor-widget.chf-advpanel:last-child{margin-bottom:0!important}
.chf-actifs .chf-actif-lat .qte{display:inline-block;background:#EDF5FC;color:#004077;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;padding:5px 12px;border-radius:999px;margin-top:2px}
.chf-actifs .chf-actif-lat p{margin-bottom:8px!important}
.chf-avail .elementor-widget.chf-h3{margin-bottom:4px!important}
.chf-avail .chf-h3 .elementor-heading-title{line-height:1.06}
.chf-xsell-pack>.elementor-element-populated{position:relative}
.chf-xsell-pack .chf-xstag{position:absolute;top:0;left:0;width:auto!important;text-align:left;z-index:2;margin:0!important}
.chf-xsell-pack .chf-xstag .elementor-heading-title,.chf-xsell-pack .xs-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:1.34rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:#FFE500;color:#004077;padding:9px 22px 7px;border-radius:9px;line-height:1;box-shadow:0 8px 18px -8px rgba(0,64,119,.5)}
@media(max-width:767px){.chf-xsell-pack .chf-xstag{position:static;margin-bottom:14px!important}.chf-xsell-pack .chf-xstag .elementor-heading-title,.chf-xsell-pack .xs-tag{font-size:1.15rem}}
.chf-sec.chf-head .elementor-widget:not(:last-child),.chf-sec.chf-head-l .elementor-widget:not(:last-child){margin-bottom:0}
.chf-sec.chf-tight.chf-amg{padding-top:28px}
.chf-nb{padding-bottom:0!important}
/* --- listes a puces produit --- */
.chf-plist .elementor-icon-list-item{padding:0!important}
.chf-plist .elementor-icon-list-text{font-family:'Montserrat',sans-serif;font-size:.9rem!important;font-weight:600!important;color:#173049!important;padding:0!important;line-height:1.65}
/* --- encadre posologie (page d'accueil) --- */
.chf-poso{margin-top:26px;background:#fff;border:1px solid #DDE7F0;border-radius:12px;padding:16px 22px;font-family:'Montserrat',sans-serif}
.chf-poso .elementor-image-box-wrapper{display:flex;align-items:center;gap:20px;text-align:left}
.chf-poso .elementor-image-box-img{width:112px;flex:none;margin:0!important}
.chf-poso .elementor-image-box-img img{width:112px;display:block}
.chf-poso .elementor-image-box-content{flex:1 1 auto;min-width:0}
.chf-poso .elementor-image-box-title{display:inline;font-family:'Montserrat',sans-serif!important;font-size:.88rem;font-weight:700;color:#004077;line-height:1.5;margin:0 .32em 0 0}
.chf-poso .elementor-image-box-description{display:inline;font-size:.88rem;font-weight:600;color:#004077;line-height:1.5;margin:0}
@media(max-width:767px){.chf-poso .elementor-image-box-wrapper{flex-direction:column;align-items:flex-start;gap:14px}}
/* --- grille « Le cholesterol, parlons-en » --- */
.chf-split>.elementor-container{gap:clamp(34px,5vw,72px);align-items:center}
.chf-split>.elementor-container>.elementor-column{width:calc((100% - clamp(34px,5vw,72px))*.5)}
.chf-split .chf-visual img{aspect-ratio:4/3;object-fit:cover}
/* --- grille laboratoire : photo a la hauteur de la colonne de texte --- */
.chf-labgrid>.elementor-container{gap:clamp(38px,5vw,76px);align-items:stretch}
.chf-labgrid>.elementor-container>.elementor-column:first-child{width:calc((100% - clamp(38px,5vw,76px))*.525)}
.chf-labgrid>.elementor-container>.elementor-column:last-child{width:calc((100% - clamp(38px,5vw,76px))*.475)}
.chf-labgrid .elementor-column>.elementor-element-populated{height:100%}
.chf-labgrid .chf-visual,.chf-labgrid .chf-visual .elementor-widget-container,.chf-labgrid .chf-visual figure{height:100%;margin:0}
.chf-labgrid .chf-visual img{width:100%;height:100%;object-fit:cover;object-position:46% 46%}
@media(max-width:767px){.chf-split>.elementor-container>.elementor-column,.chf-labgrid>.elementor-container>.elementor-column{width:100%!important}.chf-labgrid .chf-visual img{height:auto;aspect-ratio:16/10}}
/* largeur utile identique a la maquette (wrap 1200 avec 28px de marge interne) */
.chf-sec>.elementor-container,.chf-herobar>.elementor-container,.chf-notes>.elementor-container,.chf-avail>.elementor-container,.chf-amg>.elementor-container{max-width:1200px!important;padding-left:28px!important;padding-right:28px!important}
.chf-advwrap>.elementor-container{max-width:1144px!important}
.chf-rule .elementor-divider{padding-block-start:18px;padding-block-end:0}
.chf-desc p{line-height:1.65}
.chf-advwrap .chf-desc p{font-size:.94rem}
/* notes de bas de page (typographie identique sur toutes les pages) */
#chf-notes-bas-de-page p.chf-disclaimer{font-family:'Montserrat',sans-serif;font-size:.74rem;line-height:1.65;margin:0 0 14px;max-width:110ch;color:#4A6076}
#chf-notes-bas-de-page ol{margin:0;padding-left:1.35em;display:grid;gap:6px}
#chf-notes-bas-de-page li{font-family:'Montserrat',sans-serif;font-size:.72rem;line-height:1.6;color:#4A6076}
#chf-notes-bas-de-page li::marker{color:#0095DB;font-weight:700}
/* hero produit : gouttiere et ratio de colonnes de la maquette (.92fr / 1.08fr) */
.chf-phero>.elementor-container{gap:clamp(34px,4.5vw,72px);align-items:center}
.chf-phero>.elementor-container>.elementor-column.chf-pstage-col{width:calc((100% - clamp(34px,4.5vw,72px))*.46)}
.chf-phero>.elementor-container>.elementor-column.chf-phero-txt{width:calc((100% - clamp(34px,4.5vw,72px))*.54)}
@media(max-width:767px){.chf-phero>.elementor-container>.elementor-column{width:100%!important}}
.chf-band>.elementor-container{max-width:1144px!important;padding-left:0!important;padding-right:0!important}
.chf-avail>.elementor-container{gap:30px}
.chf-xsell>.elementor-container{gap:clamp(30px,4vw,64px)}
/* ============================================================
   Police : Elementor applique sa typographie globale (Roboto)
   directement sur les widgets, ce qui court-circuite l'heritage
   depuis body. On repose Montserrat sur les widgets et
   Barlow Condensed sur les titres, comme dans la maquette.
   ============================================================ */
.chf-sec .elementor-widget,.chf-notes .elementor-widget,.chf-avail .elementor-widget,.chf-amg .elementor-widget,.chf-advwrap .elementor-widget,.chf-herobar .elementor-widget,.chf-band .elementor-widget,.chf-hfsec .elementor-widget{font-family:'Montserrat',-apple-system,'Segoe UI',Roboto,sans-serif}
.chf-sec h1,.chf-sec h2,.chf-sec h3,.chf-sec h4,.chf-avail h2,.chf-avail h3,.chf-notes h3,.chf-advwrap h2,.chf-advwrap h3,.chf-band h2{font-family:'Barlow Condensed',Impact,sans-serif}
/* ---- formulaire de contact : Elementor Pro impose sa propre mise en forme ---- */
.chf-form input,.chf-form select,.chf-form textarea,.chf-form button,.chf-form label{font-family:'Montserrat',-apple-system,'Segoe UI',Roboto,sans-serif!important}
.chf-form .elementor-field-group .elementor-field-textual{font-size:.92rem!important;line-height:1.5!important;color:#173049!important;background:#F7FAFD!important;border:1px solid #DDE7F0!important;border-radius:12px!important;padding:14px 16px!important;height:auto!important;min-height:0!important;box-shadow:none!important}
.chf-form .elementor-field-group textarea.elementor-field-textual{min-height:140px!important;line-height:1.6!important}
.chf-form .elementor-field-group .elementor-field-textual:focus{border-color:#0095DB!important;background:#fff!important;box-shadow:0 0 0 4px rgba(0,149,219,.14)!important}
.chf-form .elementor-field-group .elementor-field-label{font-size:.78rem!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#004077!important;line-height:1.4!important}
.chf-form .elementor-field-group>label.elementor-field-label:after{content:none!important}
.chf-form .elementor-field-group.elementor-field-required>label.elementor-field-label:after{content:" *"!important;color:#E4032E!important}
.chf-form .elementor-field-group:not(.elementor-field-type-acceptance) .elementor-field-subgroup .elementor-field-option{display:inline-flex!important;width:auto!important;flex:0 0 auto}
.chf-form .elementor-field-type-acceptance .elementor-field-subgroup{display:block!important}
.chf-form .elementor-field-type-acceptance .elementor-field-option{display:flex!important;width:100%!important;background:#F7FAFD!important;border:1px solid #DDE7F0!important;border-radius:12px!important;padding:18px 20px!important;gap:13px!important;align-items:flex-start!important}
.chf-form .elementor-select-wrapper select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23004077' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:12px!important;padding-right:42px!important;appearance:none!important}
.chf-form .elementor-select-wrapper:before,.chf-form .elementor-select-wrapper .e-font-icon-svg-container,.chf-form .elementor-select-wrapper i{display:none!important}
.chf-form .e-form__buttons{justify-content:flex-start!important}
.chf-form .e-form__buttons button{width:auto!important;flex:0 0 auto!important;align-self:flex-start!important;font-size:.92rem!important;letter-spacing:.02em!important;line-height:1.65!important;border:2px solid transparent!important}
@media(max-width:680px){.chf-form .e-form__buttons button{width:100%!important;justify-content:center!important}}
/* ---- cadrage de la photo du bloc de liens (visages visibles) ---- */
.chf-linkcard img{object-position:50% 8%}
/* ============================================================
   Responsive : points de rupture et colonnes de la maquette.
   Les blocs restes seuls sur une ligne sont centres.
   ============================================================ */
.chf-sec>.elementor-container,.chf-avail>.elementor-container{justify-content:center}
@media(max-width:1120px){
.chf-roles>.elementor-container>.elementor-column,.chf-flow>.elementor-container>.elementor-column{width:calc(50% - 10px)!important}
.chf-life>.elementor-container>.elementor-column{width:calc(33.333% - 12px)!important}
.chf-actifs>.elementor-container>.elementor-column{width:calc(50% - 13px)!important}
}
@media(max-width:980px){
.chf-actifs>.elementor-container>.elementor-column,.chf-usegrid>.elementor-container>.elementor-column,.chf-two>.elementor-container>.elementor-column,.chf-links>.elementor-container>.elementor-column,.chf-ehero>.elementor-container>.elementor-column,.chf-duo>.elementor-container>.elementor-column,.chf-phero>.elementor-container>.elementor-column,.chf-xsell>.elementor-container>.elementor-column,.chf-award>.elementor-container>.elementor-column,.chf-labo-hero>.elementor-container>.elementor-column,.chf-split>.elementor-container>.elementor-column,.chf-labgrid>.elementor-container>.elementor-column,.chf-contact>.elementor-container>.elementor-column,.chf-faq>.elementor-container>.elementor-column{width:100%!important}
}
@media(max-width:820px){.chf-life>.elementor-container>.elementor-column{width:calc(50% - 9px)!important}}
@media(max-width:680px){
.chf-roles>.elementor-container>.elementor-column,.chf-flow>.elementor-container>.elementor-column,.chf-life>.elementor-container>.elementor-column{width:100%!important}
.chf-risks{grid-template-columns:1fr}
.chf-ci{flex-direction:column;align-items:flex-start;gap:12px}
.chf-btn .elementor-button,.chf-xsell-body .xs-btn,.chf-form .e-form__buttons button{width:100%!important;justify-content:center!important}
.chf-btn .elementor-button,.chf-xsell-body .xs-btn{font-size:.82rem!important;padding:15px 20px!important}
.chf-linkcard .chf-btn .elementor-button{width:auto!important;justify-content:flex-start!important;padding:0!important;font-size:.9rem!important}
}
/* le libelle des CTA ne doit jamais se couper */
/* image de fond des cartes de liens : remplit la carte et suit son arrondi */
.chf-linkcard .chf-linkbg,.chf-linkcard .chf-linkbg .elementor-widget-container,.chf-linkcard .chf-linkbg figure,.chf-linkcard .chf-linkbg .elementor-image{height:100%!important;width:100%!important;margin:0!important}
.chf-linkcard .chf-linkbg img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 8%!important;border-radius:22px!important}
/* largeurs de colonnes calculees pour que chaque grille tuile exactement (gouttiere comprise) */
.chf-roles>.elementor-container>.elementor-column,.chf-flow>.elementor-container>.elementor-column{width:calc(25% - 15px)}
.chf-life>.elementor-container>.elementor-column{width:calc(20% - 14.4px)}
.chf-duo>.elementor-container>.elementor-column,.chf-usegrid>.elementor-container>.elementor-column,.chf-two>.elementor-container>.elementor-column{width:calc(50% - 13px)}
.chf-links>.elementor-container>.elementor-column:not(:only-child){width:calc(50% - 13px)}
.chf-actifs>.elementor-container>.elementor-column{width:calc(33.333% - 17.34px)}
.chf-actifs>.elementor-container:has(>.elementor-column:nth-child(4))>.elementor-column{width:calc(25% - 19.5px)}
/* Les elements internes des widgets Elementor (texte de liste a puces, titres,
   description d'image-box) recuperent encore Roboto : on force la police cible. */
.chf-sec .elementor-widget .elementor-icon-list-text,.chf-sec .elementor-widget .elementor-image-box-description,.chf-sec .elementor-widget .elementor-button,.chf-notes .elementor-widget .elementor-icon-list-text,.chf-avail .elementor-widget .elementor-icon-list-text,.chf-avail .elementor-widget .elementor-button,.chf-advwrap .elementor-widget .elementor-icon-list-text,.chf-advwrap .elementor-widget .elementor-button,.chf-band .elementor-widget .elementor-icon-list-text,.chf-band .elementor-widget .elementor-button,.chf-herobar .elementor-widget .elementor-button,.chf-amg .elementor-widget .elementor-icon-list-text{font-family:'Montserrat',-apple-system,'Segoe UI',Roboto,sans-serif!important}
.chf-sec .elementor-widget h1,.chf-sec .elementor-widget h2,.chf-sec .elementor-widget h3,.chf-sec .elementor-widget h4,.chf-notes .elementor-widget h3,.chf-avail .elementor-widget h2,.chf-avail .elementor-widget h3,.chf-advwrap .elementor-widget h2,.chf-advwrap .elementor-widget h3,.chf-band .elementor-widget h2,.chf-herobar .elementor-widget h2,.chf-amg .elementor-widget h3{font-family:'Barlow Condensed',Impact,sans-serif!important}
/* la maquette resserre la gouttiere du wrap a 20px sous 680px */
@media(max-width:680px){.chf-sec>.elementor-container,.chf-herobar>.elementor-container,.chf-notes>.elementor-container,.chf-avail>.elementor-container,.chf-amg>.elementor-container{padding-left:20px!important;padding-right:20px!important}}

/* garde-fou : un seul fond jaune, porte par le libelle (evite l'effet « deux badges superposes ») */
.chf-tagnew,.chf-tagnew>.elementor-widget-container,.chf-xstag,.chf-xstag>.elementor-widget-container,.chf-badge-new,.chf-badge-new>.elementor-widget-container{background:none!important;background-color:transparent!important;box-shadow:none!important;padding:0!important;border:0!important;border-radius:0!important;line-height:0!important;font-size:0!important}
.chf-tagnew .elementor-heading-title,.chf-xstag .elementor-heading-title,.chf-badge-new .elementor-heading-title{background-color:#FFE500!important}/* End custom CSS */