/* MODULE : assets/accueil-v96.css */
/* LE FIL — V96 / Accueil éditorial inspiré du visuel fourni.
   Styles limités à la page d'accueil : les autres rubriques, le Studio,
   les données, les boutons existants et les préférences restent intacts. */
html body #app-root #main-view .fil-v96-home:not(.fil-grid-host){
  --fil-v96-purple:#682bd0;
  --fil-v96-ink:#211846;
  --fil-v96-mist:#f4edff;
  --page-frame-radius:16px;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.78fr) minmax(0,.66fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  position:relative;
  isolation:isolate;
  padding:0 16px 30px!important;
  background:radial-gradient(ellipse at 0% 24%,#f9ecf2 0,transparent 38%),radial-gradient(ellipse at 100% 82%,#f1e8ff 0,transparent 31%),linear-gradient(180deg,#fff9fb 0%,#faf7ff 32%,#f5efff 100%);
}
html body #app-root #main-view .fil-v96-home:not(.fil-grid-host) > :is(.fil-v96-hero,.fil-featured,.fil-v85-home-access,.home-events,.home-about){grid-column:1/-1!important;min-width:0;}
html body #app-root #main-view .fil-v96-home .fil-v96-hero{
  order:-3!important;
  position:relative;
  min-height:315px;
  display:flex;
  align-items:center;
  width:calc(100% + 32px);
  margin:0 -16px 0!important;
  padding:36px clamp(26px,4.5vw,70px)!important;
  border:0!important;
  border-radius:0 0 28px 28px!important;
  overflow:hidden;
  background:linear-gradient(110deg,#fff7fb 0%,#fff8f2 42%,#f3dcf6 100%);
  box-shadow:none!important;
  box-sizing:border-box;
}
#app-root #main-view .fil-v96-hero-art{
  position:absolute;inset:0 0 0 41%;
  background-image:linear-gradient(90deg,rgba(255,250,250,.98) 0%,rgba(255,250,249,.53) 17%,transparent 38%),linear-gradient(0deg,rgba(101,41,124,.16),transparent 40%),var(--v96-hero-image,url('/assets/visuels/accueil/village-panorama.webp'));
  background-size:cover,cover,cover;
  background-position:center,center,center 38%;
  filter:saturate(1.06);
  pointer-events:none;
}
#app-root #main-view .fil-v96-hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 11% 2%,#f9e6ff 0,transparent 33%),radial-gradient(circle at 47% 92%,#ffe6d07d 0,transparent 22%);}
#app-root #main-view .fil-v96-hero-inner{z-index:1;position:relative;max-width:72%;}
#app-root #main-view .fil-v96-overline{color:#6224c1;letter-spacing:.16em;font:850 11px/1.45 Inter,system-ui,sans-serif;margin-bottom:10px;}
html body #app-root #main-view .fil-v96-home .fil-v96-hero h1{font:850 clamp(35px,3.55vw,57px)/1.015 Outfit,Inter,system-ui,sans-serif!important;letter-spacing:-.052em;max-width:690px;margin:0!important;color:#1f184a!important;text-wrap:balance;overflow-wrap:normal!important;}
html body #app-root #main-view .fil-v96-home .fil-v96-hero h1 span{display:block;color:#6827cc!important;}
html body #app-root #main-view .fil-v96-home .fil-v96-hero-subtitle{color:#555368!important;font:500 clamp(13px,1.3vw,17px)/1.48 Inter,system-ui,sans-serif!important;margin:10px 0 18px!important;max-width:520px;}
#app-root #main-view .fil-v96-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;max-width:810px;}
html body #app-root #main-view .fil-v96-home .fil-v96-cta{display:inline-flex!important;align-items:center;justify-content:center;gap:11px;min-height:43px;padding:10px 15px;border:1px solid #ddd0ef!important;border-radius:11px!important;background:#ffffffed!important;box-shadow:0 5px 16px #59348a1b;color:#5e26b7!important;font:800 11px/1.2 Inter,system-ui!important;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s;}
html body #app-root #main-view .fil-v96-home .fil-v96-cta i{font-size:16px;color:inherit!important;}
html body #app-root #main-view .fil-v96-home .fil-v96-cta-main{background:linear-gradient(130deg,#7834df,#5f23bf)!important;color:white!important;border-color:transparent!important;box-shadow:0 7px 21px #6023bf42;}
html body #app-root #main-view .fil-v96-home .fil-v96-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6033b33c;}
#app-root #main-view .fil-v96-hero-handwriting{position:absolute;top:16px;right:24px;transform:rotate(-9deg);font:italic 20px/1.28 'Comic Sans MS','Segoe Print',cursive;color:#342745;text-align:center;text-shadow:0 1px 4px #fff9;z-index:1;}
#app-root #main-view .fil-v96-hero-handwriting span{font-size:29px;vertical-align:middle;}

/* À LA UNE : un vrai bandeau photo avec lisibilité et commandes accessibles. */
html body #app-root #main-view .fil-v96-home>.fil-v15-carousel.fil-featured{
  order:-2!important;grid-column:1/-1!important;
  padding:20px 20px 13px!important;margin:-7px 0 0!important;
  background:rgba(255,255,255,.93)!important;border:1px solid #e4d9ff!important;
  border-radius:19px!important;box-shadow:0 15px 38px #6850aa18!important;
}
html body #app-root #main-view .fil-v96-home .fil-v15-heading{padding:0 6px 11px!important;align-items:end!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-eyebrow{color:#672ad7!important;font-size:10px!important;letter-spacing:.13em!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-heading h2{font:850 clamp(24px,2.5vw,33px)/1.12 Outfit,system-ui!important;color:#251845!important;letter-spacing:-.038em!important;margin:4px 0 0!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-stage{height:264px!important;min-height:264px!important;max-height:264px!important;aspect-ratio:auto!important;border-radius:12px!important;overflow:hidden!important;background:#211044!important;display:block!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide,
html body #app-root #main-view .fil-v96-home .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-slide{
  position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  height:100%!important;max-height:100%!important;padding:clamp(20px,3vw,36px)!important;
  background:#251046!important;border-radius:0!important;
}
html body #app-root #main-view .fil-v96-home .fil-v15-slide:not(.is-active){display:none!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide.is-active{display:flex!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-picture{z-index:0!important;background:linear-gradient(115deg,#1d0c46,#7d397e)!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-picture img{width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-picture::after{background:linear-gradient(90deg,rgba(28,10,70,.99) 0%,rgba(39,11,81,.94) 25%,rgba(42,12,77,.65) 47%,rgba(38,8,75,.16) 73%,rgba(26,8,60,.08) 100%)!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#1c0a47ee 0%,#240a4cc9 25%,#240a4c44 57%,transparent 80%);}
html body #app-root #main-view .fil-v96-home .fil-v15-slide-info{position:relative!important;z-index:2!important;max-width:54%!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide-kicker{font:850 10px/1.3 Inter,system-ui!important;letter-spacing:.11em!important;color:#fff!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide-info h3{font:850 clamp(23px,2.75vw,36px)/1.08 Outfit,Inter,system-ui!important;letter-spacing:-.035em!important;color:#fff!important;margin:9px 0!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-slide-info p{color:#f9f0ff!important;font:500 12px/1.45 Inter,system-ui!important;margin:0 0 10px!important;max-width:53ch!important;-webkit-line-clamp:3!important;display:-webkit-box!important;overflow:hidden;}
html body #app-root #main-view .fil-v96-home .fil-v15-open{z-index:3!important;min-height:37px!important;padding:8px 15px!important;background:#fff!important;border-color:#fff!important;border-radius:9px!important;color:#6c24c2!important;font:850 11px/1.2 Inter,system-ui!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-nav{margin-top:8px!important;gap:8px!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-nav .fil-v15-step-track{height:4px!important;border-radius:9px!important;background:#e6ddfb!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-nav .fil-v15-prev,
html body #app-root #main-view .fil-v96-home .fil-v15-nav .fil-v15-next{width:36px!important;height:36px!important;min-height:36px!important;border-radius:50%!important;color:#6327cd!important;border-color:#e0d3fa!important;}
html body #app-root #main-view .fil-v96-home .fil-v15-position{font-size:12px!important;color:#6929d3!important;}

