/* Renommé global button standard. Contact card 6341 is the design reference.
 * Use rn-button (filled/light) or rn-button rn-button-dark (outline/dark).
 * Existing shared-template classes remain aliases of this one source.
 * Containers own widths/flex/placement; buttons own their appearance.
 */
:root{
  --rn-button-fill:#459be7;--rn-button-ink:#05121f;
  --rn-button-fill-border:#4d6780;--rn-button-hover:#92ceff;
  --rn-button-outline:#53697e;--rn-button-dark-hover:#1a3653;
  --rn-button-focus:#8acaff;--rn-button-radius:6px;
  --rn-button-height:45px;--rn-button-padding:11px 14px;--rn-button-font-size:15px;
  --rn-button-dark-ink:#fff;--rn-button-hover-border:var(--rn-button-hover);
}
body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button,.elementor-widget-button:not(.rn-site-card-link) .elementor-button){
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;min-height:var(--rn-button-height,45px);padding:var(--rn-button-padding,11px 14px);border:1px solid var(--rn-button-fill-border);
  border-radius:var(--rn-button-radius);background:var(--rn-button-fill);background-image:none;
  color:var(--rn-button-ink);font:700 var(--rn-button-font-size,15px)/1.4 Inter,sans-serif;
  text-align:center;text-transform:none;letter-spacing:normal;text-decoration:none;
  white-space:normal;box-shadow:none;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button):is(.rn-button-dark,.rn-btn-outline,.rn-contact-button-outline,.re-button-outline):not(.rn-site-card-link),
body .rn-button-dark .elementor-button:not(.rn-site-card-link){
  background:transparent;border-color:var(--rn-button-outline);color:var(--rn-button-dark-ink);
}
body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button,.elementor-widget-button:not(.rn-site-card-link) .elementor-button):hover{
  background:var(--rn-button-hover);border-color:var(--rn-button-hover);color:var(--rn-button-ink);
}
body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button):is(.rn-button-dark,.rn-btn-outline,.rn-contact-button-outline,.re-button-outline):not(.rn-site-card-link):hover,
body .rn-button-dark .elementor-button:not(.rn-site-card-link):hover{
  background:var(--rn-button-dark-hover);border-color:var(--rn-button-focus);color:var(--rn-button-dark-ink);
}
/* Selected filters use the filled variant, while preserving their filter behaviour. */
body .rn-site-filters .rn-btn.is-active{
  background:var(--rn-button-fill);border-color:var(--rn-button-fill-border);color:var(--rn-button-ink);
}
body .rn-site-filters .rn-btn.is-active:hover{
  background:var(--rn-button-hover);border-color:var(--rn-button-hover);color:var(--rn-button-ink);
}
body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button,.elementor-widget-button:not(.rn-site-card-link) .elementor-button):focus-visible{
  outline:3px solid var(--rn-button-focus);outline-offset:3px;
}
body .elementor-widget-button:not(.rn-site-card-link) .elementor-button-content-wrapper{
  align-items:center;justify-content:center;
}
body .elementor-widget-button:not(.rn-site-card-link) .elementor-button-text{text-align:center}
/* Cookie Notice owns its markup and consent state, but shares the button design.
 * Important is restricted to the plugin adapter: its inline/important rules.
 */
body #cookie-notice .cn-button,body .cn-revoke-inline{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--rn-button-height,45px);padding:var(--rn-button-padding,11px 14px)!important;border:1px solid var(--rn-button-fill-border)!important;
  border-radius:var(--rn-button-radius)!important;background-color:var(--rn-button-fill)!important;
  color:var(--rn-button-ink)!important;font:700 var(--rn-button-font-size,15px)/1.4 Inter,sans-serif!important;
  text-align:center;text-transform:none;letter-spacing:normal;text-decoration:none;
  white-space:normal;box-shadow:none;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
/* Calmer consent banner, approved 2026-10-21. Buttons and behaviour stay in the adapter above. */
body #cookie-notice{background-color:#112536!important;}
body #cookie-notice .cookie-notice-container{padding:10px 30px;}
@media(max-width:767px){
  body #cookie-notice .cookie-notice-container{padding:12px 30px;}
}
/* Equal size for the approved consent choices, 2026-10-14. */
body #cookie-notice :is(#cn-accept-cookie,#cn-refuse-cookie){min-width:110px;}
body #cookie-notice .cn-button:hover,body .cn-revoke-inline:hover{
  background-color:var(--rn-button-hover)!important;border-color:var(--rn-button-hover)!important;color:var(--rn-button-ink)!important;
}
body #cookie-notice .cn-button:focus-visible,body .cn-revoke-inline:focus-visible{
  outline:3px solid var(--rn-button-focus);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  body :is(.rn-button,.rn-btn,.rn-contact-button,.re-button,.elementor-widget-button:not(.rn-site-card-link) .elementor-button,.cn-button,.cn-revoke-inline){transition:none}
}

/* Compact size belongs to the same design source, for the six employee cards. */
body .rn-site-team-card{--rn-button-height:40px;--rn-button-padding:8px 7px;--rn-button-font-size:13px}
body .rn-site-article-search .rn-btn{align-self:center}

/* Header contact CTA and the standalone mobile contact link share the source.
 * Navigation/dropdown items and icon-only close controls keep their behaviour.
 */
body #rn-mobile-contact .rn-mobile-contact-link,
body .elementor.elementor-2935 .elementor-element.elementor-widget-nav-menu .elementor-nav-menu .menu-item-3140>a{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--rn-button-height);padding:var(--rn-button-padding);border:1px solid var(--rn-button-fill-border);
  border-radius:var(--rn-button-radius);background:var(--rn-button-fill);background-image:none;
  color:var(--rn-button-ink);font:700 var(--rn-button-font-size)/1.4 Inter,sans-serif;text-align:center;
  text-transform:none;letter-spacing:normal;text-decoration:none;white-space:normal;
  box-shadow:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
body .elementor.elementor-2935 .elementor-element.elementor-widget-nav-menu .elementor-nav-menu .menu-item-3140>a{
  --rn-button-fill:transparent;--rn-button-fill-border:var(--rn-button-outline);--rn-button-ink:var(--rn-button-dark-ink);--rn-button-hover:var(--rn-button-dark-hover);--rn-button-hover-border:var(--rn-button-focus);
}
/* Center the compact contact CTA within the mobile dropdown. */
@media(max-width:767px){
  body .elementor.elementor-2935 .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container>.elementor-nav-menu>.menu-item-3140{text-align:center;}
}
body #rn-mobile-contact .rn-mobile-contact-link:hover,
body .elementor.elementor-2935 .elementor-element.elementor-widget-nav-menu .elementor-nav-menu .menu-item-3140>a:hover{
  background:var(--rn-button-hover);border-color:var(--rn-button-hover-border);color:var(--rn-button-ink);
}
body #rn-mobile-contact .rn-mobile-contact-link:focus-visible,
body .elementor.elementor-2935 .elementor-element.elementor-widget-nav-menu .elementor-nav-menu .menu-item-3140>a:focus-visible{
  outline:3px solid var(--rn-button-focus);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  body #rn-mobile-contact .rn-mobile-contact-link,
  body .elementor.elementor-2935 .elementor-element.elementor-widget-nav-menu .elementor-nav-menu .menu-item-3140>a{transition:none}
}
