
/*
Theme Name: Brossard
Theme URI: 
Author: Wazoom Studio
Author URI: https://wazoom-studio.com/
Description: Brossard is official WordPress theme based on Bootstrap of charlotte1907.de
Version: 1.0
Tags: blue, black, white, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: brossard
*/

/* Calendar selector styles */
.calendar-selector-btn {
  border: none !important;
  background: transparent !important;
  text-decoration: none;
  color: inherit;
}

.calendar-selector-btn.active {
  text-decoration: underline;
  font-weight: 500;
}

.calendar-selector-btn:hover {
  text-decoration: underline;
}

/* Bassic styles */

html {
  font-size: 1rem;
}

body {
  font-family: "Neue Haas Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #4c4046;
  overflow-x: clip;
  position: relative;
}

.border-bottom {
  border-bottom: 1px solid #e0deda !important;
}

hr {
  opacity: 1;
  border: 0 !important;
  background-color: #e0deda;
}

img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.img-default {
  width: 100%;
  height: 225px;
  object-fit: cover;
  object-position: calc(var(--focal-point-left, 0.5) * 100%) calc(var(--focal-point-top, 0.5) * 100%);
}

.img-large {
  width: 100%;
  height: 225px;
  object-fit: cover;
  object-position: calc(var(--focal-point-left, 0.5) * 100%) calc(var(--focal-point-top, 0.5) * 100%);
}

.img-vertical {
  width: 100%;
  height: 550px;
  object-fit: cover;
  object-position: calc(var(--focal-point-left, 0.5) * 100%) calc(var(--focal-point-top, 0.5) * 100%);
}

svg {
  vertical-align: middle;
}

.wp-block-embed.aligncenter {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wp-block-embed iframe {
  border-radius: 0.5rem;
}

.wp-gutenberg-content .wp-block-heading:not(:first-child) {
  margin-top: 1rem;
}

.wp-gutenberg-content>.wp-block-separator,
.wp-gutenberg-content>.wp-block-embed,
.wp-gutenberg-content>.wp-block-buttons,
.wp-gutenberg-content>.wp-block-image,
.wp-gutenberg-content>.wp-block-table {
  margin: 1rem 0;
}

.wp-block-media-text {
  gap: 1.5rem;
}

.wp-block-media-text:not(:last-child) {
  margin-bottom: 0.5rem;
}

.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

@media(max-width: 767.98px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }

  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }

  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}

.container .container {
  padding: 0;
}

/* fonts */

h1,
.heading-1,
h2,
.heading-2,
h3,
.heading-3,
h4,
.heading-4,
h5,
.heading-5,
h6,
.heading-6 {
  display: block;
  font-weight: 500;
  line-height: 1.3;
  color: #231e20;
}

h1,
.heading-1 {
  font-size: 2.5rem;
}

h2,
.heading-2 {
  font-size: 1.5rem;
}

h3,
.heading-3 {
  font-size: 1.25rem;
}

h4,
.heading-4 {
  font-size: 1.125rem;
}

h5,
.heading-5 {
  font-size: 1.125rem;
}

h6,
.heading-6 {
  font-size: 1rem;
}

h1.regulation-heading {
  font-size: 1.5rem;
}

span.heading-1,
span.heading-2,
span.heading-3,
span.heading-4,
span.heading-5,
span.heading-6 {
  /* margin-bottom: 1rem; */
}

.heading-1:hover,
.heading-2:hover,
.heading-3:hover,
.heading-4:hover,
.heading-5:hover,
.heading-6:hover {
  color: #231E20;
}

a.heading-6 {
  text-decoration: none;
}

ul {
  margin-top: 0;
  padding-left: 1.5rem;
  list-style: disc;
}

a {
  display: inline-block;
  color: #231e20;
  line-height: 1.3;
  font-weight: 500;
  text-decoration: underline;
}

a:not(.entry-content a) {
  font-size: 1rem;
}

a:focus,
a:focus-visible .btn:focus,
.btn:focus-visible {
  outline: -webkit-focus-ring-color auto 1px !important;
}

p {
  font-size: 1rem;
  line-height: 1.3;
}

iframe {
  max-width: 100%;
}

/* buttons */

.btn,
.wp-block-button__link,
.wp-block-file__button,
.editor-styles-wrapper .wp-block-button__link,
:where(.wp-block-file__button):is(a):focus,
:where(.wp-block-file__button):is(a):visited,
input.btn {
  display: inline-flex;
  align-items: center;
  padding: 0.725rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.3;
  color: #231e20;
  font-weight: 500;
  border-radius: 9999px;
}

input.btn {
  line-height: 1.25;
}

.btn:hover,
.btn:focus,
.btn:active,
:not(.btn-check)+.btn:active,
.wp-block-button__link:hover,
.wp-block-file__button:hover {
  text-decoration: none;
  color: #231e20;
  opacity: 1;
}

.btn .icon {
  vertical-align: middle;
}

.btn-primary,
.wp-block-button__link,
.wp-block-file__button,
.editor-styles-wrapper .wp-block-button__link,
form input[type="submit"] {
  background-color: #ffc02b;
  border: 1px solid transparent;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.wp-block-file__button:hover,
.wp-block-file__button:focus,
.wp-block-file__button:active,
.wp-block-button__link:hover,
.wp-block-button__link:active,
.wp-block-button__link:focus,
form input[type="submit"] {
  background-color: #ffc02b !important;
  border: 1px solid transparent !important;
  outline: none;
  color: #231e20 !important;
}

.btn-outline,
.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active {
  background-color: transparent;
  border: 1px solid #231e20 !important;
}

.btn-sm,
.wp-block-file__button,
:where(.wp-block-file__button):is(a):focus,
:where(.wp-block-file__button):is(a):visited {
  padding: 0.5rem 1rem;
}

.btn-lg {
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
}

.box-link {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
  text-decoration: none;
}

.box-link a {
  font-size: 1.5rem;
  text-decoration: none;
}

.box-link:not(:last-child) {
  margin-bottom: 1rem;
}

.box-link:active,
.box-link:focus,
.box-link:hover {
  text-decoration: none;
  border: 1px solid #e0deda;
}

.box-link .content span {
  line-height: 1.4;
  font-weight: 500;
  color: #231e20;
}

.box-link .content span {
  font-size: 1.125rem;
}

.box-link .content p {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #4c4046;
}

.box-link-sm {
  padding: 0;
  font-size: 1.125rem;
  border: 0;
}

.box-link.box-link-sm:active,
.box-link.box-link-sm:focus,
.box-link.box-link-sm:hover {
  text-decoration: none;
  border: 0;
}

.box-link>span,
.fa-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 1rem;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  font-size: 1rem;
  background-color: #ffc02b;
  border-radius: 999px;
  color: #231e20;
}

.box-link:not(.box-link-sm)>span {
  margin-left: 2rem;
}

.box-link.box-link-sm>span {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  font-size: 1rem;
}

.custom-link {
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #231e20;
  text-decoration: none;
  z-index: 0;
  cursor: pointer;
  border: 0;
}

.custom-link.btn {
  display: inline-flex;
}

.custom-link:hover {
  text-decoration: none;
}

.custom-link:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
  transform: translateY(-50%);
  z-index: -1;
  transition: width 0.3s ease;
}

.custom-link:hover:before {
  width: 100%;
}

.custom-link.custom-link-lg:before {
  left: 0;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
}

.custom-link.custom-link-lg:hover:before {
  width: 100%;
}

/* ICS calendar link - underlined link without yellow bubble */
.ics-calendar-link {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #231e20;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  cursor: pointer;
  border: 0;
  background: transparent;
  padding: 0;
}

.ics-calendar-link:hover {
  text-decoration: underline;
  color: #231e20;
}

.ics-calendar-link i {
  margin-left: 0.5rem;
}

/* icon-link */

.icon-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
}

/* background colors */

.bg-before {
  position: relative;
  z-index: 0;
}

.bg-before::before {
  content: "";
  width: 1000%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
}

.bg-before.bg-green-light::before,
.bg-green-light {
  background-color: #e6f5e3;
}

.bg-before.bg-beige::before,
.bg-beige {
  background-color: #f9f7ee;
}

.bg-before.bg-dark-beige::before,
.bg-dark-beige {
  background-color: #f0ece9;
}

/* labels info */

.box-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.box-info.box-info-map {
  gap: .6rem;
}

.info,
.info-map {
  display: inline-block;
  padding: 0.25rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  border-radius: 9999px;
  border: 1px solid transparent;
  background-color: #fff;
  color: #231e20;
}

.info svg {
  margin-right: 0.25rem;
  vertical-align: top;
}

.info-map svg {
  margin-right: 0.25rem;
  vertical-align: middle;
}

.info-outline {
  border: 1px solid #e0deda;
}

.info-success {
  background-color: #ccebc7;
}

.info-warning {
  background-color: #FFC107;
  color: #fff;
}

.info-today {
  background-color: #f8e291;
  color: #231e20;
}

.info-end {
  background-color: #dfd8dc;
  color: #231e20;
}

.info-disable {
  background-color: #dfd8dc;
}

.info-open {
  background-color: #2f7e22;
  color: #fff;
}

.info-live {
  background-color: #fdc3c7;
  color: #231e20;
}

.info-close {
  background-color: #ce1515;
  color: #fff;
}

.info-danger-default {
  background-color: #BF4600;
  color: #fff;
}

.info-danger {
  color: #BF4600 !important;
  position: relative;
  cursor: pointer;
  background-color: #FEF1E5;
}

.info-danger::after {
  content: "";
  position: absolute;
  left: 1.5rem;
  top: 0;
  width: 2px;
  height: calc(100% + .1rem);
  background-color: #BF4600;
  transform: translateX(-50%) rotate(45deg);
  z-index: 10;
}

.commodity-tooltip .tooltip-inner {
  background-color: #231e20 !important;
  color: #fff !important;
}

/* box alert */

