/* Direction de l’affiche violette, page 2 de la charte 2027. */
:root{--poster-violet:#c72682;--pink:var(--poster-violet);--wave-stroke:var(--poster-violet)}
.news-section .section-eyebrow>span{font-size:clamp(20px,2.3vw,32px);line-height:1.1}
.programme-head .programme-title h1{width:100%;font-size:clamp(28px,3.1vw,48px);line-height:1.08;text-align:left}
.programme-head .programme-title h1 span{white-space:nowrap}
.programme-head .programme-title h1 sup{text-transform:none}
.programme-head .filter-tools select,.programme-head .filter-tools option,.programme-head .filter-tools input,.programme-head .filter-tools input::placeholder{text-transform:uppercase}
.programme-head .filter-date-label,.programme-head .filter-tools label{font-size:11px}
.programme-head .date-filters button,.programme-head .filter-reset{border:0;background:var(--poster-violet);color:var(--lemon);box-shadow:none}
.programme-head .date-filters button{font-size:16px;letter-spacing:.02em;padding-inline:12px}
.programme-head .filter-reset{font-size:16px;letter-spacing:.02em;padding-inline:12px}
.programme-head .date-filters button[aria-pressed=true]{background:var(--lemon);color:var(--poster-violet);text-decoration:none}
.programme-head .date-filters button:hover,.programme-head .filter-reset:hover{filter:brightness(.94)}
.programme-head .filter-tools select,.programme-head .filter-tools input{margin-top:0;border:0;background-color:var(--poster-violet);color:var(--lemon);font:900 16px/1.3 var(--display);letter-spacing:.02em}
.programme-head .filter-tools input::placeholder{color:var(--lemon);opacity:1}
.programme-head #filter-place{text-transform:uppercase}
.artist-card .card-date span:first-child{font-size:clamp(14.3px,1.32vw,20.9px)}
.artist-card .card-date span:nth-child(2){text-transform:uppercase}
.artist-card .card-title .card-name{-webkit-text-stroke:.12em var(--pink)}
.programme-head .filter-tools select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23ffff77' stroke-width='2.4'%3E%3Cpath d='M10 15L20 25 30 15'/%3E%3C/svg%3E")}
.programme-head .date-filters button:focus-visible,.programme-head .filter-reset:focus-visible,.programme-head .filter-tools select:focus-visible,.programme-head .filter-tools input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(min-width:961px){.programme-head .filter-tools{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.05fr) auto}}
@media(max-width:640px){.programme-head .filter-tools{grid-template-columns:minmax(0,1fr)}.programme-head .filter-tools select{padding-left:10px;padding-right:28px}.artist-card .card-date span:first-child{font-size:clamp(12.1px,2.86vw,18.7px)}}
@media(max-width:360px){.programme-head .filter-tools select,.programme-head .filter-tools input{padding-left:4px;letter-spacing:0}.programme-head .filter-tools select{padding-right:20px;background-size:14px 14px;background-position:right 3px center}.programme-head .filter-tools input{padding-right:4px}}
.programme-head #filter-search{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23ffff77' stroke-width='2.4' stroke-linecap='square'%3E%3Ccircle cx='17' cy='17' r='11'/%3E%3Cpath d='M25 25L34 34'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:23px 23px;background-position:right 11px center}
.site-header,.site-header.is-compact,.site-header.is-overlay,.site-header.is-menu-open,.site-header.is-menu-open.is-compact{background:transparent;color:var(--lemon)}
.site-header{border-bottom:1px solid transparent}
.site-header::before{content:none}
.site-header .edition-info,.site-header .site-nav .menu-items>details>summary,.site-header .site-nav .menu-items>a,.site-header .newsletter-link{-webkit-text-stroke:.15em var(--poster-violet);paint-order:stroke fill}
.site-header .menu-toggle{color:var(--lemon)}
.site-header .brand img,.hero-brand img{filter:brightness(0) saturate(100%) invert(94%) sepia(40%) saturate(692%) hue-rotate(2deg) brightness(108%) contrast(104%)}
.site-header svg.brand-compact{fill:var(--lemon);stroke:var(--poster-violet);stroke-width:32;stroke-linejoin:round;paint-order:stroke fill;overflow:visible}
.site-header .edition-name{display:inline-block;font-size:1.5em;line-height:1.1}
.site-header .header-network .newsletter-link{padding-inline:10px;background:transparent;color:var(--lemon);font:900 clamp(14px,1.6vw,22px)/1.2 var(--display);text-transform:uppercase;white-space:nowrap}
.site-header .dropdown{background:var(--lemon);color:var(--poster-violet);box-shadow:4px 4px 0 var(--poster-violet)}
.site-header .dropdown a:hover{background:var(--poster-violet);color:var(--lemon)}
.site-header a:focus-visible,.site-header summary:focus-visible,.site-header button:focus-visible{outline-color:var(--lemon)}
.hero{--hero-base-height:600px;background:var(--poster-violet);color:var(--lemon);--wave-background:var(--poster-violet);--wave-stroke:var(--lemon)}
.site-header~main>.hero{height:calc(var(--hero-base-height) + var(--header-compact));margin-top:calc(-1 * var(--header-compact))}
/* Crystal Expanded, interligne .84 : la coupe à .421em partage les barres médianes F/E. */
.hero-poster{--hero-title-tracking:.025em;position:absolute;left:50%;bottom:-.421em;transform:translateX(-50%);width:max-content;text-align:center;color:var(--lemon);font-size:clamp(140px,12.5vw,210px);pointer-events:none}
.hero-edition{margin:0 0 20px;font:900 clamp(28px,3.25vw,47px)/1.1 var(--display)}
.hero-title{margin:0;font:900 1em/.84 var(--display);letter-spacing:var(--hero-title-tracking)}
.hero-title span{display:block;padding-left:var(--hero-title-tracking)}
.hero-title span{-webkit-text-stroke:.06em var(--poster-violet);paint-order:stroke fill}
.hero-edition,.hero-edition sup,.hero-date span{-webkit-text-stroke:.15em var(--poster-violet);paint-order:stroke fill}
.hero.is-pattern-preview>.hero-poster{visibility:hidden}
.hero-date{top:calc(var(--header-compact) + 25px);bottom:auto;left:50%;right:auto;transform:translateX(-50%);color:var(--lemon);font-size:clamp(24px,2.3vw,34px);line-height:1.05;text-align:center;width:max-content}
.hero-date span{display:block;background:transparent;padding:2px 0}
.hero-brand{display:none}
.poster-marquee{position:absolute;inset:0;overflow:hidden;pointer-events:none;text-align:center;color:var(--lemon);z-index:2}
.poster-marquee-track{position:absolute;top:calc(var(--header-compact) + 20px);left:0;width:100%;animation:poster-rise 24.949s linear -3.5s infinite}
.poster-cycle{display:flex;flex-direction:column;align-items:center;padding:0 16px 28px}
.poster-cycle-date,.poster-cycle-lineup,.poster-cycle-edition,.poster-cycle-title{margin:0;font-family:var(--display);font-weight:900;-webkit-text-stroke:.12em var(--poster-violet);paint-order:stroke fill}
.poster-cycle-date{font-size:clamp(38px,4.5vw,68px);line-height:.95}
.poster-cycle-date span,.poster-cycle-title span{display:block}
.poster-cycle-lineup{max-width:1140px;margin-top:20px;font-size:clamp(32.3px,3.825vw,57.8px);line-height:1.05;text-wrap:balance}
.poster-cycle-lineup span{display:inline}
.poster-cycle-edition{margin:32px 0 18px;font-size:clamp(28px,3.25vw,47px);line-height:1.1}
.poster-cycle-title{font-size:clamp(140px,12.5vw,210px);letter-spacing:.025em;line-height:.84;-webkit-text-stroke:.07344em var(--poster-violet)}
.poster-cycle-title span{padding-left:.025em}
.hero.is-pattern-preview>.poster-marquee{visibility:hidden}
@keyframes poster-rise{to{transform:translateY(-50%)}}
@media(min-width:1200px){.hero{--hero-base-height:600px}}
@media(min-width:1700px){.hero{--hero-base-height:650px}}
@media(max-width:1199px){.site-header .site-nav{background:var(--poster-violet);color:var(--lemon);box-shadow:0 6px 0 var(--lemon)}.site-header .site-nav .dropdown{background:var(--lemon);color:var(--poster-violet)}}
@media(max-width:1199px){.hero{--hero-base-height:470px}}
@media(max-width:960px){.hero{--hero-base-height:430px}}
@media(max-width:640px){.hero{--hero-base-height:530px}.hero-poster{font-size:27vw}.hero-edition{font-size:clamp(26px,7.15vw,39px);margin-bottom:22px}.hero-date{top:calc(var(--header-compact) + 35px);font-size:clamp(24px,6.5vw,34px)}.poster-cycle-date{font-size:clamp(35px,9vw,56px)}.poster-cycle-lineup{font-size:clamp(28px,7.2vw,44.8px);margin-top:16px}.poster-cycle-edition{margin:26px 0 16px;font-size:clamp(26px,7.15vw,39px)}.poster-cycle-title{font-size:27vw}}
@media(prefers-reduced-motion:reduce){.site-header::before{transition:none}.site-header~main>.hero:not(.saison-hero){height:auto;min-height:calc(var(--hero-base-height) + var(--header-compact))}.poster-marquee{position:relative;inset:auto;width:100%;overflow:visible}.poster-marquee-track{position:relative;top:auto;padding-top:calc(var(--header-compact) + 20px);animation:none}.poster-marquee-track>[aria-hidden]{display:none}.poster-cycle-date{font-size:clamp(25px,5vw,42px)}.poster-cycle-lineup{font-size:clamp(21.25px,4.25vw,35.7px);margin-top:14px}.poster-cycle-edition{font-size:clamp(22px,4vw,32px);margin:12px 0}.poster-cycle-title{font-size:clamp(54px,17vw,100px)}}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.poster-cycle-lineup{font-size:clamp(20px,4vw,33.6px)}}

