/* Corrections propres à la migration, chargées après les styles d origine. */

/* Accueil : image affichée avant la vidéo. L'original (512 × 287) était étiré plein écran et pixelisé;
   remplacée par la même image tirée de la vidéo 4K (0,3 s), en 2 560 px. */
.elementor-8121 .elementor-element.elementor-element-215756c:not(.elementor-motion-effects-element-type-background),
.elementor-8121 .elementor-element.elementor-element-215756c > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("/images/accueil-video-attente.jpg");
  background-image: image-set(url("/images/accueil-video-attente.webp") type("image/webp"), url("/images/accueil-video-attente.jpg") type("image/jpeg"));
}

/* Filtres des dates (salle, ville, spectacle) : le thème dessinait un grand cadre blanc au focus,
   affiché aussi après un choix à la souris. Remplacé par un indicateur discret, accordé au design :
   un trait bleu de la marque sous le soulignement, sans décaler la mise en page. Il reste visible
   pour la navigation au clavier (accessibilité, WCAG 2.4.7). */
#filter-form select:focus,
#filter-form select:focus-visible {
  outline: none;
  box-shadow: 0 2px 0 0 var(--e-global-color-233df58, #3B57F2);
}
#filter-form button:focus-visible,
#filter-form .status-pill:focus-within {
  outline: 2px solid var(--e-global-color-233df58, #3B57F2);
  outline-offset: 2px;
  box-shadow: none;
}
#filter-form .status-pill:focus-within:not(:has(:focus-visible)) {
  outline: none;
}

/* Boutons (Billetterie, Acheter, etc.) : texte centré verticalement sur ses lettres et non sur la boîte
   de ligne de la police, qui le plaçait un peu bas selon la plateforme (défaut de l'ancien site).
   Limité aux boutons avec icône : l'icône garde la hauteur du bouton, rien ne se décale.
   text-box : Chrome, Edge et Safari récents; les autres navigateurs gardent le rendu d'origine. */
.elementor-button:has(.elementor-button-icon) .elementor-button-content-wrapper {
  align-items: center;
}
.elementor-button:has(.elementor-button-icon) .elementor-button-text {
  text-box: trim-both cap alphabetic;
}

/* Pastilles de statut sélectionnées : couleur du statut (comme les pastilles des cartes). L'ancien CSS
   colorait toute pastille en vert et la dernière en rouge, ce qui donnait « Complet » en vert et
   « Bientôt en vente » en rouge. Texte foncé sur le jaune pour rester lisible. */
#filter-form .status-pill:has(input[value="billets_disponibles"]:checked) {
  background: #28a745;
  border-color: #28a745;
  color: #fff;
}
#filter-form .status-pill:has(input[value="complet"]:checked) {
  background: #d4727b;
  border-color: #d4727b;
  color: #fff;
}
#filter-form .status-pill:has(input[value="bientôt"]:checked) {
  background: #f2c94c;
  border-color: #f2c94c;
  color: #101010;
}
#filter-form .status-pill:has(input:checked) .status-dot {
  background: #fff;
}
#filter-form .status-pill:has(input[value="bientôt"]:checked) .status-dot {
  background: #101010;
}

/* Un seul H1 par page : titres changés de niveau pour le référencement, sans changer leur apparence.
   titre-h1 : ancien H1 devenu H2, garde le style des H1. titre-h2 : ancien H2 devenu H1, garde le style des H2. */
.elementor-kit-5 .titre-h1 {
  font-family: var(--e-global-typography-bc90613-font-family), Sans-serif;
  font-size: var(--e-global-typography-bc90613-font-size);
  font-weight: var(--e-global-typography-bc90613-font-weight);
  line-height: var(--e-global-typography-bc90613-line-height);
  letter-spacing: var(--e-global-typography-bc90613-letter-spacing);
}
.elementor-kit-5 .titre-h2 {
  font-family: var(--e-global-typography-77438a7-font-family), Sans-serif;
  font-size: var(--e-global-typography-77438a7-font-size);
  font-weight: var(--e-global-typography-77438a7-font-weight);
  line-height: 1.2;
  letter-spacing: normal;
}

/* Contraste du texte gris (WCAG AA, 4,5:1) : #7A7A7A (4,29:1 sur blanc, 4,07:1 sur #F8F9FA) remplacé par
   #6F6F6F (5,0:1 et 4,8:1). Nuance à peine visible, approuvée par Gabriel le 19 octobre 2026. */