.box-alert {
  position: relative;
  padding: 1.25rem;
  border-radius: 0.5rem;
  /* border-left retiré par défaut pour éviter les doubles barres avec les classes de couleur */
  background-color: #f9f7ee;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.box-alert-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}

.box-alert p {
  font-size: 1.125rem;
  margin-bottom: 0;
  color: #4c4046;
}

/* Couleur du texte pour les alertes avec couleurs personnalisées */
.box-alert.box-alert-blue p,
.box-alert.box-alert-orange p,
.box-alert.box-alert-red p {
  color: #231e20;
}

.box-alert-default {
  border: 1px solid #e0deda;
}

.box-alert-warning {
  background-color: #fef1e5;
  border-left: 4px solid #bf4600;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.box-alert-success {
  background-color: #f9f7ee;
  border-left: 4px solid #73c068;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.box-alert-today {
  background-color: #f9f7ee;
  border-left: 4px solid #ffc02b;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.box-alert-end {
  background-color: #f9f7ee;
  border-left: 4px solid #4c4046;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.box-alert-live {
  background-color: #f9f7ee;
  border-left: 4px solid #d42a34;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

/* Council meeting alert block: no space when empty (no upcoming meeting) */
.wp-block-acf-council-meeting-alert:empty,
.wp-block-brossard-council-meeting-alert:empty {
  display: none;
  margin: 0;
  padding: 0;
}

/* Council meeting alert block: spacing above and below (BRO-1447) */
.council-meeting-alert-block {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.council-meeting-alert-wrapper {
  background-color: #f9f7ee;
  border-radius: 0.5rem 99px 0.5rem 99px;
}

.council-meeting-alert-block .council-meeting-alert-img {
  min-height: 350px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0.5rem 0 0 99px;
}

.council-meeting-alert-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem 3.5rem;
}

.council-meeting-alert-block .box-alert.council-meeting-alert-with-img {
  border-radius: 0;
  margin: 0;
  border: none;
}

.council-meeting-alert-date {
  display: block;
  margin-top: 0.25rem;
}

.council-meeting-alert-subtitle {
  display: block;
  margin-top: 0.5rem;
  font-size: 1rem;
  color: #4c4046;
}

@media (max-width: 991.98px) {
  .council-meeting-alert-block .council-meeting-alert-img {
    min-height: 250px;
    border-radius: 0.5rem 99px 0 0;
  }
}

@media (max-width: 767.98px) {
  .council-meeting-alert-content {
    padding: 2.5rem 2rem;
  }
}

@media (max-width: 575.98px) {
  .council-meeting-alert-wrapper {
    border-radius: 0;
  }

  .council-meeting-alert-block .council-meeting-alert-img {
    border-radius: 0;
    min-height: 180px;
  }

  .council-meeting-alert-content {
    padding: 2rem;
  }
}

/* Nouvelles couleurs pour les alertes (bloc Gutenberg et niveau 3) */
.box-alert-blue {
  background-color: #E5F2FF !important;
  border-left: 4px solid #0066CC !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

.box-alert-orange {
  background-color: #FEF1E5 !important;
  border-left: 4px solid #ffc02b !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* S'assurer que box-alert-orange n'est pas confondu avec box-alert-warning */
.box-alert.box-alert-orange {
  background-color: #FEF1E5 !important;
  border-left: 4px solid #ffc02b !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

.box-alert-red {
  background-color: #FFE5E7 !important;
  border-left: 4px solid #CE1515 !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* S'assurer que les couleurs sont correctement appliquées pour les alertes niveau 3 */
.box-alert.level-3.box-alert-blue {
  background-color: #E5F2FF !important;
  border-left-color: #0066CC !important;
}

.box-alert.level-3.box-alert-orange {
  background-color: #FEF1E5 !important;
  border-left-color: #ffc02b !important;
}

.box-alert.level-3.box-alert-red {
  background-color: #FFE5E7 !important;
  border-left-color: #CE1515 !important;
}

/* Alertes niveau 3 : marges garanties pour ne jamais être collées au header ni au contenu (BRO-1443) */
.level3-alerts-wrapper {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .level3-alerts-wrapper {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

/* Style pour le titre des alertes niveau 3 */
.alert-notice-title {
  font-size: 18px;
  line-height: 1.3;
}

.box-alert-warning .alert-icon svg {
  color: #bf4600;
}

.span-date,
.span-hours {
  display: flex;
  align-items: center;
}

/* English Banner */

.alert-banner {
  display: none;
  background-color: #f9f7ee;
  font-size: .95rem;
  font-weight: 500;
  padding: 1rem;
  text-align: center;
  border-bottom: 1px solid #e0deda;
}

/* box message footer */

.box-message-footer {
  padding: 1.5rem;
  border-radius: 0.5rem;
}

.box-message-footer a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
}

/* User feedback banner - ANCIEN PLUGIN (désactivé) */
/* Cacher complètement tous les widgets de l'ancien plugin UserFeedback */
.userfeedback-widget:not(.page-feedback-widget),
.userfeedback-survey-shortcode:not(.page-feedback-widget),
[class*="userfeedback"]:not(.page-feedback-widget),
[id*="userfeedback"]:not(.page-feedback-widget),
div[class*="userfeedback"],
section[class*="userfeedback"],
form[class*="userfeedback"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.userfeedback-widget.is-closed {
  display: none !important;
}

.userfeedback-widget .is-link {
  display: none !important;
}

/* Styles de l'ancien plugin - TOUS MASQUÉS */
.userfeedback-survey-shortcode:not(.page-feedback-widget) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* TOUS LES STYLES DE L'ANCIEN PLUGIN SONT MASQUÉS - Le nouveau module utilise .page-feedback-widget */
.userfeedback-widget.is-inline:not(.page-feedback-widget),
.userfeedback-survey-shortcode .userfeedback-widget.is-inline:not(.page-feedback-widget),
.userfeedback-widget form:not(.page-feedback-widget),
form .userfeedback-widget__body:not(.page-feedback-widget),
.userfeedback-question:not(.page-feedback-question),
.userfeedback-question.userfeedback-question-email:not(.page-feedback-widget),
.userfeedback-question.userfeedback-question-long-text:not(.page-feedback-widget),
.userfeedback-question-radio-button:not(.page-feedback-widget),
.userfeedback-widget__header:not(.page-feedback-widget),
.userfeedback-widget__footer:not(.page-feedback-widget),
.userfeedback-widget__footer-actions:not(.page-feedback-widget),
.user-feedback-button-base:not(.page-feedback-submit) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Conteneur parent du module feedback */
.user-feedback {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
}

.user-feedback .container {
  display: block !important;
}

.user-feedback .row {
  display: flex !important;
}

/* Page Feedback Widget - Nouveau module */
.page-feedback-widget {
  background: #F9F7EE !important;
  padding: 1.5rem !important;
  border-radius: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  margin: 0 !important;
  min-height: 100px !important;
}

.page-feedback-container {
  position: relative;
}

.page-feedback-question {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.page-feedback-title {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  color: #231e20;
}

.page-feedback-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.page-feedback-btn {
  border: 1px solid #E0DEDA;
  padding: 0.5rem 1rem;
  background: #FFFEFC;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  color: #231e20;
  border-radius: 4px;
  transition: all 0.2s ease;
  pointer-events: auto;
}

.page-feedback-btn:hover {
  background: #f5f5f0;
  border-color: #ffc02b;
  color: #ffc02b !important;
}

.page-feedback-btn.selected {
  border: 1px solid #ffc02b;
  background: #fff9e6;
}

.page-feedback-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.page-feedback-comment-section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #E0DEDA;
}

.page-feedback-comment-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #231e20;
}

.page-feedback-comment {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #E0DEDA;
  border-radius: 4px;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  resize: vertical;
  background: #FFFEFC;
  color: #231e20;
  max-width: 100%;
  box-sizing: border-box;
}

.page-feedback-comment:focus {
  outline: none;
  border-color: #ffc02b;
  box-shadow: 0 0 0 2px rgba(255, 192, 43, 0.1);
}

.page-feedback-email-label {
  display: block;
  font-weight: 600;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  color: #231e20;
}

.page-feedback-email {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #E0DEDA;
  border-radius: 4px;
  font-family: inherit;
  font-size: 1rem;
  background: #FFFEFC;
  color: #231e20;
  max-width: 100%;
  box-sizing: border-box;
}

.page-feedback-email:focus {
  outline: none;
  border-color: #ffc02b;
  box-shadow: 0 0 0 2px rgba(255, 192, 43, 0.1);
}

.page-feedback-email-help {
  display: block;
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.25rem;
  margin-bottom: 1rem;
}

.page-feedback-submit {
  margin-top: 1rem;
}

.page-feedback-thank-you {
  margin-top: 1rem;
  padding: 1rem;
  background: #f9f7ee;
  border-radius: 4px;
  text-align: center;
}

.page-feedback-thank-you p {
  margin: 0;
  color: #231e20;
  font-weight: 500;
}

@media (max-width: 767.98px) {
  .page-feedback-widget {
    padding: 1rem;
  }
  
  .page-feedback-buttons {
    flex-direction: column;
  }
  
  .page-feedback-btn {
    width: 100%;
  }
  
  .page-feedback-comment {
    padding: 0.5rem;
  }
}

/* tables */

.wp-block-table table {
  width: max-content;
}

table {
  border-bottom: 0;
  margin-bottom: 0;
}

.wp-block-table thead {
  border-bottom: 0;
}

.wp-block-table tfoot {
  border-top: 0;
}

.wp-block-table thead th,
table thead th {
  padding: 0 1rem;
  border: 0;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: italic;
}

.wp-block-table tbody td,
table tbody td {
  padding: 0.75rem 1rem;
  border: 0;
  border-bottom: 1px solid #e0deda;
}

.wp-block-table tbody tr:last-child td,
table tbody tr:last-child td {
  border: 0;
  border-bottom: 0;
}

.wp-block-table tfoot td,
table tfoot td {
  padding: 0.75rem 1rem;
  border: 0;
  border-top: 1px solid #e0deda;
}

table tbody td a,
.entry-content table a {
  font-weight: 600 !important;
  color: #231e20 !important;
  text-decoration: underline !important;
}

table tbody td a:hover {
  color: #231e20 !important;
  text-decoration: underline !important;
}

.wp-element-caption {
  padding: 1rem 1rem 0 1rem;
  border-top: 1px solid #e0deda;
  font-size: 0.875rem;
  font-weight: 400;
  font-style: italic;
}

/* Gallery image captions — WAZ-1405 */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  border-radius: 0.75rem;
  border-top-left-radius: 3rem;
  overflow: hidden;
  border: 1px solid transparent;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(> a) {
  cursor: pointer;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(> a):hover {
  border-color: #ffc02b;
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.16);
}

.wp-block-gallery.has-nested-images figure.wp-block-image > a {
  display: block;
}

.wp-block-gallery.has-nested-images figure.wp-block-image > a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  display: none;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  background: linear-gradient(180deg, rgba(35, 30, 32, 0) 0%, #231e20 100%);
  color: #fffefc;
  font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Display", "Neue Haas Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: normal;
  line-height: 2rem;
  padding: 2.5rem 1rem 1rem;
  text-align: center;
  text-shadow: none;
  border-top: none;
  pointer-events: none;
  max-height: none;
  overflow: visible;
  z-index: 2;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(> a) figcaption::after {
  content: "Découvrir \2192";
  display: inline-block;
  padding: 0 0.875rem;
  max-height: 0;
  margin-top: 0;
  background-color: #ffc02b;
  color: #231e20;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  opacity: 0;
  overflow: hidden;
  transition: max-height 200ms ease, opacity 200ms ease, margin-top 200ms ease, padding 200ms ease;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(> a):hover figcaption::after {
  max-height: 3rem;
  opacity: 1;
  margin-top: 0.75rem;
  padding: 0.375rem 0.875rem;
}

html[lang^="en"] .wp-block-gallery.has-nested-images figure.wp-block-image:has(> a) figcaption::after {
  content: "Learn more \2192";
}

@media (hover: none) {
  .wp-block-gallery.has-nested-images figure.wp-block-image:has(> a) figcaption::after {
    max-height: 3rem;
    opacity: 1;
    margin-top: 0.75rem;
    padding: 0.375rem 0.875rem;
  }
}

@media (max-width: 768px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    font-size: 1.125rem;
    line-height: 1.5rem;
    padding: 2rem 0.75rem 0.75rem;
  }
}

/* embeds */

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
}

.embed-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

/* slick slider */

.slick-slide {
  margin: 0 0.5rem;
}

.slick-prev:before,
.slick-next:before {
  content: "" !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 2rem;
  height: 2rem;
}

.slick-prev:before {
  background-image: url(assets/images/slick-prev.svg);
}

.slick-next:before {
  background-image: url(assets/images/slick-next.svg);
}

.custom-slick-prev,
.custom-slick-next,
.custom-slick-prev:hover,
.custom-slick-next:hover {
  background-color: transparent;
  border: 0;
  padding: 0;
  color: #231e20;
}

.custom-slick-prev svg,
.custom-slick-next svg {
  height: 32px;
  width: 32px;
}

.slick-dots li {
  width: 1rem !important;
  height: 1rem !important;
}

.slick-dots button {
  width: 0.75rem !important;
  height: 0.75rem !important;
  transition: none !important;
}

.slick-dots button:hover,
.slick-dots .slick-active button {
  width: 1rem !important;
  height: 1rem !important;
}

.slick-dots button::before {
  content: "" !important;
  width: 0.75rem !important;
  height: 0.75rem !important;
  background-color: #231E20 !important;
  border-radius: 999rem !important;
}

.slick-dots button:hover::before,
.slick-dots .slick-active button::before {
  content: "" !important;
  width: 1rem !important;
  height: 1rem !important;
  background-color: #FFC02B !important;
  border-radius: 999rem !important;
}

.slick-prev,
.slick-next {
  color: #231E20 !important;
}

/* Input */

input[type="text"],
input[type="number"],
input[type="email"],
#problem-type.form-select {
  padding: 0.75rem 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 999px;
}

.popup-form textarea {
  padding: 0.75rem 1rem;
  border: 1px solid #e0deda;
  border-radius: 10px;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
.popup-form textarea:focus,
select:focus {
  /* outline: none; */
  border: 1px solid #ffc02b;
}

input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23231e20" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>') no-repeat center center;
  cursor: pointer;
}

input[type="search"]::-moz-search-cancel-button {
  -moz-appearance: none;
  height: 16px;
  width: 16px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23231e20" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>') no-repeat center center;
  cursor: pointer;
}

/* header */

.menu-opened {
  overflow: hidden;
}

.top-header {
  background-color: #231e20;
  color: #fff;
}

.top-header ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.top-header .my-account {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #4c4046;
}

.top-header .btn-search {
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  background-color: transparent;
  cursor: pointer;
}

.top-header a {
  display: flex;
  align-items: center;
  color: #fff;
  text-decoration: none;
}

.top-header a,
.top-header p {
  font-size: 1rem;
  font-weight: 500;
}

/* Bouton Plus en mobile - visible uniquement en dessous de 991px */
.top-header .top-header-plus-btn,
.top-header-left .top-header-plus-btn {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0 !important;
  border: 0 !important;
  background-color: transparent !important;
  color: #fffefc !important;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  line-height: 1.5rem;
  text-decoration: none !important;
  margin: 0;
  margin-left: 1rem;
  box-shadow: none !important;
}

/* CACHER LA LOCALISATION QUAND LE BOUTON "+" EST VISIBLE - RÈGLE ULTRA FORTE */
/* Le bouton "+" est visible en dessous de 992px (d-lg-none) */
@media (max-width: 991.98px) {
  /* Cacher TOUS les éléments de localisation desktop */
  .top-header-location-desktop,
  li.top-header-location-desktop,
  .top-header-left > li.top-header-location-desktop,
  .top-header-left > li.top-header-location-item,
  .top-header-left > li.d-none.d-lg-flex.top-header-location-item,
  .top-header-left > li.d-none.d-lg-flex.align-items-center.top-header-location-item,
  .top-header-left > li.d-none.d-lg-flex.align-items-center.top-header-location-desktop {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
  }
  
  /* Cacher TOUS les enfants de localisation */
  .top-header-location-desktop *,
  .top-header-left > li.top-header-location-desktop *,
  .top-header-left > li.top-header-location-item *,
  .top-header-left > li.d-none.d-lg-flex.top-header-location-item * {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }
  
  /* Cacher par ID avec toutes les combinaisons possibles */
  #user-position,
  #location-icon,
  .top-header-left #user-position,
  .top-header-left #location-icon,
  .top-header-location-desktop #user-position,
  .top-header-location-desktop #location-icon,
  li.top-header-location-desktop #user-position,
  li.top-header-location-desktop #location-icon {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }
  
  /* Cacher le search-query aussi */
  .top-header-location-desktop .search-query,
  .top-header-left > li.top-header-location-desktop .search-query,
  .top-header-left > li.top-header-location-item .search-query {
    display: none !important;
    visibility: hidden !important;
  }
}

/* Espacement entre le switcher de langue et le bouton Plus */
.top-header-left > li.top-header-plus-li {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #4c4046;
}

/* Forcer l'affichage du bouton Plus en dessous de 992px */
@media (max-width: 991.98px) {
  .top-header-left > li.top-header-plus-li {
    display: flex !important;
  }
}

.top-header .top-header-plus-btn:hover,
.top-header .top-header-plus-btn:focus,
.top-header .top-header-plus-btn:active,
.top-header .top-header-plus-btn:visited,
.top-header-left .top-header-plus-btn:hover,
.top-header-left .top-header-plus-btn:focus,
.top-header-left .top-header-plus-btn:active,
.top-header-left .top-header-plus-btn:visited {
  color: #fffefc !important;
  background-color: transparent !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.top-header .top-header-plus-btn span,
.top-header-left .top-header-plus-btn span {
  color: inherit !important;
}

.top-header .top-header-plus-btn i,
.top-header-left .top-header-plus-btn i {
  transition: transform 0.3s ease;
  width: 20px;
  height: 20px;
  color: inherit !important;
}

.top-header .top-header-plus-btn[aria-expanded="true"],
.top-header-left .top-header-plus-btn[aria-expanded="true"] {
  color: #fff3c6 !important;
}

.top-header .top-header-plus-btn[aria-expanded="true"] span,
.top-header-left .top-header-plus-btn[aria-expanded="true"] span {
  color: #fff3c6 !important;
}

.top-header .top-header-plus-btn[aria-expanded="true"] i,
.top-header-left .top-header-plus-btn[aria-expanded="true"] i {
  transform: rotate(180deg);
  color: #fff3c6 !important;
}

/* Deuxième ligne de top bar en mobile */
.top-header .top-header-mobile-second-row {
  display: none;
  padding: 0;
  border-top: 0.5px solid #e0deda;
  margin-top: 0.5rem;
  background-color: #231e20;
  width: 100%;
}

.top-header .top-header-mobile-second-row.active {
  display: block;
}

/* S'assurer que la deuxième ligne est visible entre 768px et 991px quand active */
@media (min-width: 768px) and (max-width: 991.98px) {
  .top-header .top-header-mobile-second-row.active {
    display: block !important;
  }
}

.top-header .top-header-mobile-second-row ul {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  padding: 0 2rem;
  margin: 0;
  list-style: none;
  height: 40px;
  flex-wrap: nowrap;
}

.top-header .top-header-mobile-second-row ul > li {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.top-header .top-header-mobile-second-row ul > li:not(:last-child)::after {
  content: "";
  display: block;
  width: 1px;
  height: 1.625rem;
  background-color: #4c4046;
  margin-left: 1rem;
  flex-shrink: 0;
}

.top-header .top-header-mobile-second-row a {
  color: #fffefc !important;
  text-decoration: none !important;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.top-header .top-header-mobile-second-row a:hover,
.top-header .top-header-mobile-second-row a:focus,
.top-header .top-header-mobile-second-row a:active,
.top-header .top-header-mobile-second-row a:visited {
  color: #fffefc !important;
  text-decoration: none !important;
}

.top-header .top-header-mobile-second-row .location-icon-wrapper {
  display: inline-flex;
  align-items: center;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.top-header .top-header-mobile-second-row .location-icon-wrapper i {
  width: 20px;
  height: 20px;
  color: #fffefc;
}

.search-menu {
  position: fixed;
  display: none;
  top: 104px;
  left: 0;
  right: 0;
  z-index: 8;
  background-color: #fff;
  box-shadow: 0 10px 10px 0px rgba(0, 0, 0, 0.3);
}

.search-menu-active {
  display: block !important;
}

.search-menu form {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.search-menu form.search-form label {
  width: 100%;
  max-width: 500px;
  min-width: 250px;
}

.search-menu form input[type="search"],
.search-menu form input[type="text"] {
  position: relative;
  width: 100%;
  max-width: 500px;
  min-width: 250px;
  padding: 0.9rem 1.5rem 0.9rem 2.5rem;
  border: 1px solid #e0deda;
  border-radius: 999px;
  background-image: url('assets/images/lucide_search.png');
  background-repeat: no-repeat;
  background-position: 0.5rem center;
}

.search-results>ul {
  max-height: 40vh;
  overflow-y: auto;
  padding: 0 1rem 0 0;
  margin: 0;
  list-style: none;
}

.search-results>ul::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.search-results>ul::-webkit-scrollbar-track {
  background: #f0ece9;
  border-radius: 10px;
}

.search-results>ul::-webkit-scrollbar-thumb {
  background: #c2c2c2;
  border-radius: 10px;
}

.search-results>ul::-webkit-scrollbar-thumb:hover {
  background: #a0a0a0;
}

.search-results .search-item:not(:last-child) {
  margin-bottom: 1rem;
}

.search-results .search-item a {
  font-size: 1.125rem;
}

.search-results .search-item a:not(:hover) {
  text-decoration: none;
}

.search-results .search-item a:hover {
  background-color: #fff3c6;
}

.search-menu .box-installation {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
}

.admin-bar .search-menu {
  top: 150px;
}

.menu-fixed {
  height: 104px;
}

.header-desktop {
  height: 90px;
}

.header-desktop,
.header-phone {
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #e0deda;
}

.nav-fixed {
  position: fixed;
  top: 40px;
  left: 0;
  right: 0;
  z-index: 8;
}

.nav-top-fixed {
  position: fixed;
  height: 40px;
  top: 0px;
  left: 0;
  right: 0;
  z-index: 8;
}

.admin-bar .nav-top-fixed {
  top: 46px;
}

.admin-bar .nav-fixed {
  top: 86px;
}

header .menu-item button {
  padding: 0;
  background-color: transparent;
  border: 0;
  color: #231e20;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
}

header .submenu .close-main-menu {
  position: absolute;
  top: 1.5rem;
  right: 2rem;
}

header .submenu .menu-title {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
}

header .submenu ul {
  padding: 0;
  margin: 0;
}

header .submenu ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}

header .submenu ul li a {
  font-size: 1.125rem;
}

header .submenu ul li a:not(:hover) {
  text-decoration: none;
}

header .submenu .main-menu a:hover {
  background-color: #fff3c6;
}

header .box-message {
  padding: 1.5rem;
  background-color: #f0ece9;
  border-radius: 0.5rem 1.5rem 0.5rem 1.5rem;
}

header .box-message.box-message-casual{
  background-color: #FCD9A3;
}

header .box-message span {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
}

header .box-message a {
  font-size: 1.125rem;
}

/* header desktop */

.home-link {
  max-width: 220px;
  max-height: 63px;
}

.menu-desktop {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.menu-desktop .menu-item:not(:last-child) {
  position: relative;
  margin-right: 2rem;
}

.menu-desktop .menu-item:not(:last-child)::after {
  position: absolute;
  content: "";
  bottom: -4px;
  left: 0;
  width: 0%;
  height: 4px;
  background-color: #ffc02b;
  border-radius: 999px;
  transition: width 0.3s ease;
}

.menu-desktop .menu-item.menu-item-hover::after,
.menu-desktop .menu-item.menu-item-active::after {
  width: 100%;
}

.menu-desktop .sub-menu-hover,
.menu-desktop .sub-menu-active {
  display: flex !important;
}

.menu-desktop .submenu {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100vh - 130px);
  background-color: #fff;
  z-index: 8;
}

.admin-bar .menu-desktop .submenu {
  height: calc(100vh - 128px);
}

.menu-desktop .submenu .quicks-links-menu {
  display: flex;
  flex-direction: column;
  padding: 1.5rem 2rem;
  overflow-y: auto;
}

.menu-desktop .submenu .main-menu {
  margin: 1.5rem 0;
  padding: 0 4rem;
  overflow-y: auto;
}

/* header mobile */

.header-phone {
  height: 64px;
  display: flex;
  align-items: center;
}

.header-phone .home-link {
  max-width: 167px;
}

.menu-phone {
  position: fixed;
  top: 104px;
  left: 100%;
  width: 100%;
  height: calc(100vh - 104px);
  padding: 2rem;
  margin: 0;
  background-color: #fff;
  z-index: 8;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: left 0.3s ease, opacity 0.3s ease;
}

.menu-phone .menu-item:not(:last-child) {
  position: relative;
  margin-bottom: 2rem;
}

.menu-phone.sub-menu-active {
  left: 0;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.admin-bar .menu-phone {
  top: 150px;
  height: calc(100vh - 150px);
}

.menu-phone .submenu {
  position: fixed;
  top: 40px;
  left: 100%;
  width: 100%;
  height: calc(100vh - 40px);
  background-color: #fff;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: left 0.3s ease, opacity 0.3s ease;
}

.menu-phone .submenu.sub-menu-active {
  left: 0;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.admin-bar .menu-phone .submenu {
  top: 86px;
  height: calc(100vh - 86px);
}

.menu-phone .back-main-menu button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1rem 2rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  background-color: #ffc02b;
  border: 0;
  border-radius: 0;
}

.menu-phone .to-quick-menu>button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  background-color: #f9f7ee;
  border: 0;
  border-radius: 0;
}

.menu-phone .main-menu {
  height: calc(100vh - 215px);
  overflow-y: auto;
}

.admin-bar .menu-phone .main-menu {
  height: calc(100vh - 260px);
}

.menu-phone .main-menu>div:not(:last-child) {
  margin-bottom: 2rem;
  margin-right: 1rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e0deda;
}

.menu-phone .submenu-quick {
  position: fixed;
  top: 0;
  left: 100%;
  width: 100%;
  padding: 2rem;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #f9f7ee;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: left 0.3s ease, opacity 0.3s ease;
}

.menu-phone .submenu-quick.sub-menu-active {
  left: 0;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.admin-bar .menu-phone .submenu-quick {
  top: 46px;
  height: calc(100vh - 46px);
}

.menu-phone .back-menu button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 400;
}

.menu-phone .to-quick-menu ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}

/* header mobile hamberger */

.menu-hamberger,
.menu-hamberger:hover,
.menu-hamberger:active,
.menu-hamberger:focus {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  padding: 0;
}

.line {
  fill: none;
  stroke: black;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line1 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

.line2 {
  stroke-dasharray: 60 60;
  stroke-width: 6;
}

.line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

.opened .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

.opened .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6;
}

.opened .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

/* scrollbar */

.main-menu::-webkit-scrollbar {
  width: 8px;
}

/* Track */
.main-menu::-webkit-scrollbar-track {
  background: #f0ece9;
  border-radius: 999px;
}

/* Handle */
.main-menu::-webkit-scrollbar-thumb {
  background: #231e20;
  border-radius: 999px;
}

/* Handle on hover */
.main-menu::-webkit-scrollbar-thumb:hover {
  background: #231e20;
  border-radius: 999px;
}

/* hero-banner */
.block-hero-banner h1 {
  font-size: 2.5rem;
}

/* Items infrastructure */

.infrastructure-item:last-child {
  margin-bottom: 0 !important;
}

.infrastructure-item .box-img {
  position: relative;
}

.infrastructure-item .box-img img {
  /* width: 100%; */
  /* height: 176px; */
  object-fit: cover;
  object-position: center;
}

.infrastructure-item .box-img .box-info {
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  gap: 0.5rem;
  transform: translateY(50%);
}

.infrastructure-item img {
  border-radius: 1.5rem 0.5rem 0.5rem 0.5rem;
}

.custom-info-window img {
  border-radius: 0;
}

.infrastructure-item a:not(:hover) {
  text-decoration: none;
}

.infrastructure-item .span-sector {
  display: flex;
  flex-wrap: wrap;
}

.infrastructure-item .span-sector>div {
  position: relative;
}

.infrastructure-item .span-sector>div:first-child {
  margin-right: 0.875rem;
  padding-right: 0.875rem;
}

.infrastructure-item .span-sector>div:first-child::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  width: 1px;
  height: 0.875rem;
  background-color: #4c4046;
  transform: translateY(-50%);
}

.infrastructure-item .box-installation {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
}

/* Lists queries / topics */

.default-post-item {
  padding: 1rem .5rem;
  border-bottom: 1px solid #e0deda;
}

.default-post-item:first-child {
  /* padding-top: 0; */
}

.search-menu .search-results .default-post-item:last-child,
.default-post-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.default-post-item .item-link {
  width: 100%;
  /* padding: 1rem; */
}

.default-post-item .item-link a {
  font-size: 1.125rem;
}

.list-regulation .default-post-item .item-link {
  width: auto;
  min-width: auto;
}

.default-post-item .item-link a:not(:hover) {
  text-decoration: none;
}

/* Lists council meeting */
.list-council-meeting .default-post-item .item-link {
  width: auto;
  min-width: auto;
}

/* council meeting */
.council-meeting-download {
  display: flex;
  align-items: center;
  padding: 1rem 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
}

.council-meeting-download:not(:last-child) {
  margin-bottom: 1rem;
}

/* Lists regulation */
.regulation-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e0deda;
}

.regulation-content>.border-bottom:last-child {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* pagination numerique */
.custom-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
}

.custom-pagination li.page-item {
  list-style: none;
}

.custom-pagination li.page-item span,
.custom-pagination li.page-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0.25rem;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
  border: 1px solid #e0deda;
  border-radius: 0.5rem !important;
}

.custom-pagination li.page-item a:hover,
.custom-pagination li.page-item.active a {
  border-color: #ffc02b;
  background-color: #ffc02b;
}

/* Breadcrumbs */

.header-breadcrumbs {
  flex: 0 1 auto;
  margin: 0 0 2rem 0;
}

.header-breadcrumbs ul {
  padding: 0;
  margin: 0;
}

.header-breadcrumbs ul li {
  display: inline-block;
  font-size: 0.975rem;
  color: #4c4046;
  font-weight: 700;
}

.header-breadcrumbs ul li:not(:last-child) {
  position: relative;
  padding-right: 0.5rem;
  margin-right: 0.875rem;
}

.header-breadcrumbs ul li:not(:last-child):after {
  content: "/";
  position: absolute;
  left: 100%;
  font-weight: 400;
}

.header-breadcrumbs ul li img {
  vertical-align: text-bottom;
  margin-right: 0.25rem;
  min-width: 20px;
  min-height: 20px;
  width: 20px;
  height: 20px;
}

.header-breadcrumbs ul li a {
  color: #4c4046;
  font-weight: 400;
  font-size: 0.975rem;
  text-decoration: none;
}

.header-breadcrumbs ul li a:hover {
  text-decoration: underline;
}

/* quotes */

blockquote {
  background: transparent;
  margin: 1.5rem 0 1.5rem 1rem;
  padding: 0 0 0 1rem;
  font-style: normal;
  border-left: 2px solid #73c068;
  text-align: left;
}

blockquote>* {
  margin-bottom: 0;
}

blockquote::before,
blockquote::after {
  content: "" !important;
}

blockquote p {
  font-weight: 400;
  line-height: 1.5;
}

blockquote p strong,
blockquote p b,
blockquote strong,
blockquote b {
  font-weight: 600;
}

blockquote cite {
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5 !important;
  color: #4c4046;
}

/* BRO-1440: oblique léger dans les citations au lieu de l’italique (évite texte moins gras / illisible) */
/* BRO-1440: bloc Citation Gutenberg – oblique lisible au lieu de l'italique */
.wp-block-quote,
.wp-block-quote p {
  font-style: oblique !important;
  font-weight: 400 !important;
}
.wp-block-quote .wp-block-quote__citation,
.wp-block-quote cite {
  font-style: normal !important;
  font-weight: 400 !important;
}
blockquote em,
blockquote i,
.wp-block-quote em,
.wp-block-quote i {
  font-style: oblique !important;
  font-weight: inherit !important;
}

/* single */

.entry-side {
  position: sticky;
  position: -webkit-sticky;
  top: calc(82px + 4.5rem);
  z-index: 6;
}

.admin-bar .entry-side {
  top: calc(114px + 4.5rem);
}

.side-navigation:not(.side-navigation-mobile) {
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #fffefc;
  border: 1px solid #e0deda;
}

.side-navigation ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.side-navigation ul li:not(:last-child) {
  margin-bottom: 0.75rem;
}

.side-navigation ul li a {
  color: #4c4046;
  font-weight: 400;
  text-decoration: none;
}

.side-navigation ul li a:hover,
.side-navigation ul li a.active {
  color: #231e20;
  font-weight: 700;
  text-decoration: underline;
}

.accordion-guide-button-mobile {
  padding: 1rem 1.5rem !important;
  background-color: #f9f7ee !important;
  border-radius: 0.5rem;
  transition: border-radius 0s ease;
}

.accordion-guide-button-mobile::after {
  right: 1.5rem !important;
}

.accordion-guide-button-mobile:not(.collapsed) {
  border-radius: 0.5rem 0.5rem 0 0;
}

/* Styles pour la carte latérale */
.side-map {
  position: relative;
}

.side-map-content {
  transition: all 0.3s ease;
}

/* Loader pour la carte */
.map-loader {
  background-color: #FFF3C6;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  min-height: 200px;
}

.map-loader .spinner-border {
  width: 3rem;
  height: 3rem;
}

/* Container de la carte */
#postMapSide {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

#googleMap {
  border-radius: 8px;
}

/* Animation du bouton */
.side-map .btn-primary {
  transition: all 0.2s ease;
  position: relative;
}

.side-map .btn-primary:hover:not(.loading):not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.side-map .btn-primary.loading {
  opacity: 0.7;
  cursor: wait;
  pointer-events: none;
}

/* Icônes */
.side-map .btn-primary i {
  transition: transform 0.2s ease;
}

.spinner-lines {
  width: 40px;
  height: 40px;
  position: relative;
  display: inline-block;
}

.spinner-lines .line {
  position: absolute;
  width: 2px;
  height: 12px;
  background-color: #231E20;
  border-radius: 1px;
  top: 50%;
  left: 50%;
  transform-origin: 1px 20px;
  animation: fade 1.2s linear infinite;
}

.spinner-lines .line:nth-child(1) {
  transform: translate(-50%, -50%) rotate(0deg);
  animation-delay: 0s;
}


.spinner-lines .line:nth-child(2) {
  transform: translate(-50%, -50%) rotate(45deg);
  animation-delay: 0.15s;
}

.spinner-lines .line:nth-child(3) {
  transform: translate(-50%, -50%) rotate(90deg);
  animation-delay: 0.3s;
}

.spinner-lines .line:nth-child(4) {
  transform: translate(-50%, -50%) rotate(135deg);
  animation-delay: 0.45s;
}

.spinner-lines .line:nth-child(5) {
  transform: translate(-50%, -50%) rotate(180deg);
  animation-delay: 0.6s;
}

.spinner-lines .line:nth-child(6) {
  transform: translate(-50%, -50%) rotate(225deg);
  animation-delay: 0.75s;
}

.spinner-lines .line:nth-child(7) {
  transform: translate(-50%, -50%) rotate(270deg);
  animation-delay: 0.9s;
}


.spinner-lines .line:nth-child(8) {
  transform: translate(-50%, -50%) rotate(315deg);
  animation-delay: 1.05s;
}

@keyframes fade {

  0%,
  39%,
  100% {
    opacity: 0.2;
  }

  40% {
    opacity: 1;
  }
}

.side-map img {
  border-radius: 0.5rem 0.5rem 0 0;
}

.side-map-content {
  position: relative;
  /* padding: 1rem; */
  border-radius: 0.5rem;
  /* border: 1px solid #e0deda; */
  background-color: #F9F7EE;
}

.map-container {
  position: relative;
}

.map-container span.info {
  position: absolute;
  top: 0;
  left: 1rem;
  transform: translateY(-50%);
  z-index: 999;
}

.text-spinner-primary {
  color: #231E20;
}

/* Load more calendar (camps de jour activités) - loader aux couleurs du thème */
#loadMoreButton .load-more-calendar-spinner {
  display: none;
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  vertical-align: middle;
  border: 2px solid rgba(35, 30, 32, 0.2);
  border-top-color: #231E20;
  border-radius: 50%;
  animation: load-more-calendar-spin 0.7s linear infinite;
}

#loadMoreButton .btn.loading .load-more-calendar-spinner {
  display: inline-block;
}

#loadMoreButton .btn.loading .load-more-calendar-text {
  visibility: hidden;
}

#loadMoreButton .btn.loading {
  pointer-events: none;
  opacity: 0.85;
}

@keyframes load-more-calendar-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Search Input */
.form-control {
  transition: none !important;
  -webkit-transition: none !important;
  padding: 12px 12px 12px 48px;
}

.form-select {
  padding: 12px;
}

.form-control:focus,
.form-select:focus {
  box-shadow: none;
}

.form-select {
  width: 100%;
}

.content_input {
  position: relative;
}

.icon_search {
  position: absolute;
  top: 12px;
  left: 16px;
}

.list-search .dashicons {
  width: 24px;
  height: 24px;
}

.list-search .dashicons-admin-post::before {
  content: '';
  display: inline-block;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMyMzFFMjAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1yc3MiPjxwYXRoIGQ9Ik00IDExYTkgOSAwIDAgMSA5IDkiLz48cGF0aCBkPSJNNCA0YTE2IDE2IDAgMCAxIDE2IDE2Ii8+PGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIxIi8+PC9zdmc+');
  width: 24px;
  height: 24px;
  vertical-align: top;
}

.list-search .dashicons-admin-page::before {
  content: '';
  display: inline-block;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLW5vdGVib29rLXRleHQiPjxwYXRoIGQ9Ik0yIDZoNCIvPjxwYXRoIGQ9Ik0yIDEwaDQiLz48cGF0aCBkPSJNMiAxNGg0Ii8+PHBhdGggZD0iTTIgMThoNCIvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIyMCIgeD0iNCIgeT0iMiIgcng9IjIiLz48cGF0aCBkPSJNOS41IDhoNSIvPjxwYXRoIGQ9Ik05LjUgMTJIMTYiLz48cGF0aCBkPSJNOS41IDE2SDE0Ii8+PC9zdmc+');
  width: 24px;
  height: 24px;
  vertical-align: top;
}

.content_icon_microphone {
  background-color: #FFC02B;
  position: absolute;
  top: 6px;
  right: 8px;
  text-align: center;
  padding: 7px;
  width: 38px;
  height: 38px;
  border-radius: 50px;
}

.btn-secondary.btn-filter {
  background-color: #FFF;
  padding: 16px 12px;
  gap: 16px;
  border: 1px solid #EDEDED;
  /* border-radius: 50px; */
  color: #231e20;
}

.btn-secondary.btn-filter:hover {
  background: #FFC02B;
  color: #231E20;
}

.filter-dropdown .dropdown-item {
  cursor: pointer;
}

.filter-dropdown .dropdown-item:hover {
  text-decoration: none;
}

.filter-select .form-select {
  min-width: 120px;
  width: 100%;
}

.tag-filter,
.type-filter {
  border: 1px solid #EDEDED;
  border-radius: 50px;
  padding: 12px 2px 12px 2px;
  min-width: 200px;
}

/* Page calendrier : types en checkboxes sans bordure */
.type-filter.type-filter-checkboxes {
  border: none;
  border-radius: 0;
  padding: 0;
  min-width: 0;
}

/* Checkboxes : couleur de la marque (#ffc02b) au lieu du bleu */
.form-check-input:checked,
.type-filter-checkbox:checked {
  background-color: #ffc02b !important;
  border-color: #ffc02b !important;
}

.form-check-input:focus {
  border-color: rgba(255, 192, 43, 0.5);
  box-shadow: 0 0 0 0.25rem rgba(255, 192, 43, 0.25);
}

.tag-filter .form-select,
.type-filter .form-select {
  padding: 0 1.5rem;
  width: 100%;
  border: none;
}

.filter-select .form-select {
  padding: 0 10px;
}

/* List members */

.list-members-content>div:not(:last-child) {
  margin-bottom: 1rem;
}

.list-members-content>div a {
  width: fit-content;
}

/* associated posts */

.associated-post a {
  font-weight: 500;
  color: #231e20;
  text-decoration: underline;
}

/* members card */

.members-cards {
  border-radius: 0.5rem;
  background-color: #f9f7ee;
}

.members-cards-img img {
  border-radius: 0.5rem 0 0 0.5rem;
}

.members-email {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border: 1px solid #231e20;
  border-radius: 999px;
}

.members-cards-content {
  padding: 2rem 2rem 2rem 0;
}

.members-poste {
  font-size: 1.125rem;
  font-weight: 400;
}

.members-cards-bio *:last-child {
  margin-bottom: 0;
}

.members-cards-roles ul {
  padding-left: 1.5rem;
  margin: 0;
}

.members-cards-roles ul li:not(:last-child) {
  margin-bottom: 0.25rem;
}

.members-post-item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #f9f7ee;
  border-radius: 0.5rem;
  overflow: hidden;
}

