/* Adaptations communes, chargees apres les styles du site conserve. */
.site-responsive { color: #494949; -webkit-text-size-adjust: 100%; }
.site-responsive *, .site-responsive *::before, .site-responsive *::after { box-sizing: border-box; }
.site-responsive a, .site-responsive button { touch-action: manipulation; }
.site-responsive :focus-visible { outline: 3px solid #a8002b !important; outline-offset: 4px; }
.site-responsive .skip-link { position: fixed; top: 12px; left: 12px; z-index: 100000; padding: 12px 18px; color: #fff; background: #a8002b; transform: translateY(-180%); }
.site-responsive .skip-link:focus { transform: none; }
.site-responsive #main { scroll-margin-top: 20px; }
.site-responsive #mobile-menu { display: none !important; }
.site-responsive .fw-header-main > .fw-container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 24px 32px !important; width: 100%; max-width: 1140px; margin: auto; }
.site-responsive .fw-header-main > .fw-container::before, .site-responsive .fw-header-main > .fw-container::after { content: none; }
.site-responsive .fw-wrap-logo { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.site-responsive .fw-site-logo { display: block; margin: 0 !important; padding: 0 !important; }
.site-responsive .fw-site-logo img { display: block; width: 220px; max-width: 100%; height: auto; }
.site-responsive .fw-nav-wrap { float: none !important; width: auto; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.site-responsive .fw-site-navigation { display: block !important; margin: 0 !important; }
.site-responsive .fw-nav-menu { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; }
.site-responsive .fw-nav-menu > li { margin: 0; padding: 0; float: none; }
.site-responsive .fw-nav-menu > li > a { min-height: 44px; display: flex; align-items: center; padding: 10px 12px !important; font-size: 13px; line-height: 1.4; white-space: nowrap; }
.site-responsive .fw-nav-menu > li > a[aria-current="page"] { color: #b7002d; }
.site-responsive .site-menu-toggle { display: none; }
.site-responsive .fw-default-page > .fw-container { padding-top: 48px; padding-bottom: 48px; }
.site-responsive .fw-content-area { margin-bottom: 0; }
.site-responsive .entry-content { font-size: 17px; line-height: 1.75; color: #494949; overflow-wrap: anywhere; }
.site-responsive .entry-content p, .site-responsive .entry-content li { font-size: inherit; line-height: inherit; }
.site-responsive .entry-content p { margin-bottom: 1.1em; }
.site-responsive .entry-content h2, .site-responsive .entry-content h3 { line-height: 1.4; margin-top: 1.2em; margin-bottom: .65em; }
.site-responsive .entry-content h2 { font-size: clamp(22px, 2.3vw, 28px); }
.site-responsive .entry-content h3 { font-size: clamp(20px, 2vw, 24px); }
.site-responsive .entry-content a:not(.brz-btn) { text-decoration: underline; text-underline-offset: 3px; }
.site-responsive .entry-content img { max-width: 100%; height: auto; }
.site-responsive .entry-header { margin: 0; padding: 0; }
.site-responsive .post .entry-title { color: #494949; font-family: inherit; font-style: normal; font-size: clamp(28px, 3vw, 38px); font-weight: 600; letter-spacing: 0; line-height: 1.25; height: auto; max-height: none; margin: 0 0 28px; padding: 0; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.site-responsive .post-details { padding-top: 0; }
.site-responsive .fw-main-row-top { position: relative; isolation: isolate; background-position: center; background-size: cover; height: auto !important; min-height: 0 !important; padding: 0 !important; }
.site-responsive .fw-main-row-top .fw-container * { visibility: visible; }
.site-responsive .fw-main-row-top::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.32); }
.site-responsive .fw-main-row-top > .fw-container { padding-top: 60px; padding-bottom: 60px; min-height: 240px; display: grid; align-items: center; }
.site-responsive .fw-main-row-top .fw-special-title { font-size: clamp(32px, 4vw, 50px); line-height: 1.2; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.site-responsive .fw-sidebar:has(> .fw-col-inner:empty) { display: none; }
.site-responsive .brz-rich-text p { font-size: max(16px, 1em); }
.site-responsive .entry-content .brz-section__content { padding-top: 0 !important; padding-bottom: 0 !important; }
.site-responsive .brz-rich-text p:not([class*="color8"]) { line-height: 1.7; }
.site-responsive .brz-btn { min-height: 48px; max-width: 100%; white-space: normal; }
.site-responsive .brz-btn .brz-span { white-space: normal; }
.site-responsive .home-title { font-size: clamp(25px, 2vw, 28px) !important; line-height: 1.35 !important; }
.site-responsive .slider-toolbar { display: flex; justify-content: center; margin: 10px 20px 0; }
.site-responsive .slider-pause { background: #fff; color: #5b5353; border: 1px solid #b7b1b1; border-radius: 3px; font: inherit; font-size: 14px; min-height: 44px; padding: 8px 16px; cursor: pointer; }
.site-responsive .brz-slick-slider__arrow { min-width: 44px; min-height: 44px; }
.site-responsive .fw-footer-widgets .fw-inner { padding: 48px 0 20px; }
.site-responsive .fw-footer-widgets .fw-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin: 0; }
.site-responsive .fw-footer-widgets .fw-row::before, .site-responsive .fw-footer-widgets .fw-row::after { content: none; }
.site-responsive .fw-footer-widgets .fw-row > div { width: auto; padding: 0; float: none; min-width: 0; }
.site-responsive .fw-footer-widgets .widget { margin-bottom: 28px; }
.site-responsive .fw-footer-widgets { font-size: 15px; line-height: 1.65; }
.site-responsive .fw-footer-widgets .textwidget p { font-size: 15px; line-height: 1.7; }
.site-responsive .fw-footer-widgets .textwidget a[href^="tel:"] { display: inline-flex; min-height: 44px; align-items: center; }
.site-responsive .fw-footer-widgets .menu a { display: inline-block; padding: 8px 0; line-height: 1.5; }
.site-responsive .fw-footer-widgets .menu li { padding-top: 0; padding-bottom: 0; }
.site-responsive .fw-footer-widgets .widget-title { font-size: 16px; line-height: 1.4; }
.site-responsive .fw-footer-bar { padding: 24px 0; }
.site-responsive .fw-copyright { width: 100%; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.site-responsive .fw-copyright a, .site-responsive .privacy-settings { display: inline-block; min-height: 44px; padding: 10px 2px; }
.site-responsive .privacy-map, .site-responsive .privacy-map iframe { width: 100%; max-width: 100%; min-height: 320px; }
.site-responsive .privacy-map { height: auto; padding: 0; }
.site-responsive .privacy-map iframe { height: clamp(320px,60vh,600px); }
.site-responsive .privacy-map-placeholder { min-height: clamp(320px,60vh,600px); height: auto; padding: clamp(20px,4vw,32px); }
.site-responsive .privacy-map-placeholder > div { max-width: 520px; width: 100%; }
@media (max-width: 1099px) {
  .site-responsive .fw-header-main > .fw-container { padding: 16px 24px !important; gap: 12px; }
  .site-responsive .fw-site-logo img { width: 185px; }
  .site-responsive.has-enhancements .site-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; min-width: 84px; padding: 10px 12px; border: 1px solid #d7002e; border-radius: 3px; background: #fff; color: #9e0027; font: inherit; font-size: 16px; cursor: pointer; }
  .site-responsive .site-menu-icon { font-size: 21px; line-height: 1; }
  .site-responsive .fw-nav-wrap { flex: 0 0 100%; width: 100%; }
  .site-responsive.has-enhancements .fw-nav-wrap { display: none !important; }
  .site-responsive.has-enhancements.menu-is-open .fw-nav-wrap { display: block !important; }
  .site-responsive .fw-nav-menu { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #e8e2e2; padding-top: 10px; width: 100%; }
  .site-responsive .fw-nav-menu > li { border: 0 !important; display: block; width: 100%; }
  .site-responsive .fw-nav-menu > li > a { font-size: 15px; min-height: 48px; padding: 12px; border: 0; }
  .site-responsive .fw-nav-menu > li > a[aria-current="page"] { background: #fff1f4; }
  .site-responsive .fw-footer-widgets .fw-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-responsive .fw-footer-widgets .fw-container { width: 100%; padding: 0 24px; }
  .site-responsive .entry-content { font-size: 17px; }
  .site-responsive #main .brz-container { width: calc(100% - 48px) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
  .site-responsive #main .entry-content .brz-container { width: 100% !important; }
}
@media (max-width: 767px) {
  .site-responsive .fw-header-main > .fw-container { padding: 14px 20px !important; }
  .site-responsive .fw-site-logo img { width: 170px; }
  .site-responsive .fw-default-page > .fw-container { width: 100%; padding: 32px 20px; }
  .site-responsive .fw-default-page > .fw-container > .fw-row { margin: 0; }
  .site-responsive .fw-content-area, .site-responsive .fw-content-area > .fw-inner { width: 100%; padding: 0; }
  .site-responsive .entry-content { font-size: 17px; line-height: 1.7; }
  .site-responsive .entry-content p { text-align: left; }
  .site-responsive .entry-content img.alignright, .site-responsive .entry-content img.alignleft { float: none; display: block; margin: 20px auto; max-width: min(100%,320px); }
  .site-responsive .entry-content h2 img { margin: 0 auto 20px; }
  .site-responsive .fw-main-row-top > .fw-container { min-height: 180px; padding: 40px 20px; }
  .site-responsive .fw-main-row-top .fw-special-title { font-size: 34px; }
  .site-responsive .no-header-image { display: none; }
  .site-responsive #main .brz-container { width: calc(100% - 40px) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
  .site-responsive #main .entry-content .brz-container { width: 100% !important; }
  .site-responsive #main .brz-section__content { padding: 24px 0 !important; }
  .site-responsive #main .entry-content .brz-section__content { padding: 0 !important; }
  .site-responsive #main .brz-row > .brz-columns { width: 100% !important; flex-basis: 100% !important; max-width: 100%; }
  .site-responsive #main .brz-column__items { padding-left: 0 !important; padding-right: 0 !important; }
  .site-responsive #main .brz-rich-text p { font-size: 17px !important; line-height: 1.7 !important; text-align: left; }
  .site-responsive #main .brz-rich-text .home-mission { font-size: 24px !important; line-height: 1.4 !important; }
  .site-responsive #main .brz-slick-slider .brz-rich-text p { font-size: 20px !important; line-height: 1.45 !important; text-align: center; }
  .site-responsive #main .brz-slick-slider .brz-column__items { padding: 14px 18px !important; }
  .site-responsive #main .brz-slick-slider .brz-wrapper, .site-responsive #main .brz-slick-slider .brz-column__items { margin: 0 !important; }
  .site-responsive .home-title { font-size: 24px !important; letter-spacing: 0 !important; }
  .site-responsive .brz-slick-slider__arrow { top: 72px !important; transform: translateY(-50%); color: #fff; background: rgba(0,0,0,.55); border-radius: 50%; }
  .site-responsive .brz-slick-slider__arrow-prev { left: 24px !important; }
  .site-responsive .brz-slick-slider__arrow-next { right: 24px !important; }
  .site-responsive #main .brz-slick-slider .brz-row > .brz-columns { margin-top: 0 !important; margin-bottom: 0 !important; }
  .site-responsive .fw-footer-widgets .fw-row { gap: 24px; }
  .site-responsive .fw-footer-widgets .fw-inner { padding-top: 32px; }
  .site-responsive .fw-copyright { text-align: left; }
}
@media (max-width: 479px) {
  .site-responsive .fw-site-logo img { width: 150px; }
  .site-responsive .fw-header-main > .fw-container { gap: 8px; }
  .site-responsive.has-enhancements .site-menu-toggle { font-size: 14px; min-width: 80px; padding: 8px 10px; }
  .site-responsive .fw-nav-menu { grid-template-columns: 1fr; }
  .site-responsive .fw-footer-widgets .fw-row { grid-template-columns: 1fr; gap: 4px; }
  .site-responsive .fw-footer-widgets .menu a { min-height: 44px; padding: 10px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .site-responsive *, .site-responsive *::before, .site-responsive *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
