/* ==========================================================================
   Agenda (The Events Calendar) aux couleurs ATM
   ========================================================================== */

body {
  --atm-orange: #e94e1a;
  --atm-prune: #a3195b;
  --atm-prune-dark: #7f1347;
  --atm-dark: #262626;
  --atm-gray: #6b7280;
  --atm-border: #eeeaec;
  --atm-light-pink: #f7e7ed;
  --atm-light-orange: #fce7df;
  --atm-radius: 12px;
  --atm-shadow: 0 2px 10px rgba(38, 38, 38, 0.06);
  --atm-shadow-hover: 0 10px 24px rgba(163, 25, 91, 0.14);

  /* Variables The Events Calendar */
  --tec-font-family-sans-serif: 'Comfortaa', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --tec-color-accent-primary: #a3195b;
  --tec-color-accent-primary-hover: #e94e1a;
  --tec-color-accent-primary-active: #7f1347;
  --tec-color-accent-primary-background: #f7e7ed;
  --tec-color-accent-primary-background-datepicker: #f7e7ed;
  --tec-color-accent-primary-week-event: #f7e7ed;
  --tec-color-accent-primary-week-event-hover: #fce7df;
  --tec-color-button-primary: #a3195b;
  --tec-color-button-primary-hover: #e94e1a;
  --tec-color-button-primary-active: #7f1347;
  --tec-color-button-primary-background: #f7e7ed;
  --tec-color-link-accent: #e94e1a;
  --tec-color-link-accent-hover: #a3195b;
  --tec-color-icon-focus: #e94e1a;
  --tec-color-event-icon-hover: #e94e1a;
  --tec-color-border-active: #a3195b;
  --tec-color-text-primary: #262626;
  --tec-color-background-transparent: rgba(255, 255, 255, 0.75);
}

.tribe-common,
.tribe-events-pg-template,
.tribe-events-pg-template h1,
.tribe-events-pg-template h2,
.tribe-events-pg-template h3 {
  font-family: var(--tec-font-family-sans-serif);
}

/* --- En-tête de page ------------------------------------------------------ */

.atm-events-header .atm-page-header-title {
  font-weight: 700;
}

.atm-events-header .atm-page-header-introduction {
  white-space: normal;
  text-align: center;
  color: var(--atm-gray);
}

/* --- Conteneur ------------------------------------------------------------ */

.tribe-events .tribe-events-l-container {
  max-width: 1140px;
  padding-top: 0;
  padding-bottom: 60px;
}

/* --- Barre de recherche + choix de vue ------------------------------------ */

.tribe-events .tribe-events-c-events-bar--border {
  border: 1px solid var(--atm-border);
  border-radius: var(--atm-radius);
  background: #fdfdfd;
  box-shadow: var(--atm-shadow);
}

.tribe-events .tribe-events-c-events-bar__search-input {
  border-radius: 8px;
}

.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn {
  background-color: var(--atm-prune);
  border-radius: 8px;
  font-weight: 700;
  padding: 11px 26px;
  transition: background-color 0.2s;
}

.tribe-common .tribe-common-c-btn:hover,
.tribe-common .tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover,
.tribe-common button.tribe-common-c-btn:hover {
  background-color: var(--atm-orange);
}