.members-post-item-img {
  transition: transform 0.5s ease;
}

.members-post-item:hover .members-post-item-img {
  transform: translate(-32px, -16px);
}

.members-post-item-img img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
}

.members-post-item-img img {
  transition: border-radius 0.5s ease;
}

.members-post-item:hover img {
  border-radius: 0.5rem 99rem 99rem 99rem;
}

.members-post-item-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem;
}

.members-post-item-content p {
  font-size: 1.25rem;
}

.members-post-item-link {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.box-members {
  display: flex;
  align-items: center;
  min-width: 320px;
}

.box-members:not(:hover),
.box-members a {
  text-decoration: none;
}

.box-members img {
  min-width: 56px;
  max-width: 56px;
  min-height: 56px;
  max-height: 56px;
  border-radius: 999px;
}

.location-item-mobile {
  position: relative;
  padding: 2rem 1.5rem 1.5rem 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
}

.location-item-mobile .box-info {
  position: absolute;
  gap: 0.5rem;
  top: 0;
  left: 1rem;
  transform: translateY(-50%);
}

.location-item-mobile .box-info .booking-link {
  font-weight: 400;
  text-decoration: none;
}

.location-item-mobile .box-info .booking-link:hover {
  text-decoration: underline;
}




/* section others posts */

.post-item,
.post-item:hover {
  text-decoration: none;
}

.post-item img {
  border-radius: 99px 0.5rem 0.5rem 0.5rem;
}

.post-item .post-item-content {
  position: relative;
  padding: 2.25rem 1.5rem 0 1.5rem;
}

.post-item .post-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.post-item .post-item-content p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #4c4046;
}

