/* layout-celebs.css · géométrie purifiée : aucune couleur, police, ombre, casse ni !important ; les bordures référencent var(--line). Généré par tools/purify_css.py */
/* --- css/celebs-index-v95.css --- */
:root{--cx-ease:cubic-bezier(0.22, 1, 0.36, 1)}
.celebs-hero-sky{position:relative;overflow:hidden;isolation:isolate;padding:clamp(1.8rem, 4vw, 3rem) 0 clamp(2.4rem, 4.5vw, 3.4rem)}
.celebs-hero-sky::before{content:"";position:absolute;inset:0;z-index:-2}
.celebs-hero-sky::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;z-index:-1;pointer-events:none}
.celebs-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.celebs-sky::before, .celebs-sky::after{content:"";position:absolute;inset:0}
.celebs-sky::before{background-size:300px 260px, 260px 300px, 200px 240px, 340px 220px, 240px 300px;animation:cxTwinkleA 6.5s ease-in-out infinite}
.celebs-sky::after{background-size:380px 340px, 460px 420px, 420px 380px, 500px 460px;animation:cxTwinkleB 8.5s ease-in-out infinite}
.celebs-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.celebs-hero-title{font-weight:400;font-size:clamp(1.9rem, 4.6vw, 3.2rem);line-height:1.05;margin:0;text-wrap:balance}
.celebs-hero-sub{font-size:clamp(0.98rem, 1.5vw, 1.18rem);font-weight:300;line-height:1.5;max-width:52ch;margin:0.85rem auto 0;text-wrap:pretty}
.cx-search{margin:1.7rem auto 0;width:100%;max-width:620px;position:relative;z-index:2}
.cx-search-field{display:flex;align-items:center;gap:0.7rem;border:1px solid;border-color:var(--line);border-radius:6px;padding:0 1.1rem;transition:border-color 0.24s var(--cx-ease), box-shadow 0.24s var(--cx-ease), background 0.24s var(--cx-ease)}
.cx-search-icon{font-size:1.35rem;line-height:1;flex:none;user-select:none}
.cx-search-input{flex:1;min-width:0;border:none;outline:none;padding:1.02rem 0.2rem;font-size:1.12rem}
.cx-search-clear{flex:none;border:none;font-size:1.5rem;line-height:1;padding:0.4rem 0.5rem;cursor:pointer;visibility:hidden;transition:color 0.15s ease}
.cx-search.has-value .cx-search-clear{visibility:visible}
.cx-signs{display:flex;flex-wrap:wrap;justify-content:center;gap:0.2rem;margin:1.5rem auto 0;max-width:1240px}
.cx-sign{display:inline-flex;flex-direction:column;align-items:center;gap:0.18rem;min-width:58px;padding:0.5rem 0.4rem 0.42rem;border:1px solid;border-color:var(--line);border-bottom:2px solid;border-bottom-color:var(--line);cursor:pointer;transition:background 0.2s var(--cx-ease), border-color 0.2s var(--cx-ease), transform 0.2s var(--cx-ease)}
.cx-sign:hover{transform:translateY(-2px)}
.cx-sign-glyph{font-size:1.5rem;line-height:1}
.cx-sign-label{font-size:0.72rem;white-space:nowrap}
.cx-sign[data-sign="all"]{min-width:56px}
.cx-sign[data-sign="all"] .cx-sign-glyph{font-size:1.15rem}
.cx-crit-eyebrow{display:block;font-size:0.72rem;font-weight:500;margin:1.6rem 0 0.9rem}
.cx-crit-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:0.2rem 1.4rem;border-bottom:1px solid;border-bottom-color:var(--line);padding-bottom:0.7rem;margin:0 auto 0.4rem;max-width:760px}
.cx-crit-tab{font-size:1.02rem;border:none;border-bottom:2px solid;border-bottom-color:var(--line);padding:0.3rem 0.2rem 0.5rem;cursor:pointer;transition:color 0.2s var(--cx-ease), border-color 0.2s var(--cx-ease)}
.cx-house .cx-sign-glyph{font-size:1.2rem}
.cx-crit-hint{font-size:0.8rem;text-align:center;margin:0.6rem 0 0;min-height:1rem}
.cx-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.7rem 1.1rem;margin:1.3rem auto 0}
.cx-eras{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4rem}
.cx-era{font-size:0.8rem;border:1px solid;border-color:var(--line);padding:0.38rem 0.85rem;border-radius:999px;cursor:pointer;transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease}
.cx-sort{display:inline-flex;align-items:center;gap:0.3rem}
.cx-sort-label{font-size:0.85rem}
.cx-sort-btn{font-size:0.8rem;border:none;padding:0.32rem 0.45rem;cursor:pointer;border-bottom:2px solid;border-bottom-color:var(--line)}
.cx-count{font-size:1.02rem;text-align:center;margin:1.2rem auto 0}
.cx-count b{font-weight:500}
.cx-count-total{font-size:0.86em}
.celebs-browse{padding:2rem 0 4.5rem}
.celebs-browse > .container{max-width:1320px}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:1.4rem}
@media (max-width: 560px){.cx-grid{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:0.9rem}}
.cx-grid .celeb-card-photo-placeholder{font-size:3rem}
.cx-grid .celeb-card{animation:cxIn 0.55s var(--cx-ease) both}
@keyframes cxIn{from{transform:translateY(12px)}
to{transform:translateY(0)}}
.cx-sentinel{height:1px}
.cx-loadmore-wrap{text-align:center;margin-top:2.4rem}
.cx-loadmore{font-size:1rem;border:1px solid;border-color:var(--line);padding:0.8rem 2rem;cursor:pointer;transition:background 0.2s ease, color 0.2s ease}
.cx-empty{padding:3.5rem 1rem;text-align:center}
.cx-empty-glyph{font-size:2.4rem;display:block;margin-bottom:0.6rem}
.cx-empty b{font-weight:500}
.cx-empty-hint{display:block;font-size:0.9rem;margin-top:0.4rem}
.cx-repertoire{text-align:center;margin:2.6rem 0 0}
.cx-repertoire a{font-size:1rem;border-bottom:1px solid;border-bottom-color:var(--line);padding-bottom:2px}
@media (prefers-reduced-motion: reduce){.celebs-sky::before, .celebs-sky::after{animation:none}
.cx-grid .celeb-card{animation:none}
.cx-sign, .cx-sign:hover, .cx-era, .cx-loadmore{transition:none;transform:none}}
