/* LE FIL V177.2 — MOTION DESIGN CENTRALISÉ : surface non destructive. */
html body.fil-pages-premium.fil-motion-engine-v1772{
  --fil-motion-quick:185ms;
  --fil-motion-normal:300ms;
  --fil-motion-glow:rgba(230,157,255,.27);
}
/* Les cartes restent dans le flux normal, sans translation ni superposition.
   Les bordures s'illuminent à l'intérieur des blocs, jamais au-dessus des voisins. */
@media (hover:hover) and (pointer:fine){
  html body.fil-pages-premium.fil-motion-engine-v1772 #main-view :is(
    .fil-v98-menu-card,.fil-portal-card,.fil-v87-event-card,.fil-v84-event-card,
    .fil-directory-card,.fil-public-card,.fil-ed-card,.resto-card,
    .fil-musique-card,.fil-v85-tile,.fil178-tile
  ):hover{
    box-shadow:inset 0 0 0 1px var(--fil-motion-glow)!important;
    filter:brightness(1.045);
    transition:box-shadow .22s ease, filter .22s ease, border-color .22s ease;
  }
  html body.fil-pages-premium.fil-motion-engine-v1772 #main-view[data-page]:not([data-page="menu"]) :is(
   .fil-v87-event-card,.fil-v84-event-card,.fil-directory-card,.fil-public-card,
   .fil-ed-card,.resto-card,.fil-v85-tile,.fil178-tile
  ):hover {transform:none!important;}
  html body.fil-pages-premium.fil-motion-engine-v1772 #app-root :is(
    #main-view,#bottom-navigation,header,#fil-music-dock
  ) :is(button,a,[role="button"]):not(:disabled):hover{
    filter:brightness(1.075);
    transition:filter .18s ease,box-shadow .2s ease;
  }
}
/* Les icônes sont les seules parties autorisées à prendre quelques pixels de
   mouvement, sans sortir des limites d'un bouton. */
html body.fil-pages-premium.fil-motion-engine-v1772 #app-root :is(
 #main-view,#bottom-navigation,header,#fil-music-dock
 ) :is(button,a,[role="button"]):not(:disabled):active{filter:brightness(1.15)}
html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil-motion-v1772-panel{
  min-width:0;max-width:100%;
}
/* Les surfaces décoratives du thème V176.8 ne doivent jamais flotter devant un
   contrôle actif, ni masquer le texte ou la bordure d'un voisin. */
html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil178-tile{
  isolation:isolate;
}
html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil178-tile>.fil178-art{
  pointer-events:none!important;z-index:-1!important;opacity:.045!important;
  filter:none!important;transform:none!important;
}
html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil178-tile:has(:is(button,a,input,select,textarea))>.fil178-art{
  display:none!important;
}
/* FICHES : les angles carrés validés par l'utilisateur sont invariants. */
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail,
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content,
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-record-view,
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-record-view *,
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-record-view *::before,
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-record-view *::after{
  border-radius:0!important;
}
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-record-unified .fil-u-hero-copy::after{
  display:none!important;content:none!important;
}
/* Fenêtres flottantes : limites écran / safe area ; pas de z-index ajouté. */
html body.fil-pages-premium.fil-motion-engine-v1772 #fil145-window{
  max-width:calc(100vw - 20px)!important;
  max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  overflow-y:auto;overscroll-behavior:contain;
}
html body.fil-pages-premium.fil-motion-engine-v1772 #modal-detail-content .fil-u-scroll{
  overflow-x:hidden!important;overscroll-behavior:contain;
}
/* Couche d'interaction : pas de pseudocalque lumineux en position absolue. */
html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil-motion-v1772-panel::before{
  pointer-events:none;
}
@media(max-width:760px){
 html body.fil-pages-premium.fil-motion-engine-v1772 #fil145-window{
  max-width:calc(100vw - 20px)!important;
  max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
 }
 html body.fil-pages-premium.fil-motion-engine-v1772 #main-view .fil-motion-v1772-panel{
   min-width:0;max-width:100%;
 }
}
@media(prefers-reduced-motion:reduce){
 html body.fil-pages-premium.fil-motion-engine-v1772 :is(.fil-motion-v1772-panel,.fil-motion-v1772-hero){
   transition:none!important;animation:none!important;
 }
 html body.fil-pages-premium.fil-motion-engine-v1772 #fil-music-dock .fil-music-live{
   animation:none!important;
 }
}