.post-item .box-info {
  position: absolute;
  top: 0;
  left: 1.5rem;
  gap: 0.5rem;
  transform: translateY(-50%);
}

.post-item .post-date {
  color: #4c4046;
}

.post-item .post-date svg {
  position: relative;
  top: -2px;
}

.post-item .post-attribute {
  display: flex;
  align-items: normal;
  padding: .5rem 0;
}

.post-attribute svg {
  flex-shrink: 0;
}

.post-item .post-attribute span {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: normal;
  color: #4c4046;
}

/* custom pagination */

.custom-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* section news / section programs-grants */

.programs-grants-item,
.news-item,
.post-item {
  display: block;
  text-decoration: none;
}

.programs-grants-item:hover,
.news-item:hover,
.post-item:hover {
  text-decoration: none;
}

.programs-grants-item:not(:last-child),
.news-item:not(:last-child),
.post-item:not(:last-child) {
  margin-bottom: 1.5rem;
}

.programs-grants-item img,
.news-item img,
.post-item img {
  border-radius: 99px 0.5rem 0.5rem 0.5rem;
}

.programs-grants-item p,
.news-item p,
.post-item p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0;
  color: #4c4046;
}

/* box date */

.regulation-date-content {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.regulation-date-content .box-date {
  max-width: 450px;
  display: flex;
  align-items: flex-start;
  padding: 1.5rem;
  border-radius: 0.5rem;
  background-color: #f9f7ee;
}

.regulation-date-content .box-date .info {
  width: max-content;
}

.regulation-date-content .box-date p {
  margin-bottom: 0;
}

/* Block heading */

.section-heading.heading-default {
  position: relative;
  overflow: hidden;
}

.section-heading.heading-default .heading-content p {
  margin-bottom: 0;
  max-width: 650px;
}

.section-heading.heading-default .heading-img {
  position: relative;
}

.section-heading.heading-default .heading-img img {
  border-radius: 1.5rem 1.5rem 0 0;
  width: 100%;
  height: 100%;
  max-height: 290px;
  object-fit: cover;
}

/* Block accordeon */

.accordion-communication .accordion-communication-item {
  position: relative;
  color: #231e20;
  background-color: transparent;
  border: 1px solid transparent;
}

.accordion-communication .accordion-communication-item:last-child {
  margin-bottom: 0 !important;
  border: 1px solid transparent;
}

.accordion-guide .accordion-guide-button,
.accordion-communication .accordion-communication-button {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
  padding: 0;
  background-color: transparent;
  border: 0;
  box-shadow: none;
  color: #231e20;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
}

.accordion-communication .accordion-communication-button i {
  margin-right: 0.75rem;
  transition: transform 0.3s ease;
}

.accordion-communication .accordion-communication-button:not(.collapsed) i {
  transform: rotate(90deg);
}

.accordion-communication .accordion-communication-button:after {
  content: none;
}

.accordion-communication .accordion-communication-button:hover {
  color: #231e20;
}

.accordion-communication .accordion-communication-body {
  padding: 0;
}

.accordion-guide .accordion-guide-item {
  position: relative;
  width: 100%;
}

.accordion-guide .accordion-guide-button:after {
  content: "\f078";
  position: absolute;
  right: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  transition: transform 0.3s ease;
}

.accordion-guide .accordion-guide-button:not(.collapsed)::after {
  transform: rotate(-180deg);
}

.accordion-guide .accordion-guide-collapse {
  width: 100%;
  position: absolute;
  z-index: 7;
}

.accordion-guide .accordion-guide-body .side-navigation {
  padding: 0;
}

.accordion-fixed {
  position: sticky !important;
  top: 120px;
  left: 0;
  width: 100%;
  z-index: 7;
}

.admin-bar .accordion-fixed {
  top: 164px;
}

/* block accordeon FAQ */

.accordion-faq .accordion-faq-button {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
  padding: 0 3.5rem 0 0;
  background-color: transparent;
  border: 0;
  box-shadow: none;
  color: #231e20;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}

.section-box-faq .accordion-faq-button {
  font-weight: 500;
}

.accordion-faq .accordion-faq-button:hover::after {
  transform: none !important;
}

.accordion-faq .accordion-faq-button::after {
  content: "\f068";
  position: absolute;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
  font-size: 1.25rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.accordion-faq .accordion-faq-button.collapsed::after {
  content: "\2b";
}

.accordion-faq .accordion-faq-item:not(:last-child) {
  padding-bottom: 2.5rem;
}

.accordion-faq .box-item {
  padding: 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
}

.accordion-faq .box-item:not(:last-child) {
  margin-bottom: 1rem;
}

.accordion-faq .box-item *:last-child {
  margin-bottom: 0;
}

.accordion-faq .box-item ul {
  padding-left: 1.5rem;
}

/* box text background */

.box-text-bg {
  padding: 1.5rem;
  border-radius: 0.5rem;
  background-color: #f9f7ee;
}

.box-text-bg ul {
  padding: 0 0 0 1.5rem;
  margin: 0;
}

/* camps-activities */

.camps-activities-item {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-decoration: none;
}

.camps-activities-item:not(:last-child) {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e0deda;
}

.camps-activities-item>span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 1rem;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  font-size: 1rem;
  background-color: #ffc02b;
  border-radius: 999px;
  color: #231e20;
}

/*box services */

.box-services,
.box-partner {
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #f9f7ee;
}

/* box hours */

.box-hours {
  max-width: 250px;
}

.box-hours .items {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.box-hours .day {
  flex: 1;
}

.day {
  width: 160px;
  display: inline-block;
}

/* box project calendar */

.box-project-calendar {
  overflow: hidden;
}

.box-project-calendar .item {
  position: relative;
  margin-left: 2rem;
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid #e0deda;
}

.box-project-calendar .item::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -2rem;
  width: 1.4rem;
  height: 1.4rem;
  border: 4px solid #e0deda;
  background-color: #fff;
  border-radius: 999px;
  transform: translateY(-50%);
}

.box-project-calendar .item::after {
  position: absolute;
  content: "";
  top: -5%;
  left: -23px;
  width: 3px;
  height: 115%;
  background-color: #e0deda;
  z-index: -1;
}

.box-project-calendar .item:last-child:after {
  top: -5%;
  height: 55%;
}

.box-project-calendar .item.active::before,
.box-project-calendar .item.active::after {
  background-color: #ffc02b;
}

.box-project-calendar .item.active::before {
  background-color: #ffc02b;
  border: 4px solid #ffc02b;
}

.box-project-calendar .item:not(:last-child) {
  margin-bottom: 1.5rem;
}

/* box project partner */

.box-project-partner .item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1rem;
  height: 100%;
  text-align: center;
  border-radius: 0.5rem;
}

.box-project-partner .item img {
  margin-bottom: 1rem;
}

.box-project-partner .item span {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 400;
}

/* carrefour citizen notice */

.list-citizen-notice .citizen-notice-item:not(:last-child) {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e0deda;
}

.citizen-notice-item a {
  text-decoration: none;
}

.citizen-notice-item svg {
  vertical-align: initial;
}

/* single citizen notice */

.single-avis-date>div:not(:last-child) {
  margin-bottom: 1rem;
}

.single-avis-content>div:not(:last-child) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e0deda;
}

/* Page 404 */

.error404 {
  background-image: url("assets/images/404.png");
  background-repeat: no-repeat;
  background-position: center 320px;
  height: calc(100vh - 112px);
  min-height: 560px;
  background-size: 100%;
}

.error404 .error-404 {
  padding: 5rem 0 0;
}

.error404 .page-title {
  font-size: 2rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2.5rem;
  margin: 0 0 1.25rem;
}

.error404 .page-subtitle {
  font-size: 1.25rem;
  font-weight: 500;
}

.error-404 .error-img {
  position: absolute;
  top: 60%;
  left: 55%;
  width: 100%;
  transform: translate(-60%, -55%);
  max-width: 700px !important;
}

.error-404 .img-butterfly {
  display: none;
  position: absolute;
  top: 20px;
  right: 20px;
  transform: translate(-20px, -20px);
  max-width: 200px;
}


.img-residence {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 100px;
}

.img-plants {
  position: absolute;
  left: 60px;
  bottom: -8px;
  max-width: 150px;
  z-index: 10;
}

.img-leaf {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 500px;
}

.img-newsletter-butterfly {
  position: absolute;
  top: 28%;
  right: 100px;
  transform: translate(-20px, -20px);
  max-width: 150px;
}

.img-newsletter-plants {
  position: absolute;
  bottom: -8px;
  max-width: 200px;
  z-index: 10;
}

