/* --- Assurez-vous que rien ne coupe le dropdown --- */
.header__menu,
.header__desktop,
.header__desktop .container {
  overflow: visible !important;
}

/* --- Le parent doit servir d'ancre de positionnement --- */
.header__menu__container > li.menu-item-has-children {
  position: relative;
}

/* --- Sous-menu : caché par défaut mais animé (pas de display:none) --- */
.header__menu__container .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 0.6rem 0;
  list-style: none;

  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);

  /* état caché */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;

  /* animation fluide */
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  z-index: 9999;
}

/* --- Affichage au survol : fade + slide --- */
.header__menu__container li.menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .25s ease, transform .25s ease, visibility 0s;
}
.header__menu__container .sub-menu li {
  margin: 8px 15px !important;
}
/* --- Liens du sous-menu --- */
.header__menu__container .sub-menu li a {
  display: block;
  padding: 0.7rem 1.2rem;
  white-space: nowrap;
  text-decoration: none;
  color: #222;
  transition: background-color .2s ease, color .2s ease, padding-left .2s ease;
}

.header__menu__container .sub-menu li a:hover {
  /* background: #00a3b4;    */
  /* color: #fff; */
  padding-left: 1.6rem;
}

/* --- Petite flèche sur l’item parent --- */
.header__menu__container li.menu-item-has-children > a::after {
  content: "▾";
  font-size: .7rem;
  margin-left: .4rem;
  transition: transform .25s ease;
}
.header__menu__container li.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}

/* Flèche ↓ */
.header__menu__container li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 6px;
  transition: transform 0.3s ease;
  position: relative;
  top: -3px;
  right: -3px;
}

/* Flèche ↑ quand le sous-menu est ouvert */
.header__menu__container li.menu-item-has-children:hover > a::after {
  transform: rotate(-135deg);
  top: 1px;
}

/* --- Coupe-gorge des thèmes : si un style force l'affichage, on écrase --- */
.header__menu__container .sub-menu[style] {
  display: block !important; /* on neutralise un éventuel display:none inline */
}

/* ---- Responsive Event Card ---- */
.arx-event-card {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 35px !important;
    text-decoration: none !important;
    color: #fff !important;
    height: 220px; /* MOBILE DEFAULT */
}

/* Image */
.arx-event-card__img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform .4s ease;
}

.arx-event-card:hover .arx-event-card__img {
    transform: scale(1.06);
}

time.tribe-events-calendar-list__month-separator-text.tribe-common-h7.tribe-common-h6--min-medium.tribe-common-h--alt {
      font-size: 25px;
    font-weight: 600;
    text-transform: uppercase;
}

/* Overlay */
.arx-event-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.0) 0%,
        rgba(0,0,0,0.45) 60%,
        rgba(0,0,0,0.75) 100%
    );
}

/* Text */
.arx-event-card__content {
    position: absolute;
    bottom: 18px;
    left: 18px;
    right: 18px;
}

.arx-event-card__title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    text-transform: uppercase;
}

.arx-event-card__excerpt {
    margin-top: 6px;
    font-size: 14px;
    opacity: 0.85;
    color: #fff;
}

/* ---- TABLETTE ---- */
@media (min-width: 600px) {
    .arx-event-card {
        height: 320px;
        border-radius: 18px;
    }
    .arx-event-card__title {
        font-size: 22px;
    }
}

/* ---- DESKTOP ---- */
@media (min-width: 992px) {
    .arx-event-card {
        height: 320px;
        border-radius: 20px;
    }
    .arx-event-card__title {
        font-size: 28px;
    }
    .arx-event-card__excerpt {
        font-size: 15px;
    }
}