.elementor-kit-5 {
  --e-global-color-text: #6F6F6F;
}
.elementor-6911 .elementor-element.elementor-element-0893f50 {
  color: #6F6F6F;
}
.jet-custom-nav .jet-menu-icon:before,
.jet-custom-nav .jet-menu-badge .jet-menu-badge__inner {
  color: #6F6F6F;
}
/* Pied de page (fond #101010) : le même gris y est éclairci plutôt qu'assombri (#8A8A8A, 5,5:1). */
.elementor-kit-5 [data-elementor-type="footer"] {
  --e-global-color-text: #8A8A8A;
}

/* En-tête de l'accueil : bouton Billetterie avec un espacement asymétrique dans Elementor (10 px en haut,
   7 px en bas), texte trop bas. Même hauteur, espacement égal. */
.elementor-4261 .elementor-element.elementor-element-09d68d4 .elementor-button {
  padding-top: 8.5px;
  padding-bottom: 8.5px;
}

/* En-têtes avec photo de fond : Elementor y met un fond #DCDDDD et un titre de la même couleur. Tant que la
   photo n'est pas chargée (connexion lente, image manquante), le titre est invisible. Fond de secours sombre,
   caché par la photo une fois chargée. */
.elementor-2396 .elementor-element.elementor-element-f8de5fb:not(.elementor-motion-effects-element-type-background),
.elementor-414 .elementor-element.elementor-element-f8de5fb:not(.elementor-motion-effects-element-type-background),
.elementor-4460 .elementor-element.elementor-element-f8de5fb:not(.elementor-motion-effects-element-type-background),
.elementor-4667 .elementor-element.elementor-element-f8de5fb:not(.elementor-motion-effects-element-type-background),
.elementor-5375 .elementor-element.elementor-element-f8de5fb:not(.elementor-motion-effects-element-type-background),
.elementor-5090 .elementor-element.elementor-element-1fa2b58:not(.elementor-motion-effects-element-type-background),
.elementor-5466 .elementor-element.elementor-element-1fa2b58:not(.elementor-motion-effects-element-type-background),
.elementor-1028 .elementor-element.elementor-element-1eee80d,
.elementor-1028 .elementor-element.elementor-element-6e50071:not(.elementor-motion-effects-element-type-background),
.elementor-1028 .elementor-element.elementor-element-89978e8:not(.elementor-motion-effects-element-type-background) {
  background-color: var(--e-global-color-bca6eef);
}

/* Crédit de conception (Falia), sur sa propre ligne sous les droits d'auteur du pied de page. */
.credit-falia { display: block; margin-top: 4px; }
.credit-falia a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.credit-falia a:hover, .credit-falia a:focus-visible { opacity: .8; }

/* Bouton Billetterie du pied de page : rembourrage vertical égal (8,5 px), comme celui de l'en-tête.
   L'original (10 px en haut, 7 px en bas) descendait le texte et l'icône de 1,5 px sous le centre. */
.elementor-469 .elementor-element.elementor-global-2059.elementor-element-b0d4be6 .elementor-button { padding-top: 8.5px; padding-bottom: 8.5px; }

/* Boutons Billetterie des autres gabarits : même défaut que l'en-tête de l'accueil (Elementor met 10 px
   en haut et 4 px ou 7 px en bas, texte trop bas). Même hauteur, espacement égal. Relevés par
   scripts/tests/centrage-boutons.mjs le 28 octobre 2026. */
body .elementor .elementor-element:is(.elementor-element-05ec23b, .elementor-element-0fd0a51, .elementor-element-204cc47c,
  .elementor-element-25c1d189, .elementor-element-4095b82, .elementor-element-47d54c7, .elementor-element-6181aba7,
  .elementor-element-640d6886, .elementor-element-714f6c6a, .elementor-element-755a7490, .elementor-element-7b896578,
  .elementor-element-a55abe6) .elementor-button {
  padding-top: 7px;
  padding-bottom: 7px;
}
body .elementor .elementor-element.elementor-element-5b315f93 .elementor-button {
  padding-top: 8.5px;
  padding-bottom: 8.5px;
}
@media (max-width: 767px) {
  body .elementor .elementor-element.elementor-element-7b896578 .elementor-button {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