.img-newsletter-leaf {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 200px;
}

/* Page contact */

.page-contact-container {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 10rem;
}

.contact-item-title {
  font-size: 1.25rem;
  font-weight: 600;
}

.post-map-contact {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.brossard-contact .row.align-items-stretch > .col-md-6 {
  display: flex;
  flex-direction: column;
}

.brossard-contact .row.align-items-stretch > .col-md-6:last-child {
  height: 100%;
}

.img-contact-residence {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 100px;
}

.img-contact-plants {
  position: absolute;
  left: 60px;
  bottom: -8px;
  max-width: 100px;
  z-index: 2;
}

.img-contact-leaf {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 200px;
}

.img-contact-butterfly {
  position: absolute;
  top: 50px;
  right: 20px;
  transform: translate(-50px, -20px);
  max-width: 255px;
}

/* Carte principale contact - meme structure que sidebar (#postMapSide) */
#map-left-rounded {
  min-height: 400px;
  height: 100%;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background-color: #e8e6e1;
}

#map-left-rounded > div {
  height: 100% !important;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

/* Cartes autres services municipaux - meme structure que sidebar (#postMapSide) */
.map-manager {
  min-height: 320px;
  height: 320px;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background-color: #e8e6e1;
}

.map-manager > div {
  height: 100% !important;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

.brossard-opened-schedule {
  min-width: 245px;
  background-color: #fff;
  border-radius: 10px;
  padding: 1.2rem;
}

.post-services {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.post-services .map-manager {
  min-height: 320px;
  height: 320px;
  flex: 0 0 auto;
}

.post-service-content {
  height: 100%;
  background-color: #fff;
}

.contact-item-icon {
  background-color: #f9f7ee;
  padding: 1rem 1.2rem;
  border-radius: 5px;
}

.bciti-link {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  background: #ffc02b;
}

.btn.bciti-link:hover {
  background: #ffc02b;
}

.bciti-link svg {
  position: absolute;
  right: 12px;
}

/* block newsletter */

.block-newsletter {
  position: relative;
  padding: 3rem; 
  border-radius: 0.5rem;
  background-color: #FFF3C6;
}

.block-newsletter .cakemail-subscribe-form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.5rem;
  padding: 0;
}

.block-newsletter .cakemail-subscribe-form input[type="email"] {
  flex: 1 1 0%;
  min-width: 0;
  padding: 0.725rem 1.5rem;
  border-radius: 99rem;
  max-width: inherit;
  border: 0;
  height: 48px;
}

/* BRO-1444: le bouton reste sur une ligne, le champ courriel cède la place */
.block-newsletter .cakemail-subscribe-form .btn-cakemail-submit,
.block-newsletter .cakemail-subscribe-form .btn-cakemail-submit .btn {
  flex-shrink: 0;
  white-space: nowrap;
}

.cakemail-message {
  padding: 0;
}

@media(max-width: 767.98px) {

  .block-newsletter {
    padding: 2rem;
  }

  .block-newsletter .cakemail-subscribe-form {
    flex-direction: column;
    flex-wrap: wrap;
  }

  .block-newsletter .cakemail-subscribe-form input[type="email"] {
    width: 100%;
  }
}

/* block access */

.block-access {
  position: relative;
  overflow: hidden;
}

.block-access .img-three {
  position: absolute;
  bottom: -0.25rem;
  right: -0.25rem;
  z-index: 0;
}

.block-access .list-access-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-right: 2rem;
}

.block-access a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
}

.block-access a .access-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  min-width: 72px;
  min-height: 72px;
  background-color: #ffc02b;
  border-radius: 999rem;
  font-size: 2rem;
}

.block-access a .access-icon svg {
  width: 2rem;
  height: 2rem;
}

.block-list-notice {
  position: relative;
}

.block-list-notice .img-butterfly {
  position: absolute;
  top: 6rem;
  left: -5.5rem;
  transform: rotateY(180deg) rotate(10deg);
}

.block-list-notice .img-butterfly-1 {
  position: absolute;
  top: 17.5rem;
  right: -3rem;
  transform: rotateY(180deg) rotate(-58deg);
}

/* block list news */

.list-news-content img {
  width: 100%;
}

/* Modale geo */

.modal {
  display: none;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  padding-top: 30px;
}

.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  max-width: 900px;
}

/* Modale Bciti */

body.modal-open{
  padding: 0!important;
}

.modal-backdrop{
  display: none!important;
}

.my-account button{
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
}

.modal-bciti{
  padding-right: 0!important;
  z-index: 9999999!important;
}

.modal-bciti .my-account-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  background-color: #FFFEFC;
  border: 1px solid #E0DEDA;
  border-radius: 999px;
}

.modal-bciti .my-account-modal-close:hover,
.modal-bciti .my-account-modal-close:focus,
.modal-bciti .my-account-modal-close:active {
  background-color: #FFF3C6;
}

.modal-bciti .modal-content{
  max-width: 554px;
  width: 100%;
}

/* Modale share */

.share-card,
.share-card:hover {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  width: 100%;
  border-radius: 0.5rem;
  color: #231e20;
  background-color: #fffefc;
  border: 1px solid #e0deda;
}

.share-card .share-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999rem;
}

.share-card .share-icon svg {
  color: #231E20;
}

.share-modal {
  display: none;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  padding-top: 30px;
}

.share-modal-close,
.share-modal-close:hover {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0;
  font-size: 1.5rem;
  cursor: pointer;
  background: transparent;
  border: 0;
  color: #231e20;
}

.share-modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f9f7ee;
  margin: auto;
  padding: 2rem 1.5rem;
  border-radius: 0.5rem;
  width: 95%;
  max-width: 450px;
}

.share-modal-content span {
  font-weight: 500;
}

.share-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.share-buttons button {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  color: #231e20;
}

.share-buttons button>div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border: 1px solid #e0deda;
  border-radius: 999rem;
  gap: 10px;
}

.share-modal-content input {
  min-width: 300px;
  background: transparent;
  border: 0;
}

.share-modal-content input:hover,
.share-modal-content svg {
  cursor: pointer;
}

.share-modal-copy,
.share-modal-copy:hover {
  padding: 0;
  border: 0;
  background: transparent;
  color: #231e20;
}

.share-modal-message {
  color: green;
  font-size: 0.875rem;
}

/* Brossard interactive maps */

.transport-categories {
  display: none;
}

ul.activities_list {
  display: inline-block;
  list-style: none;
  padding: 0;
}

.activities_list li {
  display: inline-flex;
  position: relative;
  margin-left: 1rem;
  border-bottom: 1px solid #231e20;
}

.activities_list li a:hover {
  text-decoration: none;
  color: #ffbf2bdd;
}

.activities_list li:not(:first-child)::before {
  content: "|";
  position: absolute;
  left: -10px;
  top: -2px;
  font-size: 1.2rem;
}

#locationMapTab {
  width: 100%;
  height: 100vh;
}

.nav-tabs {
  border-bottom: none !important;
}

.nav-list-map .nav-item:first-child {
  margin-right: 1.5rem;
}

.nav-link {
  font-size: 1rem;
  font-weight: 500;
  color: #231e20;
  margin: 0;
  padding: 0 0 2px 0 !important;
  border-bottom: 1px solid transparent !important;
}

.nav-tabs .nav-link.active {
  border: 1px solid transparent !important;
  border-bottom: 1px solid #231e20 !important;
}

.nav-tabs .nav-link:hover {
  border: 1px solid transparent !important;
  color: #231e20;
  border-bottom: 1px solid #231e20 !important;
  text-decoration: none;
}

.interactive_maps {
  position: relative;
  max-height: calc(100vh - 70px);
}

/* Page carte interactive : coller la carte au footer, sans "Cette page vous a été utile" */
.page-template-template-parts-page-brossard-maps-php #main,
.page-template-template-parts-page-brossard-maps-php main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.page-template-template-parts-page-brossard-maps-php .interactive_maps {
  margin-bottom: 0 !important;
}

#brossard_interactive_map {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.activity_maps {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition-behavior: allow-discrete;
  transition-duration: 0.3s;
  translate: 0 0;

  @starting-style {
    opacity: 0;
    translate: 0 -25vh;
  }
}

.activity_maps.hide {
  display: none;
  opacity: 0;
  translate: 0 -25vh;
}

.map-modal {
  display: none;
  opacity: 0;
  translate: 0 25vh;
  height: 100%;
}

.map-modal.show {
  display: block;
  width: 100%;
  height: calc(100vh - 150px);
  transition-behavior: allow-discrete;
  transition-duration: 0.3s;
  translate: 0 0;
  opacity: 1;

  @starting-style {
    opacity: 0;
    translate: 0 25vh;
  }
}

.map-modal-content {
  position: relative;
  background-color: #fff3c6;
}

.title-modal {
  display: flex;
  align-items: center;
  padding: 0 2rem;
}

.prev-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-align: center;
  background: #ffc02b;
  vertical-align: middle;
  cursor: pointer;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FAFAFA;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #E5E5E5;
  border-radius: 8px;
  text-decoration: none;
  color: #2D2D2D;
  margin: 0 5px;
}

.page-numbers.active {
  background-color: #FFC02B;
}

.page-numbers:hover {
  text-decoration: none;
}

.activity-pane {
  height: calc(100vh - 130px);
  overflow-y: auto;
  scrollbar-width: none;
}

.activity-title {
  cursor: pointer;
  font-weight: 500;
  font-size: 1rem;
  width: 100%;
  max-width: 280px;
  padding: 1rem 1rem 1rem 3rem;
}

.map-modal ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.categorie-items {
  position: relative;
  display: block;
  height: 80%;
  padding-left: 1rem;
  padding-right: 0.8rem;
  text-align: start;
  z-index: -1;
}

.categorie-items ul {
  margin-block: 1rem;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

.categorie-items ul::-webkit-scrollbar {
  width: 6px;
  border-radius: 5px;
  height: 400px;
}

.categorie-items ul::-webkit-scrollbar-track {
  background-color: #f0ece9;
  border-radius: 5px;
}

.categorie-items ul::-webkit-scrollbar-thumb {
  background-color: #231e20;
  border-radius: 5px;
}

.categorie-items ul li {
  display: flex;
  align-items: center;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  padding: .8rem 0 .8rem 1rem;
  margin: 0 0.5rem 0 1rem;
  border-radius: 5px;
}

.categorie-items ul li.show {
  opacity: 1;
  transform: translateX(0);
}

.categorie-icon {
  display: inline-block;
  padding: 0 14px 0 0;
  border-radius: 5px;
}

a.categorie-item {
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  word-spacing: 0;
}

.map-modal .categorie-items a.categorie-item {
  white-space: nowrap;
}

.custom-info-window {
  max-height: 420px;
  padding: 0;
  margin: 0;
  background: white;
}

/* Infrastructure item dans le popup - pas de marge sur les côtés pour l'image */
.infrastructure-item.custom-info-window {
  padding: 0;
  margin: 0;
  border: none;
}

/* Image portrait - format vertical avec hauteur limitée */
.custom-info-window .box-img,
.custom-info-window .box-img .image-content {
  margin: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
  max-height: 200px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border: none;
  background: none;
}

.custom-info-window .map-popup-official-img,
.custom-info-window .box-img .map-popup-official-img {
  width: auto;
  height: 200px;
  max-height: 200px;
  max-width: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  border: none;
  outline: none;
}

.custom-info-window .position-details {
  padding: 0.5rem 0.75rem 0.75rem !important;
}

.custom-info-window .position-details h4 {
  font-size: 1rem !important;
  margin-bottom: 0.5rem !important;
}

.custom-info-window .position-details p {
  font-size: 0.875rem !important;
  margin-bottom: 0.35rem !important;
}

/* Supprimer le rond noir de focus sur les boutons/liens du popup */
.custom-info-window a:focus,
.custom-info-window a:focus-visible,
.custom-info-window .btn:focus,
.custom-info-window .btn:focus-visible,
.custom-info-window button:focus,
.custom-info-window button:focus-visible,
.infrastructure-item.custom-info-window a:focus,
.infrastructure-item.custom-info-window a:focus-visible,
.infrastructure-item.custom-info-window .btn:focus,
.infrastructure-item.custom-info-window .btn:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.custom-info-window h4,
.custom-info-window h3,
.custom-info-window h2,
.custom-info-window h1 {
  outline: none !important;
}

.custom-info-window h4:focus,
.custom-info-window h4:focus-visible,
.custom-info-window h3:focus,
.custom-info-window h3:focus-visible,
.custom-info-window h2:focus,
.custom-info-window h2:focus-visible,
.custom-info-window h1:focus,
.custom-info-window h1:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.custom-info-window p,
.custom-info-window div:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
}

.custom-info-window p:focus,
.custom-info-window p:focus-visible,
.custom-info-window div:focus:not(a):not(button):not(input):not(select):not(textarea),
.custom-info-window div:focus-visible:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
  box-shadow: none !important;
}

/* Empêcher les éléments non interactifs de recevoir le focus */
.custom-info-window *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]) {
  outline: none !important;
}

.custom-info-window *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus,
.custom-info-window *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.infrastructure-item h4,
.infrastructure-item h3,
.infrastructure-item h2,
.infrastructure-item h1 {
  outline: none !important;
}

.infrastructure-item h4:focus,
.infrastructure-item h4:focus-visible,
.infrastructure-item h3:focus,
.infrastructure-item h3:focus-visible,
.infrastructure-item h2:focus,
.infrastructure-item h2:focus-visible,
.infrastructure-item h1:focus,
.infrastructure-item h1:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.infrastructure-item p,
.infrastructure-item div:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
}

.infrastructure-item p:focus,
.infrastructure-item p:focus-visible,
.infrastructure-item div:focus:not(a):not(button):not(input):not(select):not(textarea),
.infrastructure-item div:focus-visible:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
  box-shadow: none !important;
}

/* Empêcher les éléments non interactifs de recevoir le focus */
.infrastructure-item *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]) {
  outline: none !important;
}

.infrastructure-item *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus,
.infrastructure-item *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.activity-item {
  border-bottom: 1px solid #e0deda;
  position: relative;
}

.activity-items .activity-item:last-child {
  border-bottom: none;
}

.brossard_activity {
  display: flex;
  align-items: center;
  justify-content: start;
  cursor: pointer;
  font-weight: 500;
  font-size: 1rem;
  width: 100%;
  max-width: calc(100% - 24px);
  padding: 1.1rem 1rem 1.1rem 2rem;
  vertical-align: middle;
}

.brossard_activity svg {
  min-width: 24px;
  min-height: 24px;
}

.activity-item_title {
  position: relative;
}

.activity-item_title.menu-item-active,
.categorie-list.active {
  background-color: #fff3c6;
  transition: background-color 0.2s ease-in-out;
}

.brossard_activity-title {
  padding-left: 0.5rem;
}

.dropdown-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.dropdown-icon.open {
  display: none;
}

.meta-information {
  margin-top: auto;
  background-color: #f0ece9;
  border-top-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
  padding: 1.5rem 0.5rem;
}

.meta-information p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
}

.meta-information a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75rem;
}

.location-interactive_map {
  max-width: 450px;
  height: auto;
}

.location-interactive_map .box-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.location-interactive_map.highlight {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
  height: 80px;
  padding: 8px 15px;
  width: auto;
}

.location-intractive_map.highlight::after {
  border-top: 9px solid #ffffff;
}

#loader {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
  border-radius: 5px;
  text-align: center;
}

