/* Les classes Divi restent pour conserver la mise en page exportée. */
html { scroll-behavior: smooth; }
body { margin: 0; }
.et_pb_number_counter { opacity: 1; }
.et_pb_number_counter .percent { height: auto; min-height: 72px; }
.et_pb_blog_grid .et_pb_ajax_pagination_container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 5.5%; row-gap: 30px; }
.et_pb_blog_grid .et_pb_post { width: auto; margin-bottom: 0; }
.et_pb_blog_grid .pagination { grid-column: 1 / -1; }
.et_pb_blog_grid .et_pb_image_container img { width: 100%; }
iframe { max-width: 100%; }
video { max-width: 100%; height: auto; }
.menu-toggle { display: none; }
body.et_fixed_nav #main-header, #main-header { position: relative; }
#logo { max-height: 48px; }
#main-header .logo_container { width: auto; left: 30px; right: 30px; pointer-events: none; }
#main-header .logo_container a { pointer-events: auto; }
#et-top-navigation { position: relative; z-index: 2; }
#page-container { padding-top: 0 !important; }
#contact-form label { display: block; margin-bottom: 6px; }
#contact-form .et_pb_contact_field { padding-left: 0; }
#contact-form input, #contact-form textarea { font: inherit; }
#contact-form .contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-status { clear: both; padding: 0 0 12px; }
.contact-status:empty { display: none; }
.contact-status[data-error] { color: #8b1e15; background: #fff; padding: 12px; }
button:disabled { opacity: .65; cursor: wait; }
:focus-visible { outline: 3px solid #176582; outline-offset: 4px; }
@keyframes reveal { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) { .reveal-enter { animation: reveal 1s ease both; } }
@media (max-width: 980px) {
  .et_pb_blog_grid .et_pb_ajax_pagination_container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #et-top-navigation { padding: 20px 0 !important; }
  .menu-toggle { display: block; background: #fff; border: 1px solid #666; border-radius: 3px; padding: 8px 14px; color: #333; font: inherit; }
  #top-menu-nav { display: block; float: none; }
  #top-menu { display: block; float: none; padding-top: 10px; }
  #top-menu li { display: block; padding: 12px 0; }
  #top-menu li a { padding-bottom: 0; }
  .has-menu-js #top-menu-nav { display: none; }
  .has-menu-js.menu-open #top-menu-nav { display: block; }
}
@media (max-width: 600px) {
  .et_pb_blog_grid .et_pb_ajax_pagination_container { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