.tribe-events .tribe-events-c-view-selector__list-item-text {
  font-weight: 700;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after {
  background-color: var(--atm-orange);
  height: 3px;
  border-radius: 3px;
}

.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text,
.tribe-events .tribe-events-c-view-selector__list-item-link:focus .tribe-events-c-view-selector__list-item-text {
  color: var(--atm-prune);
}

/* --- Barre du haut : aujourd'hui, flèches, date --------------------------- */

.tribe-events .tribe-events-c-top-bar .tribe-events-c-top-bar__today-button {
  border: 1px solid var(--atm-prune);
  border-radius: 8px;
  color: var(--atm-prune);
  font-weight: 700;
  transition: background-color 0.2s, color 0.2s;
}

.tribe-events .tribe-events-c-top-bar .tribe-events-c-top-bar__today-button:hover,
.tribe-events .tribe-events-c-top-bar .tribe-events-c-top-bar__today-button:focus {
  background-color: var(--atm-prune);
  color: #fff;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button {
  color: var(--atm-prune);
  font-weight: 700;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg path,
.tribe-events .tribe-events-c-top-bar__nav-link:not([disabled]) .tribe-common-c-svgicon path {
  fill: var(--atm-prune);
}

.tribe-events .tribe-events-c-top-bar__nav-link:hover .tribe-common-c-svgicon path,
.tribe-events .tribe-events-c-top-bar__nav-link:focus .tribe-common-c-svgicon path {
  fill: var(--atm-orange);
}

.tribe-events .datepicker .day.active,
.tribe-events .datepicker .day.active:hover,
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .year.active {
  background: var(--atm-prune);
}

/* --- Loader (navigation AJAX) --------------------------------------------- */

.tribe-events .tribe-events-view-loader {
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(1px);
}

.tribe-events .tribe-events-view-loader__dots {
  position: sticky;
  top: 40vh;
}

.tribe-events .tribe-events-view-loader .tribe-common-c-loader__dot {
  width: 16px;
}

.tribe-events .tribe-events-view-loader .tribe-common-c-loader__dot circle {
  opacity: 1;
}

.tribe-events .tribe-events-view-loader .tribe-common-c-loader__dot--first {
  color: var(--atm-orange);
}

.tribe-events .tribe-events-view-loader .tribe-common-c-loader__dot--second {
  color: var(--atm-prune);
}

.tribe-events .tribe-events-view-loader .tribe-common-c-loader__dot--third {
  color: #f19a7a;
}

/* TEC fait fuiter les classes des points du loader sur le bloc de messages en AJAX */
.tribe-events .tribe-events-c-messages.tribe-common-c-loader__dot {
  width: auto;
  color: inherit;
}

/* --- Liste ---------------------------------------------------------------- */

.tribe-events .tribe-events-calendar-list__month-separator {
  margin: 32px 0 12px;
}

.tribe-events .tribe-events-calendar-list__month-separator-text {
  color: var(--atm-orange);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tribe-events .tribe-events-calendar-list__month-separator:after {
  background-color: var(--atm-light-orange);
  height: 2px;
}

.tribe-events .tribe-events-calendar-list__event-row {
  align-items: center;
  margin-bottom: 20px;
}

/* Pastille date */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
  background: var(--atm-light-pink);
  border-radius: var(--atm-radius);
  padding: 10px 4px;
  min-width: 64px;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  color: var(--atm-prune);
  font-weight: 700;
  text-transform: uppercase;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
  color: var(--atm-prune);
  font-weight: 700;
}

/* Carte (TEC inverse l'ordre image / texte : on force image à gauche) */
.tribe-events.tribe-common .tribe-events-calendar-list__event {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 24px;
  margin: 0;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--atm-border);
  border-radius: var(--atm-radius);
  box-shadow: var(--atm-shadow);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.tribe-events .tribe-events-calendar-list__event:hover {
  transform: translateY(-2px);
  box-shadow: var(--atm-shadow-hover);
  border-color: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event {
  border-left: 4px solid var(--atm-orange);
}

/* Image : format fixe, fond flouté de la même image pour les bannières très larges */
.tribe-events .atm-event-card__image-link {
  order: 1;
  position: relative;
  flex: 0 0 280px;
  align-self: flex-start;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  overflow: hidden;
  background: var(--atm-light-pink);
}

.tribe-events .atm-event-card__image-link:before {
  content: '';
  position: absolute;
  inset: -20px;
  background: var(--atm-event-image) center / cover no-repeat;
  filter: blur(18px);
  opacity: 0.45;
}

.tribe-events .atm-event-card__image-link .tribe-events-calendar-list__event-featured-image-wrapper {
  position: absolute;
  inset: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.tribe-events .atm-event-card__image-link .tribe-events-calendar-list__event-featured-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s;
}

.tribe-events .tribe-events-calendar-list__event:hover .tribe-events-calendar-list__event-featured-image {
  transform: scale(1.03);
}

.tribe-events .tribe-events-calendar-list__event-details {
  order: 2;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  width: auto;
}

.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-list__event-datetime {
  color: var(--atm-orange);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-list__event-title {
  margin: 4px 0 6px;
  font-size: 20px;
  line-height: 1.35;
}

.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-list__event-title-link:visited {
  color: var(--atm-dark);
  border: 0;
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-list__event-title-link:hover,
.tribe-events .tribe-events-calendar-list__event-title-link:focus {
  color: var(--atm-prune);
  border: 0;
}

.tribe-events .tribe-events-calendar-list__event-venue {
  color: var(--atm-gray);
  font-size: 14px;
}

.tribe-events .tribe-events-calendar-list__event-venue-title {
  color: var(--atm-dark);
}

/* Extrait HTML */
.tribe-events .tribe-events-calendar-list__event-description {
  display: block;
  visibility: visible;
  margin-top: 10px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.6;
}

.tribe-events .tribe-events-calendar-list__event-description p {
  margin: 0 0 6px;
}

.tribe-events .tribe-events-calendar-list__event-description a,
.tribe-events .tribe-events-calendar-day__event-description a,
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description a {
  color: var(--atm-orange);
  text-decoration: underline;
  text-underline-offset: 2px;
  position: relative;
  z-index: 1;
}

.tribe-events .tribe-events-calendar-list__event-description a:hover,
.tribe-events .tribe-events-calendar-day__event-description a:hover,
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description a:hover {
  color: var(--atm-prune);
}

/* Bouton Détails */
.tribe-events .atm-event-card__button,
.tribe-events .atm-event-card__button:visited {
  align-self: flex-end;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  background: var(--atm-prune);
  color: #fff;
  border-radius: 8px;
  font-family: var(--tec-font-family-sans-serif);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s;
}

.tribe-events .atm-event-card__button:after {
  content: '\2192';
}

.tribe-events .atm-event-card__button:hover,
.tribe-events .atm-event-card__button:focus {
  background: var(--atm-orange);
  color: #fff;
}

@media (max-width: 767px) {
  .tribe-events.tribe-common .tribe-events-calendar-list__event {
    flex-direction: column;
    gap: 14px;
    padding: 14px;
  }

  .tribe-events .atm-event-card__image-link {
    flex-basis: auto;
    align-self: stretch;
    aspect-ratio: 2 / 1;
  }

  .tribe-events .atm-event-card__button {
    align-self: stretch;
    justify-content: center;
    margin-top: 12px;
  }
}

/* --- Mois ----------------------------------------------------------------- */

.tribe-events .tribe-events-calendar-month {
  background: #fff;
  border-radius: var(--atm-radius);
  overflow: hidden;
  box-shadow: var(--atm-shadow);
}

.tribe-events .tribe-events-calendar-month__header-column-title {
  color: var(--atm-prune);
  font-weight: 700;
  text-transform: uppercase;
}

.tribe-events .tribe-events-calendar-month__day-date {
  color: var(--atm-dark);
}

.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
  color: var(--atm-orange);
}

.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus {
  background-color: var(--atm-prune);
}

.tribe-events .tribe-events-calendar-month__day-cell--mobile:hover,
.tribe-events .tribe-events-calendar-month__day-cell--mobile:focus {
  background-color: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
  background-color: var(--atm-orange);
}

.tribe-events .tribe-events-calendar-month__calendar-event {
  margin-top: 8px;
  padding: 6px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--atm-border);
  transition: background-color 0.2s, border-color 0.2s;
}

.tribe-events .tribe-events-calendar-month__calendar-event:hover {
  background: var(--atm-light-pink);
  border-color: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
  margin-bottom: 6px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-month__calendar-event-featured-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 90px;
  object-fit: contain;
}

.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
  color: var(--atm-orange);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:visited {
  color: var(--atm-dark);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover {
  color: var(--atm-prune);
}

.tribe-events .tribe-events-calendar-month__more-events-link {
  color: var(--atm-prune);
  font-weight: 700;
}

/* Infobulle */
.tribe-events-tooltip-theme .tribe-events-tooltip-theme .tooltipster-box,
.tooltipster-base.tribe-events-tooltip-theme .tooltipster-box {
  border: 0;
  border-radius: var(--atm-radius);
  box-shadow: 0 12px 32px rgba(38, 38, 38, 0.18);
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-featured-image-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime {
  color: var(--atm-orange);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title-link {
  color: var(--atm-prune);
  font-weight: 700;
}

/* Mobile : liste des évènements du jour */
.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-featured-image-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-title-link {
  color: var(--atm-dark);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime {
  color: var(--atm-orange);
  font-weight: 700;
}

/* --- Jour ----------------------------------------------------------------- */

.tribe-events .tribe-events-calendar-day__time-separator-text,
.tribe-events .tribe-events-calendar-day__type-separator-text {
  color: var(--atm-orange);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-day__event {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--atm-border);
  border-radius: var(--atm-radius);
  box-shadow: var(--atm-shadow);
}

.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: var(--atm-light-pink);
}

.tribe-events .tribe-events-calendar-day__event-datetime {
  color: var(--atm-orange);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-day__event-title-link,
.tribe-events .tribe-events-calendar-day__event-title-link:visited {
  color: var(--atm-dark);
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-day__event-title-link:hover {
  color: var(--atm-prune);
}

/* --- Messages, pagination, liens ------------------------------------------ */

.tribe-events .tribe-events-c-messages__message {
  border-radius: var(--atm-radius);
  background: var(--atm-light-orange);
}

.tribe-events .tribe-events-c-messages__message-list-item-link {
  color: var(--atm-prune);
}

.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__prev:visited,
.tribe-events .tribe-events-c-nav__next:visited {
  color: var(--atm-prune);
  font-weight: 700;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button {
  border-color: var(--atm-prune);
  border-radius: 8px;
  color: var(--atm-prune);
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within {
  background-color: var(--atm-prune);
  color: #fff;
}

/* ==========================================================================
   Page d'un évènement
   ========================================================================== */

.tribe-events-pg-template {
  max-width: 1040px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

.tribe-events-pg-template .tribe-events-back a,
.tribe-events-pg-template .tribe-events-back a:visited {
  display: inline-flex;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--atm-light-pink);
  color: var(--atm-prune);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}

.tribe-events-pg-template .tribe-events-back a:hover {
  background: var(--atm-prune);
  color: #fff;
}

.tribe-events-single .tribe-events-single-event-title {
  color: var(--atm-prune);
  font-family: var(--tec-font-family-sans-serif);
  font-size: 34px;
  line-height: 1.3;
  margin: 24px 0 12px;
}

.tribe-events-single .tribe-events-schedule {
  display: inline-flex;
  margin: 0 0 24px;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--atm-light-orange);
}

.tribe-events-single .tribe-events-schedule,
.tribe-events-single .tribe-events-schedule h2,
.tribe-events-single .tribe-events-schedule span {
  color: var(--atm-orange);
  font-size: 15px;
  font-weight: 700;
}

.tribe-events-single #tribe-events-header {
  display: none;
}

/* Bannière agrandie */
.tribe-events-single .tribe-events-event-image {
  margin: 0 0 32px;
  border-radius: var(--atm-radius);
  overflow: hidden;
  box-shadow: var(--atm-shadow);
  background: var(--atm-light-pink);
}

.tribe-events-single .tribe-events-event-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
}

.tribe-events-single .tribe-events-single-event-description {
  font-size: 16px;
  line-height: 1.7;
  color: var(--atm-dark);
}

.tribe-events-single .tribe-events-single-event-description img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.tribe-events-single .tribe-events-single-event-description a {
  color: var(--atm-orange);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  border: 0;
}

.tribe-events-single .tribe-events-single-event-description a:hover {
  color: var(--atm-prune);
}

/* Ajouter au calendrier */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button {
  border: 1px solid var(--atm-prune);
  border-radius: 8px;
  color: var(--atm-prune);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus-within,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active {
  background-color: var(--atm-prune);
  color: #fff;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover svg path {
  color: #fff;
  fill: #fff;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button svg path {
  color: var(--atm-prune);
  fill: var(--atm-prune);
}

/* Détails / lieu / organisateur */
.tribe-events-single .tribe-events-event-meta {
  border: 1px solid var(--atm-border);
  border-radius: var(--atm-radius);
  background: #fdfdfd;
  box-shadow: var(--atm-shadow);
  margin: 32px 0;
}

.tribe-events-single .tribe-events-single-section-title {
  color: var(--atm-prune);
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tribe-events-single .tribe-events-meta-group dt {
  color: var(--atm-gray);
}

.tribe-events-single .tribe-events-meta-group a {
  color: var(--atm-orange);
}

/* Évènement précédent / suivant */
.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a,
.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a:visited {
  color: var(--atm-prune);
  font-weight: 700;
}

.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a:hover {
  color: var(--atm-orange);
}

@media (max-width: 767px) {
  .tribe-events-pg-template {
    padding-top: 24px;
  }

  .tribe-events-single .tribe-events-single-event-title {
    font-size: 26px;
  }
}
