.elementor-843 .elementor-element.elementor-element-cbf1662{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-843 .elementor-element.elementor-element-14212ba{width:var( --container-widget-width, 73% );max-width:73%;--container-widget-width:73%;--container-widget-flex-grow:0;}.elementor-843 .elementor-element.elementor-element-14212ba.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-843 .elementor-element.elementor-element-14212ba > .elementor-widget-container{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-843 .elementor-element.elementor-element-14212ba .jet-listing-dynamic-repeater__items{flex-direction:flex-start;justify-content:flex-start;}.elementor-843 .elementor-element.elementor-element-14212ba .jet-listing-dynamic-repeater__item > *{justify-content:flex-start;background-color:var( --e-global-color-580980b );}.elementor-843 .elementor-element.elementor-element-14212ba .jet-listing-dynamic-repeater__item > *:hover{color:var( --e-global-color-025655d );}.elementor-843 .elementor-element.elementor-element-14bcedd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-843 .elementor-element.elementor-element-cbf1662{--content-width:999px;}}/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-14212ba *//* =========================
   CARTE PROGRAMME
   ========================= */

.ligne-programme {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(240px, 1.4fr) auto 50px;
  align-items: center;
  gap: 24px;
  background: #f7f7f7;
  padding: 18px 24px;
  min-height: 120px;
  position: relative;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  width: 100%;
}

/* barre rouge gauche */
.ligne-programme::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: #b90f1f;
}

/* =========================
   LIEU
   ========================= */

.col-lieu {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.bulle-lieu {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #f3d4d4;
  margin-top: 4px;
}

.bloc-lieu {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.nom-lieu {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  line-height: 1.15;
}

.adresse {
  font-size: 14px;
  color: #666;
  line-height: 1.35;
}

.commune {
  font-size: 15px;
  font-weight: 700;
  color: #333;
}

/* =========================
   CENTRE
   ========================= */

.col-centre {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.artiste {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #ff5f5f;
  text-transform: uppercase;
}

.titre {
  font-size: 20px;
  font-weight: 800;
  color: #b90f1f;
  line-height: 1.2;
}

/* =========================
   DATE
   ========================= */

.col-date {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.date {
  font-size: 15px;
  font-weight: 700;
  color: #2a2a2a;
}

.heure {
  font-size: 16px;
  font-weight: 800;
  color: #b90f1f;
}

.public {
  font-size: 12px;
  color: #777;
}

/* =========================
   RÉSERVER (SOBRE)
   ========================= */

.col-ticket {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.btn-ticket {
  font-size: 13px;
  font-weight: 700;
  color: #b90f1f;
  text-decoration: none;
  border-bottom: 1px solid #b90f1f;
  padding-bottom: 2px;
  transition: opacity 0.2s ease;
}

.btn-ticket:hover {
  opacity: 0.6;
}

/* =========================
   LISTING GRID (FIX VIDE)
   ========================= */

.jet-listing-grid,
.jet-listing-grid__items,
.jet-listing-grid__item {
  width: 100%;
}

.jet-listing-grid__items {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 20px 0;
}

/* supprime les styles parasites JetEngine */
.jet-listing-grid__item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* =========================
   TYPO PLUS FINE
   ========================= */

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* =========================
   TABLETTE
   ========================= */

@media (max-width: 1024px) {
  .ligne-programme {
    grid-template-columns: 1fr 1.2fr auto 40px;
    gap: 18px;
    padding: 16px;
  }
}

/* =========================
   MOBILE (PROPRE)
   ========================= */

@media (max-width: 767px) {

  .ligne-programme {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px 18px 18px 22px;
  }

  .col-lieu {
    flex-direction: row;
  }

  .nom-lieu {
    font-size: 18px;
  }

  .adresse {
    font-size: 13px;
  }

  .commune {
    font-size: 14px;
  }

  .col-date {
    flex-direction: row;
    gap: 16px;
    align-items: center;
  }

  .date,
  .heure,
  .public {
    font-size: 13px;
  }

  .col-ticket {
    justify-content: flex-start;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cbf1662 *//* =========================
   CARTE PROGRAMME
   ========================= */

.ligne-programme {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 1.4fr) auto 50px;
  align-items: center;
  gap: 24px;
  background: #f7f7f7;
  padding: 18px 24px;
  min-height: 120px;
  position: relative;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

/* barre gauche */
.ligne-programme::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: #b90f1f;
}

/* =========================
   LIEU
   ========================= */

.col-lieu {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.bulle-lieu {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #f3d4d4;
  margin-top: 4px;
}

.bloc-lieu {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.nom-lieu,
.adresse,
.commune {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.nom-lieu {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  line-height: 1.15;
}

.adresse {
  font-size: 14px;
  color: #666;
  line-height: 1.35;
}

.commune {
  font-size: 15px;
  font-weight: 700;
  color: #333;
}

/* =========================
   CENTRE
   ========================= */

.col-centre {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.artiste {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #ff5f5f;
  text-transform: uppercase;
}

.titre {
  font-size: 20px;
  font-weight: 800;
  color: #b90f1f;
  line-height: 1.2;
}

/* =========================
   DATE
   ========================= */

.col-date {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.date {
  font-size: 15px;
  font-weight: 700;
  color: #2a2a2a;
}

.heure {
  font-size: 16px;
  font-weight: 800;
  color: #b90f1f;
}

.public {
  font-size: 12px;
  color: #777;
}

/* =========================
   TICKET
   ========================= */

.col-ticket {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.btn-ticket img {
  width: 28px;
  height: auto;
  display: block;
}

/* =========================
   LISTING
   ========================= */

.jet-listing-grid__items {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 950px;
  margin: 0 auto;
  padding: 20px;
}

.jet-listing-grid__item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* rendu typo */
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* =========================
   TABLETTE
   ========================= */

@media (max-width: 1024px) {
  .ligne-programme {
    grid-template-columns: 1fr 1.2fr auto 40px;
    gap: 18px;
    padding: 16px;
  }

  .btn-ticket img {
    width: 24px;
  }
}

/* =========================
   MOBILE (CORRECTION MAJEURE)
   ========================= */

@media (max-width: 767px) {

  .ligne-programme {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px 18px 18px 22px;
  }

  .col-lieu {
    flex-direction: row;
    align-items: flex-start;
  }

  .bloc-lieu {
    width: 100%;
  }

  .nom-lieu {
    font-size: 18px;
  }

  .adresse {
    font-size: 13px;
  }

  .commune {
    font-size: 14px;
  }

  .col-centre {
    width: 100%;
  }

  .col-date {
    width: 100%;
    flex-direction: row;
    gap: 16px;
    align-items: center;
  }

  .date,
  .heure,
  .public {
    font-size: 13px;
  }

  .col-ticket {
    justify-content: flex-start;
  }

  .btn-ticket img {
    width: 22px;
  }

  .jet-listing-grid__items {
    padding: 12px;
    gap: 16px;
  }
}.elementor-843 .elementor-element.elementor-element-cbf1662 {
  display: flex;
  flex-direction: column !important;
  align-items: center;
}/* End custom CSS */