/* Sticky player only – remove volume control */
#sonaar-player .volume.control--item {
  display: none !important;
}
/* Sticky player only: always-scroll track title (no hover needed) */
#sonaar-player .playerNowPlaying .metadata-inner{
  overflow: hidden;
  white-space: nowrap;
}

/* Prevent Sonaar hover from injecting inline transform */
#sonaar-player .playerNowPlaying .metadata{
  pointer-events: none;
}

/* Animate the title itself */
#sonaar-player .playerNowPlaying .metadata .track-name{
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  animation: sonaar_marquee 18s linear infinite;
}

/* Optional: also animate album/artist if you want */
#sonaar-player .playerNowPlaying .metadata .track-album,
#sonaar-player .playerNowPlaying .metadata .track-artist{
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  animation: sonaar_marquee 18s linear infinite;
}

@keyframes sonaar_marquee{
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* ================================================================
   ONGLET D'OUVERTURE / FERMETURE DU LECTEUR (10/09/2026)
   Le bouton natif est un carre blanc 24x24 : invisible sur le fond
   beige du site. On lui donne son propre fond noir, celui du
   bandeau, et une taille de vrai bouton.
   ================================================================ */
:root{
  --lg-tab-h: 32px;
  --lg-tab-offset: 20px;
  --lg-tab-bg: #000;
  --lg-tab-bg-hover: #1c1c1c;
  --lg-tab-fg: #fff;
}
#sonaar-player .close.btn-player{
  width: auto !important;
  min-width: 54px !important;
  height: var(--lg-tab-h) !important;
  padding: 0 12px !important;
  right: var(--lg-tab-offset) !important;
  transform: translateY(-100%) !important;
  border-radius: 10px 10px 0 0 !important;
  background: var(--lg-tab-bg) !important;
  color: var(--lg-tab-fg) !important;
  box-shadow: 0 -3px 14px rgba(0,0,0,.25);
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: visible !important;
  cursor: pointer;
  transition: background-color .25s ease, box-shadow .25s ease;
}
#sonaar-player .close.btn-player:hover{
  background: var(--lg-tab-bg-hover) !important;
  box-shadow: 0 -4px 18px rgba(0,0,0,.32);
}
#sonaar-player .close.btn-player:focus-visible{
  outline: 2px solid #fff;
  outline-offset: 2px;
}
#sonaar-player .close.btn-player::before{
  color: var(--lg-tab-fg) !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
#sonaar-player .close.btn-player svg{
  width: 13px !important;
  height: 13px !important;
  display: block !important;
  flex: 0 0 auto;
}
#sonaar-player .close.btn-player svg rect{
  fill: var(--lg-tab-fg) !important;
}
/* Zone de clic elargie quand le lecteur est ouvert */
#sonaar-player .close.btn-player.enable::after{
  content: "" !important;
  position: absolute;
  left: -10px;
  right: -10px;
  top: -14px;
  bottom: 0;
  background: none;
  border: 0;
}
/* Etat replie : titre du morceau (rempli par le JS, optionnel) */
#sonaar-player .close.btn-player:not(.enable){
  padding: 0 14px !important;
}
#sonaar-player .close.btn-player:not(.enable)::after{
  content: attr(data-lg-track);
  margin-left: 9px;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Libre-Baskerville", "Libre Caslon Display", Georgia, serif;
  font-size: 12px;
  letter-spacing: .02em;
  line-height: 1;
  color: var(--lg-tab-fg);
  opacity: .92;
}
#sonaar-player .close.btn-player:not(.enable):not([data-lg-track])::after,
#sonaar-player .close.btn-player:not(.enable)[data-lg-track=""]::after{
  content: none;
}
@media (max-width: 767px){
  :root{ --lg-tab-offset: 12px; }
  #sonaar-player .close.btn-player:not(.enable)::after{ max-width: 46vw; }
}
@media (prefers-reduced-motion: reduce){
  #sonaar-player .close.btn-player{ transition: none; }
}