.spinner-border {
  position: absolute;
  top: 50%;
}

#loader.show-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-loader {
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  animation: mulShdSpin 1.1s infinite ease;
  transform: translateZ(0);
}

@keyframes mulShdSpin {

  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #4C4046, 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.5), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
  }

  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7), 1.8em -1.8em 0 0em #4C4046, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
  }

  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #4C4046, 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }

  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5), 2.5em 0em 0 0em rgba(255, 255, 255, 0.7), 1.75em 1.75em 0 0em #4C4046, 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }

  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.5), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7), 0em 2.5em 0 0em #4C4046, -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }

  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5), 0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #4C4046, -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }

  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.5), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7), -2.6em 0em 0 0em #4C4046, -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }

  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5), -2.6em 0em 0 0em rgba(255, 255, 255, 0.7), -1.8em -1.8em 0 0em #4C4046;
  }
}

.location-interactive_map .image-content {
  position: relative;
}

.location-interactive_map .box-img .box-info {
  position: absolute;
  bottom: 0px;
  transform: translateY(15px);
  left: 1rem;
  overflow-x: auto;
}

.location-interactive_map .box-img {
  margin-bottom: 20px;
}

.location-interactive_map .box-img img {
  width: 100%;
  height: 150px;
  background-size: cover;
  background-position: center;
}

.location_commodities_map {
  margin: 3px 0;
}

.gm-style-iw-chr {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
}

.gm-ui-hover-effect>span {
  background-color: #fff !important;
}

.gm-style-iw-chr button {
  top: 10px !important;
  right: 10px !important;
}

.gm-style .gm-style-iw-c {
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Supprimer complètement la ligne/bordure en haut du popup */
.gm-style-iw-ch,
.gm-style-iw-chr {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  display: none !important;
}

/* Masquer seulement le contenu du pointeur/tip de l'InfoWindow */
.gm-style-iw-t::after {
  background: transparent !important;
}

.gm-style-iw-tc::after {
  background: transparent !important;
}

/* Styles généraux pour tous les popups */
.gm-style-iw.gm-style-iw-c,
.gm-style-iw.gm-style-iw-c > div {
  border: none !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  transform: none !important;
  box-sizing: border-box !important;
  background: white !important;
}

/* Limitation de taille spécifique pour les popups de districts/secteurs uniquement */
.infrastructure-item.custom-info-window.district-sector-popup {
  max-width: 280px !important;
}

/* Uniformiser la police et le style pour tous les éléments dans les popups district/secteur */
.infrastructure-item.custom-info-window.district-sector-popup .position-details p,
.infrastructure-item.custom-info-window.district-sector-popup .position-details a {
  font-size: 0.875rem !important;
  font-weight: normal !important;
  color: #231E20 !important;
  text-decoration: none !important;
}

/* Popups de lieux - largeur adaptée au contenu */
.gm-style-iw-c:has(.location-interactive_map) {
  max-width: 450px !important;
  width: auto !important;
}

.gm-ui-hover-effect {
  width: 24px !important;
  height: 24px !important;
}

.gm-style-iw-d {
  overflow: auto !important;
  max-height: 420px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Supprimer la marge blanche sur les côtés du popup Google Maps */
.gm-style-iw-c,
.gm-style-iw-d,
.gm-style-iw .gm-style-iw-c {
  padding: 0 !important;
  margin: 0 !important;
}

/* Loader du popup district/secteur */
.map-popup-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  padding: 1rem;
  gap: 0.75rem;
}

.map-popup-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #e0deda;
  border-top-color: #ffc02b;
  border-radius: 50%;
  animation: map-popup-spin 0.8s linear infinite;
}

@keyframes map-popup-spin {
  to {
    transform: rotate(360deg);
  }
}

.position-title {
  font-size: 1.2rem;
}

.position-details {
  padding: 0 1rem;
}

.position-title a {
  text-decoration: none;
}

.map_external-link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1rem;
}

.map_external-link p {
  padding-right: 1rem;
}

.map_external-link a {
  text-decoration: none;
  border-bottom: 1px solid #231e20;
}

.float-grid {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  width: auto;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  display: none;
  background-color: #ffc02b;
}

.float-grid.show {
  display: block;
}

.brossard-grid-link {
  display: none;
  text-decoration: none;
  cursor: pointer;
}

.brossard-grid-link:hover {
  text-decoration: none;
}

.brossard-grid-link.active {
  display: block;
}

.leaflet-right {
  display: none;
}

/* single event */

.event-price .box-text-bg {
  max-width: 300px;
  width: 100%;
}

/* block featured */

.featured .featured-wrapper{
  background-color: #F9F7EE;
  border-radius: 0.5rem 99px 0.5rem 99px;
}

.featured .featured-img{
  min-height: 400px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0.5rem 0 0 99px;
}

.featured .featured-img.order-lg-2{
  border-radius: 0 99px 0.5rem 0;
}

.featured  .featured-content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem;
}

@media (max-width: 991.98px) {
  .featured .featured-img{
    min-height: 350px;
    border-radius: 0.5rem 99px 0 0;
  }

  .featured .featured-img.order-lg-2{
    border-radius: 0.5rem 99px 0 0;
  }

}

@media (max-width: 575.98px) {

  .featured > div{
    padding: 0;
  }

  .featured .featured-img.order-lg-2,
  .featured .featured-wrapper,
  .featured .featured-img{
    border-radius: 0;
  }

  .featured .featured-content{
    padding: 2rem;
  }
}


/* block content (media + texte) */

@media (max-width: 1199.98px) {
  .block-content .col-xl-6:first-child {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .block-content .col-xl-6:first-child {
    margin-bottom: 2rem;
  }
}

/* single organism */

.inner-organism {
  padding: 2rem;
  border-radius: 0.5rem;
}

.organisme-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.5rem;
  height: 4.5rem;
  min-width: 4.5rem;
  min-height: 4.5rem;
  background-color: #fff;
  border-radius: 999px;
  border: 1px solid #dcdcdc;
}

.inner-organism .organism-socials {
  display: flex;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.inner-organism .organism-socials li .box-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
  cursor: pointer;
}

.organism-infos>div:not(:last-child) {
  margin-bottom: 1rem;
}

.inner-organism .organism-person span,
.inner-organism .organism-person>div:not(:last-child) {
  margin-bottom: 0.75rem;
}

.organism-activities {
  padding: 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
}

.organism-activities:not(:last-child) {
  margin-bottom: 1rem;
}

.organism-activities-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.organism-activities-content>div {
  flex: 1;
  padding-right: 2rem;
  border-right: 1px solid #ccc;
}

.organism-activities-content>div:nth-child(3n) {
  border-right: none;
  /* Pas de bordure pour le dernier élément */
}

.other-organism {
  padding: 1.5rem;
  border: 1px solid #e0deda;
  border-radius: 0.5rem;
}

.other-organism:not(:last-child) {
  margin-bottom: 1.5rem;
}

.other-organism .organism-link:not(:hover) {
  text-decoration: none;

}

.other-organism .organisme-logo {
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  min-height: 3.5rem;
}

.other-organism .organisme-logo svg {
  max-width: 2.5rem;
  max-height: 2.5rem;
}

.other-organism .other-organism-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  background-color: #ffc02b;
  border-radius: 999px;
}

/* box artist */

.box-artist {
  display: flex;
  align-items: center;
}

.box-artist:not(:last-child) {
  margin-bottom: 1rem;
}

.box-artist img {
  max-width: 3.5rem;
  max-height: 3.5rem;
  border-radius: 3.5rem;
}

/* Zonage Modal  */
.zonage-modal {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 30px 10px;
}

.zonage-modal button.close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
  background: transparent !important;
}

.zonage-modal:focus {
  border: none;
  outline: none !important;
}

.zonage-modal:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.zonage-modal p,
.zonage-modal div:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
}

.zonage-modal p:focus,
.zonage-modal p:focus-visible,
.zonage-modal div:focus:not(a):not(button):not(input):not(select):not(textarea),
.zonage-modal div:focus-visible:not(a):not(button):not(input):not(select):not(textarea) {
  outline: none !important;
  box-shadow: none !important;
}

/* Empêcher les éléments non interactifs de recevoir le focus */
.zonage-modal *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]) {
  outline: none !important;
}

.zonage-modal *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus,
.zonage-modal *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.zonage-modal h4 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #231E20;
  line-height: 28px;
  max-height: 50px;
  height: 100%;
  outline: none !important;
}

.zonage-modal h4:focus,
.zonage-modal h4:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.zonage-modal .custom-link {
  display: inline-block;
  margin-left: 2rem;
}

.gm-ui-hover-effect>span {
  margin: 0 !important;
  background-color: #514b4d !important;
}

/* Supprimer l'outline de focus sur tous les éléments dans les infoWindows Google Maps */
.gm-style-iw-d *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]) {
  outline: none !important;
}

.gm-style-iw-d *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus,
.gm-style-iw-d *:not(a):not(button):not(input):not(select):not(textarea):not([tabindex]):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Rond noir de focus sur boutons/liens dans les popups Google Maps */
.gm-style-iw-d a:focus,
.gm-style-iw-d a:focus-visible,
.gm-style-iw-d .btn:focus,
.gm-style-iw-d .btn:focus-visible,
.gm-style-iw-d button:focus,
.gm-style-iw-d button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.custom-link a {
  text-decoration: none;
}

.custom-link a:hover {
  text-decoration: none;
}

/* Maps on side  */
#postMapSide {
  min-height: 165px;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

/* Activités sportives */
.registration-activities_item {
  padding: 20px;
  border-radius: 10px;
}

.registration-platform_attributes {
  display: flex;
  justify-content: start;
  align-items: center;
}

.registration-platform_attributes>p:first-of-type {
  width: 50%;
  font-weight: 500;
  line-height: 28px;
}

.calls_portfolios-container .item-title a:not(:hover) {
  text-decoration: none;
}

/* Espacement entre les sections En cours / En tout temps / Terminé */
.calls-portfolios-section + .calls-portfolios-section {
  margin-top: 2rem;
}

/* Skeleton  */
.skeleton {
  background: linear-gradient(90deg, #eee, #ddd, #eee);
  background-size: 200% 100%;
  animation: loading 1.5s infinite linear;
  border-radius: 5px;
}

.skeleton-xl-image {
  width: 100%;
  height: 180px;
  border-radius: 99px 0.5rem 0.5rem 0.5rem;
}

.skeleton-image {
  width: 280px;
  height: 180px;
  border-radius: 1.5rem 0.5rem 0.5rem 0.5rem;
}

.skeleton-card {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
}

.skeleton-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-block;
}

.skeleton-title {
  width: 50%;
  height: 20px;
  display: block;
}

.skeleton-text {
  width: 70%;
  height: 14px;
  display: block;
  margin-bottom: 5px;
}

.skeleton-badge {
  width: 120px;
  height: 30px;
  border-radius: 15px;
  display: inline-block;
  margin-right: 5px;
}

.search-query {
  display: none;
  position: relative;
  border-radius: 15px;
  padding: 2px 40px 2px 15px;
  color: #231E20;
  background-color: #FFFEFC;
}

.search-query .bi-x {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;
  cursor: pointer;
}


.loading-content {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

/* Loader overlay for list pages (events, etc.) - couleurs du site, petit, en haut des articles */
.list-loader-overlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: rgba(249, 247, 238, 0.75);
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 120px;
  padding-top: 1rem;
  padding-left: 1rem;
}
.list-loader-overlay.is-visible {
  display: flex;
}
.list-loader-overlay .form-loader {
  font-size: 12px;
  margin: 0 auto;
}

.box-subscription {
  padding: 1rem;
  border-radius: 0.5rem;
}

.box-subscription .table-row {
  display: flex;
}

.box-subscription .table-row:not(:last-child) {
  border-bottom: 1px solid #ddd;
}

.box-subscription .table-cell {
  flex: 1;
  padding: 10px;
  text-align: left;
}

.box-subscription .table-row:last-child .table-cell {
  padding-bottom: 0;
}

.box-subscription .table-cell:first-child {
  max-width: 150px;
  font-weight: 500;
}

@keyframes loading {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

.pagination a {
  margin: 0;
}

.relevanssi-live-search-results {
  position: initial !important;
  box-shadow: 0 0 0 0 !important;
  border: 0 !important;
  width: 100% !important;
}

.relevanssi-live-search-results li {
  list-style: none;
  margin-right: 1rem;
}

/* footer */

footer .box-logo {
  max-width: 220px;
}

footer .box-account {
  max-width: 24.625rem;
  width: 100%;
  padding: 1.5rem;
  background-color: #fffefc;
  border-radius: 0.5rem 1.5rem 0.5rem 1.5rem;
}

footer .box-account a {
  display: block;
}

footer .box-account a.info-address {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: #4c4046;
}

footer .box-account a.info-address::before {
  position: absolute;
  content: url("assets/images/map-pin.svg");
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}

footer .box-account a {
  position: relative;
  padding-left: 2.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  color: #231e20;
}

footer .box-account a:hover {
  text-decoration: underline;
}

footer .box-account a.info-phone::before {
  position: absolute;
  content: url("assets/images/phone-call.svg");
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}

footer .box-account a.info-email::before {
  position: absolute;
  content: url("assets/images/mail.svg");
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}

footer .label-menu {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
}

footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

footer ul li {
  margin-bottom: 1rem;
}

footer ul li a,
footer .conception a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  color: #231e20;
}

footer .footer-socials li {
  display: flex;
  align-items: center;
}

footer .footer-socials li:not(:last-child) {
  margin-bottom: 0.75rem;
}

footer li:last-child {
  margin-bottom: 0;
}

footer .footer-socials li .box-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: 1rem;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background-color: #ffc02b;
  border-radius: 999px;
}

footer .footer-bottom-content {
  display: flex;
  flex-direction: column;
}

footer .footer-bottom-content p {
  margin-bottom: 0;
}

footer .policy-link ul {
  display: flex;
  flex-direction: column;
}

footer .policy-link ul li:last-child {
  margin-bottom: 0;
}

footer .policy-link ul li a,
footer .conception a {
  text-decoration: underline;
}

.custom-select {
  position: relative;
  min-width: 400px;
}

.select-box {
  background-color: #fff;
  border: 1px solid #e0deda;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  border-radius: 50px;
  padding: 0 10px;
  cursor: pointer;
}

.selceted-options {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0;
  background-color: #fff;
}

.tag {
  background-color: #F9F7EE;
  display: inline-block;
  padding: 6px 14px;
  margin-right: 5px;
  border-radius: 20px;
}

.remove-tag {
  margin-left: 6px;
  font-size: 18px;
  cursor: pointer;
}

.remove-tag:hover {
  color: #ce1515;

}

.arrow .bi-chevron-down {
  font-size: 15px;
}

.options {
  display: none;
  position: absolute;
  background: #fff;
  border: 1px solid #e0deda;
  border-top: none;
  border-radius: 5px;
  width: 100%;
  max-height: 225px;
  overflow-y: auto;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.open .options {
  display: block;
}

.option-search-tags {
  background-color: #fff;
  border: 1px solid #ced4da;
  padding: 8px 0;
  margin: 8px;
  border-radius: 50px;
}

.search-tags {
  width: 100%;
  border: none;
  outline: none;
  padding: 8px 15px;
  border-radius: 50px;
}

.clear {
  position: absolute;
  top: 20px;
  right: 18px;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 20px;
  font-weight: 500;
  cursor: pointer;
}

.option {
  padding: 12px;
  cursor: pointer;
}

.search-pdf-box {
  margin-bottom: 0.75rem;
}

#search-pdf {
  width: 18px;
  height: 18px;
  vertical-align: text-top;
}

