@charset "UTF-8";
:root {
  --wp--preset--font-family--inter: 'Inter', Arial, Helvetica, sans-serif;
}
a,
a:visited {
  color: #FFDD00;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a:hover,
a:active,
a:focus {
  color: #fff;
  text-decoration: underline;
}
.site-main {
  padding: clamp(30px, 5vw, 50px);
}
.site-main img {
  max-width: 100%;
}
body.page-template-page-carte-evenements {
  overflow-x: hidden;
}
/*MENU*/
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
  color: #FFDD00;
  text-decoration: none;
}
.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
  border-bottom: 1px solid #FFDD00;
}
.wp-block-breadcrumbs ol li > a {
  color: #fff;
  text-decoration: none;
}
.wp-block-buttons {
  padding-left: 0;
  padding-right: 0;
}
.wp-block-button .wp-block-button__link {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-weight: 300;
  border-radius: 0;
  display: flex;
  align-items: center;
  text-align: left;
}
.wp-block-button .wp-block-button__link img {
  height: 20px;
  margin-left: 20px;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-buttons .wp-block-button .wp-block-button__link.has-background:hover,
.wp-block-buttons .wp-block-button .wp-block-button__link.has-background:focus,
.wp-block-buttons .wp-block-button .wp-block-button__link.has-border-color:hover,
.wp-block-buttons .wp-block-button .wp-block-button__link.has-border-color:focus {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
}
.wp-block-paragraph strong {
  font-weight: 700;
}
.wp-block-paragraph sup {
  font-size: 70%;
}
/* Fiche événement */
.event-sidebar .tribe-delimiter,
.event-sidebar .tribe-region,
.event-sidebar .tribe-country-name,
.tribe-address br,
.tribe-venue-infos .tribe-delimiter,
.tribe-venue-infos .tribe-region,
.event-intro .tribe-events-series-relationship-single-marker,
.tribe-events-pro-summary .tribe-events-calendar-list__event-date-tag,
.tribe-country-name,
.archive .tribe-events .tribe-events-c-subscribe-dropdown__container,
.single-tribe_event_series .tribe-events .tribe-events-c-subscribe-dropdown__container,
.tribe-events-calendar-list__event-header .tribe-events-calendar-series-archive__container {
  display: none;
}
#tribe-events-pg-template {
  max-width: 100%;
  padding-top: 0;
  padding-right: clamp(30px, 7vw, 70px);
  padding-bottom: 20px;
  padding-left: clamp(30px, 7vw, 70px);
}
.event-intro,
.event-main,
.event-buttons {
  display: flex;
}
.tribe-events-event-meta {
  flex-direction: column;
}
.event-intro {
  position: relative;
  align-items: center;
}
.single-tribe_events .tec-block__single-event {
  margin-top: 0;
}
.single-tribe_events #tribe-events-pg-template {
  padding-top: 0;
}
.event-intro {
  width: 100%;
  margin: 10px auto 20px auto;
}
.event-intro,
li.imago-event-card .tribe-event-grid-top {
  background-size: cover;
  background-position: center center;
}
.event-intro-details {
  position: relative;
}
.tribe-events-single-event-description,
.tribe-events-single-event-description iframe {
  max-width: 100%;
}
.tribe-events-content ol,
.tribe-events-content ul {
  padding-left: 25px;
  list-style: circle;
}
.tribe-events-content blockquote {
  margin: 0;
  font-size: 2rem;
}
.single-tribe_events .taxonomy-tribe_events_cat,
.tribe-events-event-categories,
.event-intro .tribe-events-schedule {
  text-transform: uppercase ;
}
.archive .tribe-common .tribe-common-h2,
.archive .tribe-common .tribe-common-h3,
.archive .tribe-common .tribe-common-h4,
.archive .tribe-common .tribe-common-h5,
.archive .tribe-common .tribe-common-h6,
.archive .tribe-common .tribe-common-h7,
.archive .tribe-common .tribe-common-h8,
.archive .tribe-common .tribe-common-b1,
.archive .tribe-common .tribe-common-b2,
.archive .tribe-common .tribe-common-b3,
.archive .tribe-common .tribe-common-cta--thin-alt:active,
.archive .tribe-common .tribe-common-cta--thin-alt:focus,
.archive .tribe-common .tribe-common-cta--thin-alt:hover,
.tribe-events .tribe-filter-bar-c-pill__pill,
.wp-singular .tribe-common .tribe-common-b2,
.wp-singular .tribe-common .tribe-common-b3,
.wp-singular .tribe-common .tribe-common-h5,
.wp-singular .tribe-common .tribe-common-h6,
.wp-singular .tribe-common .tribe-common-h7,
.wp-singular .tribe-common .tribe-common-h8,
.tribe-common a,
.tribe-common a:active,
.tribe-common a:focus,
.tribe-common a:hover,
.tribe-common a:visited {
  color: #fff;
}
.event-intro .tribe-events-schedule,
.archive .tribe-common a,
.archive .tribe-common a:active,
.archive .tribe-common a:focus,
.archive .tribe-common a:hover,
.archive .tribe-common a:visited,
.archive .tribe-events-schedule .tribe-events-schedule__datetime,
.tribe-events-event-categories,
.tribe-events .tribe-filter-bar-c-pill__pill:hover,
.wp-singular .tribe-common .tribe-common-cta--thin-alt:active,
.wp-singular .tribe-common .tribe-common-cta--thin-alt:focus,
.tribe-common .tribe-common-cta--thin-alt:hover,
.archive .tribe-common .tribe-common-h3:hover,
.archive .tribe-common li.imago-event-card a:hover {
  color: #FFDD00;
}
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a {
  color: #000;
}
.tribe-events-event-categories {
  font-size: 1rem;
  margin-bottom: 10px;
}
.event-organisation {
  font-size: 1.2rem;
  font-weight: 400;
}
.tribe-event-tags.tribe-events-meta-value > a {
  color: #fff;
  background-color: #333;
  font-size: 1rem;
  padding: 5px 10px;
  margin-right: 15px;
}
.tribe-event-tags.tribe-events-meta-value > a:hover,
.tribe-event-tags.tribe-events-meta-value > a:focus {
  color: #000;
  background-color: #FFDD00;
}
.event-buttons {
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 25px 0;
}
.event-buttons .single-tribe_events .tribe-events-c-subscribe-dropdown,
.event-buttons .tribe-events .tribe-events-c-subscribe-dropdown {
  margin: 0;
}
.single-tribe_events .tribe-common .tribe-common-c-btn-border,
.single-tribe_events .tribe-common a.tribe-common-c-btn-border,
.btn-reserver {
  font-family: 'Inter', 'Arial', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 2px;
  padding: 9px 20px;
}
.btn-reserver {
  color: #000;
  text-transform: uppercase;
  background-color: #FFDD00;
  background-image: url(../img/ticket.svg);
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: 15px center;
  border: 1px solid #F2C400;
  padding: 10px 20px 10px 50px;
}
.single-tribe_events .tribe-common .tribe-common-c-btn-border,
.single-tribe_events .tribe-common a.tribe-common-c-btn-border {
  color: #fff;
  background-color: #000;
  border: 1px solid #fff;
}
.archive .tribe-common .tribe-common-c-btn-border-small,
.archive .tribe-common a.tribe-common-c-btn-border-small,
.archive .tribe-common .tribe-common-c-btn-border,
.archive .tribe-common a.tribe-common-c-btn-border {
  color: #FFDD00;
  background-color: #000;
  border: 1px solid #FFDD00;
}
.btn-reserver:hover,
.btn-reserver:focus,
.single-tribe_events .tribe-common .tribe-common-c-btn-border:hover,
.single-tribe_events .tribe-common a.tribe-common-c-btn-border:hover,
.single-tribe_events .tribe-common button:hover,
.single-tribe_events.wp-child-theme-twenty-imago .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.single-tribe_events.wp-child-theme-twenty-imago .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.single-tribe_events.wp-child-theme-twenty-imago .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.single-tribe_events.wp-child-theme-twenty-imago .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover,
.wp-child-theme-twenty-imago .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.wp-child-theme-twenty-imago .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.wp-child-theme-twenty-imago .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.wp-child-theme-twenty-imago .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
  color: #000;
  background-color: #fff;
  border-color: #fff;
}
.archive .tribe-events .tribe-common-c-btn-icon--caret-left.tribe-events-c-top-bar__nav-link--prev .tribe-common-c-btn-icon__icon-svg path,
.archive .tribe-events .tribe-common-c-btn-icon--caret-right.tribe-events-c-top-bar__nav-link--next .tribe-common-c-btn-icon__icon-svg path {
  fill: #555;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a {
  font-family: 'Inter', 'Arial', sans-serif;
  font-weight: 400;
}
.tribe-events-content h2 {
  border-bottom: 1px solid #555;
  padding-bottom: 20px;
}
.tribe-events-content h2:not(:first-of-type) {
  margin-top: 50px;
}
.event-details,
.event-contact {
  border: 1px solid #555;
  padding: 0 30px 30px 30px;
}
.event-contact {
  margin-top: 20px;
}
.event-sidebar .tribe-events-meta-group {
  width: 100%;
  padding: 0;
}
.event-sidebar .tribe-events-start-time,
.event-sidebar .event-public {
  display: flex;
}
.event-sidebar .current-event-date,
.event-sidebar .tribe-events-start-time,
.event-sidebar .event-public,
.event-sidebar .tribe-events-meta-group-venue,
.event-sidebar .tribe-events-event-cost {
  background-position: top left;
  padding-left: 45px;
  margin-top: 15px;
  min-height: 30px;
}
.event-sidebar .current-event-date {
  background: url(../img/jour.svg) no-repeat;
  background-size: 25px 25px;
}
.event-sidebar .tribe-events-start-time {
  background: url(../img/horaire.svg) no-repeat;
  background-size: 25px 25px;
}
.event-sidebar .event-public {
  background: url(../img/public.svg) no-repeat;
  background-size: 25px 25px;
}
.event-sidebar .tribe-events-meta-group-venue {
  background: url(../img/lieu.svg) no-repeat;
  background-size: 25px 25px;
  box-sizing: border-box;
}
.event-sidebar .tribe-events-event-cost {
  display: block;
  background: url(../img/tarif.svg) no-repeat;
  background-size: 25px 25px;
  margin-top: 20px;
}
.event-sidebar .tribe-events-meta-item .current-event-date time::first-letter,
.event-sidebar .tribe-events-start-date::first-letter {
  text-transform: uppercase!important;
}
a.event-other-dates-link {
  display: block;
}
address.tribe-events-address {
  font-style: normal;
}
.event-sidebar .tribe-events-meta-group-venue .tribe-venue > a {
  color: #fff;
  font-weight: 500;
}
.event-sidebar .tribe-events-meta-group-venue .tribe-venue > a:hover,
.event-sidebar .tribe-events-meta-group-venue .tribe-venue > a:focus {
  color: #FFDD00;
}
.tribe-address {
  display: flex;
  flex-wrap: wrap;
}
.event-sidebar .tribe-venue-location {
  margin-bottom: 10px;
}
address.tribe-events-address .tribe-street-address {
  order: 1;
  flex-basis: 100%;
}
address.tribe-events-address .tribe-postal-code {
  order: 2;
  margin-right: 5px;
}
address.tribe-events-address .tribe-locality {
  order: 3;
}
.tribe-events-gmap {
  display: block;
  margin-top: 10px;
}
.event-access {
  margin-top: 20px;
  border-top: 1px solid #555;
}
.event-access .infos-supp {
  display: block;
  margin-top: 15px;
}
.tribe-tag-icon {
  width: 25px;
  height: 25px;
  margin-right: 10px;
}
.event-access .tribe-events-event-tags {
  display: flex;
  gap: 30px;
}
.event-access .tribe-events-event-tags > a {
  display: flex;
  align-items: center;
  width: 49%;
  color: #fff;
  font-size: 1rem;
  margin-right: 10px;
}
.event-contact p {
  margin-top: 5px;
  margin-bottom: 5px;
}
.event-share {
  margin-top: 20px;
  border: 1px solid #FFDD00;
  text-align: center;
}
.event-share h3 {
  font-size: 1rem;
  color: #FFDD00;
  font-weight: 400;
}
.event-share ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style: none;
  padding-left: 0;
  gap: 30px;
}
.event-share .share-icon {
  width: 25px;
  height: 25px;
  transform: scale(1);
}
.event-share .share-icon:hover {
  transform: scale(1.2);
}
.archive .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
  padding-top: 0;
  padding-bottom: 50px;
}
#tribe-grid-events,
.tribe-events-pro-map__event-cards {
  display: flex;
}
.tribe-venue-upcoming-events #tribe-grid-events,
.tribe-events-pro-map__event-cards {
  flex-wrap: wrap;
}
.archive .tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-column {
  height: auto;
}
.archive .tribe-events-pro .tribe-events-pro-map__event-cards {
  position: relative;
}
.tribe-events-view--photo.tribe-common .tribe-common-g-row--gutters,
.tribe-events-single ul.tribe-related-events,
.single-tribe_venue ul.tribe-related-events,
.archive .tribe-events-pro .tribe-events-pro-map__event-cards {
  column-gap: 2.6%;
  row-gap: 35px;
  justify-content: flex-start;
}
.tribe-events-single ul.tribe-related-events li {
  margin: 0;
}
.archive .tribe-events-pro .tribe-events-pro-map__event-cards {
  height: auto;
  margin-top: 30px;
}
li.imago-event-card,
.tribe-common li.imago-event-card,
.tribe-events-single ul.tribe-related-events li.imago-event-card {
  background-color: #000;
  border: 1px solid #555;
  box-sizing: border-box;
}
li.imago-event-card .tribe-event-grid-top {
  position: relative;
  height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px 0 0 15px;
}
li.imago-event-card .overlay,
.event-intro .overlay {
  height: 100%;
  position: absolute;
  z-index: 0;
}
li.imago-event-card .overlay {
  margin-left: -15px;
  margin-top: -15px;
}
.tribe-event-date-badge {
  position: relative;
  display: flex;
  flex-direction: column;
  /* Force l'alignement vertical sur 3 lignes */
}
.imago-card-badge {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  text-transform: uppercase;
}
.badge-date-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.badge-label {
  font-size: 0.8rem;
  color: #aaa;
  line-height: 1;
  margin-bottom: 4px;
}
.badge-day {
  font-size: 28px;
  font-weight: 800;
  line-height: 0.9;
}
.badge-day-name,
.badge-month {
  font-size: 0.8rem;
}
.badge-separator {
  display: flex;
  align-items: center;
  opacity: 0.7;
}
li.imago-event-card .overlay {
  width: 80%;
  background: linear-gradient(to right, #000000, transparent);
}
li.imago-event-card .tribe-grid-event-info {
  flex-direction: column;
  box-sizing: border-box;
  padding: 10px 15px;
}
li.imago-event-card .tribe-event-categories,
ul.tribe-events-calendar-list .tribe-event-categories {
  position: relative;
}
li.imago-event-card .tribe-event-categories a,
li.imago-event-card .tribe-event-categories a:visited,
ul.tribe-events-calendar-list .tribe-event-categories a,
ul.tribe-events-calendar-list .tribe-event-categories a:visited,
ul.tribe-events-pro-summary__event-wrapper .tribe-event-categories a,
ul.tribe-events-pro-summary__event-wrapper .tribe-event-categories a:visited {
  font-size: 0.8rem;
  color: #000;
  font-weight: 400;
  text-transform: uppercase;
  background: #FFDD00;
  margin-right: 5px;
  padding: 5px 8px;
}
li.imago-event-card h3 {
  margin: 5px 0;
}
li.imago-event-card h3 > a,
.archive .tribe-common li.imago-event-card h3 > a,
.archive .tribe-common a:visited,
.archive .tribe-events-c-nav__list a,
.archive .tribe-events-c-nav__list a:visited {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
}
.archive .tribe-common li.imago-event-card .tribe-event-categories a:hover,
.archive .tribe-common li.imago-event-card .tribe-event-categories a:focus,
ul.tribe-events-calendar-list .tribe-event-categories a:hover,
ul.tribe-events-calendar-list .tribe-event-categories a:focus,
ul.tribe-events-pro-summary__event-wrapper .tribe-event-categories a:hover,
ul.tribe-events-pro-summary__event-wrapper .tribe-event-categories a:focus {
  color: #000;
  background: #fff;
}
li.imago-event-card .tribe-event-venue {
  color: #ddd;
  margin-bottom: 10px;
}
li.imago-event-card .venue-event-time {
  display: block;
  color: #FFDD00;
  margin-bottom: 10px;
}
li.imago-event-card a.read-more {
  display: inline-block;
  font-size: 1rem;
  color: #fff;
  border: 1px solid #ddd;
  margin: 10px 0;
  padding: 10px 20px;
}
li.imago-event-card a.read-more:hover,
li.imago-event-card a.read-more:focus,
.archive .tribe-common li.imago-event-card a.read-more:hover,
.archive .tribe-common li.imago-event-card a.read-more:focus,
ul.tribe-events-calendar-list a.read-more:hover,
ul.tribe-events-calendar-list a.read-more:focus,
ul.tribe-events-pro-summary__event-wrapper a.read-more:hover,
ul.tribe-events-pro-summary__event-wrapper a.read-more:focus {
  color: #000;
  background-color: #FFDD00;
  border-color: #FFDD00;
}
/* Archive Événement */
.archive .tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__map,
.archive .tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-column,
.archive .tribe-common .tribe-common-l-container {
  max-width: 100%;
  width: 100%;
}
.archive .tribe-events-c-nav {
  margin-top: 35px;
}
.tribe-events .tribe-events-c-nav__next:disabled,
.tribe-events button.tribe-events-c-nav__next:disabled,
.tribe-events .tribe-events-c-nav__prev:disabled,
.tribe-events button.tribe-events-c-nav__prev:disabled {
  color: #555;
}
/* Fiche Lieu */
.wp-singular .tribe-events-venue .tribe-events-venue-meta {
  padding: 0 15px 15px 0;
}
/* Vue Liste */
ul.tribe-events-calendar-list .tribe-events-calendar-list__month-separator time,
ul.tribe-events-calendar-list .tribe-event-date-start,
ul.tribe-events-pro-summary .tribe-events-pro-summary__month-separator time {
  text-transform: uppercase;
}
.tribe-common--breakpoint-medium.tribe-events ul.tribe-events-pro-summary li.tribe-events-calendar-list__event-row {
  margin-top: 15px;
  margin-bottom: 30px;
}
ul.tribe-events-calendar-list .tribe-events-calendar-list__event-date-tag-weekday,
ul.tribe-events-pro-summary .tribe-events-pro-summary__event-date-tag-weekday {
  color: #ddd;
  font-size: 1rem;
}
.tribe-common--breakpoint-medium.tribe-common ul.tribe-events-calendar-list .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h4--min-medium,
ul.tribe-events-pro-summary .tribe-events-pro-summary__event-date-tag-daynum.tribe-common-h4--min-medium {
  font-size: 2rem;
}
ul.tribe-events-calendar-list a.tribe-events-calendar-list__event-title-link,
ul.tribe-events-pro-summary__event-wrapper a.tribe-events-calendar-list__event-title-link {
  font-size: 2rem;
  color: #fff;
}
.tribe-events ul.tribe-events-calendar-list .tribe-events-calendar-list__event-header .tribe-events-calendar-list__event-datetime-wrapper,
ul.tribe-events-pro-summary__event-wrapper .tribe-events-calendar-list__event-header .tribe-events-calendar-list__event-datetime-wrapper {
  order: 3;
}
.tribe-events ul.tribe-events-calendar-list .tribe-events-calendar-list__event-header .tribe-events-calendar-list__event-datetime-wrapper,
ul.tribe-events-calendar-list .tribe-events-calendar-list__event-venue,
.tribe_event_series-template ul.tribe-events-calendar-list,
ul.tribe-events-pro-summary__event-wrapper .tribe-events-calendar-list__event-header .tribe-events-calendar-list__event-datetime-wrapper,
ul.tribe-events-pro-summary__event-wrapper .tribe-events-calendar-list__event-venue,
ul.tribe-events-pro-summary__event-wrapper,
.wp-singular .tribe-events-venue .venue-address {
  display: flex;
  flex-direction: column;
}
ul.tribe-events-pro-summary__event-wrapper .tribe-events-calendar-list__event-datetime {
  font-size: 1.2rem;
}
ul.tribe-events-calendar-list .tribe-events-event-tags,
.tribe_event_series-template ul.tribe-events-calendar-list .tribe-events-event-tags,
ul.tribe-events-pro-summary__event-wrapper .tribe-events-event-tags {
  order: 5;
  display: flex;
  margin: 15px 0;
  gap: 10px;
}
ul.tribe-events-calendar-list a.read-more,
ul.tribe-events-pro-summary__event-wrapper a.read-more {
  order: 6;
  align-self: baseline;
  color: #fff;
  border: 1px solid #ddd;
  padding: 5px 20px;
}
ul.tribe-events-calendar-list .tribe-events-calendar-list__event-featured-image-wrapper img,
ul.tribe-events-pro-summary__event-wrapper .tribe-events-calendar-list__event-featured-image-wrapper img {
  height: 300px;
  min-width: 100%;
  width: auto;
  object-fit: cover;
}
.archive .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-cost {
  order: 5;
  margin: 0 0 15px 0;
}
.archive .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-cost .tribe-events-c-small-cta__price {
  font-size: 1rem;
}
/* Filtres */
.archive .tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar,
.archive .tribe-events .tribe-events-c-events-bar__search-container,
.archive .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
.wp-singular .tribe-events .tribe-events-c-events-bar .tribe-common-form-control-text__input,
.wp-singular .tribe-events .tribe-events-c-events-bar__search-container,
.wp-singular .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
.archive .tribe-filter-bar.tribe-filter-bar--horizontal,
.tribe-filter-bar.tribe-filter-bar--vertical,
.wp-singular .tribe-filter-bar.tribe-filter-bar--horizontal,
.tribe-filter-bar.tribe-filter-bar--vertical,
.tribe-common--breakpoint-medium .tribe-filter-bar .tribe-filter-bar-c-filter--pill.tribe-filter-bar-c-filter--checkbox .tribe-filter-bar-c-filter__filter-fields,
.tribe-common--breakpoint-medium .tribe-filter-bar .tribe-filter-bar-c-filter--pill.tribe-filter-bar-c-filter--radio .tribe-filter-bar-c-filter__filter-fields,
.tribe-filter-bar .tribe-filter-bar-c-filter--checkbox .tribe-filter-bar-c-filter__container,
.tribe-filter-bar .tribe-filter-bar-c-filter--radio .tribe-filter-bar-c-filter__container,
.archive .tribe-common--breakpoint-medium .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__container {
  background-color: #000;
}
.archive .tribe-filter-bar__filters-slider-wrapper button {
  border: 1px solid #555;
  padding: 8px 15px;
  border-radius: 4px;
}
.archive .tribe-common .tribe-filter-bar__filters-slider-wrapper.tribe-common-cta,
.archive .tribe-common--breakpoint-medium.tribe-common .tribe-filter-bar__filters-slider-wrapper .tribe-common-b3--min-medium,
.tribe-events .tribe-events-c-messages__message {
  font-size: 1rem;
}
.wp-singular .tribe-events button.tribe-events-c-top-bar__datepicker-button:focus,
.tribe-events button.tribe-events-c-top-bar__datepicker-button,
.tribe-filter-bar .tribe-filter-bar-c-checkbox .tribe-common-form-control-checkbox__label,
.tribe-filter-bar .tribe-filter-bar-c-radio .tribe-common-form-control-radio__label {
  color: #fff;
}
.wp-singular .tribe-events button.tribe-events-c-top-bar__datepicker-button:focus,
.tribe-events button.tribe-events-c-top-bar__datepicker-button:hover {
  color: #FFDD00;
}
.select2-container--default .select2-results__option {
  color: #000;
}
.select2-container--default .select2-results__option--highlighted[data-selected],
.archive .tribe-events .tribe-events-c-search__button,
.archive .tribe-events button.tribe-events-c-search__button {
  color: #000;
  background-color: #FFDD00;
}
.archive .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after {
  background-color: #FFDD00;
}
.tribe-common--breakpoint-medium .tribe-filter-bar .tribe-filter-bar-c-clear-button {
  padding: 8px 15px;
}
.tribe-filter-bar .tribe-filter-bar-c-pill--button.tribe-filter-bar-c-pill--has-selections .tribe-filter-bar-c-pill__pill {
  padding: 8px var(--tec-spacer-7) 8px var(--tec-spacer-2);
}
.carte-evenements h1 {
  margin-top: 0;
}
.carte-evenements__map,
.tribe-events-venue-map__mapbox {
  margin: 24px 0;
  max-width: 100%;
  box-sizing: border-box;
}
.tribe-events-venue-map__mapbox {
  height: 400px;
}
.carte-evenements__map .mapboxgl-popup-content,
.mapboxgl-popup,
.tribe-common div.mapboxgl-popup,
.tribe-common div.mapboxgl-popup-content a,
.tribe-common div.mapboxgl-popup-content a:visited {
  font-family: 'Inter', 'Arial', sans-serif;
  color: #000;
  font-size: 0.85rem;
}
.carte-evenements__map .mapboxgl-popup-content,
.mapboxgl-popup,
.tribe-common div.mapboxgl-popup-content {
  padding: 15px 10px;
}
.carte-evenements__map .mapboxgl-popup-content strong,
.tribe-common div.mapboxgl-popup strong {
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  margin-bottom: -20px;
}
.carte-evenements__map .mapboxgl-popup-content strong::after {
  content: 'Prochain événement';
  font-size: 0.8rem;
  padding-top: 10px;
}
.carte-evenements__map .mapboxgl-popup-content br {
  line-height: 1;
}
.carte-evenements__hero,
.programmation-hero {
  position: relative;
}
.compteur {
  display: flex;
  justify-content: flex-end;
}
.carte-evenements__counter {
  display: flex;
  flex-direction: column;
  border-left: 1px solid #ddd;
  padding-left: 30px;
}
.carte-evenements__counter .label {
  font-size: 0.8rem;
  text-transform: uppercase;
}
.carte-evenements__counter .number {
  color: #FFDD00;
  font-size: 5rem;
  line-height: 1;
}
.carte-evenements__list,
#tribe-grid-events {
  list-style: none;
  margin: 0;
  padding: 0;
}
.venue-card {
  display: flex;
  border-top: 1px solid #555;
  transition: background-color 0.2s;
}
.venue-card.is-active {
  background-color: #000;
}
.venue-card__image {
  height: 200px;
  object-fit: cover;
}
.venue-card__name {
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: 0;
}
.venue_card__location {
  background: url(../img/lieu-blc.svg) no-repeat;
  background-size: 25px 25px;
  padding-left: 30px;
}
.venue-card__address,
.venue-card__department,
.venue-card__address,
.venue-card__contact {
  font-size: 1rem;
  margin: 5px 0;
}
.venue-card__address a,
.venue-card__contact a,
a.tribe-venue-tel,
.tribe-venue-url a {
  color: #fff;
  font-weight: 400;
  text-decoration: none;
}
.venue-card__address a:hover,
.venue-card__address a:focus,
.venue-card__contact a:hover,
.venue-card__contact a:focus,
a.tribe-venue-tel:hover,
a.tribe-venue-tel:focus,
.tribe-venue-url a:hover,
.tribe-venue-url a:focus {
  color: #FFDD00;
}
.venue-card__department {
  color: #ddd;
}
.venue-card__next-event {
  display: flex;
  flex-direction: column;
  color: #ddd;
}
.venue-card__next-event h3 {
  font-size: 0.8rem;
  font-weight: 300;
  text-transform: uppercase;
  margin-top: 0;
}
.venue-card__next-event h4 {
  font-size: 1.3rem;
  color: #FFDD00;
  font-weight: 500;
  margin: 0;
}
.venue-card__next-event-meta {
  margin: 10px 0 0 0;
}
.venue-card__cta,
.venue-card__cta:visited {
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  border: 1px solid #fff;
  border-radius: 4px;
  padding: 10px 15px;
}
.venue-card__cta:hover,
.venue-card__cta:focus {
  color: #000;
  background-color: #FFDD00;
  border: 1px solid #FFDD00;
  text-decoration: none;
}
.carte-evenements__pagination {
  border-top: 1px solid #fff;
  margin-top: 30px;
}
.carte-evenements__pagination .page-numbers-custom {
  display: flex;
  flex-direction: row;
  padding-left: 0;
  list-style: none;
}
.carte-evenements__pagination .page-numbers-custom li {
  width: 50%;
}
.carte-evenements__pagination .page-numbers-custom li.next-link-item {
  text-align: right;
}
.carte-evenements__pagination .page-numbers-custom li a {
  color: #fff;
}
.tribe-venue-infos {
  display: flex;
  margin-top: 35px;
}
.tribe-events-event-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.tribe-events-venue .tribe-events-map-wrap,
.tribe-events-venue-map__mapbox {
  margin-top: 0;
}
.tribe-venue-infos .tribe-events-event-meta {
  display: flex;
}
.tribe-venue-infos .tribe-events-gmap {
  order: 2;
}
.carte-evenements__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1rem;
  gap: 12px;
  margin: 24px 0;
}
.carte-evenements__filters select,
.carte-evenements__filters input[type="text"] {
  background: #000;
  color: #fff;
  border: 1px solid #555;
  border-radius: 8px;
  padding: 10px 14px;
}
.filters__search {
  display: flex;
  align-items: center;
  background: #000;
  border: 1px solid #555;
  border-radius: 8px;
  padding: 0 8px;
}
.filters__search input {
  border: none;
  background: transparent;
  flex: 1;
}
.filters__search button {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}
.filters__reset {
  color: #FFDD00;
  text-decoration: none;
  margin-left: auto;
}
.imago-carousel-container {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.imago-carousel-container .imago-events-swiper {
  padding: 55px 5px 0px 5px;
}
.imago-carousel-container .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
}
.imago-carousel-container .swiper-nav {
  position: absolute;
  width: 8rem;
  top: 25px;
  right: 0;
}
.imago-carousel-container .swiper-button-next,
.imago-carousel-container .swiper-button-prev {
  color: #fff;
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  border-radius: 40px;
  padding: 10px;
  line-height: 1;
}
.imago-carousel-container .swiper-nav .swiper-button-next::after,
.imago-carousel-container .swiper-nav .swiper-button-prev::after {
  font-size: 1rem;
}
/* Liste défilante */
.defilement-container {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
  display: flex;
}
.liste-defilante {
  display: flex;
  white-space: nowrap;
  gap: 1rem;
  animation: defilementContinu 50s linear infinite;
}
.defilement-item {
  font-size: 1.8rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.defilement-item.puce {
  color: #FFDD00;
}
/* L'animation matérielle fluide */
@keyframes defilementContinu {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* On décale exactement de la moitié (puisque la liste est doublée) */
    transform: translate3d(-50%, 0, 0);
  }
}
.defilement-container:hover .liste-defilante {
  animation-play-state: paused;
}
.sib_signup_box_inside_1 {
  display: flex;
}
.sib_signup_form input {
  width: 60%;
  color: #fff;
  font-weight: 500;
  background-color: #000;
  border: 1px solid #555;
  padding: 20px;
}
.sib-default-btn {
  width: 35%;
  color: #000;
  font-weight: 500;
  text-transform: uppercase;
  background-color: #FFDD00;
  border: 1px solid #FFDD00;
  padding: 20px;
}
.sib-default-btn:hover,
.sib-default-btn:focus {
  background-color: #fff;
  border: 1px solid #fff;
  cursor: pointer;
}
.grecaptcha-badge {
  visibility: hidden;
}
.gtranslate_wrapper {
  margin-top: -16px !important;
}
.gtranslate_wrapper a,
.gtranslate_wrapper a:visited {
  color: #fff;
  font-size: 0.85rem;
  padding: 0 5px 15px 5px;
}
.gtranslate_wrapper a:hover,
.gtranslate_wrapper a:focus {
  color: #FFDD00;
}
.footer .footer-group,
.footer .footer-mentions {
  border-top: 1px solid #555;
}
.footer .footer-group {
  padding-top: 20px;
}
.footer .colophon.is-layout-flex {
  align-items: flex-start;
  gap: 1%;
  width: 95vw;
  margin: 0 auto;
}
.footer .colophon > div {
  box-sizing: border-box;
}
.footer .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
  padding-bottom: 0;
}
.footer ul.wp-block-navigation__container {
  gap: 0;
}
.footer .colophon .wp-block-navigation .wp-block-navigation-item a,
.footer-social p {
  font-size: 1rem;
}
.footer .colophon .wp-block-navigation .wp-block-navigation-item:first-of-type {
  font-weight: 600;
  padding-bottom: 5px;
}
.footer .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.footer.wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
  border-bottom: none;
}
.footer-social p {
  font-weight: 600;
}
.footer-social .wp-block-social-link-anchor {
  padding: 0 0.2rem 0 0;
}
.footer .footer-mentions {
  margin: 20px 0;
  padding-top: 10px;
}
.footer .footer-mentions .wp-block-navigation .wp-block-navigation-item {
  font-size: 0.8rem;
  color: #ddd;
  margin-right: 30px;
}
@media (max-width: 767.99px) {
  .nav-access {
    visibility: hidden;
  }
  .footer .colophon .wp-block-navigation .wp-block-navigation-item a,
  .footer-social p {
    font-size: 0.85rem;
  }
  .footer-nav {
    gap: 0.1rem;
  }
  li.imago-event-card,
  .tribe-common li.imago-event-card,
  .tribe-events-single ul.tribe-related-events li.imago-event-card {
    width: 100%;
  }
  .home-banner {
    background-position: center bottom !important;
  }
  .wp-block-buttons > .wp-block-button.btn-brochure {
    display: none;
  }
  .banner-page {
    min-height: 35vh;
  }
  .event-intro,
  .home-edito-img {
    height: 300px;
  }
  .event-intro .overlay {
    width: 100%;
    background: linear-gradient(to right, #000000, rgba(0, 0, 0, 0.2));
  }
  .carte-evenements__layout {
    margin-top: 30px;
  }
  .tribe-venue-infos {
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .banner-page {
    min-height: 40vh;
  }
  .event-intro {
    height: 450px;
  }
  .event-intro .overlay {
    width: 80%;
    background: linear-gradient(to right, #000000, transparent);
  }
}
@media (min-width: 768px) and (max-width: 991.99px) {
  li.imago-event-card,
  .tribe-common li.imago-event-card,
  .tribe-events-single ul.tribe-related-events li.imago-event-card {
    width: 48%;
  }
}
@media (max-width: 991.99px) {
  .header .nav-logo,
  header .nav-logo.wp-block-columns,
  .header .wp-container-core-columns-is-layout-794e3cfa {
    flex-wrap: nowrap!important;
  }
  .header .nav-search {
    flex-direction: row-reverse;
    justify-content: normal;
  }
  .header .wp-block-navigation__responsive-container-close svg,
  .wp-block-navigation__responsive-container-open svg,
  .header .wp-block-search__button svg {
    width: 40px;
    height: 40px;
  }
  .header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    text-transform: uppercase;
    padding-top: 15px;
  }
  .header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content {
    text-transform: none;
    padding-top: 0;
  }
  .event-main {
    flex-wrap: wrap;
  }
  .tribe-events-single-event-description,
  .event-sidebar {
    width: 100%;
  }
  .tribe-events-view--photo.tribe-common .tribe-common-g-row--gutters,
  .tribe-events-single ul.tribe-related-events,
  .single-tribe_venue ul.tribe-related-events {
    padding: 0 15px;
  }
  .imago-card-badge {
    padding-left: 0;
  }
  .carte-evenements__map,
  .tribe-events-venue-map__mapbox {
    height: 350px;
  }
  .venue-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 20px 10px 20px 0;
  }
  .venue-card__image,
  .venue-card__info,
  .venue-card__next-event {
    width: 100%;
  }
  .venue-card__next-event {
    border-left: 1px solid #FFDD00;
    padding: 10px 0 10px 20px;
  }
  .footer ul.wp-block-navigation__container {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-logo {
    width: 50%;
    order: 2;
  }
  .footer-social {
    width: 47%;
    order: 3;
  }
  .footer-social p,
  .footer-social ul {
    max-width: 100%;
  }
  .footer-nav.is-layout-flex {
    margin-bottom: 50px;
  }
  .footer-nav.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: auto!important;
    width: 35%;
  }
}
@media (min-width: 992px) {
  .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    padding-bottom: 15px;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    padding: 0 1em;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    padding: 0.5em 0;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content {
    border-bottom: 1px solid #aaa;
    padding-bottom: 10px;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover {
    background-color: #FFDD00;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    color: #000;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 30px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #fff transparent;
  }
  .event-intro-details {
    max-width: 50%;
  }
  .event-main {
    gap: 5vw;
  }
  .col-half {
    width: 50%;
  }
  .tribe-events-content {
    width: 70%;
  }
  .event-sidebar {
    width: 30%;
  }
  li.imago-event-card,
  .tribe-common li.imago-event-card {
    width: 23%;
    max-width: 23%;
  }
  .imago-carousel-container .swiper-slide {
    max-width: 100%;
  }
  .page-prog .imago-carousel-container .swiper-slide {
    min-width: 360px;
  }
  .tribe-events ul.tribe-events-calendar-list .tribe-events-calendar-list__event.tribe-common-g-row,
  .tribe-events ul.tribe-events-calendar-list .tribe-events-calendar-list__event-wrapper .tribe-common-g-row,
  .tribe_event_series-template .tribe-common .tribe-events-calendar-list__event.tribe-common-g-row {
    flex-wrap: nowrap;
  }
  .tribe-venue-infos .tribe-events-event-image,
  .tribe-venue-infos .tribe-events-map-wrap,
  .tribe-venue-infos .tribe-events-venue-meta {
    width: 33%;
  }
  .carte-evenements__map {
    height: 500px;
  }
  .venue-card {
    align-items: center;
    gap: 30px;
    padding: 0 20px 0 0;
  }
  .venue-card__image {
    width: 15%;
  }
  .venue-card__info {
    width: 35%;
    padding: 20px 15px;
  }
  .venue-card__next-event {
    width: 30%;
  }
  .footer-logo {
    width: 15%;
  }
  .footer-nav {
    width: 63%;
    border-right: 1px solid #555;
    padding-right: 30px;
  }
  .footer-social {
    width: 20%;
    padding-left: 50px;
  }
}
@media (min-width: 992px) and (max-width: 1499px) {
  .tribe-events-content p {
    max-width: 850px;
  }
}
@media (min-width: 1500px) {
  .tribe-events-content p {
    max-width: 1000px;
  }
}
/* ==========================================================================
   IMAGO — FILTRES ACCESSIBLES
   Fichier harmonisé : /programmation (événements) + page Carte des lieux
   Breakpoint unique : 768px, cohérent avec le JS (matchMedia max-width: 767px)
   ========================================================================== */
/* ==========================================================================
   1. STYLES COMMUNS AUX DEUX FORMULAIRES
   (checkboxes, groupes de filtres, boutons, récap de filtres actifs)
   Ne dépendent d'aucune largeur d'écran : ne pas dupliquer par page.
   ========================================================================== */
.tribe-common .filter-groups-container:focus,
.filter-groups-container:focus {
  outline: none;
}
.tribe-common div.filter-header,
.filter-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 10px;
}
.filter-header h2 {
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.archive .tribe-common .filter-header a.reset-filters-btn,
.archive .tribe-common .filter-header a.reset-filters-btn:visited,
.archive .tribe-common a.imago-reset-all,
.archive .tribe-common a.imago-reset-all:visited,
.carte-evenements__filters-col a.reset-filters-btn,
.carte-evenements__filters-col a.reset-filters-btn:visited {
  font-size: 0.9rem;
}
.archive .tribe-common a.imago-reset-all,
.archive .tribe-common a.imago-reset-all:visited {
  display: block;
  padding-top: 10px;
}
/* --- Groupes de filtres (details/summary) --- */
.tribe-common details.filter-group,
.carte-evenements__filters-col details.filter-group {
  border-top: 1px solid #555;
  padding: 0;
  margin: 0 0 20px 0;
}
.tribe-common details.filter-group label,
.carte-evenements__filters-col details.filter-group label {
  display: block;
  margin-bottom: 10px;
  cursor: pointer;
  position: relative;
  padding-left: 30px;
  font-size: 1rem;
}
/* Titre cliquable (summary) */
.tribe-common details.filter-group summary.filter-group-title,
.carte-evenements__filters-col details.filter-group summary.filter-group-title {
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 8px;
  border-top: 1px solid #555;
  width: 100%;
  padding-top: 15px;
  cursor: pointer;
  user-select: none;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* Supprime la flèche native (Chrome/Firefox/Safari) */
.filter-group-title::-webkit-details-marker {
  display: none;
}
/* Icône +/- personnalisée */
.filter-group-title::after {
  content: '−';
  font-size: 1.2rem;
  font-weight: 700;
  transition: transform 0.2s ease;
}
details:not([open]) .filter-group-title::after {
  content: '+';
}
.filter-options {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  padding-left: 5px;
  animation: fadeIn 0.2s ease-out;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- Checkboxes personnalisées --- */
.tribe-common details.filter-group label input[type="checkbox"],
.carte-evenements__filters-col details.filter-group label input[type="checkbox"] {
  visibility: hidden;
  width: 0;
}
.tribe-common span.checkbox-container,
.carte-evenements__filters-col span.checkbox-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 2px;
}
.tribe-common details.filter-group label:hover input ~ .checkbox-container,
.tribe-common details.filter-group label input:checked ~ .checkbox-container,
.tribe-common details.filter-group label input:active ~ .checkbox-container,
.carte-evenements__filters-col details.filter-group label:hover input ~ .checkbox-container,
.carte-evenements__filters-col details.filter-group label input:checked ~ .checkbox-container,
.carte-evenements__filters-col details.filter-group label input:active ~ .checkbox-container {
  background-color: #FFDD00;
  border: 1px solid #FFDD00;
}
.tribe-common span.checkbox-container::after,
.carte-evenements__filters-col span.checkbox-container::after {
  content: "";
  position: absolute;
  display: none;
  left: 6px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #000;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.tribe-common details.filter-group label input:checked ~ .checkbox-container::after,
.carte-evenements__filters-col details.filter-group label input:checked ~ .checkbox-container::after {
  display: block;
}
/* --- Select personnalisé ---*/
.filter-groups-container select,
.tribe-common .filter-groups-container select {
  color: #fff;
  background-color: transparent;
  border: 1px solid #fff;
  padding: 5px 10px;
}
/* --- Boutons d'action des formulaires --- */
.tribe-common div.filter-actions button,
.filter-actions button {
  color: #000;
  font-weight: 500;
  background-color: #FFDD00;
  text-transform: uppercase;
  margin-top: 15px;
  padding: 10px 20px;
  border: none;
}
.tribe-common div.filter-actions button:hover,
.filter-actions button:hover {
  background-color: #fff;
  cursor: pointer;
}
/* --- Tri --- */
.events__sort,
.carte-evenements__sort {
  margin: 15px 0;
}
.events__sort label,
.carte-evenements__sort label {
  text-transform: uppercase;
}
/* --- Focus visible (géré manuellement pour éviter le contour natif du navigateur
       sur les conteneurs qui reçoivent le focus programmatique) --- */
#imago-filters-dialog:focus,
#imago-filters-dialog:focus-visible,
#imago-venues-filters-dialog:focus,
#imago-venues-filters-dialog:focus-visible,
#imago-active-filters-recap:focus,
#imago-active-filters-recap:focus-visible,
.tribe-common details.filter-group summary.filter-group-title:focus,
.tribe-common details.filter-group summary.filter-group-title:focus-visible {
  outline: none;
}
/* ==========================================================================
   2. RÉCAPITULATIF DES FILTRES ACTIFS (chips)
   Commun aux deux pages.
   ========================================================================== */
.imago-no-active-filters,
.imago-active-filters-label {
  visibility: hidden;
  height: 0;
}
.tribe-common ul.imago-active-filters-list,
.imago-active-filters-list {
  display: flex;
  flex-direction: row;
  gap: 20px;
  list-style: none;
  padding-left: 0;
  flex-wrap: wrap;
}
.tribe-common li.imago-active-filter-chip,
li.imago-active-filter-chip {
  border: 1px solid #fff;
  padding: 5px 10px;
}
.archive .tribe-common a.imago-chip-remove,
.archive .tribe-common a.imago-chip-remove:visited,
a.imago-chip-remove {
  color: #fff;
  padding-left: 5px;
}
/* ==========================================================================
   3. BOUTON DÉCLENCHEUR MOBILE (commun visuellement, affichage géré par breakpoint)
   ========================================================================== */
.imago-mobile-trigger {
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  background-color: transparent;
  border: 1px solid #fff;
  padding: 10px 20px;
  border-radius: 4px;
}
/* ==========================================================================
   4. PAGE ÉVÉNEMENTS — /programmation
   Grid TEC : colonne filtres (280px) + colonne contenu.
   ========================================================================== */
/* --- Layout desktop (>= 768px) --- */
@media (min-width: 768px) {
  .tribe-common-l-container.tribe-events-l-container {
    display: grid;
    grid-template-columns: 280px 1fr;
    column-gap: 40px;
    row-gap: 20px;
    align-items: start;
  }
  .single-tribe_event_series .tribe-common-l-container.tribe-events-l-container {
    display: flex;
    flex-direction: column;
  }
  .single-tribe_event_series .tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search,
  .single-tribe_event_series .tribe-events-calendar-list__event-featured-image-wrapper {
    display: none;
  }
  .single-tribe_event_series ul.tribe-events-pro-summary,
  .single-tribe_event_series .tribe-events-pro-summary-nav {
    width: 100%;
  }
  #imago-filters-dialog {
    display: block;
    position: sticky;
    top: 20px;
    left: auto;
    right: auto;
    bottom: auto;
    border: 1px solid #555;
    background: transparent;
    padding: 15px;
    margin: 0;
    width: auto;
    max-width: none;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    color: inherit;
    grid-column: 1;
    grid-row: 1 / span 4;
  }
  .tribe-events-header {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
  }
  #imago-active-filters-recap {
    grid-column: 2;
    grid-row: 2;
  }
  .tribe-events-pro-photo,
  .tribe-events-calendar-list,
  .tribe-events-pro-map {
    grid-column: 2;
    grid-row: 3;
  }
  .tribe-events-pro-photo-nav,
  .tribe-events-calendar-list-nav {
    grid-column: 2;
    grid-row: 4;
  }
  .tribe-events-c-subscribe-dropdown__container {
    grid-column: 2;
    grid-row: 5;
  }
  .tribe-events-pro-photo {
    padding: 0 !important;
    margin: 0 !important;
  }
  ul.tribe-common-g-row.tribe-common-g-row--gutters {
    margin-top: 0 !important;
    min-height: auto !important;
  }
  .tribe-common button.imago-mobile-trigger,
  .tribe-common button.imago-mobile-close {
    display: none;
  }
}
/* --- Mobile (< 768px) : modale plein écran --- */
@media (max-width: 767px) {
  .tribe-common-l-container.tribe-events-l-container {
    grid-template-columns: 1fr;
    display: grid;
  }
  .tribe-events-header,
  .tribe-events-pro-photo,
  .tribe-events-pro-photo-nav,
  .tribe-events-pro-map,
  .tribe-events-calendar-list,
  .tribe-events-calendar-list-nav,
  .tribe-events-c-subscribe-dropdown__container,
  .tribe-events-after-html {
    grid-column: 1;
    grid-row: auto;
  }
  .tribe-common button.imago-mobile-trigger {
    display: block;
    grid-column: 1;
    width: 100%;
    padding: 7px 12px;
    background: #000;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 4px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    margin-bottom: 10px;
  }
  #imago-filters-dialog {
    visibility: hidden;
    height: 0;
  }
  #imago-filters-dialog[open] {
    display: flex !important;
    flex-direction: column;
    position: fixed !important;
    visibility: visible;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    color: #fff;
    background: #000 !important;
    padding: 40px 30px !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
  }
  .tribe-common button.imago-mobile-close {
    display: flex;
    position: absolute;
    top: 15px;
    right: 15px;
    background: #FFDD00;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    font-size: 18px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
  }
  .filter-groups-container {
    margin-top: 40px;
    /* Laisse la place au bouton fermer */
  }
}
/* ==========================================================================
   5. PAGE CARTE DES LIEUX — page-carte-evenements.php
   Layout propre (pas de grid TEC) : colonne filtres + colonne carte.
   Même logique desktop/mobile que ci-dessus, appliquée à son propre dialog.
   ========================================================================== */
