.elementor-kit-4{--e-global-color-primary:#0B1C27;--e-global-color-secondary:#036F8F;--e-global-color-text:#18242D;--e-global-color-accent:#0495BF;--e-global-color-or:#D9A441;--e-global-color-sable:#ECE4D6;--e-global-color-creme:#F7F3EC;--e-global-color-gris:#5B6870;--e-global-color-nuit2:#12293A;--e-global-color-pied:#07131B;--e-global-color-clair:#8FD8EF;--e-global-color-blanc:#FFFFFF;--e-global-color-texte_clair:#B5C5CE;--e-global-color-texte_sombre:#A9BAC4;--e-global-color-blanc_doux:#FFFFFFE0;--e-global-color-blanc_discret:#FFFFFFBF;--e-global-color-alerte:#B4442E;--e-global-color-alerte_claire:#FFB39F;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.01em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1.0625rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:0.98rem;--e-global-typography-accent-font-weight:600;--e-global-typography-surtitre-font-family:"Inter";--e-global-typography-surtitre-font-size:0.78rem;--e-global-typography-surtitre-font-weight:600;--e-global-typography-surtitre-text-transform:uppercase;--e-global-typography-surtitre-letter-spacing:0.18em;--e-global-typography-etiquette-font-family:"Inter";--e-global-typography-etiquette-font-size:0.75rem;--e-global-typography-etiquette-font-weight:600;--e-global-typography-etiquette-text-transform:uppercase;--e-global-typography-etiquette-letter-spacing:0.16em;--e-global-typography-intro-font-family:"Inter";--e-global-typography-intro-font-size:1.15rem;--e-global-typography-intro-font-weight:400;--e-global-typography-intro-line-height:1.6em;--e-global-typography-petit_titre-font-family:"Inter";--e-global-typography-petit_titre-font-size:0.8rem;--e-global-typography-petit_titre-font-weight:600;--e-global-typography-petit_titre-text-transform:uppercase;--e-global-typography-petit_titre-letter-spacing:0.14em;--e-global-typography-bandeau_titre-font-family:"Fraunces";--e-global-typography-bandeau_titre-font-size:clamp(2.5rem, 6vw, 4.4rem);--e-global-typography-bandeau_titre-font-weight:400;--e-global-typography-bandeau_titre-line-height:1.12em;--e-global-typography-concert_titre-font-family:"Fraunces";--e-global-typography-concert_titre-font-size:clamp(2.2rem, 5vw, 3.6rem);--e-global-typography-concert_titre-font-weight:400;--e-global-typography-concert_titre-line-height:1.12em;--e-global-typography-carte_titre-font-family:"Fraunces";--e-global-typography-carte_titre-font-size:1.3rem;--e-global-typography-carte_titre-font-weight:500;--e-global-typography-carte_titre-line-height:1.2em;--e-global-typography-carte_date-font-family:"Inter";--e-global-typography-carte_date-font-size:0.85rem;--e-global-typography-carte_date-font-weight:600;--e-global-typography-carte_lieu-font-family:"Inter";--e-global-typography-carte_lieu-font-size:0.95rem;--e-global-typography-carte_lieu-font-weight:400;--e-global-typography-carte_info-font-family:"Inter";--e-global-typography-carte_info-font-size:0.88rem;--e-global-typography-carte_info-font-weight:400;--e-global-typography-carte_info-font-style:italic;--e-global-typography-pastille_jour-font-family:"Fraunces";--e-global-typography-pastille_jour-font-size:1.7rem;--e-global-typography-pastille_jour-font-weight:600;--e-global-typography-pastille_jour-line-height:1em;--e-global-typography-pastille_mois-font-family:"Inter";--e-global-typography-pastille_mois-font-size:0.72rem;--e-global-typography-pastille_mois-font-weight:600;--e-global-typography-pastille_mois-text-transform:uppercase;--e-global-typography-pastille_mois-line-height:1em;--e-global-typography-pastille_mois-letter-spacing:0.1em;--e-global-typography-prochain_date-font-family:"Fraunces";--e-global-typography-prochain_date-font-size:2.1rem;--e-global-typography-prochain_date-font-weight:400;--e-global-typography-prochain_date-line-height:1.1em;--e-global-typography-prochain_titre-font-family:"Inter";--e-global-typography-prochain_titre-font-size:1.05rem;--e-global-typography-prochain_titre-font-weight:600;--e-global-typography-statut-font-family:"Inter";--e-global-typography-statut-font-size:0.88rem;--e-global-typography-statut-font-weight:600;--e-global-typography-statut_bandeau-font-family:"Inter";--e-global-typography-statut_bandeau-font-size:1.05rem;--e-global-typography-statut_bandeau-font-weight:600;--e-global-typography-badge-font-family:"Inter";--e-global-typography-badge-font-size:1rem;--e-global-typography-badge-font-weight:600;--e-global-typography-info_titre-font-family:"Inter";--e-global-typography-info_titre-font-size:1rem;--e-global-typography-info_titre-font-weight:600;--e-global-typography-chiffre-font-family:"Fraunces";--e-global-typography-chiffre-font-size:clamp(2.2rem, 4vw, 3rem);--e-global-typography-chiffre-font-weight:500;--e-global-typography-chiffre-line-height:1em;--e-global-typography-legende-font-family:"Inter";--e-global-typography-legende-font-size:0.88rem;--e-global-typography-legende-font-weight:400;--e-global-typography-frise_annee-font-family:"Fraunces";--e-global-typography-frise_annee-font-size:2rem;--e-global-typography-frise_annee-font-weight:500;--e-global-typography-frise_annee-line-height:1em;--e-global-typography-frise_theme-font-family:"Inter";--e-global-typography-frise_theme-font-size:1rem;--e-global-typography-frise_theme-font-weight:600;--e-global-typography-citation-font-family:"Fraunces";--e-global-typography-citation-font-size:1.45rem;--e-global-typography-citation-font-weight:400;--e-global-typography-citation-font-style:italic;--e-global-typography-citation-line-height:1.4em;--e-global-typography-faq-font-family:"Fraunces";--e-global-typography-faq-font-size:1.25rem;--e-global-typography-faq-font-weight:700;--e-global-typography-faq-line-height:1em;background-color:var( --e-global-color-creme );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );color:#FFFFFF;box-shadow:0px 10px 30px -12px rgba(4,149,191,0.8);border-radius:999px 999px 999px 999px;padding:0.85em 1.5em 0.85em 1.5em;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:#FFFFFF;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-secondary );}.elementor-kit-4 a:hover{color:var( --e-global-color-accent );}.elementor-kit-4 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:960px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h2{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h3{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h2{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 h3{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Chœur Pizzicati : CSS du site (Réglages du site > CSS personnalisé).

   Presque tout se règle dans Elementor, sans code :
   - couleurs et typographies globales (Réglages du site), dont les styles nommés « Surtitre »,
     « Carte : titre », « Frise : année »… reliés aux widgets (onglet Style) ;
   - fonds, bordures, coins arrondis et ombres des encadrés et des cartes (onglet Style) ;
   - le bouton par défaut, bleu (Réglages du site > Boutons).

   Ce fichier ne garde que ce qu'Elementor ne sait pas faire : décors dessinés, effets au survol,
   flou d'arrière-plan, dégradés à plusieurs couches, proportions des images, variantes de boutons
   et quelques règles techniques. Chaque bloc est repéré par une classe « pz-… » (onglet Avancé >
   Classes CSS). Les couleurs ci-dessous suivent les couleurs globales du site. */

:root {
	--bleu: var(--e-global-color-accent, #0495bf);
	--bleu-fonce: var(--e-global-color-secondary, #036f8f);
	--nuit: var(--e-global-color-primary, #0b1c27);
	--nuit-2: var(--e-global-color-nuit2, #12293a);
	--encre: var(--e-global-color-text, #18242d);
	--gris: var(--e-global-color-gris, #5b6870);
	--creme: var(--e-global-color-creme, #f7f3ec);
	--or: var(--e-global-color-or, #d9a441);
	--clair: var(--e-global-color-clair, #8fd8ef);
	--rayon: 18px;
	--ombre: 0 18px 50px -20px rgba(11, 28, 39, .35);
}

/* =========================================================================================
   Règles générales et techniques
   ========================================================================================= */

html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { -webkit-font-smoothing: antialiased; }
/* Les décors qui dépassent (cadre des photos) ne font pas glisser la page sur le côté */
html, body { overflow-x: clip; }
.elementor-heading-title { font-variation-settings: 'opsz' 96; }

/* Mots en italique dans les titres (« passion *partagée* ») : texte enrichi, en couleur */
.elementor-heading-title em { font-style: italic; font-weight: 400; color: var(--bleu); }
.pz-accueil .elementor-heading-title em, .pz-sombre .elementor-heading-title em, .pz-bandeau .elementor-heading-title em, .pz-appel .elementor-heading-title em { color: var(--clair); }

/* Éléments vides (champ du concert non rempli) : pas de place perdue */
.elementor-widget-heading:not(:has(.elementor-heading-title)),
.elementor-widget-text-editor:not(:has(*)):empty,
.elementor-widget-button:has(a.elementor-button:not([href])) { display: none; }

/* Les classes posées sur un conteneur s'écrivent « .e-con.pz-… » : les règles d'Elementor pour
   les conteneurs passent sinon devant (même poids, chargées après). */

/* Largeurs de lecture */
.pz-intro .elementor-heading-title { max-width: 46rem; }
.pz-accueil-texte p { max-width: 34rem; }
.pz-bandeau h1.elementor-heading-title { max-width: 22ch; }
.pz-bandeau-concert h1.elementor-heading-title { max-width: 26ch; }

/* =========================================================================================
   Boutons : le bouton par défaut est réglé dans Réglages du site > Boutons (bleu plein).
   Les autres sortes de boutons se choisissent par une classe (Avancé > Classes CSS).
   ========================================================================================= */

.elementor-button { transition: transform .2s, background .2s, color .2s, border-color .2s, box-shadow .2s; }
.elementor-button:hover { transform: translateY(-2px); }
/* pz-bouton-or : or, pour l'action principale sur fond sombre */
.pz-bouton-or .elementor-button { background: var(--or); color: var(--nuit); box-shadow: none; }
.pz-bouton-or .elementor-button:hover { background: #e7b65a; color: var(--nuit); }
/* pz-bouton-clair : contour blanc, sur fond sombre */
.pz-bouton-clair .elementor-button { background: transparent; border: 2px solid rgba(255, 255, 255, .6); color: #fff; box-shadow: none; }
.pz-bouton-clair .elementor-button:hover { background: #fff; color: var(--nuit); }
/* pz-bouton-contour : contour foncé, sur fond clair */
.pz-bouton-contour .elementor-button { background: transparent; border: 2px solid currentColor; color: var(--encre); box-shadow: none; }
.pz-bouton-contour .elementor-button:hover { background: transparent; color: var(--bleu); }
/* pz-lien-fleche : lien texte suivi d'une flèche */
.pz-lien-fleche .elementor-button { background: none; padding: 0; color: var(--bleu-fonce); font-size: .9rem; box-shadow: none; }
.pz-lien-fleche .elementor-button:hover { background: none; transform: none; color: var(--bleu); }
.pz-lien-fleche .elementor-button-text::after { content: ' →'; }
/* pz-retour : lien « ← Tous les concerts » des bandeaux */
.pz-retour .elementor-button { background: none; padding: .6rem 0; color: #b9c8d0; font-size: .85rem; font-weight: 400; box-shadow: none; }
.pz-retour .elementor-button:hover { background: none; color: #fff; transform: none; }
.pz-retour .elementor-button-text::before { content: '← '; }
/* Liens texte : zone de clic plus haute pour le doigt, sans changer la mise en page */
.pz-lien-fleche .elementor-button, .pz-retour .elementor-button { padding-block: .6rem; margin-block: -.6rem; }
.pz-carte-action .pz-lien-fleche .elementor-button { padding-inline: 0; }

/* =========================================================================================
   En-tête : fixe, fond sombre et flou dès qu'on fait défiler (script dans l'en-tête)
   ========================================================================================= */

.pz-entete { position: fixed !important; inset: 0 0 auto; z-index: 50; transition: background .3s, padding .3s, box-shadow .3s; }
.admin-bar .pz-entete { top: 32px; }
.pz-entete.est-defile { background: rgba(11, 28, 39, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .5); --padding-top: .6rem; --padding-bottom: .6rem; }
@media (max-width: 960px) { .pz-entete { background: rgba(11, 28, 39, .92); } }
/* « Espace choristes » : bouton de l'en-tête sur ordinateur et tablette, lien du menu sur téléphone */
.pz-menu-mobile { display: none !important; }
@media (max-width: 767px) { .elementor-nav-menu--dropdown .pz-menu-mobile { display: block !important; } }

/* =========================================================================================
   Dégradés à plusieurs couches (Elementor n'en fait qu'à deux couleurs)
   ========================================================================================= */

/* Accueil : voile sur la photo, plus sombre en bas et à gauche pour lire le texte */
.pz-accueil { position: relative; isolation: isolate; overflow: hidden; }
.pz-accueil::before {
	content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(11, 28, 39, .7) 0%, rgba(11, 28, 39, .25) 55%, transparent 80%),
		linear-gradient(180deg, rgba(11, 28, 39, .55) 0%, rgba(11, 28, 39, .15) 35%, rgba(11, 28, 39, .9) 100%),
		radial-gradient(ellipse at 20% 100%, rgba(4, 149, 191, .35), transparent 60%);
}
.pz-accueil > .e-con-inner { position: relative; z-index: 1; }
.pz-accueil h1.elementor-heading-title { text-shadow: 0 2px 30px rgba(0, 0, 0, .35); }
@media (max-width: 767px) {
	.pz-accueil::before { background: linear-gradient(180deg, rgba(11, 28, 39, .6) 0%, rgba(11, 28, 39, .45) 40%, rgba(11, 28, 39, .92) 100%); }
}

/* Bandeau des pages intérieures et d'un concert : lueurs bleue et or sur fond nuit */
.pz-bandeau {
	background:
		radial-gradient(ellipse at 85% 0%, rgba(4, 149, 191, .45), transparent 55%),
		radial-gradient(ellipse at 0% 100%, rgba(217, 164, 65, .18), transparent 50%),
		var(--nuit) !important;
	color: #dfe7ec;
}
.pz-sombre { color: #dfe7ec; }

/* =========================================================================================
   Flou d'arrière-plan (pas de réglage dans Elementor)
   ========================================================================================= */

.e-con.pz-prochain { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); color: #fff; }

/* =========================================================================================
   Décors dessinés
   ========================================================================================= */

/* Point or qui pulse devant « Prochain concert » */
.pz-prochain-etiquette .elementor-heading-title { display: flex; align-items: center; gap: .5rem; }
.pz-prochain-etiquette .elementor-heading-title::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--or); animation: pz-pulsation 2s infinite; }
@keyframes pz-pulsation { 0% { box-shadow: 0 0 0 0 rgba(217, 164, 65, .7); } 70% { box-shadow: 0 0 0 10px rgba(217, 164, 65, 0); } 100% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0); } }
.pz-prochain-titre .elementor-heading-title a { text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: .2em; }

/* Pastille de date posée sur l'affiche des cartes */
.pz-pastille { position: absolute !important; top: 1rem; left: 1rem; width: auto !important; background: #fff; border-radius: 12px; padding: .45rem .7rem !important; text-align: center; line-height: 1; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .5); }

/* Cadre bleu décalé derrière les photos */
.pz-photo-cadre { position: relative; isolation: isolate; }
.pz-photo-cadre::before { content: ''; position: absolute; inset: 2rem -1.5rem -1.5rem 2rem; z-index: -1; border: 2px solid var(--bleu); border-radius: var(--rayon); }

/* Frise « Un tour du monde » : ligne en dégradé et cercles ; pz-etape-actuelle = point or */
.pz-frise { position: relative; }
.pz-frise::before { content: ''; position: absolute; left: 0; right: 0; top: 23px; height: 2px; background: linear-gradient(90deg, var(--bleu), var(--or)); }
.pz-etape { position: relative; padding-top: 3.6rem !important; }
.pz-etape::before { content: ''; position: absolute; top: 14px; left: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--creme); border: 3px solid var(--bleu); box-sizing: border-box; }
.pz-etape-actuelle::before { background: var(--or); border-color: var(--or); box-shadow: 0 0 0 6px rgba(217, 164, 65, .25); }
@media (max-width: 960px) {
	.pz-frise::before { left: 9px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--bleu), var(--or)); }
	.pz-etape { padding: 0 0 1.5rem 2.2rem !important; }
	.pz-etape::before { top: .4rem; }
}

/* Notes « ♪ » devant le programme et les interprètes */
.pz-prose p:first-child { font-size: 1.15rem; }
.pz-prose h2, .pz-listes h2 { font-size: 1.5rem; margin: 2rem 0 .8rem; }
.liste-musique { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.liste-musique li { padding-left: 1.4rem; position: relative; }
.liste-musique li::before { content: '♪'; position: absolute; left: 0; color: var(--bleu); }

/* Fond de l'icône des encadrés Date, Lieu, Tarifs */
.pz-info .elementor-icon-box-title { margin-top: 0; }
.pz-info .elementor-icon { background: rgba(4, 149, 191, .14); border-radius: 12px; padding: 12px; }
.pz-sombre .pz-info .elementor-icon-box-description a { color: var(--clair); }
.pz-info .pz-lien-fleche { margin-top: -.6rem; }

/* Monogramme rond de la pianiste */
.pz-monogramme .elementor-heading-title { width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--bleu), var(--nuit)); font-size: 1.8rem; color: #fff; }

/* =========================================================================================
   Effets au survol
   ========================================================================================= */

/* Cartes de concert qui se soulèvent, affiche qui grossit */
.e-con.pz-carte { height: 100%; transition: transform .3s, box-shadow .3s; }
.e-con.pz-carte:hover { transform: translateY(-6px); box-shadow: 0 28px 60px -24px rgba(11, 28, 39, .45); }
.pz-carte-affiche img { transition: transform .6s; }
.pz-carte:hover .pz-carte-affiche img { transform: scale(1.04); }

/* =========================================================================================
   Proportions des images
   ========================================================================================= */

/* Affiche des cartes : 3/4, recadrée en 4/3 sur téléphone (haut de l'affiche) */
.e-con.pz-carte-affiche { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: radial-gradient(circle at 30% 20%, var(--bleu), var(--nuit) 70%); }
.pz-carte-affiche .elementor-widget-image, .pz-carte-affiche .elementor-widget-image a, .pz-carte-affiche img { width: 100%; height: 100%; }
.pz-carte-affiche img { object-fit: cover; }
.pz-carte-action { margin-top: auto; }
@media (max-width: 767px) { .e-con.pz-carte-affiche { aspect-ratio: 4 / 3; } .pz-carte-affiche img { object-position: top; } }

/* Photos et portraits : 4/5, limités en largeur quand les colonnes s'empilent */
.pz-photo-cadre img, .pz-portrait img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.pz-portrait figcaption, .pz-portrait .widget-image-caption { font-size: .78rem; color: #7f939f; margin-top: .6rem; text-align: left; }
@media (max-width: 960px) {
	/* Elementor fixe max-width: 100% avec « .elementor.elementor .e-con > .elementor-widget » */
	.elementor.elementor .e-con > .elementor-widget.pz-photo-cadre, .elementor.elementor .e-con > .elementor-widget.pz-portrait { max-width: 460px; }
	.pz-photo-cadre::before { inset: 1.2rem -.9rem -.9rem 1.2rem; }
}

/* Affiche de la page d'un concert : reste visible en faisant défiler */
.pz-detail-affiche { position: sticky !important; top: 6rem; align-self: start; }
.pz-detail-affiche img { width: 100%; }

/* Photo de la carte « De Bordeaux à Salamanque » : remplit sa moitié */
.pz-carte-blanche .elementor-widget-image img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }

/* =========================================================================================
   Listes écrites dans les textes (onglet Contenu, code HTML de l'éditeur de texte)
   ========================================================================================= */

/* Partenaires (Le chœur) */
.etiquettes { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.etiquettes li { background: #fff; border: 1px solid rgba(24, 36, 45, .1); border-radius: 999px; padding: .35rem .9rem; font-size: .88rem; }
/* Repères de l'équipe musicale : année à gauche, texte à droite */
.faits { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; }
.faits li { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: baseline; }
.faits b { font-family: 'Fraunces', serif; color: var(--or); font-size: 1.2rem; font-weight: 500; }
@media (max-width: 520px) { .faits li { grid-template-columns: 1fr; gap: .2rem; } }
/* Pupitres recherchés (Nous rejoindre) */
.pupitres { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.pupitres li { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.3rem; padding: .3rem 1.1rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .25); color: #fff; }
/* Bureau de l'association */
.bureau { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.bureau li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed rgba(24, 36, 45, .18); padding-bottom: .5rem; }
.bureau span { color: var(--gris); font-size: .92rem; }
/* Questions fréquentes : un simple trait entre les questions */
.pz-faq .elementor-toggle-item { border-bottom: 1px solid rgba(24, 36, 45, .14); }
.pz-faq .elementor-tab-title { border: 0 !important; padding: 1.1rem 0 !important; }
.pz-faq .elementor-toggle-icon { font-size: 1.25rem; line-height: 1; }
.pz-faq .elementor-tab-content { border: 0 !important; padding: 0 0 1.1rem !important; }
/* Pied de page */
.pz-pied { color: #8fa2ad; font-size: .93rem; }
.pz-pied ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.pz-pied a { color: #b9c8d0; text-decoration: none; }
.pz-pied a:hover { color: #fff; }
.pz-pied-bas { border-top: 1px solid rgba(255, 255, 255, .08); font-size: .82rem; }
.pz-pied-bas p { margin: 0; }

/* =========================================================================================
   Widget « Concerts par saison » (ses couleurs et polices se règlent aussi dans son onglet Style)
   ========================================================================================= */

.pz-saisons__tete { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.pz-saisons__tete h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.pz-saisons__chiffre { color: var(--gris); }
.pz-saisons__liste { margin-top: 1.8rem; column-gap: 3rem; }
.pz-saison { break-inside: avoid; margin-bottom: 1.8rem; }
.pz-saison h3 { font-size: 1.15rem; font-weight: 500; margin: 0 0 .5rem; padding-bottom: .4rem; border-bottom: 1px solid rgba(24, 36, 45, .15); color: var(--bleu-fonce); }
.pz-saison ul { list-style: none; margin: 0; padding: 0; }
.pz-saison li { display: grid; grid-template-columns: max-content 1fr; gap: .9rem; padding: .28rem 0; font-size: .95rem; }
.pz-saison time { color: var(--gris); font-variant-numeric: tabular-nums; }
.pz-saison a { color: var(--encre); text-decoration: none; }
.pz-saison a:hover { color: var(--bleu-fonce); }
.pz-saisons .pz-saisons__plus.elementor-button { margin-top: .5rem; background: transparent; border: 2px solid currentColor; color: var(--encre); border-radius: 999px; cursor: pointer; box-shadow: none; }
.pz-saisons .pz-saisons__plus.elementor-button:hover { background: transparent; color: var(--bleu); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pz-carte, .elementor-button, .pz-carte-affiche img { transition: none !important; }
	.pz-prochain-etiquette .elementor-heading-title::before { animation: none; }
}/* End custom CSS */