.sector-filter.form-select {
  margin-top: 8px;
  border: 1px solid #dee2e6 !important;
  min-width: 150px;
  padding-left: 10px !important;
  border-radius: 25px;
  font-weight: 600;
}

#missing-address-link {
  width: fit-content;
}

.sector-filter:focus {
  border-color: #FFC02B;
}

#geolocate-modal {
  display: none;
}

.btn-close {
  opacity: 1;
}

.installation-schedule .accordion-button,
.installation-schedule .accordion-button:hover,
.installation-schedule .accordion-button:focus,
.installation-schedule .accordion-button:active {
  background-color: #fff !important;
  padding: 1rem;
  color: #231e20 !important;
  border-radius: 0.5rem !important;
  box-shadow: none !important;
}

.installation-schedule .accordion-button:hover::after {
  transform: translateX(0) !important;
}

.installation-schedule .accordion-button:not(.collapsed):hover::after {
  transform: rotate(-180deg) !important;
}

.installation-schedule .accordion-button:not(.collapsed) {
  background-color: #fff !important;
  color: #231e20 !important;
  box-shadow: none !important;
}


/* Popup Container */
.popup-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 10;
}

.user-info-popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #F9F7EE;
  padding: 2rem;
  border-radius: 0.5rem;
  z-index: 1000;
  width: 90%;
  max-width: 576px;
}

.popup-close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.2rem;
  cursor: pointer;
}

.popup-form input,
#problem-type.form-select,
.popup-form textarea {
  border: 1px solid #E0DEDA;
  background: #F9F7EE;
}

/* Artwork page */
/* Form search */
.page-template-brossard-artwork .select2-search__field {
  pointer-events: none;
  opacity: 0 !important;
  display: none !important;
}

.page-template-brossard-artwork .tag-filter .select2-container--default.select2-container--focus .select2-selection--multiple,
.page-template-brossard-artwork .tag-filter .select2-container--default .select2-selection--multiple {
  border: none !important;
  border-radius: 50px;
}

.page-template-brossard-artwork .tag-filter .select2-container .select2-selection--multiple .select2-selection__rendered {
  display: block !important;
}

.page-template-brossard-artwork .tag-filter .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #f9f7ee !important;
}

.page-template-brossard-artwork .tag-filter {
  position: relative;
}

.page-template-brossard-artwork .toggle-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  cursor: pointer;
  color: #666;
}

.page-template-brossard-artwork .toggle-icon svg {
  width: 18px;
  height: 18px;
}

.page-template-brossard-artwork .select2-search__field {
  display: none !important;
}

/* simple text */
.page-template-brossard-artwork .simple-text {
  margin-bottom: 4rem;
}

.page-template-brossard-artwork .simple-text p {
  color: #4C4046;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
}

/*content artwork*/
.page-template-brossard-artwork .mosaic-item {
  overflow: hidden;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}

.page-template-brossard-artwork .artwork-image {
  width: 100%;
  min-height: 100px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}

.page-template-brossard-artwork .mosaic-item:hover .artwork-image {
  transform: scale(1.05);
}

.page-template-brossard-artwork .hover-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(180deg, rgba(35, 30, 32, 0) 0%, rgba(35, 30, 32, 0.8) 99.99%);
  color: white;
  padding: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.page-template-brossard-artwork .mosaic-item:hover .hover-info {
  opacity: 1;
}

.page-template-brossard-artwork .text-hover {
  color: #FFFEFC;
  letter-spacing: 0%;
}

.page-template-brossard-artwork .text-hover.title {
  font-weight: 500;
  font-size: 18px;
  line-height: 0px;
}

.page-template-brossard-artwork .text-hover.description {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 0;
}

.page-template-brossard-artwork .date-hover {
  display: flex;
  border-radius: 20px;
  border: 1px solid #73C068;
  font-size: 14px;
  width: 20%;
  background: #73C068;
  color: #231E20;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.page-template-brossard-artwork .modal {
  display: none;
  position: fixed;
  z-index: 1000;
  padding-top: 80px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 99999;
}

.page-template-brossard-artwork .modal-content {
  padding: 0 1rem !important;
}

.page-template-brossard-artwork .modal-content {
  background: transparent;
  border: none;
}

.page-template-brossard-artwork .image-modal {
  position: relative;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 300px;
  background: #F9F7EE;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
}

.page-template-brossard-artwork #modalImage {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-template-brossard-artwork .closeModalArtwork {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 20px;
  right: 16px;
  color: #FFFEFC;
  background-color: transparent;
  font-size: 18px;
  font-weight: 500;
  transition: 0.3s;
  border: 1px solid;
  cursor: pointer;
  border-radius: 25px;
  padding: 8px 15px;
  line-height: 25px;
}

.page-template-brossard-artwork .closeModalArtwork:hover,
.page-template-brossard-artwork .closeModalArtwork:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

.page-template-brossard-artwork .prevarrow,
.page-template-brossard-artwork .nextarrow {
  cursor: pointer;
  position: absolute;
  top: 50%;
  background-color: transparent;
  width: auto;
  padding: 12px;
  transform: translateY(-50%);
}

.page-template-brossard-artwork .nextarrow {
  right: 4px;
}

.page-template-brossard-artwork .prevarrow {
  left: 4px;
}

.page-template-brossard-artwork .text-modal {
  color: #FEFEFE;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.page-template-brossard-artwork span.modal-item {
  font-weight: 500;
}

.page-template-brossard-artwork .format.hidden,
.page-template-brossard-artwork .medium.hidden,
.page-template-brossard-artwork .provenance.hidden {
  display: none;
}

.page-template-brossard-artwork .close-button {
  font-size: 33px;
  font-weight: 400;
  padding-right: 7px;
}

#artworkModal .image-modal {
  position: relative;
}

#artworkModal .btn-outline {
  visibility: hidden;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

/*pagination artwork */
.page-template-brossard-artwork .custom-pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.page-template-brossard-artwork .custom-pagination ul {
  list-style: none;
  display: flex;
  padding: 0;
  gap: 8px;
}

.page-template-brossard-artwork .custom-pagination ul li {
  display: inline-block;
}

.custom-pagination ul li a:hover {
  background: #ffcc33;
  border-color: #ffcc33;
  color: #fff;
}

.page-template-brossard-artwork .custom-pagination ul li .current {
  background: #ffcc33;
  color: #fff;
  border-color: #ffcc33;
  font-weight: bold;
}

.page-template-brossard-artwork .filter-options.d-none {
  display: none !important;
}

#toggle-filters {
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: #fff;
  border: 1px solid #dee2e6;
  color: #231E20;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  padding: 10px 35px;
  border-radius: 99px;
  cursor: pointer;
  justify-content: center;
}

#toggle-filters.active {
  background-color: #ffcc33;
  border: 1px solid #ffcc33;
}

#toggle-filters img {
  width: 20px;
  height: auto;
}

#toggle-filters:hover {
  background-color: #f0e0a0;
  border: 1px solid #f0e0a0;
}

#filtre-search-filtrer {
  gap: 20px;
}

.calendar-item {
  border: 1px solid #e0deda !important;
  border-radius: 0.5rem !important;
}

.calendar-item:not(:last-child) {
  margin-bottom: 1.5rem;
}

.calendar-item .accordion-button,
.calendar-item .accordion-button:hover,
.calendar-item .accordion-button:focus,
.calendar-item .accordion-button:active {
  background-color: #fff !important;
  padding: 1rem;
  color: #231e20 !important;
  border-radius: 0.5rem !important;
  box-shadow: none !important;
}

.calendar-item .accordion-button:hover::after {
  transform: translateX(0) !important;
}

.calendar-item .accordion-button:not(.collapsed):hover::after {
  transform: rotate(-180deg) !important;
}

.calendar-item .accordion-button:not(.collapsed) {
  background-color: #fff !important;
  color: #231e20 !important;
  box-shadow: none !important;
}

.installation-schedule .accordion-body,
.calendar-item .accordion-body {
  padding: 0 1rem 1rem 1rem !important;
}

.calendar-custom .calendar-tabs {
  gap: 0.5rem;
}

.calendar-custom .calendar-tabs .nav-link {
  padding: 0.25rem 1rem !important;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  border-radius: 9999px;
  border: 1px solid #e0deda !important;
  background-color: #fff;
  color: #4c4046;
}

.calendar-custom .calendar-tabs .nav-link:hover,
.calendar-custom .calendar-tabs .nav-link.active {
  border: 1px solid #fff3c6 !important;
  background-color: #fff3c6;
  color: #231e20;
}

.calendar-custom .calendar-custom-items .calendar-custom-hours {
  width: 100%;
  max-width: 160px;
  padding: 1rem;
  background-color: #f9f7ee;
}

.calendar-custom .calendar-custom-items:not(:last-child) {
  border-bottom: 1px solid #fff;
}

.calendar-custom .calendar-custom-items .calendar-custom-hours span {
  color: #231e20;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.calendar-custom .calendar-custom-items .calendar-custom-type {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 0.5rem 1rem;
}

.calendar-custom .calendar-custom-info span:first-child {
  display: inline-block;
  margin-right: 1rem;
  width: 3.5rem;
  height: 1.5rem;
  border-radius: 4px;
}

.state-installations .hidden-entry,
.place-zone .hidden-entry {
  display: none;
}

.state-installations .toggle-entries,
.place-zone .toggle-entries {
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
}

/* Box info message */

.box-info-message{
  position: relative;
  padding: 3rem;
  background-color: #FFF3E2;
  border-radius: 0.5rem;
}

@media (max-width: 991.98px) {
  .box-info-message{
    padding: 4.5rem 2rem 2rem 2rem;
  }
}

.box-message-closed{
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  background-color: #FFFEFC;
  border: 1px solid #E0DEDA;
  border-radius: 999px;
}

.box-message-closed:hover,
.box-message-closed:focus,
.box-message-closed:active {
  background-color: #FFFEFC;
  border: 1px solid #E0DEDA;
}

.box-info-message img{
  width: 100%;
  height: auto;
  max-height: 320px;
  aspect-ratio: 3/4;
  object-fit: cover;
}

/* Chat bot */

.chat-bubble {
  background-color: #ffc02b !important;
}

/* Media queries */

@media (min-width: 420px) {
  .error404 {
    background-position: center 280px;
  }
}

@media (min-width: 567px) {

  .wp-gutenberg-content .wp-block-heading:not(:first-child) {
    margin-top: 2rem;
  }

  .wp-gutenberg-content>.wp-block-separator,
  .wp-gutenberg-content>.wp-block-embed,
  .wp-gutenberg-content>.wp-block-buttons,
  .wp-gutenberg-content>.wp-block-image {
    margin: 2rem 0;
  }

  h1,
  .heading-1 {
    font-size: 3.5rem;
  }

  h2,
  .heading-2 {
    font-size: 2rem;
  }

  h3,
  .heading-3 {
    font-size: 1.5rem;
  }

  h4,
  .heading-4 {
    font-size: 1.25rem;
  }

  a:not(.entry-content a) p {
    font-size: 1rem;
  }

  .img-default,
  .img-large {
    height: 290px;
  }

  .img-vertical {
    height: 600px;
  }

  /* buttons */

  .box-link-lg {
    padding: 1.5rem;
  }

  .box-link:not(.box-link-sm) .content span {
    font-size: 1.25rem;
  }

  .custom-link {
    font-size: 1.125rem;
  }

  .box-link.box-link-lg>span {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    font-size: 1.25rem;
  }

  .custom-link.custom-link-lg:before {
    left: 0;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }

  .box-subscription {
    padding: 1.5rem;
  }

  /* Lists queries / topics */

  .default-post-item .item-link a {
    font-size: 1.25rem;
  }

  .default-post-item .item-date {
    min-width: max-content;
  }

  .programs-grants-item p,
  .news-item p,
  .post-item p {
    font-size: 1.125rem;
  }

  /* box project calendar */

  .box-project-calendar .item {
    margin-left: 3rem;
    padding: 1.5rem;
  }

  .box-project-calendar .item::before {
    left: -3rem;
  }

  .box-project-calendar .item::after {
    left: -38px;
  }

  /* hero banner */
  .block-hero-banner h1 {
    font-size: 3.5rem;
  }

  /* Modal artwork */

  .page-template-brossard-artwork .text-modal {
    font-size: 1.25rem;
  }

  #artworkModal .btn-outline {
    visibility: visible;
  }

  /* Block accordeon */

  .accordion-communication .accordion-communication-button {
    font-size: 1.5rem;
  }

  .list-citizen-notice .citizen-notice-item:not(:last-child) {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }

  /* block access */

  .block-access .list-access-link {
    grid-template-columns: repeat(3, 1fr);
  }

  .block-access a {
    font-size: 1.125rem;
  }

  .block-access a .access-icon {
    width: 96px;
    height: 96px;
    min-width: 96px;
    min-height: 96px;
    background-color: #ffc02b;
    border-radius: 999rem;
  }

  .block-access a .access-icon svg {
    width: 2.5rem;
    height: 2.5rem;
  }

  .error-search {
    font-size: .858rem;
    font-family: 500;
    color: red;
  }

  /* footer */

  footer .box-account a,
  footer .box-account p {
    font-size: 1rem;
  }

  footer .label-menu {
    font-size: 1.125rem;
  }

  /* Modale share */

  .share-modal-content {
    padding: 2rem;
  }

  .error404 {
    background-position: center 240px;
  }
}

