/* Fond commun et couleurs des éléments posés sur le violet. */
html, body{background:var(--poster-violet)}
body{color:var(--lemon)}
.artist-view{background:var(--poster-violet)}
.programme-title h1 span,.programme-title h2 span{color:inherit}
.saison-intro h1 span,.component-view>h1 span{color:inherit!important}
.carousel-arrows .icon-button,.carousel-arrows .icon-button:hover:not(:disabled){color:var(--lemon)}
.news-card{color:var(--lemon);box-shadow:inset 0 0 0 1px var(--lemon)}
.news-card:nth-child(3n + 2){color:var(--ink);box-shadow:none}
.news-section{padding-top:0}
.news-section .section-eyebrow{position:relative;isolation:isolate;color:var(--poster-violet);padding:8px 0}
.news-section .section-eyebrow::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--lemon)}
.news-section .carousel-arrows .icon-button,.news-section .carousel-arrows .icon-button:hover:not(:disabled){color:var(--poster-violet)}
.news-section .news-card:nth-child(3n + 2){color:var(--poster-violet)}
.news-section .news-card:nth-child(3n + 2) .btn{background:var(--poster-violet);color:var(--lemon)}
.news-section .news-card:nth-child(3n + 2) .btn:hover{background:#000;color:var(--lemon)}
.programme-head .date-filters button:not([aria-pressed=true]),
.programme-head .filter-reset,
.programme-head .filter-tools select,
.programme-head .filter-tools input{box-shadow:inset 0 0 0 1px var(--lemon)}
.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-color:var(--lemon)}
.ticket-panel,.empty-state,.component-notes,.inventory th,.swatch.lemon,.swatch.white,.map-preview{color:var(--ink)}
.map-preview{background:var(--lemon);border-color:var(--lemon)}
.ticket-panel>.btn{color:var(--lemon)}
.btn-outline{color:var(--lemon);border-color:var(--lemon)}
.map-preview .btn-outline,.empty-state .btn-outline{color:var(--ink);border-color:var(--ink)}
.btn-pink{color:var(--lemon)}
.skip-link{color:var(--ink)}
.grid-foot,.result-count,.type-caption{color:inherit}
.programme-head{padding-top:0}
.programme-head .programme-title{position:relative;isolation:isolate;align-items:center;min-height:58px;padding:8px 0;margin-bottom:26px;color:var(--poster-violet)}
.programme-head .programme-title::before{content:'';position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:var(--lemon)}
.programme-head .programme-title h1{flex:1;width:auto;margin:0;font-size:clamp(20px,2.3vw,32px);line-height:1.1;text-align:left;letter-spacing:0}
.programme-head .programme-download{flex:none;min-height:42px;padding:9px 14px;gap:12px;background:var(--poster-violet);color:var(--lemon);font-size:clamp(11px,1.1vw,14px);text-decoration:none}
.programme-download .download-label{margin:0;font:inherit;line-height:1.15;text-align:left}
.programme-download .vdf-arrow{flex:none;width:22px;height:22px}
.programme-head .programme-download:hover{background:var(--ink);color:var(--lemon)}
.programme-head .programme-download:focus-visible{outline:2px solid var(--poster-violet);outline-offset:3px}
@media(max-width:640px){.programme-head .programme-title{flex-direction:row;flex-wrap:nowrap;gap:8px}.programme-head .programme-title h1{font-size:clamp(16px,4.2vw,24px)}.programme-head .programme-download{max-width:128px;padding:8px 10px;gap:6px;font-size:8.5px}.programme-download .vdf-arrow{width:20px;height:20px}}
.programme-head .date-filters button[data-date="season"]{background:var(--lemon);color:var(--poster-violet);box-shadow:none}
.programme-head .date-filters button[data-date="season"][aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--poster-violet)}

/* Filtres du programme : dimensions et icônes cohérentes. */
.programme-head .filter-tools{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.programme-head .filter-tools>label{min-width:0}
.programme-head .filter-tools select,.programme-head .filter-tools input,.programme-head .filter-reset{
  box-sizing:border-box;width:100%;height:52px;min-height:52px;min-width:0;
  padding:0 42px 0 12px;font-size:clamp(11px,1.15vw,16px);line-height:1.2;letter-spacing:.02em
}
.programme-head .filter-tools select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-size:22px 22px;background-position:right 12px center}
.programme-head #filter-search{padding-right:42px;background-size:22px 22px;background-position:right 12px center}
.programme-head #filter-search::placeholder{font-size:min(1em,14px)}
.programme-head .filter-reset{justify-content:space-between;gap:8px;padding-right:12px;white-space:nowrap}
.programme-head .filter-reset .vdf-arrow{width:22px;height:22px}
@media(max-width:960px){.programme-head .filter-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-head .filter-tools select,.programme-head .filter-tools input,.programme-head .filter-reset{font-size:16px}}
@media(max-width:640px){.programme-head .filter-tools{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.programme-head .filter-tools select,.programme-head .filter-tools input,.programme-head .filter-reset{font-size:14px}}

/* Typographie de la maquette : violet sur jaune, jaune sur violet. */
.btn,.artist-booking-link,.skip-link{color:var(--poster-violet)}
.btn:hover,.btn-pink,.btn-dark{background:var(--poster-violet);color:var(--lemon);border-color:var(--lemon)}
.btn-outline{background:transparent;color:var(--lemon);border-color:var(--lemon)}
.ticket-panel,.empty-state,.component-notes,.inventory th,.swatch.lemon,.swatch.white,.map-preview,.map-preview small{color:var(--poster-violet)}
.ticket-panel>.btn,.news-section .news-card:nth-child(3n + 2) .btn{background:var(--poster-violet);color:var(--lemon);border-color:transparent}
.ticket-panel>.btn:hover,.news-section .news-card:nth-child(3n + 2) .btn:hover{background:var(--poster-violet);color:var(--lemon);filter:brightness(.85)}
.map-preview .btn-outline,.empty-state .btn-outline{color:var(--poster-violet);border-color:var(--poster-violet)}
.map-preview .btn-outline:hover,.empty-state .btn-outline:hover{background:var(--poster-violet);color:var(--lemon)}
.season-row,.swatch.black{color:var(--lemon)}
.artist-poster .artist-portrait figcaption{background:none;color:var(--lemon)}
