/* assets/css/canonical-audit-2051.css */
/* Correctifs d'affichage du site canonique, preview du 08/11/2026. */
main{padding-bottom:48px!important;background:#f4f4f4!important}main>section:last-child{padding-bottom:0!important;margin-bottom:0!important}
main>section:last-child>.da-wrap:last-child,main>section:last-child>.wrap:last-child{margin-bottom:0!important;padding-bottom:0!important}
.cbs-p5-panel{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)!important;gap:clamp(32px,4vw,51.2px)!important;align-items:start!important}
.cbs-p5-panel>aside,.cbs-p5-panel>form{min-width:0!important}
.cbs-p5-panel a.btn-rdv-joindre,main a.cbs-bc-rdv,main a.btn-rdv{background:#fff!important;color:#003366!important;border:2px solid #003366!important;box-shadow:none!important}
.cbs-p5-panel a.btn-rdv-joindre:hover,main a.cbs-bc-rdv:hover,main a.btn-rdv:hover{background:#003366!important;color:#fff!important}
footer.cbs-foot .main{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.3fr)!important;gap:40px!important}
footer.cbs-foot .main>div{min-width:0!important}footer.cbs-foot .main li,footer.cbs-foot .contact li{white-space:normal!important;overflow-wrap:anywhere}footer.cbs-foot .brand .name{white-space:normal!important}
footer.cbs-foot .contact a.btn-rdv{background:transparent!important;color:#fff!important;border:2px solid #fff!important;white-space:normal!important}footer.cbs-foot .contact a.btn-rdv:hover{background:#fff!important;color:#003366!important}
main .cb-refs li>picture{display:block;min-width:0;width:80px;height:60px}main .cb-refs li>picture img{display:block;width:80px!important;height:60px!important;max-width:100%;object-fit:contain}
html[lang^=ja] main,html[lang^=zh] main{overflow-wrap:anywhere}main img{max-width:100%}main .fgrid>*{min-width:0}

/* CANON-FOOTER-2058 : référence REF-footer-securisee.png, marine #0F2040. */
footer.cbs-foot,footer.cbs-foot .main,footer.cbs-foot .group,footer.cbs-foot .bottom{background:#0f2040!important}
footer.cbs-foot .main{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.3fr)!important;gap:40px!important}footer.cbs-foot .main>div{min-width:0!important}
footer.cbs-foot .brand .name{color:#fff!important;text-decoration:underline!important;text-decoration-color:#5bc889!important;text-decoration-thickness:2px!important;text-underline-offset:8px!important;white-space:normal!important}
footer.cbs-foot .main li,footer.cbs-foot .contact li{white-space:normal!important;overflow-wrap:anywhere}
footer.cbs-foot .contact a.btn-rdv{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;color:#fff!important;border:2px solid #fff!important;border-radius:5px!important;padding:11px 22px!important;white-space:normal!important;box-shadow:none!important;text-align:center!important}
footer.cbs-foot .contact a.btn-rdv:hover{background:#fff!important;color:#0f2040!important}
footer.cbs-foot #sites-cbs-group .label{color:#fff!important;text-decoration:none!important;display:table!important;margin-left:auto!important;margin-right:auto!important}
footer.cbs-foot #sites-cbs-group .label::after{content:""!important;display:block!important;width:100%!important;height:2px!important;background:#5bc889!important;margin-top:8px!important}
footer.cbs-foot #sites-cbs-group .gsecs{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.5fr)!important;gap:28px 36px!important;text-align:center!important}
footer.cbs-foot #sites-cbs-group .gsec{min-width:0!important}footer.cbs-foot #sites-cbs-group .gsec-wide{grid-column:1/-1!important}
footer.cbs-foot #sites-cbs-group .gt{color:#5bc889!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.12em!important}
footer.cbs-foot #sites-cbs-group a.gi{color:#fff!important}footer.cbs-foot #sites-cbs-group a.gi:hover{color:#5bc889!important}

/* La marge basse native du dernier bloc ne doit pas doubler la bande grise. */
main>:last-child{margin-bottom:0!important}
main>section:last-child{display:flow-root!important}
/* Les règles DA à sélecteur #contact écrasaient le RDV blanc de la carte. */
main#contenu section#contact .cbs-p5-panel .cbs-p5-aside .cbs-joindre-rdv a.btn-rdv-joindre,main#contenu .cbs-p5-panel .cbs-p5-aside.cbs-joindre .cbs-joindre-rdv a.btn-rdv-joindre{background:#fff!important;color:#003366!important;border:2px solid #003366!important}
main#contenu section#contact .cbs-p5-panel .cbs-p5-aside .cbs-joindre-rdv a.btn-rdv-joindre:hover,main#contenu .cbs-p5-panel .cbs-p5-aside.cbs-joindre .cbs-joindre-rdv a.btn-rdv-joindre:hover{background:#003366!important;color:#fff!important}

/* assets/css/cbs-canon-2058.css */
/* Règle CANON Achille 20h58 : champs propres au site, pas de copie des champs CBS. */
form.cbs-native-form{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
form.cbs-native-form .cbs-bc-form-row,form.cbs-native-form .cbs-p5-row,form.cbs-native-form .v8-form-row,form.cbs-native-form .fgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:16px!important;min-width:0!important;width:100%!important}
form.cbs-native-form .champ,form.cbs-native-form .cbs-p5-field,form.cbs-native-form .v8-field,form.cbs-native-form .f{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
form.cbs-native-form input:not([type=checkbox]):not([type=radio]),form.cbs-native-form textarea,form.cbs-native-form select{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important}
form.cbs-native-form .full{grid-column:1/-1!important}
.cbs-bc-col-droite{align-items:stretch!important;min-width:0!important}
.cbs-p5-panel{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)!important;gap:clamp(32px,4vw,51.2px)!important;align-items:start!important}
.cbs-p5-panel>aside,.cbs-p5-panel>form{min-width:0!important}
.cbs-contact-title-2051{display:table!important;position:relative!important;margin:0 0 16px!important;color:#003366!important;font:700 clamp(26px,2.6vw,34px)/1.15 Inter,system-ui,"Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:-.68px!important;padding:0!important;text-transform:none!important}
.cbs-contact-title-2051::after{content:""!important;display:block!important;position:static!important;width:56px!important;height:3px!important;background:#5bc889!important;margin:16px 0 0!important;border:0!important;border-radius:0!important;transform:none!important}
.cbs-contact-intro-2051{display:block!important;margin:0 0 28px!important;padding:0!important;font:15px/22.5px Inter,system-ui,"Segoe UI",Roboto,Arial,sans-serif!important;color:#64748b!important;max-width:60ch!important}

/* Le sélecteur d’origine masquait le pseudo-élément du titre. */
html body #cbs-contact-title-canon-2058.cbs-contact-title-2051.cbs-contact-title-2051::after{content:""!important;display:block!important;width:56px!important;height:3px!important;background:#5bc889!important;margin:16px 0 0!important;position:static!important;border:0!important;transform:none!important}

/* assets/cbs-fluidite.css */
/* CBS Groupe — pack fluidité v2 (08/11/2026 21h25) — v2 : ne double pas une animation existante (html.cbs-motion)
   Aucun changement de contenu, couleur, typo ni structure.
   Uniquement : défilement doux, fondu doux à l'apparition, survols, respect de prefers-reduced-motion.
   Aucun décalage de mise en page : seules opacity/transform sont animées (pas de height/margin). */
html{scroll-behavior:smooth}
:target{scroll-margin-top:96px}
/* Fondu au scroll : n'agit QUE si le JS a ajouté .cbs-fx sur <html> (sans JS = contenu visible) */
.cbs-fx .cbs-reveal{opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.cbs-fx .cbs-reveal.cbs-in{opacity:1;transform:none;will-change:auto}
/* Survols doux (ne touchent ni couleurs ni tailles de boîte) */
a,button,.btn,[class*="btn"],html:not(.cbs-motion):not(.cbs-native-motion) [class*="card"]{transition-property:color,background-color,border-color,box-shadow,transform,opacity;transition-duration:.2s;transition-timing-function:ease-out}
@media (hover:hover){html:not(.cbs-motion):not(.cbs-native-motion) [class*="card"]:hover{transform:translate3d(0,-2px,0)}}
img{transition:opacity .3s ease-out}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .cbs-fx .cbs-reveal{opacity:1!important;transform:none!important}
}

/* assets/css/cb-lang-contour-0447.css */
/* Contour bouton langue — même bordure #003366 / radius 999px que .cbh-btn--rdv */
header.hd.cbh details.lang summary,
header.site details.lang summary,
.hd.cbh .lang summary {
  display: inline-flex !important;
  align-items: center;
  box-sizing: border-box;
  border: 1px solid #003366 !important;
  border-radius: 999px !important;
  min-height: 40px;
  color: #003366 !important;
  background: #fff !important;
}