/* Navigation plein écran, inspirée du menu PALP et adaptée à la charte 2027. */
body.navigation-open{overflow:hidden}
body.navigation-open .prototype-bar,body.navigation-open .motion-studio,body.navigation-open .position-toolbar{visibility:hidden}
.site-header .header-network{display:flex;align-items:center;gap:2px;margin:0 0 0 auto}
.site-header .header-network a,.site-header .header-network .social-link{display:flex;min-width:36px;min-height:44px}
.site-header .header-network .newsletter-link{min-width:72px}
.site-header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:none;border:0;background:none;margin:0 0 0 8px;padding:6px;min-width:44px;min-height:44px;cursor:pointer}
.site-header .menu-toggle span{display:block;width:31px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.site-header .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.site-header .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.site-header .site-nav,.site-header.is-compact .site-nav{display:none;position:fixed;inset:var(--header-height,62px) 0 0;width:100%;height:calc(100dvh - var(--header-height,62px));max-height:none;overflow:auto;overscroll-behavior:contain;margin:0;padding:clamp(28px,6vh,64px) 20px 48px;flex-direction:column;align-items:center;gap:0;background:var(--poster-violet);color:var(--lemon);box-shadow:none;text-align:center}
.site-header .site-nav.is-open{display:flex}
.site-header .site-nav .menu-items>details,.site-header .site-nav .menu-items>a{width:min(100%,900px);flex:none}
.site-header .site-nav .menu-items>details>summary,.site-header .site-nav .menu-items>a{justify-content:center;min-height:0;padding:8px 0;gap:14px;white-space:normal;font:900 clamp(27px,4vw,54px)/1.12 var(--display);text-transform:uppercase;text-decoration:none}
.site-header .site-nav .menu-items>details>summary{cursor:pointer;list-style:none}
.site-header .site-nav .menu-items>details>summary::-webkit-details-marker{display:none}
.site-header .site-nav .menu-items>details>summary::after{content:none}
.site-header .site-nav .menu-items>details>summary[aria-expanded=true] .menu-title::after{transform:translateY(-50%) rotate(45deg)}
.site-header .site-nav .nav-caret{display:none}
.site-header .site-nav .accordion-panel{overflow:hidden}
.site-header .site-nav .dropdown{position:static;display:flex;flex-direction:column;align-items:center;min-width:0;margin:0;padding:5px 0 20px;background:transparent;color:var(--lemon);box-shadow:none}
.site-header .site-nav .dropdown a{position:relative;max-width:100%;padding:6px 1.3em;color:inherit;text-align:center;text-decoration:none;font:900 clamp(16px,1.8vw,24px)/1.2 var(--display);text-transform:uppercase}
.site-header .site-nav .dropdown a>[data-vdf-icon]{position:absolute;right:.15em;top:50%;width:1em;height:1em;transform:translateY(-50%)}
.site-header .site-nav .dropdown a>[data-vdf-icon] .vdf-arrow{width:100%;height:100%}
.site-header .site-nav .dropdown a:hover,.site-header .site-nav .menu-items>a:hover{background:transparent;color:var(--lemon);opacity:.7}
.site-header .site-nav .dropdown a:focus-visible,.site-header .menu-toggle:focus-visible{outline:2px solid var(--lemon);outline-offset:3px}
@media(max-width:640px){.site-header .header-inner{gap:4px;padding-inline:10px}.site-header .edition-info{font-size:clamp(7px,2vw,10px);max-width:none}.site-header.is-compact .brand{width:34px;height:45px}.site-header .brand-compact,.site-header.is-compact .brand-full{width:34px}.site-header .header-network{gap:0}.site-header .header-network a,.site-header .header-network .social-link{min-width:25px;min-height:44px}.site-header .header-network .newsletter-link{min-width:43px}.site-header .header-network svg{width:19px;height:19px}.site-header .newsletter-link small{font-size:6px;top:calc(50% + 10px)}.site-header .menu-toggle{margin-left:2px;min-width:36px;padding:4px}.site-header .menu-toggle span{width:26px}.site-header .site-nav,.site-header.is-compact .site-nav{padding:30px 16px 40px}.site-header .site-nav .menu-items>details>summary,.site-header .site-nav .menu-items>a{font-size:clamp(25px,6.4vw,38px)}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav .menu-items>details>summary::after,.site-header .menu-toggle span{transition:none}}
@media(max-width:359px){.site-header .header-inner{gap:3px;padding-inline:6px}.site-header.is-compact .brand{width:30px}.site-header .brand-compact,.site-header.is-compact .brand-full{width:30px}.site-header .edition-info{font-size:6.4px}.site-header .menu-toggle{margin-left:0}}

/* Menu sur toute la fenêtre, motif animé écarté du texte. */
.site-header .menu-toggle span{height:4px;box-shadow:0 0 0 2px var(--poster-violet)}
.site-header .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
.site-header .header-topbar{position:relative;z-index:3}
.site-header.is-menu-open .edition-info,.site-header.is-menu-open .header-network{visibility:hidden}
.site-header.is-menu-open .brand-compact{opacity:0}
.site-header.is-menu-open .brand-full{position:absolute;top:4px;left:0;width:clamp(78px,9vw,130px);max-width:none;height:auto;opacity:1;filter:brightness(0) saturate(100%) invert(25%) sepia(87%) saturate(1587%) hue-rotate(297deg) brightness(86%) contrast(96%)}
.site-header .site-nav,.site-header.is-compact .site-nav{inset:0;width:100%;height:100dvh;z-index:2;isolation:isolate;padding:clamp(135px,16vh,180px) 20px 48px}
.site-header .site-nav .menu-items>details,.site-header .site-nav .menu-items>a{position:relative;z-index:2}
.site-header .site-nav .menu-pattern{position:fixed;inset:0;z-index:-1;pointer-events:none;--wave-stroke:var(--lemon);mask-image:none}
.menu-wave-canvas{display:block;width:100%;height:100%}
@media(max-width:640px){.site-header .site-nav,.site-header.is-compact .site-nav{padding:110px 16px 40px}.site-header.is-menu-open .brand-full{width:76px}.site-header .site-nav .menu-pattern{mask-image:none}}

/* Centrage du bloc complet, avec une réserve identique au-dessus et au-dessous. */
.site-header .site-nav,.site-header.is-compact .site-nav{padding:0;display:none}
.site-header .site-nav.is-open{display:block}
.site-header .site-nav .menu-layout{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:140px 48px;box-sizing:border-box}
.site-header .site-nav .menu-items{position:relative;z-index:2;width:max-content;max-width:100%;flex:none}
.site-header .site-nav .menu-items>details,.site-header .site-nav .menu-items>a{width:100%}
.site-header .site-nav .menu-title{position:relative;display:inline-block;font:inherit;-webkit-text-stroke:.15em var(--poster-violet);paint-order:stroke fill}
.site-header .site-nav .menu-items>a{display:flex;justify-content:center}
.site-header .site-nav .menu-title::after{content:'+';position:absolute;left:calc(100% + .28em);top:50%;transform:translateY(-50%);font:400 .9em/1 var(--body);transition:transform .2s}
@media(max-width:1199px){.site-header .site-nav .menu-layout{padding-block:120px}}
@media(max-width:640px){.site-header .site-nav .menu-layout{padding:110px 36px}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav .menu-title::after{transition:none}}

/* Palette négative du menu ouvert. */
.site-header .site-nav,.site-header.is-compact .site-nav{background:var(--lemon);color:var(--poster-violet)}
.site-header .site-nav .menu-items>details>summary,.site-header .site-nav .menu-items>a,.site-header .site-nav .menu-title{-webkit-text-stroke-color:var(--lemon)}
.site-header .site-nav .dropdown{background:transparent;color:var(--poster-violet)}
.site-header .site-nav .dropdown a:hover,.site-header .site-nav .menu-items>a:hover{color:var(--poster-violet)}
.site-header .site-nav .dropdown a:focus-visible,.site-header.is-menu-open .menu-toggle:focus-visible{outline-color:var(--poster-violet)}
.site-header .site-nav .menu-pattern{--wave-stroke:var(--poster-violet)}
.site-header.is-menu-open .menu-toggle{color:var(--poster-violet)}
.site-header.is-menu-open .menu-toggle span{box-shadow:0 0 0 2px var(--lemon)}
.site-header .site-nav .menu-social{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:18px}
.site-header .site-nav .menu-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit}
.site-header .site-nav .menu-social svg{display:block;width:28px;height:28px;fill:currentColor}
.site-header .site-nav .menu-social a:focus-visible{outline:2px solid var(--poster-violet);outline-offset:2px}
.site-header .site-nav .menu-items>a.menu-newsletter{font-size:clamp(13.5px,2vw,27px);padding-block:4px;margin-top:16px}
@media(max-width:640px){.site-header .site-nav .menu-items>a.menu-newsletter{font-size:clamp(12.5px,3.2vw,19px)}}

/* Barre transparente : les libellés restent lisibles grâce au contour violet. */
@media(min-width:1200px){
  .site-header .menu-toggle{min-width:60px;min-height:56px;gap:9px}
  .site-header .menu-toggle span{width:44px;height:5px}
  .site-header .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(14px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-14px) rotate(-45deg)}
}
@media(max-width:640px){
  .site-header .header-network{display:grid;grid-template-columns:repeat(3,34px);gap:0;flex:none}
  .site-header .header-network .newsletter-link{grid-column:1/-1;min-width:0;min-height:22px;padding:0;font-size:11px}
  .site-header .header-network .social-link{min-height:26px}
}