/* ================================================================
   HEADER — MENU PRINCIPAL : UN SEUL HOVER, SUR TOUTES LES PAGES
   Léanore Gillet — 11 septembre 2026

   PROBLÈME CORRIGÉ
   Le hover du menu changeait selon la page :
     - Journey, Accueil, Prelude : grand pavé blanc
       (ancien bloc « CSS Hamburger Menu », fond #FFFFFF)
     - Repertoire (page 4076) : petit stabilo ivoire #EEE8DF
     - Events (page 6717)     : petit stabilo gris  #E4E4E4
     - Accolades (page 5183)  : petit stabilo mauve #F3EAF0
   Les effets « stabilo » de chaque page ciblent TOUS les liens de
   la page (sauf le footer) ; ils attrapaient donc aussi le menu du
   header, en réduisant son padding à .08em .30em.

   SOLUTION
   Un seul style, réservé au header (.elementor-location-header),
   prioritaire sur les CSS de page (!important sur les seules
   propriétés concernées). Les stabilos de page continuent de
   fonctionner normalement dans le contenu des pages.
     couleur : ivoire #EEE8DF (celle de Repertoire)
     taille  : pavé complet 13px 20px, coins 6px (celle de Journey)

   OÙ COLLER
   Apparence > Personnaliser > CSS additionnel, À LA FIN du CSS
   existant (rien à supprimer). Puis vider le cache et Cmd+Maj+R.
   ================================================================ */

:root{
  --lg-menu-hover: #EEE8DF;       /* ivoire — un seul endroit à changer */
  --lg-menu-pad: 13px 20px;       /* taille du pavé (menu desktop)      */
  --lg-menu-radius: 6px;
}