/* Accès rapides, quatre cartes puis trois cartes comme sur la maquette. */
html body #app-root #main-view .fil-v96-home .fil-v85-home-access{padding:0!important;order:-1!important;}
html body #app-root #main-view .fil-v96-home .fil-v85-section-title{margin:0 0 12px!important;}
html body #app-root #main-view .fil-v96-home .fil-v85-section-title h2{color:#251945!important;font:850 clamp(22px,2.45vw,30px)/1.2 Outfit,system-ui!important;letter-spacing:-.038em!important;}
html body #app-root #main-view .fil-v96-home .fil-v85-section-title a{color:#6931c6!important;font:800 11px Inter,system-ui!important;text-decoration:none;}
html body #app-root #main-view .fil-v96-home .fil-portal-grid{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:11px!important;
}
html body #app-root #main-view .fil-v96-home .fil-portal-card{
  grid-column:span 3!important;position:relative!important;isolation:isolate;
  display:flex!important;align-items:center!important;flex-direction:row!important;
  min-height:106px!important;padding:16px!important;gap:14px!important;
  overflow:hidden!important;border-radius:12px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--portal-bg,#f5edff) 92%,white),#ffffffcc)!important;
  border:1px solid color-mix(in srgb,var(--portal-accent,#7b40c2) 12%,white)!important;
  box-shadow:0 4px 15px #48307d0a!important;
  text-decoration:none!important;
}
html body #app-root #main-view .fil-v96-home .fil-portal-card:nth-child(n+5){grid-column:span 4!important;min-height:94px!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card .fil-v85-tile-icon{display:grid!important;place-items:center;flex:none!important;width:48px!important;height:48px!important;background:color-mix(in srgb,var(--portal-accent,#7331c4) 7%,white)!important;border:1px solid color-mix(in srgb,var(--portal-accent,#7331c4) 14%,white)!important;color:var(--portal-accent,#692ab8)!important;border-radius:13px!important;font-size:20px!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card strong{font:850 clamp(14px,1.5vw,20px)/1.2 Outfit,system-ui!important;color:var(--portal-accent,#6035a9)!important;letter-spacing:-.03em!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card small{font:500 11px/1.45 Inter,system-ui!important;color:color-mix(in srgb,var(--portal-accent,#584c78) 63%,#555)!important;margin-top:6px!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card>span:last-child{margin-left:auto!important;align-self:start!important;color:var(--portal-accent,#6b38c1)!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"]{background:radial-gradient(circle at 85% 30%,#9521c7,#43116f 50%,#18103e 100%)!important;box-shadow:0 8px 20px #4a257f25!important;border-color:#5623ae!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"]::before{content:'';position:absolute;inset:0 4% 0 auto;width:31%;background:url('/assets/serpent/mascotte-rose.webp') center/contain no-repeat;opacity:.85;z-index:-1;pointer-events:none;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"] strong{color:#7ff9de!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"] small{color:#b6feee!important;max-width:62%;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"] .fil-v85-tile-icon{background:#2c164b!important;color:#8bffed!important;border-color:#7df4e0a0!important;}
html body #app-root #main-view .fil-v96-home .fil-portal-card[href="/serpent/"]>span:last-child{color:white!important;}

/* Rendez-vous et affiches : trois cartes équilibrées. */
html body #app-root #main-view .fil-v96-home .home-events{background:transparent!important;border:0!important;padding:0!important;margin-top:5px!important;box-shadow:none!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-v85-section-title small{display:block;margin-bottom:4px;color:#6e32cd!important;letter-spacing:.13em!important;font-size:10px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-v85-section-title h2{margin:0!important;}
html body #app-root #main-view .fil-v96-home .fil-v85-event-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-v87-event-card.is-compact{
  background:#fff!important;border:1px solid #e9e3f4!important;border-radius:14px!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;min-height:320px!important;height:100%!important;
  box-shadow:0 7px 22px #4a2c8517!important;
}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-photo{position:relative!important;min-height:138px!important;height:138px!important;max-height:138px!important;flex:0 0 138px!important;border:0!important;background:#efe9ff!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-photo img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-date{top:8px!important;left:9px!important;border-radius:9px!important;min-width:47px!important;padding:7px!important;color:#6b25cf!important;background:#fff!important;border:1px solid #ddd3ef!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-date b{font:850 23px/1 Outfit,system-ui!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-date span{font:800 10px/1.2 Inter,system-ui!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-zoom{width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;right:9px!important;top:8px!important;border-radius:50%!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;gap:8px!important;padding:13px 16px 14px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-heading{grid-template-columns:minmax(0,1fr)!important;gap:4px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-card-eyebrow{display:none!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-heading h2{font:850 clamp(15px,1.6vw,20px)/1.16 Outfit,system-ui!important;color:#261946!important;letter-spacing:-.02em!important;margin:0!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-card-aside{width:auto!important;max-width:none!important;display:flex!important;flex-direction:row!important;gap:6px!important;align-items:center!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-facts{display:flex!important;flex-direction:column!important;gap:3px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-facts>div{display:flex!important;align-items:baseline!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-facts dt{flex:none;color:#702bd2!important;font:800 10px/1.35 Inter,system-ui!important;margin:0!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-facts dt i{font-size:10px!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-event-facts dd{font:500 11px/1.3 Inter,system-ui!important;color:#514763!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-card-actions{margin-top:auto!important;padding:0!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-card-primary{width:100%!important;min-height:37px!important;padding:9px 13px!important;background:linear-gradient(115deg,#7736db,#6527c6)!important;color:#fff!important;border:0!important;border-radius:9px!important;font:800 11px/1.2 Inter,system-ui!important;}
html body #app-root #main-view .fil-v96-home .home-events .fil-card-brand-foot{display:none!important;}

/* Bandeau pratique : mairie / publications municipales / météo. */
html body #app-root #main-view .fil-v96-home>:is(.fil-v85-mairie,.home-news,.home-weather){min-width:0!important;min-height:194px!important;padding:19px!important;border:1px solid #eae2f7!important;border-radius:13px!important;box-shadow:0 5px 18px #4f2f8610!important;background:#fff!important;}
html body #app-root #main-view .fil-v96-home>.fil-v85-mairie{grid-column:1!important;background:linear-gradient(90deg,#ffffff 0%,#ffffffef 57%,#ffffff30 82%),url('/assets/visuels/accueil/mairie-prades.webp') right center/auto 100% no-repeat!important;}
html body #app-root #main-view .fil-v96-home>.home-news{grid-column:2!important;}
html body #app-root #main-view .fil-v96-home>.home-weather{grid-column:3!important;position:relative!important;overflow:hidden!important;background:radial-gradient(circle at 100% 0,#e1f0ff,transparent 56%),#fff!important;}
html body #app-root #main-view .fil-v96-home>:is(.fil-v85-mairie,.home-news,.home-weather)>small,
html body #app-root #main-view .fil-v96-home>.home-weather small{color:#712ccf!important;letter-spacing:.12em!important;font-size:10px!important;}
html body #app-root #main-view .fil-v96-home>:is(.fil-v85-mairie,.home-news,.home-weather) h2{font:850 clamp(18px,1.6vw,22px)/1.16 Outfit,system-ui!important;color:#251942!important;margin:7px 0!important;}
html body #app-root #main-view .fil-v96-home>.fil-v85-mairie p{max-width:65%;font-size:11px!important;line-height:1.55!important;}
html body #app-root #main-view .fil-v96-home>.fil-v85-mairie .fil-v85-actions{margin-top:14px!important;gap:7px!important;}
html body #app-root #main-view .fil-v96-home>.fil-v85-mairie .fil-v85-actions a{min-height:33px!important;padding:7px 10px!important;background:#f8f2ff!important;border:1px solid #dacdf0!important;border-radius:8px!important;color:#6423bc!important;font-size:10px!important;}
html body #app-root #main-view .fil-v96-home>.home-news .fil-v85-news-link{padding:6px 0!important;font-size:11px!important;color:#362651!important;line-height:1.2!important;}
html body #app-root #main-view .fil-v96-home>.home-news .fil-v85-text-link{font:800 11px Inter,system-ui!important;margin-top:8px!important;color:#6729c5!important;}
html body #app-root #main-view .fil-v96-home>.home-weather{display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-start!important;gap:5px!important;}
html body #app-root #main-view .fil-v96-home>.home-weather::before{content:'☀';position:absolute;right:16px;top:28px;font:44px/1 system-ui;color:#ffbe2b;text-shadow:0 0 15px #ffd76580;}
html body #app-root #main-view .fil-v96-home>.home-weather p{max-width:175px;font-size:11px!important;line-height:1.5!important;}
html body #app-root #main-view .fil-v96-home>.home-weather>a{min-height:34px!important;padding:8px 11px!important;font:800 10px/1.25 Inter,system-ui!important;}

/* Signature du projet et accès au jeu sans duplication dans la première vue. */
html body #app-root #main-view .fil-v96-home>.home-about{grid-column:1/-1!important;order:8!important;position:relative;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;min-height:106px!important;padding:20px 24px 20px 99px!important;border:1px solid #eadff7!important;border-radius:14px!important;background:linear-gradient(90deg,#fffafb 0%,#fdf9ffce 65%,#efe4ff86 100%),url('/assets/story-background.webp') right center/auto 190% no-repeat!important;box-shadow:none!important;}
html body #app-root #main-view .fil-v96-home>.home-about:before{content:'♥';position:absolute;left:23px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:57px;height:57px;border-radius:14px;background:#fae3ef;color:#bd2a69;font-size:30px;}
html body #app-root #main-view .fil-v96-home>.home-about small{color:#7133ca!important;letter-spacing:.13em!important;}
html body #app-root #main-view .fil-v96-home>.home-about h2{font:850 23px/1.15 Outfit,system-ui!important;color:#231845!important;margin:3px 0!important;}
html body #app-root #main-view .fil-v96-home>.home-about p{font:500 11px/1.45 Inter,system-ui!important;color:#625b75!important;margin:4px 0!important;max-width:620px!important;}
html body #app-root #main-view .fil-v96-home>.home-about>a{flex:none!important;min-height:37px!important;padding:10px 16px!important;font:800 11px Inter,system-ui!important;}
html body #app-root #main-view .fil-v96-home>#fil-v56-home-promo{grid-column:1/-1!important;order:9!important;background:linear-gradient(110deg,#281345,#6f24b2)!important;color:white!important;min-height:90px!important;}
html body #app-root #main-view .fil-v96-home>#fil-v56-home-promo h2,
html body #app-root #main-view .fil-v96-home>#fil-v56-home-promo p{color:white!important;}
html body #app-root #main-view .fil-v96-home>#fil-v56-home-promo small{color:#a9ffe3!important;}
html body #app-root #main-view .fil-v96-home :is(a,button):focus-visible{outline:3px solid #e746ae!important;outline-offset:3px!important;}

@media (max-width:1050px){
 html body #app-root #main-view .fil-v96-home .fil-v96-hero{min-height:320px!important;}
 #app-root #main-view .fil-v96-hero-inner{max-width:78%;}
 html body #app-root #main-view .fil-v96-home .fil-v96-hero h1{font-size:clamp(32px,4.3vw,49px)!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card{grid-column:span 6!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card:nth-child(n+5){grid-column:span 4!important;}
 html body #app-root #main-view .fil-v96-home:not(.fil-grid-host){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
 html body #app-root #main-view .fil-v96-home>.home-news{grid-column:2!important;}
 html body #app-root #main-view .fil-v96-home>.home-weather{grid-column:1/-1!important;min-height:135px!important;}
}
@media (max-width:700px){
 html body #app-root #main-view .fil-v96-home:not(.fil-grid-host){display:flex!important;flex-direction:column!important;padding:0 11px 24px!important;gap:14px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v96-hero{width:calc(100% + 22px);margin:0 -11px!important;padding:180px 20px 25px!important;min-height:0!important;border-radius:0 0 22px 22px!important;align-items:flex-end!important;}
 #app-root #main-view .fil-v96-hero-art{inset:0 0 36% 0;background-image:linear-gradient(0deg,#fff8fb 0%,transparent 45%),var(--v96-hero-image,url('/assets/visuels/accueil/village-panorama.webp'));background-size:cover;background-position:center center;}
 #app-root #main-view .fil-v96-hero-glow{background:linear-gradient(0deg,#fff8fb 5%,transparent 65%);}
 #app-root #main-view .fil-v96-hero-inner{max-width:100%;}
 html body #app-root #main-view .fil-v96-home .fil-v96-hero h1{font-size:clamp(31px,7.5vw,43px)!important;}
 html body #app-root #main-view .fil-v96-home .fil-v96-hero-subtitle{font-size:13px!important;line-height:1.5!important;}
 #app-root #main-view .fil-v96-hero-handwriting{display:none;}
 .fil-v96-desktop-only{display:none;}
 #app-root #main-view .fil-v96-hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v96-cta{white-space:normal!important;text-align:center!important;font-size:10px!important;padding:10px 6px!important;min-height:51px!important;}
 html body #app-root #main-view .fil-v96-home>.fil-v15-carousel.fil-featured{margin:0!important;padding:15px 13px 9px!important;border-radius:14px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-heading h2{font-size:24px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-stage{height:260px!important;min-height:260px!important;max-height:260px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-slide{padding:19px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-slide-info{max-width:94%!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-picture::after{background:linear-gradient(90deg,#190739ee 0%,#281052cd 44%,#220e4d65 100%)!important;}
 html body #app-root #main-view .fil-v96-home .fil-v15-slide-info h3{font-size:25px!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card,
 html body #app-root #main-view .fil-v96-home .fil-portal-card:nth-child(n+5){grid-column:span 1!important;min-height:120px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;padding:12px!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card:last-child{grid-column:1/-1!important;min-height:92px!important;flex-direction:row!important;align-items:center!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card .fil-v85-tile-icon{width:38px!important;height:38px!important;font-size:17px!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card strong{font-size:16px!important;}
 html body #app-root #main-view .fil-v96-home .fil-portal-card small{font-size:10px!important;}
 html body #app-root #main-view .fil-v96-home .fil-v85-event-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
 html body #app-root #main-view .fil-v96-home .home-events .fil-v87-event-card.is-compact{min-height:300px!important;}
 html body #app-root #main-view .fil-v96-home>.fil-v85-mairie,
 html body #app-root #main-view .fil-v96-home>.home-news,
 html body #app-root #main-view .fil-v96-home>.home-weather{grid-column:auto!important;min-height:170px!important;}
 html body #app-root #main-view .fil-v96-home>.home-about{padding:18px 16px 18px 78px!important;align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
 html body #app-root #main-view .fil-v96-home>.home-about:before{width:47px;height:47px;left:16px;top:41px;transform:none;font-size:25px;}
 html body #app-root #main-view .fil-v96-home>.home-about h2{font-size:20px!important;}
}
@media(prefers-reduced-motion:reduce){#app-root #main-view .fil-v96-home *{transition:none!important;animation:none!important;}}


/* MODULE : assets/visuels/agenda/agenda-v97.css */
/* Le Fil V97 — Agenda. Design de la page fourni par le responsable du site.
   Portée limitée à /agenda/ ; données, modales et flux du Studio inchangés. */
#app-root #main-view[data-page="agenda"]{
  --fil-v97-violet:#5931bb;
  --fil-v97-navy:#171340;
  --fil-v97-border:#e9e5f3;
  --page-frame-radius:14px;
  background:radial-gradient(ellipse at 4% 4%,#f4efff66,transparent 45%),linear-gradient(180deg,#fdfcff 0%,#fbf9ff 100%)!important;
  color:var(--fil-v97-navy);
}
/* Bandeau de rubrique illustré, avec très grand titre. */
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(200px,30%)!important;
  align-items:center!important;
  width:calc(100% - 36px)!important;
  min-height:215px!important;
  height:auto!important;
  padding:25px 42px 26px 48px!important;
  gap:12px!important;
  margin:18px 18px 16px!important;
  background:radial-gradient(circle at 6% 70%,#dcd5ff83 0,transparent 23%),radial-gradient(circle at 91% 36%,#ffe7e8 0,transparent 37%),linear-gradient(111deg,#f9f7ff 0%,#fff7fd 72%,#fff1f4 100%)!important;
  border:1px solid #eeeafa!important;
  box-shadow:0 9px 28px #5f40910d!important;
  border-radius:17px!important;
  isolation:isolate;
  overflow:hidden!important;
  position:relative;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero:before,
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero:after{
  content:"";display:block;position:absolute;z-index:-1;pointer-events:none;border-radius:50%;
  background:#d9d0ff6b;width:120px;height:120px;left:-48px;top:124px;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero:after{background:#e5d1f6aa;width:100px;height:100px;left:auto;right:5%;top:-48px;}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero>div{position:relative;z-index:1;min-width:0;}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero small{
  display:block;font:850 10px/1.4 Inter,system-ui!important;letter-spacing:.18em!important;color:#4234a5!important;margin:0 0 10px!important;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero h1{
  font:900 clamp(36px,4.2vw,59px)/.99 Outfit,Inter,system-ui!important;
  letter-spacing:-.052em!important;color:#171341!important;
  max-width:660px!important;margin:0 0 14px!important;text-wrap:balance;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero p{
  font:500 clamp(12px,1.23vw,15px)/1.52 Inter,system-ui!important;color:#69708f!important;max-width:650px!important;margin:0!important;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero figure{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  align-self:stretch!important;overflow:visible!important;background:none!important;border:0!important;
  padding:0!important;min-width:0!important;margin:0!important;border-radius:0!important;
}
html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero figure img{
  display:block!important;object-fit:contain!important;object-position:center!important;
  width:100%!important;max-width:370px!important;height:205px!important;max-height:none!important;
  filter:drop-shadow(0 12px 14px #6b3db322);border-radius:0!important;transform:rotate(-1.5deg)!important;
}
/* Zone de filtres compacte et lisible sur tous les formats. */
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda{
  width:100%!important;max-width:none!important;margin:0!important;padding:0 18px 30px!important;
  background:transparent!important;box-sizing:border-box;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar{
  display:grid!important;grid-template-columns:minmax(145px,1.45fr) auto minmax(95px,.75fr) minmax(120px,.95fr) minmax(100px,.75fr) auto!important;
  gap:10px!important;align-items:end!important;justify-content:stretch!important;
  margin:0 0 17px!important;padding:12px!important;
  background:#ffffffef!important;border:1px solid #eeeaf6!important;
  border-radius:13px!important;box-shadow:0 7px 22px #39236b0c!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar .fil-v97-search{
  position:relative!important;display:flex!important;align-items:center!important;min-width:0!important;
  min-height:42px!important;border:1px solid #e2e3f0!important;border-radius:9px!important;background:#fff!important;padding:0 10px!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-search>i{font-size:13px;color:#4c439a;margin-right:9px;flex:none;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-search input{
  width:100%!important;min-width:0!important;min-height:40px!important;max-width:none!important;
  border:0!important;outline:0!important;padding:0!important;font:500 12px/1.35 Inter,system-ui!important;
  color:#2a2750!important;box-shadow:none!important;background:transparent!important;flex:1 1 auto!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-search:focus-within{border-color:#8b70e0!important;box-shadow:0 0 0 3px #7042c413!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-mode{display:flex!important;gap:5px!important;align-items:center!important;min-width:0;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-mode button{
  display:inline-flex!important;gap:7px!important;min-height:42px!important;height:42px!important;
  padding:8px 12px!important;white-space:nowrap!important;border-radius:9px!important;
  font:800 11px/1.2 Inter,system-ui!important;
  background:#f5f2ff!important;color:#5133ad!important;border:1px solid #e5dcfc!important;
  box-shadow:none!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-mode button[aria-pressed="true"]{
  background:linear-gradient(120deg,#7042cc,#5230b3)!important;color:white!important;
  border-color:#6940c6!important;box-shadow:0 5px 12px #45269d20!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar .fil-v97-filter{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:5px!important;min-width:0!important;font:750 10px/1.2 Inter,system-ui!important;color:#344a9c!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar .fil-v97-filter>span{padding-left:2px;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-filter select{
  width:100%!important;height:42px!important;min-height:42px!important;min-width:0!important;max-width:100%!important;
  padding:8px 26px 8px 9px!important;border:1px solid #e0e2ef!important;
  border-radius:9px!important;background:#fff!important;color:#393354!important;
  font:550 11px/1.3 Inter,system-ui!important;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-propose{
  align-self:end!important;display:inline-flex!important;gap:8px!important;min-height:42px!important;
  height:42px!important;padding:9px 14px!important;background:linear-gradient(120deg,#6d3acc,#4d31ae)!important;
  border:0!important;color:#fff!important;border-radius:9px!important;
  font:800 11px/1.25 Inter,system-ui!important;white-space:nowrap!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-list-heading{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;
  margin:0 0 15px!important;min-width:0;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-list-heading h2{
  margin:0!important;padding:0!important;color:#211941!important;
  font:850 clamp(19px,2vw,27px)/1.2 Outfit,system-ui!important;letter-spacing:-.035em!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-list-heading [data-agenda-count-number]{color:#6235c4!important;font-size:1.16em;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-spark{display:inline-block;transform:rotate(-14deg);font-size:28px;color:#7864e4;margin-left:10px;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-reset{
  background:#fff!important;color:#6132be!important;border:1px solid #e4d8f5!important;
  font:750 11px Inter,system-ui!important;padding:9px 12px!important;border-radius:8px!important;cursor:pointer;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-screenreader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
/* Trois cartes aérées, affiches panoramiques, dates et catégories visibles. */
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid:not(.fil-grid-host){
  display:grid!important;grid-template-columns:repeat(var(--list-cols,3),minmax(0,1fr))!important;
  gap:15px!important;align-items:stretch!important;min-width:0!important;container-type:normal!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v87-event-card{
  display:flex!important;flex-direction:column!important;position:relative!important;gap:0!important;
  min-height:340px!important;height:auto!important;padding:0!important;overflow:hidden!important;
  background:#fff!important;color:#211941!important;border:1px solid #e9e6ef!important;
  border-radius:12px!important;box-shadow:0 7px 19px #2713500c!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v87-event-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #3220591c!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-photo{
  display:block!important;position:relative!important;flex:none!important;min-height:0!important;height:auto!important;
  aspect-ratio:2.28/1!important;width:100%!important;overflow:hidden!important;
  margin:0!important;padding:0!important;border:0!important;background:#eeeaf8!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-photo img{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;object-position:var(--record-media-position,var(--page-media-position,center))!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-date{
  position:absolute!important;z-index:3!important;left:9px!important;top:9px!important;
  min-width:49px!important;min-height:59px!important;padding:7px 6px!important;gap:1px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  border-radius:8px!important;border:1px solid #e4ddec!important;background:#fff!important;
  color:#4837b2!important;box-shadow:0 5px 13px #1a12422e!important;text-align:center;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-date b{font:900 26px/.99 Outfit,system-ui!important;letter-spacing:-.04em!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-date span{font:850 9px/1.12 Inter,system-ui!important;text-transform:uppercase!important;white-space:nowrap!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-zoom{
  position:absolute!important;z-index:2!important;right:8px!important;bottom:8px!important;top:auto!important;
  min-height:28px!important;min-width:28px!important;width:28px!important;height:28px!important;
  border-radius:50%!important;background:#ffffffc8!important;color:#5234b3!important;
  opacity:0!important;transition:opacity .15s!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v87-event-card:hover .fil-event-zoom,
html body #app-root #main-view[data-page="agenda"] .fil-event-zoom:focus-visible{opacity:1!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-body{
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;
  padding:11px 13px 13px!important;gap:6px!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-heading{
  display:block!important;position:static!important;padding:0!important;margin:0!important;border:0!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-heading>div:first-child{width:100%!important;min-width:0!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-eyebrow{display:none!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-heading h2{
  font:850 clamp(14px,1.48vw,18px)/1.16 Outfit,Inter,system-ui!important;
  letter-spacing:-.025em!important;color:#171442!important;margin:0!important;
  overflow-wrap:anywhere!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-aside{
  position:absolute!important;z-index:4!important;top:9px!important;left:66px!important;right:9px!important;
  width:auto!important;max-width:none!important;min-height:30px!important;
  padding:0!important;margin:0!important;display:block!important;pointer-events:none;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-meta{
  display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:5px!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;pointer-events:none;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-category{
  display:inline-flex!important;align-items:center!important;min-height:25px!important;max-width:calc(100% - 37px)!important;
  padding:4px 9px!important;margin:0!important;border-radius:14px!important;
  font:800 10px/1.1 Inter,system-ui!important;box-shadow:0 2px 8px #0000001c!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;pointer-events:auto!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-heart{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  position:relative!important;top:auto!important;right:auto!important;left:auto!important;
  width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;
  padding:4px!important;margin:0!important;border:1px solid #ded5fa!important;border-radius:50%!important;
  box-shadow:0 3px 9px #1c0c442d!important;background:#fff!important;color:#6f47c6!important;
  cursor:pointer!important;pointer-events:auto!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-heart svg{width:16px!important;height:16px!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-aside .fil-card-site-logo{display:none!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;
  padding:0!important;margin:0!important;min-width:0!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts>div{
  display:flex!important;align-items:baseline!important;gap:7px!important;
  background:none!important;border:0!important;padding:0!important;margin:0!important;border-radius:0!important;
  min-width:0!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts dt{
  margin:0!important;padding:0!important;font-size:0!important;line-height:1.15!important;flex:none!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts dt i{
  display:inline-block!important;margin:0!important;font-size:12px!important;color:#5f36c3!important;line-height:1.4!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts dd{
  margin:0!important;padding:0!important;font:600 11px/1.36 Inter,system-ui!important;
  color:#565273!important;overflow-wrap:anywhere!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-excerpt{
  margin:2px 0 0!important;font:450 11px/1.43 Inter,system-ui!important;color:#626888!important;
  display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-extra{
  font:500 10px/1.35 Inter,system-ui!important;color:#666285!important;margin:0!important;
  display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-body>.fil-card-actions{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;
  margin-top:auto!important;padding:5px 0 0!important;min-width:0!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions :is(a,button){
  display:inline-flex!important;min-height:37px!important;height:37px!important;min-width:0!important;
  padding:8px 10px!important;border-radius:8px!important;white-space:nowrap!important;
  font:800 10px/1.1 Inter,system-ui!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions .fil-card-primary{
  flex:1 1 130px!important;display:inline-flex!important;justify-content:space-between!important;
  background:linear-gradient(115deg,#6c3ec7,#5331b3)!important;color:#fff!important;
  box-shadow:none!important;border:0!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions a[download]{
  flex:0 0 33px!important;width:33px!important;min-width:33px!important;padding:8px 0!important;
  display:flex!important;font-size:0!important;overflow:hidden!important;
  background:#f5f7fe!important;border-color:#e0e6f6!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions a[download] i{font-size:13px!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions [data-local-qr]{
  flex:0 0 auto!important;padding:8px!important;background:#f2f6fc!important;
  color:#2b549f!important;border:1px solid #dce5f5!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-brand-foot{display:none!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-directory-empty{grid-column:1/-1;}
/* Le calendrier conserve le comportement existant avec une présentation harmonisée. */
html body #app-root #main-view[data-page="agenda"] .fil-v84-calendar-nav{
  padding:16px 20px!important;margin:0 0 10px!important;border-radius:12px!important;
  background:#fff!important;border:1px solid #eae4f5!important;color:#271b53!important;
}
html body #app-root #main-view[data-page="agenda"] .fil-v84-calendar-nav .fil-v84-button{border-radius:8px!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v84-calendar{padding:10px!important;background:#fff!important;border:1px solid #eee9f7!important;border-radius:12px!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v84-calendar>button{border-radius:8px!important;}
html body #app-root #main-view[data-page="agenda"] .fil-v84-calendar>button:focus-visible,
html body #app-root #main-view[data-page="agenda"] button:focus-visible,
html body #app-root #main-view[data-page="agenda"] select:focus-visible{outline:3px solid #926ce2!important;outline-offset:2px!important;}
@media(max-width:1120px){
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid:not(.fil-grid-host){gap:12px!important;}
}
@media(max-width:960px){
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-search{grid-column:span 3!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-mode{grid-column:span 3!important;justify-content:flex-end;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-filter{grid-column:span 2!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-propose{grid-column:1/-1!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid:not(.fil-grid-host){grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:650px){
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero{
   width:calc(100% - 24px)!important;min-height:190px!important;margin:12px 12px 13px!important;
   padding:20px 18px!important;gap:4px!important;grid-template-columns:minmax(0,1fr) 112px!important;
 }
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero small{font-size:8px!important;}
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero h1{font-size:clamp(28px,7vw,38px)!important;line-height:1.02!important;}
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero p{font-size:11px!important;line-height:1.5!important;}
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero figure img{height:137px!important;width:100%!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda{padding:0 12px 25px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar{padding:10px!important;gap:8px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-search,
 html body #app-root #main-view[data-page="agenda"] .fil-v97-mode,
 html body #app-root #main-view[data-page="agenda"] .fil-v97-propose{grid-column:1/-1!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-mode{justify-content:stretch;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-mode button{flex:1 1 50%;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-filter{grid-column:span 1!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-filter select{font-size:12px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-list-heading h2{font-size:20px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v87-event-card{min-height:345px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-photo{aspect-ratio:2.2/1!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-heading h2{font-size:18px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-body{padding:13px 14px 14px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-facts dd{font-size:12px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-excerpt{font-size:12px!important;}
}
@media(max-width:355px){
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero{grid-template-columns:minmax(0,1fr) 82px!important;}
 html body #app-root #main-view[data-page="agenda"] > .fil-v84-page-hero h1{font-size:26px!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-filter{grid-column:1/-1!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions [data-local-qr]{font-size:0!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-actions [data-local-qr] i{font-size:13px!important;}
}
@media(prefers-reduced-motion:reduce){
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v87-event-card{transition:none!important;}
 html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-v87-event-card:hover{transform:none!important;}
}

/* Respecter les options d’affichage publiées dans le Studio. */
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-heart[hidden],
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-card-category[hidden],
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-date[hidden],
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda [data-show-images="false"] .fil-event-photo,
html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda-toolbar [hidden]{display:none!important;}

html body #app-root #main-view[data-page="agenda"] .fil-v97-agenda .fil-event-date .fil-v97-date-year{
  font:850 9px/1.12 Inter,system-ui!important;letter-spacing:0!important;color:#4538b0!important;
}


/* MODULE : assets/visuels/menu/menu-v98.css */
/* V98 — Menu illustré : design éditorial responsive, HTML accessible et navigation conservée. */
html body #app-root #main-view[data-page="menu"]{
 --v98-ink:#241044;--v98-violet:#6934c5;
 background:linear-gradient(150deg,#faf8ff 2%,#f6f2ff 48%,#f9f6ff 80%,#f4edff 100%)!important;
 overflow:hidden;
}
html body #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{
 position:relative;isolation:isolate;display:block!important;width:calc(100% - 56px)!important;
 min-height:278px!important;height:auto!important;margin:24px 28px 0!important;
 padding:30px 40px!important;border:1px solid #ffffff!important;
 border-radius:20px!important;overflow:hidden!important;
 background:radial-gradient(ellipse at 24% 42%,#fff 2%,#fff9 32%,transparent 69%),
 linear-gradient(115deg,#fff,#f6ecff 48%,#f9f0ff 76%,#fff1ea)!important;
 box-shadow:0 13px 40px #55439012,0 1px 4px #9786c010!important;
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero::before{
 content:"";position:absolute;z-index:-1;left:-9%;top:-45%;width:89%;height:156%;
 border-radius:40% 68% 39% 30%;transform:rotate(-15deg);
 background:linear-gradient(155deg,#fff0 35%,#ebddfa89 70%,#e9dbff55);pointer-events:none;
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero::after{
 content:"";position:absolute;left:-30px;bottom:-1px;width:75%;height:65px;z-index:-1;
 background:linear-gradient(140deg,#ddd0fb88,#eddbff80,#ffffff00 85%);
 clip-path:polygon(0 50%,12% 13%,28% 49%,47% 85%,70% 14%,100% 82%,100% 100%,0 100%);
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero>.fil-v98-hero-copy{position:relative;z-index:3;width:min(57%,650px);min-width:0;padding:8px 0 10px}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero .fil-v98-hero-copy>small{
 display:flex;align-items:center;gap:15px;font:800 10px/1.4 Inter,system-ui!important;
 color:#6536c1!important;letter-spacing:.28em!important;
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero .fil-v98-hero-copy>small::after{content:"";width:38px;height:2px;background:#6330cc;display:block}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero h1{
 font:700 clamp(40px,5.4vw,69px)/.97 Georgia,"Times New Roman",serif!important;
 letter-spacing:-.052em!important;color:#230846!important;margin:17px 0 20px!important;
 max-width:680px!important;text-wrap:balance;
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero .fil-v98-hero-copy>p{
 font:400 clamp(13px,1.35vw,17px)/1.42 Inter,system-ui!important;
 color:#6e6091!important;max-width:460px!important;margin:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-scene{
 position:absolute;inset:0 0 0 40%;z-index:1;pointer-events:none;
 background:radial-gradient(circle at 70% 50%,#fce4b98f,transparent 47%);
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-landscape{
 position:absolute;inset:45px 4% 0 0;
 background:linear-gradient(90deg,#faf7ff 0%,#faf7ffd4 16%,#fff0 44%),url('/assets/visuels/accueil/village-panorama.webp') center 62%/cover no-repeat;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%);
 opacity:.91;
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-poster{
 position:absolute;right:6.6%;top:13px;width:clamp(146px,18.3vw,200px);height:calc(100% - 18px);
 filter:drop-shadow(0 15px 12px #40245d38);transform:rotate(-3deg);
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-poster::before{
 content:"";position:absolute;inset:-6px -6px -3px 4px;z-index:-1;background:#fff;
 border:1px solid #fff;border-radius:3px;box-shadow:0 5px 18px #4c16872b;
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-poster img{
 display:block;width:100%!important;height:100%!important;object-fit:cover!important;
 object-position:center!important;border-radius:3px!important;box-shadow:none!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-spark{
 position:absolute;right:3%;top:54px;width:28px;height:42px;
 background:linear-gradient(#7542dc,#e9789b);clip-path:polygon(47% 0,60% 0,58% 36%,100% 58%,96% 69%,55% 55%,30% 100%,17% 96%,39% 48%,0 28%,7% 17%,48% 40%);
 transform:rotate(14deg)
}
#app-root #main-view[data-page="menu"] .fil-v98-hero-spark.two{right:30%;top:20px;width:31px;height:30px;transform:rotate(-17deg);opacity:.55}
/* Contenu du menu : garder le quadrillage à 4 colonnes sur écran large. */
html body #app-root #main-view[data-page="menu"]>.fil-v98-menu:not(.fil-grid-host){
 display:flex!important;flex-direction:column!important;gap:28px!important;
 padding:21px 29px 66px!important;position:relative;z-index:1;
}
#app-root #main-view[data-page="menu"]>.fil-v98-menu::after{
 content:"";position:absolute;pointer-events:none;bottom:-4px;left:0;right:0;height:85px;opacity:.48;z-index:-1;
 background:url('/assets/visuels/menu/frise-village.webp') bottom center/cover no-repeat;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group{min-width:0;position:relative}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group-head{
 display:flex;align-items:center;gap:16px;margin:0 0 15px;padding:0 4px;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group-symbol{
 display:grid;place-items:center;flex:none;font-size:30px;color:#7a42c4;width:31px;height:40px;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group-heading{flex:1;min-width:0}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group-head h2{
 font:700 clamp(25px,2.8vw,33px)/1.05 Georgia,"Times New Roman",serif!important;
 letter-spacing:-.042em;color:#28104a!important;margin:0 0 5px!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-group-head p{
 color:#74658e;font:400 12px/1.45 Inter,system-ui!important;margin:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-count{
 display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
 border-radius:30px;background:#ede3fc;color:#6d36b8;
 min-width:86px;min-height:33px;padding:6px 15px;font:750 11px/1.2 Inter,system-ui;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid,
#app-root #main-view[data-page="menu"] .fil-v85-menu-group[data-tile-count="3"] .fil-v98-menu-grid{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;
}
#app-root #main-view[data-page="menu"] .fil-v85-menu-group[data-tile-count="3"] .fil-v98-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card{
 --v98-tint:#eee6ff;--v98-shade:#6729bf;
 display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;
 position:relative;isolation:isolate;box-sizing:border-box;min-width:0;min-height:153px;
 border:1px solid #fff!important;border-radius:14px!important;overflow:hidden;
 background:linear-gradient(148deg,#fff 10%,#fffefeee 48%,#ffffffd9 100%)!important;
 padding:15px 20px 13px!important;text-decoration:none!important;
 box-shadow:0 7px 18px #6653920d,0 2px 4px #6c419007!important;
 color:#28104a!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;
 top:-37px;right:-13px;width:120px;height:91px;border-radius:51% 49% 38% 62%;
 background:radial-gradient(ellipse at 76% 42%,var(--v98-tint),transparent 75%);
 transform:rotate(-21deg)
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card::after{
 content:"";position:absolute;z-index:-1;pointer-events:none;
 top:-30px;right:0;width:88px;height:68px;border-radius:40% 61% 61% 39%;
 background:var(--v98-tint);opacity:.32;transform:rotate(23deg)
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card:is(:hover,:focus-visible){
 transform:translateY(-3px);box-shadow:0 12px 29px #624b9525!important;border-color:#d3bcee!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card:focus-visible{outline:3px solid #8641da;outline-offset:2px}
#app-root #main-view[data-page="menu"] .fil-v98-menu-icon{
 width:54px;height:54px;flex:none;border-radius:50%;display:grid;place-items:center;
 background:var(--v98-tint);color:var(--v98-shade);font-size:24px;margin:0 0 7px;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-copy{display:block;min-width:0;padding-right:36px;margin-top:auto}
#app-root #main-view[data-page="menu"] .fil-v98-menu-copy strong{
 display:block;font:700 clamp(17px,1.7vw,21px)/1.16 Georgia,"Times New Roman",serif!important;
 letter-spacing:-.038em;color:#251045!important;margin:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-copy small{
 display:block;margin:7px 0 0;color:#71618f;font:400 11px/1.45 Inter,system-ui!important;
 letter-spacing:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-arrow{
 position:absolute;bottom:12px;right:14px;width:34px;height:34px;border-radius:50%;
 display:grid;place-items:center;background:var(--v98-tint);color:var(--v98-shade);
 font-size:13px;transition:transform .15s ease;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-card:hover .fil-v98-menu-arrow{transform:translateX(3px)}
#app-root #main-view[data-page="menu"] .fil-v98-menu-associations{--v98-tint:#dcefe3;--v98-shade:#08753d}
#app-root #main-view[data-page="menu"] .fil-v98-menu-commerces{--v98-tint:#fff0d7;--v98-shade:#c25e0a}
#app-root #main-view[data-page="menu"] .fil-v98-menu-restauration{--v98-tint:#ffe1e4;--v98-shade:#c82c38}
#app-root #main-view[data-page="menu"] .fil-v98-menu-services{--v98-tint:#e0ecff;--v98-shade:#2267ca}
#app-root #main-view[data-page="menu"] .fil-v98-menu-le-fil{--v98-tint:#eadcff;--v98-shade:#7432c2}
#app-root #main-view[data-page="menu"] .fil-v98-menu-agenda{--v98-tint:#ffe0ee;--v98-shade:#c92879}
#app-root #main-view[data-page="menu"] .fil-v98-menu-mairie{--v98-tint:#dfedff;--v98-shade:#2168bb}
#app-root #main-view[data-page="menu"] .fil-v98-menu-favoris{--v98-tint:#ffdeee;--v98-shade:#c72b79}
#app-root #main-view[data-page="menu"] .fil-v98-menu-musique{--v98-tint:#eee1ff;--v98-shade:#7a35bb}
#app-root #main-view[data-page="menu"] .fil-v98-menu-meteo{--v98-tint:#e0efff;--v98-shade:#1761ad}
#app-root #main-view[data-page="menu"] .fil-v98-menu-horloge{--v98-tint:#ffead3;--v98-shade:#d76110}
#app-root #main-view[data-page="menu"] .fil-v98-menu-accueil,
#app-root #main-view[data-page="menu"] .fil-v98-menu-histoire,
#app-root #main-view[data-page="menu"] .fil-v98-menu-mentions{--v98-tint:#eee3ff;--v98-shade:#6b31bc}
/* The arcade shortcut occupies one ordinary card cell. */
#app-root #main-view[data-page="menu"] .fil-v98-menu-game{
 background:radial-gradient(circle at 33% 22%,#9445e8,transparent 60%),linear-gradient(118deg,#26065e 0%,#53109c 65%,#8129c0 100%)!important;
 border-color:#6418a6!important;box-shadow:0 8px 20px #5d23ad23!important;
 flex-direction:row!important;align-items:center!important;padding:12px!important;color:#fff!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game::before{background:radial-gradient(circle,#eb9eff3a,transparent 70%);width:230px;height:190px;top:-60px;right:-80px}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game::after{display:none}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game>img{
 display:block;position:relative;z-index:1;max-width:48%;width:110px;height:124px;object-fit:contain;
 filter:drop-shadow(0 6px 8px #ea65ff5e);
}
#app-root #main-view[data-page="menu"] .fil-v98-game-copy{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0;padding:0 19px 0 4px}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game strong{font:700 clamp(17px,1.8vw,22px)/1.12 Georgia,serif;color:#fff}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game small{font:400 11px/1.45 Inter,system-ui;color:#f6e8ff}
#app-root #main-view[data-page="menu"] .fil-v98-menu-game .fil-v98-menu-arrow{color:white;background:#a748e4}
/* The last group uses slim landscape links, as in the design reference. */
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card{
 min-height:78px;flex-direction:row;align-items:center;padding:10px 16px!important;gap:14px;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-icon{
 margin:0;width:49px;height:49px;font-size:22px;
}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy{margin:0;flex:1;min-width:0}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy strong{font:700 16px/1.16 Georgia,serif!important}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy small{margin-top:4px;font-size:10px!important}
#app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-arrow{position:static;flex:none;width:29px;height:29px}
/* Stay connected — retain hooks consumed by the existing sharing and PWA scripts. */
html body #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{
 position:relative;isolation:isolate;display:grid!important;
 grid-template-columns:68px minmax(260px,1fr) auto!important;align-items:center!important;gap:14px!important;
 width:100%!important;padding:18px 19px!important;margin:0!important;
 border:1px solid #ebddff!important;border-radius:15px!important;
 background:linear-gradient(104deg,#fff 0%,#fffbff 54%,#f8f2ff 100%)!important;
 box-shadow:0 8px 19px #5b38940f!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-icon{
 display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#eee0ff;
 color:#7136c0;font-size:26px;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-text{min-width:0}
#app-root #main-view[data-page="menu"] .fil-v98-contact-text>small{color:#7140c3!important;font-size:9px;letter-spacing:.13em}
#app-root #main-view[data-page="menu"] .fil-v98-contact-text>h2{
 font:700 clamp(18px,2.05vw,24px)/1.12 Georgia,"Times New Roman",serif!important;
 letter-spacing:-.045em!important;color:#28114c!important;margin:3px 0 5px!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-text>p{
 color:#78699a!important;font:400 11px/1.5 Inter,system-ui!important;margin:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions{
 display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;margin:0!important;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;
 min-height:52px!important;padding:10px 13px!important;border-radius:11px!important;
 border:1px solid #decafb!important;background:#f8f2ff!important;color:#6333b8!important;
 font:750 10px/1.35 Inter,system-ui!important;cursor:pointer;
 max-width:150px!important;text-wrap:balance;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button i{font-size:18px;flex:none}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button:first-child{
 background:linear-gradient(115deg,#752ad3,#5722b0)!important;border-color:#6b28bc!important;color:white!important;
 box-shadow:0 7px 17px #6223c833;
}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button:hover{filter:brightness(.97)}
#app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button:focus-visible{outline:3px solid #9753df;outline-offset:2px}
/* Mid-sized computers and tablets. */
@media(max-width:1150px){
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero h1{font-size:clamp(43px,5.7vw,60px)!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{grid-template-columns:55px minmax(200px,1fr)!important}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-icon{width:54px;height:54px}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-actions{grid-column:1/-1;justify-content:center!important}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{max-width:none!important;flex:1}
}
@media(max-width:800px){
 html body #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{
  width:calc(100% - 28px)!important;margin:14px 14px 0!important;padding:25px 26px!important;min-height:250px!important;
 }
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero>.fil-v98-hero-copy{width:63%}
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero h1{font-size:clamp(37px,6.4vw,50px)!important}
 #app-root #main-view[data-page="menu"] .fil-v98-hero-poster{width:26%;right:4%}
 #app-root #main-view[data-page="menu"]>.fil-v98-menu{padding:22px 15px 60px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #app-root #main-view[data-page="menu"] .fil-v85-menu-group[data-tile-count="3"] .fil-v98-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card{flex-direction:column;align-items:flex-start;min-height:120px;gap:5px;padding:12px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy{padding-right:0}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-arrow{position:absolute;bottom:10px;right:10px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card{min-height:145px}
}
@media(max-width:520px){
 html body #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{
  width:calc(100% - 22px)!important;margin:12px 11px 0!important;
  padding:24px 19px 20px!important;min-height:330px!important;border-radius:15px!important;
 }
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero>.fil-v98-hero-copy{width:100%;padding:0;position:relative;z-index:2}
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero .fil-v98-hero-copy>small{font-size:8px!important;letter-spacing:.18em!important}
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero h1{
  max-width:94%!important;font-size:clamp(36px,10vw,49px)!important;line-height:1.02!important;margin:14px 0 11px!important;
 }
 #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero .fil-v98-hero-copy>p{max-width:62%!important;font-size:12px!important;line-height:1.45!important}
 #app-root #main-view[data-page="menu"] .fil-v98-hero-scene{inset:0}
 #app-root #main-view[data-page="menu"] .fil-v98-hero-landscape{inset:155px 0 0 0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 75%);mask-image:linear-gradient(180deg,transparent,#000 75%)}
 #app-root #main-view[data-page="menu"] .fil-v98-hero-poster{top:auto;bottom:8px;right:8%;width:29%;height:160px}
 #app-root #main-view[data-page="menu"] .fil-v98-hero-spark{display:none}
 html body #app-root #main-view[data-page="menu"]>.fil-v98-menu{padding:21px 12px 57px!important;gap:26px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head{gap:8px;margin-bottom:13px;padding:0}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-group-symbol{width:28px;font-size:23px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head h2{font-size:24px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head p{font-size:10px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-count{min-width:0;padding:6px 9px;font-size:9px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid,
 #app-root #main-view[data-page="menu"] .fil-v85-menu-group[data-tile-count="3"] .fil-v98-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card{min-height:149px;padding:12px!important;border-radius:13px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-icon{width:44px;height:44px;font-size:19px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-copy{padding-right:15px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-copy strong{font-size:16px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-copy small{font-size:10px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-arrow{width:27px;height:27px;bottom:9px;right:8px;font-size:12px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-game{flex-direction:column!important;align-items:flex-start!important;justify-content:center;padding:9px!important;gap:0}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-game>img{position:absolute;right:2px;top:6px;width:65px;height:90px;max-width:46%}
 #app-root #main-view[data-page="menu"] .fil-v98-game-copy{padding:15px 0 0!important;gap:8px;align-self:flex-end;position:relative;z-index:2;width:100%}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-game strong{font-size:17px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-game small{font-size:10px;padding-right:18px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card{min-height:105px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-icon{width:36px;height:36px;font-size:17px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card:last-child{grid-column:1/-1}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy strong{font-size:15px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{grid-template-columns:48px minmax(0,1fr)!important;gap:9px!important;padding:14px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-icon{width:44px;height:44px;font-size:19px}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-text>h2{font-size:20px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-actions{grid-column:1/-1;flex-direction:column;width:100%;gap:7px}
 #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{width:100%;min-height:43px!important;max-width:none!important}
}
@media(prefers-reduced-motion:reduce){#app-root #main-view[data-page="menu"] .fil-v98-menu-card{transition:none}}
/* Override the generic page padding with the Menu's intentionally asymmetric spacing. */
html body #app-root #main-view[data-page="menu"]>.fil-v98-menu.fil-v85-page-content:not(#fil-serpent-page){padding:21px 29px 66px!important}
@media(max-width:800px){html body #app-root #main-view[data-page="menu"]>.fil-v98-menu.fil-v85-page-content:not(#fil-serpent-page){padding:22px 15px 60px!important}}
@media(max-width:520px){html body #app-root #main-view[data-page="menu"]>.fil-v98-menu.fil-v85-page-content:not(#fil-serpent-page){padding:21px 12px 57px!important}}

#app-root #main-view[data-page="menu"]>.fil-v98-menu-hero h1>span{display:block}

@media(max-width:520px){
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game>img{
  position:absolute!important;top:4px!important;bottom:auto!important;right:4px!important;
  display:block!important;width:72px!important;height:93px!important;max-width:48%!important;
  object-fit:contain!important;z-index:2!important;
 }
}
@media(max-width:520px){
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game{
  background:url('/assets/serpent/mascotte-rose.webp') right 0 top 0/88px 102px no-repeat,
   radial-gradient(circle at 35% 20%,#9445e8,transparent 65%),linear-gradient(115deg,#2e075f,#852abf)!important;
 }
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game>img{display:none!important}
}
@media(max-width:520px){
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game{min-height:165px!important}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game .fil-v98-game-copy{padding:78px 0 0!important;gap:5px}
 #app-root #main-view[data-page="menu"] .fil-v98-menu-card.fil-v98-menu-game small{font-size:9px!important;line-height:1.3!important}
}


/* MODULE : assets/serpent.css */
/* Serpent : décor continu, composants natifs et illustrations indépendantes. */
#app-root #main-view:has(>#fil-serpent-page){padding:0!important;background:#17072f!important}
#app-root #main-view #fil-serpent-page{
 --campaign-from:var(--snake-promoFrom,#24023f);--campaign-to:var(--snake-promoTo,#5d078d);--campaign-accent:var(--snake-promoAccent,#ff8ce4);
 --snake-frame:var(--snake-frameColor,#bf4fff);--snake-star:var(--snake-starColor,#ffe35f);--snake-berry:var(--snake-food,#ff59b7);
 position:relative;isolation:isolate;container-type:inline-size;display:grid;gap:14px;min-width:0;width:100%;max-width:1560px;margin:0 auto;padding:0 clamp(10px,1.8vw,26px) 24px!important;box-sizing:border-box;overflow-x:clip;color:#f6eaff;font-family:Inter,system-ui,sans-serif;
 background:radial-gradient(ellipse at 86% 9%,#9523b94d,transparent 28%),radial-gradient(ellipse at 18% 50%,#7226a94d,transparent 43%),linear-gradient(155deg,var(--campaign-from),#160c30 55%,var(--campaign-to));
}
#app-root #main-view #fil-serpent-page::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 25% 20%,#d7c4ffb3 0 1px,transparent 2px),radial-gradient(circle at 75% 64%,#8ee9ff80 0 1px,transparent 2px);background-size:113px 137px,197px 167px;opacity:.55}
#app-root #main-view #fil-serpent-page[data-stage=plain]::before{display:none}
#app-root #main-view #fil-serpent-page *,#fil-v57-arcade *{box-sizing:border-box}
#app-root #main-view #fil-serpent-page [hidden],#fil-v57-arcade[hidden],#fil-v57-arcade [hidden]{display:none!important}
#app-root #main-view #fil-serpent-page :is(h1,h2,h3,p,figure){margin:0}
#app-root #main-view #fil-serpent-page :is(.fil-snake-hero,.fil-v83-game-profile,.fil-snake-help,.fil-snake-community,.fil-snake-console-menu) button{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;min-width:0;min-height:48px;padding:11px 18px;border:1px solid #ce8bf280;border-radius:8px;background:#ffffff0d;color:inherit;font:750 15px/1.3 Inter,system-ui;cursor:pointer;transition:filter .15s,transform .15s;
}
#app-root #main-view #fil-serpent-page button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}
#app-root #main-view #fil-serpent-page button:disabled{opacity:.5;cursor:default}
#app-root #main-view #fil-serpent-page :is(button,a,input):focus-visible,#fil-v57-arcade :is(button,input,select):focus-visible{outline:3px solid var(--snake-star,#ffe35f);outline-offset:3px}
#app-root #main-view #fil-serpent-page .fil-snake-primary{background:linear-gradient(110deg,#ffb3f2,var(--campaign-accent) 55%,#ff55cc)!important;color:#260738!important;border:1px solid #ffc7f4!important;box-shadow:0 0 18px #ff6ee940,inset 0 1px 2px #fff9;font-weight:850}
#app-root #main-view #fil-serpent-page .fil-v58-kicker{display:block;font:800 11px/1.5 Inter,system-ui;letter-spacing:.18em;text-transform:uppercase;color:var(--campaign-accent)}
#app-root #main-view #fil-serpent-page .fil-snake-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(280px,34cqi,var(--snake-heroHeight,420px));padding:30px 12px 24px;overflow:hidden!important;color:#fff;background:none;border:0;border-radius:0}
#app-root #main-view #fil-serpent-page .fil-snake-hero::before{content:"";position:absolute;inset:5% -20% -15% 36%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#b829f04d,transparent 60%)}
#app-root #main-view #fil-serpent-page .fil-snake-copy{position:relative;z-index:2;width:55%;min-width:0}
#app-root #main-view #fil-serpent-page .fil-snake-copy h1{font:800 clamp(34px,6cqi,var(--snake-titleSize,76px))/.99 var(--snake-title-font,Outfit,Inter,system-ui,sans-serif);letter-spacing:-.025em;margin:10px 0 14px;color:#fff!important;text-shadow:0 3px 0 #742199,0 0 22px #c535ee33;overflow-wrap:normal}
#app-root #main-view #fil-serpent-page .fil-snake-copy h1 span{display:block;color:#ff9ce5;background:linear-gradient(#ffe1fa,#ff7cd5 72%,#ee42b9);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 3px 0 #80269e)}
#app-root #main-view #fil-serpent-page .fil-snake-hook{font:800 clamp(15px,2cqi,23px)/1.3 Inter,system-ui;color:#fff!important;margin-bottom:9px}
#app-root #main-view #fil-serpent-page [data-snake-description]{font:450 clamp(14px,1.4cqi,17px)/1.5 Inter,system-ui;max-width:37ch;color:#edddff!important;margin-bottom:14px}
#app-root #main-view #fil-serpent-page .fil-v83-game-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
#app-root #main-view #fil-serpent-page .fil-v83-game-tags span{display:inline-flex;align-items:center;gap:6px;border:1px solid #bf69e568;border-radius:5px;background:#5f218343;padding:5px 7px;font:650 11px/1.25 Inter,system-ui;white-space:nowrap;color:#f9edff}
#app-root #main-view #fil-serpent-page .fil-v83-game-tags i{color:#ffc2ef}
#app-root #main-view #fil-serpent-page .fil-v83-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
#app-root #main-view #fil-serpent-page .fil-v83-hero-actions button:not(.fil-snake-primary){background:#200d3d99;color:#fff;border-color:#b279d8}
#app-root #main-view #fil-serpent-page .fil-snake-personal{font:500 11px/1.6 Inter,system-ui!important;color:#d7c5ef!important}
#app-root #main-view #fil-serpent-page .fil-snake-personal i{color:var(--snake-star);margin-right:5px}
#app-root #main-view #fil-serpent-page .fil-snake-visual{position:absolute;inset:-10% 0 -2% auto;width:49%;margin:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
#app-root #main-view #fil-serpent-page .fil-snake-visual>img:not(.fil-snake-brand-badge){display:block;width:var(--snake-artScale,100%);height:var(--snake-artScale,100%);max-width:100%;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0;box-shadow:none;filter:none;animation:none}
#app-root #main-view #fil-serpent-page .fil-snake-brand-badge{position:absolute!important;top:11%;right:14%;width:clamp(54px,7cqi,100px)!important;height:auto!important;max-height:none!important;object-fit:contain!important;filter:drop-shadow(0 0 14px #ff7be180)!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#app-root #main-view #fil-serpent-page .fil-snake-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
#app-root #main-view #fil-serpent-page .fil-snake-candy{width:32px;height:32px;overflow:visible;filter:drop-shadow(0 0 5px #f58aff80)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .fil-snake-candy{position:absolute;width:clamp(18px,3cqi,42px);height:auto}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-0{left:58%;top:10%;transform:rotate(18deg)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-1{left:51%;top:50%;width:clamp(14px,2.5cqi,30px)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-2{left:90%;top:72%;transform:rotate(-15deg)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-3{left:94%;top:25%;transform:rotate(20deg)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-4{left:63%;top:83%;width:clamp(15px,2.3cqi,28px)}
#app-root #main-view #fil-serpent-page .fil-snake-confetti .is-5{left:55%;top:80%;width:clamp(18px,3cqi,36px);transform:rotate(22deg)}
#app-root #main-view #fil-serpent-page[data-decorations=false] :is(.fil-snake-confetti,.fil-snake-rules-star){display:none}
#app-root #main-view #fil-serpent-page .fil-v83-game-profile{display:grid;grid-template-columns:minmax(120px,1fr) minmax(250px,1.55fr) minmax(180px,1fr);gap:18px;align-items:center;padding:14px 18px;border:1px solid #d9cdef;background:linear-gradient(120deg,#fff,#f1eaff);border-radius:8px!important;color:#362051;box-shadow:none}
#app-root #main-view #fil-serpent-page .fil-v83-game-profile :is(label,div>span){display:block;min-width:0;font:750 13px/1.4 Inter,system-ui}
#app-root #main-view #fil-serpent-page .fil-v83-game-profile input{width:100%;min-width:0;min-height:44px;padding:10px;margin-top:6px;border:1px solid #c8b7ef;border-radius:6px;background:#fcfbff;color:#332048;font:500 14px Inter,system-ui}
#app-root #main-view #fil-serpent-page .fil-v83-skins{display:flex;gap:6px;margin-top:6px}
#app-root #main-view #fil-serpent-page .fil-v83-skins button{flex:1;padding:6px;gap:6px;background:#fff;border:1px solid #d7c7ed;color:#352050;font-size:12px;min-height:44px}
#app-root #main-view #fil-serpent-page .fil-v83-skins svg{width:25px;height:auto;flex:none}
#app-root #main-view #fil-serpent-page .fil-v83-skins button[aria-pressed=true]{border-color:#a170d1;background:#e9dcff;box-shadow:inset 0 0 0 1px #bd92e0}
#app-root #main-view #fil-serpent-page .fil-v83-game-profile p{font:600 11px/1.8 Inter,system-ui;text-align:center;color:#6a4b8c}
#app-root #main-view #fil-serpent-page .fil-v58-console{position:relative;isolation:isolate;padding:12px;border:1px solid var(--snake-frame);border-radius:12px!important;background:radial-gradient(ellipse at 80% 70%,#7718ba44,transparent 60%),#170c2d;box-shadow:0 0 22px #c95eff26,inset 0 1px 0 #e271ff44;color:#fff}
#app-root #main-view #fil-serpent-page .fil-v58-console-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:18px;min-width:0;align-items:stretch}
#app-root #main-view #fil-serpent-page .fil-snake-preview{position:relative;z-index:2;min-width:0;border:1px solid #b477ea;border-radius:9px;background:#070b21;padding:4px;box-shadow:0 0 0 2px #ac42dd26,inset 0 0 5px #ac68fd44}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board{border:1px solid #3c627c;border-radius:5px;overflow:hidden;background:#071725}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board header{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:9px 11px;background:#080e23;border-bottom:1px solid #357b9b;color:#fff}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board h2{font:900 clamp(16px,2.4cqi,29px)/1.1 system-ui;letter-spacing:-.04em;color:#22f7f2!important;background:linear-gradient(90deg,#22f7f2 0 53%,#fa66e5 60% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;white-space:nowrap}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board header>div{display:flex;align-items:center;gap:14px;font:700 9px/1.3 Inter,system-ui;white-space:nowrap;text-align:right}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board header>div span:last-child{display:grid;color:#92d9ff}
#app-root #main-view #fil-serpent-page .fil-snake-preview-board header b{font:900 15px/1.1 Inter,system-ui;color:#fff}
#app-root #main-view #fil-serpent-page .fil-snake-preview-scene{display:block;width:100%;height:clamp(180px,27cqi,var(--snake-previewHeight,290px));overflow:hidden}
#app-root #main-view #fil-serpent-page .fil-snake-preview-scene :is(canvas,img){display:block;width:100%;height:100%;object-fit:var(--preview-fit,contain)}
#app-root #main-view #fil-serpent-page .fil-snake-console-menu{display:flex;position:relative;z-index:2;flex-direction:column;gap:9px;min-width:0;padding:2px;color:#fff}
#app-root #main-view #fil-serpent-page .fil-snake-console-menu>button{width:100%;min-height:44px;padding:10px 12px;border-color:#a863d480;background:linear-gradient(#3a175c,#250e43)}
#app-root #main-view #fil-serpent-page .fil-snake-console-menu>.fil-snake-launch{flex:1;min-height:80px;font-size:clamp(20px,2.5cqi,28px);gap:15px}
#app-root #main-view #fil-serpent-page .fil-snake-launch i{display:grid;place-items:center;width:42px;height:42px;padding-left:3px;border:1px solid #5e13514d;border-radius:50%;font-size:19px}
#app-root #main-view #fil-serpent-page .fil-snake-key-guide{padding:12px;border:1px solid #a757dc66;border-radius:7px;background:#0e102b;min-width:0}
#app-root #main-view #fil-serpent-page .fil-snake-key-guide small{display:block;color:#76fff4;font:750 10px/1.3 Inter,system-ui;letter-spacing:.14em;margin-bottom:9px}
#app-root #main-view #fil-serpent-page .fil-snake-key-guide>div{display:flex;align-items:center;gap:12px}
#app-root #main-view #fil-serpent-page .fil-snake-key-guide i{font-size:30px;color:#d1c6f3}
#app-root #main-view #fil-serpent-page .fil-snake-key-guide p{font:500 12px/1.6 Inter,system-ui;white-space:pre-line;color:#e4d8fa}
#app-root #main-view #fil-serpent-page .fil-v58-console .fil-snake-confetti{display:none}
#app-root #main-view #fil-serpent-page .fil-snake-challenge{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(100px,26%) minmax(0,1fr);gap:24px;align-items:center;padding:18px 30px 18px 14px;color:var(--snake-challengeInk,#d6ffee);background:radial-gradient(ellipse at left,#2a8b9255,transparent 55%),var(--snake-challengeBackground,#10222c);border:1px solid #67ddd64d;border-radius:8px!important;overflow:hidden}
#app-root #main-view #fil-serpent-page .fil-snake-challenge>figure{display:flex;justify-content:center;align-items:center;height:clamp(160px,20cqi,230px);min-width:0;z-index:2;overflow:visible;background:none;border:0;box-shadow:none}
#app-root #main-view #fil-serpent-page .fil-snake-challenge>figure img{display:block;width:100%;height:115%;object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none}
#app-root #main-view #fil-serpent-page .fil-snake-challenge>div:not(.fil-snake-confetti){position:relative;z-index:2;min-width:0}
#app-root #main-view #fil-serpent-page .fil-snake-challenge .fil-v58-kicker{color:var(--snake-challengeAccent,#7fffd4);font-size:10px;letter-spacing:.14em}
#app-root #main-view #fil-serpent-page .fil-snake-challenge h2{font:850 clamp(20px,2.5cqi,30px)/1.22 Inter,system-ui;margin:6px 0 9px;color:inherit!important}
#app-root #main-view #fil-serpent-page .fil-snake-challenge p{font:450 clamp(13px,1.3cqi,15px)/1.55 Inter,system-ui;color:inherit!important;max-width:70ch}
#app-root #main-view #fil-serpent-page .fil-snake-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
#app-root #main-view #fil-serpent-page .fil-snake-milestones span{font:900 clamp(22px,3cqi,34px)/1.1 Inter,system-ui;color:var(--snake-challengeAccent,#7fffd4)}
#app-root #main-view #fil-serpent-page .fil-snake-milestones small{display:block;margin-top:5px;font:550 10px/1.4 Inter,system-ui;color:var(--snake-challengeInk,#d6ffee)}
#app-root #main-view #fil-serpent-page .fil-snake-challenge .fil-snake-confetti .is-0{left:92%;top:10%;width:30px}
#app-root #main-view #fil-serpent-page .fil-snake-challenge .fil-snake-confetti .is-3{left:92%;top:73%;width:30px}
#app-root #main-view #fil-serpent-page .fil-snake-challenge .fil-snake-confetti :is(.is-1,.is-2,.is-4,.is-5){display:none}
#app-root #main-view #fil-serpent-page .fil-snake-help{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#app-root #main-view #fil-serpent-page .fil-snake-help article{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:22px;border-radius:8px!important;box-shadow:none!important;backdrop-filter:none!important}
#app-root #main-view #fil-serpent-page .fil-snake-help h2{font:850 clamp(18px,2cqi,25px)/1.2 Inter,system-ui;margin-bottom:12px;position:relative;z-index:2}
#app-root #main-view #fil-serpent-page .fil-snake-help p{font:450 14px/1.65 Inter,system-ui;white-space:pre-line;position:relative;z-index:2}
#app-root #main-view #fil-serpent-page .fil-snake-start-card{background:radial-gradient(ellipse at right,#8a16ac55,transparent),linear-gradient(130deg,var(--campaign-from),#330451)!important;color:#ffadf1;border:1px solid #9b58d8!important}
#app-root #main-view #fil-serpent-page .fil-snake-start-card h2{max-width:26ch;color:var(--campaign-accent)!important}
#app-root #main-view #fil-serpent-page .fil-snake-start-card p{max-width:34ch;color:#f8e5ff!important}
#app-root #main-view #fil-serpent-page .fil-snake-start-card>button{margin-top:15px;position:relative;z-index:2;min-width:130px}
#app-root #main-view #fil-serpent-page .fil-snake-fruit-steps{display:flex;align-items:center;gap:5px;margin-bottom:12px}
#app-root #main-view #fil-serpent-page .fil-snake-fruit-steps span{width:20px;height:22px;border-radius:6px;background:#ffbcf4;box-shadow:inset 0 1px 3px #fff8}
#app-root #main-view #fil-serpent-page .fil-snake-fruit-steps .fil-snake-candy{width:27px;height:auto;margin-left:5px}
#app-root #main-view #fil-serpent-page .fil-snake-start-card .fil-snake-confetti .is-0{left:85%;top:15%;width:30px}
#app-root #main-view #fil-serpent-page .fil-snake-start-card .fil-snake-confetti .is-2{left:81%;top:53%;width:40px}
#app-root #main-view #fil-serpent-page .fil-snake-start-card .fil-snake-confetti :is(.is-1,.is-3,.is-4,.is-5){display:none}
#app-root #main-view #fil-serpent-page .fil-snake-rules{color:#432d6a;background:linear-gradient(125deg,#fff,#f0edff)!important;border:1px solid #d2caf0!important}
#app-root #main-view #fil-serpent-page .fil-snake-rules .fil-v58-kicker{font-size:10px;color:#219f9b;margin-bottom:8px}
#app-root #main-view #fil-serpent-page .fil-snake-rules h2{color:#4b3476!important}
#app-root #main-view #fil-serpent-page .fil-snake-watermark{position:absolute;right:18px;top:15px;color:#bfb4f44d;transform:rotate(-18deg);font-size:70px}
#app-root #main-view #fil-serpent-page .fil-snake-rules-star{position:absolute;right:12px;bottom:8px;width:28px;height:auto;opacity:.7}
#app-root #main-view #fil-serpent-page .fil-snake-community{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#app-root #main-view #fil-serpent-page .fil-snake-community:not(:has(>article:not([hidden]))){display:none}
#app-root #main-view #fil-serpent-page .fil-snake-community article{padding:22px;background:#f9f5ff;border:1px solid #d4c5eb;border-radius:8px;min-width:0;color:#38244f}
#app-root #main-view #fil-serpent-page .fil-snake-community h2{font-size:22px;margin:8px 0 12px}
#app-root #main-view #fil-serpent-page .fil-snake-community p{font-size:13px;line-height:1.6}
#app-root #main-view #fil-serpent-page .fil-v58-rank-list{list-style:none;padding:0}
#app-root #main-view #fil-serpent-page .fil-v58-rank-list li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #ded1ef;font-size:13px}
@container(max-width:750px){
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile{grid-template-columns:1fr 1.7fr;gap:10px;padding:12px}
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile>p{grid-column:1/-1;line-height:1.4}
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile>p br{display:none}
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile>p span{margin-left:8px}
 #app-root #main-view #fil-serpent-page .fil-v58-console-body{grid-template-columns:1fr;gap:12px}
 #app-root #main-view #fil-serpent-page .fil-snake-console-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 #app-root #main-view #fil-serpent-page .fil-snake-console-menu>.fil-snake-launch{grid-column:1/-1;min-height:60px;font-size:22px}
 #app-root #main-view #fil-serpent-page .fil-snake-key-guide{grid-column:1/-1}
 #app-root #main-view #fil-serpent-page .fil-snake-key-guide>div{align-items:center}
 #app-root #main-view #fil-serpent-page .fil-snake-key-guide p{white-space:normal}
}
@container(max-width:540px){
 #app-root #main-view #fil-serpent-page .fil-snake-hero{min-height:365px;padding:22px 4px 18px}
 #app-root #main-view #fil-serpent-page .fil-snake-copy{width:60%}
 #app-root #main-view #fil-serpent-page .fil-snake-copy h1{font-size:clamp(33px,7.8cqi,43px);margin:10px 0}
 #app-root #main-view #fil-serpent-page .fil-snake-copy>.fil-v58-kicker{max-width:28ch;font-size:9px;letter-spacing:.12em}
 #app-root #main-view #fil-serpent-page .fil-snake-hook{font-size:15px;max-width:22ch}
 #app-root #main-view #fil-serpent-page [data-snake-description]{font-size:14px;max-width:25ch;margin-bottom:10px}
 #app-root #main-view #fil-serpent-page .fil-v83-game-tags{gap:4px;margin-bottom:12px}
 #app-root #main-view #fil-serpent-page .fil-v83-game-tags span{font-size:9px;padding:4px}
 #app-root #main-view #fil-serpent-page .fil-v83-hero-actions{gap:7px}
 #app-root #main-view #fil-serpent-page .fil-v83-hero-actions button{font-size:12px;padding:9px;min-height:44px}
 #app-root #main-view #fil-serpent-page .fil-v83-hero-actions button[data-game-share]{font-size:11px}
 #app-root #main-view #fil-serpent-page .fil-snake-personal{font-size:10px!important;max-width:30ch}
 #app-root #main-view #fil-serpent-page .fil-snake-visual{width:47%;right:0;top:-8%;bottom:10%}
 #app-root #main-view #fil-serpent-page .fil-snake-brand-badge{top:4%;right:4%;width:55px!important}
 #app-root #main-view #fil-serpent-page .fil-v58-console{padding:8px}
 #app-root #main-view #fil-serpent-page .fil-snake-preview-board header{padding:8px 6px;gap:6px}
 #app-root #main-view #fil-serpent-page .fil-snake-preview-board header>div{gap:8px;font-size:8px}
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile{grid-template-columns:1fr}
 #app-root #main-view #fil-serpent-page .fil-v83-skins button{min-height:48px}
 #app-root #main-view #fil-serpent-page .fil-snake-challenge{grid-template-columns:28% minmax(0,1fr);gap:12px;padding:16px 12px}
 #app-root #main-view #fil-serpent-page .fil-snake-challenge>figure{height:195px}
 #app-root #main-view #fil-serpent-page .fil-snake-challenge h2{font-size:19px}
 #app-root #main-view #fil-serpent-page .fil-snake-challenge p{font-size:13px}
 #app-root #main-view #fil-serpent-page .fil-snake-milestones{gap:7px;margin-top:12px}
 #app-root #main-view #fil-serpent-page .fil-snake-milestones small{font-size:9px}
 #app-root #main-view #fil-serpent-page .fil-snake-help,#app-root #main-view #fil-serpent-page .fil-snake-community{grid-template-columns:1fr}
}

/* Le cadre commun (header, navigation et footer) garde ses styles généraux.
   Les thèmes suivants concernent uniquement la zone centrale du Serpent. */
body.fil-page-serpent #bottom-navigation #nav-accueil[aria-current="false"]>div{background:transparent!important;color:inherit!important;box-shadow:none!important}
#app-root #main-view #fil-serpent-page[data-theme=snake]{--campaign-from:var(--snake-background,#071725);--campaign-to:color-mix(in srgb,var(--snake-color,#45e7c2) 35%,#100724);--campaign-accent:var(--snake-color,#45e7c2)}
#app-root #main-view #fil-serpent-page[data-theme=site]{--campaign-from:var(--identity-accent,#7441ab);--campaign-to:color-mix(in srgb,var(--identity-accent,#7441ab) 50%,#100724);--campaign-accent:var(--page-accent,#ff8ce4)}

/* La partie remplace la présentation. Le panneau de réglages remplace le plateau. */
body.fil-v84-playing{overflow:hidden!important}
body.fil-v84-playing #app-root{position:fixed!important;inset:0!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;box-sizing:border-box!important;border:0!important;zoom:1!important;transform:none!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;overflow:hidden!important;border-radius:0!important}
body.fil-v84-playing #app-root>header,body.fil-v84-playing #bottom-navigation,body.fil-v84-playing :is(#fil-desktop-ads,#fil-mobile-ads){display:none!important}
body.fil-v84-playing :is(.fil-workspace,.fil-site-pane,#main-view){display:block!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:0!important;margin:0!important;overflow:hidden!important}
html body.fil-v84-playing #app-root #main-view>#fil-serpent-page{display:block!important;container-type:normal;padding:0!important;margin:0!important;height:100dvh!important;max-height:100dvh!important;width:100%!important}
body.fil-v84-playing #fil-serpent-page>*:not(.fil-v58-console){display:none!important}
html body.fil-v84-playing #app-root #main-view #fil-serpent-page .fil-v58-console{padding:0!important;border:0!important;border-radius:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;background:#10071d!important;box-shadow:none}
body.fil-v84-playing .fil-v58-console-body{display:block!important;height:100%;padding:0!important;margin:0!important}
body.fil-v84-playing .fil-v58-console-body>:not(#fil-v57-arcade){display:none!important}
#fil-v57-arcade{--game-accent:var(--game-snakeColor,#45e7ae);--snake-frame:var(--snake-frameColor,#bf4fff);color:#f3eaff;background:radial-gradient(ellipse at 50% 70%,#3c105c,transparent 75%),#10071d}
html body.fil-v84-playing #app-root #main-view #fil-v57-arcade{display:block!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0;padding:0;border:0}
#fil-v57-arcade .fil-arcade-card{display:flex!important;flex-direction:column!important;gap:10px;width:100%;height:100dvh!important;max-height:100dvh!important;padding:12px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:hidden;box-sizing:border-box}
#fil-v57-arcade :is(button,input,select){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #b76de28c;border-radius:7px;background:linear-gradient(#3a1558,#25103b)!important;color:#f3eaff!important;font:700 13px/1.3 Inter,system-ui}
#fil-v57-arcade button{cursor:pointer}
#fil-v57-arcade button:disabled{opacity:.5;cursor:default}
#fil-v57-arcade [data-arcade-pause],#fil-v57-arcade [data-game-overlay-resume]{background:linear-gradient(110deg,#ffb5f1,var(--snake-promoAccent,#ff8ce4))!important;color:#2b0b3d!important;border-color:#ffcbf4;box-shadow:0 0 10px #ec5de45c}
#fil-v57-arcade .fil-v84-game-toolbar{flex:0 0 auto;padding:0 0 10px;border-bottom:1px solid #ad55d85e}
#fil-v57-arcade .fil-arcade-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0!important;border:0!important;box-shadow:none;background:none!important;height:auto!important}
#fil-v57-arcade .fil-game-title{margin:0;color:#3df8ee!important;text-transform:uppercase;font:900 clamp(14px,2vw,24px)/1.1 Inter,system-ui;letter-spacing:-.04em;text-shadow:0 0 10px #26e9e466}
#fil-v57-arcade .fil-game-live-score{display:flex;gap:16px;align-items:center;margin-left:auto}
#fil-v57-arcade .fil-game-live-score span{display:grid;gap:3px;color:#c4b6df;font:650 10px/1.1 Inter,system-ui}
#fil-v57-arcade .fil-game-live-score strong{font:900 20px/1 Inter,system-ui;color:#73ffea;font-variant-numeric:tabular-nums}
#fil-v57-arcade .fil-arcade-actions{display:flex;gap:6px;align-items:center}
#fil-v57-arcade .fil-v84-game-progress{display:flex;align-items:center;gap:12px;max-width:1200px;margin:10px auto 0}
#fil-v57-arcade [data-arcade-progress]{margin:0;font:650 11px/1.2 Inter,system-ui;color:#e3d2f4;white-space:nowrap}
#fil-v57-arcade progress{height:8px;width:100%;accent-color:#e37af7;border:0;border-radius:9px!important;overflow:hidden;background:#4e2867}
#fil-v57-arcade progress::-webkit-progress-bar{background:#4e2867}
#fil-v57-arcade progress::-webkit-progress-value{background:linear-gradient(90deg,#ffaae8,#b562ff)}
#fil-v57-arcade .fil-arcade-game{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:0;min-width:0;padding:5px;overflow:hidden}
#fil-v57-arcade .fil-arcade-stage{position:relative;width:var(--v84-board,320px);height:var(--v84-board,320px);max-width:100%;border:2px solid var(--snake-frame);border-radius:12px;padding:5px;background:#110b20;box-shadow:0 0 0 3px #7c289948,0 0 20px #b044dd6b,inset 0 0 5px #e89dff73}
#fil-v57-arcade canvas{display:block;width:100%;height:100%;border:1px solid #426aaf;border-radius:6px;touch-action:none;overscroll-behavior:contain;background:var(--game-gameBackground,#071725);outline:none}
#fil-v57-arcade canvas:focus-visible{outline:2px solid #7df7e2;outline-offset:3px}
#fil-v57-arcade .fil-game-overlay{position:absolute;inset:6px;display:grid;place-items:center;padding:12px;border-radius:6px;background:#100521bb;backdrop-filter:blur(3px);text-align:center}
#fil-v57-arcade .fil-game-overlay>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;max-width:450px}
#fil-v57-arcade .fil-game-overlay :is(h2,small){flex:0 0 100%;color:#fff!important;margin:0 0 5px}
#fil-v57-arcade .fil-game-overlay h2{font:900 clamp(24px,5vw,44px)/1.1 Inter,system-ui}
#fil-v57-arcade .fil-game-overlay small{color:#ccfbed!important;font:650 12px Inter,system-ui}
#fil-v57-arcade [data-arcade-toast]{position:absolute;bottom:10px;left:10px;right:10px;padding:9px;background:#200b36ed;border:1px solid #c25ef2;border-radius:6px;color:#fff;font:650 12px/1.3 Inter,system-ui;text-align:center;pointer-events:none}
#fil-v57-arcade .fil-arcade-pad{display:none;flex:0 0 auto;justify-content:center;align-items:center;gap:8px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom,0px);touch-action:none}
#fil-v57-arcade .fil-arcade-pad>div{display:flex;flex-direction:column;gap:5px}
#fil-v57-arcade .fil-arcade-pad button{width:55px;min-height:44px;font-size:22px;touch-action:none}
#fil-v57-arcade[data-controls=touch] .fil-arcade-pad{display:flex}
#fil-v57-arcade .fil-arcade-menu{flex:1 1 auto;min-height:0;width:min(100%,1050px);margin:0 auto;padding:clamp(14px,2vw,26px);overflow:auto;overscroll-behavior:contain;border:1px solid #a756d6;border-radius:9px!important;background:linear-gradient(140deg,#29123f,#160d29)!important;color:#f1e8ff}
#fil-v57-arcade .fil-arcade-menu>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;height:auto!important;padding:0!important;background:none!important;box-shadow:none!important;margin-bottom:18px}
#fil-v57-arcade .fil-arcade-menu>header>div{flex:1;min-width:140px}
#fil-v57-arcade .fil-arcade-menu h3{font:800 19px/1.3 Inter,system-ui;color:#fff!important;margin:0 0 5px}
#fil-v57-arcade .fil-arcade-menu small{font:750 10px Inter,system-ui;letter-spacing:.13em;color:#74ffec}
#fil-v57-arcade .fil-arcade-menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#fil-v57-arcade .fil-arcade-menu-columns>section{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
#fil-v57-arcade .fil-arcade-menu label{display:grid;gap:6px;margin-bottom:14px;font-size:13px}
#fil-v57-arcade .fil-arcade-menu :is(input,select){width:100%;box-sizing:border-box}
#fil-v57-arcade .fil-arcade-menu p{font:450 14px/1.65 Inter,system-ui;white-space:pre-line}
#fil-v57-arcade .fil-arcade-menu ol{font-size:13px;line-height:1.7;padding-left:20px;margin-bottom:20px}
#fil-v57-arcade .fil-arcade-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
#fil-v57-arcade .fil-arcade-stats span{display:grid;gap:5px;padding:12px;background:#9c58ca19;font:650 11px Inter,system-ui}
#fil-v57-arcade .fil-arcade-stats strong{font-size:22px;color:#88ffe9}
#fil-v57-arcade .fil-game-zoom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
#fil-v57-arcade .fil-game-disabled-note{padding:12px;background:#fff5dc;color:#472b12}

/* Mises en avant existantes du Serpent sur les autres pages. */
#app-root #main-view #fil-v56-home-promo,#app-root .fil-snake-promo{background:linear-gradient(120deg,var(--snake-promoFrom,#24023f),var(--snake-promoTo,#5d078d))!important;color:#fff!important;border:1px solid #d78bff66!important;overflow:hidden}
#app-root .fil-snake-promo :is(h2,p,strong,small,.fil-v85-tile-icon){color:inherit!important}
#app-root .fil-snake-promo :is(a,button){background:var(--snake-promoAccent,#ff8ce4)!important;color:#321044!important;border:1px solid #f9a5ef;border-radius:7px;padding:12px 16px;min-height:44px;font-weight:800}
#app-root .fil-snake-promo-image{width:86px;height:122px;object-fit:contain;flex-shrink:0;align-self:center;border:0!important;border-radius:0!important;background:none!important}
#app-root #fil-v56-home-promo{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:18px;padding:24px!important}
#app-root #fil-v56-home-promo>:not(img){position:relative;z-index:1}

@media(pointer:coarse){
 #app-root #main-view #fil-serpent-page :is(button,input){min-height:55px!important}
 #app-root #main-view #fil-serpent-page .fil-snake-console-menu>button{min-height:55px!important}
 #app-root #main-view #fil-serpent-page .fil-v83-game-profile>p{grid-column:1/-1}
 #fil-v57-arcade[data-controls=auto] .fil-arcade-pad{display:flex}
}
@media(max-width:767px){
 #fil-v57-arcade .fil-game-title{display:none}
 #fil-v57-arcade .fil-arcade-actions span{display:none}
 #fil-v57-arcade .fil-arcade-head{gap:6px}
 #fil-v57-arcade .fil-arcade-actions{gap:5px}
 #fil-v57-arcade .fil-arcade-actions button{width:44px;padding:8px}
 #fil-v57-arcade .fil-game-live-score{gap:10px}
 #fil-v57-arcade .fil-arcade-menu-columns{grid-template-columns:1fr}
 #fil-v57-arcade .fil-arcade-stats span{padding:9px}
 #app-root[data-snake-chrome=arcade]>header h2{font-size:clamp(11px,2.7vw,14px)!important}
 #app-root[data-snake-chrome=arcade] #bottom-navigation .nav-item span{font-size:8px!important}
}
@media(max-width:460px){
 #fil-v57-arcade .fil-arcade-actions{margin-left:auto}
 #fil-v57-arcade .fil-game-live-score{flex:1;margin-left:0}
 #fil-v57-arcade .fil-arcade-head>[data-arcade-close] span{display:none}
 #fil-v57-arcade .fil-arcade-card{padding:8px!important;gap:8px}
 #app-root #fil-v56-home-promo{grid-template-columns:76px minmax(0,1fr)!important}
 #app-root #fil-v56-home-promo>a{grid-column:1/-1;text-align:center}
}
@media(max-width:767px) and (orientation:portrait){#fil-v57-arcade[data-controls=auto] .fil-arcade-pad{display:flex}}
@media(prefers-reduced-motion:reduce){#fil-serpent-page :is(.fil-snake-hero,.fil-v83-game-profile,.fil-snake-help,.fil-snake-community,.fil-snake-console-menu) button{transition:none}}


/* MODULE : assets/vie-locale-v100.css */
/* V100 — styles du panneau vie locale, chargees apres les autres. */
/* V99 — refonte du panneau Publicité · Vie locale d'après la maquette fournie. */
#fil-desktop-ads{
  --fil-rail-bg:#f1edf9;
  --fil-rail-panel:#ffffff;
  --fil-rail-ink:#24154c;
  --fil-rail-muted:#7a69a6;
  --fil-rail-border:#e0d7f1;
  --fil-rail-purple:#5f1ef0;
  --fil-rail-purple-2:#8c2fff;
  --fil-rail-pink:#ff3fa7;
  --fil-rail-orange:#ff9f2d;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:18px!important;
  padding:24px!important;
  background:linear-gradient(180deg,#f4f1fb 0%,#eeebf8 100%)!important;
  color:var(--fil-rail-ink)!important;
  border-left:1px solid var(--fil-rail-border)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
#fil-desktop-ads>*{max-width:100%}
#fil-desktop-ads .fil-rail-heading{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:start!important;
  gap:14px!important;
  padding:0 0 4px!important;
  margin:0!important;
  background:transparent!important;
  color:var(--fil-rail-ink)!important;
}
#fil-desktop-ads .fil-rail-brand{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;min-width:0!important}
#fil-desktop-ads .fil-rail-brand-copy{min-width:0!important}
#fil-desktop-ads .fil-rail-heading h2{
  margin:0!important;
  font-size:clamp(28px,2.5vw,44px)!important;
  line-height:.98!important;
  letter-spacing:-.03em!important;
  font-weight:900!important;
  color:#28185b!important;
}
#fil-desktop-ads .fil-rail-underline{display:block!important;width:64px!important;height:7px!important;border-radius:999px!important;margin-top:14px!important;background:linear-gradient(90deg,#6a2cff 0%,#ff5d9b 100%)!important}
#fil-desktop-ads .fil-rail-brand-art{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;min-width:170px!important;min-height:74px!important;opacity:.94!important}
#fil-desktop-ads .fil-rail-brand-art img{width:170px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 10px 18px rgba(84,52,155,.12))!important}
#fil-desktop-ads .fil-rail-sun{position:absolute!important;top:-2px!important;right:6px!important;width:26px!important;height:26px!important;border-radius:999px!important;background:linear-gradient(180deg,#ffd2a9 0%,#ffcc95 100%)!important;box-shadow:0 0 0 14px rgba(255,214,176,.18)!important}
#fil-desktop-ads #fil-rail-close{
  width:38px!important;height:38px!important;border-radius:14px!important;border:1px solid #d9cdee!important;background:#fff!important;color:#6b52a3!important;
  box-shadow:0 6px 16px rgba(61,36,99,.08)!important;font-size:22px!important;line-height:1!important;display:grid!important;place-items:center!important
}
#fil-desktop-ads .fil-rail-apps{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  order:2!important;
}
#fil-desktop-ads .fil-rail-link{
  min-height:102px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
  padding:16px 12px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid #ddd4ef!important;
  border-radius:20px!important;
  color:#4f20b2!important;
  font-weight:850!important;
  font-size:13px!important;
  box-shadow:0 8px 22px rgba(56,29,104,.08)!important;
}
#fil-desktop-ads .fil-rail-link .fil-app-symbol{
  width:42px!important;height:42px!important;border-radius:14px!important;display:grid!important;place-items:center!important;
  background:linear-gradient(180deg,#fbf7ff 0%,#f2edff 100%)!important;color:#7b3cf0!important;font-size:22px!important
}
#fil-desktop-ads .fil-rail-link.is-active,#fil-desktop-ads .fil-rail-link[aria-current='page']{
  background:linear-gradient(180deg,#7f2eff 0%,#5918e9 100%)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 14px 34px rgba(86,31,212,.32)!important
}
#fil-desktop-ads .fil-rail-link.is-active .fil-app-symbol,#fil-desktop-ads .fil-rail-link[aria-current='page'] .fil-app-symbol{background:rgba(255,255,255,.16)!important;color:#fff!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'],#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2']{display:block!important;width:100%!important;max-width:100%!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1']{order:3!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2']{order:4!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  padding:18px 20px 20px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:24px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--fil-rail-purple) 0%,var(--fil-rail-pink) 52%,var(--fil-rail-orange) 100%)!important;
  box-shadow:0 18px 38px rgba(99,34,193,.25)!important;
  overflow:hidden!important;
}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card{min-height:440px!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{min-height:188px!important;padding-bottom:18px!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card::before,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card::before{
  content:'';position:absolute;inset:0;background:
  radial-gradient(circle at 74% 12%,rgba(255,255,255,.16) 0 0,rgba(255,255,255,.12) 0,rgba(255,255,255,0) 40%),
  radial-gradient(circle at 94% 76%,rgba(255,208,120,.18) 0,rgba(255,208,120,0) 28%),
  radial-gradient(circle at 84% 22%,rgba(255,255,255,.08) 0,rgba(255,255,255,0) 18%);
  pointer-events:none!important
}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card::after,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card::after{
  content:'';position:absolute;right:0;bottom:0;width:42%;height:44%;background:url('/assets/visuels/accueil/village-panorama.webp') right bottom/cover no-repeat;opacity:.82;mix-blend-mode:screen;pointer-events:none!important;border-top-left-radius:28px!important
}
#fil-desktop-ads .fil-ad-card .fil-ad-top{position:relative!important;z-index:1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
#fil-desktop-ads .fil-ad-card .fil-ad-mini,
#fil-desktop-ads .fil-ad-card .fil-ad-number{
  display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 13px!important;border-radius:14px!important;
  background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;font-weight:800!important;font-size:12px!important
}
#fil-desktop-ads .fil-ad-card .fil-ad-body{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;gap:12px!important;align-items:flex-start!important}
#fil-desktop-ads .fil-ad-card .fil-ad-content{max-width:70%!important}
#fil-desktop-ads .fil-ad-card h3{margin:0!important;color:#fff!important;font-size:clamp(28px,2.35vw,60px)!important;line-height:.98!important;font-weight:900!important;letter-spacing:-.04em!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{font-size:clamp(16px,1.5vw,22px)!important;line-height:1.08!important;max-width:78%!important}
#fil-desktop-ads .fil-ad-card p{margin:0!important;color:rgba(255,255,255,.94)!important;font-size:13px!important;line-height:1.42!important;max-width:68%!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-meta,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-dimensions{display:flex!important;align-items:center!important;gap:10px!important;font-size:12px!important;font-weight:700!important;max-width:none!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-meta,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-dimensions,
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-later{display:none!important}
#fil-desktop-ads .fil-ad-card .fil-ad-cta,
#fil-desktop-ads .fil-ad-card .fil-ad-footer .fil-ad-cta{
  position:relative!important;z-index:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
  min-height:60px!important;padding:0 22px!important;background:#fff!important;color:#5a24d2!important;border:0!important;border-radius:18px!important;
  box-shadow:0 8px 20px rgba(40,20,100,.14)!important;font-size:16px!important;font-weight:900!important;text-decoration:none!important
}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta{width:100%!important;margin-top:auto!important}
#fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card>.fil-ad-cta{align-self:flex-start!important;min-height:52px!important;padding-inline:24px!important;margin-top:auto!important}
#fil-desktop-ads .fil-ad-card .fil-ad-footer{position:relative!important;z-index:1!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;color:#fff!important;font-size:12px!important;font-weight:700!important}
#fil-desktop-ads .fil-ad-card .fil-ad-picture{position:absolute!important;right:12px!important;bottom:12px!important;width:36%!important;max-width:220px!important;aspect-ratio:1 / 1!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 10px 30px rgba(33,14,94,.26)!important;border:2px solid rgba(255,255,255,.24)!important;z-index:1!important}
#fil-desktop-ads .fil-ad-card .fil-ad-image{width:100%!important;height:100%!important;object-fit:cover!important}
#fil-music-dock{
  order:5!important;padding:18px 18px 14px!important;border-radius:24px!important;border:1px solid #e1d7f2!important;background:#fff!important;
  box-shadow:0 12px 28px rgba(67,38,120,.08)!important;color:#25184d!important;display:flex!important;flex-direction:column!important;gap:16px!important
}
#fil-music-dock .fil-music-heading{margin:0!important;font-size:17px!important;line-height:1.15!important;font-weight:900!important;color:#29195b!important}
#fil-music-dock .fil-music-bar{display:grid!important;grid-template-columns:auto auto auto minmax(0,1fr) auto auto auto!important;align-items:center!important;gap:12px!important}
#fil-music-dock .fil-music-bar button,
#fil-music-dock .fil-music-bar .fil-music-volume,
#fil-music-dock .fil-music-progress input{font:inherit!important}
#fil-music-dock .fil-music-bar button[data-music]{width:48px!important;height:48px!important;border-radius:16px!important;border:1px solid #e0d5f4!important;background:#f6f1fd!important;color:#6526db!important;display:grid!important;place-items:center!important;font-size:20px!important;box-shadow:none!important}
#fil-music-dock .fil-music-bar button[data-music='play']{width:56px!important;height:56px!important;border-radius:999px!important;background:linear-gradient(180deg,#7d2cff 0%,#5c1ee4 100%)!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(89,34,214,.28)!important}
#fil-music-dock .fil-music-live{width:10px!important;height:10px!important;border-radius:999px!important;background:#9257f3!important;display:inline-block!important}
#fil-music-dock .fil-music-now{min-width:0!important}
#fil-music-dock .fil-music-now strong{display:block!important;font-size:18px!important;color:#2b1960!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#fil-music-dock .fil-music-now small{display:block!important;color:#6f61a0!important;font-size:12px!important;line-height:1.2!important}
#fil-music-dock .fil-music-volume{display:flex!important;align-items:center!important;gap:10px!important;color:#48327c!important;font-weight:700!important;font-size:12px!important;white-space:nowrap!important}
#fil-music-dock .fil-music-progress{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;color:#6c5b9b!important;font-weight:700!important;font-size:12px!important}
#fil-music-dock input[type='range']{accent-color:#6c28e8!important;width:100%!important}
#fil-music-dock #fil-music-status{margin:0!important;color:#7a69a6!important;font-size:12px!important;min-height:0!important}
#fil-desktop-ads .fil-rail-discover,
#fil-desktop-ads .fil-rail-local{
  padding:18px!important;border-radius:24px!important;border:1px solid #e1d7f2!important;background:#fff!important;box-shadow:0 12px 28px rgba(67,38,120,.08)!important
}
#fil-desktop-ads .fil-rail-discover{order:6!important}
#fil-desktop-ads .fil-rail-local{order:7!important}
#fil-desktop-ads .fil-rail-discover-head,
#fil-desktop-ads .fil-rail-local-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:14px!important}
#fil-desktop-ads .fil-rail-discover-head strong,
#fil-desktop-ads .fil-rail-local-head strong{font-size:18px!important;line-height:1.12!important;font-weight:900!important;color:#28175a!important}
#fil-desktop-ads .fil-rail-chip,
#fil-desktop-ads .fil-rail-link-more{
  display:inline-flex!important;align-items:center!important;gap:8px!important;padding:11px 14px!important;border-radius:999px!important;
  border:1px solid #ece2fb!important;background:#f5f0fd!important;color:#865be0!important;font-size:12px!important;font-weight:800!important
}
#fil-desktop-ads .fil-discover-card{display:grid!important;grid-template-columns:minmax(180px,42%) minmax(0,1fr)!important;gap:18px!important;align-items:stretch!important}
#fil-desktop-ads .fil-discover-visual{border-radius:20px!important;overflow:hidden!important;min-height:198px!important;background:#efe9fb!important}
#fil-desktop-ads .fil-discover-visual img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
#fil-desktop-ads .fil-discover-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:12px!important;min-width:0!important}
#fil-desktop-ads .fil-discover-meta{font-size:12px!important;color:#8b62df!important;font-weight:700!important}
#fil-desktop-ads .fil-discover-copy h3{margin:0!important;color:#301878!important;font-size:32px!important;line-height:1.04!important;font-weight:900!important;letter-spacing:-.04em!important}
#fil-desktop-ads .fil-discover-copy p{margin:0!important;color:#74649f!important;font-size:13px!important;line-height:1.46!important}
#fil-desktop-ads .fil-discover-copy button{
  margin-top:6px!important;display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:56px!important;padding:0 22px!important;border-radius:18px!important;border:0!important;
  background:linear-gradient(180deg,#7b2eff 0%,#5b1fe5 100%)!important;color:#fff!important;font-size:16px!important;font-weight:900!important;box-shadow:0 10px 22px rgba(90,32,212,.25)!important
}
#fil-desktop-ads .fil-rail-discover-actions{display:grid!important;grid-template-columns:48px 1fr 48px!important;align-items:center!important;gap:12px!important;margin-top:14px!important}
#fil-desktop-ads .fil-rail-discover-actions button{width:48px!important;height:48px!important;border-radius:16px!important;border:1px solid #e5daf7!important;background:#f7f3fe!important;color:#7640e4!important;display:grid!important;place-items:center!important;font-size:16px!important}
#fil-desktop-ads .fil-rail-discover-count{text-align:center!important;color:#7f52e4!important;font-weight:900!important;font-size:14px!important}
#fil-desktop-ads .fil-rail-local-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#fil-desktop-ads .fil-rail-local-card{
  display:grid!important;grid-template-columns:96px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:12px!important;
  border:1px solid #ebdffc!important;background:#fff!important;border-radius:18px!important;text-align:left!important;color:#2c1763!important;box-shadow:none!important
}
#fil-desktop-ads .fil-rail-local-thumb{display:block!important;width:96px!important;height:68px!important;border-radius:14px!important;overflow:hidden!important;background:#f0e9fb!important}
#fil-desktop-ads .fil-rail-local-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
#fil-desktop-ads .fil-rail-local-copy{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
#fil-desktop-ads .fil-rail-local-copy small{color:#8e66df!important;font-size:11px!important;font-weight:700!important}
#fil-desktop-ads .fil-rail-local-copy strong{color:#31186d!important;font-size:15px!important;line-height:1.18!important;font-weight:900!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
#fil-desktop-ads .fil-rail-local-card>i{color:#7a46e5!important;font-size:15px!important}
#fil-desktop-ads .fil-rail-custom-image[hidden],#fil-desktop-ads .fil-rail-cycle[hidden]{display:none!important}
@media (max-width:1180px){
  #fil-desktop-ads{padding:20px!important}
  #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #fil-desktop-ads .fil-discover-card{grid-template-columns:1fr!important}
  #fil-desktop-ads .fil-discover-visual{min-height:180px!important}
  #fil-desktop-ads .fil-rail-local-grid{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  #fil-desktop-ads{padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px))!important;gap:16px!important}
  #fil-desktop-ads .fil-rail-heading{grid-template-columns:1fr auto!important}
  #fil-desktop-ads .fil-rail-brand{flex-direction:column!important;align-items:flex-start!important}
  #fil-desktop-ads .fil-rail-brand-art{width:100%!important;min-width:0!important;justify-content:flex-end!important}
  #fil-desktop-ads .fil-rail-brand-art img{width:min(220px,70vw)!important}
  #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #fil-desktop-ads .fil-rail-link{min-height:92px!important}
  #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card{min-height:460px!important}
  #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card::after,
  #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card::after{width:52%!important;height:38%!important}
  #fil-desktop-ads .fil-ad-card .fil-ad-content,
  #fil-desktop-ads .fil-ad-card p{max-width:100%!important}
  #fil-desktop-ads .fil-ad-card h3{font-size:24px!important}
  #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{font-size:18px!important}
  #fil-music-dock .fil-music-bar{grid-template-columns:auto auto auto minmax(0,1fr)!important;grid-template-areas:'prev play next now' 'open mute volume volume'!important}
  #fil-music-dock .fil-music-bar [data-music='prev']{grid-area:prev}
  #fil-music-dock .fil-music-bar [data-music='play']{grid-area:play}
  #fil-music-dock .fil-music-bar [data-music='next']{grid-area:next}
  #fil-music-dock .fil-music-live{display:none!important}
  #fil-music-dock .fil-music-now{grid-area:now}
  #fil-music-dock .fil-music-bar [data-music='open']{grid-area:open}
  #fil-music-dock .fil-music-bar [data-music='mute']{grid-area:mute}
  #fil-music-dock .fil-music-volume{grid-area:volume}
  #fil-desktop-ads .fil-discover-copy h3{font-size:24px!important}
  #fil-desktop-ads .fil-rail-local-card{grid-template-columns:82px minmax(0,1fr) auto!important}
  #fil-desktop-ads .fil-rail-local-thumb{width:82px!important;height:62px!important}
}

/* V100 correctifs de priorité : la feuille est importée en dernier dans head. */
html body #app-root #fil-desktop-ads{contain:none!important;box-sizing:border-box!important}
html body #app-root #fil-desktop-ads>.fil-rail-module{min-width:0!important;max-width:none!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;order:0!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading .fil-rail-brand{flex:1!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading h2{color:#25135b!important;font-family:Outfit,Inter,Arial,sans-serif!important;letter-spacing:-.045em!important;font-size:clamp(22px,2.5vw,42px)!important;line-height:1.04!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading .fil-rail-header-actions{display:flex!important;gap:7px!important;flex:0 0 auto!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading button{border-radius:12px!important;width:38px!important;height:38px!important;padding:0!important;display:grid!important;place-items:center!important;color:#6131bb!important;background:#fff!important;border:1px solid #d9cff3!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-art{flex:0 1 170px!important;min-width:90px!important}
html body #app-root #fil-desktop-ads .fil-rail-apps{min-height:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{min-width:0!important;min-height:106px!important;font-size:clamp(10px,1.15vw,16px)!important;line-height:1.15!important;border-radius:17px!important;gap:9px!important;padding:12px 5px!important}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{font-size:22px!important;width:40px!important;height:40px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1']{min-height:0!important;aspect-ratio:auto!important;height:auto!important;overflow:visible!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2']{min-height:0!important;aspect-ratio:auto!important;height:auto!important;overflow:visible!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card{min-height:440px!important;max-height:none!important;height:auto!important;aspect-ratio:auto!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{min-height:205px!important;max-height:none!important;height:auto!important;aspect-ratio:auto!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-family:Outfit,Inter,sans-serif!important;font-size:clamp(30px,3.3vw,51px)!important;line-height:1!important;max-width:76%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{font-family:Outfit,Inter,sans-serif!important;font-size:clamp(18px,1.75vw,28px)!important;max-width:75%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{font-size:clamp(13px,1.2vw,20px)!important;line-height:1.35!important;max-width:82%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card p{font-size:clamp(12px,1vw,17px)!important;line-height:1.38!important;max-width:72%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-meta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-dimensions{max-width:100%!important;font-size:13px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta{min-height:60px!important;width:100%!important;font-size:clamp(15px,1.55vw,21px)!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card>.fil-ad-cta{min-height:49px!important;font-size:15px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[hidden],
html body #app-root #fil-desktop-ads .fil-rail-module[hidden],
html body #app-root #fil-desktop-ads .fil-rail-cycle[hidden]{display:none!important}
html body #app-root #fil-desktop-ads .fil-rail-discover,
html body #app-root #fil-desktop-ads .fil-rail-local,
html body #app-root #fil-desktop-ads #fil-music-dock{min-height:0!important;max-height:none!important;overflow:visible!important;border-radius:22px!important;align-self:stretch!important}
html body #app-root #fil-desktop-ads .fil-rail-discover .fil-rail-discover-slide{display:block!important;min-height:0!important}
html body #app-root #fil-desktop-ads .fil-discover-card{display:grid!important;grid-template-columns:42% minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important}
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-visual{height:190px!important;min-height:190px!important}
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-copy h3{font-size:clamp(22px,2.2vw,34px)!important;line-height:1.03!important}
html body #app-root #fil-desktop-ads .fil-rail-local-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
html body #app-root #fil-desktop-ads .fil-rail-local-card{grid-template-columns:70px minmax(0,1fr) auto!important;min-width:0!important;gap:8px!important;padding:8px!important}
html body #app-root #fil-desktop-ads .fil-rail-local-thumb{width:70px!important;height:60px!important}
html body #app-root #fil-desktop-ads .fil-rail-local-copy strong{font-size:clamp(11px,1vw,14px)!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{min-width:0!important;grid-template-columns:auto auto auto auto minmax(0,1fr) auto auto auto!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now strong{font-size:16px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume{min-width:100px!important}
/* Bouton d'ouverture absent de V99 : visible sur ordinateur, tablette et mobile. */
html body #app-root #fil-rail-toggle.fil-v100-rail-launch{display:inline-flex!important;position:relative!important;align-items:center!important;justify-content:center!important;gap:8px!important;max-width:none!important;min-height:46px!important;padding:9px 15px!important;background:linear-gradient(145deg,#7732f6,#5319c5)!important;color:#fff!important;font:800 12px/1.2 Outfit,system-ui,sans-serif!important;letter-spacing:0!important;border:0!important;border-radius:12px!important;box-shadow:0 6px 22px rgba(80,28,196,.25)!important;cursor:pointer!important}
html body #app-root #fil-rail-toggle.fil-v100-rail-launch:before,
html body #app-root #fil-rail-toggle.fil-v100-rail-launch:after{display:none!important;content:none!important}
html body.fil-v100-rail-modal{overflow:hidden!important}
@media (min-width:1051px){
 html body #app-root .fil-workspace{grid-template-columns:minmax(0,55fr) minmax(500px,45fr)!important}
 html body #app-root #fil-desktop-ads{position:relative!important;display:flex!important;inset:auto!important;z-index:auto!important;min-width:0!important;min-height:0!important;width:auto!important;max-height:none!important;height:auto!important}
 html body #app-root #fil-desktop-ads[data-expanded='true']{position:fixed!important;inset:0!important;margin:auto!important;z-index:1100!important;width:min(100vw,960px)!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:30px 36px!important;box-shadow:0 0 0 120vmax rgba(20,11,49,.58)!important}
 html body #app-root #fil-desktop-ads:not([data-expanded='true']) #fil-rail-close{display:none!important}
}
@media (max-width:1050px){
 html body #app-root .fil-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 html body #app-root #fil-desktop-ads:not([data-open='true']){display:none!important}
 html body #app-root #fil-desktop-ads[data-open='true']{display:flex!important;position:fixed!important;inset:0!important;margin:auto!important;z-index:1100!important;width:min(100vw,960px)!important;max-width:100vw!important;max-height:100dvh!important;height:100dvh!important;min-height:100dvh!important;overflow-y:auto!important;border-radius:0!important;box-shadow:0 0 0 120vmax rgba(20,11,49,.58)!important}
 html body #app-root #fil-desktop-ads>.fil-rail-heading h2{font-size:32px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media (max-width:650px){
 html body #app-root #fil-desktop-ads{padding:18px 14px 36px!important;gap:14px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:12px!important;min-height:88px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-size:31px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{font-size:21px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{font-size:15px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card p{font-size:13px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-rail-local-grid{grid-template-columns:1fr!important}
 html body #app-root #fil-desktop-ads .fil-discover-card{grid-template-columns:1fr!important}
 html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-visual{height:180px!important}
 html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{grid-template-columns:auto auto auto minmax(0,1fr)!important}
 html body #app-root #fil-rail-toggle.fil-v100-rail-launch{position:fixed!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;right:10px!important;z-index:900!important;min-height:45px!important;padding:9px 12px!important}
}

/* Le déclencheur est enfant direct de #app-root pour rester visible en mode compact. */
@media (min-width:1051px){html body #app-root > #fil-rail-toggle.fil-v100-rail-launch{display:none!important}}
@media (max-width:1050px){
 html body #app-root > #fil-rail-toggle.fil-v100-rail-launch{display:flex!important;position:fixed!important;right:14px!important;bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;top:auto!important;left:auto!important;z-index:1000!important;min-height:50px!important;max-width:none!important;box-shadow:0 8px 28px #5214ae60!important}
 html body.fil-v100-rail-modal #app-root > #fil-rail-toggle.fil-v100-rail-launch{display:none!important}
}
@media (max-width:650px){
 html body #app-root #fil-desktop-ads .fil-rail-brand-art{display:block!important;width:120px!important;min-width:95px!important;min-height:50px!important}
 html body #app-root #fil-desktop-ads .fil-rail-brand-art img{width:120px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Hero village dans l'en-tête : vrai visuel panoramique, non une frise trop étroite. */
html body #app-root #fil-desktop-ads .fil-rail-brand-art{position:relative!important;display:block!important;width:220px!important;min-width:125px!important;height:103px!important;min-height:103px!important;border-radius:90px 30px 25px 35px!important;overflow:hidden!important;opacity:.83!important;mask-image:linear-gradient(90deg,transparent 0%,#000 27%,#000 100%)!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;max-width:none!important;filter:saturate(.8) hue-rotate(8deg)!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-art .fil-rail-sun{z-index:1!important;top:4px!important;right:12px!important}
@media(max-width:650px){
 html body #app-root #fil-desktop-ads .fil-rail-brand{flex-direction:row!important;align-items:flex-start!important;min-height:0!important}
 html body #app-root #fil-desktop-ads .fil-rail-brand-art{display:none!important}
 html body #app-root #fil-desktop-ads .fil-rail-heading{min-height:0!important;margin-bottom:0!important}
}

/* Ajustements finaux à l'échelle de la maquette de référence. */
html body #app-root #fil-desktop-ads .fil-rail-heading h2{font-size:clamp(36px,3.3vw,48px)!important}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{min-height:122px!important;font-size:clamp(13px,1.18vw,18px)!important}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{font-size:27px!important;width:45px!important;height:45px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card{min-height:560px!important;padding:25px 25px 24px!important;gap:24px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-size:clamp(45px,5vw,65px)!important;line-height:1.02!important;max-width:90%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{font-size:clamp(17px,1.65vw,23px)!important;max-width:93%!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta{min-height:67px!important;font-size:19px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{min-height:230px!important}
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-copy h3{font-size:clamp(27px,3vw,38px)!important}
html body #app-root #fil-desktop-ads .fil-discover-copy button{font-size:17px!important}
@media(max-width:650px){
 html body #app-root #fil-desktop-ads .fil-rail-heading h2{font-size:28px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{min-height:94px!important;font-size:12px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card{min-height:485px!important;padding:15px!important;gap:13px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-size:34px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{font-size:15px!important;max-width:100%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta{min-height:55px!important;font-size:14px!important}
}
/* Le décor du village est ancré à droite (l'ancien CSS imposait left:-85px). */
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card::after,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card::after{
 left:auto!important;right:0!important;top:auto!important;bottom:0!important;
 width:44%!important;height:58%!important;background-position:50% 54%!important;
 background-size:cover!important;opacity:.66!important;mix-blend-mode:screen!important;
 border-top-left-radius:95px!important;border-bottom-right-radius:22px!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb{
 position:absolute!important;top:10%!important;right:6%!important;left:auto!important;
 display:grid!important;place-items:center!important;width:175px!important;height:175px!important;
 font-size:125px!important;color:rgba(255,255,255,.55)!important;opacity:.45!important;
 transform:rotate(-17deg)!important;pointer-events:none!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-orb{
 position:absolute!important;top:4%!important;right:11%!important;left:auto!important;
 display:grid!important;place-items:center!important;width:95px!important;height:95px!important;
 font-size:60px!important;color:rgba(255,255,255,.5)!important;opacity:.45!important;
 transform:rotate(-17deg)!important;pointer-events:none!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb svg{width:150px!important;height:150px!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-orb svg{width:80px!important;height:80px!important}
@media(max-width:650px){
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb{width:90px!important;height:90px!important;right:4%!important;top:16%!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb svg{width:80px!important;height:80px!important}
}


/* MODULE : assets/vie-locale-v102.css */
/* V102 · Publicité / Vie locale — colonne fixe de 420px sur toutes les pages, panneau sans défilement.
   Les zones sont dimensionnées par fractions de la hauteur disponible plutôt que
   par les anciennes hauteurs minimales de 560px/230px. */
@media (min-width:1051px){
 html body #app-root .fil-workspace{
   display:grid!important;
   grid-template-columns:minmax(0,1fr) 420px!important;
   min-width:0!important;
   overflow:hidden!important;
 }
 html body #app-root #fil-desktop-ads,
 html body #app-root #fil-desktop-ads[data-expanded='true']{
   position:relative!important;inset:auto!important;margin:0!important;
   width:100%!important;min-width:0!important;max-width:none!important;
   height:100%!important;max-height:100%!important;
   box-shadow:none!important;border-radius:0!important;
   z-index:auto!important
 }
 html body #app-root #fil-desktop-ads #fil-rail-close,
 html body #app-root #fil-desktop-ads #fil-rail-expand{display:none!important}
}
/* Annuler explicitement les réglages d'agrandissement hérités de V100. */
html body #app-root #fil-desktop-ads{
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:44px 64px minmax(0,2.3fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,.85fr)!important;
 grid-auto-flow:row!important;
 gap:7px!important;
 align-items:stretch!important;
 align-content:stretch!important;
 padding:10px 12px 12px!important;
 background:linear-gradient(160deg,#ede8f8 0%,#f5f2fa 58%,#e9e5f8 100%)!important;
 overflow:hidden!important;
 overscroll-behavior:none!important;
 scroll-behavior:auto!important;
 scrollbar-width:none!important;
 box-sizing:border-box!important;
 contain:layout style!important;
}
html body #app-root #fil-desktop-ads::-webkit-scrollbar{display:none!important}
html body #app-root #fil-desktop-ads>*{min-height:0!important;min-width:0!important;max-width:100%!important;max-height:100%!important;box-sizing:border-box!important;margin:0!important;align-self:stretch!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading{
 grid-row:1!important;order:0!important;
 min-height:0!important;display:flex!important;align-items:center!important;
 padding:0 2px!important;gap:6px!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-rail-brand{align-items:center!important;min-height:0!important;gap:7px!important;flex-direction:row!important;width:100%!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-copy{flex:1!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-copy h2,
html body #app-root #fil-desktop-ads>.fil-rail-heading h2{
 font-family:Outfit,Inter,Arial,sans-serif!important;
 font-size:clamp(16px,1.32vw,22px)!important;font-weight:900!important;
 line-height:1.06!important;white-space:nowrap!important;letter-spacing:-.035em!important
}
html body #app-root #fil-desktop-ads .fil-rail-underline{
 width:36px!important;height:3px!important;margin-top:4px!important
}
html body #app-root #fil-desktop-ads .fil-rail-brand-art{
 width:79px!important;flex:0 0 79px!important;min-width:0!important;
 min-height:36px!important;height:36px!important;max-height:36px!important;
 border-radius:18px!important;mask-image:none!important
}
html body #app-root #fil-desktop-ads .fil-rail-brand-art img{width:100%!important;height:100%!important}
html body #app-root #fil-desktop-ads .fil-rail-sun{height:10px!important;width:10px!important;right:3px!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading .fil-rail-header-actions{width:24px!important;flex:0 0 24px!important;gap:0!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading #fil-rail-close{
 width:24px!important;height:24px!important;display:none!important
}
html body #app-root #fil-desktop-ads .fil-rail-apps{
 grid-row:2!important;order:2!important;
 min-height:0!important;height:100%!important;
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 gap:5px!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{
 min-height:0!important;height:100%!important;max-height:none!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 padding:4px 2px!important;gap:2px!important;border-radius:10px!important;
 font-size:clamp(9px,.67vw,12px)!important;line-height:1.05!important;
 box-shadow:0 3px 9px rgba(82,42,154,.07)!important;
}
html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{
 height:27px!important;width:27px!important;font-size:16px!important;
 border-radius:8px!important;flex:0 0 27px!important
}
/* Deux publicités compactes, toutes deux sur la même largeur. */
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-1'],
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-2']{
 height:100%!important;min-height:0!important;max-height:100%!important;
 width:100%!important;max-width:none!important;overflow:hidden!important;
 aspect-ratio:auto!important;align-self:stretch!important
}
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-1']{grid-row:3!important;order:3!important}
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-2']{grid-row:4!important;order:4!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{
 display:flex!important;position:relative!important;flex-direction:column!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 width:100%!important;aspect-ratio:auto!important;
 padding:8px 10px!important;gap:5px!important;border-radius:14px!important;
 overflow:hidden!important;box-sizing:border-box!important;
 background:linear-gradient(112deg,#6110df 0%,#b41ed7 45%,#f331ab 73%,#ff873d 100%)!important;
 box-shadow:0 4px 13px rgba(96,26,198,.16)!important
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top{
 flex:0 0 auto!important;gap:4px!important;min-height:0!important;margin:0!important
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top .fil-ad-mini,
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top .fil-ad-number{
 font-size:8px!important;line-height:1!important;white-space:nowrap!important;
 padding:4px 5px!important;gap:3px!important;border-radius:6px!important
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body{
 min-height:0!important;flex:1 1 auto!important;
 display:flex!important;flex-direction:column!important;gap:3px!important;
 padding:0!important;margin:0!important;overflow:hidden!important;
 align-items:flex-start!important;justify-content:center!important
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-content{max-width:100%!important;min-height:0!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{
 font-size:clamp(18px,1.7vw,26px)!important;line-height:1.02!important;
 max-width:89%!important;letter-spacing:-.03em!important;
 margin:0!important;font-weight:900!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{
 font-size:clamp(13px,1.13vw,17px)!important;line-height:1.05!important;
 max-width:100%!important;margin:0!important;letter-spacing:-.02em!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{
 font-size:clamp(9px,.73vw,11px)!important;line-height:1.17!important;
 max-width:96%!important;margin:0!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card p{
 font-size:clamp(8px,.66vw,10px)!important;line-height:1.16!important;
 max-width:100%!important;margin:0!important;
 display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-meta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-dimensions{
 font-size:8px!important;line-height:1.1!important;gap:4px!important;
 max-width:100%!important;margin:0!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-meta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-dimensions{display:none!important}
html body #app-root #fil-desktop-ads .fil-ad-card>.fil-ad-cta,
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-footer .fil-ad-cta{
 flex:0 0 29px!important;height:29px!important;min-height:29px!important;
 width:100%!important;max-width:none!important;margin-top:auto!important;
 padding:2px 8px!important;border-radius:9px!important;
 font-size:clamp(9px,.78vw,12px)!important;line-height:1!important;
 box-shadow:0 3px 6px rgba(43,20,98,.1)!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card>.fil-ad-cta{
 align-self:stretch!important;max-width:none!important;padding:2px 8px!important;
 min-height:27px!important;height:27px!important;flex-basis:27px!important
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-footer{gap:3px!important;font-size:8px!important}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-later{display:none!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-orb{
 top:19%!important;right:1%!important;width:65px!important;height:65px!important;
 opacity:.30!important;font-size:42px!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-orb svg,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-orb svg{
 width:64px!important;height:64px!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card::after,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card::after{
 width:27%!important;height:56%!important;opacity:.40!important;right:0!important
}
html body #app-root #fil-desktop-ads .fil-ad-picture{
 width:22%!important;height:64%!important;right:5px!important;bottom:6px!important;
 aspect-ratio:auto!important;object-fit:cover!important
}
/* Lecteur présent mais compact : aucun widget SoundCloud ne déborde du panneau. */
html body #app-root #fil-desktop-ads #fil-music-dock{
 grid-row:5!important;order:5!important;
 position:relative!important;display:flex!important;flex-direction:column!important;
 gap:4px!important;padding:7px 9px!important;border-radius:13px!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 overflow:hidden!important;box-sizing:border-box!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-heading{
 font-size:11px!important;line-height:1.08!important;flex:0 0 auto!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{
 display:grid!important;grid-template-columns:24px 27px 24px minmax(0,1fr) 24px 24px 66px!important;
 gap:4px!important;min-height:0!important;align-items:center!important;flex:1 1 auto!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-live{display:none!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music]{
 width:24px!important;height:24px!important;min-width:0!important;min-height:0!important;
 border-radius:7px!important;font-size:12px!important;padding:0!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music='play']{
 width:27px!important;height:27px!important;font-size:12px!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now{min-width:0!important;overflow:hidden!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now strong{
 font-size:11px!important;line-height:1.1!important;max-width:100%!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now small{
 font-size:8px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume{
 min-width:0!important;width:66px!important;gap:3px!important;font-size:8px!important
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume input{min-width:0!important;width:38px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress{
 display:grid!important;grid-template-columns:24px minmax(0,1fr) 24px!important;
 gap:5px!important;font-size:8px!important;flex:0 0 12px!important;min-height:0!important
}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-status{
 display:none!important
}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-official{
 position:absolute!important;left:-300vw!important;top:0!important;
 width:1px!important;height:1px!important;opacity:0!important;
 overflow:hidden!important;pointer-events:none!important
}
/* Suggestion principale : image + informations + commandes, sans deuxième hauteur cachée. */
html body #app-root #fil-desktop-ads .fil-rail-discover{
 grid-row:6!important;order:6!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 display:flex!important;flex-direction:column!important;gap:3px!important;
 overflow:hidden!important;box-sizing:border-box!important;
 padding:7px 9px!important;border-radius:13px!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-head{
 margin:0!important;gap:5px!important;flex:0 0 15px!important;min-height:0!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-head strong,
html body #app-root #fil-desktop-ads .fil-rail-local-head strong{
 font-size:11px!important;line-height:1.1!important
}
html body #app-root #fil-desktop-ads .fil-rail-chip,
html body #app-root #fil-desktop-ads .fil-rail-link-more{
 font-size:8px!important;line-height:1!important;padding:3px 6px!important;
 gap:3px!important;min-height:0!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-slide{
 flex:1 1 auto!important;min-height:0!important;display:block!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-discover-card{
 display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;
 height:100%!important;min-height:0!important;gap:8px!important;
 align-items:stretch!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-discover-visual{
 min-height:0!important;height:100%!important;border-radius:8px!important
}
html body #app-root #fil-desktop-ads .fil-discover-copy{
 display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;justify-content:center!important;
 gap:2px!important;min-height:0!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-discover-meta{
 font-size:8px!important;white-space:nowrap!important;max-width:100%!important;
 text-overflow:ellipsis!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-copy h3{
 font-size:clamp(10px,.92vw,14px)!important;line-height:1.06!important;
 letter-spacing:-.02em!important;margin:0!important;
 display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-discover-copy p{display:none!important}
html body #app-root #fil-desktop-ads .fil-discover-copy button{
 min-height:23px!important;height:23px!important;max-height:23px!important;
 margin:0!important;padding:3px 9px!important;border-radius:7px!important;
 font-size:9px!important;gap:4px!important;box-shadow:none!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-actions{
 display:grid!important;grid-template-columns:25px 1fr 25px!important;
 min-height:0!important;flex:0 0 20px!important;
 margin:0!important;gap:5px!important;padding:0!important;border:0!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-actions button{
 min-height:0!important;width:25px!important;height:20px!important;
 padding:0!important;border-radius:6px!important;font-size:9px!important
}
html body #app-root #fil-desktop-ads .fil-rail-discover-count{font-size:9px!important}
/* Trois accès locaux alignés, tous présents dans la dernière rangée. */
html body #app-root #fil-desktop-ads .fil-rail-local{
 grid-row:7!important;order:7!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 display:flex!important;flex-direction:column!important;gap:3px!important;
 padding:6px 8px!important;border-radius:13px!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-head{
 margin:0!important;min-height:0!important;flex:0 0 14px!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:4px!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-card{
 display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;
 gap:3px!important;min-height:0!important;height:100%!important;
 padding:2px!important;border-radius:7px!important;overflow:hidden!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-thumb{
 width:28px!important;height:100%!important;min-height:0!important;border-radius:5px!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-copy{gap:1px!important;overflow:hidden!important}
html body #app-root #fil-desktop-ads .fil-rail-local-copy small{
 font-size:7px!important;line-height:1!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-copy strong{
 font-size:8px!important;line-height:1.08!important;-webkit-line-clamp:2!important
}
html body #app-root #fil-desktop-ads .fil-rail-local-card>i{display:none!important}
html body #app-root #fil-desktop-ads .fil-rail-custom-image[hidden],
html body #app-root #fil-desktop-ads .fil-rail-cycle[hidden],
html body #app-root #fil-desktop-ads .fil-ad-slot[hidden],
html body #app-root #fil-desktop-ads .fil-rail-module[hidden]{display:none!important}
/* Dimensions réduites : la largeur reste fixe, seule la densité verticale change. */
@media (max-height:750px){
 html body #app-root #fil-desktop-ads{
  grid-template-rows:36px 50px minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,.8fr)!important;
  padding:6px 9px!important;gap:5px!important
 }
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{gap:1px!important;padding:2px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{height:19px!important;width:20px!important;font-size:13px!important;flex-basis:20px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-size:17px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-dimensions{display:none!important}
}
/* Mobile et tablettes : panneau superposé, même philosophie sans rouleau interne. */
@media (max-width:1050px){
 html body #app-root #fil-desktop-ads[data-open='true']{
  display:grid!important;position:fixed!important;
  inset:0!important;width:100vw!important;max-width:100vw!important;
  height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;box-shadow:0 0 0 120vmax rgba(20,11,49,.50)!important;
  z-index:1100!important
 }
 html body #app-root #fil-desktop-ads .fil-rail-brand-art{display:none!important}
 html body #app-root #fil-desktop-ads>.fil-rail-heading #fil-rail-close{display:grid!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 html body #app-root #fil-desktop-ads .fil-discover-card{grid-template-columns:80px minmax(0,1fr)!important}
 html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{
  grid-template-columns:24px 27px 24px minmax(0,1fr) 24px 24px 66px!important;
  grid-template-areas:none!important
 }
}
@media(max-width:460px){
 html body #app-root #fil-desktop-ads{padding:7px 7px 8px!important;gap:5px!important;
  grid-template-rows:42px 57px minmax(0,2.5fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.75fr)!important}
 html body #app-root #fil-desktop-ads .fil-rail-brand-copy h2{font-size:16px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:8px!important;min-height:0!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{height:23px!important;width:23px!important;flex-basis:23px!important;font-size:14px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3{font-size:20px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p{font-size:9px!important}
 html body #app-root #fil-desktop-ads .fil-rail-local-card{grid-template-columns:24px minmax(0,1fr)!important}
 html body #app-root #fil-desktop-ads .fil-rail-local-thumb{width:24px!important}
}

/* Corrige les hauteurs d'images/texte définies par V100 qui débordaient des cartes. */
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-visual,
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-copy{
 min-height:0!important;max-height:100%!important;height:100%!important;overflow:hidden!important;
 align-self:stretch!important
}
html body #app-root #fil-desktop-ads .fil-discover-card .fil-discover-copy h3{max-width:100%!important}
/* Les règles V100 avaient un min-height 67px sur ces boutons : correction définitive. */
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card>.fil-ad-cta{
 box-sizing:border-box!important;min-height:26px!important;height:26px!important;
 max-height:26px!important;flex:0 0 26px!important;
 align-self:stretch!important;font-size:11px!important;line-height:1!important;
 padding:3px 8px!important;margin:0!important
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-body{
 justify-content:center!important;
}
/* L'image optionnelle du Studio et les flèches du carrousel ne créent pas de 8e rangée. */
html body #app-root #fil-desktop-ads>.fil-rail-custom-image:not([hidden]){
 position:absolute!important;top:108px!important;right:16px!important;
 width:46px!important;height:46px!important;max-height:46px!important;
 overflow:hidden!important;border-radius:9px!important;z-index:9!important
}
html body #app-root #fil-desktop-ads>.fil-rail-custom-image:not([hidden]) img{
 width:100%!important;height:100%!important;object-fit:cover!important
}
html body #app-root #fil-desktop-ads>.fil-rail-cycle:not([hidden]){
 position:absolute!important;right:16px!important;top:calc(44px + 64px + 7px * 3 + 10px)!important;
 width:auto!important;min-height:0!important;height:22px!important;
 display:flex!important;align-items:center!important;gap:4px!important;
 padding:2px 4px!important;z-index:8!important;border-radius:7px!important;
 background:rgba(255,255,255,.90)!important
}
html body #app-root #fil-desktop-ads>.fil-rail-cycle:not([hidden]) button{
 width:18px!important;height:18px!important;min-height:0!important;padding:0!important
}
html body #app-root #fil-desktop-ads>.fil-rail-cycle:not([hidden]) span{
 font-size:8px!important
}


/* MODULE : assets/fonds-vie-locale-v103.css */
/* V103 — trois fonds illustrés, sans texte. Aucun changement de dimensions. */
html body #app-root #fil-desktop-ads .fil-rail-local {
 background-color:#f8f3fe!important;
 background-image:url('/assets/visuels/vie-locale/fond-autres-activites-locales.webp')!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 background-size:cover!important;
}
html body #app-root #fil-desktop-ads .fil-rail-discover {
 background-color:#faf3fd!important;
 background-image:url('/assets/visuels/vie-locale/fond-a-decouvrir-prades.webp')!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 background-size:cover!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock {
 background-color:#faf6fe!important;
 background-image:url('/assets/visuels/vie-locale/fond-musique-playlist.webp')!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 background-size:cover!important;
}
/* Les cartes et commandes gardent un contraste net devant l'illustration. */
html body #app-root #fil-desktop-ads .fil-rail-local-card{background:rgba(255,255,255,.88)!important}
html body #app-root #fil-desktop-ads .fil-discover-card{background:rgba(255,255,255,.70)!important;border-radius:16px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music]{backdrop-filter:blur(5px)}


/* MODULE : assets/fonds-vie-locale-v104.css */
/* V104 — fonds des panneaux préservés. Seule la playlist adopte les couleurs rouge/noir de Villa Rouge.
   Les tailles du panneau et le comportement des commandes ne changent pas. */
html body #app-root #fil-desktop-ads #fil-music-dock{
  background-color:#21020d!important;
  background-image:linear-gradient(90deg,rgba(24,0,8,.25),rgba(75,0,12,.05)),url('/assets/visuels/vie-locale/fond-musique-playlist-villa-rouge.webp')!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  border:1px solid rgba(245,43,70,.62)!important;
  box-shadow:inset 0 0 0 1px rgba(255,57,80,.14),0 2px 9px rgba(50,0,11,.17)!important;
  color:#fff!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-heading,
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now strong{
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.4)!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now small,
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume,
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress,
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-status{
  color:#ffd6db!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music]{
  background:rgba(64,0,20,.78)!important;
  border:1px solid rgba(255,101,114,.45)!important;
  color:#fff!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music='play']{
  background:linear-gradient(125deg,#ff284d 0%,#b00024 100%)!important;
  border:1px solid #ff5270!important;
  color:#fff!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock input[type='range']{accent-color:#ff3c63!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  position:absolute!important;
  top:5px!important;
  right:7px!important;
  z-index:4!important;
  margin:0!important;
  min-height:16px!important;
  max-height:18px!important;
  max-width:130px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,117,130,.65)!important;
  background:linear-gradient(120deg,#fe2047,#9f0321)!important;
  color:#fff!important;
  box-shadow:0 1px 6px rgba(102,0,23,.34)!important;
  padding:2px 8px!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:8px!important;
  line-height:1.05!important;
  font-weight:800!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link:hover,
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link:focus-visible{
  background:linear-gradient(120deg,#ff4c65,#d10030)!important;
  outline:2px solid #fff!important;
  outline-offset:1px!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-heading{
  max-width:calc(100% - 132px)!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}


/* MODULE : assets/visuels/musique/musique-v105.css */
/* Le Fil V105 — page Musique, sans modification du lecteur SoundCloud partagé ni du rail. */
#main-view:has(#fil-musique-page){background:#1a0006!important;scrollbar-color:#a91a32 #200408}
#main-view #fil-musique-page.fil-v105-page{--v105-red:#fa092e;--v105-light:#fff6f7;--v105-line:#d9203b;--v105-ink:#fff;box-sizing:border-box;max-width:none!important;width:100%!important;margin:0!important;padding:14px clamp(10px,2vw,28px) 46px!important;min-height:100%!important;color:var(--v105-ink)!important;background:radial-gradient(ellipse at 70% 10%,#99010d46,transparent 60%),radial-gradient(circle at 9% 72%,#55000840,transparent 45%),linear-gradient(90deg,#1b0005 0%,#360003 50%,#170006 100%)!important;font-family:Inter,'Arial',sans-serif!important;font-size:14px!important;line-height:1.38!important}
#fil-musique-page.fil-v105-page *{box-sizing:border-box}
#fil-musique-page.fil-v105-page :is(h1,h2,h3,p){color:inherit}
#fil-musique-page.fil-v105-page a{color:inherit;text-decoration:none}
#fil-musique-page.fil-v105-page img{max-width:100%}
#fil-musique-page.fil-v105-page button,#fil-musique-page.fil-v105-page a{touch-action:manipulation}
#fil-musique-page.fil-v105-page button:focus-visible,#fil-musique-page.fil-v105-page a:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
#fil-musique-page .fil-v105-hero{position:relative;min-height:448px;overflow:hidden;background:linear-gradient(#1b000577,#1b0005aa),url('/assets/visuels/musique/hero-wood.webp') center/290px repeat,#260004;border:1px solid #9a162b;border-radius:14px;box-shadow:inset 0 0 90px #0008,0 15px 40px #0009}
#fil-musique-page .fil-v105-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.75;background:radial-gradient(ellipse at 48% 55%,#da001b50,transparent 46%),linear-gradient(90deg,#19000190,transparent 38%,#20000578 100%)}
#fil-musique-page .fil-v105-navbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:8px 16px;border-bottom:1px solid #fc354c47;background:#21000575}
#fil-musique-page .fil-musique-brands{display:flex;align-items:center;gap:12px;flex:none}
#fil-musique-page .fil-musique-brands img{width:64px!important;height:64px!important;object-fit:cover!important;border-radius:50%!important;border:2px solid #ff4a70!important;box-shadow:0 0 13px #fc173f,0 0 20px #ee153e77!important}
#fil-musique-page .fil-musique-brands b{font:900 38px/1 Arial;color:white;text-shadow:0 0 8px #ff2b37}
#fil-musique-page .fil-v105-navbar nav{display:flex;gap:clamp(8px,1vw,16px);align-items:center;flex-wrap:wrap;justify-content:flex-end}
#fil-musique-page .fil-v105-navbar nav a{padding:9px 4px;font-size:12px!important;white-space:nowrap;font-weight:700;color:#fff!important}
#fil-musique-page .fil-v105-navbar nav a:hover{color:#ff8b98!important}
#fil-musique-page .fil-v105-navbar nav .fil-v105-navbar-cta{padding:10px 15px!important;background:linear-gradient(110deg,#f90035,#ae001c);border-radius:10px;box-shadow:0 0 15px #ff003866}
#fil-musique-page .fil-v105-hero-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(190px,26%) minmax(280px,1fr) minmax(160px,20%);gap:12px;align-items:center;padding:16px 14px 22px}
#fil-musique-page .fil-v105-kicker{display:block;color:#ff7289;font-size:10px;font-weight:900;letter-spacing:.19em}
#fil-musique-page .fil-v105-hero-intro h2{font-weight:900!important;font-size:clamp(17px,1.6vw,25px)!important;line-height:1.09!important;margin:12px 0!important}
#fil-musique-page .fil-v105-hero-intro p{font-size:clamp(12px,1vw,14px)!important;line-height:1.48!important;color:#ffebed!important;margin:8px 0 15px!important}
#fil-musique-page .fil-v105-pill{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-height:40px;padding:9px 13px;border-radius:40px!important;border:1px solid #ff8194!important;background:linear-gradient(115deg,#fa103b,#bb0021)!important;box-shadow:0 0 14px #ed052e80!important;color:#fff!important;font-size:12px!important;font-weight:800!important;white-space:normal}
#fil-musique-page .fil-v105-pill:hover{filter:brightness(1.1)}
#fil-musique-page .fil-v105-hero-stage{display:flex;align-items:center;flex-direction:column;text-align:center;align-self:stretch;justify-content:flex-start;min-height:342px}
#fil-musique-page .fil-v105-hero-dateline{font-size:clamp(10px,1vw,15px);letter-spacing:.06em;text-shadow:0 0 5px #fc132f}
#fil-musique-page .fil-v105-hero-stage h1{font-family:'Brush Script MT','Segoe Script',Georgia,serif!important;font-style:italic!important;font-size:clamp(33px,4.6vw,76px)!important;letter-spacing:-.035em!important;font-weight:500!important;white-space:nowrap;line-height:1.05!important;margin:9px 0 2px!important;color:#fff8f8!important;text-shadow:0 0 3px #fff,0 0 10px #ff1534,0 0 24px #fa102b,0 0 34px #fa102b!important}
#fil-musique-page .fil-v105-hero-stage h2{font-size:clamp(17px,2vw,30px)!important;font-weight:950!important;line-height:1!important;letter-spacing:.04em!important;margin:0!important;text-shadow:0 0 8px #ff1529,0 0 20px #ff1529;color:#ffdae0!important}
#fil-musique-page .fil-v105-neon{flex:1;width:min(84%,350px);min-height:170px;background:url('/assets/visuels/musique/hero-neon.webp') center 57%/cover no-repeat;mask-image:radial-gradient(ellipse at 50% 53%,black 48%,transparent 74%);filter:drop-shadow(0 0 15px #ff1735);margin-top:8px}
#fil-musique-page .fil-v105-hero-facts{display:flex;flex-direction:column;justify-content:center;gap:23px;align-self:stretch}
#fil-musique-page .fil-v105-hero-facts>div{display:flex;align-items:center;gap:10px}
#fil-musique-page .fil-v105-hero-facts>div i{width:26px;font-size:23px;flex:none;color:#ff6076;text-shadow:0 0 14px #f71135}
#fil-musique-page .fil-v105-hero-facts span{font-size:11px!important;line-height:1.4!important;font-weight:700;color:#fff!important}
#fil-musique-page .fil-v105-hero-facts>.fil-v105-pill{align-self:flex-start}
#fil-musique-page .fil-v105-resident{position:relative;display:grid;grid-template-columns:minmax(165px,38%) minmax(220px,1fr) minmax(120px,18%);align-items:end;gap:12px;background:linear-gradient(90deg,#290003ad,#390005e9),url('/assets/visuels/musique/crowd.webp') center/cover no-repeat;border:1px solid #fa1b3d;border-radius:13px;overflow:hidden;margin-top:12px;min-height:260px}
#fil-musique-page .fil-v105-resident-photo{align-self:stretch;position:relative;overflow:hidden;max-height:300px}
#fil-musique-page .fil-v105-resident-photo img{position:absolute;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;mask-image:linear-gradient(90deg,#000 75%,transparent 100%)}
#fil-musique-page .fil-v105-resident-body{align-self:center;padding:15px 0}
#fil-musique-page .fil-v105-resident-body>span{font-size:11px;font-weight:700;letter-spacing:.04em}
#fil-musique-page .fil-v105-resident-body h2{font-size:clamp(30px,3.5vw,56px)!important;line-height:1!important;font-weight:950!important;margin:5px 0!important}
#fil-musique-page .fil-v105-resident-body>strong{font-size:13px;letter-spacing:.08em}
#fil-musique-page .fil-v105-resident-body p{font-size:12px!important;color:#fae3e7!important;line-height:1.45;margin:10px 0}
#fil-musique-page .fil-v105-resident-links{display:flex;flex-wrap:wrap;gap:8px}
#fil-musique-page .fil-v105-resident-links a:not(.fil-v105-pill){border:1px solid #fd7180;padding:10px 12px;border-radius:30px;background:#1d0007aa;font-size:12px;font-weight:750}
#fil-musique-page .fil-v105-resident-genres{margin:13px 12px 13px 0;background:#12000cdd;padding:14px;border:1px solid #e868765c;border-radius:12px;display:flex;flex-direction:column;gap:9px}
#fil-musique-page .fil-v105-resident-genres>strong{font-size:11px}
#fil-musique-page .fil-v105-resident-genres>span{font-size:11px;color:#f5e2e7}
#fil-musique-page .fil-v105-resident-genres>span::before{content:'♧';margin-right:9px;color:#ff5369}
#fil-musique-page :is(.fil-v105-artists,.fil-v105-tracks,.fil-v105-history){margin-top:14px}
#fil-musique-page .fil-v105-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 1px 8px}
#fil-musique-page .fil-v105-section-head h2{font-size:clamp(17px,1.6vw,24px)!important;line-height:1.12!important;font-weight:900!important;margin:0!important}
#fil-musique-page .fil-v105-section-head a,#fil-musique-page .fil-v105-soundcloud{font-size:11px!important;font-weight:750!important;white-space:nowrap}
#fil-musique-page .fil-v105-artist-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
#fil-musique-page .fil-v105-artist{border:1px solid #eb233d;border-radius:8px;overflow:hidden;position:relative;min-height:188px;background:linear-gradient(#350008,#760008);display:flex;align-items:stretch;flex-direction:column}
#fil-musique-page .fil-v105-artist>img{width:100%;height:130px;object-fit:cover;object-position:top center;display:block;filter:saturate(1.08)}
#fil-musique-page .fil-v105-artist>strong{text-align:center;font-size:clamp(9px,.85vw,12px)!important;font-weight:900!important;line-height:1.07!important;margin-top:-3px;padding:2px 2px 5px;min-height:28px;text-shadow:0 1px 3px #000}
#fil-musique-page .fil-v105-artist>a{display:block;text-align:center;border:1px solid #ff234c;border-radius:7px;margin:0 5px 5px;padding:7px 2px;color:#fff!important;font-size:10px!important;font-weight:750;background:#250007}
#fil-musique-page .fil-v105-artist>a:hover{background:#db143a}
#fil-musique-page .fil-v105-photo-note{display:block;color:#d99ba4;font-size:10px;margin-top:5px}
#fil-musique-page #fil-v105-tracks{min-width:0}
#fil-musique-page #fil-music-page-player{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;min-height:86px;padding:12px;background:linear-gradient(90deg,#7e001a,#350006 70%);border:1px solid #f62b47;border-radius:9px;color:#fff!important}
#fil-musique-page #fil-music-page-player .fil-page-player-top{display:flex;align-items:center;gap:10px;min-width:0;grid-column:1/-1}
#fil-musique-page .fil-v105-player-cover{flex:none;width:60px;height:60px;object-fit:cover;border:1px solid #ff3f58;border-radius:6px}
#fil-musique-page #fil-music-page-player [data-page-music]{background:#fb103c;color:#fff;border:1px solid #ff527b;border-radius:50%;width:43px;height:43px;flex:none;display:grid;place-items:center;font-size:17px;cursor:pointer}
#fil-musique-page .fil-v105-player-copy{min-width:80px;flex:0 1 200px}
#fil-musique-page .fil-v105-player-copy small{font-size:10px;font-weight:600}
#fil-musique-page .fil-v105-player-copy small span{color:#ffadc1}
#fil-musique-page .fil-v105-player-copy h2{font-size:18px!important;margin:3px 0 0!important;line-height:1.1!important;color:#fff!important}
#fil-musique-page .fil-v105-player-copy p{font-size:11px;color:#f4d5de;margin:1px 0}
#fil-musique-page .fil-v105-player-wave{height:45px;flex:1 1 auto;min-width:20px;max-width:400px;opacity:.8;background:repeating-linear-gradient(90deg,transparent 0 2px,#ff486a 2px 4px,transparent 4px 8px);mask-image:linear-gradient(0deg,transparent 12%,#000 45%,transparent 86%);border-radius:5px}
#fil-musique-page #fil-music-page-player [data-page-play-state]{font-size:11px;white-space:nowrap;color:#ffd2d9}
#fil-musique-page #fil-music-page-player .fil-page-player-controls{display:flex;align-items:center;gap:8px;margin-top:10px;grid-column:1/-1}
#fil-musique-page #fil-music-page-player .fil-page-player-controls [data-page-music]{width:30px;height:30px;font-size:12px;background:#3d000c;border-radius:8px}
#fil-musique-page #fil-music-page-player .fil-page-player-controls label{font-size:11px;display:flex;align-items:center;gap:5px}
#fil-musique-page #fil-music-page-player input[type=range]{accent-color:#ff2951;max-width:100%}
#fil-musique-page #fil-music-page-player .fil-page-player-timeline{display:flex;gap:8px;align-items:center;grid-column:1/-1;margin-top:5px}
#fil-musique-page #fil-music-page-player .fil-page-player-timeline input{flex:1;min-width:0}
#fil-musique-page #fil-music-page-player .fil-page-player-help{font-size:10px;grid-column:1/-1;color:#f6adbe!important;margin:4px 0!important}
#fil-musique-page #fil-music-page-player [data-page-error]{font-size:11px;grid-column:1/-1;margin:0;color:#ffd1a4}
#fil-musique-page #fil-v84-music-collection{margin-top:6px}
#fil-musique-page .fil-v84-music-filters{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin:4px 0 10px}
#fil-musique-page .fil-v84-music-filters button{padding:7px 13px;border-radius:999px;border:1px solid #b84257;background:#240008;color:#fff;font-size:11px;font-weight:650;cursor:pointer}
#fil-musique-page .fil-v84-music-filters button[aria-pressed=true]{background:#f30638;border-color:#ff8da6;box-shadow:0 0 12px #f7004261}
#fil-musique-page .fil-musique-list{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important}
#fil-musique-page .fil-musique-card{min-width:0;display:grid!important;grid-template-columns:50px 34px minmax(105px,1fr) minmax(80px,1.5fr) minmax(130px,auto)!important;align-items:center!important;gap:10px!important;padding:7px 9px!important;background:linear-gradient(90deg,#650016,#330006 75%)!important;border:1px solid #c61637!important;border-radius:8px!important;color:#fff!important;box-shadow:none!important}
#fil-musique-page .fil-musique-card.is-current{border-color:#ff6a7d!important;box-shadow:0 0 15px #ec0d3b55!important}
#fil-musique-page .fil-v84-track-cover{width:50px!important;height:50px!important;border-radius:4px!important;object-fit:cover!important}
#fil-musique-page .fil-v105-row-play{width:34px;height:34px;padding:0!important;display:grid;place-items:center;background:#f70b3a!important;color:#fff!important;border-radius:50%!important;box-shadow:0 0 11px #e80432!important}
#fil-musique-page .fil-v105-row-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
#fil-musique-page .fil-v84-track-mood{font-size:9px;color:#ffb8c5;text-transform:uppercase;letter-spacing:.04em}
#fil-musique-page .fil-v105-row-copy h2{font:800 14px/1.05 Inter,Arial,sans-serif!important;margin:2px 0!important}
#fil-musique-page .fil-v105-row-copy p{font-size:10px!important;color:#f4d1d9!important;margin:0!important}
#fil-musique-page .fil-v105-row-wave{height:27px;background:repeating-linear-gradient(90deg,#f07593 0 2px,transparent 2px 5px);mask-image:linear-gradient(0deg,transparent,#000 45%,transparent);opacity:.65}
#fil-musique-page .fil-musique-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap!important}
#fil-musique-page .fil-musique-actions button{width:34px;height:34px;padding:0!important;display:grid;place-items:center;border:1px solid #fb294c!important;border-radius:7px!important;background:#270006!important;color:#ff4566!important;font-size:19px!important}
#fil-musique-page .fil-musique-actions button[aria-pressed=true]{color:#fff!important;background:#fa0742!important}
#fil-musique-page .fil-musique-actions a{background:#f30d3b!important;border:1px solid #ff3962!important;color:#fff!important;border-radius:7px;padding:10px 12px!important;font-size:10px!important;text-decoration:none!important;white-space:nowrap}
#fil-musique-page .fil-musique-repeat{margin-top:10px;color:#f8cbd2;font-size:11px}
#fil-musique-page .fil-v105-player-note{margin:5px 0;font-size:10px!important;color:#e3a3b0}
#fil-musique-page .fil-v105-player-note button{background:none;border:0;color:#ff95ac;text-decoration:underline;font:inherit;cursor:pointer}
#fil-musique-page .fil-v105-history{display:grid;grid-template-columns:minmax(180px,28%) minmax(0,1fr) minmax(145px,23%);gap:14px;align-items:center;background:linear-gradient(90deg,#3f000d,#1a0007);padding:12px;border-top:1px solid #a12b43;border-radius:9px}
#fil-musique-page .fil-v105-history-photo{height:175px;overflow:hidden;border-radius:7px;border:1px solid #ca2847}
#fil-musique-page .fil-v105-history-photo img{width:100%;height:100%;object-fit:cover}
#fil-musique-page .fil-v105-history h2{font-size:clamp(15px,1.5vw,23px)!important;margin:0 0 10px!important;font-weight:900!important}
#fil-musique-page .fil-v105-history p{font-size:11px!important;line-height:1.42!important;color:#fae1e6!important;margin:5px 0!important}
#fil-musique-page .fil-v105-history-points{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:11px}
#fil-musique-page .fil-v105-history-points span{font-size:10px;font-weight:800;color:#ffd3da}
#fil-musique-page .fil-v105-history-vinyl{width:100%;height:auto;max-height:196px;object-fit:contain;filter:drop-shadow(0 0 12px #f623436a)}
#fil-musique-page .fil-v84-remember{margin-top:16px;padding:16px;border-radius:10px;background:#280006;color:#fff;border:1px solid #8a192a}
#fil-musique-page .fil-v84-remember h2{font-size:18px;margin:6px 0!important}
#fil-musique-page .fil-v84-remember p{color:#efbbc6;font-size:12px}
#fil-musique-page .fil-v84-music-cta a,#fil-musique-page .fil-v84-music-cta button{font-size:11px!important}
#fil-musique-page .fil-musique-attribution{font-size:11px!important;color:#e8acb9!important}
#fil-musique-page .fil-musique-attribution a{color:#ffc3d2!important;text-decoration:underline}
#fil-musique-page [hidden]{display:none!important}
@media (max-width:1100px){
 #fil-musique-page .fil-v105-hero-main{grid-template-columns:minmax(150px,27%) 1fr;gap:10px}
 #fil-musique-page .fil-v105-hero-stage{min-width:0}
 #fil-musique-page .fil-v105-hero-facts{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center}
 #fil-musique-page .fil-v105-hero-facts>.fil-v105-pill{grid-column:1/-1;justify-self:center}
 #fil-musique-page .fil-v105-artist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 #fil-musique-page .fil-v105-resident{grid-template-columns:28% 1fr;align-items:center}
 #fil-musique-page .fil-v105-resident-genres{grid-column:1/-1;display:flex;flex-flow:row wrap;margin:0 14px 12px}
 #fil-musique-page .fil-v105-history{grid-template-columns:28% 1fr}
 #fil-musique-page .fil-v105-history-vinyl{display:none}
}
@media (max-width:670px){
 #main-view #fil-musique-page.fil-v105-page{padding:10px 9px 40px!important}
 #fil-musique-page .fil-v105-navbar{padding:8px;align-items:flex-start}
 #fil-musique-page .fil-musique-brands{gap:6px}
 #fil-musique-page .fil-musique-brands img{width:40px!important;height:40px!important}
 #fil-musique-page .fil-musique-brands b{font-size:23px}
 #fil-musique-page .fil-v105-navbar nav{gap:5px}
 #fil-musique-page .fil-v105-navbar nav a{font-size:9px!important;padding:5px!important}
 #fil-musique-page .fil-v105-hero-main{grid-template-columns:1fr;gap:14px;padding:12px}
 #fil-musique-page .fil-v105-hero-intro{order:2}
 #fil-musique-page .fil-v105-hero-stage{order:1;min-height:270px}
 #fil-musique-page .fil-v105-hero-stage h1{font-size:clamp(32px,8vw,50px)!important}
 #fil-musique-page .fil-v105-hero-facts{order:3;grid-template-columns:1fr 1fr}
 #fil-musique-page .fil-v105-hero-intro h2{font-size:21px!important}
 #fil-musique-page .fil-v105-resident{grid-template-columns:1fr;gap:0}
 #fil-musique-page .fil-v105-resident-photo{height:235px}
 #fil-musique-page .fil-v105-resident-body{padding:12px 16px}
 #fil-musique-page .fil-v105-resident-genres{grid-column:auto;margin:0 16px 15px}
 #fil-musique-page .fil-v105-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #fil-musique-page .fil-v105-artist>img{height:170px}
 #fil-musique-page .fil-v105-photo-note{font-size:10px}
 #fil-musique-page .fil-v105-section-head{align-items:flex-start}
 #fil-musique-page .fil-v105-section-head h2{font-size:16px!important}
 #fil-musique-page #fil-music-page-player{padding:8px}
 #fil-musique-page .fil-v105-player-cover{width:42px;height:42px}
 #fil-musique-page .fil-v105-player-copy h2{font-size:14px!important}
 #fil-musique-page .fil-v105-player-wave{display:none}
 #fil-musique-page #fil-music-page-player [data-page-play-state]{display:none}
 #fil-musique-page .fil-musique-card{grid-template-columns:38px 32px 1fr!important;gap:8px!important}
 #fil-musique-page .fil-v84-track-cover{width:38px!important;height:38px!important}
 #fil-musique-page .fil-v105-row-wave{display:none}
 #fil-musique-page .fil-musique-actions{grid-column:1/-1;justify-content:flex-end}
 #fil-musique-page .fil-v105-history{grid-template-columns:1fr}
 #fil-musique-page .fil-v105-history-photo{height:220px}
}
/* Priorité sur les anciens styles V84 de grille, sans modifier le moteur sonore. */
#app-root #main-view #fil-musique-page .fil-v105-hero{background:linear-gradient(90deg,#19000299,#1c000450,#170002aa),url('/assets/visuels/musique/bois-rouge-villa.webp') center/cover no-repeat!important}
#app-root #main-view #fil-musique-page .fil-v105-resident{background:linear-gradient(90deg,#330006ad,#190003e6),url('/assets/visuels/musique/foule-rouge.webp') center/cover no-repeat!important}
#app-root #main-view #fil-musique-page .fil-musique-card{display:grid!important;grid-template-columns:50px 34px minmax(115px,1fr) minmax(50px,1.2fr) minmax(145px,auto)!important;grid-auto-flow:row!important;gap:10px!important;min-height:65px!important;height:auto!important;padding:7px 9px!important;align-items:center!important;background:linear-gradient(90deg,#650016,#330006 75%)!important;border:1px solid #c61637!important;border-radius:8px!important}
#app-root #main-view #fil-musique-page .fil-v84-track-cover{width:50px!important;height:50px!important;object-fit:cover!important;background:#370004!important;border:1px solid #fc4363!important;border-radius:4px!important;grid-column:1!important;grid-row:1!important}
#app-root #main-view #fil-musique-page .fil-v105-row-play{grid-column:2!important;grid-row:1!important}
#app-root #main-view #fil-musique-page .fil-v105-row-copy{grid-column:3!important;grid-row:1!important}
#app-root #main-view #fil-musique-page .fil-v105-row-wave{grid-column:4!important;grid-row:1!important}
#app-root #main-view #fil-musique-page .fil-musique-actions{grid-column:5!important;grid-row:1!important;align-items:center!important}
#app-root #main-view #fil-musique-page .fil-musique-card h2{font-size:14px!important;margin:2px 0!important;color:#fff!important}
#app-root #main-view #fil-musique-page .fil-musique-card p{color:#f6d2df!important;font-size:10px!important;margin:0!important}
#app-root #main-view #fil-musique-page .fil-v105-artist>img{object-fit:cover!important}
#app-root #main-view #fil-musique-page .fil-musique-card[hidden]{display:none!important}
@media(max-width:670px){
 #app-root #main-view #fil-musique-page .fil-musique-card{grid-template-columns:40px 32px minmax(0,1fr)!important;padding:8px!important;gap:8px!important}
 #app-root #main-view #fil-musique-page .fil-v84-track-cover{width:40px!important;height:40px!important}
 #app-root #main-view #fil-musique-page .fil-v105-row-wave{display:none!important}
 #app-root #main-view #fil-musique-page .fil-musique-actions{grid-column:1/-1!important;grid-row:2!important;justify-content:flex-end!important}
}
/* Priorité visuelle au lecteur V105, y compris sans l'identité de page initialisée. */
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player{margin:0!important;min-height:0!important;padding:11px 12px!important;color:#fff!important;background:linear-gradient(95deg,#8c001a 0%,#46000c 50%,#220006 100%)!important;background-image:linear-gradient(95deg,#8c001a 0%,#46000c 50%,#220006 100%)!important;border:1px solid #ef2548!important;border-radius:9px!important;box-shadow:inset 0 0 15px #f9002322!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player :is(h2,p,label,span,small){color:#fff4f5!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-page-player-top{display:flex!important;flex-wrap:nowrap!important;margin:0!important;gap:10px!important;grid-column:1/-1!important;align-items:center!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-v105-player-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;flex:0 1 180px!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-page-player-controls{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;grid-column:1/-1!important;margin:7px 0 2px!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-page-player-controls [data-page-music]{width:32px!important;height:32px!important;min-height:32px!important;min-width:32px!important;border-radius:9px!important;padding:3px!important;background:#4c0011!important;color:#fff!important;border:1px solid #c73651!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player [data-page-music=play]{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:50%!important;background:#f60739!important;border:1px solid #ff5474!important;color:#fff!important;box-shadow:0 0 15px #f5093b88!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-page-player-timeline{display:flex!important;gap:8px!important;grid-column:1/-1!important;align-items:center!important;margin:0!important;height:26px!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player input[type=range]{height:25px!important;accent-color:#fa1648!important;width:auto!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-page-player-help{color:#f0afba!important;font-size:10px!important;line-height:1.25!important;margin:3px 0 0!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-v105-player-copy h2{font-size:18px!important;color:#fff!important;margin:0!important}
#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-v105-player-wave{flex:1 1 auto!important;min-width:35px!important;max-width:450px!important}
@media(max-width:670px){#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-v105-player-cover{width:42px!important;height:42px!important}#app-root #main-view #fil-musique-page.fil-v105-page #fil-music-page-player .fil-v105-player-copy h2{font-size:14px!important}}


/* MODULE : assets/visuels/musique-reference/musique-v106.css */
/* Villa Rouge V106 : reproduction visuelle à partir de la maquette fournie,
   liens superposés interactifs et lecteur partagé conservé. */
#app-root #main-view #fil-musique-page.fil-v106-page{
  box-sizing:border-box!important;max-width:1100px!important;width:100%!important;margin:0 auto!important;
  padding:0 0 40px!important;border:0!important;border-radius:0!important;
  overflow:visible!important;background:linear-gradient(110deg,#250004 0%,#460007 52%,#1d0004 100%)!important;
  color:#fff!important;box-shadow:0 8px 28px rgba(20,0,0,.28)!important;
}
#fil-musique-page .fil-v106-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#fil-musique-page .fil-v106-visual{position:relative!important;width:100%!important;height:auto!important;line-height:0!important;isolation:isolate!important;overflow:visible!important}
#fil-musique-page .fil-v106-visual>img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;border:0!important;border-radius:0!important;object-fit:fill!important;box-shadow:none!important}
#fil-musique-page .fil-v106-hit{position:absolute!important;display:block!important;z-index:3!important;border-radius:18px!important;cursor:pointer!important;background:transparent!important;text-decoration:none!important}
#fil-musique-page .fil-v106-hit:hover{box-shadow:0 0 0 2px #ffcfdb,0 0 20px #ff3150d0!important;background:#ff173413!important}
#fil-musique-page .fil-v106-hit:focus-visible{outline:3px solid #fff!important;outline-offset:2px!important;box-shadow:0 0 22px red!important}
#fil-musique-page .fil-v106-mobile-head,#fil-musique-page .fil-v106-mobile-resident,#fil-musique-page .fil-v106-mobile-artists,#fil-musique-page .fil-v106-mobile-story{display:none!important}
#fil-musique-page .fil-v106-tracks{padding:10px 18px 18px!important;margin:0!important;border:0!important;background:radial-gradient(ellipse at 45% 0,#9e101b 0%,#3a0007 45%,#170003 100%)!important;color:#fff!important}
#fil-musique-page .fil-v106-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 0 8px!important}
#fil-musique-page .fil-v106-section-head h2{font:900 clamp(17px,1.85vw,24px)/1.13 Inter,Arial,sans-serif!important;letter-spacing:-.025em!important;color:#fff!important;margin:0!important}
#fil-musique-page .fil-v106-section-head a{display:inline-flex!important;gap:6px!important;align-items:center!important;color:#fff!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important}
#fil-musique-page #fil-music-page-player{margin:0 0 7px!important;padding:7px 10px!important;background:linear-gradient(100deg,#470006,#150005)!important;border:1px solid #e10c28!important;border-radius:8px!important;box-shadow:inset 0 0 25px #bd0a2619!important}
#fil-musique-page #fil-music-page-player .fil-page-player-top{gap:14px!important}
#fil-musique-page #fil-music-page-player .fil-v105-player-copy h2{font-size:17px!important}
#fil-musique-page #fil-music-page-player .fil-page-player-help{display:none!important}
#fil-musique-page .fil-v106-list{margin:0!important}
#fil-musique-page .fil-v84-music-filters{margin:7px 0!important}
#fil-musique-page .fil-musique-list{display:grid!important;gap:4px!important}
#fil-musique-page .fil-musique-card{border-radius:6px!important}
#fil-musique-page .fil-v106-official{margin:14px 0 7px!important;padding:13px 16px!important;border:1px solid #e61a38!important;border-radius:10px!important;background:linear-gradient(110deg,#5e0010,#220002)!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,1.35fr)!important;align-items:center!important;gap:12px!important}
#fil-musique-page .fil-v106-official-title span{display:block!important;color:#fa7990!important;font-weight:800!important;font-size:11px!important;letter-spacing:.16em!important}
#fil-musique-page .fil-v106-official-title strong{display:block!important;margin:7px 0!important;color:#fff!important;font-size:22px!important;line-height:1.1!important}
#fil-musique-page .fil-v106-official-title p{margin:0!important;color:#f6ced5!important;font-size:12px!important;line-height:1.44!important}
#fil-musique-page .fil-v106-official iframe{display:block!important;width:100%!important;height:166px!important;grid-row:span 2!important;border:0!important;border-radius:7px!important;background:#fff!important}
#fil-musique-page .fil-v106-official>a{color:#ffc1cb!important;text-decoration:underline!important;font-size:12px!important}
#fil-musique-page .fil-v106-reference.fil-musique-story{display:block!important;padding:0!important;margin:0!important;background:none!important;border:0!important}
#fil-musique-page .fil-v106-footnote{display:block!important;padding:12px 24px!important;margin:0!important;color:#f6afb8!important;font:400 11px/1.42 Inter,Arial,sans-serif!important;text-align:center!important}
#fil-music-dock .fil-v106-select-label{display:block!important;order:1!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;color:#fff!important;margin:0 0 4px!important;padding:0!important}
#fil-music-dock .fil-v106-select-label select{display:block!important;width:100%!important;margin:3px 0!important;min-height:29px!important;border-radius:7px!important;border:1px solid #ff4161!important;background:#30000b!important;color:#fff!important;padding:4px 7px!important;font-size:11px!important;max-width:100%!important;box-shadow:none!important}
#fil-music-dock [data-music-choice] option{background:#280009!important;color:#fff!important}
@media(max-width:700px){
 #app-root #main-view #fil-musique-page.fil-v106-page{padding:0 0 32px!important;max-width:100%!important}
 #fil-musique-page>.fil-v106-reference:not(.fil-musique-story),#fil-musique-page>.fil-v106-reference.fil-musique-story{display:none!important}
 #fil-musique-page .fil-v106-mobile-head{display:flex!important;flex-direction:column!important;gap:10px!important;align-items:center!important;text-align:center!important;padding:18px 16px 24px!important;background:linear-gradient(180deg,#31000477,#53000455),url('/assets/visuels/musique/hero-neon.webp') center/cover no-repeat!important;min-height:370px!important}
 #fil-musique-page .fil-v106-mobile-brands{display:flex!important;align-items:center!important;gap:13px!important}
 #fil-musique-page .fil-v106-mobile-brands img{width:60px!important;height:60px!important;border-radius:50%!important;box-shadow:0 0 14px #ef002eaa!important}
 #fil-musique-page .fil-v106-mobile-brands span{font-size:28px!important;font-weight:900!important}
 #fil-musique-page .fil-v106-mobile-head>span{font-size:10px!important;letter-spacing:.09em!important;font-weight:800!important}
 #fil-musique-page .fil-v106-mobile-head h2{font:italic 700 36px/1.05 cursive!important;color:#fff!important;margin:12px 0 0!important;text-shadow:0 0 6px red,0 0 17px red!important}
 #fil-musique-page .fil-v106-mobile-head h3{font-size:23px!important;color:#fff!important;text-shadow:0 0 11px red!important;margin:0!important}
 #fil-musique-page .fil-v106-mobile-head p{font-size:13px!important;line-height:1.4!important;color:#fff!important;max-width:320px!important}
 #fil-musique-page .fil-v106-mobile-head>div:last-child{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:center!important}
 #fil-musique-page .fil-v106-mobile-head a,#fil-musique-page .fil-v106-mobile-resident a{display:inline-flex!important;align-items:center!important;padding:10px 12px!important;border-radius:100px!important;background:#ef002a!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;box-shadow:0 0 15px #ff144866!important}
 #fil-musique-page .fil-v106-mobile-resident{display:grid!important;grid-template-columns:minmax(0,42%) minmax(0,1fr)!important;align-items:center!important;border:1px solid #d91635!important;background:#2a0006!important;margin:10px!important;gap:12px!important;border-radius:9px!important;overflow:hidden!important}
 #fil-musique-page .fil-v106-mobile-resident img{width:100%!important;height:190px!important;object-fit:cover!important;object-position:45% center!important}
 #fil-musique-page .fil-v106-mobile-resident>div{padding:10px!important;min-width:0!important}
 #fil-musique-page .fil-v106-mobile-resident small{font-size:9px!important;letter-spacing:.05em!important;color:#ff99a9!important}
 #fil-musique-page .fil-v106-mobile-resident h2{font-size:25px!important;color:#fff!important;line-height:1!important;margin:7px 0!important}
 #fil-musique-page .fil-v106-mobile-resident p{font-size:11px!important;color:#fff!important;margin:0 0 10px!important}
 #fil-musique-page .fil-v106-mobile-resident a{font-size:10px!important;padding:8px!important}
 #fil-musique-page .fil-v106-mobile-artists{display:block!important;padding:8px 10px 14px!important}
 #fil-musique-page .fil-v106-artist-head{display:flex!important;align-items:start!important;justify-content:space-between!important;gap:9px!important;margin-bottom:8px!important}
 #fil-musique-page .fil-v106-artist-head h2{font-size:17px!important;color:#fff!important;line-height:1.1!important;margin:0!important}
 #fil-musique-page .fil-v106-artist-head a{font-size:10px!important;color:#fff!important;text-align:right!important}
 #fil-musique-page .fil-v106-mobile-artist-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 #fil-musique-page .fil-v106-mobile-artist{display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;border:1px solid #f1264b!important;border-radius:8px!important;background:linear-gradient(0deg,#470008,#130003)!important;text-align:center!important}
 #fil-musique-page .fil-v106-mobile-artist img{width:100%!important;height:170px!important;object-fit:cover!important}
 #fil-musique-page .fil-v106-mobile-artist strong{font-size:12px!important;color:#fff!important;padding:7px!important;min-height:40px!important}
 #fil-musique-page .fil-v106-mobile-artist a{font-size:11px!important;font-weight:700!important;color:#fff!important;border:1px solid #f40038!important;padding:8px 4px!important;margin:0 7px 7px!important;border-radius:6px!important;text-decoration:none!important}
 #fil-musique-page .fil-v106-tracks{padding:12px 9px!important}
 #fil-musique-page .fil-v106-section-head{align-items:flex-start!important}
 #fil-musique-page .fil-v106-section-head h2{font-size:18px!important}
 #fil-musique-page .fil-v106-section-head a{font-size:10px!important}
 #fil-musique-page .fil-v106-official{display:block!important;padding:12px!important}
 #fil-musique-page .fil-v106-official iframe{margin-top:14px!important;height:160px!important}
 #fil-musique-page .fil-v106-official>a{display:block!important;margin-top:9px!important}
 #fil-musique-page .fil-v106-mobile-story{display:block!important;margin:6px 10px 0!important;padding:18px 12px!important;background:linear-gradient(90deg,#600012,#240003),url('/assets/visuels/musique/crowd.webp') right center/cover no-repeat!important;border:1px solid #cf1832!important;border-radius:9px!important}
 #fil-musique-page .fil-v106-mobile-story h2{font-size:18px!important;color:#fff!important}
 #fil-musique-page .fil-v106-mobile-story p{font-size:12px!important;line-height:1.5!important;color:#fff!important}
 #fil-musique-page .fil-v106-footnote{font-size:10px!important;padding:12px!important}
}

/* Sélecteur dans l'en-tête du lecteur compact : aucune ligne ajoutée au rail. */
#fil-music-dock{position:relative!important}
#fil-music-dock .fil-v106-select-label{position:absolute!important;right:12px!important;top:9px!important;max-width:43%!important;width:43%!important;margin:0!important;font-size:0!important;line-height:1!important;z-index:3!important}
#fil-music-dock .fil-v106-select-label select{margin:0!important;min-height:26px!important;height:26px!important;padding:3px 5px!important;font-size:10px!important;text-overflow:ellipsis!important}
#fil-music-dock .fil-music-heading{max-width:52%!important;min-height:28px!important;font-size:15px!important;line-height:1.05!important}


/* MODULE : assets/visuels/musique-reference/musique-v107-sync.css */
/* V107 – une seule lecture SoundCloud, commandes synchronisées, disposition sans chevauchement. */
html body #app-root #fil-desktop-ads #fil-music-dock{position:relative!important;display:flex!important;flex-direction:column!important;gap:4px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v107-dock-header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  position:relative!important;order:0!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-heading{
  min-width:0!important;min-height:0!important;max-width:58%!important;white-space:nowrap!important;
  margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;
  font-size:clamp(9px,.72vw,12px)!important;line-height:1.15!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link{
  position:static!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;
  flex:0 0 auto!important;display:inline-flex!important;width:auto!important;max-width:47%!important;
  min-width:0!important;min-height:22px!important;max-height:none!important;margin:0!important;
  font-size:9px!important;line-height:1.05!important;padding:3px 7px!important;z-index:1!important;
  border-radius:8px!important;white-space:nowrap!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label{
  display:flex!important;position:static!important;inset:auto!important;order:1!important;
  max-width:100%!important;width:100%!important;min-height:0!important;height:auto!important;
  margin:0!important;z-index:auto!important;gap:5px!important;
  flex-direction:row!important;align-items:center!important;
  color:#fff!important;font-size:9px!important;font-weight:700!important;line-height:1.1!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label select{
  flex:1 1 0!important;min-width:0!important;width:0!important;min-height:24px!important;height:24px!important;
  margin:0!important;padding:2px 22px 2px 6px!important;border-radius:7px!important;
  background:#30000b!important;color:#fff!important;font-size:10px!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{order:2!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress{order:3!important}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-status{order:4!important}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-official{order:5!important}
#fil-musique-page .fil-v107-page-select,#fil-musique-page .fil-v107-playlist-shared{color:#fff!important}
#fil-musique-page .fil-v107-page-select{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
  font-size:12px!important;font-weight:700!important;margin:5px 0 8px!important;
}
#fil-musique-page .fil-v107-page-select select{
  flex:1 1 0!important;max-width:380px!important;min-height:34px!important;padding:5px 12px!important;
  color:#fff!important;border-radius:9px!important;border:1px solid #eb4461!important;
  background:#310008!important;cursor:pointer!important;font-size:12px!important;
}
#fil-musique-page .fil-v107-playlist-shared{
  grid-row:span 2!important;display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;
  align-items:center!important;gap:14px!important;min-width:0!important;padding:15px!important;
  background:radial-gradient(circle at 90% 10%,#9e052b,#280006 67%)!important;
  border:1px solid #d94362!important;border-radius:10px!important;
}
#fil-musique-page .fil-v107-playlist-shared>img{width:68px!important;height:68px!important;object-fit:cover!important;border-radius:50%!important;box-shadow:0 0 13px #ff174a99!important}
#fil-musique-page .fil-v107-playlist-shared>div{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:flex-start!important;min-width:0!important}
#fil-musique-page .fil-v107-playlist-shared strong{font-size:19px!important;font-weight:900!important;color:#fff!important}
#fil-musique-page .fil-v107-playlist-shared span,#fil-musique-page .fil-v107-playlist-shared small{font-size:12px!important;color:#ffc6d0!important;line-height:1.3!important}
#fil-musique-page .fil-v107-playlist-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
#fil-musique-page .fil-v107-playlist-actions button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  padding:10px 13px!important;min-height:36px!important;background:#fa1742!important;border:1px solid #ff5471!important;
  border-radius:9px!important;color:#fff!important;font-size:12px!important;font-weight:850!important;cursor:pointer!important;
}
#fil-musique-page .fil-v107-playlist-actions button[aria-pressed='true']{background:#990019!important;box-shadow:inset 0 0 0 1px #ffb6c9!important}
#fil-musique-page [data-page-choice]:focus-visible,#fil-music-dock [data-music-choice]:focus-visible,
#fil-musique-page [data-music-preset]:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}
@media(max-width:700px){
 #fil-musique-page .fil-v107-page-select{flex-wrap:wrap!important;gap:5px!important}
 #fil-musique-page .fil-v107-page-select select{flex:1 0 100%!important;max-width:100%!important;width:100%!important}
 #fil-musique-page .fil-v107-playlist-shared{grid-template-columns:48px minmax(0,1fr)!important;padding:10px!important}
 #fil-musique-page .fil-v107-playlist-shared>img{width:48px!important;height:48px!important}
 #fil-musique-page .fil-v107-playlist-shared strong{font-size:16px!important}
 #fil-musique-page .fil-v107-playlist-actions button{padding:8px 10px!important;font-size:11px!important}
}

/* Le moteur SoundCloud persiste sans ajouter une deuxième carte ni une 8e rangée dans Vie locale. */
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-official,
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-official:not([hidden]){
  display:block!important;position:absolute!important;top:0!important;left:0!important;
  width:1px!important;height:1px!important;max-height:1px!important;
  margin:0!important;padding:0!important;opacity:0!important;overflow:hidden!important;
  pointer-events:none!important;clip-path:inset(50%)!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-official iframe{
  display:block!important;width:1px!important;height:1px!important;min-height:1px!important;max-height:1px!important;
  margin:0!important;padding:0!important;border:0!important;
}


/* MODULE : assets/visuels/musique-reference/musique-v108-boutons.css */
/* V108 — commandes réelles sous les visuels, sans hitboxes invisibles.
   Les images ont une zone inférieure masquée : aucun faux bouton ne reste visible. */
#app-root #main-view #fil-musique-page .fil-v108-composite{display:block!important;width:100%!important;overflow:hidden!important;background:#180002!important}
#app-root #main-view #fil-musique-page .fil-v108-image-crop{display:block!important;position:relative!important;width:100%!important;overflow:hidden!important;line-height:0!important}
#app-root #main-view #fil-musique-page .fil-v108-image-crop>img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:fill!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#app-root #main-view #fil-musique-page .fil-v108-hero-crop{aspect-ratio:1024 / 412!important}
#app-root #main-view #fil-musique-page .fil-v108-lorent-crop{aspect-ratio:1024 / 218!important}
#app-root #main-view #fil-musique-page .fil-v108-artists-crop{aspect-ratio:1024 / 204!important}
#app-root #main-view #fil-musique-page .fil-v108-actions{position:relative!important;display:flex!important;gap:14px!important;align-items:center!important;width:100%!important;min-width:0!important;padding:12px 28px!important;line-height:1.35!important;box-sizing:border-box!important}
#app-root #main-view #fil-musique-page .fil-v108-hero-actions{justify-content:space-between!important;background:linear-gradient(90deg,#310005,#5b0006 52%,#1d0002)!important;border-bottom:1px solid #a70c24!important}
#app-root #main-view #fil-musique-page .fil-v108-lorent-actions{justify-content:flex-end!important;padding-right:20%!important;background:linear-gradient(90deg,#300004,#210003 42%,#3b0006)!important;border-bottom:1px solid #a70c24!important}
#app-root #main-view #fil-musique-page .fil-v108-action{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  position:relative!important;inset:auto!important;flex:0 1 auto!important;min-width:0!important;
  border:1px solid #ff4e67!important;outline:none!important;border-radius:999px!important;
  padding:10px 20px!important;margin:0!important;text-align:center!important;
  color:#fff!important;background:linear-gradient(100deg,#e30022,#f6082e)!important;
  font:800 13px/1.2 system-ui,Arial,sans-serif!important;text-decoration:none!important;
  box-shadow:0 5px 16px #f600274c,inset 0 1px 0 #ffffff24!important;
  cursor:pointer!important;transition:background-color .16s,box-shadow .16s,transform .16s!important;z-index:1!important
}
#app-root #main-view #fil-musique-page .fil-v108-action:hover{color:#fff!important;background:linear-gradient(100deg,#f8113b,#b50018)!important;box-shadow:0 0 0 1px #ff355a,0 0 17px #fa0a4299!important;transform:translateY(-1px)!important}
#app-root #main-view #fil-musique-page .fil-v108-action:focus-visible{outline:2px solid #ff7590!important;outline-offset:3px!important;box-shadow:0 0 14px #ed1947aa!important;background:#bd0023!important}
#app-root #main-view #fil-musique-page .fil-v108-action:active{transform:translateY(1px)!important}
#app-root #main-view #fil-musique-page .fil-v108-action i{font-size:13px!important;pointer-events:none!important}
#app-root #main-view #fil-musique-page .fil-v108-artist-actions{
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;
  padding:5px 19px 10px!important;background:linear-gradient(90deg,#270005,#53000b,#230002)!important;
  box-sizing:border-box!important;width:100%!important
}
#app-root #main-view #fil-musique-page .fil-v108-artist-actions .fil-v108-artist-link{
  width:100%!important;min-width:0!important;min-height:34px!important;padding:5px 4px!important;
  display:flex!important;justify-content:center!important;gap:4px!important;
  background:linear-gradient(#320005,#1b0004)!important;border:1px solid #fb1b45!important;border-radius:10px!important;
  box-shadow:none!important;font-size:clamp(8px,.78vw,12px)!important;line-height:1.05!important
}
#app-root #main-view #fil-musique-page .fil-v108-artist-actions .fil-v108-artist-link:hover{background:#a40020!important;box-shadow:0 0 10px #f91940a8!important}
#app-root #main-view #fil-musique-page .fil-v108-artist-link>span{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;white-space:nowrap!important}
#app-root #main-view #fil-musique-page .fil-v108-more{display:flex!important;justify-content:flex-end!important;background:#2a0004!important;padding:0 18px 10px!important}
#app-root #main-view #fil-musique-page .fil-v108-more .fil-v108-action{font-size:11px!important;padding:7px 14px!important;background:#49000e!important}
/* Dernière vignette : remplacement intégral du portrait par une ombre anonyme. */
#app-root #main-view #fil-musique-page .fil-v108-miss-cover{
  position:absolute!important;top:18.6%!important;right:2.1%!important;width:13.45%!important;height:81.4%!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;
  border-radius:8px 8px 0 0!important;border:1px solid #f81d52!important;
  box-sizing:border-box!important;background:radial-gradient(ellipse at 50% 26%,#850c30 0,#33000f 45%,#120005 86%)!important;
  box-shadow:inset 0 0 22px #ff19553b!important;z-index:1!important
}
#app-root #main-view #fil-musique-page .fil-v108-miss-cover>strong{position:relative!important;z-index:4!important;color:#fff!important;font:900 clamp(9px,1.3vw,15px)/1.15 system-ui,Arial,sans-serif!important;margin:0 0 6px!important;text-shadow:0 1px 6px #000!important;white-space:nowrap!important}
#app-root #main-view #fil-musique-page .fil-v108-miss-portrait{
  position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 22%,#86132c66,transparent 63%),linear-gradient(140deg,#2d0010,#560017 50%,#16000a)!important
}
#app-root #main-view #fil-musique-page .fil-v108-miss-cover .fil-v108-miss-portrait{position:absolute!important;inset:0!important}
#app-root #main-view #fil-musique-page .fil-v108-shadow-hair{position:absolute!important;z-index:2!important;top:12%!important;left:29%!important;width:43%!important;height:58%!important;border-radius:48% 48% 28% 28%!important;background:linear-gradient(100deg,#090004,#26000e 55%,#050002)!important;filter:drop-shadow(0 0 12px #e51b506a)!important}
#app-root #main-view #fil-musique-page .fil-v108-shadow-head{position:absolute!important;z-index:3!important;top:19%!important;left:39%!important;width:23%!important;height:28%!important;border-radius:48% 48% 44% 44%!important;background:linear-gradient(100deg,#270010,#070004)!important;transform:rotate(4deg)!important}
#app-root #main-view #fil-musique-page .fil-v108-shadow-body{position:absolute!important;z-index:3!important;bottom:-13%!important;left:11%!important;width:80%!important;height:59%!important;border-radius:44% 44% 7% 7%!important;background:linear-gradient(100deg,#070005,#17000b 45%,#060003)!important;transform:rotate(0deg)!important}
#app-root #main-view #fil-musique-page .fil-v106-mobile-artist>.fil-v108-miss-portrait{flex:none!important;height:172px!important;width:100%!important}
/* Le contour blanc du navigateur ne se pose plus sur les anciens points invisibles. */
#app-root #main-view #fil-musique-page .fil-v106-hit{display:none!important}
@media (max-width:700px){
  #app-root #main-view #fil-musique-page .fil-v108-composite{display:none!important}
  #app-root #main-view #fil-musique-page .fil-v106-mobile-artist>.fil-v108-miss-portrait{height:170px!important}
}
@media (min-width:701px) and (max-width:1040px){
 #app-root #main-view #fil-musique-page .fil-v108-lorent-actions{padding-right:11%!important}
 #app-root #main-view #fil-musique-page .fil-v108-artist-actions .fil-v108-artist-link{font-size:8px!important}
 #app-root #main-view #fil-musique-page .fil-v108-action{font-size:11px!important;padding:8px 12px!important}
}
@media (prefers-reduced-motion:reduce){
 #app-root #main-view #fil-musique-page .fil-v108-action{transition:none!important}
}
#app-root #main-view #fil-musique-page .fil-v108-program-top{
 position:absolute!important;top:0!important;right:1.5%!important;z-index:4!important;
 display:inline-flex!important;align-items:center!important;gap:7px!important;line-height:1.1!important;
 padding:7px 9px!important;margin:0!important;border:1px solid #d12342!important;border-radius:7px!important;
 background:#350006!important;color:#fff!important;text-decoration:none!important;font:750 clamp(9px,1vw,13px)/1.1 system-ui,Arial,sans-serif!important;
 cursor:pointer!important;box-shadow:0 4px 14px #180003aa!important
}
#app-root #main-view #fil-musique-page .fil-v108-program-top:hover{background:#a60023!important;box-shadow:0 0 11px #ff255b80!important;color:#fff!important}
#app-root #main-view #fil-musique-page .fil-v108-program-top:focus-visible{outline:2px solid #ff7892!important;outline-offset:2px!important}
/* États focus cohérents pour toutes les commandes de musique. */
#app-root #main-view #fil-musique-page :is(button,a,select,input):focus-visible{
 outline:2px solid #ff6682!important;outline-offset:2px!important;
}


/* MODULE : assets/musique-v109.css */
/* Le vieux thème V105 ne doit plus teinter toute la page en noir. */
#app-root #main-view:has(#fil-musique-page.fil-v109-page){
 background:radial-gradient(circle at 96% 9%,#f7e5f8 0,transparent 39%),linear-gradient(180deg,#f8f5ff 0%,#f0edf8 100%)!important;
 scrollbar-color:#cbb1e6 #f4effa!important;
}
/* V109 — page éditoriale Musique, dans l'identité Le Fil (lilas, blanc, aubergine).
   La musique est diffusée uniquement par le lecteur global de Vie locale. */
#app-root #main-view #fil-musique-page.fil-v109-page{
 --m-ink:#26164f;--m-muted:#685c86;--m-violet:#6526d7;--m-pink:#da3193;
 display:flex!important;flex-direction:column!important;gap:20px!important;
 box-sizing:border-box!important;width:min(100% - 32px,1160px)!important;max-width:1160px!important;
 margin:18px auto 38px!important;padding:0!important;background:transparent!important;
 color:var(--m-ink)!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
 font-family:inherit!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page *{box-sizing:border-box}
#app-root #main-view #fil-musique-page.fil-v109-page [hidden]{display:none!important}
#app-root #main-view #fil-musique-page.fil-v109-page :is(h1,h2,h3,p){margin-top:0!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artists,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story{
 position:relative!important;isolation:isolate!important;min-width:0!important;max-width:100%!important;
 border-radius:22px!important;border:1px solid #e6dcf5!important;overflow:hidden!important;
 background:#fff!important;box-shadow:0 10px 26px rgba(49,23,107,.07)!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,49%)!important;
 align-items:stretch!important;min-height:355px!important;
 background:linear-gradient(135deg,#fff 2%,#f8f1ff 58%,#faeffc)!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-copy{
 display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
 gap:14px!important;padding:30px clamp(22px,3.4vw,48px)!important;z-index:2!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-eyebrow,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-kicker{
 font-size:10px!important;font-weight:850!important;letter-spacing:.15em!important;color:#6a2ccb!important;line-height:1.5!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-eyebrow{display:flex!important;align-items:center!important;gap:8px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-dot{width:8px!important;height:8px!important;border-radius:99px!important;background:#f04494!important;display:inline-block!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-logos{display:flex!important;align-items:center!important;gap:14px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-logos img{width:52px!important;height:52px!important;object-fit:contain!important;border-radius:50%!important;box-shadow:0 6px 14px #54227e1c!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-logos span{font-size:25px!important;font-weight:800!important;color:#864dd5!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero h1{
 color:#251550!important;font-weight:900!important;font-size:clamp(31px,3.6vw,52px)!important;letter-spacing:-.045em!important;line-height:1.04!important;margin:0!important;max-width:13ch!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero h1 em{font-style:normal!important;color:#7729d6!important}
#app-root #main-view #fil-musique-page.fil-v109-page p{color:#625477!important;font-size:14px!important;line-height:1.58!important;margin:0!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-copy p{max-width:46ch!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-buttons{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;margin-top:7px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
 position:relative!important;width:auto!important;min-height:42px!important;padding:10px 16px!important;
 border-radius:12px!important;text-align:center!important;font:800 12px/1.25 inherit!important;
 font-family:inherit!important;font-size:12px!important;font-weight:800!important;letter-spacing:0!important;
 text-decoration:none!important;cursor:pointer!important;transition:filter .18s,transform .18s,background-color .18s!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-primary{background:linear-gradient(115deg,#742ad8,#5b22bb)!important;color:#fff!important;border:1px solid #6d2ac6!important;box-shadow:0 6px 13px #6727c52b!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-subtle{background:#fff!important;border:1px solid #ded1f2!important;color:#5d28b5!important;box-shadow:none!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-button:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}
#app-root #main-view #fil-musique-page.fil-v109-page :is(a,button):focus-visible{outline:3px solid #b36bf3!important;outline-offset:3px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-art{
 position:relative!important;min-height:355px!important;display:flex!important;flex-direction:column!important;
 align-items:flex-end!important;justify-content:space-between!important;padding:20px!important;
 background:linear-gradient(90deg,#28000624,#29000524),url('/assets/visuels/musique/hero-neon.webp') center center/cover no-repeat!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-neon-label,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-badge{
 color:#fff!important;font-size:10px!important;font-weight:850!important;letter-spacing:.065em!important;
 border:1px solid #ffffff55!important;border-radius:999px!important;padding:8px 12px!important;
 background:#2b0014aa!important;backdrop-filter:blur(6px)!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-badge{display:inline-flex!important;align-items:center!important;gap:7px!important;letter-spacing:0!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident{
 display:grid!important;grid-template-columns:minmax(0,35%) minmax(0,1fr)!important;min-height:235px!important;align-items:stretch!important;
}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-photo{min-height:245px!important;overflow:hidden!important;background:#380006!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-photo img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center 20%!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text{padding:24px 30px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:8px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text h2{font-size:clamp(25px,2.9vw,39px)!important;font-weight:900!important;color:#24134f!important;line-height:1.05!important;margin:0!important;letter-spacing:-.035em!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text>strong{font-size:11px!important;color:#7f56b9!important;text-transform:uppercase!important;letter-spacing:.06em!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text p{max-width:65ch!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text .fil109-button{margin-top:6px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artists{padding:24px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-section-top{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:12px!important;flex-wrap:wrap!important;margin-bottom:17px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-section-top h2,
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-text h2{font-size:clamp(22px,2.5vw,29px)!important;color:#261550!important;line-height:1.15!important;letter-spacing:-.025em!important;font-weight:900!important;margin:4px 0 0!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-text-link{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#742cc8!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;padding:8px 0!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:12px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-card{min-width:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #e7ddf3!important;border-radius:14px!important;background:#fcf9ff!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-image{height:125px!important;position:relative!important;overflow:hidden!important;background:linear-gradient(120deg,#3a0b34,#250014)!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;filter:saturate(.86)!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-caption{padding:10px 9px 12px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1 1 auto!important;gap:9px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-caption strong{font-size:11px!important;font-weight:900!important;color:#31165d!important;line-height:1.15!important;min-height:28px!important;display:flex!important;align-items:center!important;overflow-wrap:anywhere!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-caption a{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:32px!important;padding:6px 5px!important;border-radius:9px!important;border:1px solid #e6d6f9!important;background:#f5edff!important;color:#6926c6!important;text-decoration:none!important;font-size:10px!important;font-weight:850!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-caption a:hover{background:#eadcff!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story{display:grid!important;grid-template-columns:minmax(0,37%) minmax(0,1fr)!important;align-items:stretch!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-photo{min-height:255px!important;background:#28000d!important;overflow:hidden!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-text{padding:25px 32px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:13px!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-text p{max-width:65ch!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-text button{margin-top:4px!important}
/* Miss Airie : une ombre anonyme, sans photographie */
#app-root #main-view #fil-musique-page.fil-v109-page .fil-v108-miss-portrait{display:block!important;position:relative!important;width:100%!important;height:100%!important;background:radial-gradient(circle at 50% 20%,#884f91 0%,#3a164e 45%,#1d0c30 100%)!important;overflow:hidden!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil-v108-shadow-hair{position:absolute!important;top:17%!important;left:33%!important;width:36%!important;height:44%!important;border-radius:48% 48% 30% 30%!important;background:#170d25!important;filter:drop-shadow(0 0 10px #10051a90)!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil-v108-shadow-head{position:absolute!important;top:22%!important;left:40%!important;width:23%!important;height:25%!important;border-radius:48%!important;background:#200d2b!important}
#app-root #main-view #fil-musique-page.fil-v109-page .fil-v108-shadow-body{position:absolute!important;bottom:-16%!important;left:13%!important;width:75%!important;height:61%!important;border-radius:44% 44% 9% 9%!important;background:#140c21!important}
@media(max-width:1200px){
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-image{height:155px!important}
}
@media(max-width:760px){
 #app-root #main-view #fil-musique-page.fil-v109-page{width:calc(100% - 20px)!important;margin:10px auto 26px!important;gap:12px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page :is(.fil109-hero,.fil109-resident,.fil109-artists,.fil109-story){border-radius:17px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero{grid-template-columns:1fr!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-copy{padding:22px!important;gap:12px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero-art{min-height:210px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-hero h1{font-size:clamp(30px,8vw,43px)!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident{grid-template-columns:1fr!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-photo{min-height:195px!important;height:200px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-resident-text{padding:22px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-artists{padding:19px 14px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-artist-image{height:145px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-story{grid-template-columns:1fr!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-photo{min-height:170px!important;height:180px!important}
 #app-root #main-view #fil-musique-page.fil-v109-page .fil109-story-text{padding:22px!important}
}
@media(prefers-reduced-motion:reduce){#app-root #main-view #fil-musique-page.fil-v109-page .fil109-button{transition:none!important}}


/* MODULE : assets/vie-locale-v110.css */
/* V110 — colonne Vie locale, une seule hauteur sans défilement interne.
   Les deux emplacements publicitaires restent strictement identiques. */
html body #app-root #fil-desktop-ads{
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:36px 57px repeat(2,minmax(0,1fr)) 138px 128px!important;
 grid-auto-flow:row!important;
 gap:6px!important;
 padding:8px 10px 9px!important;
 height:100%!important;max-height:100%!important;
 overflow:hidden!important;overflow-y:hidden!important;
 align-content:stretch!important;align-items:stretch!important;
 background:linear-gradient(160deg,#efeaf9,#f7f4fc 64%,#eae6f5)!important;
 box-sizing:border-box!important;
}
html body #app-root #fil-desktop-ads>*{min-height:0!important;max-height:100%!important;min-width:0!important;box-sizing:border-box!important}
html body #app-root #fil-desktop-ads>.fil-rail-heading{grid-row:1!important;order:1!important;padding:0!important;overflow:hidden!important;min-height:0!important}
html body #app-root #fil-desktop-ads .fil-rail-brand{height:100%!important;min-height:0!important;align-items:center!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-copy h2{font-size:18px!important;line-height:1.12!important;white-space:nowrap!important;margin:0!important}
html body #app-root #fil-desktop-ads .fil-rail-brand-art,
html body #app-root #fil-desktop-ads .fil-rail-brand-art img,
html body #app-root #fil-desktop-ads .fil-rail-sun{display:none!important}
html body #app-root #fil-desktop-ads>.fil-rail-apps{grid-row:2!important;order:2!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;height:100%!important;gap:5px!important}
html body #app-root #fil-desktop-ads .fil-rail-link{min-height:0!important;height:100%!important;padding:3px 1px!important;gap:2px!important;font-size:10px!important;border-radius:10px!important}
html body #app-root #fil-desktop-ads .fil-rail-link .fil-app-symbol{width:25px!important;height:25px!important;flex:0 0 25px!important;font-size:15px!important}
/* Les annonces partagent la même rangée fractionnelle, mêmes largeur et hauteur. */
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-1'],
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-2']{
 display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 aspect-ratio:auto!important;overflow:hidden!important;margin:0!important;
}
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-1']{grid-row:3!important;order:3!important}
html body #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot='desktop-2']{grid-row:4!important;order:4!important}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1']>.fil-ad-card,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2']>.fil-ad-card{
 display:flex!important;flex-direction:column!important;justify-content:space-between!important;
 width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;
 border-radius:13px!important;padding:7px 9px!important;gap:4px!important;
 overflow:hidden!important;box-sizing:border-box!important;
 background:linear-gradient(116deg,#5d1bd2,#b527ce 51%,#f53791 80%,#ff8b43)!important;
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top{min-height:0!important;flex:0 0 auto!important}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top .fil-ad-mini,
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top .fil-ad-number{font-size:8px!important;padding:4px 5px!important}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body{
 flex:1 1 auto!important;min-height:0!important;max-height:none!important;justify-content:center!important;
 align-items:flex-start!important;gap:3px!important;overflow:hidden!important;
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body h3,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card h3,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card h3{
 font-size:clamp(15px,1.12vw,18px)!important;line-height:1.06!important;
 max-width:100%!important;display:-webkit-box!important;-webkit-line-clamp:2!important;
 -webkit-box-orient:vertical!important;overflow:hidden!important;margin:0!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card p{
 font-size:9px!important;line-height:1.14!important;max-width:97%!important;
 display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
 overflow:hidden!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-meta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-meta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card .fil-ad-dimensions,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card .fil-ad-dimensions{
 display:none!important;
}
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card>.fil-ad-cta,
html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card>.fil-ad-cta,
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-footer .fil-ad-cta{
 flex:0 0 26px!important;width:100%!important;height:26px!important;min-height:26px!important;
 margin-top:auto!important;font-size:10px!important;padding:3px 8px!important;border-radius:8px!important;
}
html body #app-root #fil-desktop-ads .fil-ad-card .fil-ad-footer{font-size:8px!important;gap:3px!important}
html body #app-root #fil-desktop-ads>.fil-rail-discover{
 grid-row:5!important;order:5!important;display:flex!important;flex-direction:column!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 padding:7px 9px!important;gap:3px!important;overflow:hidden!important;border-radius:13px!important;
}
html body #app-root #fil-desktop-ads .fil-rail-discover-head{flex:0 0 18px!important;margin:0!important;min-height:0!important}
html body #app-root #fil-desktop-ads .fil-rail-discover-head strong{font-size:11px!important}
html body #app-root #fil-desktop-ads .fil-rail-discover-slide{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
html body #app-root #fil-desktop-ads .fil-discover-card{height:100%!important;grid-template-columns:76px minmax(0,1fr)!important;gap:7px!important}
html body #app-root #fil-desktop-ads .fil-discover-visual{height:100%!important;min-height:0!important;overflow:hidden!important}
html body #app-root #fil-desktop-ads .fil-discover-copy{min-height:0!important;gap:2px!important;overflow:hidden!important}
html body #app-root #fil-desktop-ads .fil-discover-copy h3{font-size:12px!important;margin:0!important;line-height:1.05!important}
html body #app-root #fil-desktop-ads .fil-discover-copy p{display:none!important}
html body #app-root #fil-desktop-ads .fil-discover-copy button{height:22px!important;min-height:22px!important;font-size:9px!important;margin:0!important;padding:2px 6px!important}
html body #app-root #fil-desktop-ads .fil-rail-discover-actions{height:20px!important;min-height:20px!important;flex:0 0 20px!important;margin:0!important}
/* Le lecteur est la toute dernière section. */
html body #app-root #fil-desktop-ads>#fil-music-dock{
 grid-row:6!important;order:6!important;
 display:flex!important;flex-direction:column!important;
 height:100%!important;max-height:100%!important;min-height:0!important;
 padding:7px 9px!important;gap:4px!important;overflow:hidden!important;border-radius:13px!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v107-dock-header{flex:0 0 auto!important;min-height:17px!important;display:flex!important;justify-content:space-between!important;gap:5px!important;align-items:center!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-heading{font-size:11px!important;white-space:nowrap!important;max-width:none!important;overflow:visible!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link{position:static!important;min-height:20px!important;height:auto!important;max-height:none!important;max-width:142px!important;flex:0 0 auto!important;padding:3px 7px!important;white-space:nowrap!important;font-size:9px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label{flex:0 0 auto!important;min-height:0!important;display:flex!important;align-items:center!important;gap:5px!important;font-size:9px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label select{height:22px!important;min-height:22px!important;max-height:22px!important;min-width:0!important;flex:1 1 auto!important;width:100%!important;padding:0 4px!important;font-size:9px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{
 display:grid!important;grid-template-columns:24px 26px 24px minmax(0,1fr) 24px 58px!important;
 gap:4px!important;align-items:center!important;flex:1 1 auto!important;min-height:0!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music]{height:24px!important;width:24px!important;padding:0!important;font-size:11px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music='play']{height:26px!important;width:26px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-live{display:none!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-now strong{font-size:11px!important;line-height:1.1!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume{font-size:8px!important;width:58px!important;gap:2px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume input{min-width:0!important;width:34px!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress{flex:0 0 12px!important;min-height:0!important;gap:4px!important;font-size:8px!important}
html body #app-root #fil-desktop-ads #fil-music-dock #fil-music-status{display:none!important}
html body #app-root #fil-desktop-ads>.fil-rail-local,
html body #app-root #fil-desktop-ads>.fil-rail-local[hidden],
html body #app-root #fil-desktop-ads>.fil-rail-custom-image[hidden],
html body #app-root #fil-desktop-ads>.fil-rail-cycle[hidden]{display:none!important}
@media (max-height:780px){
 html body #app-root #fil-desktop-ads{
  grid-template-rows:31px 49px repeat(2,minmax(0,1fr)) 111px 113px!important;
  gap:5px!important;padding:6px 8px!important;
 }
 html body #app-root #fil-desktop-ads .fil-rail-link .fil-app-symbol{height:21px!important;width:21px!important;flex-basis:21px!important;font-size:13px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:9px!important}
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card p,
 html body #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card p{-webkit-line-clamp:1!important}
}
@media (max-width:1050px){
 html body #app-root #fil-desktop-ads[data-open='true']{
  display:grid!important;position:fixed!important;height:100dvh!important;max-height:100dvh!important;
  width:100vw!important;max-width:100vw!important;overflow:hidden!important;
 }
}
@media (max-width:460px){
 html body #app-root #fil-desktop-ads{grid-template-rows:38px 53px repeat(2,minmax(0,1fr)) 126px 127px!important;gap:5px!important;padding:7px!important}
 html body #app-root #fil-desktop-ads .fil-rail-brand-copy h2{font-size:16px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:8px!important}
 html body #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link .fil-app-symbol{width:23px!important;height:23px!important;flex-basis:23px!important;font-size:13px!important}
}
@media (max-width:460px) and (max-height:700px){
 html body #app-root #fil-desktop-ads{grid-template-rows:32px 44px repeat(2,minmax(0,1fr)) 108px 105px!important;gap:4px!important;padding:5px!important}
}
/* Nettoyer les anciens positionnements absolus du sélecteur (V106), source de superposition sur mobile. */
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label{
 display:grid!important;grid-template-columns:95px minmax(0,1fr)!important;align-items:center!important;
 position:relative!important;inset:auto!important;right:auto!important;top:auto!important;
 max-width:none!important;width:100%!important;height:22px!important;min-height:22px!important;
 font-size:9px!important;line-height:1.1!important;z-index:auto!important;
 order:1!important;flex:0 0 22px!important;margin:0!important;padding:0!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label select{
 display:block!important;position:static!important;margin:0!important;width:100%!important;
 max-width:100%!important;font-size:10px!important;text-overflow:ellipsis!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{
 grid-template-areas:none!important;grid-auto-flow:row!important;order:2!important;
}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar >*{grid-area:auto!important;min-width:0!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-v107-dock-header{position:static!important;order:0!important}
html body #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress{order:3!important}
@media (max-width:460px){
 html body #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label{grid-template-columns:100px minmax(0,1fr)!important}
}


/* MODULE : assets/villa-rouge-v111.css */
/* V111 — intégration fidèle du pack fourni dans la page Musique.
   Aucune seconde piste audio, aucun menu propre à la page. */
#app-root #main-view:has(#fil-musique-page.fil-v111-page){background:#370005!important;scrollbar-color:#a51428 #260005!important;}
#app-root #main-view #fil-musique-page.fil-v111-page{
 --vr111-red:#f2082b;--vr111-line:rgba(255,83,104,.66);
 display:flex!important;flex-direction:column!important;gap:16px!important;
 isolation:isolate!important;position:relative!important;box-sizing:border-box!important;
 width:min(100% - 22px,1220px)!important;max-width:1220px!important;
 margin:0 auto 22px!important;padding:14px 10px 22px!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:radial-gradient(ellipse at 56% 0%,rgba(255,28,36,.59),transparent 36%),
 radial-gradient(ellipse at 7% 76%,rgba(204,4,26,.6),transparent 35%),
 repeating-linear-gradient(90deg,transparent 0 62px,rgba(6,0,0,.19) 63px 64px,transparent 65px 128px),
 linear-gradient(135deg,#400006 0%,#91000c 29%,#4e0008 55%,#98030f 85%,#250003 100%)!important;
 color:#fff!important;font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
 overflow:visible!important;min-width:0!important;
}
#app-root #main-view #fil-musique-page.fil-v111-page *,
#app-root #main-view #fil-musique-page.fil-v111-page *::before,
#app-root #main-view #fil-musique-page.fil-v111-page *::after{box-sizing:border-box}
#fil-musique-page.fil-v111-page :is(h1,h2,h3,p){margin:0!important;color:inherit!important;letter-spacing:normal}
#fil-musique-page.fil-v111-page [hidden]{display:none!important}
#fil-musique-page.fil-v111-page a{text-decoration:none!important;color:inherit!important}
#fil-musique-page.fil-v111-page .vr111-kicker{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.15em;color:#ffb2b7;line-height:1.4}
#fil-musique-page.fil-v111-page .vr111-hero{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.55fr) minmax(0,.82fr)!important;align-items:stretch!important;gap:13px!important;min-height:360px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px 5px 0!important;}
#fil-musique-page.fil-v111-page .vr111-hero-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:11px;min-width:0;padding:5px 0}
#fil-musique-page.fil-v111-page .vr111-brand{display:flex;align-items:center;gap:8px;margin:0 0 7px!important;}
#fil-musique-page.fil-v111-page .vr111-brand img{width:70px!important;height:70px!important;object-fit:contain!important;filter:drop-shadow(0 0 9px #ff1a488c)!important;}
#fil-musique-page.fil-v111-page .vr111-brand span{font-size:35px;font-weight:900;color:#fff}
#fil-musique-page.fil-v111-page .vr111-hero-intro h1{font-weight:950!important;font-size:clamp(22px,2.3vw,35px)!important;line-height:1.09!important;text-transform:uppercase!important;letter-spacing:-.025em!important;text-wrap:balance;max-width:15ch}
#fil-musique-page.fil-v111-page .vr111-hero-intro p{line-height:1.5!important;font-size:clamp(11px,1vw,14px)!important;color:#ffeded!important;max-width:370px}
#fil-musique-page.fil-v111-page .vr111-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:38px!important;width:max-content;max-width:100%;padding:8px 13px!important;border:1px solid #ff7184!important;border-radius:999px!important;background:#58020d!important;color:white!important;box-shadow:none!important;font-size:clamp(10px,.9vw,13px)!important;font-weight:800!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;transition:background .18s,box-shadow .18s,transform .18s!important;cursor:pointer!important;}
#fil-musique-page.fil-v111-page .vr111-button-primary{background:linear-gradient(115deg,#f50024,#eb052b)!important;box-shadow:0 3px 13px #30000691!important}
#fil-musique-page.fil-v111-page .vr111-button:hover{background:#ff3455!important;box-shadow:0 0 0 2px #ff749d55,0 7px 18px #1700076f!important;transform:translateY(-2px)!important;}
#fil-musique-page.fil-v111-page :is(a,button,select,input):focus-visible{outline:2px solid #ffb3c1!important;outline-offset:3px!important;}
#fil-musique-page.fil-v111-page .vr111-hero-center{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-width:0;overflow:hidden;isolation:isolate;}
#fil-musique-page.fil-v111-page .vr111-hero-center::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 52% 52%,#dd222f99,transparent 63%);pointer-events:none}
#fil-musique-page.fil-v111-page .vr111-hero-eyebrow{position:relative;z-index:1;font-size:clamp(10px,1vw,13px);font-weight:800;color:#ffdbd8;text-align:center;line-height:1.35}
#fil-musique-page.fil-v111-page .vr111-script{position:relative;z-index:2;margin:8px 0 -2px;font-family:'Segoe Script','Brush Script MT',cursive;font-size:clamp(24px,3.1vw,48px);font-style:italic;text-align:center;line-height:1.15;color:white;letter-spacing:-.055em;transform:rotate(-4deg);text-shadow:0 2px 0 #fc0722,0 0 9px red,0 0 22px #fd242a;white-space:nowrap}
#fil-musique-page.fil-v111-page .vr111-halloween{position:relative;z-index:2;font-size:clamp(17px,2vw,29px);font-weight:950;text-align:center;letter-spacing:.005em;text-shadow:0 4px 10px #190000}
#fil-musique-page.fil-v111-page .vr111-neon-logo{width:min(80%,300px)!important;height:auto!important;max-height:235px!important;object-fit:contain!important;margin-top:-2px!important;filter:drop-shadow(0 0 13px #fc1733);animation:vr111-glow 5s ease-in-out infinite alternate;}
@keyframes vr111-glow{to{filter:drop-shadow(0 0 22px #ff3757)}}
#fil-musique-page.fil-v111-page .vr111-hero-facts{display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:9px 1px}
#fil-musique-page.fil-v111-page .vr111-fact{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;font-size:clamp(10px,.9vw,12px);font-weight:750;line-height:1.35}
#fil-musique-page.fil-v111-page .vr111-fact i{font-size:24px;color:#fff4f6;text-align:center}
#fil-musique-page.fil-v111-page .vr111-hero-facts .vr111-button{width:100%;font-size:11px!important}
#fil-musique-page.fil-v111-page .vr111-frame{border:1px solid var(--vr111-line)!important;border-radius:13px!important;overflow:hidden!important;background:linear-gradient(110deg,#4b0008e6,#67040eeb)!important;box-shadow:0 7px 26px #18000065!important;}
#fil-musique-page.fil-v111-page .vr111-resident{display:grid!important;grid-template-columns:40% minmax(0,1fr)!important;min-height:265px!important;}
#fil-musique-page.fil-v111-page .vr111-resident-photo{position:relative;min-height:265px;overflow:hidden;background:#440006}
#fil-musique-page.fil-v111-page .vr111-resident-photo img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 29%!important;filter:saturate(1.13)}
#fil-musique-page.fil-v111-page .vr111-resident-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#59000a 99%)}
#fil-musique-page.fil-v111-page .vr111-resident-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0;padding:22px clamp(12px,2vw,26px)}
#fil-musique-page.fil-v111-page .vr111-resident-copy h2{font-size:clamp(30px,4vw,58px)!important;font-weight:1000!important;line-height:1!important;letter-spacing:-.045em!important}
#fil-musique-page.fil-v111-page .vr111-resident-copy>strong{font-size:12px;letter-spacing:.08em}
#fil-musique-page.fil-v111-page .vr111-resident-copy p{font-size:clamp(11px,.95vw,13px)!important;line-height:1.5!important;max-width:650px}
#fil-musique-page.fil-v111-page .vr111-genre{display:flex;flex-wrap:wrap;gap:5px}
#fil-musique-page.fil-v111-page .vr111-genre span{padding:4px 8px;border:1px solid #ffffff40;background:#ffffff14;border-radius:20px;font-size:10px;font-weight:700}
#fil-musique-page.fil-v111-page .vr111-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 2px 10px}
#fil-musique-page.fil-v111-page .vr111-heading h2{font-size:clamp(16px,1.65vw,23px)!important;font-weight:950!important;line-height:1.25!important;text-transform:uppercase!important}
#fil-musique-page.fil-v111-page .vr111-heading :is(a,span){font-size:11px;font-weight:800}
#fil-musique-page.fil-v111-page .vr111-heading a{text-decoration:underline!important;text-underline-offset:3px}
#fil-musique-page.fil-v111-page .vr111-artists-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-width:0}
#fil-musique-page.fil-v111-page .vr111-artist{min-width:0;display:flex;flex-direction:column;background:#390007;border:1px solid #fe4d65;border-radius:8px;overflow:hidden}
#fil-musique-page.fil-v111-page .vr111-artist-art{aspect-ratio:.73;position:relative;min-height:0;overflow:hidden;background:#280007}
#fil-musique-page.fil-v111-page .vr111-artist-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
#fil-musique-page.fil-v111-page .vr111-artist-art::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#1e0007e8)}
#fil-musique-page.fil-v111-page .vr111-artist-art b{position:absolute;z-index:2;bottom:7px;left:2px;right:2px;text-align:center;font-size:clamp(9px,.8vw,12px);line-height:1.12;text-shadow:0 2px 3px #000}
#fil-musique-page.fil-v111-page .vr111-artist>a{display:flex;align-items:center;justify-content:center;gap:7px;margin:6px;padding:6px 3px;min-height:31px;border:1px solid #f35d74;border-radius:6px;font-size:10px;font-weight:800;background:#310006!important;transition:background .18s,transform .18s}
#fil-musique-page.fil-v111-page .vr111-artist>a:hover{background:#df0b2c!important;transform:translateY(-1px)}
#fil-musique-page.fil-v111-page .vr111-shadow{height:100%;width:100%;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,#730c21 0%,#290008 70%)}
#fil-musique-page.fil-v111-page .vr111-shadow-head{position:absolute;width:39%;height:34%;border-radius:50% 50% 47% 47%;background:#140b16;left:30%;top:23%;box-shadow:0 0 36px #fa486434}
#fil-musique-page.fil-v111-page .vr111-shadow-body{position:absolute;width:87%;height:57%;border-radius:50% 50% 0 0;background:#140b16;left:6.5%;top:57%}
#fil-musique-page.fil-v111-page .vr111-player-container{border:1px solid #fb425c;border-radius:12px;overflow:hidden;background:linear-gradient(115deg,#550006,#220006);padding:9px}
/* Le bloc ci-dessous est une façade supplémentaire du SEUL lecteur FilMusiqueV80. */
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 15px!important;padding:8px 10px!important;margin:0!important;min-height:0!important;background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;max-width:100%!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-top{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-cover{width:54px!important;height:54px!important;object-fit:contain!important;border-radius:50%!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-copy{flex:1!important;min-width:0!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-copy h2{font-size:clamp(14px,1.4vw,19px)!important;font-weight:900!important;color:#fff!important;line-height:1.15!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-copy p{font-size:11px!important;color:#ffced8!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-copy small{font-size:10px!important;color:#ff9fae!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-play-state]{font-size:11px!important;color:#ffb7c1!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-music]{display:grid!important;place-items:center!important;color:white!important;background:#46000f!important;border:1px solid #f04a6c!important;border-radius:9px!important;cursor:pointer!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;font-size:16px!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-music=play]{background:linear-gradient(135deg,#f50027,#f62944)!important;border-radius:50%!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;box-shadow:0 0 15px #f80035a8!important;font-size:20px!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-music]:hover{background:#f32649!important;box-shadow:0 0 0 2px #ff789f77!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v107-page-select{grid-column:1/-1!important;display:grid!important;grid-template-columns:auto minmax(120px,1fr)!important;align-items:center!important;gap:9px!important;max-width:100%!important;position:static!important;margin:0!important;font-size:11px!important;color:#ffcad1!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-choice]{display:block!important;position:static!important;min-width:0!important;max-width:100%!important;width:100%!important;height:34px!important;min-height:34px!important;background:#30000a!important;color:#fff!important;border:1px solid #cc485e!important;border-radius:8px!important;padding:4px 8px!important;font-size:12px!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-controls{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin:1px 0!important;padding:0!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-controls label{display:flex!important;align-items:center!important;gap:8px!important;font-size:11px!important;flex:1 1 150px!important;color:white!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player input[type=range]{accent-color:#fb1841!important;min-width:0!important;width:100%!important;cursor:pointer!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-timeline{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;font-size:11px!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-timeline input{flex:1!important;}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-page-player-help{grid-column:1/-1!important;display:block!important;font-size:10px!important;color:#fcb9c6!important;margin:1px 0!important}
#app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-error]{grid-column:1/-1!important;margin:0!important;font-size:11px!important;color:#ffbfbd!important}
#fil-musique-page.fil-v111-page .vr111-story{display:grid!important;grid-template-columns:24% minmax(0,1fr) 17%!important;align-items:center!important;gap:13px!important;padding:14px!important;}
#fil-musique-page.fil-v111-page .vr111-story-photo{min-height:185px;align-self:stretch;overflow:hidden;border-radius:9px}
#fil-musique-page.fil-v111-page .vr111-story-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
#fil-musique-page.fil-v111-page .vr111-story-text{display:flex;flex-direction:column;gap:10px;min-width:0}
#fil-musique-page.fil-v111-page .vr111-story-text h2{font-size:clamp(20px,2.2vw,30px)!important;font-weight:950!important;line-height:1.1!important}
#fil-musique-page.fil-v111-page .vr111-story-text p{font-size:clamp(11px,.9vw,13px)!important;line-height:1.5!important;color:#ffe6e7!important}
#fil-musique-page.fil-v111-page .vr111-story-benefits{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;font-weight:750}
#fil-musique-page.fil-v111-page .vr111-story-benefits span{display:flex;gap:5px;align-items:center}
#fil-musique-page.fil-v111-page .vr111-story-benefits i{font-size:14px;color:#ff8ca6}
#fil-musique-page.fil-v111-page .vr111-record{aspect-ratio:1;background:repeating-radial-gradient(circle at center,#141014 0 4px,#080709 5px 8px);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 1px #fff3,0 6px 20px #0009}
#fil-musique-page.fil-v111-page .vr111-record img{width:54%;height:auto;object-fit:contain}
@media (max-width:1100px){
 #fil-musique-page.fil-v111-page .vr111-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;min-height:0!important}
 #fil-musique-page.fil-v111-page .vr111-hero-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px}
 #fil-musique-page.fil-v111-page .vr111-hero-facts .vr111-button{grid-column:1/-1;max-width:280px;justify-self:center}
 #fil-musique-page.fil-v111-page .vr111-fact{font-size:10px}
 #fil-musique-page.fil-v111-page .vr111-artists-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:650px){
 #app-root #main-view #fil-musique-page.fil-v111-page{gap:14px!important;width:100%!important;max-width:100%!important;padding:9px 7px 18px!important}
 #fil-musique-page.fil-v111-page .vr111-hero{display:flex!important;flex-direction:column!important;gap:8px!important;padding:4px!important}
 #fil-musique-page.fil-v111-page .vr111-brand img{width:57px!important;height:57px!important}
 #fil-musique-page.fil-v111-page .vr111-hero-intro h1{max-width:none;font-size:27px!important}
 #fil-musique-page.fil-v111-page .vr111-hero-intro p{font-size:12px!important}
 #fil-musique-page.fil-v111-page .vr111-hero-center{min-height:290px}
 #fil-musique-page.fil-v111-page .vr111-hero-eyebrow{font-size:10px}
 #fil-musique-page.fil-v111-page .vr111-script{font-size:35px;white-space:normal}
 #fil-musique-page.fil-v111-page .vr111-halloween{font-size:22px}
 #fil-musique-page.fil-v111-page .vr111-neon-logo{width:min(250px,70%)!important;max-height:200px!important}
 #fil-musique-page.fil-v111-page .vr111-hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #fil-musique-page.fil-v111-page .vr111-resident{grid-template-columns:1fr!important}
 #fil-musique-page.fil-v111-page .vr111-resident-photo{min-height:240px;height:240px}
 #fil-musique-page.fil-v111-page .vr111-resident-photo::after{background:linear-gradient(0deg,#50000a,transparent 50%)}
 #fil-musique-page.fil-v111-page .vr111-resident-copy{padding:16px}
 #fil-musique-page.fil-v111-page .vr111-resident-copy h2{font-size:38px!important}
 #fil-musique-page.fil-v111-page .vr111-artists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #fil-musique-page.fil-v111-page .vr111-heading{align-items:flex-start;flex-wrap:wrap}
 #fil-musique-page.fil-v111-page .vr111-heading h2{font-size:19px!important}
 #app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v107-page-select{grid-template-columns:1fr!important;gap:3px!important}
 #app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player .fil-v105-player-wave{display:none!important}
 #app-root #main-view #fil-musique-page.fil-v111-page #fil-music-page-player [data-page-play-state]{display:none!important}
 #fil-musique-page.fil-v111-page .vr111-story{grid-template-columns:1fr!important}
 #fil-musique-page.fil-v111-page .vr111-story-photo{height:180px}
 #fil-musique-page.fil-v111-page .vr111-record{width:130px;justify-self:center}
}
/* Intro fournie : affichage de première visite, puis masquage automatique.
   La navigation globale du Fil n'est jamais recouverte. */
#fil-musique-page.fil-v111-page .vr111-intro-replay{font-size:10px!important;border:1px solid #ff6f866b!important;background:#ffffff13!important;color:#ffccd7!important;border-radius:20px!important;padding:6px 11px!important;cursor:pointer!important;margin-top:-7px!important;}
#fil-musique-page.fil-v111-page .vr111-intro-replay:hover{background:#f71335!important;color:white!important}
#fil-musique-page.fil-v111-page .vr111-intro-overlay:not([hidden]){display:flex!important;position:absolute!important;inset:0 0 auto!important;z-index:99!important;height:min(640px,100dvh - 120px)!important;min-height:345px!important;background:radial-gradient(circle at center,#be0018 5%,#650009 50%,#1a0004 100%)!important;border:1px solid #ff496c!important;border-radius:13px!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 25px #170006a9!important;}
#fil-musique-page.fil-v111-page .vr111-intro-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;text-align:center;padding:22px;max-width:100%}
#fil-musique-page.fil-v111-page .vr111-intro-marks{display:flex;align-items:center;gap:clamp(15px,4vw,50px)!important;animation:vr111-reveal .8s ease both}
#fil-musique-page.fil-v111-page .vr111-intro-marks img{width:clamp(82px,10vw,148px)!important;height:clamp(82px,10vw,148px)!important;object-fit:contain!important;filter:drop-shadow(0 0 17px #ff4156)!important}
#fil-musique-page.fil-v111-page .vr111-intro-marks span{font-size:clamp(30px,5vw,65px);font-weight:900;color:#fff}
#fil-musique-page.fil-v111-page .vr111-intro-content p{font-weight:900!important;letter-spacing:.13em!important;font-size:clamp(11px,1.2vw,18px)!important}
@keyframes vr111-reveal{from{opacity:.1;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#fil-musique-page.fil-v111-page *{animation:none!important;transition:none!important}}


/* MODULE : assets/navigation-footer-v111.css */
/* V111 — prolonger le bandeau de navigation à travers les réseaux et les informations.
   Les contrôles et liens existants ne sont ni supprimés ni clonés. */
html body #app-root #bottom-navigation{
 background:linear-gradient(112deg,#e3d5f4 0%,#e7e2f6 58%,#e3d5f4 100%)!important;
 border:1px solid #bfa6e4!important;border-radius:10px!important;
 box-shadow:0 -2px 14px rgba(68,36,123,.16)!important;
 overflow:visible!important;
 gap:2px!important;
}
html body #app-root #bottom-navigation>div:first-child,
html body #app-root #bottom-navigation .nav-footer,
html body #app-root #bottom-navigation .fil-v15-social-nav,
html body #app-root #bottom-navigation .fil-footer-identity{
 background:transparent!important;background-image:none!important;border:0!important;
 box-shadow:none!important;box-sizing:border-box!important;
}
html body #app-root #bottom-navigation .nav-footer{min-width:0!important;align-items:stretch!important;padding:3px 4px!important;gap:3px!important;}
html body #app-root #bottom-navigation .fil-v15-social-nav{gap:3px!important;}
html body #app-root #bottom-navigation .fil-v15-social-nav a,
html body #app-root #bottom-navigation .fil-nav-social,
html body #app-root #bottom-navigation .site-footer-link,
html body #app-root #bottom-navigation .fil-visitor-count,
html body #app-root #bottom-navigation #cookie-status{
 background:#eee7f8!important;color:#392052!important;
 border:1px solid #d3c3eb!important;border-radius:8px!important;
 box-shadow:inset 0 1px 0 #fff9!important;
 text-decoration:none!important;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease,border-color .16s ease!important;
 min-height:25px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 line-height:1.15!important;
}
html body #app-root #bottom-navigation .fil-v15-social-nav a:hover,
html body #app-root #bottom-navigation .fil-nav-social:not(.is-disabled):hover,
html body #app-root #bottom-navigation .site-footer-link:hover,
html body #app-root #bottom-navigation #cookie-status:hover,
html body #app-root #bottom-navigation :is(.nav-item,button[id^=nav-]):hover{
 background:#dcc4fa!important;color:#4a0bc0!important;border-color:#ad7fea!important;
 transform:translateY(-2px)!important;box-shadow:0 5px 10px #4f27812c!important;
}
html body #app-root #bottom-navigation .fil-v15-social-nav a:active,
html body #app-root #bottom-navigation #cookie-status:active{transform:translateY(0)!important;background:#c6aff1!important}
html body #app-root #bottom-navigation .fil-nav-social.is-disabled{opacity:.5!important;cursor:default!important}
html body #app-root #bottom-navigation .fil-footer-identity{display:flex!important;align-items:stretch!important;gap:3px!important;}
html body #app-root #bottom-navigation .fil-footer-identity>*{padding:3px 6px!important;max-width:100%!important;white-space:normal!important}
html body #app-root #bottom-navigation .fil-visitor-count{cursor:default!important}
html body #app-root #bottom-navigation #cookie-status{padding:3px 6px!important;cursor:pointer!important}
@media (max-width:850px){
 html body #app-root #bottom-navigation{gap:0!important;}
 html body #app-root #bottom-navigation .nav-footer{padding:2px!important;gap:2px!important}
 html body #app-root #bottom-navigation .fil-footer-identity>*{font-size:9px!important;padding:2px 4px!important}
}


/* MODULE : assets/villa-rouge-v112.css */
/* V112 — two accessible, stationary themes for La Villa Rouge. The global player is unchanged. */
#fil-musique-page.fil-v111-page .vr112-topbar{
 display:flex!important;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
 padding:5px 7px 12px!important;margin:0 0 2px!important;
 border-bottom:1px solid rgba(255,190,175,.25);min-height:78px;
}
#fil-musique-page.fil-v111-page .vr112-topbar .vr111-brand{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important}
#fil-musique-page.fil-v111-page .vr112-topbar .vr111-brand img{width:71px!important;height:71px!important;object-fit:contain!important;max-width:none!important;background:transparent!important;border:0!important;border-radius:50%!important;filter:drop-shadow(0 0 12px #f82f3870)!important}
#fil-musique-page.fil-v111-page .vr112-topbar .vr111-brand span{font-size:27px!important;color:#ffefef!important}
#fil-musique-page.fil-v111-page .vr112-theme-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;min-width:0}
#fil-musique-page.fil-v111-page .vr112-theme-label{font-size:11px;color:#ffe3d6;font-weight:800;letter-spacing:.02em;margin-right:8px}
#fil-musique-page.fil-v111-page .vr112-theme-label i{margin-right:5px}
#fil-musique-page.fil-v111-page .vr112-theme-btn{display:inline-flex!important;justify-content:center!important;align-items:center!important;gap:7px!important;min-height:36px!important;width:auto!important;max-width:100%;font:800 12px/1.15 Inter,system-ui,sans-serif!important;padding:8px 13px!important;margin:0!important;border-radius:999px!important;border:1px solid #fff5!important;background:#1602048a!important;color:#fff8ed!important;box-shadow:none!important;cursor:pointer;transform:none!important;text-decoration:none!important}
#fil-musique-page.fil-v111-page .vr112-theme-btn:hover{background:#ffffff1f!important;border-color:#fff9!important}
#fil-musique-page.fil-v111-page .vr112-theme-btn[aria-pressed=true]{border-color:#ffc777!important;background:linear-gradient(120deg,#7f2f12,#d65a1b)!important;box-shadow:0 0 0 2px #ffae5a33!important;color:#fff!important}
#fil-musique-page.fil-v111-page[data-vr-theme=rouge] .vr112-theme-btn[data-vr-theme-choice=rouge][aria-pressed=true]{border-color:#ff8295!important;background:linear-gradient(110deg,#e70c30,#8a0920)!important;box-shadow:0 0 0 2px #fe466033!important}
#fil-musique-page.fil-v111-page .vr112-schedule{display:none!important}
#fil-musique-page.fil-v111-page .vr112-hero-pumpkin{display:none!important}
#fil-musique-page.fil-v111-page .vr111-neon-logo{animation:none!important}
#fil-musique-page.fil-v111-page .vr111-intro-overlay,#fil-musique-page.fil-v111-page .vr111-intro-replay{display:none!important}
/* Halloween: woody, amber, red, deep burgundy. Keep text, controls and link targets visible. */
#app-root #main-view:has(#fil-musique-page.fil-v111-page[data-vr-theme=halloween]){
 background:#180509!important;scrollbar-color:#b76531 #260b0b!important;
}
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween]{
 --vr111-line:rgba(241,142,63,.68);
 background:
  radial-gradient(ellipse at 49% 3%,rgba(255,116,25,.31),transparent 47%),
  radial-gradient(ellipse at 8% 88%,rgba(180,27,26,.34),transparent 38%),
  repeating-linear-gradient(90deg,transparent 0 74px,#11000739 76px 78px,transparent 81px 148px),
  linear-gradient(112deg,#25080c 0%,#55201b 26%,#311012 55%,#6d1d14 85%,#210a0e 100%)!important;
}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-topbar{border-bottom-color:#efa95e75}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero{
 position:relative!important;border:1px solid rgba(245,129,55,.3)!important;border-radius:14px!important;
 background:linear-gradient(90deg,#1a0607e3,#2d0802bd 50%,#190505e5),url('/assets/visuels/villa-rouge-halloween/affiche-halloween-originale.webp') center 28%/cover!important;
 padding:24px 17px!important;box-shadow:inset 0 0 55px #03000395,0 8px 32px #14000280!important;
 min-height:340px!important;isolation:isolate;
}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero::before{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;background:linear-gradient(90deg,#15080c6b,#0003,#15070c69);pointer-events:none}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] :is(.vr111-hero-intro,.vr111-hero-center,.vr111-hero-facts){z-index:1;position:relative}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero-intro h1{color:#fff9ef!important;text-shadow:0 3px 15px #000a}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-kicker{color:#ffc487!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero-intro p{color:#ffe4d9!important;text-shadow:0 2px 8px #000b}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero-center{overflow:visible!important;isolation:isolate}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero-center::before{background:radial-gradient(circle,#f47e1273,transparent 67%)!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-script{color:#ffddba!important;text-shadow:0 2px 0 #8b250e,0 0 10px #ff7a27,0 0 24px #fd4e13!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-halloween{color:#ffd289!important;text-shadow:0 0 13px #ff7817,0 3px 15px #000!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-neon-logo{filter:drop-shadow(0 0 13px #ff8b20) drop-shadow(0 0 24px #e85c0b99)!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-hero-pumpkin{display:block!important;position:absolute;top:5%;right:-4%;width:clamp(80px,11vw,153px)!important;height:auto!important;filter:drop-shadow(0 5px 16px #000b);pointer-events:none;z-index:3;opacity:.95}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-fact i{color:#ffbe76!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-frame{background:linear-gradient(115deg,#24080ddc,#63211bbf 68%,#2d0c0ade)!important;border-color:#c26b3ebf!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-artist{background:#29090d!important;border-color:#c7794cd9!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-artist>a{background:#311014!important;border-color:#e8a05f!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-artist>a:hover{background:#9f421d!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-artist-art::after{background:linear-gradient(transparent,#1b0608e8)!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-button{border-color:#ffba6c!important;background:linear-gradient(112deg,#6a2518,#9b3816)!important;box-shadow:0 3px 15px #1d0109a0!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-button-primary{background:linear-gradient(110deg,#ee7b24,#a93417)!important;color:#fff!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-button:hover{background:#d86b23!important;box-shadow:0 0 0 2px #ffbd745e,0 8px 18px #080003a0!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-heading h2{color:#fff5e9!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-genre span{border-color:#e4a57080!important}
/* Halloween set list: card with poster and a properly spaced real HTML schedule. */
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-schedule{
 display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:0!important;
 background:linear-gradient(115deg,#1b090dc9,#572118c9),
 repeating-linear-gradient(90deg,#100404 0 2px,transparent 3px 40px)!important;
 border:1px solid #ea9148!important;border-radius:13px!important;
 min-height:320px!important;overflow:hidden!important;box-shadow:0 14px 32px #14030499!important;
}
#fil-musique-page.fil-v111-page .vr112-poster-photo{position:relative;overflow:hidden;min-height:330px;background:#160606}
#fil-musique-page.fil-v111-page .vr112-poster-photo>img{width:100%!important;height:100%!important;position:absolute;inset:0;object-fit:cover!important;object-position:center top!important;display:block!important;filter:saturate(1.1)}
#fil-musique-page.fil-v111-page .vr112-poster-tag{position:absolute;bottom:12px;left:12px;border:1px solid #f8bb68a3;border-radius:999px;background:#16030bd6;color:#ffd49b;font-size:9px;letter-spacing:.13em;font-weight:900;padding:8px 12px;z-index:2}
#fil-musique-page.fil-v111-page .vr112-program-content{padding:19px 22px 20px!important;display:flex!important;flex-direction:column!important;gap:12px!important;position:relative;isolation:isolate;overflow:hidden;min-width:0}
#fil-musique-page.fil-v111-page .vr112-program-content::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 98% 0%,#ed532529,transparent 42%),linear-gradient(135deg,#5a181593,#20070ddc)}
#fil-musique-page.fil-v111-page .vr112-program-header{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;position:relative;z-index:2}
#fil-musique-page.fil-v111-page .vr112-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:900;color:#ffbb75}
#fil-musique-page.fil-v111-page .vr112-program-header h2{font-size:clamp(25px,2.45vw,38px)!important;font-weight:950!important;line-height:1.17!important;margin:4px 0 5px!important;text-transform:uppercase}
#fil-musique-page.fil-v111-page .vr112-program-header h2 em{font-style:normal;color:#ffa34d;text-shadow:0 0 11px #ff8d2a59}
#fil-musique-page.fil-v111-page .vr112-program-header p{font-size:12px!important;color:#fce4d6!important}
#fil-musique-page.fil-v111-page .vr112-hours{border:1px solid #dd935cad;padding:9px 11px;border-radius:9px;background:#29070abc;font-weight:950;white-space:nowrap;font-size:12px;color:#ffcf99}
#fil-musique-page.fil-v111-page .vr112-hours span{color:#fff;margin:0 5px}
#fil-musique-page.fil-v111-page .vr112-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px!important;list-style:none!important;margin:3px 0!important;padding:0!important;position:relative;z-index:2}
#fil-musique-page.fil-v111-page .vr112-timeline li{display:grid!important;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:9px;min-width:0;margin:0!important;padding:9px 10px!important;border:1px solid #fcb77744;border-radius:7px;background:#1a080dbb;line-height:1.25}
#fil-musique-page.fil-v111-page .vr112-timeline time{font-size:14px;font-weight:950;color:#ffa557}
#fil-musique-page.fil-v111-page .vr112-timeline strong{font-size:12px;font-weight:850;color:#fff6ec;min-width:0}
#fil-musique-page.fil-v111-page .vr112-timeline small{display:block;font-size:10px;font-weight:700;color:#ffc890;margin-top:3px}
#fil-musique-page.fil-v111-page .vr112-program-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;position:relative;z-index:3}
#fil-musique-page.fil-v111-page .vr112-program-footer>span{font-size:10px;letter-spacing:.075em;font-weight:850;color:#ffd3ab}
#fil-musique-page.fil-v111-page .vr112-program-footer>span i{margin-right:6px}
#fil-musique-page.fil-v111-page .vr112-skeleton{position:absolute;width:clamp(80px,12vw,145px)!important;height:auto!important;object-fit:contain!important;opacity:.38;mix-blend-mode:screen;z-index:1;pointer-events:none;filter:sepia(.55) saturate(1.9)}
#fil-musique-page.fil-v111-page .vr112-skeleton-l{bottom:14px;left:-39px;transform:rotate(-12deg)}
#fil-musique-page.fil-v111-page .vr112-skeleton-r{top:25px;right:-30px;transform:rotate(11deg)}
/* Player: one live SoundCloud engine, shared with the rail. Only color skin differs. */
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween] #fil-music-page-player{background:linear-gradient(100deg,#26090dd9,#743018b6)!important;border-color:#e89d56!important;box-shadow:0 5px 23px #150204a3!important}
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween] #fil-music-page-player [data-page-music=play]{background:linear-gradient(145deg,#f3a34c,#ca4821)!important;box-shadow:0 0 15px #dd641c91!important}
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween] #fil-music-page-player :is(button,select){border-color:#d69967!important}
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween] #fil-music-page-player :is(select,button:not([data-page-music=play])){background:#281017!important;color:#fff!important}
#app-root #main-view #fil-musique-page.fil-v111-page[data-vr-theme=halloween] #fil-music-page-player input[type=range]{accent-color:#ffaa58!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-story-benefits i{color:#ffc170!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] :is(a,button,select,input):focus-visible{outline:2px solid #ffb95c!important;outline-offset:3px!important}
@media(max-width:1100px){
 #fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-schedule{grid-template-columns:185px minmax(0,1fr)!important}
 #fil-musique-page.fil-v111-page .vr112-timeline{gap:7px!important}
 #fil-musique-page.fil-v111-page .vr112-timeline li{grid-template-columns:51px minmax(0,1fr);padding:7px 6px!important}
 #fil-musique-page.fil-v111-page .vr112-timeline time{font-size:12px}
}
@media(max-width:650px){
 #fil-musique-page.fil-v111-page .vr112-topbar{align-items:flex-start;gap:8px;padding:0 3px 11px!important}
 #fil-musique-page.fil-v111-page .vr112-topbar .vr111-brand img{width:52px!important;height:52px!important}
 #fil-musique-page.fil-v111-page .vr112-topbar .vr111-brand span{font-size:23px!important}
 #fil-musique-page.fil-v111-page .vr112-theme-controls{width:100%;justify-content:flex-start;gap:7px}
 #fil-musique-page.fil-v111-page .vr112-theme-label{width:100%;font-size:10px}
 #fil-musique-page.fil-v111-page .vr112-theme-btn{font-size:11px!important;min-height:34px!important}
 #fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-hero{padding:15px 12px!important}
 #fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-hero-pumpkin{width:110px!important;right:0;top:4%;opacity:.72}
 #fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-schedule{grid-template-columns:1fr!important}
 #fil-musique-page.fil-v111-page .vr112-poster-photo{min-height:0;height:220px}
 #fil-musique-page.fil-v111-page .vr112-poster-photo>img{object-fit:cover!important;object-position:center 32%!important}
 #fil-musique-page.fil-v111-page .vr112-program-content{padding:15px!important}
 #fil-musique-page.fil-v111-page .vr112-timeline{grid-template-columns:1fr!important;gap:6px!important}
 #fil-musique-page.fil-v111-page .vr112-timeline li{grid-template-columns:63px minmax(0,1fr);padding:9px!important}
 #fil-musique-page.fil-v111-page .vr112-timeline time{font-size:14px}
 #fil-musique-page.fil-v111-page .vr112-skeleton{width:105px!important;opacity:.25}
 #fil-musique-page.fil-v111-page .vr112-program-footer .vr111-button{width:100%}
}
@media(prefers-reduced-motion:reduce){#fil-musique-page.fil-v111-page .vr112-theme-btn{transition:none!important}}

/* V112 finishing touches: correct neon title fit and remove hard crop edges. */
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-script{font-size:clamp(23px,2.25vw,38px)!important;white-space:normal!important;line-height:1.12!important;max-width:100%!important;transform:rotate(-2deg)!important}
#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr112-hero-pumpkin{mix-blend-mode:screen;filter:drop-shadow(0 0 13px #ff791e7c)!important;opacity:.9!important;right:-2%!important}
@media(max-width:650px){#fil-musique-page.fil-v111-page[data-vr-theme=halloween] .vr111-script{font-size:33px!important}}


/* MODULE : assets/charte-officielle-v114.css */
/* V114 — charte officielle du Fil. Couleurs exclusivement, aucune géométrie ni nouveau composant.
   Actif selon la préférence administrateur. La page Musique est strictement exclue. */
body.fil-theme-official:not(.fil-theme-music){
 --fil-official-night:#170b39;--fil-official-purple:#7920e4;--fil-official-pink:#f026a9;
 --fil-official-orange:#ff8e4a;--fil-official-white:#fff9ff;
 background:radial-gradient(ellipse at 0% 68%,#6221a8 0%,transparent 29%),
 radial-gradient(ellipse at 94% 11%,#9f1a80 0%,transparent 31%),
 radial-gradient(ellipse at 10% 0%,#312069 0%,transparent 36%),
 linear-gradient(125deg,#130827,#211048 54%,#11092c)!important;
}
/* Contour du cadre : brillance uniquement, pas de margin/padding/transform modifiés. */
html body.fil-theme-official:not(.fil-theme-music) #app-root{
 border-color:#9c48f3!important;
 box-shadow:0 0 0 1px #e32cbf88,0 0 24px #ae32e855,0 14px 50px #0a0225a6!important;
}
/* Bandeau haut, même hauteur, même disposition et même taille de boutons. */
html body.fil-theme-official:not(.fil-theme-music) #app-root>header{
 background:radial-gradient(ellipse at 7% 0%,#6620b1c4 0,transparent 32%),
 radial-gradient(ellipse at 93% 100%,#c725a288 0,transparent 24%),
 linear-gradient(110deg,#1b0e47,#24104f 55%,#160d37)!important;
 border-color:#a449f0b3!important;
 box-shadow:inset 0 -1px 0 #e732b04d!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root>header .fil-v41-brand h2{color:#fff6ff!important;text-shadow:0 0 12px #e73ae95e!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root>header .fil-v41-brand span{color:#e8c2ff!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root>header .fil-v41-brand>div:first-child{background:transparent!important;background-image:none!important;border:0!important;outline:0!important;box-shadow:none!important;filter:none!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root>header .fil-v41-actions :is(button,a){
 background-color:#29174f!important;color:#f8eaff!important;border-color:#b15af080!important;
 box-shadow:inset 0 1px 0 #ffffff1b,0 0 10px #c335bd20!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root>header .fil-v41-actions :is(button,a):hover{
 background-color:#6122a7!important;color:white!important;border-color:#ed44bf!important;
 box-shadow:0 0 13px #e82fbf90!important;
}
/* L'intérieur des pages conserve volontairement la palette claire. */
html body.fil-theme-official:not(.fil-theme-music) #app-root .fil-site-pane,
html body.fil-theme-official:not(.fil-theme-music) #app-root #main-view{
 background-color:#f8f5ff!important;
}
/* Boutons de navigation : styles de couleur seulement, jamais taille/position. */
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation{
 background:radial-gradient(ellipse at 4% 0%,#6523b2c9,transparent 32%),
 radial-gradient(ellipse at 92% 90%,#a81c87b3,transparent 35%),
 linear-gradient(110deg,#211047,#260d51 55%,#1a103d)!important;
 border-color:#aa51e9!important;
 box-shadow:0 -2px 13px #4d158672,inset 0 1px 0 #ffffff33!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation .nav-item{
 background:linear-gradient(140deg,#291452,#1e103f)!important;
 color:#f7e9ff!important;
 border-color:#7b36d0!important;
 box-shadow:inset 0 1px 0 #ffffff16!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation .nav-item.active,
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation .nav-item:hover{
 background:linear-gradient(115deg,#7e24e5,#ed219f 68%,#ff8949)!important;
 color:white!important;border-color:#f9a1ed!important;
 box-shadow:0 0 11px #ee30b98c!important;
}
/* Réseaux, cookies, site et compteur continuent à faire partie du même bandeau. */
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation :is(.fil-v15-social-nav a,.fil-nav-social,.site-footer-link,.fil-visitor-count,#cookie-status){
 background:#291452!important;color:#fff1ff!important;border-color:#854bc9!important;
 box-shadow:inset 0 1px 0 #ffffff1e!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation :is(.fil-v15-social-nav a,.fil-nav-social:not(.is-disabled),.site-footer-link,#cookie-status):hover{
 background:#7825c6!important;color:white!important;border-color:#f339b5!important;
 box-shadow:0 0 10px #e92ebf7a!important;
}
/* Colonne Vie locale inchangée : grille, annonces et ordres définis par V110. */
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads{
 background:radial-gradient(ellipse at 100% 8%,#7a22905e 0,transparent 32%),
 linear-gradient(160deg,#201243,#25134d 58%,#150d35)!important;
 border-color:#ab54e1!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads :is(.fil-rail-heading h2,.fil-rail-brand-copy h2){color:#fff8ff!important;text-shadow:0 0 11px #ff6ced45!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-underline{background:linear-gradient(90deg,#a83bf9,#f533ae,#ff9853)!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-link{
 background:linear-gradient(150deg,#2b195b,#201042)!important;
 color:#f6e4ff!important;border-color:#9250e1!important;
 box-shadow:inset 0 1px 0 #ffffff13,0 2px 9px #1104274d!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-link:hover,
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-link:focus-visible{
 background:linear-gradient(140deg,#6723b1,#d522a4)!important;color:#fff!important;
 border-color:#ffc5fa!important;box-shadow:0 0 12px #dd24e077!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-link .fil-app-symbol{
 background:#6c25c775!important;color:#fceeff!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-1'] .fil-ad-card,
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-ad-slot[data-ad-slot='desktop-2'] .fil-ad-card{
 background:linear-gradient(115deg,#6014d8 0%,#b122d4 46%,#ed269e 76%,#ff8847 100%)!important;
 border-color:#ff81cb!important;
 box-shadow:0 0 9px #f146b456!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads .fil-rail-discover{
 background:#fbf8ff!important;border-color:#c4a1ed!important;
 box-shadow:0 1px 11px #180a2c2b!important;
}
/* Lecteur unique, strictement même disposition et fonction, palette Villa Rouge. */
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock{
 --fil-music-bg:#280911;--fil-music-ink:#fff4f5;--fil-music-border:#b41e44;--fil-music-accent:#ff3057;
 background:linear-gradient(130deg,#310713,#170711 75%,#380b20)!important;
 color:#fff5f6!important;border-color:#e02b50!important;
 box-shadow:inset 0 1px 0 #ffffff17,0 0 10px #f3315336!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock :is(.fil-music-heading,.fil-music-now strong){color:#fff6f7!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock :is(.fil-music-now small,.fil-music-progress,.fil-music-volume,.fil-v106-select-label){color:#e6acb8!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock button[data-music]{
 background:#531329!important;color:#ffe7ed!important;border-color:#d72d50!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock button[data-music='play'],
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock button[data-music]:hover{
 background:linear-gradient(135deg,#ee1750,#fc5063)!important;color:#fff!important;border-color:#ff9faf!important;
 box-shadow:0 0 9px #fa2c5473!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock :is(select,option){background-color:#380f20!important;color:#fff!important;border-color:#c62c4d!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock input[type='range']{accent-color:#fa2f55!important}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link{
 background:#52122b!important;color:#ffdce5!important;border-color:#bd2344!important;
}
html body.fil-theme-official:not(.fil-theme-music) #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link:hover{background:#d52247!important;color:white!important}
/* Pas de changement de largeur, hauteur, grille, ordonnancement ou marges. */
@media (prefers-reduced-motion:reduce){
 html body.fil-theme-official:not(.fil-theme-music) #app-root #bottom-navigation *{transition:none!important}
}


/* MODULE : assets/fiches-unifiees-v115.css */
/* V115 — Fiches uniquement. Le site, son menu, ses lecteurs et ses cartes de liste
   ne changent pas. Les quatre modèles partagent les mêmes composants HTML. */
#modal-detail-content .fil-record-unified,
#main-view .fil-record-unified,
.fil-mairie-complete .fil-record-unified {
  --fil-u-soft:color-mix(in srgb,var(--detail-accent) 8%,#fff);
  --fil-u-border:color-mix(in srgb,var(--detail-accent) 19%,#dfd9eb);
  display:block!important;width:100%!important;height:100%!important;min-height:0!important;
  overflow:hidden!important;background:#fff!important;color:#2e2546!important;
  container-type:normal!important;font:500 13px/1.55 Inter,system-ui,sans-serif!important;
}
#main-view .fil-mairie-complete:has(.fil-record-unified){min-height:500px!important;height:min(780px,83dvh)!important;padding:0!important;overflow:hidden!important}
.fil-record-unified .fil-u-scroll {
  height:100%;width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--detail-accent) 38%,#ddd) #f6f4fa;
  background:linear-gradient(125deg,#fcfaff,#fff 40%,#fcfbfe);
}
.fil-record-unified .fil-u-toolbar {
  display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:46px;
  padding:6px 15px;background:#faf7ff;border-bottom:1px solid #ece4f4;
}
.fil-record-unified .fil-u-toolbar .fil-card-meta{min-width:0;flex:1}
.fil-record-unified .fil-record-back{min-height:34px!important;border:1px solid #e2d4ec;border-radius:6px!important;background:white;color:#5e327e;font-weight:750;font-size:11px;white-space:nowrap;text-decoration:none}
.fil-record-unified .fil-record-navigation{display:flex!important;align-items:center;gap:6px;min-width:0}
.fil-record-unified .fil-record-navigation[hidden]{display:none!important}
.fil-record-unified .fil-record-navigation button{width:32px;height:32px;border-radius:6px!important}
.fil-record-unified .fil-record-navigation [data-record-count]{font-size:10px;white-space:nowrap;color:#69547e}
.fil-record-unified .fil-u-hero {
  display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);
  align-items:stretch;min-height:190px;overflow:hidden;background:linear-gradient(112deg,var(--fil-u-soft),#fff 77%);
  border-bottom:1px solid var(--fil-u-border);
}
.fil-record-unified .fil-u-hero-image{position:relative;margin:0;min-height:190px;background:linear-gradient(130deg,var(--fil-u-soft),#f4eef8);overflow:hidden;}
.fil-record-unified .fil-u-hero-image img{display:block;width:100%;height:100%;object-fit:var(--record-media-fit,cover);object-position:var(--record-media-position,center)}
.fil-record-unified .fil-u-hero-image>button{
 position:absolute;bottom:9px;right:9px;display:grid;place-items:center;
 width:38px;height:38px;border:1px solid #e8dff1;border-radius:7px;
 background:#ffffffe9;color:var(--detail-accent)
}
.fil-record-unified .fil-u-placeholder{display:grid;place-items:center;color:var(--detail-accent);font-size:64px;background:radial-gradient(ellipse at 25% 35%,#fff 0,transparent 48%),var(--fil-u-soft)}
.fil-record-unified .fil-u-hero-copy{position:relative;min-width:0;padding:25px 28px 18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;overflow:hidden}
.fil-record-unified .fil-u-hero-copy::after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-80px;border-radius:50%;background:var(--fil-u-soft);pointer-events:none;opacity:.7}
.fil-record-unified .fil-u-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--detail-accent);font-size:10px;font-weight:900;letter-spacing:.075em;text-transform:uppercase;line-height:1.3;position:relative;z-index:1}
.fil-record-unified .fil-u-hero-copy .fil-record-heading{position:relative;z-index:1}
.fil-record-unified .fil-u-hero-copy .fil-record-heading h2{font:850 clamp(20px,2.5vw,31px)/1.18 Outfit,Inter,system-ui,sans-serif!important;color:var(--detail-accent)!important;margin:0!important;letter-spacing:-.025em}
.fil-record-unified .fil-u-hero-subtitle{position:relative;z-index:1;margin:0;font-size:12px;font-weight:650;color:#6b5d7d}
.fil-record-unified .fil-u-mark{position:relative;z-index:1;display:inline-flex;width:38px;height:38px;margin-top:4px}
.fil-record-unified .fil-u-mark img{max-width:100%;max-height:100%;object-fit:contain;border:0!important;box-shadow:none!important;background:transparent!important}
.fil-record-unified .fil-u-content{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.9fr);gap:14px;align-items:start;padding:17px 19px 14px;min-width:0}
.fil-record-unified .fil-u-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.fil-record-unified .fil-u-section,
.fil-record-unified .fil-u-practical{min-width:0;border:1px solid #e9e3ef;border-radius:9px;background:#fff;box-shadow:0 2px 8px #24152f09;padding:14px 15px}
.fil-record-unified :is(.fil-u-section,.fil-u-practical,.fil-u-tools)>h3{margin:0 0 9px!important;color:var(--detail-accent)!important;font:850 13px/1.3 Outfit,Inter,system-ui,sans-serif!important;letter-spacing:-.01em}
.fil-record-unified .fil-u-section-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fil-record-unified .fil-u-section-body>.fil-record-paragraph,
.fil-record-unified .fil-u-section-body>.fil-record-block:not(.fil-record-fact){grid-column:1/-1}
.fil-record-unified .fil-record-paragraph{font-size:12px;line-height:1.65;color:#5a526a;white-space:pre-line}
.fil-record-unified .fil-record-fact{border:1px solid #eee8f4;border-radius:7px;background:#faf9fd;padding:8px 9px;gap:7px;box-shadow:none;min-width:0;font-size:11px;}
.fil-record-unified .fil-record-fact>i{width:16px;padding-top:2px;color:var(--detail-accent);font-size:12px}
.fil-record-unified .fil-record-fact strong{color:var(--detail-accent);font-size:10px}
.fil-record-unified .fil-record-fact :is(p,a){margin:2px 0 0;word-break:break-word}
.fil-record-unified .fil-u-practical{background:#f8f6fb;position:relative}
.fil-record-unified .fil-u-facts{display:flex;flex-direction:column;gap:5px}
.fil-record-unified .fil-u-facts>.fil-record-fact{background:transparent;border:0;border-bottom:1px solid #e8e1ed;border-radius:0;padding:7px 2px}
.fil-record-unified .fil-u-facts>.fil-record-fact:last-child{border-bottom:0}
.fil-record-unified .fil-u-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:3px 0 6px}
.fil-record-unified .fil-record-action{min-height:35px!important;padding:7px 11px!important;display:inline-flex!important;gap:7px!important;justify-content:center;align-items:center;flex:0 1 auto;max-width:100%;width:auto!important;border:1px solid #e8dcf2!important;border-radius:7px!important;background:#fff!important;color:#623a97!important;font:800 11px/1.25 Inter,system-ui,sans-serif!important;text-decoration:none!important;cursor:pointer;transition:background .16s,color .16s,border-color .16s!important}
.fil-record-unified .fil-u-action-row>.fil-record-action:first-child{background:var(--detail-accent)!important;color:#fff!important;border-color:var(--detail-accent)!important}
.fil-record-unified .fil-record-action:hover{background:var(--fil-u-soft)!important;color:var(--detail-accent)!important;border-color:var(--detail-accent)!important;transform:none!important}
.fil-record-unified .fil-u-tools{border-radius:7px;background:#f9f6fe;border:1px solid #ede4f5;padding:11px 13px}
.fil-record-unified .fil-u-tools-row{display:flex;gap:7px;flex-wrap:wrap}
.fil-record-unified .fil-u-tools-row .fil-record-block{margin:0}
.fil-record-unified .fil-u-tools-row .fil-record-action{font-size:10px!important;min-height:34px!important}
.fil-record-unified .fil-u-section-gallery .fil-u-section-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.fil-record-unified .fil-u-section-gallery .fil-record-gallery-item{height:150px;min-height:150px;border-radius:7px;overflow:hidden;background:#f4f0f6}
.fil-record-unified .fil-u-section-gallery .fil-record-gallery-item img{object-fit:cover}
.fil-record-unified .fil-u-section-gallery .fil-record-gallery-item button{min-height:32px;padding:5px 7px;font-size:10px}
.fil-record-unified .fil-u-brand-foot{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:0 19px 8px;border-radius:6px;background:linear-gradient(105deg,#3e177d,#6824b6);color:white;min-height:42px;font-size:11px}
.fil-record-unified .fil-u-brand-foot img{width:24px;height:24px;object-fit:contain}
.fil-record-unified .fil-u-brand-foot span{flex:1}
.fil-record-unified .fil-u-brand-foot a{color:white;text-decoration:none}
.fil-record-unified .fil-u-nav-bottom{display:none;justify-content:center;padding-bottom:11px}
.fil-record-unified .fil-u-nav-bottom .fil-record-bottom-navigation{display:flex!important}
/* Adapté aux tailles de modales et au mobile, sans masquer les rubriques. */
@media(max-width:850px){
 .fil-record-unified .fil-u-content{grid-template-columns:minmax(0,1fr);gap:11px;padding:12px}
 .fil-record-unified .fil-u-practical{order:2}
 .fil-record-unified .fil-u-hero{grid-template-columns:40% minmax(0,1fr);min-height:165px}
 .fil-record-unified .fil-u-hero-image{min-height:165px}
 .fil-record-unified .fil-u-hero-copy{padding:16px 13px}
 .fil-record-unified .fil-u-brand-foot{margin:0 12px 8px}
}
@media(max-width:560px){
 .fil-record-unified .fil-u-toolbar{padding:5px 9px;gap:4px}
 .fil-record-unified .fil-u-toolbar .fil-card-meta{display:none}
 .fil-record-unified .fil-u-hero{grid-template-columns:minmax(0,1fr);}
 .fil-record-unified .fil-u-hero-image{min-height:130px;max-height:180px;height:165px}
 .fil-record-unified .fil-u-hero-copy{padding:14px 15px 16px;gap:6px}
 .fil-record-unified .fil-u-hero-copy .fil-record-heading h2{font-size:22px!important}
 .fil-record-unified .fil-u-mark{width:28px;height:28px}
 .fil-record-unified .fil-u-section-body{grid-template-columns:minmax(0,1fr)}
 .fil-record-unified .fil-u-section,.fil-record-unified .fil-u-practical{padding:12px}
 .fil-record-unified .fil-u-brand-foot{font-size:9px}
 .fil-record-unified .fil-u-brand-foot img{width:22px;height:22px}
 .fil-record-unified .fil-u-nav-bottom{display:flex}
 .fil-record-unified .fil-u-toolbar .fil-record-top-navigation{display:none!important}
}
/* Barre de navigation principale à angles droits, dans les deux chartes, y compris Musique. */
html body #app-root #bottom-navigation{border-radius:0!important}
/* En musique, le fond de la page reste Halloween / rouge ; le cadre de site et le
   menu gardent en revanche la charte générale choisie en administration. */
html body.fil-theme-official.fil-theme-music #app-root>header{
 background:radial-gradient(ellipse at 7% 0%,#6620b1c4,transparent 32%),radial-gradient(ellipse at 93% 100%,#c725a288,transparent 24%),linear-gradient(110deg,#1b0e47,#24104f 55%,#160d37)!important;
 border-color:#a449f0b3!important;box-shadow:inset 0 -1px 0 #e732b04d!important;
}
html body.fil-theme-official.fil-theme-music #app-root>header .fil-v41-brand h2{color:#fff6ff!important}
html body.fil-theme-official.fil-theme-music #app-root>header .fil-v41-brand span{color:#e8c2ff!important}
html body.fil-theme-official.fil-theme-music #app-root>header .fil-v41-brand>div:first-child{background:transparent!important;background-image:none!important;border:0!important;outline:0!important;box-shadow:none!important;filter:none!important}
html body.fil-theme-official.fil-theme-music #app-root>header .fil-v41-actions :is(button,a){background:#29174f!important;color:#f8eaff!important;border-color:#b15af080!important}
html body.fil-theme-official.fil-theme-music #app-root #bottom-navigation{
 background:radial-gradient(ellipse at 4% 0%,#6523b2c9,transparent 32%),radial-gradient(ellipse at 92% 90%,#a81c87b3,transparent 35%),linear-gradient(110deg,#211047,#260d51 55%,#1a103d)!important;
 border-color:#aa51e9!important;box-shadow:0 -2px 13px #4d158672,inset 0 1px 0 #ffffff33!important;
}
html body.fil-theme-official.fil-theme-music #app-root #bottom-navigation .nav-item{background:linear-gradient(140deg,#291452,#1e103f)!important;color:#f7e9ff!important;border-color:#7b36d0!important}
html body.fil-theme-official.fil-theme-music #app-root #bottom-navigation .nav-item.active,
html body.fil-theme-official.fil-theme-music #app-root #bottom-navigation .nav-item:hover{background:linear-gradient(115deg,#7e24e5,#ed219f 68%,#ff8949)!important;color:white!important;border-color:#f9a1ed!important}
html body.fil-theme-official.fil-theme-music #app-root #bottom-navigation :is(.fil-v15-social-nav a,.fil-nav-social,.site-footer-link,.fil-visitor-count,#cookie-status){background:#291452!important;color:#fff1ff!important;border-color:#854bc9!important}
html body.fil-theme-official.fil-theme-music #app-root #fil-desktop-ads{background:linear-gradient(160deg,#201243,#25134d 58%,#150d35)!important;border-color:#ab54e1!important}
html body.fil-theme-official.fil-theme-music #app-root #fil-desktop-ads .fil-rail-heading h2{color:#fff8ff!important}
/* Le lecteur Villa Rouge garde ses commandes et sa couleur rouge habituelle. */
/* Conserver le visuel supérieur compact même pour les affiches et photos verticales. */
.fil-record-unified .fil-u-hero{height:210px!important;min-height:210px!important;max-height:210px!important}
.fil-record-unified .fil-u-hero-image{height:100%!important;min-height:0!important;max-height:100%!important}
@media(max-width:850px){.fil-record-unified .fil-u-hero{height:190px!important;min-height:190px!important;max-height:190px!important}}
@media(max-width:560px){.fil-record-unified .fil-u-hero{height:auto!important;min-height:0!important;max-height:none!important}.fil-record-unified .fil-u-hero-image{height:155px!important;min-height:155px!important}}


/* MODULE : assets/header-corrections-v118.css */
/* V118 : logo principal réellement transparent, sans fond ni contour (deux thèmes). */
html body #app-root>header .fil-v41-brand>div:first-child,
html body.fil-theme-official #app-root>header .fil-v41-brand>div:first-child,
html body.fil-theme-official.fil-theme-music #app-root>header .fil-v41-brand>div:first-child{
 background:transparent!important;background-color:transparent!important;
 border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
}
html body #app-root>header .fil-v41-brand img{
 background:transparent!important;filter:none!important;opacity:1!important;
 border:0!important;box-shadow:none!important;object-fit:contain!important;
}
#fil-clock{font-variant-numeric:tabular-nums;white-space:nowrap;visibility:visible!important;opacity:1!important}


/* V119 : restauration horloge et logo détouré sur tous les thèmes. */
html body #app-root > header .fil-v41-brand > .fil-header-logo-clean,
html body.fil-theme-official #app-root > header .fil-v41-brand > .fil-header-logo-clean,
html body.fil-theme-official.fil-theme-music #app-root > header .fil-v41-brand > .fil-header-logo-clean{
    background:none!important;background-color:transparent!important;background-image:none!important;
    border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
    border-radius:0!important;padding:0!important;overflow:visible!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
}
html body #app-root > header .fil-header-logo-clean::before,
html body #app-root > header .fil-header-logo-clean::after{content:none!important;display:none!important}
html body #app-root > header .fil-header-logo-image{
    display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
    background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    outline:0!important;filter:none!important;mask:none!important;-webkit-mask:none!important;
    padding:0!important;transform:none!important;
}
/* L'heure est un contrôle permanent, et non une commande masquée dans le tiroir. */
html body #app-root > header .fil-v41-actions > #fil-clock,
html body #app-root > header[data-compact=true] .fil-v41-actions > #fil-clock{
    display:inline-flex!important;visibility:visible!important;opacity:1!important;
    align-items:center!important;justify-content:center!important;
    flex:0 0 auto!important;width:auto!important;min-width:52px!important;
    font-variant-numeric:tabular-nums!important;white-space:nowrap!important;
}
@media(max-width:680px){
 html body #app-root > header:not([data-compact]) .fil-v41-actions > #fil-clock{display:inline-flex!important}
}

/* V120 : supprimer le dégradé de logo qui subsistait dans la charte officielle.
   Le logo est déjà un WebP détouré ; son support ne doit jamais faire une pastille carrée. */
html body #app-root > header .fil-v41-brand > .fil-header-logo-clean,
html body.fil-theme-official:not(.fil-theme-music) #app-root > header .fil-v41-brand > .fil-header-logo-clean,
html body.fil-theme-official.fil-theme-music #app-root > header .fil-v41-brand > .fil-header-logo-clean {
 background:transparent!important;background-image:none!important;background-color:transparent!important;
 border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
 padding:0!important;border-radius:0!important;
}
html body #app-root > header .fil-header-logo-clean > img.fil-header-logo-image {
 background:transparent!important;background-image:none!important;
 border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
 -webkit-mask:none!important;mask:none!important;
}