.carte-evenements__layout {
  display: grid;
  grid-template-columns: 1fr;
  /* mobile : empilé */
  gap: 1.5rem;
}
/* --- Desktop (>= 768px) : colonne latérale statique --- */
@media (min-width: 768px) {
  #carte-lieux,
  #imago-venues-filters-dialog {
    min-width: 0;
  }
  .carte-evenements__layout {
    grid-template-columns: 320px 1fr;
    align-items: start;
  }
  #imago-venues-filters-dialog {
    display: block;
    position: sticky;
    top: 20px;
    left: auto;
    right: auto;
    bottom: auto;
    border: 1px solid #555;
    background: #000;
    color: #fff;
    padding: 15px;
    margin: 0;
    width: auto;
    max-width: none;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .carte-evenements__filters-col .imago-mobile-trigger,
  .carte-evenements__filters-col .imago-mobile-close {
    display: none;
  }
}
/* --- Mobile (< 768px) : modale plein écran --- */
@media (max-width: 767px) {
  .carte-evenements__filters-col .imago-mobile-trigger {
    display: block;
    width: 100%;
    padding: 7px 12px;
    background: #000;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 4px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    margin-bottom: 10px;
  }
  #imago-venues-filters-dialog {
    visibility: hidden;
    height: 0;
  }
  #imago-venues-filters-dialog[open] {
    display: flex !important;
    flex-direction: column;
    position: fixed !important;
    visibility: visible;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    color: #fff;
    background: #000 !important;
    padding: 40px 30px !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
  }
  .carte-evenements__filters-col .imago-mobile-close {
    display: flex;
    position: absolute;
    top: 15px;
    right: 15px;
    background: #FFDD00;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    font-size: 18px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
  }
  #imago-venues-filters-dialog .filter-groups-container {
    margin-top: 40px;
  }
}