/* --- 1. Menu desktop (+ son dropdown Elementor éventuel) --- */
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item{
  padding: var(--lg-menu-pad) !important;
  border-radius: var(--lg-menu-radius) !important;
  text-decoration: none !important;
  background-color: transparent !important;
  background-image: linear-gradient(var(--lg-menu-hover), var(--lg-menu-hover)) !important;
  background-repeat: no-repeat !important;
  background-position: 0 50% !important;
  background-size: 0% 100% !important;
  transition: background-size .28s ease, color .2s ease !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:focus-visible{
  background-size: 100% 100% !important;
}

/* --- 2. Menu mobile (panneau noir JetMenu) : même ivoire --- */
.elementor-location-header .jet-mobile-menu .mobile-link{
  padding: .10em .55em !important;
  border-radius: var(--lg-menu-radius) !important;
  text-decoration: none !important;
  background-color: transparent !important;
  background-image: linear-gradient(var(--lg-menu-hover), var(--lg-menu-hover)) !important;
  background-repeat: no-repeat !important;
  background-position: 0 50% !important;
  background-size: 0% 100% !important;
  transition: background-size .28s ease, color .2s ease !important;
}
.elementor-location-header .jet-mobile-menu .mobile-link:hover,
.elementor-location-header .jet-mobile-menu .mobile-link:focus-visible{
  background-size: 100% 100% !important;
}

/* --- 3. « Léanore Gillet » : lien vers l'accueil, sans stabilo --- */
.elementor-location-header .elementor-widget-heading .elementor-heading-title a{
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
  background: none !important;
  padding: 0 !important;
  display: inline !important;
  transition: opacity .2s ease;
}
.elementor-location-header .elementor-widget-heading .elementor-heading-title a:hover{
  opacity: .75;
}
.elementor-location-header .elementor-widget-heading .elementor-heading-title a:focus-visible{
  outline: 1px solid currentColor;
  outline-offset: 4px;
  border-radius: 2px;
}

/* --- 4. Mouvement réduit --- */
@media (prefers-reduced-motion: reduce){
  .elementor-location-header .elementor-nav-menu .elementor-item,
  .elementor-location-header .jet-mobile-menu .mobile-link,
  .elementor-location-header .elementor-heading-title a{
    transition: none !important;
  }
}


/* ================================================================
   ACCOLADES — « PERFORMED REPERTOIRE » : TAILLE DE POLICE
   Léanore Gillet — 11 septembre 2026
   Liste du plugin lg-accolades-programme (ul.accolade-repertoire),
   alignée sur les autres infos de la carte (20px au lieu de 25px).
   Titre H3 réglé à 26px dans Elementor (listing 5123, widget c779e58).
   ================================================================ */

.accolade-repertoire{
  font-size: 20px;
  line-height: 1.5;
}
.accolade-repertoire li + li{
  margin-top: .35em;
}


/* ================================================================
   FICHE D'ŒUVRE (template Single Repertoire 11011)
   « Publicly performed » masqué quand la liste « Performed at: »
   contient au moins une performance (redondant). Si la liste est
   vide, la mention reste affichée.
   Léanore Gillet — 11 septembre 2026
   ================================================================ */

.elementor-11011:has(.elementor-element-fae2269 .jet-listing-grid__item) .elementor-element-889d1b3{
  display: none !important;
}

/* ================================================================
   REPERTOIRE — « PERFORMANCES » ALIGNÉE SUR « PROGRAMME » (EVENTS)
   11/09/2026 — template listing 4042 : titre 54f51bd, liste 6f9da9a.
   Réf. Events : template 11703, widget prg1a2b (20px / 28px, puce 2.1em).
   font-size:0 sur le li = masque le délimiteur « , » de JetEngine.
   ================================================================ */
.elementor-4042 .elementor-element-54f51bd .elementor-heading-title{font-size:32px;line-height:1em;}
.elementor-4042 .elementor-element-6f9da9a ul{list-style:none;margin:12px 0 0;padding:0 0 0 8px;}
.elementor-4042 .elementor-element-6f9da9a li{font-size:0;line-height:0;padding-left:31px;text-indent:-31px;}
.elementor-4042 .elementor-element-6f9da9a li + li{margin-top:24px;}
.elementor-4042 .elementor-element-6f9da9a li::before{content:"\2022";font-family:"Libre Caslon Display",sans-serif;font-size:42px;line-height:0;position:relative;top:.11em;margin-right:.42em;color:#1a1a1a;}
.elementor-4042 .elementor-element-6f9da9a li a{font-family:"Libre Caslon Display",sans-serif;font-size:20px;line-height:1.4em;letter-spacing:.1px;color:#1a1a1a;}

/* === 2026-09-11 Compositeur + Oeuvre : meme hover stabilo ivoire que Repertoire (voir Design/CSS) === */
body:is(.single-cpt-composers,.single-repertoire) :where(a):not(.elementor-button):not([class*="btn"]):not(.wp-block-button__link):not(.jet-engine-listing-overlay-link):not(.skip-link):not(:has(img,svg,picture)):not(.elementor-location-header a):not(footer a):not(.elementor-location-footer a):not(.site-footer a){text-decoration:none !important;display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.08em .30em;background-image:linear-gradient(#EEE8DF,#EEE8DF);background-repeat:no-repeat;background-size:0% 100%;background-position:0 80%;transition:background-size .28s ease;}
body:is(.single-cpt-composers,.single-repertoire) :where(a):not(.elementor-button):not([class*="btn"]):not(.wp-block-button__link):not(.jet-engine-listing-overlay-link):not(.skip-link):not(:has(img,svg,picture)):not(.elementor-location-header a):not(footer a):not(.elementor-location-footer a):not(.site-footer a):is(:hover,:focus-visible){background-size:100% 100%;}
@media (prefers-reduced-motion:reduce){body:is(.single-cpt-composers,.single-repertoire) :where(a){transition:none !important;}}

/* ================================================================
   TABLETTE — 2026-09-24
   Portrait / petites tablettes : 768–1024 px (point de rupture Elementor « tablette »)
   Paysage : 1025–1279 px (iPad Air/Pro en paysage : gabarit bureau resserré)
   ================================================================ */

/* --- 0. Toutes tailles : bandeaux pleine largeur qui débordaient de 10 px
        (Repertoire, Events, Accolades, Contact — scroll horizontal parasite) --- */
.elementor-element.elementor-element-664f3f8,
.elementor-element.elementor-element-d5ff118,
.elementor-element.elementor-element-ef63eb5,
.elementor-element.elementor-element-7575957{ --margin-left:0px; --margin-right:0px; margin-left:0 !important; margin-right:0 !important; }

@media (min-width:768px) and (max-width:1024px){

  /* --- 1. Header : un seul hamburger (JetMenu). Le burger gris Elementor ouvrait un menu vide --- */
  .elementor-element-navmenu1 .elementor-menu-toggle,
  .elementor-element-navmenu1 .elementor-nav-menu--dropdown{ display:none !important; }

  /* --- 2. Accueil : la photo occupe la page au lieu d'une bande + 200 px de vide --- */
  .elementor-element.elementor-element-6dd12d7{ --min-height:0px; min-height:0 !important; }
  .elementor-element-01659d5 img{ width:100% !important; max-width:none !important; height:min(68vh, 760px) !important; object-fit:cover; object-position:42% 55%; }

  /* --- 3. Repertoire / Events / Accolades : la colonne de filtres devient un bandeau --- */
  .elementor-element.elementor-element-d0e6db3,
  .elementor-element.elementor-element-9d23471,
  .elementor-element.elementor-element-7caff7e{ flex-direction:column !important; flex-wrap:nowrap !important; padding-left:24px !important; padding-right:24px !important; }
  :is(.elementor-element-d0e6db3,.elementor-element-9d23471,.elementor-element-7caff7e) > .e-con-inner{ flex-direction:column !important; flex-wrap:nowrap !important; width:100% !important; max-width:100% !important; }
  .elementor-element.elementor-element-dbd3fb4,
  .elementor-element.elementor-element-58a4270,
  .elementor-element.elementor-element-e12b20e{
    --width:100% !important; width:100% !important; max-width:100% !important;
    position:static !important; top:auto !important; height:auto !important; min-height:0 !important;
    display:block !important; columns:3; column-gap:32px;
    padding:28px 32px 18px !important; margin:0 0 24px !important;
  }
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) > .elementor-widget-divider,
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) > .e-con:has(> .elementor-widget-divider:only-child),
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) > .e-con:last-child:has(.elementor-widget-icon){ display:none !important; }
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) > .e-con{ --width:100% !important; width:100% !important; max-width:none !important; padding:6px 0 14px !important; break-inside:avoid; }
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) > .e-con:first-child{ column-span:all; border-bottom:1px solid rgba(0,0,0,.18); padding-bottom:14px !important; margin-bottom:10px; }
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) br{ display:none; }
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) select,
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) input[type="search"],
  :is(.elementor-element-dbd3fb4,.elementor-element-58a4270,.elementor-element-e12b20e) .jet-search-filter__input{ width:100% !important; max-width:100% !important; min-height:40px; }
  .elementor-element.elementor-element-067dd83,
  .elementor-element.elementor-element-7b59f35,
  .elementor-element.elementor-element-9b19e74{ --width:100% !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:0 0 24px !important; }

  /* --- 4. Journey : colonne de texte plus large, corps un peu plus petit, sans « rivières » --- */
  :is(.elementor-element-0150d4f,.elementor-element-6e44673,.elementor-element-d7abf6c,.elementor-element-c6c80f5,.elementor-element-0d8bb06,.elementor-element-4913e1e){ padding-left:28px !important; padding-right:28px !important; }
  :is(.elementor-element-a780501,.elementor-element-40374a7,.elementor-element-eb37208,.elementor-element-2acd764,.elementor-element-a90499b,.elementor-element-8770f1e){ padding:48px 24px !important; }
  body.page-id-3426 .elementor-widget-text-editor p{ font-size:21px !important; line-height:1.65 !important; -webkit-hyphens:auto; hyphens:auto; }

  /* --- 5. Fiche œuvre (gabarit 11011) : partition en frontispice, textes pleine largeur --- */
  .elementor-element.elementor-element-89a2bdb,
  .elementor-element.elementor-element-89a2bdb > .e-con-inner{ flex-direction:column !important; align-items:center !important; }
  .elementor-element.elementor-element-e66742c{ --width:100% !important; width:100% !important; max-width:100% !important; }
  .elementor-element.elementor-element-ab317cf{ width:100% !important; max-width:420px !important; margin:0 auto 12px !important; position:static !important; }
  .elementor-element-ab317cf .lg-score__page img{ width:100% !important; height:auto !important; }
  .elementor-element-9a59f79 img{ width:auto !important; max-width:260px !important; margin:0 auto; display:block; }
  /* Fiche œuvre + fiche événement : colonne de cartes centrée (plus de marge droite de 100 px) */
  .elementor-element.elementor-element-1b53d90,
  .elementor-element.elementor-element-f9a5418{ --width:100% !important; width:100% !important; max-width:700px !important; margin:0 auto !important; padding:0 24px !important; }
  /* Fiche événement : lieu · date sur une ligne */
  .elementor-element.elementor-element-626288f{ --width:100% !important; width:100% !important; max-width:720px !important; }
  .elementor-element.elementor-element-4fe8e66{ flex-wrap:wrap !important; align-items:baseline !important; }
  .elementor-element-df9c693{ white-space:nowrap; }

  /* --- 6. Contact : formulaire plus large --- */
  .elementor-element.elementor-element-134e583{ --width:100% !important; width:100% !important; }
}

/* --- 7. Paysage (1025–1279) : le menu tient sur une ligne, icônes Prelude/Interlude côte à côte --- */
@media (min-width:1025px) and (max-width:1279px){
  .elementor-element-navmenu1 .elementor-nav-menu--main > ul > li:not(:first-child){ margin-left:18px !important; }
  .elementor-element-navmenu1 .elementor-nav-menu--main > ul{ flex-wrap:nowrap !important; }
}