@media (min-width: 768px) {

  .img-default,
  .img-large {
    height: 190px;
  }

  .img-vertical {
    height: 500px;
  }

  .programs-grants-item img,
  .news-item img {
    border-radius: 24px 8px 8px 8px;
    max-height: 128px;
    min-height: 128px;
    object-fit: cover;
  }

  .section-heading.heading-default .heading-img img {
    max-height: 380px;
  }

  /* hero banner */
  .block-hero-banner h1 {
    font-size: 4.5rem;
  }

  /* Box link */
  .box-link:not(.box-link-sm)>span {
    margin-left: 4rem;
  }

  .box-link__detail .box-link__item:first-child {
    border: none;
    padding-right: 1rem;
    padding-left: 0;
  }

  .box-link__item {
    display: inline-block;
    padding: 0 1rem;
    border-left: 2px solid #E0DEDA;
  }

  .box-link__item a {
    font-size: 1rem;
    border-bottom: 1px solid #000;
  }

  .organism-info.info-success {
    font-weight: 400 !important;
    font-size: 1rem !important;
  }

  /* Lists queries / topics */
  .default-post-item {
    padding: 1.5rem 0.5rem;
  }

  .default-post-item .item-link {
    max-width: 400px;
  }

  .search-menu .search-results .default-post-item {
    padding: 1rem 0;
  }

  .search-results .default-post-item .item-link {
    max-width: 100%;
  }

  /* members cards */
  .members-post-item-img img {
    max-height: 340px;
  }

  .members-cards-link {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    align-items: center;
  }

  .span-title {
    font-weight: 500;
    color: #231e20;
    vertical-align: middle;
  }

  .collect-card svg,
  .collect-alert svg {
    vertical-align: middle;
  }

  .collect-card .info {
    line-height: 1.3;
  }

  .card-collect-item {
    display: flex;
    justify-content: start;
    align-items: start;
    padding: .5rem 0;
  }

  .card-collect-item div:first-child {
    flex-shrink: 0;
    max-width: 175px;
    width: 100%;
  }

  iframe {
    width: 100%;
  }

  /* Search Input */
  .content_input {
    padding: 12px 24px 12px 72px;
    border: 1px solid #EDEDED;
    border-radius: 50px;
  }

  .form-select {
    width: 7rem;
  }

  .form-control,
  .form-select {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 0;
    padding-right: 0;
    border: 0;
  }

  .content_input:focus-within {
    border-color: #FFC02B;
  }

  .form-control {
    border-radius: 0;
  }

  .icon_search {
    top: 18px;
    left: 24px;
  }

  .content_icon_microphone {
    top: 12px;
    right: 165px;
  }

  /* Bouton pour fermer le modal */
  .close {
    color: #aaa;
    margin-left: auto;
    font-size: 28px;
    font-weight: bold;
  }

  .close:hover,
  .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
  }

  /* Call for portfolios */
  .calls_portfolios-container .item-title {
    min-width: 325px;
    max-width: 325px;
  }

  /* Modale pour la geolocalisation */
  #geolocate-modal {
    position: fixed;
    left: 25px;
    top: 50px;
    display: none;
    color: #231E20;
    background: #fff;
    border-radius: 10px;
    max-width: 512px;
    width: 100%;
    height: auto;
    border: 1px solid #E0DEDA;
    padding: 20px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    z-index: 99;
  }

  .admin-bar #geolocate-modal {
    top: 80px;
  }

  #geolocate-modal .btn-close {
    border: 1px solid #E0DEDA;
    border-radius: 50%;
    padding: 10px;
  }

  .modale-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .options-search {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
  }

  .btn-option {
    font-weight: 500;
    padding: 10px 20px;
    background: #fff;
    color: #231E20;
    border: 1px solid #E0DEDA;
    border-radius: 20px;
    cursor: pointer;
  }

  .btn-close:hover,
  .btn-option:hover {
    background-color: #FFF3C6;
    color: #231E20;
    box-shadow: none;
  }

  .form-search .input-group {
    border-radius: 0px;
  }

  .input-group .search-field {
    border-radius: 10px !important;
  }

  .btn-option.active {
    background: #FFF3C6;
    color: #231E20;
    border: none;
  }

  .form-search {
    margin-bottom: 20px;
  }

  .search-field {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
  }

  .input-group .bi-search {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(-5px, -50%);
    cursor: pointer;
  }

  .input-group .bi-search::before {
    font-size: 20px;
    font-weight: 700;
  }

  .btn-recherche {
    width: 100%;
    padding: 10px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  .privacy-note {
    color: #4C4046;
    font-weight: 500;
    font-style: italic;
  }

  .privacy-link {
    font-style: normal;
    color: #231E20;
  }

  .hidden {
    display: none;
  }

  .img-residence {
    max-width: 150px;
  }

  .calendar-item .accordion-button,
  .calendar-item .accordion-button:hover,
  .calendar-item .accordion-button:focus,
  .calendar-item .accordion-button:active {
    padding: 2rem;
  }

  .calendar-item .accordion-body {
    padding: 0 2rem 2rem 2rem !important;
  }

  .img-plants {
    left: 80px;
    bottom: -18px;
    max-width: 300px;
  }

  .error404 {
    background-position: center 200px;
    background-size: 100%;
  }

  /* footer */
  footer .footer-bottom-content {
    align-items: center;
  }

  footer .policy-link ul {
    display: flex;
    flex-direction: initial;
    align-items: center;
  }

  footer .policy-link ul li {
    margin-bottom: 0;
  }

  footer .policy-link ul li:not(:last-child) {
    margin-right: 1.5rem;
  }

  /*search form */
  .page-template-brossard-artwork .has-bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
  }
}

@media (min-width: 782px) {

  .admin-bar .search-menu {
    top: 136px;
  }

  .admin-bar .nav-top-fixed {
    top: 32px;
  }

  .admin-bar .nav-fixed {
    top: 72px;
  }

  .admin-bar .menu-desktop .submenu {
    height: calc(100vh - 162px);
  }

  .admin-bar .menu-phone {
    top: 136px;
    height: calc(100vh - 136px);
  }

  .admin-bar .menu-phone .menu-phone {
    height: calc(100vh - 136px);
  }

  .admin-bar .menu-phone .main-menu {
    height: calc(100vh - 245px);
  }

  .admin-bar .menu-phone .submenu {
    top: 72px;
    height: calc(100vh - 72px);
  }

  .admin-bar .menu-phone .submenu-quick {
    top: 32px;
    height: calc(100vh - 32px);
  }
}

@media (min-width: 992px) {

  .img-default {
    height: 165px;
  }

  .img-large {
    height: 250px;
  }

  .img-vertical {
    height: 450px;
  }

  .members-post-item-img img {
    max-height: 400px;
  }

  .search-results .default-post-item .item-link {
    max-width: 550px;
  }

  .section-heading.heading-default .heading-img img {
    max-height: 165px;
  }

  /* hero banner */
  .block-hero-banner h1 {
    font-size: 5rem;
  }

  .menu-fixed {
    height: 130px;
  }

  .admin-bar .nav-fixed {
    top: 72px;
  }

  .admin-bar .search-menu {
    top: 162px;
  }

  .search-menu {
    top: 130px;
  }

  .top-header ul>li:not(:last-child) {
    margin-right: 1rem;
    padding-right: 1rem;
    border-right: 1px solid #4c4046;
  }

  .section-heading.heading-default .heading-content {
    min-height: 176px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .section-heading.heading-default .heading-img {
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .section-heading.heading-default .heading-img img {
    transform: translateY(3rem);
  }

  /* Call for portfolios */

  .calls_portfolios-container .item-title {
    min-width: 450px;
    max-width: 450px;
  }

  /* block access */

  .block-access .list-access-link {
    grid-template-columns: repeat(5, 1fr);
  }

  .error404 {
    background-position: bottom center;
    background-size: 1100px;
    min-height: 720px;
  }

  .error404 .page-title {
    font-size: 3.5rem;
    line-height: 4rem;
  }

  .error404 .page-subtitle {
    font-size: 1.5rem;
  }

  /* single organism */
  .organism-infos>div:not(:last-child) {
    padding-right: 1.5rem;
    margin-right: 1.5rem;
    margin-bottom: 0;
    border-right: 1px solid #e0deda;
  }

  .inner-organism .organism-person>div:not(:last-child) {
    padding-right: 1rem;
    margin-right: 1rem;
    margin-bottom: 0;
    border-right: 1px solid #e0deda;
  }
}

@media (min-width: 1200px) {

  .img-default {
    height: 200px;
  }

  .img-large {
    height: 290px;
  }

  .img-vertical {
    height: 550px;
  }

  .section-heading.heading-default .heading-img img {
    max-height: 200px;
  }

  footer .footer-bottom-content {
    flex-direction: initial;
    justify-content: space-between;
  }
}

@media (min-width: 1400px) {

  .img-default {
    height: 256px;
  }

  .img-vertical {
    height: 600px;
  }

  .section-heading.heading-default .heading-img img {
    max-height: 230px;
  }

}

@media (max-width: 991.98px) {
  .img-contact-butterfly {
    right: 0px;
    transform: translate(-50px, 0px);
    max-width: 100px;
  }

  .img-newsletter-leaf {
    max-width: 150px;
  }

  .img-newsletter-butterfly {
    display: none;
  }

  #brossard_interactive_map.mobile-show {
    position: fixed;
    height: 100vh !important;
  }

  .activity-pane.mobile-hide {
    display: none;
  }

  /* memvers cards */
  .members-cards-img img {
    width: 100%;
    border-radius: 0.5rem 0.5rem 0 0;
  }

  .members-cards-content {
    padding: 2rem;
  }
}

@media (max-width: 767.98px) {

  .userfeedback-question.userfeedback-question-long-text {
    padding-top: 10px;
  }

  form .userfeedback-widget__body {
    position: static;
    padding: 10px;
  }

  .img-contact-butterfly {
    position: absolute;
    top: 50px;
    right: 20px;
    transform: translate(-50px, -20px);
    max-width: 50px;
  }

  h1.regulation-heading {
    font-size: 1.2rem !important;
  }

  /* Search section */
  #locations-search {
    border-radius: 50px;
  }

  .filter-select {
    width: 100%;
    border: 1px solid #EDEDED;
    border-radius: 50px;
    padding: 12px 16px 12px 16px;
  }

  .form-control {
    border-radius: 50px;
  }

  .filter-select .form-select {
    border: none;
  }

  /* memvers cards */
  .members-cards-content {
    padding: 1.5rem 1.5rem 2rem 1.5rem;
  }

  .members-cards-link a:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}

@keyframes bounceOut {
  0% {
    transform: scale(0.9);
    height: 0;
  }

  50% {
    transform: scale(1.001);
    height: 50%;
  }

  100% {
    transform: scale(1);
    height: 100%;
  }
}

@keyframes fadeInBounce {
  0% {

    transform: scale(0);
  }

  50% {
    opacity: 1;
    transform: translateY(0) scale(1.1);
  }

  75% {
    transform: scale(0.7);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes identifier {}

.drop {
  animation: fadeInBounce .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (max-width: 567.98px) {

  /* Modal bciti */
  .modal-body > div button,
  .modal-body > div a {
    width: 250px;
  }
}

/* Gravity Forms Styles */
/* Espacement pour les radio boutons - ajout d'espace entre le bouton radio et le texte */
/* Surcharge du CSS Gravity Forms qui définit padding-x: 0 */
/* Correction de la couleur des radio boutons (orange/jaune au lieu de bleu) */
/* Définir la variable CSS au niveau du conteneur pour qu'elle soit héritée */
.gform-theme--framework,
.gform_wrapper,
.gfield_radio {
  --gf-ctrl-accent-color: #ffc02b !important;
}

.gform-theme--framework input[type="radio"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme--framework .gform-field-label--type-inline input[type="radio"],
.gform-field-label--type-inline input.gfield-choice-input[type="radio"],
label.gform-field-label.gform-field-label--type-inline input.gfield-choice-input[type="radio"],
.gfield_radio label.gform-field-label--type-inline input.gfield-choice-input[type="radio"],
.gform-theme--framework input[type="checkbox"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  margin-right: 0.75rem !important;
  accent-color: #ffc02b !important;
  --gf-ctrl-accent-color: #ffc02b !important;
}

/* Solution avec pseudo-éléments pour personnaliser les radio boutons */
/* Masquer le style par défaut et créer des boutons personnalisés */
.gform-theme--framework input[type="radio"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-field-label--type-inline input.gfield-choice-input[type="radio"],
label.gform-field-label.gform-field-label--type-inline input.gfield-choice-input[type="radio"],
.gfield_radio label.gform-field-label--type-inline input.gfield-choice-input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #e0deda !important;
  border-radius: 50% !important;
  background-color: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

/* Point intérieur lorsque sélectionné */
.gform-theme--framework input[type="radio"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked,
.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked,
label.gform-field-label.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked,
.gfield_radio label.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked {
  border-color: #ffc02b !important;
  background-color: #fff !important;
}

.gform-theme--framework input[type="radio"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::after,
.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked::after,
label.gform-field-label.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked::after,
.gfield_radio label.gform-field-label--type-inline input.gfield-choice-input[type="radio"]:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background-color: #ffc02b !important;
}

/* Espacement entre les choix radio */
.gfield_radio .gchoice {
  margin-bottom: 0.5rem;
}

.gfield_radio .gchoice:not(:last-child) {
  margin-bottom: 0.75rem;
}

/* Correction de la couleur du bouton de soumission Gravity Forms */
.gform_wrapper button[type="submit"],
.gform_wrapper input[type="submit"],
.gform_wrapper .gform_button,
.gform_wrapper .gform_footer .button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"],
form .gform_wrapper button[type="submit"],
form .gform_wrapper input[type="submit"],
form .gform_wrapper .gform_button {
  background-color: #ffc02b !important;
  border: 1px solid transparent !important;
  color: #231e20 !important;
}

.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus,
.gform_wrapper button[type="submit"]:active,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper input[type="submit"]:active,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_button:active,
.gform_wrapper .gform_footer .button:hover,
.gform_wrapper .gform_footer .button:focus,
.gform_wrapper .gform_footer .button:active,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus,
.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_footer button[type="submit"]:hover,
.gform_wrapper .gform_footer button[type="submit"]:focus,
.gform_wrapper .gform_footer button[type="submit"]:active,
form .gform_wrapper button[type="submit"]:hover,
form .gform_wrapper button[type="submit"]:focus,
form .gform_wrapper button[type="submit"]:active,
form .gform_wrapper input[type="submit"]:hover,
form .gform_wrapper input[type="submit"]:focus,
form .gform_wrapper input[type="submit"]:active,
form .gform_wrapper .gform_button:hover,
form .gform_wrapper .gform_button:focus,
form .gform_wrapper .gform_button:active {
  background-color: #ffc02b !important;
  border: 1px solid transparent !important;
  color: #231e20 !important;
  outline: none;
}

/* Élimination de tout le bleu dans Gravity Forms */
/* Placeholders - remplacer le bleu par gris */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper input::-webkit-input-placeholder,
.gform_wrapper textarea::-webkit-input-placeholder,
.gform_wrapper input::-moz-placeholder,
.gform_wrapper textarea::-moz-placeholder,
.gform_wrapper input:-ms-input-placeholder,
.gform_wrapper textarea:-ms-input-placeholder,
.gform-theme--framework input::placeholder,
.gform-theme--framework textarea::placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}

/* États focus/active des inputs - remplacer le bleu par orange */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus,
.gform-theme--framework input:focus,
.gform-theme--framework textarea:focus,
.gform-theme--framework select:focus,
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield textarea:focus,
.gform_wrapper .gfield select:focus {
  border-color: #ffc02b !important;
  outline-color: #ffc02b !important;
  box-shadow: 0 0 0 0.25rem rgba(255, 192, 43, 0.25) !important;
  color: #231e20 !important;
}

.gform_wrapper input:active,
.gform_wrapper textarea:active,
.gform_wrapper select:active,
.gform-theme--framework input:active,
.gform-theme--framework textarea:active,
.gform-theme--framework select:active {
  border-color: #ffc02b !important;
  outline-color: #ffc02b !important;
  color: #231e20 !important;
}

/* Supprimer toutes les box-shadows bleues */
.gform_wrapper *:focus,
.gform-theme--framework *:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 192, 43, 0.25) !important;
}

/* Supprimer les bordures bleues */
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.gform-theme--framework input,
.gform-theme--framework textarea,
.gform-theme--framework select {
  border-color: #e0deda !important;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus,
.gform-theme--framework input:focus,
.gform-theme--framework textarea:focus,
.gform-theme--framework select:focus {
  border-color: #ffc02b !important;
}

/* Supprimer les couleurs de texte bleues */
.gform_wrapper * {
  color: inherit !important;
}

.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select {
  color: #231e20 !important;
}

/* Supprimer les liens bleus dans les messages d'erreur/validation */
.gform_wrapper .validation_message a,
.gform_wrapper .gfield_description a,
.gform_wrapper .gform_confirmation_message a {
  color: #231e20 !important;
  text-decoration: underline !important;
}

.gform_wrapper .validation_message a:hover,
.gform_wrapper .gfield_description a:hover,
.gform_wrapper .gform_confirmation_message a:hover {
  color: #ffc02b !important;
}