/* Le Fil V176 - Feuille publique compilee, ordre fixe. Sources fonctionnelles conservees pour le mode Original. */

/* === module site.css === */
/* Le Fil de Prades-le-Lez — styles publics consolidés V62. */
/* ---- site-v31.css ---- */
/* ===== assets/tailwind-static.css ===== */
/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme{
:root,:host{
    --font-sans: Inter,system-ui,sans-serif;
    --font-serif: Outfit,serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-indigo-50: oklch(96.2% 0.018 272.314);
    --color-indigo-200: oklch(87% 0.065 274.039);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-indigo-800: oklch(39.8% 0.195 277.366);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-md: var(--radius-global, 5px);
    --radius-lg: var(--radius-global, 5px);
    --radius-xl: var(--radius-global, 5px);
    --radius-2xl: var(--radius-global, 5px);
    --radius-3xl: var(--radius-global, 5px);
    --blur-md: 12px;
    --blur-xl: 24px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-brand: #4F24D9;
    --color-brand-dark: #4320B7;
    --color-brand-light: #8B22E8;
  }
}
@layer base{
*,::after,::before,::backdrop,::file-selector-button{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
html,:host{
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
hr{
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
abbr:where([title]){
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
h1,h2,h3,h4,h5,h6{
    font-size: inherit;
    font-weight: inherit;
  }
a{
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
b,strong{
    font-weight: bolder;
  }
code,kbd,samp,pre{
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
small{
    font-size: 80%;
  }
sub,sup{
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
sub{
    bottom: -0.25em;
  }
sup{
    top: -0.5em;
  }
table{
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
:-moz-focusring{
    outline: auto;
  }
progress{
    vertical-align: baseline;
  }
summary{
    display: list-item;
  }
ol,ul,menu{
    list-style: none;
  }
img,svg,video,canvas,audio,iframe,embed,object{
    display: block;
    vertical-align: middle;
  }
img,video{
    max-width: 100%;
    height: auto;
  }
button,input,select,optgroup,textarea,::file-selector-button{
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: var(--radius-global, 5px);
    background-color: transparent;
    opacity: 1;
  }
:where(select:is([multiple], [size])) optgroup{
    font-weight: bolder;
  }
:where(select:is([multiple], [size])) optgroup option{
    padding-inline-start: 20px;
  }
::file-selector-button{
    margin-inline-end: 4px;
  }
::placeholder{
    opacity: 1;
  }
@supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px){
::placeholder{
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
}
textarea{
    resize: vertical;
  }
::-webkit-search-decoration{
    -webkit-appearance: none;
  }
::-webkit-date-and-time-value{
    min-height: 1lh;
    text-align: inherit;
  }
::-webkit-datetime-edit{
    display: inline-flex;
  }
::-webkit-datetime-edit-fields-wrapper{
    padding: 0;
  }
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{
    padding-block: 0;
  }
:-moz-ui-invalid{
    box-shadow: none;
  }
button,input:where([type="button"], [type="reset"], [type="submit"]),::file-selector-button{
    appearance: button;
  }
::-webkit-inner-spin-button,::-webkit-outer-spin-button{
    height: auto;
  }
[hidden]:where(:not([hidden="until-found"])){
    display: none !important;
  }
}
@layer utilities{
.pointer-events-none{
    pointer-events: none;
  }
.absolute{
    position: absolute;
  }
.fixed{
    position: fixed;
  }
.relative{
    position: relative;
  }
.inset-0{
    inset: calc(var(--spacing) * 0);
  }
.-top-5{
    top: calc(var(--spacing) * -5);
  }
.top-1\/2{
    top: calc(1/2 * 100%);
  }
.top-6{
    top: calc(var(--spacing) * 6);
  }
.right-3{
    right: calc(var(--spacing) * 3);
  }
.bottom-3{
    bottom: calc(var(--spacing) * 3);
  }
.left-1\/2{
    left: calc(1/2 * 100%);
  }
.left-3{
    left: calc(var(--spacing) * 3);
  }
.left-3\.5{
    left: calc(var(--spacing) * 3.5);
  }
.left-4{
    left: calc(var(--spacing) * 4);
  }
.z-10{
    z-index: 10;
  }
.z-40{
    z-index: 40;
  }
.z-\[150\]{
    z-index: 150;
  }
.z-\[250\]{
    z-index: 250;
  }
.z-\[300\]{
    z-index: 300;
  }
.col-span-full{
    grid-column: 1 / -1;
  }
.float-right{
    float: right;
  }
.mx-auto{
    margin-inline: auto;
  }
.my-2{
    margin-block: calc(var(--spacing) * 2);
  }
.my-3{
    margin-block: calc(var(--spacing) * 3);
  }
.my-4{
    margin-block: calc(var(--spacing) * 4);
  }
.my-5{
    margin-block: calc(var(--spacing) * 5);
  }
.mt-0\.5{
    margin-top: calc(var(--spacing) * 0.5);
  }
.mt-1{
    margin-top: calc(var(--spacing) * 1);
  }
.mt-2{
    margin-top: calc(var(--spacing) * 2);
  }
.mt-3{
    margin-top: calc(var(--spacing) * 3);
  }
.mt-4{
    margin-top: calc(var(--spacing) * 4);
  }
.mt-5{
    margin-top: calc(var(--spacing) * 5);
  }
.mt-6{
    margin-top: calc(var(--spacing) * 6);
  }
.mr-1{
    margin-right: calc(var(--spacing) * 1);
  }
.mr-2{
    margin-right: calc(var(--spacing) * 2);
  }
.mb-0\.5{
    margin-bottom: calc(var(--spacing) * 0.5);
  }
.mb-1{
    margin-bottom: calc(var(--spacing) * 1);
  }
.mb-1\.5{
    margin-bottom: calc(var(--spacing) * 1.5);
  }
.mb-2{
    margin-bottom: calc(var(--spacing) * 2);
  }
.mb-3{
    margin-bottom: calc(var(--spacing) * 3);
  }
.mb-4{
    margin-bottom: calc(var(--spacing) * 4);
  }
.mb-5{
    margin-bottom: calc(var(--spacing) * 5);
  }
.mb-6{
    margin-bottom: calc(var(--spacing) * 6);
  }
.ml-1{
    margin-left: calc(var(--spacing) * 1);
  }
.block{
    display: block;
  }
.flex{
    display: flex;
  }
.grid{
    display: grid;
  }
.hidden{
    display: none;
  }
.inline-block{
    display: inline-block;
  }
.h-7{
    height: calc(var(--spacing) * 7);
  }
.h-8{
    height: calc(var(--spacing) * 8);
  }
.h-9{
    height: calc(var(--spacing) * 9);
  }
.h-12{
    height: calc(var(--spacing) * 12);
  }
.h-16{
    height: calc(var(--spacing) * 16);
  }
.h-full{
    height: 100%;
  }
.max-h-\[85vh\]{
    max-height: 85vh;
  }
.w-7{
    width: calc(var(--spacing) * 7);
  }
.w-8{
    width: calc(var(--spacing) * 8);
  }
.w-9{
    width: calc(var(--spacing) * 9);
  }
.w-12{
    width: calc(var(--spacing) * 12);
  }
.w-14{
    width: calc(var(--spacing) * 14);
  }
.w-full{
    width: 100%;
  }
.max-w-3xl{
    max-width: var(--container-3xl);
  }
.max-w-lg{
    max-width: var(--container-lg);
  }
.max-w-md{
    max-width: var(--container-md);
  }
.flex-1{
    flex: 1;
  }
.shrink-0{
    flex-shrink: 0;
  }
.-translate-x-1\/2{
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-y-1\/2{
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-y-4{
    --tw-translate-y: calc(var(--spacing) * -4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.transform{
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
.cursor-pointer{
    cursor: pointer;
  }
.grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
.grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.flex-col{
    flex-direction: column;
  }
.flex-wrap{
    flex-wrap: wrap;
  }
.items-center{
    align-items: center;
  }
.items-start{
    align-items: flex-start;
  }
.items-stretch{
    align-items: stretch;
  }
.justify-around{
    justify-content: space-around;
  }
.justify-between{
    justify-content: space-between;
  }
.justify-center{
    justify-content: center;
  }
.gap-1\.5{
    gap: calc(var(--spacing) * 1.5);
  }
.gap-2{
    gap: calc(var(--spacing) * 2);
  }
.gap-2\.5{
    gap: calc(var(--spacing) * 2.5);
  }
.gap-3{
    gap: calc(var(--spacing) * 3);
  }
.space-y-2{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.space-y-2\.5{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.space-y-3{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.space-y-4{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.space-y-5{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.space-y-6{
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
.truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.overflow-x-hidden{
    overflow-x: hidden;
  }
.overflow-y-auto{
    overflow-y: auto;
  }
.scroll-smooth{
    scroll-behavior: smooth;
  }
.rounded{
    border-radius: var(--radius-global, 5px);
  }
.rounded-2xl{
    border-radius: var(--radius-global, 5px);
  }
.rounded-3xl{
    border-radius: var(--radius-global, 5px);
  }
.rounded-\[2rem\]{
    border-radius: var(--radius-global, 5px);
  }
.rounded-full{
    border-radius: calc(infinity * 1px);
  }
.rounded-lg{
    border-radius: var(--radius-global, 5px);
  }
.rounded-md{
    border-radius: var(--radius-global, 5px);
  }
.rounded-xl{
    border-radius: var(--radius-global, 5px);
  }
.border{
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
.border-2{
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
.border-4{
    border-style: var(--tw-border-style);
    border-width: 4px;
  }
.border-t{
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
.border-b{
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
.border-sky-100{
    border-color: var(--color-sky-100);
  }
.border-slate-50{
    border-color: var(--color-slate-50);
  }
.border-slate-100{
    border-color: var(--color-slate-100);
  }
.border-slate-200{
    border-color: var(--color-slate-200);
  }
.border-slate-200\/50{
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 50%, transparent);
    }
  }
.border-slate-700{
    border-color: var(--color-slate-700);
  }
.border-white{
    border-color: var(--color-white);
  }
.bg-indigo-50{
    background-color: var(--color-indigo-50);
  }
.bg-rose-50{
    background-color: var(--color-rose-50);
  }
.bg-sky-50{
    background-color: var(--color-sky-50);
  }
.bg-slate-50{
    background-color: var(--color-slate-50);
  }
.bg-slate-100{
    background-color: var(--color-slate-100);
  }
.bg-slate-900{
    background-color: var(--color-slate-900);
  }
.bg-slate-900\/60{
    background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }
.bg-white{
    background-color: var(--color-white);
  }
.bg-white\/15{
    background-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
.bg-white\/80{
    background-color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
.bg-white\/95{
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
.bg-gradient-to-br{
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
.bg-gradient-to-r{
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
.bg-gradient-to-tr{
    --tw-gradient-position: to top right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
.from-brand{
    --tw-gradient-from: var(--color-brand);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
.from-brand-dark{
    --tw-gradient-from: var(--color-brand-dark);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
.to-brand-dark{
    --tw-gradient-to: var(--color-brand-dark);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
.to-brand-light{
    --tw-gradient-to: var(--color-brand-light);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
.to-indigo-800{
    --tw-gradient-to: var(--color-indigo-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
.object-contain{
    object-fit: contain;
  }
.p-0{
    padding: calc(var(--spacing) * 0);
  }
.p-1{
    padding: calc(var(--spacing) * 1);
  }
.p-2{
    padding: calc(var(--spacing) * 2);
  }
.p-3{
    padding: calc(var(--spacing) * 3);
  }
.p-4{
    padding: calc(var(--spacing) * 4);
  }
.p-5{
    padding: calc(var(--spacing) * 5);
  }
.p-6{
    padding: calc(var(--spacing) * 6);
  }
.px-1{
    padding-inline: calc(var(--spacing) * 1);
  }
.px-1\.5{
    padding-inline: calc(var(--spacing) * 1.5);
  }
.px-2{
    padding-inline: calc(var(--spacing) * 2);
  }
.px-2\.5{
    padding-inline: calc(var(--spacing) * 2.5);
  }
.px-3{
    padding-inline: calc(var(--spacing) * 3);
  }
.px-4{
    padding-inline: calc(var(--spacing) * 4);
  }
.px-5{
    padding-inline: calc(var(--spacing) * 5);
  }
.py-0\.5{
    padding-block: calc(var(--spacing) * 0.5);
  }
.py-1{
    padding-block: calc(var(--spacing) * 1);
  }
.py-1\.5{
    padding-block: calc(var(--spacing) * 1.5);
  }
.py-2\.5{
    padding-block: calc(var(--spacing) * 2.5);
  }
.py-3{
    padding-block: calc(var(--spacing) * 3);
  }
.py-6{
    padding-block: calc(var(--spacing) * 6);
  }
.py-8{
    padding-block: calc(var(--spacing) * 8);
  }
.py-10{
    padding-block: calc(var(--spacing) * 10);
  }
.pt-3{
    padding-top: calc(var(--spacing) * 3);
  }
.pr-3{
    padding-right: calc(var(--spacing) * 3);
  }
.pb-2{
    padding-bottom: calc(var(--spacing) * 2);
  }
.pb-28{
    padding-bottom: calc(var(--spacing) * 28);
  }
.pl-10{
    padding-left: calc(var(--spacing) * 10);
  }
.pl-11{
    padding-left: calc(var(--spacing) * 11);
  }
.text-center{
    text-align: center;
  }
.text-left{
    text-align: left;
  }
.font-mono{
    font-family: var(--font-mono);
  }
.font-serif{
    font-family: var(--font-serif);
  }
.text-2xl{
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
.text-3xl{
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
.text-5xl{
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
.text-base{
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
.text-lg{
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
.text-sm{
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
.text-xl{
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
.text-xs{
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
.text-\[8px\]{
    font-size: 8px;
  }
.text-\[9px\]{
    font-size: 9px;
  }
.text-\[10px\]{
    font-size: 10px;
  }
.text-\[11px\]{
    font-size: 11px;
  }
.leading-none{
    --tw-leading: 1;
    line-height: 1;
  }
.leading-relaxed{
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
.leading-tight{
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
.font-black{
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }
.font-bold{
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
.font-medium{
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
.font-semibold{
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
.tracking-tight{
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
.tracking-wide{
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
.tracking-widest{
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
.text-amber-800{
    color: var(--color-amber-800);
  }
.text-brand{
    color: var(--color-brand);
  }
.text-emerald-400{
    color: var(--color-emerald-400);
  }
.text-emerald-600{
    color: var(--color-emerald-600);
  }
.text-indigo-50{
    color: var(--color-indigo-50);
  }
.text-indigo-200{
    color: var(--color-indigo-200);
  }
.text-indigo-700{
    color: var(--color-indigo-700);
  }
.text-rose-500{
    color: var(--color-rose-500);
  }
.text-sky-800{
    color: var(--color-sky-800);
  }
.text-slate-200{
    color: var(--color-slate-200);
  }
.text-slate-300{
    color: var(--color-slate-300);
  }
.text-slate-400{
    color: var(--color-slate-400);
  }
.text-slate-500{
    color: var(--color-slate-500);
  }
.text-slate-600{
    color: var(--color-slate-600);
  }
.text-slate-700{
    color: var(--color-slate-700);
  }
.text-slate-800{
    color: var(--color-slate-800);
  }
.text-slate-900{
    color: var(--color-slate-900);
  }
.text-white{
    color: var(--color-white);
  }
.uppercase{
    text-transform: uppercase;
  }
.italic{
    font-style: italic;
  }
.underline{
    text-decoration-line: underline;
  }
.antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
.opacity-0{
    opacity: 0%;
  }
.shadow-2xl{
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.shadow-sm{
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.brightness-0{
    --tw-brightness: brightness(0%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
.invert{
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
.filter{
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
.backdrop-blur-md{
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.backdrop-blur-xl{
    --tw-backdrop-blur: blur(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.transition{
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-all{
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-opacity{
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-transform{
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.duration-300{
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
.group-hover\:scale-105{
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
.group-hover\:text-brand{
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-brand);
      }
    }
  }
.selection\:bg-brand{
    & *::selection {
      background-color: var(--color-brand);
    }
    &::selection {
      background-color: var(--color-brand);
    }
  }
.selection\:text-white{
    & *::selection {
      color: var(--color-white);
    }
    &::selection {
      color: var(--color-white);
    }
  }
.hover\:scale-105{
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
.hover\:border-brand\/50{
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, #4F24D9 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-brand) 50%, transparent);
        }
      }
    }
  }
.hover\:bg-rose-100{
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-rose-100);
      }
    }
  }
.hover\:bg-slate-200{
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-200);
      }
    }
  }
.hover\:text-brand{
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand);
      }
    }
  }
.hover\:shadow-md{
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
.focus\:border-brand{
    &:focus {
      border-color: var(--color-brand);
    }
  }
.focus\:outline-none{
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
}
@property --tw-translate-x{
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y{
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z{
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x{
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y{
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z{
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x{
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y{
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse{
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style{
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position{
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from{
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via{
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to{
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops{
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops{
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position{
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position{
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position{
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading{
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight{
  syntax: "*";
  inherits: false;
}
@property --tw-tracking{
  syntax: "*";
  inherits: false;
}
@property --tw-shadow{
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color{
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha{
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow{
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color{
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha{
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color{
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow{
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color{
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow{
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset{
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width{
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color{
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow{
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur{
  syntax: "*";
  inherits: false;
}
@property --tw-brightness{
  syntax: "*";
  inherits: false;
}
@property --tw-contrast{
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale{
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate{
  syntax: "*";
  inherits: false;
}
@property --tw-invert{
  syntax: "*";
  inherits: false;
}
@property --tw-opacity{
  syntax: "*";
  inherits: false;
}
@property --tw-saturate{
  syntax: "*";
  inherits: false;
}
@property --tw-sepia{
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow{
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color{
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha{
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate{
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia{
  syntax: "*";
  inherits: false;
}
@property --tw-duration{
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x{
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y{
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z{
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties{
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){
*,::before,::after,::backdrop{
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
}
}
/* ===== assets/core-v27.css ===== */
html,body{
            height: 100%; width: 100%; margin: 0; padding: 0;
            background-color: #0f172a;
            font-family: 'Inter', sans-serif;
            overflow: hidden;
            display: flex; align-items: center; justify-content: center;
        }
.splash-progress{width:min(260px,70vw);height:3px;background:#ffffff2b;border-radius:var(--radius-global, 5px);overflow:hidden;margin-top:30px}
.splash-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a5b4fc,#f0abfc);transform:scaleX(0);transform-origin:left;animation:splashProgress .5s linear forwards}
.splash-caption{margin-top:13px;color:#cbd5e1;font-size:11px;letter-spacing:.04em}
#particle-canvas{
            position: fixed; inset: 0; z-index: 0; pointer-events: none;
        }
#app-root{
            width: 100%; height: 100%; max-width: 100%; max-height: 100%;
            background-color: rgba(248, 250, 252, 0.96);
            backdrop-filter: blur(10px);
            display: flex; flex-direction: column; position: relative;
            z-index: 10;
            overflow: hidden; opacity: 0; transition: opacity 0.6s ease-out;
        }
@media (min-width: 768px){
#app-root{
                width: 450px;
                height: 90vh;
                max-height: 850px;
                border-radius: var(--radius-global, 5px);
                box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6);
                border: 4px solid rgba(255, 255, 255, 0.25);
            }
}
.no-scrollbar::-webkit-scrollbar{ display: none; }
.no-scrollbar{ -ms-overflow-style: none; scrollbar-width: none; }
@keyframes slideUpFade{
            0% { opacity: 0; transform: translateY(20px); }
            100% { opacity: 1; transform: translateY(0); }
        }
.animate-view{ animation: slideUpFade 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
@keyframes pulseGlow{
            0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4); }
            50% { transform: scale(1.05); box-shadow: 0 0 25px 0 rgba(79, 70, 229, 0.2); }
        }
/* Layout follows screen width, with navigation in normal flow. */
#app-root{height:100dvh;max-height:none;display:flex;flex-direction:column}
#main-view{min-height:0;padding-bottom:24px}
.site-footer-link{color:#5146df;display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}
#cookie-status{flex-shrink:0;font-size:10px;font-weight:700;border-radius:var(--radius-global, 5px);padding:7px 10px;border:1px solid currentColor;cursor:pointer}
.action-gradient,.source-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(120deg,#4338ca,#7c3aed,#db2777)!important;color:white!important;border:0;border-radius:var(--radius-global, 5px);padding:11px 16px;font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 5px 14px #4f46e525;transition:filter .2s}
.action-gradient:hover,.source-button:hover{filter:brightness(1.1)}
button:focus-visible,a:focus-visible{outline:3px solid #818cf8;outline-offset:3px}
#cookie-dialog{border:0;border-radius:var(--radius-global, 5px);width:min(94vw,600px);max-height:90dvh;overflow:auto;padding:26px;color:#1e293b;box-shadow:0 24px 80px #0f172a55;margin:auto}
#cookie-dialog::backdrop{background:#0f172a99;backdrop-filter:blur(4px)}
#cookie-dialog h2{font-size:22px;font-weight:800;margin:6px 0 12px}
#cookie-dialog p{font-size:13px;line-height:1.6;color:#64748b}
.cookie-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.cookie-actions button{flex:1;min-width:130px;border-radius:var(--radius-global, 5px);padding:12px;font-size:12px;font-weight:700;border:1px solid #5146df;color:#4338ca;background:#f5f3ff}
.cookie-choice{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:1px solid #e2e8f0;padding:14px 0;font-size:13px}
.cookie-choice strong{display:block}
.cookie-choice small{display:block;color:#64748b;font-size:11px;line-height:1.5;margin-top:3px}
.cookie-choice input{width:20px;height:20px;flex-shrink:0;accent-color:#5146df}
.reduce-effects *,.reduce-effects *::before,.reduce-effects *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
@media(min-width:768px){
#app-root{width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1280px;border-radius:var(--radius-global, 5px)}
#main-view>.max-w-lg{max-width:1120px;padding:28px}
#main-view .grid.grid-cols-1{grid-template-columns:repeat(2,minmax(0,1fr))}
#cookie-status{font-size:12px}#modal-search>div{max-width:640px}
}
@media(min-width:1100px){
#main-view .grid.grid-cols-1{grid-template-columns:repeat(3,minmax(0,1fr))}
#main-view>.space-y-5{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}
#main-view>.space-y-5>*{margin-top:0!important}
#main-view>.space-y-5>section:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#main-view>.space-y-5>section:nth-child(3)>div{margin:0}
#main-view>.space-y-5>p{grid-column:1/-1}
}
@media(max-width:400px){
.site-footer-link{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
}
.menu-page{width:100%}
.menu-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.menu-separator{border:0;border-top:1px solid #cfd5e4;margin:18px 0}
.menu-tile{display:flex;align-items:center;gap:12px;padding:20px;background:white;border:1px solid #e4e7f1;border-radius:var(--radius-global, 5px);text-align:left;min-width:0;box-shadow:0 5px 18px #17255405}
.menu-tile:hover{background:#f7f6ff;border-color:#b6aff5}
.menu-tile-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-global, 5px);background:linear-gradient(135deg,#4338ca,#9c42d5);color:white;font-size:18px}
.menu-tile strong{display:block;font-size:14px}
.menu-tile small{display:block;font-size:11px;color:#64748b;margin-top:3px}
.menu-arrow{margin-left:auto;color:#8e84e3;font-size:11px}
.menu-social{background:white;border-radius:var(--radius-global, 5px);padding:24px;border:1px solid #e4e7f1}
.menu-social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.menu-social-links a{flex:1;white-space:nowrap}
.category-dropdown{display:block;width:100%;min-width:0;min-height:46px;padding:10px 34px 10px 12px;background:#fff;border:1px solid #d6d9e7;border-radius:var(--radius-global, 5px);font:600 12px/1.5 Inter,sans-serif;cursor:pointer}
.category-dropdown:focus-visible{outline:3px solid #a5a0f5;outline-offset:2px}
@media(max-width:600px){
.menu-row{gap:10px}
.menu-tile{flex-direction:column;align-items:flex-start;padding:15px;gap:10px}
.menu-arrow{display:none}
.menu-tile small{font-size:10px}
.menu-social{padding:18px}
.menu-social-links a{font-size:11px;padding:10px 12px}
}
.editorial-excerpt{display:block;overflow:visible;line-height:1.75;margin-top:8px;white-space:normal;overflow-wrap:anywhere}
.information-block{padding:24px;background:white;border:1px solid #e2e8f0;border-radius:var(--radius-global, 5px);margin-bottom:16px}
.information-block h2{font-size:17px;font-weight:750;color:#4338ca;margin-bottom:12px}
.information-block p{font-size:13px;line-height:1.85;color:#475569;margin-bottom:12px}
.information-block p a{color:#4338ca;text-decoration:underline}
.information-page{width:100%}
.square-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.square-link{width:62px;height:62px;flex-shrink:0;border-radius:var(--radius-global, 5px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:white!important;box-shadow:0 5px 12px #0f172a12;text-decoration:none}
.square-link i{font-size:18px}
.square-link span{font-size:9px;font-weight:700}
.square-link:hover{filter:brightness(1.12)}
.agenda-discover{background:linear-gradient(120deg,#0369a1,#0d9488,#15803d)!important}
.event-media{margin:0 0 16px;border-radius:var(--radius-global, 5px);overflow:hidden;background:#f1f5f9}
.event-media[hidden]{display:none}
.event-media img{display:block;width:100%;height:210px;object-fit:contain;background:#f1f5f9}
.event-media figcaption{font-size:9px;padding:6px 10px;color:#64748b}
.complete-description{font-size:13px;line-height:1.9;white-space:normal;overflow-wrap:anywhere;margin-bottom:16px}
.detail-facts{display:grid;gap:4px;font-size:12px;margin:12px 0}
.detail-facts strong{color:#334155}
.detail-facts span{color:#64748b}
.website-pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:8px 11px;border-radius:var(--radius-global, 5px);background:#eef2ff;color:#4338ca!important;font-size:11px;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.event-card{display:flex;flex-direction:column;gap:12px}
.event-card-main{display:grid;grid-template-columns:112px minmax(0,1fr);gap:13px;align-items:start}
.event-card .event-media{margin:0;aspect-ratio:1}
.event-card .event-media img{width:100%;height:112px;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
.event-card-copy{min-width:0}
.event-card-copy .editorial-excerpt{font-size:11px;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.event-date-line{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:var(--radius-global, 5px);background:#f8fafc;color:#334155;font-size:11px;font-weight:700}
.share-square{border:0;cursor:pointer;background:linear-gradient(135deg,#0f766e,#0284c7);font:inherit}
.event-see{width:100%}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),350px));justify-content:center;gap:14px;margin:22px auto;max-width:740px}
.social-promo{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1;width:100%;max-width:350px;min-height:280px;margin:auto;padding:25px;border-radius:var(--radius-global, 5px);color:white;text-decoration:none;box-shadow:0 16px 38px #1e1b4b25}
.social-promo:before,.social-promo:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);opacity:.32;animation:promoFloat 8s ease-in-out infinite alternate}
.social-promo:before{width:190px;height:190px;right:-35px;top:-30px;background:white}
.social-promo:after{width:150px;height:150px;left:-45px;bottom:-28px;background:#fef08a;animation-delay:-3s}
.promo-instagram{background:linear-gradient(145deg,#7c3aed,#db2777 52%,#f97316)}
.promo-facebook{background:linear-gradient(145deg,#1d4ed8,#0284c7 60%,#0f766e)}
.promo-brand{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.promo-title{display:block;font:800 25px/1.15 Georgia,serif;margin-top:13px;max-width:260px}
.promo-copy{display:block;font-size:13px;line-height:1.6;margin-top:12px;max-width:265px}
.promo-cta{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:18px;padding:11px 15px;border:0;border-radius:var(--radius-global, 5px);background:#ffffffed;color:#312e81;font-size:12px;font-weight:800}
.promo-orbit{position:absolute;right:26px;bottom:75px;font-size:76px;opacity:.2}
.promo-instagram:before{background:#fff}
.promo-instagram:after{background:#fde68a}
@keyframes promoFloat{to{transform:translate(-14px,18px) scale(1.08)}}
@media(max-width:480px){
.event-card-main{grid-template-columns:96px minmax(0,1fr);gap:10px}
.event-card .event-media img{height:96px}
.social-promo{padding:21px}
.promo-title{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
.social-promo:before,.social-promo:after{animation:none}
}
/* Publicité et réseaux : des encarts de pleine largeur qui suivent le contenu. */
.promo-grid{display:block;width:100%;max-width:none;margin:18px 0}
.social-promo{display:flex;width:100%;max-width:none;min-height:176px;aspect-ratio:auto;flex-direction:row;align-items:center;gap:18px;padding:22px 26px;border-radius:var(--radius-global, 5px);margin:0 0 14px}
.social-promo>span:nth-child(2){flex:1}
.social-promo .promo-title{font-size:clamp(19px,2.2vw,27px);max-width:430px}
.social-promo .promo-copy{max-width:470px}
.social-promo .promo-cta{margin:0;flex-shrink:0}
.promo-orbit{right:30px;bottom:34px;font-size:88px;opacity:.12}
.social-promo .promo-brand{align-self:flex-start;min-width:122px}
.ad-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 26px;margin:14px 0 20px;border:1px solid var(--section-border,#c7d2fe);border-left:5px solid var(--section-accent,#6366f1);border-radius:var(--radius-global, 5px);background:linear-gradient(120deg,var(--section-soft,#eef2ff),#fff 75%);box-shadow:0 12px 30px #1725540c}
.ad-invite-copy{display:flex;align-items:flex-start;gap:15px}
.ad-invite-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:var(--radius-global, 5px);background:var(--section-accent,#6366f1);color:white;font-size:20px;box-shadow:0 7px 18px #17255424}
.ad-invite h3{font-family:Georgia,serif;font-size:19px;font-weight:750;color:#172554}
.ad-invite p{font-size:12px;line-height:1.6;color:#64748b;margin-top:5px;max-width:560px}
.ad-invite .action-gradient{background:linear-gradient(120deg,var(--section-accent,#4f46e5),var(--section-end,#7c3aed))!important;white-space:nowrap}
.promo-slot{grid-column:1/-1;width:100%}
.list-accent{color:var(--section-accent,#4f46e5)}
.list-accent .category-dropdown{border-color:var(--section-border,#c7d2fe)}
.theme-dialog{position:fixed;inset:0;margin:auto;width:min(92vw,470px);max-height:90dvh;overflow:auto;padding:30px;border:1px solid #e2e8f0;border-radius:var(--radius-global, 5px);color:#172033;background:#fff;box-shadow:0 28px 90px #0f172a55}
.theme-dialog::backdrop{background:#0f172a99;backdrop-filter:blur(5px)}
.theme-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-global, 5px);color:#fff;background:linear-gradient(135deg,#4338ca,#db2777);font-size:20px}
.theme-dialog h2{font:800 22px Georgia,serif;margin:17px 38px 8px 0}
.theme-dialog>p{font-size:13px;line-height:1.65;color:#64748b}
.theme-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:0;border-radius:var(--radius-global, 5px);background:#f1f5f9;color:#475569}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.theme-option{display:flex;min-height:110px;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:16px;border:1px solid #dbe2ee;border-radius:var(--radius-global, 5px);text-align:left;cursor:pointer;transition:transform .2s,border-color .2s}
.theme-option:hover{transform:translateY(-2px);border-color:#818cf8}
.theme-option i{font-size:20px;color:#4f46e5}
.theme-option strong{font-size:14px}
.theme-option small{font-size:10px;color:#64748b}
.theme-dark{background:#172033;color:#f8fafc;border-color:#374151}
.theme-dark small{color:#cbd5e1}
.theme-dark i{color:#c4b5fd}
.complete-description{line-height:1.7}
.event-media img{height:clamp(140px,28vh,250px)}
#app-root{background-color:rgba(248,250,252,.91)}
.dark-theme #app-root{background:rgba(15,23,42,.94);color:#e2e8f0}
.dark-theme header{background:rgba(24,34,54,.94)!important;border-color:#334155!important}
.dark-theme header h2,.dark-theme #main-view h1,.dark-theme #main-view h2,.dark-theme #main-view h3,.dark-theme .menu-tile strong{color:#f1f5f9!important}
.dark-theme #main-view article,.dark-theme #main-view .bg-white,.dark-theme .menu-tile,.dark-theme .menu-social,.dark-theme .information-block{background:#1e293b!important;border-color:#334155!important;color:#e2e8f0}
.dark-theme #main-view p,.dark-theme #main-view .text-slate-500,.dark-theme #main-view .text-slate-600,.dark-theme #main-view .text-slate-700,.dark-theme .information-block p{color:#cbd5e1!important}
.dark-theme #main-view input,.dark-theme .category-dropdown{background:#0f172a!important;color:#f1f5f9!important;border-color:#475569!important}
.dark-theme .ad-invite{background:linear-gradient(120deg,#202a42,#1e293b)!important;border-color:#475569}
.dark-theme .ad-invite h3{color:#f8fafc}
.dark-theme .ad-invite p{color:#cbd5e1}.dark-theme #modal-search>div,.dark-theme .theme-dialog{background:#1e293b!important;color:#f1f5f9!important;border-color:#475569!important}
.dark-theme .theme-dialog>p{color:#cbd5e1}
.dark-theme .event-date-line,.dark-theme .detail-facts{background:#0f172a;color:#e2e8f0}
.dark-theme #cookie-status{background:#1e293b;color:#c4b5fd}
@media(max-width:620px){
.social-promo{align-items:flex-start;flex-direction:column;gap:10px;min-height:0;padding:20px}
.social-promo .promo-brand{min-width:0}
.social-promo .promo-cta{margin-top:3px}
.promo-orbit{right:22px;bottom:20px;font-size:64px}
.ad-invite{grid-template-columns:1fr;padding:19px}
.ad-invite .action-gradient{justify-self:start}
.theme-dialog{padding:24px 20px}
.theme-options{gap:9px}
.theme-option{padding:13px;min-height:105px}
}
@media(min-width:768px){
.social-promo{min-height:192px}
.ad-invite{min-height:136px}
}
.social-promo,.ad-invite{border-radius:var(--radius-global, 5px)}
.action-gradient,.source-button,.website-pill,.menu-tile,.theme-option{border-radius:var(--radius-global, 5px)}
.action-gradient{font-weight:750;box-shadow:0 8px 20px #312e8125;transition:transform .18s,box-shadow .18s,filter .18s}
.action-gradient:hover,.source-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #312e8130}
.favorite-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 14px;margin-top:10px;border:1px solid var(--fav-accent,#6366f1);border-radius:var(--radius-global, 5px);background:var(--fav-soft,#eef2ff);color:var(--fav-accent,#4338ca);font-size:12px;font-weight:800;transition:transform .18s,background .18s}
.favorite-primary:hover{transform:translateY(-1px);background:var(--fav-accent,#4f46e5);color:white}
.favorite-primary.is-saved{background:var(--fav-accent,#4f46e5);color:white}
.home-ad-carousel{position:relative;width:100%;min-height:235px;margin:0 0 20px;overflow:hidden;border:1px solid #c7d2fe;border-radius:var(--radius-global, 5px);background:linear-gradient(125deg,#312e81,#4f46e5 55%,#7c3aed);color:white;box-shadow:0 18px 40px #312e8130}
.home-ad-slide{display:none;min-height:235px;padding:24px clamp(20px,5vw,42px);align-items:center;justify-content:space-between;gap:18px}
.home-ad-slide.active{display:flex;animation:adReveal .45s ease-out}
.home-ad-copy{max-width:620px}
.home-ad-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#c7d2fe}
.home-ad-slide h2{font:800 clamp(23px,3vw,32px)/1.1 Georgia,serif;margin:12px 0 8px;color:white}
.home-ad-slide p{max-width:580px;color:#eef2ff;font-size:13px;line-height:1.65}
.home-ad-slide .promo-cta{margin-top:15px}
.home-ad-ornament{font-size:clamp(48px,9vw,92px);color:#ffffff29;flex:none}
.home-ad-controls{display:flex;align-items:center;justify-content:center;gap:9px;margin:-9px 0 18px}
.home-ad-controls button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c7d2fe;border-radius:var(--radius-global, 5px);background:white;color:#4338ca;box-shadow:0 4px 12px #17255410}
.home-ad-controls .ad-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c7d2fe}
.home-ad-controls .ad-dot.active{width:23px;border-radius:var(--radius-global, 5px);background:#4f46e5}
.project-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border:1px solid #ffffff75;border-radius:var(--radius-global, 5px);background:#ffffff1f;color:white;font-size:11px;font-weight:800}
.how-it-works{padding:20px;margin:18px 0;border:1px solid var(--section-border,#c7d2fe);border-radius:var(--radius-global, 5px);background:linear-gradient(130deg,var(--section-soft,#eef2ff),#fff)}
.how-it-works h3{color:var(--section-accent,#4338ca);font:750 19px Georgia,serif}
.how-it-works p{font-size:12px;line-height:1.7;color:#64748b;margin-top:8px}
.dark-theme .how-it-works{background:#202a42;border-color:#475569}
.dark-theme .how-it-works h3{color:#c4b5fd}
.dark-theme .how-it-works p{color:#cbd5e1!important}
@keyframes adReveal{from{opacity:.4;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:620px){
.home-ad-slide,.home-ad-slide.active{min-height:260px;align-items:flex-start;flex-direction:column;gap:7px}
.home-ad-slide{padding:21px}
.home-ad-ornament{position:absolute;right:18px;bottom:27px;font-size:54px}
.home-ad-slide p{max-width:calc(100% - 48px)}
.home-ad-slide .promo-cta{margin-top:11px}
.home-ad-controls{margin-top:-8px}
}
.menu-promos{width:100%;margin:12px 0}
/* Annonces locales : une seule colonne à la fois et pleine largeur du contenu. */
.promo-slot{display:block;grid-column:1/-1;width:100%;min-width:0}
.promo-slot>.social-promo{width:100%;max-width:none;min-height:210px;margin:0;aspect-ratio:auto}
.promo-slot>.ad-invite{width:100%;margin:0}
.home-ad-carousel,.home-ad-controls{grid-column:1/-1;width:100%;min-width:0}
.home-ad-carousel{min-height:250px}
.home-ad-slide,.home-ad-slide.active{min-height:250px}
.menu-promos{display:flex;flex-direction:column;gap:16px;width:100%;max-width:100%}
.menu-promos>.social-promo{width:100%;max-width:none;min-height:210px;aspect-ratio:auto}
@media(min-width:1100px){
#main-view>.space-y-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#main-view>.space-y-5>.home-ad-carousel,#main-view>.space-y-5>.home-ad-controls,#main-view>.space-y-5>.home-about,#main-view>.space-y-5>.home-news,#main-view>.space-y-5>.promo-slot{grid-column:1/-1}
#main-view>.space-y-5>.home-hero{grid-column:auto;display:block!important;grid-template-columns:1fr!important;gap:0!important}
#main-view>.space-y-5>.home-weather{grid-column:auto}
#main-view>.space-y-5>.home-events{grid-column:auto}
}
@media(max-width:620px){
.promo-slot>.social-promo,.menu-promos>.social-promo{min-height:0;flex-direction:column;align-items:flex-start}
.home-ad-slide,.home-ad-slide.active{min-height:265px}
}
.home-ad-controls{justify-content:center;gap:10px;margin:0 0 20px!important}
.home-ad-controls>button:first-child{margin-right:auto}
.home-ad-controls>button:last-child{margin-left:auto}
.home-ad-controls>button:first-child,.home-ad-controls>button:last-child{width:44px;height:44px;border-radius:var(--radius-global, 5px);font:30px/1 Arial,sans-serif}
@media(max-width:620px){
.home-ad-carousel{aspect-ratio:1/1;min-height:0!important;margin-bottom:12px!important}
.home-ad-carousel>div{height:100%}
.home-ad-slide,.home-ad-slide.active{height:100%;min-height:0!important;padding:20px;position:relative}
.home-ad-copy{position:relative;z-index:1}
.home-ad-slide h2{font-size:clamp(20px,6vw,30px);line-height:1.12;margin:10px 0}
.home-ad-slide p{font-size:12px;line-height:1.45}
.home-ad-slide .promo-cta{margin-top:12px;padding:10px 12px;font-size:11px}
.home-ad-ornament{position:absolute;right:16px;bottom:16px;font-size:64px;pointer-events:none}
.social-promo,.promo-slot>.social-promo,.menu-promos>.social-promo{box-sizing:border-box;width:100%;aspect-ratio:1/1;min-height:0!important;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;padding:20px}
.social-promo>span:nth-child(2){flex:0}
.social-promo .promo-title{font-size:clamp(21px,6vw,30px);line-height:1.15}
.social-promo .promo-copy{font-size:12px;line-height:1.45}
.social-promo .promo-cta{font-size:11px;padding:10px 12px}
.ad-invite,.promo-slot>.ad-invite{box-sizing:border-box;aspect-ratio:1/1;min-height:0;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px}
.ad-invite-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ad-invite h3{font-size:20px;line-height:1.15}
.ad-invite p{font-size:12px;line-height:1.45}
.ad-invite-icon{font-size:26px}
.ad-invite .action-gradient{font-size:11px;padding:10px 12px}
}
/* ===== Refonte harmonisée style story ===== */
:root{
            --fil-violet:#4F24D9;
            --fil-violet-bright:#8B22E8;
            --fil-pink:#E51B94;
            --fil-orange:#FF7028;
            --fil-night:#11172B;
            --fil-white:#FFFFFF;
            --fil-surface:rgba(255,255,255,.80); /* visibilité du site à ~80% */
            --fil-surface-strong:rgba(255,255,255,.88);
            --fil-surface-soft:rgba(255,255,255,.68);
            --fil-border:rgba(255,255,255,.34);
            --fil-text:#1E2235;
            --fil-muted:#667085;
            --fil-gradient:linear-gradient(110deg,#4F24D9 0%, #8B22E8 35%, #E51B94 70%, #FF7028 100%);
            --fil-gradient-soft:linear-gradient(140deg,rgba(79,36,217,.92) 0%, rgba(139,34,232,.86) 34%, rgba(229,27,148,.82) 70%, rgba(255,112,40,.78) 100%);
            --fil-button-gradient:linear-gradient(100deg,#6129E8 0%, #DF249C 65%, #FF7028 100%);
            --fil-shadow:0 28px 80px rgba(17,23,43,.24);
            --fil-shadow-soft:0 12px 30px rgba(79,36,217,.13);
        }
html,body{
            background:#120b28;
            color:var(--fil-text);
        }
body{
            position:relative;
        }
body::before,body::after{
            content:"";
            position:fixed;
            inset:0;
            pointer-events:none;
        }
body::before{
            background:
                linear-gradient(180deg, rgba(17,23,43,.24), rgba(17,23,43,.22)),
                url('/assets/story-background.webp') center/cover no-repeat;
            filter:blur(18px) saturate(1.08) brightness(.95);
            transform:scale(1.06);
            opacity:.50;
            z-index:0;
        }
body::after{
            background:
                radial-gradient(circle at 16% 16%, rgba(139,34,232,.35), transparent 22%),
                radial-gradient(circle at 84% 12%, rgba(229,27,148,.28), transparent 22%),
                radial-gradient(circle at 84% 84%, rgba(255,112,40,.22), transparent 18%),
                radial-gradient(circle at 18% 84%, rgba(79,36,217,.24), transparent 18%);
            z-index:1;
        }
#particle-canvas{z-index:2;opacity:.82;mix-blend-mode:screen}
#app-root{
            background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(247,243,252,.80));
            backdrop-filter:blur(18px);
            -webkit-backdrop-filter:blur(18px);
            border:1px solid rgba(255,255,255,.24);
            box-shadow:0 40px 120px rgba(17,23,43,.40), 0 10px 28px rgba(79,36,217,.12);
        }
#app-root::before{
            content:"";
            position:absolute;
            inset:0;
            pointer-events:none;
            background:linear-gradient(180deg, rgba(255,255,255,.15), transparent 20%);
            z-index:0;
        }
#app-root > *{position:relative;z-index:1}
@media(min-width:768px){
#app-root{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1400px;border-radius:var(--radius-global, 5px)}
#main-view>.max-w-lg{max-width:1240px;padding:30px}
}






#nav-accueil > div{
            background:var(--fil-button-gradient)!important;
            border:4px solid rgba(255,255,255,.95)!important;
            box-shadow:0 12px 28px rgba(97,41,232,.25),0 8px 18px rgba(229,27,148,.18)!important;
        }
.site-footer-link{color:var(--fil-violet)!important}
#cookie-status{
            background:rgba(255,255,255,.72)!important;
            color:var(--fil-violet)!important;
            border-color:rgba(97,41,232,.14)!important;
        }
article,.bg-white,.menu-tile,.menu-social,.information-block,.how-it-works,.theme-dialog,#cookie-dialog,#modal-search>div,.event-date-line,#local-weather{
            background:var(--fil-surface)!important;
            border:1px solid rgba(255,255,255,.40)!important;
            backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
            box-shadow:var(--fil-shadow-soft)!important;
        }
.menu-tile,.menu-social,.information-block,article,.theme-option,.website-pill,.favorite-primary,.category-dropdown,#input-search,input[type='text'],input[type='search']{border-radius:var(--radius-global, 5px)!important}
.menu-tile:hover{background:rgba(255,255,255,.90)!important;border-color:rgba(97,41,232,.18)!important}
.menu-tile-icon,.theme-mark{background:var(--fil-gradient)!important;box-shadow:0 8px 18px rgba(79,36,217,.18)}
.action-gradient,.source-button,.promo-cta,.project-link,.share-square{
            background:var(--fil-button-gradient)!important;
            color:white!important;
            border:0!important;
            box-shadow:0 10px 24px rgba(97,41,232,.24),0 8px 18px rgba(229,27,148,.18)!important;
        }
.action-gradient:hover,.source-button:hover,.promo-cta:hover,.project-link:hover,.favorite-primary:hover{filter:brightness(1.05)!important;transform:translateY(-1px)}
.favorite-primary{
            background:rgba(255,255,255,.78)!important;
            color:var(--fil-violet)!important;
            border:1px solid rgba(97,41,232,.16)!important;
        }
.favorite-primary.is-saved,.favorite-primary:hover{background:var(--fil-button-gradient)!important;color:#fff!important}
.website-pill{
            background:rgba(255,255,255,.76)!important;
            color:var(--fil-violet)!important;
            border:1px solid rgba(97,41,232,.12)!important;
        }
.social-promo,.home-ad-carousel,.promo-instagram,.promo-facebook,.ad-invite{
            background:var(--fil-gradient-soft)!important;
            border:1px solid rgba(255,255,255,.24)!important;
            box-shadow:0 20px 50px rgba(79,36,217,.22),0 8px 18px rgba(255,112,40,.10)!important;
            color:#fff!important;
        }
.promo-copy,.promo-brand,.ad-invite p,.home-ad-slide p{color:rgba(255,255,255,.90)!important}
.ad-invite h3,.promo-title,.home-ad-slide h2{color:#fff!important}
#modal-search h3,.font-serif,h1,h2,h3{letter-spacing:-.02em}
#modal-search>div,.theme-dialog,#cookie-dialog{background:var(--fil-surface-strong)!important}
#input-search,input[type='text'],input[type='search'],.category-dropdown{
            background:rgba(255,255,255,.85)!important;
            border:1px solid rgba(97,41,232,.14)!important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 4px 12px rgba(79,36,217,.05)!important;
        }
.story-home-hero{
            background:var(--fil-gradient)!important;
            border:1px solid rgba(255,255,255,.20)!important;
            color:#fff!important;
            overflow:hidden;
            position:relative;
            padding:36px!important;
            border-radius:var(--radius-global, 5px)!important;
            box-shadow:0 30px 80px rgba(79,36,217,.28), 0 10px 24px rgba(255,112,40,.12)!important;
        }
.story-home-hero::before,.story-home-hero::after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.story-home-hero::before{width:240px;height:240px;top:-72px;right:-60px;background:radial-gradient(circle, rgba(255,255,255,.26), transparent 65%)}
.story-home-hero::after{width:170px;height:170px;left:-40px;bottom:-40px;background:radial-gradient(circle, rgba(255,255,255,.16), transparent 66%)}
.story-home-hero>*{position:relative;z-index:1}
.story-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.86)}
.story-title{font-size:clamp(38px,5vw,60px);line-height:1.05;font-weight:800;color:#fff;margin:18px 0 16px;max-width:11ch}
.story-copy{font-size:14px;line-height:1.75;max-width:58ch;color:rgba(255,255,255,.94)}
.story-btn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.story-btn-grid .story-cta:last-child{grid-column:1/-1}
.story-cta{
            display:flex;align-items:center;justify-content:center;gap:10px;min-height:74px;padding:16px 20px;border-radius:var(--radius-global, 5px);
            background:rgba(255,255,255,.92);color:#4324ba!important;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.10);
        }
.story-cta:hover{transform:translateY(-1px)}
.story-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.story-social a{
            display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-global, 5px);
            background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);color:#fff!important;font-weight:800;text-decoration:none
        }
.story-handle{margin-top:12px;font-size:11px;color:rgba(255,255,255,.86);font-weight:700}
.story-project{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:14px 20px;border-radius:var(--radius-global, 5px);border:2px solid rgba(255,255,255,.35);color:#fff!important;text-decoration:none;font-weight:800;background:rgba(255,255,255,.06)}
.section-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--radius-global, 5px);background:rgba(97,41,232,.08);color:var(--fil-violet);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.dark-theme #app-root{background:rgba(17,23,43,.80)!important;color:#ecf0ff}
.dark-theme header,.dark-theme article,.dark-theme .bg-white,.dark-theme .menu-tile,.dark-theme .menu-social,.dark-theme .information-block,.dark-theme #local-weather,.dark-theme #modal-search>div,.dark-theme .theme-dialog,.dark-theme #cookie-dialog{
            background:rgba(20,26,44,.82)!important;
            border-color:rgba(255,255,255,.08)!important;
            color:#edf0ff!important;
        }
.dark-theme p,.dark-theme small,.dark-theme .text-slate-500,.dark-theme .text-slate-600,.dark-theme .text-slate-700,.dark-theme .detail-facts span{color:#c9cfe5!important}
.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme strong,.dark-theme .menu-tile strong{color:#fff!important}
@media(max-width:640px){
.story-home-hero{padding:24px!important}
.story-title{font-size:clamp(30px,10vw,44px)}
.story-btn-grid{grid-template-columns:1fr}
.story-btn-grid .story-cta:last-child{grid-column:auto}
.story-social{gap:10px}
.story-social a{padding:13px 16px}
}
/* V11 — ouverture du site : logo officiel, 3 s, fondu et dialogue cookie après la sortie. */
/* Animation d'accueil non persistante et sans tracking, respectant le choix de mouvement enregistré. */
@keyframes filLogoEnter{from{opacity:0;transform:translateY(26px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes filTextEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes filSplashProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* ===== assets/annonces-v3.css ===== */
/* Le Fil / composants publicitaires – charte story et lisibilité. */
:root{
  --ads-purple:#4F24D9;
  --ads-deep:#31108F;
  --ads-pink:#E51B94;
  --ads-orange:#FF7028;
  --ads-gradient:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%);
  --ads-gradient-button:linear-gradient(100deg,#6129E8 0%,#DF249C 65%,#FF7028 100%);
}
.fil-ad-slot,.fil-featured,.fil-home-social,.fil-favorites-square{min-width:0}
.fil-grid-ad{grid-column:1/-1!important;max-width:740px;width:100%;justify-self:center;align-self:stretch}
.fil-ad-card{
  position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;
  justify-content:space-between;gap:14px;width:100%;min-height:238px;padding:25px;
  border-radius:var(--radius-global, 5px);border:1px solid rgba(255,255,255,.38);
  background:var(--ads-gradient)!important;color:#fff!important;
  box-shadow:0 19px 42px rgba(79,36,217,.19),0 7px 20px rgba(229,27,148,.12);
}
.fil-ad-card:before,.fil-ad-card:after{
  content:"";pointer-events:none;position:absolute;z-index:-1;border-radius:999px;
}
.fil-ad-card:before{width:275px;height:275px;right:-110px;top:-142px;background:rgba(255,255,255,.14);box-shadow:0 0 0 55px rgba(255,255,255,.05)}
.fil-ad-card:after{width:185px;height:185px;bottom:-120px;left:-85px;background:rgba(255,194,125,.13);box-shadow:0 0 70px rgba(255,212,184,.26)}
.fil-ad-card h3,.fil-ad-card p{color:#fff!important;margin:0!important}
.fil-ad-card h3{font:800 clamp(20px,2.15vw,29px)/1.15 Inter,-apple-system,BlinkMacSystemFont,sans-serif;max-width:32ch;letter-spacing:-.035em}
.fil-ad-card p{font-size:12px;line-height:1.62;max-width:64ch}
.fil-ad-top,.fil-ad-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.fil-ad-mini{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800;color:rgba(255,255,255,.95)}
.fil-ad-number{display:inline-flex;align-items:center;padding:6px 10px;border-radius:var(--radius-global, 5px);font-size:10px;font-weight:800;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.23)}
.fil-ad-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.fil-ad-orb{position:absolute;right:4px;top:-15px;opacity:.25;font-size:58px;pointer-events:none}
.fil-ad-body .fil-ad-meta{display:flex;align-items:center;gap:7px;font-size:10px;color:rgba(255,255,255,.87)!important;font-weight:650}
.fil-ad-cta{
  width:max-content;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:12px 17px;border-radius:var(--radius-global, 5px);border:1px solid rgba(255,255,255,.70);
  background:#fff!important;color:#4825B8!important;
  font:800 12px/1.3 Inter,-apple-system,BlinkMacSystemFont,sans-serif;
  box-shadow:0 7px 20px rgba(24,13,78,.13);cursor:pointer;text-decoration:none!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.fil-ad-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,13,78,.20)}
.fil-ad-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.fil-ad-with-image{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:18px;align-items:center}
.fil-ad-content{display:flex;flex-direction:column;gap:9px;min-width:0}
.fil-ad-image{width:145px;max-height:152px;object-fit:contain;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-global, 5px);padding:6px}
.fil-ad-organization{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#fff}
.fil-ad-footer{font-size:10px;font-weight:650;color:rgba(255,255,255,.86)}
.fil-ad-readonly{font-weight:800}
.fil-ad-card--occupied .fil-ad-cta{margin-left:auto}
.fil-menu-ad{max-width:100%;margin:18px auto}
.fil-fav-ad{max-width:720px;margin:20px auto 0}
.fil-featured{
  grid-column:1/-1;position:relative;min-width:0;padding:20px 22px 15px;
  border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.83);border:1px solid rgba(255,255,255,.46);
  box-shadow:0 16px 44px rgba(79,36,217,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.fil-featured-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.fil-featured-eyebrow{color:#5A2BC3;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:850}
.fil-featured-head h2{color:#21143e!important;font-size:clamp(20px,2.4vw,28px)!important;font-weight:850;letter-spacing:-.04em}
.fil-featured-count{padding:7px 10px;border-radius:var(--radius-global, 5px);background:rgba(79,36,217,.08);color:#4F24D9;font-size:10px;font-weight:800;white-space:nowrap}
.fil-featured-stage{position:relative;width:100%}
.fil-feature-slide{width:100%}
.fil-feature-slide[hidden]{display:none!important}
.fil-feature-slide .fil-ad-card{min-height:278px}
.fil-feature-slide .fil-ad-card h3{font-size:clamp(20px,2.6vw,30px)}
.fil-featured-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}
.fil-featured-nav>button{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-global, 5px);background:#fff;color:#4F24D9;border:1px solid rgba(79,36,217,.16);box-shadow:0 5px 16px rgba(79,36,217,.09)}
.fil-featured-nav>button:hover{background:#F1ECFF}
.fil-featured-dots{display:flex;align-items:center;gap:8px}
.fil-featured-dots>button{width:9px;height:9px;border-radius:var(--radius-global, 5px);background:#C7B7F4;border:0;padding:0;transition:width .2s ease,background .2s ease}
.fil-featured-dots>button[aria-current=true]{width:27px;background:var(--ads-gradient-button)}
.fil-social-slide{
  isolation:isolate;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:13px;
  min-height:278px;padding:27px;overflow:hidden;border-radius:var(--radius-global, 5px);background:var(--ads-gradient)!important;color:white!important
}
.fil-social-slide:before{content:"";z-index:-1;position:absolute;right:-56px;top:-95px;width:300px;height:300px;border:1px solid rgba(255,255,255,.20);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.06)}
.fil-social-kicker{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.fil-social-slide h3{font-size:clamp(24px,3vw,34px);line-height:1.16;letter-spacing:-.035em;color:#fff!important;font-weight:850;max-width:20ch}
.fil-social-slide p{color:rgba(255,255,255,.95)!important;font-size:13px;line-height:1.6;max-width:58ch}
.fil-social-orb{position:absolute;right:35px;top:45px;color:#fff;opacity:.20;font-size:76px}
.fil-carousel-link,.fil-carousel-links button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border:1px solid rgba(255,255,255,.20);
  border-radius:var(--radius-global, 5px);background:white!important;color:#4F24D9!important;font-size:12px;font-weight:850;text-decoration:none;
}
.fil-carousel-links{display:flex;gap:8px;flex-wrap:wrap}
.fil-square-hero{
  aspect-ratio:1 / 1;min-height:0!important;max-width:100%;display:flex;flex-direction:column;justify-content:center;
  border-radius:var(--radius-global, 5px)!important;
}
.fil-square-hero .story-kicker{font-size:clamp(9px,1vw,11px)}
.fil-square-hero .story-title{font-size:clamp(25px,3.5vw,46px)!important;max-width:100%;margin:12px 0 12px!important;line-height:1.07}
.fil-square-hero .story-copy{font-size:clamp(11px,1.15vw,14px)!important;line-height:1.55;max-width:60ch}
.fil-square-hero .story-btn-grid{gap:10px;margin-top:18px}
.fil-square-hero .story-cta{min-height:51px;padding:10px 13px;border-radius:var(--radius-global, 5px);font-size:12px}
.fil-home-social{
  grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;
  padding:22px 24px;border:1px solid rgba(255,255,255,.46);border-radius:var(--radius-global, 5px);
  background:rgba(255,255,255,.83);box-shadow:0 12px 30px rgba(79,36,217,.09)
}
.fil-home-social h2{font-size:22px;color:#241446!important;font-weight:850;line-height:1.2}
.fil-home-social p{font-size:11px;color:#667085;line-height:1.5}
.fil-home-social .story-social{margin:0}
.fil-home-social .story-social a{background:var(--ads-gradient-button)!important;color:#fff!important;font-size:12px}
.fil-home-social .story-handle{margin:0;color:#4F24D9!important;font-weight:800}
.fil-home-social .story-project{margin:0;background:rgba(79,36,217,.08);border:1px solid rgba(79,36,217,.18);color:#4F24D9!important}
.fil-favorites-square{
  isolation:isolate;position:relative;aspect-ratio:1;min-height:0;max-width:620px;width:100%;
  margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:28px;text-align:center;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-global, 5px);
  overflow:hidden;background:var(--ads-gradient)!important;color:#fff!important;
  box-shadow:0 20px 60px rgba(79,36,217,.28)
}
.fil-favorites-square:before{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-80px;top:-85px;border-radius:50%;background:rgba(255,255,255,.15);box-shadow:0 0 0 60px rgba(255,255,255,.06)}
.fil-favorites-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.18);color:#fff;font-size:28px}
.fil-favorites-eyebrow{color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:850}
.fil-favorites-square h2{color:#fff!important;font-size:clamp(23px,4vw,36px);font-weight:850;line-height:1.14;max-width:15ch}
.fil-favorites-square p{color:rgba(255,255,255,.95)!important;font-size:13px;line-height:1.6;max-width:40ch}
.fil-favorites-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.fil-favorites-links button{background:#fff!important;color:#4F24D9!important;border:0;border-radius:var(--radius-global, 5px);padding:12px 16px;font-size:12px;font-weight:850}
.fil-empty-favorites{max-width:740px!important;padding:14px 16px!important;margin-top:10px!important}
.fil-ad-dialog{
  position:fixed;inset:0;margin:auto;width:min(94vw,630px);max-height:min(92dvh,900px);
  padding:0;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-global, 5px);background:#fff;
  box-shadow:0 40px 110px rgba(17,23,43,.40);color:#11172B;overflow-y:auto;
}
.fil-ad-dialog::backdrop{background:rgba(17,23,43,.72);backdrop-filter:blur(5px)}
.fil-ad-dialog form{display:flex;flex-direction:column}
.fil-ad-form-header{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:25px 25px 22px;background:var(--ads-gradient);color:white}
.fil-ad-form-kicker{font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.fil-ad-form-header h2{font-size:clamp(22px,3vw,29px);font-weight:850;color:white!important;line-height:1.14;margin:9px 0}
.fil-ad-form-header p{font-size:12px;line-height:1.5;color:rgba(255,255,255,.92)}
.fil-ad-close{width:36px;height:36px;flex:none;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.18);color:white;font-size:25px}
.fil-ad-form-body{display:flex;flex-direction:column;gap:15px;padding:23px 25px}
.fil-ad-form-body label{display:flex;flex-direction:column;gap:7px;color:#282344;font-size:12px;font-weight:800}
.fil-ad-form-body input,.fil-ad-form-body select,.fil-ad-form-body textarea{
  width:100%;min-height:43px;background:#fff!important;border:1px solid #D8D0F1!important;
  border-radius:var(--radius-global, 5px)!important;padding:11px 13px;font:500 13px/1.45 Inter,sans-serif;color:#1E2235;
}
.fil-ad-form-body input[type=file]{padding:9px 11px}
.fil-ad-form-body textarea{resize:vertical}
.fil-ad-form-body .fil-ad-trap{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.fil-ad-terms{color:#586079;font-size:11px;line-height:1.6}
.fil-ad-demo,.fil-ad-form-error{border-radius:var(--radius-global, 5px);padding:12px 13px;font-size:12px;line-height:1.6;background:#FEF3C7;color:#7C2D12}
.fil-ad-form-error{background:#FEE2E2;color:#991B1B}
.fil-ad-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:0 25px 25px}
.fil-ad-secondary,.fil-ad-submit{border-radius:var(--radius-global, 5px);padding:13px 17px;font-size:12px;font-weight:850}
.fil-ad-secondary{background:#F4F5F9;color:#39226A}
.fil-ad-submit{background:var(--ads-gradient-button);color:#fff}
.fil-ad-submit:disabled{opacity:.48;cursor:not-allowed}
.fil-ad-dialog :focus-visible,.fil-featured :focus-visible,.fil-favorites-square :focus-visible{outline:3px solid #FF7028;outline-offset:3px}
.dark-theme .fil-featured,.dark-theme .fil-home-social{background:rgba(22,29,49,.90)!important;border-color:rgba(255,255,255,.10)}
.dark-theme .fil-featured h2,.dark-theme .fil-home-social h2{color:#F7F4FF!important}
.dark-theme .fil-ad-card h3,.dark-theme .fil-ad-card p,.dark-theme .fil-social-slide p,.dark-theme .fil-social-slide h3{color:white!important}
@media(min-width:1100px){
#main-view>.space-y-5>.fil-featured,#main-view>.space-y-5>.fil-home-social{grid-column:1/-1!important}
}
@media(max-width:680px){
.fil-ad-card{padding:20px;min-height:250px;border-radius:var(--radius-global, 5px)}
.fil-ad-with-image{grid-template-columns:minmax(0,1fr) 100px;gap:11px}
.fil-ad-image{width:100px;max-height:112px}
.fil-ad-card h3{font-size:20px}
.fil-ad-cta{width:100%;padding:12px 11px}
.fil-ad-footer{align-items:stretch;flex-direction:column}
.fil-featured{padding:15px 13px 13px;border-radius:var(--radius-global, 5px)}
.fil-featured-count{display:none}
.fil-featured-head{margin-bottom:10px}
.fil-feature-slide .fil-ad-card,.fil-social-slide{min-height:286px}
.fil-square-hero{padding:19px!important;aspect-ratio:1!important;justify-content:center;gap:0}
.fil-square-hero .story-kicker{font-size:9px;letter-spacing:.08em}
.fil-square-hero .story-title{font-size:clamp(24px,7vw,31px)!important;line-height:1.05;margin:10px 0 10px!important}
.fil-square-hero .story-copy{font-size:10.5px!important;line-height:1.43}
.fil-square-hero .story-btn-grid{gap:7px;margin-top:13px}
.fil-square-hero .story-cta{min-height:39px;padding:8px 8px;font-size:10px;border-radius:var(--radius-global, 5px)}
.fil-home-social{padding:17px;align-items:flex-start;flex-direction:column}
.fil-home-social h2{font-size:21px}
.fil-home-social .story-social{flex-wrap:wrap;gap:8px}
.fil-favorites-square{padding:20px;border-radius:var(--radius-global, 5px);gap:10px}
.fil-favorites-icon{width:52px;height:52px;font-size:20px;border-radius:var(--radius-global, 5px)}
.fil-favorites-square h2{font-size:clamp(20px,6.3vw,26px)}
.fil-favorites-square p{font-size:11px;line-height:1.4}
.fil-favorites-links button{padding:10px 11px;font-size:10px}
.fil-ad-form-header,.fil-ad-form-body{padding:18px}
.fil-ad-form-actions{padding:0 18px 18px}
}
@media(max-width:360px){
.fil-square-hero{aspect-ratio:auto!important;min-height:320px!important}
.fil-square-hero .story-title{font-size:24px!important}
.fil-ad-body .fil-ad-meta{font-size:9px}
.fil-favorites-square{aspect-ratio:auto;min-height:320px}
}
@media(prefers-reduced-motion:reduce){
.fil-ad-cta,.fil-featured-dots>button{transition:none!important}
}
/* Explications et essai hors ligne (v3.1) */
.fil-ad-offline-actions{ margin:12px 0; padding:14px; border-radius:var(--radius-global, 5px); border:1px solid #cec8eb; background:#f5f2ff; color:#2f2855; }
.fil-ad-offline-actions[hidden]{ display:none!important; }
.fil-ad-offline-actions p{ font-size:12px; line-height:1.55; margin:0 0 12px; }
.fil-ad-offline-actions button{ width:100%; min-height:44px; background:#fff; border:1px solid #4f24d9; color:#4f24d9; font-weight:750; border-radius:var(--radius-global, 5px); padding:12px; }
.fil-ad-demo{ background:#fff5dc; color:#5a3c11; padding:12px; border:1px solid #f9d58f; border-radius:var(--radius-global, 5px); }
/* V4 — dialogue compact : pas de zoom automatique iPhone, pied toujours visible */
.fil-ad-dialog{
  box-sizing:border-box!important;
  width:min(92vw,570px)!important;
  max-width:570px!important;
  height:min(88dvh,760px)!important;
  max-height:calc(100dvh - 22px)!important;
  margin:auto!important;
  inset:0!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:var(--radius-global, 5px)!important;
  background:rgba(255,255,255,.98)!important;
  overscroll-behavior:contain;
}
.fil-ad-dialog:not([open]){display:none!important}
.fil-ad-dialog form{
  box-sizing:border-box!important;
  height:100%;
  max-height:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.fil-ad-form-header{padding:18px 21px 16px!important;flex:none}
.fil-ad-form-header h2{font-size:clamp(20px,3vw,25px)!important;margin:6px 0!important;line-height:1.15}
.fil-ad-form-header p{font-size:12px;line-height:1.4}
.fil-ad-close{width:42px;height:42px;min-width:42px}
.fil-ad-form-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:17px 21px!important;
  gap:12px!important;
  scrollbar-width:thin;
  scrollbar-color:#baace5 transparent;
}
.fil-ad-form-body input,.fil-ad-form-body select,.fil-ad-form-body textarea{
  box-sizing:border-box;
  font-size:16px!important; /* évite le zoom à la saisie sur Safari iPhone */
  line-height:1.4;
  border-radius:var(--radius-global, 5px)!important;
  min-height:44px;
}
.fil-ad-form-body textarea{min-height:92px;resize:vertical}
.fil-ad-form-body label{font-size:12px;gap:6px;line-height:1.4}
.fil-ad-form-actions{
  flex:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:10px;
  padding:12px 21px max(13px,env(safe-area-inset-bottom))!important;
  background:rgba(255,255,255,.98);
  border-top:1px solid rgba(97,41,232,.13);
  box-shadow:0 -5px 20px rgba(79,36,217,.05);
}
.fil-ad-form-actions button{font-size:13px;min-height:45px;line-height:1.3;padding:10px!important}
.fil-ad-offline-actions{background:#f6f3ff;border-color:#d9cef7;color:#322657;margin:0;padding:14px}
.fil-ad-offline-title{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:850;color:#4f24d9;margin:0 0 7px}
.fil-ad-offline-actions p{color:#41375e!important;line-height:1.55;font-size:12px}
.fil-ad-offline-actions code{font-size:12px;font-weight:700}
.fil-ad-demo-start{
  background:linear-gradient(100deg,#6129E8,#DF249C 65%,#FF7028)!important;
  color:#fff!important;min-height:46px;border:0!important;
  border-radius:var(--radius-global, 5px)!important;font-size:13px!important;font-weight:800!important;
}
.fil-ad-file-preview:not([hidden]){
  display:flex;gap:11px;align-items:center;padding:10px;
  border:1px solid #ded5f6;border-radius:var(--radius-global, 5px);background:#f8f5ff;
}
.fil-ad-file-preview[hidden]{display:none!important}
.fil-ad-file-preview img{width:62px;height:62px;object-fit:contain;flex:none;border-radius:var(--radius-global, 5px);background:#fff}
.fil-ad-file-preview div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.fil-ad-file-preview strong{color:#33245e;font-size:12px;overflow-wrap:anywhere}
.fil-ad-file-preview small{color:#667085;font-size:11px;line-height:1.4}
.fil-ad-preview-remove{border:1px solid #d8cafa;border-radius:var(--radius-global, 5px);padding:9px;background:white;color:#4f24d9;font-weight:750;font-size:11px}
.fil-ad-form-body .fil-ad-terms{line-height:1.55;font-size:11px}
@media(max-width:640px){
.fil-ad-dialog{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    height:min(90dvh,790px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:var(--radius-global, 5px)!important;
  }
.fil-ad-form-header{padding:13px 15px 12px!important;gap:9px}
.fil-ad-form-header h2{font-size:21px!important}
.fil-ad-form-header .fil-ad-form-kicker{font-size:9px}
.fil-ad-form-header p{font-size:11px;line-height:1.35}
.fil-ad-form-body{padding:14px 15px!important;gap:12px!important}
.fil-ad-form-actions{padding:12px 15px max(12px,env(safe-area-inset-bottom))!important}
.fil-ad-form-actions button{font-size:12px}
}
@media(max-height:650px){
.fil-ad-dialog{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
.fil-ad-form-header{padding:9px 14px!important}
.fil-ad-form-header h2{font-size:19px!important}
.fil-ad-form-actions{padding:7px 14px max(7px,env(safe-area-inset-bottom))!important}
}
/* Encarts locaux carrés, intégrés aux grilles de fiches. */
#main-view .fil-grid-ad{grid-column:auto!important;max-width:none!important;width:100%;min-width:0;justify-self:stretch;align-self:stretch}
#main-view .fil-grid-ad .fil-ad-card{
  aspect-ratio:1 / 1;min-height:0!important;max-width:100%;padding:clamp(15px,2vw,24px);
  border-radius:var(--radius-global, 5px);box-shadow:0 14px 40px rgba(79,36,217,.17);
}
#main-view .fil-grid-ad .fil-ad-top{gap:5px}
#main-view .fil-grid-ad .fil-ad-body{gap:8px}
#main-view .fil-grid-ad .fil-ad-card h3{font-size:clamp(17px,2vw,23px);line-height:1.15}
#main-view .fil-grid-ad .fil-ad-card p{font-size:clamp(10px,1.1vw,12px);line-height:1.4}
#main-view .fil-grid-ad .fil-ad-image{width:95px;max-height:98px}
#main-view .fil-grid-ad .fil-ad-with-image{grid-template-columns:minmax(0,1fr) 95px;gap:8px}
#main-view .fil-grid-ad .fil-ad-cta{max-width:100%;white-space:normal;text-align:center}
.fil-ad-mini{font-size:10px!important;letter-spacing:.035em!important}
.fil-ad-card--empty .fil-ad-orb{animation:fil-ad-arrive 1.4s ease-out 1 both}
@keyframes fil-ad-arrive{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:.24;transform:translateY(0) scale(1)}}
.fil-ad-card--empty:focus-within,.fil-ad-card--empty:hover{box-shadow:0 22px 48px rgba(139,34,232,.27),0 0 0 2px rgba(255,112,40,.32)}
@media (max-width:700px){
#main-view .fil-grid-ad .fil-ad-card{padding:18px}
#main-view .fil-grid-ad .fil-ad-image{width:80px;max-height:90px}
#main-view .fil-grid-ad .fil-ad-with-image{grid-template-columns:minmax(0,1fr) 80px}
}
@media(max-width:360px){
#main-view .fil-grid-ad .fil-ad-card{padding:14px}
#main-view .fil-grid-ad .fil-ad-mini{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){
.fil-ad-card--empty .fil-ad-orb{animation:none!important}
}
/* Animation d’appel discrète et limitée à l’entrée du bloc publicitaire. */
.reduce-effects .fil-ad-card--empty .fil-ad-orb{animation:fil-ad-arrive 1.4s ease-out 1 both!important}
@media(prefers-reduced-motion:reduce){
.reduce-effects .fil-ad-card--empty .fil-ad-orb{animation:none!important}
}
/* Lisibilité et symbole d’annonce autonome dans les cartes 1:1. */
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-body{flex:1;justify-content:center;align-items:flex-start;gap:11px}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-orb{position:static;opacity:1;width:64px;height:64px;display:grid;place-items:center;border-radius:var(--radius-global, 5px);border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.14);color:white}
#main-view .fil-grid-ad .fil-ad-card--empty h3{font-size:clamp(20px,2vw,24px);line-height:1.15}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-meta{font-size:10px}
@keyframes fil-ad-display{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}
.reduce-effects .fil-ad-card--empty .fil-ad-orb{animation:fil-ad-display 1.15s ease-out 1 both!important}
@media(prefers-reduced-motion:reduce){
.reduce-effects .fil-ad-card--empty .fil-ad-orb{animation:none!important}
}
/* Publicités 1:1 : dimensions explicites et visuels non déformés. */
.fil-ad-dimensions{display:inline-flex;align-items:center;gap:6px;font-size:11px!important;font-weight:800;color:#fff!important;line-height:1.4}
.fil-ad-image-rule{display:block;color:#563a86;font-size:11px;line-height:1.45;font-weight:650;margin-top:2px}
.fil-ad-image{aspect-ratio:1/1;object-fit:contain;height:auto;flex-shrink:0}
.fil-ad-file-preview img{aspect-ratio:1/1;object-fit:contain}
@media(max-width:360px){
#main-view .fil-grid-ad .fil-ad-dimensions{font-size:9px!important}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-body{gap:7px}
}
/* Responsive annonces : horizontal sur PC et carré sur mobile. */
.fil-ad-dimensions{font-size:10px!important;line-height:1.4;font-weight:800;color:#fff!important}
.fil-ad-images{min-width:0;border:1px solid #ded5f6;border-radius:var(--radius-global, 5px);padding:13px;display:grid;gap:9px;background:#faf8ff}
.fil-ad-images legend{font-size:13px;font-weight:850;color:#39226a;padding:0 5px}
.fil-ad-images label{display:grid!important;gap:5px}
.fil-ad-images small{display:block;color:#665b81;font-size:11px;line-height:1.4}
.fil-ad-images .fil-ad-file-title{font-size:12px;font-weight:750;color:#33245e}
.fil-ad-picture{display:block;min-width:0;line-height:0}
.fil-ad-picture .fil-ad-image{width:100%;max-height:none;aspect-ratio:1200/628;object-fit:contain}
#main-view .fil-grid-ad{grid-column:1/-1!important;max-width:900px!important;justify-self:center!important}
#main-view .fil-grid-ad .fil-ad-card{aspect-ratio:1200/628!important;min-height:260px!important;max-height:none;padding:clamp(18px,2.3vw,30px)}
#main-view .fil-grid-ad .fil-ad-with-image{grid-template-columns:minmax(0,1fr) minmax(170px,38%);align-items:center;gap:18px}
#main-view .fil-grid-ad .fil-ad-picture .fil-ad-image{max-height:none;width:100%;height:auto;aspect-ratio:1200/628}
@media(max-width:700px){
#main-view .fil-grid-ad{grid-column:auto!important;max-width:none!important;width:100%}
#main-view .fil-grid-ad .fil-ad-card{aspect-ratio:1/1!important;min-height:0!important;max-height:none;padding:clamp(14px,4vw,21px)}
#main-view .fil-grid-ad .fil-ad-with-image{grid-template-columns:1fr;gap:10px}
#main-view .fil-grid-ad .fil-ad-picture{width:min(100%,210px);justify-self:center}
#main-view .fil-grid-ad .fil-ad-picture .fil-ad-image{width:100%;max-height:170px;aspect-ratio:1/1}
#main-view .fil-grid-ad .fil-ad-content{gap:5px}
#main-view .fil-grid-ad .fil-ad-card--occupied h3{font-size:clamp(16px,4vw,20px)}
#main-view .fil-grid-ad .fil-ad-card--occupied p{font-size:11px;line-height:1.3}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-dimensions{font-size:10px!important}
}
@media(max-width:390px){
#main-view .fil-grid-ad .fil-ad-card{aspect-ratio:1/1!important;padding:12px}
#main-view .fil-grid-ad .fil-ad-card--empty h3{font-size:clamp(17px,5vw,21px)}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-orb{width:48px;height:48px}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-body{gap:7px}
#main-view .fil-grid-ad .fil-ad-card--empty p{font-size:10px;line-height:1.25}
#main-view .fil-grid-ad .fil-ad-dimensions{font-size:9px!important}
#main-view .fil-grid-ad .fil-ad-cta{font-size:11px;padding:9px 8px}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-picture .fil-ad-image{max-height:120px}
}
@media(prefers-reduced-motion:reduce){
.fil-ad-card--empty .fil-ad-orb{animation:none!important}
}
@media(max-width:360px){
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-body>p:not(.fil-ad-meta):not(.fil-ad-dimensions){display:none}
#main-view .fil-grid-ad .fil-ad-card--empty .fil-ad-body{justify-content:center}
}
/* Occupation : texte condensé pour préserver le visuel sur les petits écrans. */
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-content h3,#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-content p{
  display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere
}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-content h3{-webkit-line-clamp:2}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-content p{-webkit-line-clamp:3}
@media(max-width:700px){
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-with-image{grid-template-columns:minmax(0,1fr) minmax(70px,38%);gap:7px;align-items:center}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-picture{width:100%;justify-self:end}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-picture .fil-ad-image{max-height:none;aspect-ratio:1/1;width:100%}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-content p{-webkit-line-clamp:2}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-footer{gap:5px;font-size:9px}
#main-view .fil-grid-ad .fil-ad-card--occupied .fil-ad-footer .fil-ad-cta{min-height:32px}
}
/* ===== assets/restauration.css ===== */
/* V6 : module Restauration — charte officielle du Fil, pas de remplacement de la structure. */
/* V8 — mêmes codes visuels et ergonomiques que les listes/fiches du Fil. */
#main-view .resto-page{width:100%;max-width:1160px;margin:0 auto;padding:clamp(15px,2.4vw,30px);color:#17172a;font:400 14px/1.65 Inter,system-ui,sans-serif;box-sizing:border-box}
#main-view .resto-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:clamp(22px,3vw,32px);border-radius:var(--radius-global, 5px);color:#fff!important;background:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%);box-shadow:0 18px 38px rgba(79,36,217,.18);position:relative;overflow:hidden}
#main-view .resto-header:after{content:"";position:absolute;right:-50px;top:-72px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 70%);pointer-events:none}
#main-view .resto-heading{z-index:1;position:relative;min-width:0}
#main-view .resto-eyebrow{font:800 10px/1.4 Inter,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#fff}
#main-view .resto-eyebrow i{margin-right:6px}
#main-view .resto-header h1{font:800 clamp(26px,3.8vw,39px)/1.15 Inter,system-ui,sans-serif!important;color:#fff!important;margin:10px 0 0!important;letter-spacing:-.025em}
#main-view .resto-path{font:650 11px/1.3 Inter,sans-serif;color:rgba(255,255,255,.74)!important;margin-top:5px!important}
#main-view .resto-intro{font:450 clamp(12px,1.2vw,14px)/1.65 Inter,sans-serif!important;color:#fff!important;max-width:610px;margin:12px 0 0!important}
#main-view .resto-header-mark{display:grid;place-items:center;z-index:1;flex:0 0 84px;height:84px;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:32px;box-shadow:inset 0 1px 2px rgba(255,255,255,.16)}
#main-view .resto-search-panel{margin-top:17px;padding:clamp(17px,2.5vw,24px);background:rgba(255,255,255,.81)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:var(--radius-global, 5px);box-shadow:0 12px 26px rgba(79,36,217,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#main-view .resto-label{display:block;font-size:12px;color:#28213c;font-weight:800;margin:0 0 7px}
#main-view .resto-select-label{margin-top:14px}
#main-view .resto-search-row{position:relative}
#main-view .resto-search-row i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#4F24D9;pointer-events:none;font-size:14px}
#main-view #resto-search{display:block;width:100%;height:49px;border:1px solid #d6d2e4!important;border-radius:var(--radius-global, 5px)!important;background:#fff!important;color:#11172B;padding:11px 14px 11px 44px;font:550 16px/1.4 Inter,system-ui,sans-serif;box-sizing:border-box}
#main-view #resto-category-select{display:block;width:100%;height:47px;min-height:47px;font-size:13px;padding-left:14px;background:#fff!important;border:1px solid #d6d2e4!important;border-radius:var(--radius-global, 5px)!important;color:#28213c}
#main-view .resto-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:13px}
#main-view .resto-filter{border:1px solid #ded8ee;border-radius:var(--radius-global, 5px);background:#fff;color:#4F24D9;padding:9px 12px;min-height:41px;cursor:pointer;font:750 11px/1.2 Inter,sans-serif;white-space:nowrap}
#main-view .resto-filter[aria-pressed=true]{background:linear-gradient(100deg,#6129E8,#DF249C 65%,#FF7028);border-color:transparent;color:#fff}
#main-view .resto-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:13px 2px 15px;color:#667085;font:550 11px/1.55 Inter,sans-serif}
#main-view .resto-status strong{display:block;color:#19192c;font-size:12px}
#main-view .resto-status span{display:block;margin-top:3px}
#main-view .resto-update{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 14px;border-radius:var(--radius-global, 5px);border:1px solid #dad3eb;background:#fff;color:#4F24D9;font:800 11px Inter,sans-serif;cursor:pointer}
#main-view .resto-update:hover,#main-view .resto-filter:not([aria-pressed=true]):hover{background:#f6f0ff}
#main-view .resto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch;margin:0}
#main-view .resto-category{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border-radius:var(--radius-global, 5px);background:linear-gradient(110deg,#4F24D9,#8B22E8 58%,#E51B94);color:#fff!important;font:800 10px/1.3 Inter,sans-serif;letter-spacing:.015em}
#main-view .resto-category--uncertain{background:#ffedd5!important;color:#823f11!important;border:1px solid #ffcc90}
#main-view .resto-fav{width:37px;height:37px;flex:none;display:grid;place-items:center;cursor:pointer;background:#fff;border:1px solid #eee2f5;border-radius:50%;color:#a02cbd;font-size:15px}
#main-view .resto-fav[aria-pressed=true]{background:#fbe9f4;border-color:#efb0d8;color:#c51682}
#main-view .resto-name{font:800 clamp(16px,1.65vw,19px)/1.24 Inter,system-ui,sans-serif!important;color:#151729!important;margin:0!important;overflow-wrap:anywhere}
#main-view .resto-description{font:450 12.5px/1.72 Inter,sans-serif!important;color:#566075!important;margin:0!important;white-space:normal;overflow-wrap:anywhere}
#main-view .resto-address{display:flex;align-items:flex-start;gap:8px;font:600 11px/1.5 Inter,sans-serif!important;color:#4c5265!important;margin:0!important}
#main-view .resto-address i{color:#6129E8;margin-top:2px}
#main-view .resto-main-action{width:100%;min-height:43px;text-align:center;display:flex;justify-content:center;gap:8px;align-items:center;border-radius:var(--radius-global, 5px)!important;font:800 12px Inter,sans-serif}
#main-view .resto-empty{grid-column:1/-1;padding:25px 20px;text-align:center;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.82)!important;color:#596071}
#main-view .resto-notice{font-size:11px;line-height:1.7;color:#60667a;margin:17px 2px 0}
#main-view .resto-menu-entry{display:flex;align-items:center;gap:13px;width:100%;margin:12px 0 18px;padding:18px!important;background:rgba(255,255,255,.85)!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:var(--radius-global, 5px)!important;color:#11172B!important;box-shadow:0 10px 23px rgba(79,36,217,.09)!important;text-align:left;cursor:pointer}
#main-view .resto-menu-entry strong{color:#1f1d37;font-size:14px}
#main-view .resto-menu-entry small{display:block;color:#667085;font-size:11px}
#main-view .resto-menu-entry .menu-arrow{margin-left:auto}
#main-view .resto-favorites-section{max-width:1160px;margin:15px auto 30px}
#main-view .resto-favorites-heading{margin-bottom:15px}
#main-view .resto-favorites-heading h2{font-size:20px;color:#11172B}
#main-view .resto-favorites-heading p{font-size:12px;color:#667085}
#main-view .resto-favorites-title{font:800 23px Inter,sans-serif;color:#11172B}
#modal-search .resto-global-results{border-top:1px solid #ddd6eb;margin-top:18px;padding-top:16px}
#modal-search .resto-global-results h4{font-size:12px;text-transform:uppercase;font-weight:800;color:#4F24D9;margin-bottom:10px}
#modal-search .resto-global-results button{display:block;text-align:left;width:100%;border:1px solid #e7ddec;background:#fff;border-radius:var(--radius-global, 5px);margin:0 0 8px;padding:10px 13px;color:#17172a}
#modal-search .resto-global-results button span{display:block;font-size:10px;color:#4F24D9;font-weight:800}
#modal-search .resto-global-results button strong{display:block;font-size:13px;margin-top:2px}
#modal-search .resto-global-results button small{display:block;color:#667085;font-size:11px;line-height:1.4;margin-top:3px}
#modal-search .resto-global-link{display:flex;align-items:center;gap:10px;border:1px solid #d9cbee;background:#f7f1ff;color:#4F24D9;border-radius:var(--radius-global, 5px);padding:12px 14px;font:750 12px Inter,sans-serif;width:100%;text-align:left}
#main-view .resto-page :is(button,input,select,a):focus-visible,#modal-search .resto-global-results button:focus-visible{outline:3px solid #4F24D9;outline-offset:3px}
@media(max-width:1000px){
#main-view .resto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
#main-view .resto-grid{grid-template-columns:1fr;gap:12px}
#main-view .resto-header{padding:19px;border-radius:var(--radius-global, 5px)}
#main-view .resto-header-mark{flex-basis:48px;height:48px;font-size:18px;border-radius:var(--radius-global, 5px)}
#main-view .resto-intro{font-size:12px;line-height:1.5}
#main-view .resto-search-panel{padding:15px;margin-top:13px}
#main-view .resto-filters{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding-bottom:5px}
#main-view .resto-filter{flex:0 0 auto}
#main-view .resto-status{margin:11px 2px}
}
.dark-theme #main-view :is(.resto-card,.resto-search-panel,.resto-empty,.resto-menu-entry){background:rgba(25,33,54,.94)!important;border-color:rgba(195,175,250,.16)!important;color:#fff!important}
.dark-theme #main-view :is(.resto-name,.resto-status strong,.resto-menu-entry strong,.resto-favorites-heading h2,.resto-favorites-title){color:#fff!important}
.dark-theme #main-view :is(.resto-description,.resto-address,.resto-notice,.resto-status,.resto-favorites-heading p){color:#d7d4e4!important}
.dark-theme #main-view #resto-search,.dark-theme #main-view #resto-category-select{background:#192039!important;color:#fff!important;border-color:#4f496b!important}
.dark-theme #main-view .resto-filter{background:#1d2642;color:#eee;border-color:#544a72}
.dark-theme #main-view .resto-filter[aria-pressed=true]{background:linear-gradient(100deg,#6129E8,#DF249C 65%,#FF7028)}
/* ===== assets/production-corrections.css ===== */
:root{--fil-action-gap:10px}
#main-view .fil-public-actions>*{margin:0!important;max-width:100%!important;min-height:44px!important;box-sizing:border-box!important}
#main-view .fil-public-actions>.fil-public-fav{grid-column:1/-1}
#main-view .fil-public-actions>.fil-public-open{grid-column:1/-1}
#main-view .square-links{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:8px!important}
/* ===== assets/le-fil-articles.css ===== */
/* Navigation V6 : sept entrées ; Le Fil à gauche du rond, Restauration à droite. */
#main-view .fil-editorial{
  width:min(100%,1240px);max-width:1240px;margin:0 auto;
  padding:clamp(14px,2.4vw,30px) clamp(13px,2.2vw,28px) 36px;
  font-family:Inter,system-ui,sans-serif;color:#20223c;
}
#main-view .fil-ed-intro{
  position:relative;overflow:hidden;padding:clamp(25px,4vw,44px);
  border-radius:var(--radius-global, 5px);background:linear-gradient(110deg,#4F24D9 0%,#8B22E8 38%,#E51B94 73%,#FF7028 100%);
  box-shadow:0 20px 55px rgba(79,36,217,.21);color:#fff;
}
#main-view .fil-ed-intro::after{
  content:"";position:absolute;right:-70px;top:-80px;width:270px;height:270px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);pointer-events:none;
}
#main-view .fil-ed-intro > *{position:relative;z-index:1}
#main-view .fil-ed-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:rgba(255,255,255,.88)}
#main-view .fil-ed-intro h1{
  margin:13px 0;font:800 clamp(29px,4.5vw,48px)/1.12 Inter,system-ui,sans-serif!important;
  color:white!important;letter-spacing:-.025em;
}
#main-view .fil-ed-intro p{max-width:670px;font-size:clamp(13px,1.45vw,16px);line-height:1.75;color:#fff!important}
#main-view .fil-ed-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
#main-view .fil-ed-socials a{
  display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.17);
  color:white!important;font-weight:750;font-size:12px;padding:11px 15px;border-radius:var(--radius-global, 5px);
  border:1px solid rgba(255,255,255,.28);text-decoration:none;
}
#main-view .fil-ed-socials a:hover{background:rgba(255,255,255,.28)}
#main-view .fil-ed-note{
  margin:18px 0 19px;padding:13px 16px;border-left:3px solid #8b22e8;
  border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.83);
  font-size:12px;line-height:1.65;color:#4a4564;
}
#main-view .fil-ed-categorybar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 19px}
#main-view .fil-ed-filter{
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(98,41,232,.16);background:rgba(255,255,255,.83);
  color:#43268f;box-shadow:none;font:700 12px/1.2 Inter,system-ui,sans-serif;
  padding:10px 14px;border-radius:var(--radius-global, 5px);
}
#main-view .fil-ed-filter[aria-pressed='true']{color:white;background:#4f24d9;border-color:#4f24d9}
#main-view .fil-ed-filter:focus-visible,#main-view .fil-ed-link:focus-visible,#main-view .fil-ed-back:focus-visible{outline:3px solid #8b22e8;outline-offset:3px}
#main-view .fil-ed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:stretch}
#main-view .fil-ed-card{
  min-width:0;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--radius-global, 5px);
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 14px 35px rgba(43,22,109,.14);
  transition:transform .22s ease,box-shadow .22s ease;
}
#main-view .fil-ed-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(43,22,109,.19)}
#main-view .fil-ed-card-visual{display:block;width:100%;aspect-ratio:4/5;position:relative;overflow:hidden;flex-shrink:0}
#main-view .fil-ed-card-image{
  display:block;width:100%;height:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover));object-position:center;
  background:#2a104b;
}
#main-view .fil-ed-card-body{display:flex;flex:1;flex-direction:column;padding:20px;gap:11px}
#main-view .fil-ed-kicker{font-weight:800;color:#6627d8;text-transform:uppercase;font-size:10px;letter-spacing:.1em}
#main-view .fil-ed-card h2{margin:0!important;color:#181936!important;font:800 clamp(16px,1.4vw,19px)/1.28 Inter,system-ui,sans-serif!important}
#main-view .fil-ed-card p{margin:0!important;font-size:12.5px;line-height:1.7;color:#53576d!important}
#main-view .fil-ed-link{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;
  font:800 12px/1.2 Inter,system-ui,sans-serif;min-height:43px;border:0;border-radius:var(--radius-global, 5px);
  background:linear-gradient(100deg,#6129E8,#DF249C 66%,#FF7028);
  color:#fff!important;padding:11px 14px;text-decoration:none;cursor:pointer;
}
#main-view .fil-ed-article{
  overflow:hidden;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.91)!important;
  box-shadow:0 17px 40px rgba(43,22,109,.14);
  border:1px solid rgba(255,255,255,.7);
}
#main-view .fil-ed-article-hero{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);background:#1d1235;color:white;align-items:center}
#main-view .fil-ed-article-visual{position:relative;display:block;width:100%;height:100%;min-height:480px;overflow:hidden}
#main-view .fil-ed-article-img{display:block;width:100%;height:100%;max-height:none;object-fit:var(--record-media-fit,var(--page-media-fit,cover));object-position:center;background:#211037}
#main-view .fil-ed-article-heading{padding:clamp(20px,4vw,40px);background:linear-gradient(120deg,#4320b3,#9b1bba 60%,#d5238c)}
#main-view .fil-ed-article-heading h1{color:white!important;font:800 clamp(25px,3.25vw,39px)/1.18 Inter,system-ui,sans-serif!important;margin:13px 0!important}
#main-view .fil-ed-article-heading p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.95)!important}
#main-view .fil-ed-article-body{padding:clamp(22px,4vw,42px);max-width:840px;margin:auto}
#main-view .fil-ed-article-body h2{margin:22px 0 10px!important;color:#28203e!important;font:800 20px/1.3 Inter,system-ui,sans-serif!important}
#main-view .fil-ed-article-body p{font-size:15px;line-height:1.85;color:#414355!important;margin:0 0 14px!important}
#main-view .fil-ed-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px}
#main-view .fil-ed-back{display:inline-flex;align-items:center;gap:9px;margin:0 0 15px;padding:11px 14px;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.84);border:1px solid rgba(98,41,232,.2);color:#5124bc!important;font-weight:800;font-size:12px;cursor:pointer}
#main-view .fil-ed-actions button,#main-view .fil-ed-actions a{font-size:12px}
#main-view .fil-ed-noresults{margin:20px 0;padding:18px;background:white;border-radius:var(--radius-global, 5px);font-size:13px}
#main-view .fil-ed-smallprint{margin-top:20px!important;color:#5e5e79!important;font-size:11px!important;line-height:1.6}
#main-view .fil-ed-source-link{color:#5124bc!important;text-decoration:underline;text-underline-offset:2px;font-weight:700}
#main-view .fil-ed-banner-menu{
  width:100%;margin:0 0 18px!important;padding:16px 18px;display:flex;gap:14px;align-items:center;
  color:#fff!important;border:0;border-radius:var(--radius-global, 5px);
  background:linear-gradient(100deg,#4F24D9,#8B22E8 48%,#E51B94 100%);
  box-shadow:0 13px 27px rgba(79,36,217,.16);text-align:left;cursor:pointer;
}
#main-view .fil-ed-banner-menu i{font-size:26px}
#main-view .fil-ed-banner-menu strong{display:block;font-size:15px}
#main-view .fil-ed-banner-menu small{font-size:11px;color:rgba(255,255,255,.88)}
#main-view .fil-ed-banner-menu .fa-arrow-right{margin-left:auto;font-size:16px}
.dark-theme #main-view .fil-ed-card,.dark-theme #main-view .fil-ed-article,.dark-theme #main-view .fil-ed-note{
  background:rgba(29,33,54,.94)!important;border-color:rgba(196,181,253,.22);
}
.dark-theme #main-view .fil-ed-card h2,.dark-theme #main-view .fil-ed-article-body h2{color:#fff!important}
.dark-theme #main-view .fil-ed-card p,.dark-theme #main-view .fil-ed-article-body p,.dark-theme #main-view .fil-ed-note{color:#dbe0ef!important}
.dark-theme #main-view .fil-ed-filter{background:rgba(32,32,58,.94);color:#eee;border-color:rgba(196,181,253,.28)}
.dark-theme #main-view .fil-ed-filter[aria-pressed='true']{background:#6529ec;color:white}
@media(max-width:950px){
#main-view .fil-ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
#main-view .fil-ed-grid{grid-template-columns:1fr;gap:14px}
#main-view .fil-ed-card{display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);min-height:180px}
#main-view .fil-ed-card-visual{height:100%;aspect-ratio:auto}
#main-view .fil-ed-card-image{height:100%;aspect-ratio:auto;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#main-view .fil-ed-card-body{padding:14px;gap:8px}
#main-view .fil-ed-card h2{font-size:15px!important}
#main-view .fil-ed-card p{font-size:11px;line-height:1.55}
#main-view .fil-ed-link{min-height:37px;padding:9px 11px;font-size:11px}
#main-view .fil-ed-intro{padding:22px;border-radius:var(--radius-global, 5px)}
#main-view .fil-ed-article-hero{grid-template-columns:1fr}
#main-view .fil-ed-article-visual{min-height:0;height:clamp(240px,65vw,460px)}
#main-view .fil-ed-article-img{height:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#main-view .fil-ed-article-heading{padding:22px}
#main-view .fil-ed-article-body{padding:20px}
#main-view .fil-ed-article-body p{font-size:13.5px;line-height:1.7}
}
@media(max-width:360px){
#main-view .fil-ed-card{grid-template-columns:1fr}
#main-view .fil-ed-card-visual{height:auto;aspect-ratio:4/5}
#main-view .fil-ed-card-image{height:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#main-view .fil-ed-card-body{padding:16px}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-ed-card{transition:none}
#main-view .fil-ed-card:hover{transform:none}
}
/* Images éditoriales : surface totalement remplie, zoom accessible sans recadrage. */
#main-view .fil-ed-image-trigger{
  margin:0;padding:0;appearance:none;border:0;border-radius:var(--radius-global, 5px);background:#211037;
  text-align:left;cursor:zoom-in;color:white;line-height:0;isolation:isolate;
}
#main-view .fil-ed-image-trigger:focus-visible{outline:4px solid #ff7028;outline-offset:-4px;z-index:2}
#main-view .fil-ed-image-zoom{
  position:absolute;right:11px;bottom:11px;display:inline-flex;gap:8px;align-items:center;
  background:rgba(17,23,43,.83);color:#fff;padding:11px 13px;
  border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-global, 5px);
  font:800 12px/1 Inter,system-ui,sans-serif;
  box-shadow:0 6px 22px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.fil-ed-lightbox{
  position:fixed;inset:0;margin:auto;width:min(98vw,1280px);height:min(96dvh,980px);
  max-width:none;max-height:none;padding:0;border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-global, 5px);overflow:hidden;background:#11172b;color:#fff;
  box-shadow:0 36px 100px rgba(0,0,0,.55);
}
.fil-ed-lightbox::backdrop{background:rgba(8,8,20,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fil-ed-lightbox-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:45px 12px 16px;gap:12px}
.fil-ed-lightbox-image{display:block;max-width:100%;max-height:calc(100% - 45px);width:auto;height:auto;object-fit:contain;box-shadow:0 10px 36px rgba(0,0,0,.2)}
.fil-ed-lightbox-caption{flex-shrink:0;margin:0;color:#f2eaff;text-align:center;font:700 12px/1.4 Inter,system-ui,sans-serif}
.fil-ed-lightbox-close{
  position:absolute;z-index:5;right:12px;top:10px;display:grid;place-items:center;
  width:44px;height:44px;background:#fff;border:2px solid rgba(255,255,255,.6);
  border-radius:var(--radius-global, 5px);cursor:pointer;color:#4320b3;font:700 32px/1 Arial,sans-serif;
}
.fil-ed-lightbox-close:hover{background:#f3eaff}
.fil-ed-lightbox-close:focus-visible{outline:4px solid #ff7028;outline-offset:2px}
@media(max-width:620px){
.fil-ed-lightbox{width:100vw;height:100dvh;border-radius:var(--radius-global, 5px);border:0}
.fil-ed-lightbox-wrap{padding:62px 8px 20px}
.fil-ed-lightbox-image{max-height:calc(100% - 52px)}
#main-view .fil-ed-image-zoom{padding:9px 10px;font-size:11px;right:8px;bottom:8px}
}
#main-view .fil-ed-card--text-only{display:flex}
#main-view .fil-ed-article-hero--text-only{grid-template-columns:1fr}
/* ===== assets/harmonisation-v9.css ===== */
/* V9 – Ajustements visuels communs, sans reconstruction de l'application. */
:root{--fil-visual-scale:.8;--fil-size-width:125vw;--fil-size-height:125dvh;--fil-divider:rgba(94,71,134,.20)}
/* Échelle visuelle initiale de 80% : espace corrigé à 125% pour conserver la largeur d'écran. */
html,body{overflow:hidden!important}
#app-root{
  zoom:var(--fil-visual-scale);
  position:absolute!important;top:0!important;left:0!important;
  flex:0 0 auto!important;box-sizing:border-box!important;
  width:var(--fil-size-width)!important;max-width:1750px!important;
  height:var(--fil-size-height)!important;max-height:none!important;
  border-radius:var(--radius-global, 5px);
}
@media(min-width:768px){
#app-root{top:15px!important;left:15px!important;width:min(calc(var(--fil-size-width) - 30px),1750px)!important;height:calc(var(--fil-size-height) - 30px)!important;border-radius:var(--radius-global, 5px)!important}
}
/* Retirer toute animation du fond, garder uniquement sa texture statique atténuée. */
#particle-canvas{display:none!important}
body::before{opacity:.5!important;filter:blur(18px) saturate(.94) brightness(.96)!important}
body::after{opacity:.5!important}
/* Le choix Clair/Sombre n'est plus proposé ; l'état d'apparence par défaut est clair. */
#theme-dialog,button[onclick="Theme.open()"]{display:none!important}
/* Navigation : 7 cellules égales, séparateurs et activation de l'icône uniquement. */
/* Page de présentation 3:4 sur smartphone, bandeau limité sur ordinateur. */
#main-view .fil-intro-page{width:100%;max-width:1240px;margin:0 auto;box-sizing:border-box}
#main-view .fil-page-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden;
  box-sizing:border-box!important;width:100%;min-width:0;min-height:300px;aspect-ratio:16/7;margin:0 0 18px;padding:clamp(24px,3.5vw,42px)!important;
  border-radius:var(--radius-global, 5px);border:1px solid rgba(255,255,255,.25);
  background:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%);
  box-shadow:0 18px 40px rgba(79,36,217,.17);color:#fff!important;
}
#main-view .fil-page-intro.has-art{background-position:center;background-size:cover;background-repeat:no-repeat}
#main-view .fil-page-intro.has-art::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(18,9,52,.80),rgba(48,14,96,.57) 57%,rgba(25,13,68,.16));z-index:-1}
#main-view .fil-page-intro::after{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-52px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 70%)}
#main-view .fil-intro-content{max-width:640px}
#main-view .fil-intro-eyebrow{font:800 11px/1.4 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9)!important}
#main-view .fil-intro-title{font:800 clamp(29px,3.7vw,52px)/1.07 Inter,system-ui,sans-serif!important;letter-spacing:-.04em;color:#fff!important;overflow-wrap:anywhere;margin:14px 0 12px!important}
#main-view .fil-intro-desc{font:500 clamp(12px,1.25vw,16px)/1.6 Inter,sans-serif!important;color:#fff!important;max-width:52ch;margin:0!important}
#main-view .fil-intro-scroll{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;justify-content:center;
  min-height:50px;padding:11px 17px;margin-top:24px;
  background:#fff!important;color:#4F24D9!important;border-radius:var(--radius-global, 5px);border:0;
  font:800 13px/1.3 Inter,sans-serif!important;box-shadow:0 10px 20px rgba(20,10,45,.14);cursor:pointer}
#main-view .fil-intro-scroll i{font-size:16px;color:#E51B94}
#main-view .fil-intro-scroll:is(:hover,:focus-visible){background:#fdf4ff!important;outline:3px solid #fff;outline-offset:3px}
@media(max-width:640px){
#main-view .fil-page-intro{width:100%;min-height:0;aspect-ratio:3/4;max-height:650px;border-radius:var(--radius-global, 5px);padding:23px!important}
#main-view .fil-intro-title{font-size:clamp(30px,6.9vw,40px)!important}
#main-view .fil-intro-desc{font-size:13px!important;line-height:1.6!important}
#main-view .fil-intro-scroll{min-height:54px;width:100%;align-self:stretch;margin-top:10px}
}
@media(max-width:355px){
#main-view .fil-page-intro{padding:18px!important}
.fil-intro-title{font-size:28px!important}
}
/* Même moteur visuel que Restauration, fonctions historiques inchangées. */
#main-view .fil-unified-list{max-width:1240px!important;box-sizing:border-box}
#main-view .fil-search-panel{margin:0 0 14px!important;padding:clamp(16px,2.3vw,24px)!important;
 background:rgba(255,255,255,.86)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:var(--radius-global, 5px);
 box-shadow:0 12px 27px rgba(79,36,217,.08)}
#main-view .fil-search-panel .resto-label{font-size:12px!important;color:#29213e!important}
#main-view .fil-search-panel .resto-search-row>input{display:block;width:100%;min-height:50px;box-sizing:border-box;
 padding:11px 16px 11px 45px;border-radius:var(--radius-global, 5px)!important;font:550 16px/1.4 Inter,sans-serif!important;
 color:#11172B!important;background:#fff!important;border:1px solid #d6d2e4!important}
#main-view .fil-search-panel select{display:block;width:100%;min-height:48px;font-size:13px!important;border-radius:var(--radius-global, 5px)!important;
 color:#29213e!important;background:#fff!important;border:1px solid #d6d2e4!important}
#main-view .fil-search-panel .resto-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:13px}
#main-view .fil-search-panel .resto-filter{min-height:43px;padding:9px 13px;border-radius:var(--radius-global, 5px);
 background:#fff;color:#4F24D9;border:1px solid #ded8ee;font:750 11px/1.2 Inter,sans-serif;cursor:pointer}
#main-view .fil-search-panel .resto-filter[aria-pressed="true"]{background:linear-gradient(100deg,#6129E8 0%,#DF249C 65%,#FF7028 100%);color:#fff;border-color:transparent}
#main-view .fil-search-count{font:700 12px/1.4 Inter,sans-serif;color:#312648;margin:14px 2px 0}
#main-view .fil-search-panel :is(input,select,button):focus-visible{outline:3px solid #4F24D9;outline-offset:3px}
@media(max-width:640px){
#main-view .fil-search-panel .resto-filters{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
}
/* Garantir une bonne lisibilité même si le zoom visuel demandé est à 80%. */
#main-view .fil-search-panel input,#main-view .fil-search-panel select{font-size:16px!important}
#main-view .fil-page-intro,#main-view .fil-search-panel{scroll-margin-top:20px}
@media(prefers-reduced-motion:reduce){
#main-view .fil-intro-scroll{scroll-behavior:auto!important}
}
/* ===== assets/finition-v10.css ===== */
/* V10 : finition sur les pages existantes, sans modification des données. */
:root{--v10-plum:#35215f;--v10-accent:#4F24D9;--v10-edge:rgba(79,36,217,.14)}
/* Le carrousel à six fiches À LA UNE SUR LE FIL est la première section de l'accueil. */
#main-view .fil-home-first .fil-featured{order:-1;margin-top:0!important;margin-bottom:18px!important}
#main-view .fil-featured.fil-actualite-premiere{border-radius:var(--radius-global, 5px);scroll-margin-top:14px}
#main-view .fil-featured.fil-actualite-premiere .fil-featured-head h2{font-family:Inter,system-ui,sans-serif!important;font-size:clamp(23px,3vw,32px)!important;font-weight:850!important;color:var(--v10-plum)!important;letter-spacing:-.035em}
#main-view .fil-featured.fil-actualite-premiere .fil-featured-head .fil-featured-eyebrow{color:var(--v10-accent)!important}
/* Affiche Restauration fournie : format proche de l'original sur mobile, fond complet sur ordinateur. */
#main-view .fil-page-intro.fil-resto-poster{background-color:#1b103e;background-position:center 30%;background-size:cover}
#main-view .fil-page-intro.fil-resto-poster::before{background:linear-gradient(90deg,rgba(17,13,45,.91) 0%,rgba(26,11,64,.83) 36%,rgba(26,11,64,.21) 100%)!important}
#main-view .fil-page-intro.fil-resto-poster .fil-intro-content{max-width:44ch}
#main-view .fil-page-intro.fil-resto-poster .fil-intro-scroll{background:#fff!important;color:#4F24D9!important}
@media(max-width:640px){
#main-view .fil-page-intro.fil-resto-poster{background-size:cover;background-position:center 35%}
#main-view .fil-page-intro.fil-resto-poster::before{background:linear-gradient(180deg,rgba(15,10,46,.76),rgba(24,11,55,.30) 48%,rgba(20,12,47,.88) 100%)!important}
#main-view .fil-page-intro.fil-resto-poster .fil-intro-content{max-width:100%}
}
/* Un moteur unique pour restaurants, associations, boutiques, services et agenda. */
#main-view .resto-search-panel,#main-view .fil-search-panel,#main-view .fil-v10-search{
 width:100%;box-sizing:border-box;min-width:0;background:rgba(255,255,255,.91)!important;
 border:1px solid rgba(79,36,217,.12)!important;border-radius:var(--radius-global, 5px)!important;
 box-shadow:0 12px 28px rgba(79,36,217,.09)!important;padding:clamp(16px,2.2vw,24px)!important;
}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-label{font:800 12px/1.4 Inter,system-ui,sans-serif!important;color:#28213c!important}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) :is(input[type="search"],.category-dropdown){min-height:48px;font:550 16px/1.45 Inter,system-ui,sans-serif!important;border:1px solid #d5cee7!important;background:#fff!important;border-radius:var(--radius-global, 5px)!important;color:#11172B!important;box-sizing:border-box}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-search-row{position:relative}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-search-row>input{width:100%;padding-left:44px!important}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-search-row>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#4F24D9;pointer-events:none}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:100%;}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-filter{font:750 11px/1.2 Inter,sans-serif;min-height:42px;padding:10px 14px;border-radius:var(--radius-global, 5px);border:1px solid #ddd5ef;background:#fff;color:#4F24D9;white-space:nowrap}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-filter[aria-pressed="true"]{background:linear-gradient(100deg,#6129E8,#DF249C 65%,#FF7028)!important;border-color:transparent!important;color:#fff!important}
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) :is(input,select,button):focus-visible{outline:3px solid #4F24D9!important;outline-offset:2px}
#main-view .fil-v10-search{margin-bottom:18px!important}
#main-view .fil-v10-search .fil-search-count{font-weight:750;color:#35215f;margin-top:12px}
@media(max-width:650px){
#main-view :is(.resto-search-panel,.fil-search-panel,.fil-v10-search) .resto-filters{flex-wrap:nowrap;overflow:auto;padding:3px 3px 10px;scrollbar-width:thin}
}
/* Aucune fiche tronquée : les cartes grandissent avec toutes les informations disponibles. */
#main-view .event-card .event-card-copy .editorial-excerpt,#main-view article .editorial-excerpt,#main-view .resto-card .resto-description,#main-view .resto-card .resto-address,#main-view .fil-unified-list article p{
 display:block!important;max-height:none!important;overflow:visible!important;
 -webkit-line-clamp:unset!important;line-clamp:unset!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;
}
#main-view .event-card-main{min-width:0;align-items:start}
#main-view .event-card .event-media{overflow:hidden!important}
#main-view .event-card .event-media img{object-fit:contain;background:#f1edf7;height:auto!important;aspect-ratio:1}
#main-view .fil-v10-list{max-width:1240px!important}
#main-view .fil-v10-list .grid{align-items:stretch}
#main-view .fil-v10-list article button{white-space:normal}
@media(prefers-reduced-motion:reduce){
#main-view .fil-featured *,#main-view .resto-card{animation:none!important;transition:none!important}
}
/* ===== assets/ajustements-v12.css ===== */
/* V12 : identité des fiches Restauration, contraste et commandes de zoom. */
:root{ --fil-size-width:125vw; --fil-size-height:125dvh; }
/* Une bannière nominative propre pour chaque restaurant{padding:20px clamp(17px,2vw,23px);border-radius:var(--radius-global, 5px);background:linear-gradient(115deg,#4F24D9,#8B22E8 35%,#E51B94 74%,#FF7028);color:white!important;box-shadow:0 12px 25px rgba(97,41,232,.16);margin:0 0 20px}
/* Agenda : image générique si la photo manque, jamais assimilée à la photo de l'événement. */
.event-media--placeholder{border:1px solid #e2d5f4;border-radius:var(--radius-global, 5px);background:#170b36!important}
.event-media--placeholder img{width:100%;height:auto;aspect-ratio:16/9;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;background:#170b36!important}
.event-media--placeholder figcaption{color:#615275!important;background:#f6f1ff;padding:8px 10px;font:600 10px/1.45 Inter,sans-serif}
#main-view .event-card .event-media--placeholder img{height:auto!important;aspect-ratio:1!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important}
@media(prefers-reduced-motion:reduce){
.resto-card{transition:none!important}
}
/* ===== assets/fiches-locales.css ===== */
/* V13 — fiches professionnelles harmonisées + générateur de visuels. */
:root{--fil-v13-grad:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%)}
/* ===== assets/fiches-professionnelles-v14.css ===== */
/* V14 — Fiche professionnelle inspirée du modèle fourni : claire, lisible, informations en rangées. */
:root{--fil-v14-gradient:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%)}
/* ===== assets/accueil-mairie-v15.css ===== */
/* V15 — accueil éditorial, carrousel, mairie et navigation sociale. */
:root{--v15-gradient:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%)}
#main-view .fil-v15-carousel.fil-featured{grid-column:1/-1;order:-2!important;width:100%;min-width:0;max-width:none;margin:0 0 18px!important;padding:15px 16px 17px!important;border:1px solid rgba(79,36,217,.1);border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.89)!important;box-shadow:0 16px 44px rgba(79,36,217,.12)}
#main-view .fil-v15-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;padding:1px 5px 12px}
#main-view .fil-v15-heading h2{color:#241642!important;font:850 clamp(21px,3vw,32px)/1.1 Inter,system-ui,sans-serif!important;letter-spacing:-.035em;margin:5px 0 0}
#main-view .fil-v15-eyebrow{display:block;color:#6129e8;font:800 10px/1.4 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
#main-view .fil-v15-position{font:800 12px Inter,system-ui,sans-serif;color:#5a438f;white-space:nowrap;font-variant-numeric:tabular-nums}
#main-view .fil-v15-stage{position:relative;min-height:300px;aspect-ratio:16 / 7;max-height:650px;width:100%;isolation:isolate;overflow:hidden;border-radius:var(--radius-global, 5px);background:#261158}
#main-view .fil-v15-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:clamp(20px,3vw,39px);box-sizing:border-box;opacity:0;visibility:hidden;transform:translateX(18px) scale(1.013);transition:opacity .45s ease,transform .45s ease,visibility .45s;pointer-events:none;z-index:0;color:white!important}
#main-view .fil-v15-slide.is-active{opacity:1;visibility:visible;transform:translateX(0) scale(1);pointer-events:auto;z-index:1}
#main-view .fil-v15-slide.is-ad{padding:0;background:var(--v15-gradient)}
#main-view .fil-v15-slide .fil-ad-slot,#main-view .fil-v15-slide .fil-ad-card{height:100%;box-sizing:border-box}
#main-view .fil-v15-slide .fil-ad-card{min-height:100%;border-radius:var(--radius-global, 5px);display:flex;flex-direction:column;justify-content:space-between}
#main-view .fil-v15-picture{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;background:var(--v15-gradient);cursor:default;z-index:-1;overflow:hidden}
#main-view .fil-v15-picture img{display:block;width:100%;height:100%;object-fit:var(--slide-media-fit,cover);object-position:var(--slide-media-position,center);opacity:.86}
#main-view .fil-v15-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,11,49,.94) 0%,rgba(19,13,59,.78) 32%,rgba(35,14,66,.22) 74%,rgba(23,10,56,.16) 100%);pointer-events:none}
#main-view .fil-v15-no-art{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 26%,rgba(255,255,255,.23),transparent 24%),radial-gradient(circle at 22% 84%,rgba(255,112,40,.35),transparent 26%)}
#main-view .fil-v15-watermark{position:absolute;right:7%;top:10%;font-size:clamp(80px,13vw,180px);color:rgba(255,255,255,.30);pointer-events:none}
#main-view .fil-v15-slide-info{position:relative;z-index:2;pointer-events:none;max-width:680px}
#main-view .fil-v15-slide-kicker{font:850 11px Inter,system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#fff!important}
#main-view .fil-v15-slide-info h3{font:850 clamp(25px,4vw,48px)/1.11 Inter,system-ui,sans-serif;color:#fff!important;letter-spacing:-.04em;margin:10px 0!important;text-wrap:balance}
#main-view .fil-v15-slide-info p{font:550 clamp(12px,1.5vw,15px)/1.6 Inter,system-ui,sans-serif;color:rgba(255,255,255,.95)!important;margin:0 0 18px!important;max-width:52ch}
#main-view .fil-v15-open{position:relative;z-index:3;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;border-radius:var(--radius-global, 5px);background:white!important;border:1px solid rgba(255,255,255,.9);padding:12px 20px;color:#4F24D9!important;font:850 13px Inter,system-ui,sans-serif;box-shadow:0 8px 17px rgba(0,0,0,.12)}
#main-view .fil-v15-open:hover{background:#eee8ff!important}
#main-view .fil-v15-nav{display:flex;align-items:center;gap:9px;margin-top:13px;width:100%;min-width:0}
#main-view .fil-v15-prev,#main-view .fil-v15-next,#main-view .fil-v15-pause{display:grid;place-items:center;flex:none;width:43px;height:43px;min-height:43px;border:1px solid #ddd0f4;border-radius:var(--radius-global, 5px);background:#fff!important;color:#4F24D9!important;font-size:22px;cursor:pointer}
#main-view .fil-v15-pause{font-size:12px;font-weight:800;width:auto;min-width:66px;padding:0 11px}
#main-view .fil-v15-progress{flex:1;display:flex;gap:4px;min-width:0;padding:11px 0;align-items:center}
#main-view .fil-v15-step{position:relative;display:block;flex:1;min-width:3px;height:18px;cursor:pointer;border:0;background:none;padding:0;border-radius:var(--radius-global, 5px)}
#main-view .fil-v15-step-track{display:block;width:100%;height:5px;background:#d7ceec;border-radius:var(--radius-global, 5px);overflow:hidden}
#main-view .fil-v15-step-fill{display:block;transform-origin:left center;transform:scaleX(0);width:100%;height:100%;background:var(--v15-gradient);border-radius:var(--radius-global, 5px)}
#main-view .fil-v15-step[aria-current=true] .fil-v15-step-track{height:6px;background:#bcaae8}
#main-view .fil-v15-step:focus-visible,#main-view .fil-v15-nav>button:focus-visible,#main-view .fil-v15-open:focus-visible{outline:3px solid #e51b94;outline-offset:2px}
#main-view .fil-v15-live{margin:7px 2px 0;min-height:16px;color:#675a82;font:650 11px Inter,system-ui,sans-serif}
#main-view .fil-v15-mairie{grid-column:1/-1;max-width:100%;border:1px solid rgba(79,36,217,.12);border-radius:var(--radius-global, 5px);padding:17px;background:rgba(255,255,255,.88)!important;box-shadow:0 13px 32px rgba(79,36,217,.10)}
#main-view .fil-v15-mairie .fil-v15-mairie-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}
#main-view .fil-v15-mairie .fil-v15-mairie-extras button{min-height:47px;padding:10px 11px;border-radius:var(--radius-global, 5px);font:750 12px/1.3 Inter,system-ui,sans-serif;border:1px solid #e2d4f4;background:#fff;color:#5324be}
#main-view .fil-v15-mairie .fil-v15-mairie-extras button.is-saved{background:#fde7f6;color:#a51f76;border-color:#f3c5e5}
#main-view .fil-v15-mairie .fil-v15-mairie-extras button:first-child{background:var(--v15-gradient);color:white;border:0}
#main-view .fil-v15-fresh{grid-column:1/-1;padding:20px;border:1px solid rgba(79,36,217,.12);border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.88)!important;box-shadow:0 11px 25px rgba(79,36,217,.08)}
#main-view .fil-v15-fresh>h2{font:850 clamp(19px,2.6vw,28px) Inter,system-ui,sans-serif;color:#261648!important;margin:5px 0 13px}
#main-view .fil-v15-fresh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#main-view .fil-v15-fresh-card{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px;background:#fff!important;border:1px solid #e9dff6;border-radius:var(--radius-global, 5px);text-decoration:none!important;transition:transform .16s,box-shadow .16s}
#main-view .fil-v15-fresh-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(79,36,217,.14)}
#main-view .fil-v15-fresh-card span{font:800 10px Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7141cb}
#main-view .fil-v15-fresh-card strong{font:800 15px/1.27 Inter,system-ui,sans-serif;color:#221a3f!important}
#main-view .fil-v15-fresh-card small{font:500 12px/1.5 Inter,system-ui,sans-serif;color:#615b73}
#main-view .fil-v15-fresh-card em{font:800 11px Inter,system-ui,sans-serif;color:#5c25da;font-style:normal;margin-top:auto}
#main-view .fil-v15-mairie-warning{font:500 11px/1.5 Inter,system-ui,sans-serif;color:#675a82;margin-top:9px}
@media(max-width:640px){
#main-view .fil-v15-carousel.fil-featured{padding:10px!important;border-radius:var(--radius-global, 5px)}
#main-view .fil-v15-heading{padding:3px 7px 11px}
#main-view .fil-v15-heading h2{font-size:clamp(19px,5vw,26px)!important}
#main-view .fil-v15-stage{aspect-ratio:3/4;min-height:0;max-height:650px;border-radius:var(--radius-global, 5px)}
#main-view .fil-v15-slide{padding:21px}
#main-view .fil-v15-slide-info h3{font-size:clamp(25px,7vw,37px)!important}
#main-view .fil-v15-slide-info p{font-size:12px!important;line-height:1.48!important;max-width:33ch}
#main-view .fil-v15-nav{gap:5px}
#main-view .fil-v15-prev,#main-view .fil-v15-next{width:37px;height:40px}
#main-view .fil-v15-pause{min-width:49px;padding:0 6px;font-size:10px}
#main-view .fil-v15-progress{gap:2px}
#main-view .fil-v15-mairie .fil-v15-mairie-extras{grid-template-columns:1fr}
#main-view .fil-v15-fresh-grid{grid-template-columns:1fr}
}
@media(max-width:360px){
#main-view .fil-v15-slide-info p{font-size:11px!important}
#main-view .fil-v15-slide{padding:15px}
#main-view .fil-v15-open{min-height:42px;padding:9px 12px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-v15-slide,#main-view .fil-v15-fresh-card{transition:none!important}
}
/* ===== assets/finition-v16.css ===== */
/* V16 — densité, lisibilité et boutons sans débordement. Le zoom global V12 reste à 80 % par défaut. */
:root{ --fil-v16-gradient:linear-gradient(110deg,#4F24D9 0%,#8B22E8 35%,#E51B94 70%,#FF7028 100%); }
#main-view,#main-view *{box-sizing:border-box}
#main-view article,#main-view section{min-width:0}
#main-view :is(button,a,input,select){max-width:100%;overflow-wrap:anywhere}
#main-view .square-links,#main-view .resto-card-bottom{max-width:100%;min-width:0;flex-wrap:wrap!important;gap:8px}
#main-view .square-links>*{min-width:0;max-width:100%;flex:1 1 128px!important}
/* Cartes plus compactes : l'information n'est plus tronquée ni masquée par un bouton. */
#main-view .fil-v13-card,#main-view .resto-card,#main-view article.event-card{
  border-radius:var(--radius-global, 5px)!important;overflow:hidden!important;min-width:0!important;height:auto!important;
  box-shadow:0 9px 23px rgba(64,27,135,.10)!important;
}
#main-view .event-card .event-media{min-width:0;max-width:100%}
#main-view .event-card .event-media img{max-width:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#main-view .event-card .event-see{width:100%;max-width:100%;white-space:normal!important}
/* Fenêtre des fiches uniforme pour Assos, Boutiques, Restauration{box-sizing:border-box!important;padding:clamp(6px,1.6vw,12px)!important}
#main-view .fil-v15-mairie .fil-v15-mairie-extras{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
#main-view .fil-v15-mairie-extras button{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere}
/* Première section des favoris : la création du Fil (pas une photo inventée). */
#main-view .fil-v16-fav-feature{display:flex;align-items:center;gap:18px;min-width:0;padding:12px;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.91)!important;border:1px solid #ede1f8;box-shadow:0 10px 25px rgba(79,36,217,.12)}
#main-view .fil-v16-fav-feature img{width:min(42%,290px);max-height:290px;object-fit:var(--record-media-fit,var(--page-media-fit,cover));object-position:center 41%;aspect-ratio:3/4;border-radius:var(--radius-global, 5px);flex:none}
#main-view .fil-v16-fav-feature h2{font:850 clamp(18px,2.4vw,25px)/1.14 Inter,sans-serif;color:#2a174d!important}
#main-view .fil-v16-fav-feature p{font:600 12px/1.5 Inter,sans-serif;color:#615471;margin:8px 0 0}
/* Le statut cookies se lit instantanément : vert / rouge / orange. */
#cookie-status{font-weight:850!important;border-width:1px!important}
@media(max-width:600px){
#main-view .fil-v16-fav-feature{flex-direction:column;align-items:stretch}
#main-view .fil-v16-fav-feature img{width:100%;height:240px;max-height:none;aspect-ratio:4/3;object-position:center 47%}
}
@media(prefers-reduced-motion:reduce){
.fil-v16-fav-feature{transition:none!important}
}#main-view .fil-v15-mairie *{box-sizing:border-box!important}
#main-view .fil-v16-fav-jump{margin-top:13px;padding:10px 15px;border:0;border-radius:var(--radius-global, 5px);color:white!important;background:var(--fil-v16-gradient)!important;font:800 12px Inter,sans-serif;cursor:pointer}
#main-view .fil-v16-fav-jump:focus-visible{outline:3px solid #4f24d9;outline-offset:3px}
/* Les filtres restent dans leur rubrique, même sur un écran étroit. */
@media(max-width:650px){
#main-view .resto-filters,#main-view .fil-v10-search .resto-filters,#main-view .fil-v9-search .resto-filters{
    display:flex!important;flex-wrap:wrap!important;overflow-x:visible!important;
    overflow-y:visible!important;white-space:normal!important;max-width:100%!important;
  }
#main-view .resto-filters :is(button,.resto-filter){
    flex:0 1 auto!important;max-width:100%!important;white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}
/* ===== assets/harmonisation-cartes-v17.css ===== */
/* Finition responsive des cartes et de l'agenda.
   La navigation, les données et les fonctionnalités de partage restent inchangées. */
:root{ --fil-rc-gradient: linear-gradient(100deg,#6129E8 0%,#DF249C 65%,#FF7028 100%); }
#main-view{ min-width:0; }
#main-view .fil-public-card h3,#main-view .event-card h3,#main-view .resto-card h3{overflow-wrap:anywhere;hyphens:auto;word-break:normal;line-height:1.22!important}
#main-view .fil-public-card :is(p,a,span),#main-view .event-card :is(p,a,span){overflow-wrap:anywhere}
#main-view .fil-public-actions{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 gap:9px!important;align-items:stretch!important;justify-content:stretch!important;
 margin:12px 0 0!important;padding:12px 0 1px!important;
 border-top:1px solid #eee3f6;
}
#main-view .fil-public-actions>:is(button,a){
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 gap:8px!important;box-sizing:border-box!important;max-width:100%!important;
 width:100%!important;min-width:0!important;min-height:43px!important;height:auto!important;
 margin:0!important;padding:10px 12px!important;border-radius:var(--radius-global, 5px)!important;
 text-align:center!important;font:800 12px/1.35 Inter,system-ui,sans-serif!important;
 text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important;
 flex:none!important;transform:none!important;
}
#main-view .fil-public-actions .fil-public-fav{
 border:1px solid #d8c9ef!important;background:#fff!important;color:#4f24d9!important;
 box-shadow:none!important;
}
#main-view .fil-public-actions .fil-public-fav[aria-pressed='true']{
 background:#fff0f9!important;border-color:#edb9d9!important;color:#bd1884!important;
}
#main-view .fil-public-actions .fil-public-open{
 border:0!important;background:var(--fil-rc-gradient)!important;color:#fff!important;
 box-shadow:0 7px 16px rgba(118,43,208,.18)!important;
}
#main-view .fil-public-actions :is(button,a):focus-visible{outline:3px solid #4f24d9!important;outline-offset:2px!important}
#main-view .fil-public-actions :is(button,a):hover{filter:brightness(.975)}
/* Agenda: le haut de la photo et celui du titre sont alignés. La même grille vaut pour l'accueil et la liste. */
#main-view .event-card{padding:clamp(12px,1.6vw,17px)!important;gap:10px!important}
#main-view .event-card-main{
 display:grid!important;grid-template-columns:minmax(112px,32%) minmax(0,1fr)!important;
 gap:13px!important;align-items:start!important;
 width:100%!important;margin:0!important;min-width:0!important;
}
#main-view .event-card .event-media{
 display:block!important;position:relative!important;width:100%!important;max-width:100%!important;
 min-width:0!important;margin:0!important;aspect-ratio:4/5!important;
 align-self:start!important;overflow:hidden!important;border-radius:var(--radius-global, 5px)!important;background:#201447!important;
}
#main-view .event-card .event-media[hidden]{display:none!important}
#main-view .event-card .event-media img{
 display:block!important;width:100%!important;height:100%!important;max-height:none!important;
 position:absolute!important;inset:0!important;object-fit:contain!important;object-position:center center!important;
 aspect-ratio:auto!important;background:#241343!important;
}
#main-view .event-card .event-media figcaption{
 display:none!important;
}
#main-view .event-card .event-card-copy{min-width:0!important;align-self:start!important;padding-top:0!important;}
#main-view .event-card .event-card-copy h3{margin:5px 0 7px!important;font:800 clamp(14px,1.8vw,18px)/1.22 Inter,system-ui,sans-serif!important}
#main-view .event-card .event-card-copy .editorial-excerpt{
 display:-webkit-box!important;-webkit-line-clamp:5!important;line-clamp:5!important;-webkit-box-orient:vertical!important;
 overflow:hidden!important;font-size:11px!important;line-height:1.5!important;margin:0!important;
}
#main-view .event-card .event-date-line{margin:0!important;min-width:0!important;align-items:flex-start!important;white-space:normal!important;overflow-wrap:anywhere!important}
#main-view .event-card .event-date-line span{min-width:0!important}
#main-view .event-card .square-links{margin-top:1px!important}
#main-view .fil-public-actions .fil-public-open.event-see{width:100%!important;}
/* Détails homogènes et liens qui ne quittent jamais la modale{overflow:hidden!important;align-items:center!important;justify-content:center!important}
@media(min-width:1050px){
#main-view .event-card-main{grid-template-columns:minmax(135px,35%) minmax(0,1fr)!important}
}
@media(max-width:520px){
#main-view .event-card-main{grid-template-columns:minmax(93px,36%) minmax(0,1fr)!important;gap:10px!important}
#main-view .event-card .event-card-copy h3{font-size:14px!important}
#main-view .fil-public-actions{gap:7px!important}
}
@media(max-width:340px){
#main-view .event-card-main{grid-template-columns:95px minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-public-actions *{transition:none!important}
}
/* Les anciens espacements des cartes ne doivent pas agrandir la barre d'actions. */
/* ===== assets/corrections-v19.css ===== */
/* V19 — Boutons, fenêtres et réseaux. Les données et les fonctions historiques restent intactes. */
:root{--fil-v19-gradient:linear-gradient(100deg,#6129e8 0%,#df249c 65%,#ff7028 100%)}
/* Aucun contrôle ne peut élargir une grille de fiche au-delà de la carte. */
#main-view .fil-public-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
#main-view .fil-public-actions>button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;max-width:100%!important;min-width:0!important;width:100%!important;min-height:44px!important;height:auto!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;box-sizing:border-box!important;padding:10px 12px!important;line-height:1.35!important;margin:0!important;text-align:center!important}
#main-view .fil-public-actions>button>span{min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35}
#main-view .fil-public-actions>button>svg{flex:none}
/* Les liens et les formulaires ont les mêmes règles sur toutes les pages. */
#main-view :is(.action-gradient,.source-button,.project-link,.story-cta,.story-project,.fil-v15-open,.fil-ad-cta,.v9-filter-chip){display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;box-sizing:border-box;gap:8px;white-space:normal;overflow-wrap:anywhere;text-align:center;min-height:40px}
#main-view :is(.menu-social-links,.story-social,.fil-v19-socials){display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;max-width:100%;min-width:0;box-sizing:border-box}
#main-view :is(.menu-social-links,.story-social,.fil-v19-socials)>a{flex:1 1 120px!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere!important;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 12px;text-align:center}
#main-view .fil-v19-socials>a{border-radius:var(--radius-global, 5px);text-decoration:none;background:var(--fil-v19-gradient);color:#fff;font-size:12px;font-weight:800}
#main-view .fil-v15-mairie :is(button,a){min-width:0!important;max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere!important}
/* Fiches détaillées : largeur interne{box-sizing:border-box}
/* Ajouter une icône à la navigation sans tasser le pied de page ou masquer le bouton cookies. */
@media(max-width:600px){
#main-view :is(.menu-social-links,.story-social,.fil-v19-socials)>a{flex-basis:min(130px,45%)!important;font-size:11px!important;padding:9px!important}
}#modal-search.hidden{ display:none!important;visibility:hidden!important;pointer-events:none!important;backdrop-filter:none!important; }#modal-search[aria-hidden="true"]{display:none!important;pointer-events:none!important;}
/* ===== assets/compteur-visiteurs-v24.css ===== */
/* Compteur lisible sous le site, sans modifier les liens du menu. */
/* Priority: address and counter first; social links stay at the far right. */
/* ===== assets/interface-v25.css ===== */
/* V25 — logo officiel fourni, introduction centrée, pied de navigation en deux étages. */
/* Logo du header : cercle net, sans ancien fond carré mauve ni filtre blanc. */
/* Première ligne : adresse entière et compteur. Deuxième : trait bord à bord.
   Troisième : réseaux sociaux à gauche, cookies à droite. */
/* ===== assets/interface-v26.css ===== */
/* V26 — fiches lisibles, informations publiques épurées{background:linear-gradient(110deg,#5a20d9,#c326ba 65%,#f76231)!important;color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:none!important}
/* Compteurs techniques et mentions internes réservés à l'administration. */
#main-view .fil-search-count,#main-view .resto-status,#main-view .resto-notice{display:none!important}
#main-view .category-dropdown,#main-view .resto-select-label{display:none!important}
/* ===== assets/interface-v27.css ===== */
/* Identité, navigation et composants éditoriaux. */
:root{--fil-v27:#5424d7;--fil-v27-deep:#26134a;--fil-v27-grad:linear-gradient(115deg,#5526da 5%,#b820db 46%,#e53197 75%,#ff7c39 100%)}
@keyframes fil-v27-appear{from{opacity:0;transform:scale(.35) rotate(-18deg);filter:blur(11px)}65%{opacity:1;filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
@keyframes fil-v27-text{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fil-v27-splash-light{from{opacity:.2;transform:scale(.8) rotate(0)}to{opacity:1;transform:scale(1.12) rotate(30deg)}}
#app-root{transition:opacity .55s ease-out!important}
#main-view>.animate-view{animation:fil-v27-page .26s ease-out both}
@keyframes fil-v27-page{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:none}}
/* Format identique du bandeau de présentation et des carrousels. */
#main-view .fil-page-intro,#main-view .resto-header,#main-view .fil-ed-intro,#main-view .fil-v27-spotlight-stage{box-sizing:border-box;width:100%;aspect-ratio:16/7;min-height:300px;max-height:650px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-radius:var(--radius-global, 5px)}
#main-view .fil-v27-spotlight{grid-column:1/-1;width:100%;margin:16px 0 22px}
#main-view .fil-v27-spotlight-stage{position:relative;padding:clamp(18px,3vw,34px);background:var(--fil-v27-grad);box-shadow:0 14px 35px #5121a52a;color:#fff}
.fil-v27-spotlight-eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800;color:#fffc}
#main-view .fil-v27-spotlight-stage h2{font-size:clamp(20px,2.7vw,32px)!important;color:white!important;font-weight:850;letter-spacing:-.04em;margin:7px 0 20px!important}
.fil-v27-spotlight-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,2vw,20px);width:100%}
.fil-v27-spotlight-card{min-width:0;display:flex;align-items:center;text-align:center;flex-direction:column;justify-content:center;gap:6px;min-height:134px;background:#ffffffef!important;color:#322159!important;border:1px solid #ffffff9c;border-radius:var(--radius-global, 5px);padding:12px;cursor:pointer;transition:transform .2s ease,background .2s ease}
.fil-v27-spotlight-card[hidden]{display:none!important}
.fil-v27-spotlight-card:hover{transform:translateY(-3px);background:#fff!important}
.fil-v27-spotlight-card img,.fil-v27-spotlight-card .fil-v27-icon{width:48px;height:48px;object-fit:contain;display:grid;place-items:center;border-radius:var(--radius-global, 5px);background:#f1e8ff;color:#5327d5}
.fil-v27-spotlight-card strong{font-weight:800;font-size:clamp(11px,1.4vw,15px);line-height:1.2;max-width:100%;overflow-wrap:anywhere}
.fil-v27-spotlight-card small{font-size:10px;opacity:.7;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.fil-v27-spotlight-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px}
.fil-v27-spotlight-nav button{background:#ffffffef;color:#5024be;border:0;width:33px;height:33px;border-radius:var(--radius-global, 5px);font-size:23px;cursor:pointer}
.fil-v27-spotlight-nav span{color:white;font-size:12px;font-weight:750}
.fil-v27-feature-ad,.fil-v27-home-ad,.fil-v27-list-ad{grid-column:1/-1;width:100%;margin:12px 0 20px}
.fil-v27-logo-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:0 auto 18px;min-height:44px;padding:11px 17px;background:#fff;color:#5424d7;border:1px solid #d3c2f6;border-radius:var(--radius-global, 5px);font-weight:800;font-size:12px;cursor:pointer}
#main-view .fil-v27-association-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-global, 5px);background:rgba(255,255,255,.91);color:#5726d5;font-size:23px;margin:0 0 8px}
.fil-v27-article-bottom{width:100%;max-width:850px;margin:24px auto 30px;display:flex;flex-direction:column;gap:18px}
.fil-v27-article-links{display:flex;gap:12px;justify-content:space-between;align-items:center}
.fil-v27-article-links button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border:1px solid #d6c4f5;background:white;color:#5524cb;border-radius:var(--radius-global, 5px);min-height:48px;font-size:13px;font-weight:800;cursor:pointer}
.fil-v27-article-links button:last-child{background:var(--fil-v27-grad);color:white;border:0}
.fil-ad-card:before{animation:fil-v27-orb 9s ease-in-out infinite alternate}
.fil-ad-card:after{animation:fil-v27-orb 12s ease-in-out -4s infinite alternate-reverse}
.fil-ad-card .fil-ad-top:after{content:'';position:absolute;right:23%;top:24px;width:8px;height:8px;opacity:.78;background:#fff;border-radius:50%;box-shadow:46px 44px 0 1px #fff6,-36px 81px 0 -1px #fff9,93px 23px 0 0 #ffe39f8a;animation:fil-v27-twinkle 5s ease-in-out infinite alternate;pointer-events:none}
.fil-ad-later{display:block;text-align:left;width:fit-content;padding:7px 0;border:0;background:transparent;color:white;text-decoration:underline;cursor:pointer;font-size:11px;font-weight:700}
@keyframes fil-v27-orb{to{transform:translate(26px,17px) scale(1.12)}}
@keyframes fil-v27-twinkle{to{opacity:.27;transform:translateY(-9px)}}
.fil-v27-dialog{border:0;border-radius:var(--radius-global, 5px);width:min(94vw,570px);max-height:90dvh;overflow:auto;margin:auto;padding:28px;background:white;color:#241740;box-shadow:0 24px 80px #1e10478a}
.fil-v27-dialog::backdrop{background:#111222bb;backdrop-filter:blur(5px)}
.fil-v27-dialog-head{display:flex;justify-content:space-between;align-items:center}
.fil-v27-dialog-head button{width:40px;height:40px;font-size:27px;border:0;border-radius:var(--radius-global, 5px);background:#f0ebfb;color:#44249e;cursor:pointer}
.fil-v27-eyebrow{font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#7426dc}
.fil-v27-dialog h2{color:#291446;font-weight:850;font-size:clamp(22px,4vw,30px);margin:7px 0}
.fil-v27-dialog p{color:#645c77;font-size:12px;line-height:1.6;margin:8px 0 15px}
.fil-v27-dialog label{display:flex;flex-direction:column;gap:6px;margin:13px 0;font-size:12px;font-weight:750;color:#33225b}
.fil-v27-dialog input,.fil-v27-dialog textarea,.fil-v27-dialog select{display:block;box-sizing:border-box;width:100%;border:1px solid #cfc3df;border-radius:var(--radius-global, 5px);background:white!important;color:#261a40!important;font-size:14px;padding:11px;min-height:43px}
.fil-v27-dialog input[type=file]{font-size:12px}
.fil-v27-dialog .fil-v27-trap{position:absolute;opacity:0;pointer-events:none;height:1px;overflow:hidden}
.fil-v27-form-actions{display:flex;gap:9px;justify-content:flex-end;margin:19px 0 0}
.fil-v27-form-actions button{padding:11px 16px;border-radius:var(--radius-global, 5px);border:1px solid #cfc2ee;cursor:pointer;font-size:13px;font-weight:800}
.fil-v27-ghost{background:#fff;color:#5323c2}
.fil-v27-primary{background:var(--fil-v27-grad);color:white;border:0!important}
.fil-v27-form-actions button:disabled{opacity:.5;cursor:wait}
#fil-v27-error{color:#a11138;background:#fff2f6;border-radius:var(--radius-global, 5px);padding:10px}
.fil-v27-success{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:9000;background:#1d7e55;color:white;max-width:90vw;text-align:center;border-radius:var(--radius-global, 5px);padding:13px 20px;font-size:13px;font-weight:800;box-shadow:0 12px 30px #0005}
#main-view .fil-v15-mairie{display:flex!important;flex-direction:column;gap:11px;padding:14px!important;border-radius:var(--radius-global, 5px)}
.fil-v27-mairie-details{padding:7px 8px;border:1px solid #e5dafa;border-radius:var(--radius-global, 5px)}
.fil-v27-mairie-details>summary{font-size:12px;font-weight:800;color:#5226bb;cursor:pointer;padding:9px}
#main-view .fil-v15-mairie-warning{display:none}
@media(max-width:650px){
#main-view .fil-page-intro,#main-view .resto-header,#main-view .fil-ed-intro,#main-view .fil-v27-spotlight-stage{aspect-ratio:auto;min-height:260px;max-height:none}
#main-view .fil-v27-spotlight-stage{padding:17px 14px}
.fil-v27-spotlight-cards{gap:6px}
.fil-v27-spotlight-card{padding:8px 5px;min-height:118px;border-radius:var(--radius-global, 5px)}
.fil-v27-spotlight-card img,.fil-v27-spotlight-card .fil-v27-icon{width:39px;height:39px}
.fil-v27-spotlight-card strong{font-size:10px}
.fil-v27-spotlight-card small{font-size:9px}
.fil-v27-article-links{flex-wrap:wrap}
.fil-v27-article-links button{flex:1;min-width:0;font-size:11px;padding:11px 9px}
.fil-v27-dialog{padding:19px}
}
@media(prefers-reduced-motion:reduce){
#main-view>.animate-view,.fil-ad-card:before,.fil-ad-card:after,.fil-ad-card .fil-ad-top:after{animation:none!important}
.fil-v27-spotlight-card{transition:none}
}
/* Logo aligné sur le nom de chaque association, même sans image fournie. */
/* Bandeau d’accueil aligné visuellement sur le carrousel principal. */
#main-view .story-home-hero.fil-square-hero{box-sizing:border-box;aspect-ratio:16/7!important;min-height:300px!important;max-height:650px;overflow:hidden}
@media(max-width:650px){
#main-view .story-home-hero.fil-square-hero{aspect-ratio:auto!important;max-height:none;min-height:310px!important}
}
/* ===== assets/interface-v28.css ===== */
/* Le Fil de Prades-le-Lez — interface V28. */
#main-view .fil-v28-logo-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;background:#fff!important;border:1px solid #d2bced!important;border-radius:var(--radius-global, 5px);color:#5221af!important;-webkit-text-fill-color:#5221af!important;font-size:10px!important;line-height:1.1!important;padding:5px 9px!important;font-weight:850!important;min-height:30px;cursor:pointer;letter-spacing:0;margin-left:7px}
#main-view .fil-v28-logo-button::before{content:'+';font-size:15px;margin-right:4px;color:#7b35c7}
#main-view .fil-v28-logo-button:hover,#main-view .fil-v28-logo-button:focus-visible{background:#eee1ff!important;outline-offset:2px}
#main-view .fil-v27-association-icon{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:3px}
#main-view .fil-v27-association-icon i{font-size:19px}
#main-view .fil-v27-association-icon small{font-size:9px;font-weight:900}
#main-view .fil-v28-resto-logo-placeholder{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;height:48px;float:right;border-radius:var(--radius-global, 5px);background:white;color:#6727bd}
#main-view .fil-v28-resto-logo-placeholder small{font-size:9px;font-weight:900}
.fil-v28-social-row{display:flex!important;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:7px;margin:11px 0 8px;min-width:0}
.fil-v28-social-link{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--radius-global, 5px);font-weight:800;font-size:11px;text-decoration:none;white-space:nowrap;min-height:32px}
.fil-v28-social-link i{font-size:15px}
.fil-v28-social-link.is-active{color:#5120b4!important;-webkit-text-fill-color:#5120b4!important;background:#efe4ff;border:1px solid #ccb0f2}
.fil-v28-social-link.is-active:hover{background:#ddc6fa;text-decoration:underline}
.fil-v28-social-link.is-disabled{color:#88858d!important;-webkit-text-fill-color:#88858d!important;background:#f4f3f5;border:1px solid #dedce1;cursor:default}
#main-view .fil-v28-menu-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid #e4d9f2;padding:20px 0 6px;margin:24px 0 6px;width:100%}
#main-view .fil-v28-contact-btn{min-height:57px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-global, 5px);background:#5227cb;color:#fff;font-size:13px;font-weight:800;padding:12px;cursor:pointer;border:1px solid #5422d5}
#main-view .fil-v28-share-btn{background:#fff;color:#5024c0;border:1px solid #ccb8ea}
/* Le bas du menu : le site et son compteur au-dessus, les réseaux à gauche sous le séparateur. */
/* Animation de découverte du logo, 5 secondes avant sortie. */
@keyframes fil-v28-logo-discovery{0%{opacity:0;transform:scale(.43) rotate(-15deg);filter:blur(10px);box-shadow:0 0 0 rgba(255,255,255,0)}20%{opacity:1;transform:scale(1.04) rotate(3deg);filter:blur(0)}46%{transform:scale(.98) rotate(0)}70%{transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes fil-v28-logo-reveal{0%,9%{opacity:0;filter:blur(18px) brightness(3)}29%{opacity:1;filter:blur(0) brightness(1.4)}55%,100%{opacity:1;filter:blur(0) brightness(1)}}
/* Tailles adaptées au contenu, jamais de mise à l’échelle qui pourrait rendre les boutons inaccessibles. */
#main-view [data-fil-module-size="compact"]{box-sizing:border-box!important;width:min(100%,830px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
#main-view [data-fil-module-size="grand"]{box-sizing:border-box!important;width:100%!important;max-width:none!important}
#main-view .fil-page-intro[data-fil-module-size="grand"],#main-view .fil-v27-spotlight[data-fil-module-size="grand"],#main-view .fil-v15-carousel[data-fil-module-size="grand"],#main-view .story-home-hero[data-fil-module-size="grand"]{min-height:clamp(330px,32vw,510px)!important}
#main-view .fil-page-intro[data-fil-module-size="compact"],#main-view .fil-v27-spotlight[data-fil-module-size="compact"],#main-view .story-home-hero[data-fil-module-size="compact"]{min-height:230px!important}
@media(max-width:580px){
#main-view .fil-v28-menu-contact{gap:8px}
#main-view .fil-v28-contact-btn{font-size:11px;padding:10px 7px}
}#main-view .resto-card{border-radius:var(--radius-global, 5px)!important;box-shadow:0 8px 28px rgba(65,31,120,.09)!important;overflow:hidden}#main-view .resto-card .fil-v28-social-row{padding-left:12px;padding-right:12px}
#main-view .fil-v28-logo-button:focus-visible{outline:3px solid #ef73c0!important}
/* ===== assets/interface-v29.css ===== */
/* Correctif V29 : formulaires et messages lisibles sur mobile */
.fil-v29-length{display:block;margin-top:5px;font-size:11px;color:#6d5f81;font-weight:700}
#fil-v27-error:not([hidden]),#fil-ad-form-error:not([hidden]){display:block!important;color:#8a1537!important;background:#fff0f3!important;border:1px solid #eeb6c3!important;border-radius:var(--radius-global, 5px);padding:12px;margin-top:12px;white-space:normal;overflow-wrap:anywhere;font-size:13px}
.fil-v29-sent{position:fixed!important;z-index:2147480000!important;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(20px,env(safe-area-inset-bottom))!important;box-sizing:border-box;background:#e8fff1;color:#16502b;padding:16px;font-size:13px;font-weight:750;border:2px solid #8bd4a3;border-radius:var(--radius-global, 5px);box-shadow:0 4px 30px #050b0d3d;text-align:center;line-height:1.5}
/* ===== assets/layout-v30.css ===== */
/* V30 — grille structurelle autonome : protège l'affichage en cas de styles historiques manquants ou obsolètes. */
html,body{min-width:320px;min-height:100%;margin:0}
body{overflow:hidden}
#app-root{box-sizing:border-box;display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;max-width:none!important;position:absolute!important;top:0!important;left:0!important;zoom:var(--fil-visual-scale,1)!important;width:var(--fil-size-width,100vw)!important;height:var(--fil-size-height,100dvh)!important;max-height:none!important;}
#main-view{display:block!important;flex:1 1 0!important;min-height:0!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;padding-bottom:24px!important}
#main-view>*{max-width:100%!important;min-width:0!important}
#main-view .fil-page-intro,#main-view .fil-v15-stage,#main-view .fil-v27-spotlight-stage{max-width:100%!important;min-width:0!important}
#main-view .fil-page-intro{background-size:cover!important;background-position:center!important}
#modal-search,#cookie-dialog{z-index:150!important}
#modal-search.hidden{display:none!important}
@media(max-width:767px){
#app-root{width:var(--fil-size-width,100vw)!important;height:var(--fil-size-height,100dvh)!important;max-height:none!important;border-radius:var(--radius-global, 5px)!important;border:0!important}
#main-view .fil-page-intro,#main-view .fil-v27-spotlight-stage{min-height:240px!important;aspect-ratio:auto!important}
}
@media(min-width:768px){
#app-root{width:calc(var(--fil-size-width,100vw) - 30px)!important;height:calc(var(--fil-size-height,100dvh) - 30px)!important;max-height:none!important;top:15px!important;left:15px!important}
}
/* V31 : source unique pour la navigation, sans largeurs concurrentes des modules. */
html,body{min-width:0!important}
#app-root{height:var(--fil-size-height,100vh)!important}
@supports(height:100dvh){
#app-root{height:var(--fil-size-height,100dvh)!important}
}
#bottom-navigation{box-sizing:border-box;display:block;position:relative;inset:auto;flex:0 0 auto;width:auto;min-width:0;max-width:none;margin:0 12px max(8px,env(safe-area-inset-bottom));padding:0;z-index:40;border:1px solid #e4d9f2;border-radius:var(--radius-global, 5px);background:#fff;box-shadow:0 6px 24px #40208016}
#bottom-navigation>div:first-child{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:4px;width:100%;padding:7px;box-sizing:border-box}
#bottom-navigation .fil-center-nav{display:contents}
#bottom-navigation #nav-accueil>div{width:32px;height:32px;min-width:0;display:grid;place-items:center;margin:0;border:0;border-radius:var(--radius-global, 5px);background:linear-gradient(100deg,#6129e8,#df249c);color:white;box-shadow:none;transform:none}
#bottom-navigation #nav-accueil>div i{font-size:17px}
#bottom-navigation .fil-footer-identity{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 12px;flex:1 1 260px;min-width:0}
#bottom-navigation .site-footer-link{display:inline-flex;align-items:center;gap:5px;color:#5221af;text-decoration:none;font-size:11px;white-space:normal;max-width:100%}
#bottom-navigation .fil-visitor-count{font-size:11px;white-space:nowrap}
#bottom-navigation .fil-v15-social-nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:0}
#bottom-navigation .fil-v15-social-nav a{display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;border-radius:var(--radius-global, 5px);background:#f2ebff;color:#5221af}
#bottom-navigation #cookie-status{position:static;max-width:100%;white-space:normal;font:700 10px/1.3 Inter,system-ui,sans-serif;padding:7px 9px;min-height:30px;margin:0}
#bottom-navigation :is(button,a):focus-visible{outline:3px solid #9d50e8;outline-offset:2px}
#main-view .fil-v28-menu-tiles{display:grid;gap:14px;width:100%;min-width:0}
#main-view .fil-v28-menu-tiles .menu-separator{display:none}
#main-view .menu-tile{width:100%;min-width:0;cursor:pointer;overflow-wrap:anywhere}
#main-view .menu-tile>span{min-width:0}
@media(min-width:768px){
#app-root{height:calc(var(--fil-size-height,100vh) - 30px)!important}
}
@media(max-width:600px){
#bottom-navigation{margin-left:6px;margin-right:6px;border-radius:var(--radius-global, 5px)}
#bottom-navigation>div:first-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px}
#bottom-navigation #nav-accueil{grid-column:4;grid-row:1 / span 2}
#bottom-navigation #nav-accueil>div{width:36px;height:36px}
#bottom-navigation .fil-footer-identity{flex-basis:100%}
#main-view .menu-tile{flex-direction:row;align-items:center;padding:12px;gap:8px}
#main-view .menu-tile strong{font-size:13px}
#main-view .menu-tile small{font-size:11px}
#main-view .menu-tile-icon{width:32px;height:32px;font-size:15px}
}
@media(max-width:420px){
#main-view .menu-row{grid-template-columns:minmax(0,1fr)}
#main-view .fil-v28-menu-contact{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:480px){
#bottom-navigation>div:first-child{grid-template-columns:repeat(7,minmax(0,1fr))}
#bottom-navigation #nav-accueil{grid-area:auto}
}
/* Le HTML hidden doit rester prioritaire sur les mises en page flex des formulaires. */
[hidden]{display:none!important}
/* Adresses web : couleur du texte et du fond explicites, y compris Safari et thème sombre. */
#main-view a.fil-site-link,#main-view a.square-link{
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;
 width:auto!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:44px!important;padding:10px 12px!important;
 background:#f3edff!important;background-image:none!important;color:#45209b!important;-webkit-text-fill-color:#45209b!important;
 border:1px solid #d9c8f2!important;border-radius:var(--radius-global, 5px)!important;opacity:1!important;visibility:visible!important;
 font:600 13px/1.5 Inter,system-ui,sans-serif!important;text-decoration:underline!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;
}
#main-view a.fil-site-link span,#main-view a.square-link span{color:inherit!important;-webkit-text-fill-color:inherit!important;font:inherit!important;min-width:0;overflow-wrap:anywhere}
#main-view a.fil-site-link:focus-visible{outline:3px solid #9653dc;outline-offset:3px}
#main-view .fil-network{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:10px!important;border-radius:var(--radius-global, 5px)!important;
 font:700 12px/1.4 Inter,system-ui,sans-serif!important;text-decoration:none!important;box-sizing:border-box!important;
}
#main-view .fil-network.is-disabled{background:#eeeef2!important;color:#696975!important;-webkit-text-fill-color:#696975!important;border:1px solid #d9d9e2!important;cursor:default;box-shadow:none!important}
#main-view .fil-network.is-active{color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;cursor:pointer}
#main-view .fil-network-instagram.is-active{background:linear-gradient(120deg,#7828b8,#b31c69,#a84014)!important}
#main-view .fil-network-facebook.is-active{background:#1663c7!important}
#main-view .fil-network-tiktok.is-active{background:#164c55!important;border-bottom:3px solid #ce2853!important}
#main-view .fil-network span{color:inherit!important;-webkit-text-fill-color:inherit!important}
#main-view .fil-network:focus-visible{outline:3px solid #8c4bdd;outline-offset:3px}
/* Trois phrases complètes : aucun texte tronqué ; retour naturel sur petit écran. */
#main-view .editorial-excerpt,#main-view .complete-description,#main-view .resto-description{
 display:block!important;white-space:pre-line!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;
 max-height:none!important;overflow:visible!important;text-overflow:clip!important;line-height:1.7!important;
}
/* ---- interface-v32.css ---- */
/* V32 — même cadre et même rythme sur toutes les rubriques. */
.fil-workspace{display:flex;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}
#fil-desktop-ads{display:none}
#main-view>.animate-view,#main-view>.resto-page,#main-view>.fil-editorial{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:18px!important}
#main-view .fil-page-intro{border-radius:var(--radius-global, 5px)!important;min-height:220px!important;margin-bottom:18px!important}
#main-view .fil-public-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
#main-view .fil-public-actions .fil-public-fav,#main-view .resto-card-bottom .favorite-primary{flex:0 0 36px!important;min-width:36px!important;width:36px!important;height:36px!important;min-height:36px!important;padding:8px!important;margin:0!important;overflow:hidden;font-size:0!important;border-radius:var(--radius-global, 5px)!important;line-height:0!important}
#main-view .fil-public-fav span{display:none!important}
#main-view .fil-public-fav svg,#main-view .fil-public-fav i,#main-view .resto-card-bottom .favorite-primary i{width:15px!important;height:15px!important;font-size:15px!important;flex-shrink:0!important;line-height:15px!important}
#main-view .fil-public-actions .fil-public-open{flex:1 1 160px!important;min-height:36px!important;width:auto!important;padding:9px 12px!important;margin:0!important;font-size:12px!important}
.fil-logo-control{position:relative!important;display:grid!important;place-items:center;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:3px!important;margin:0!important;border:1px solid #e7dcf6!important;border-radius:var(--radius-global, 5px)!important;background:#fff!important;color:#5725b8!important;cursor:pointer;overflow:visible!important}
.fil-logo-control>img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:8px!important;margin:0!important;padding:0!important}
.fil-logo-control>i{font-size:21px!important}
.fil-logo-control .fil-logo-edit{position:absolute;bottom:-3px;right:-3px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#5526bf;color:#fff;font:700 13px/1 Arial;opacity:0;transition:opacity .15s}
.fil-logo-control:hover .fil-logo-edit,.fil-logo-control:focus-visible .fil-logo-edit{opacity:1}
.fil-logo-control:focus-visible{outline:3px solid #c38bff;outline-offset:3px}
@media(hover:none){
.fil-logo-control .fil-logo-edit{opacity:1}
}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
#app-root{left:0!important;top:0!important;width:var(--fil-size-width,100vw)!important;height:var(--fil-size-height,100dvh)!important;border-radius:var(--radius-global, 5px)!important;border:0!important}
.fil-workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:0}
#main-view{width:100%!important}
#fil-desktop-ads{display:flex;flex-direction:column;gap:18px;overflow-y:auto;min-width:0;min-height:0;padding:18px 18px 24px 10px;border-left:1px solid #e9e2f2;background:#f4f1f8;box-sizing:border-box}
#fil-desktop-ads>h2{font:700 11px/1.5 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#776a8b;margin:0}
#fil-desktop-ads .fil-ad-card{display:flex!important;flex-direction:column!important;gap:16px!important;min-height:440px!important;height:auto!important;aspect-ratio:auto!important;max-height:none!important;padding:22px!important;border-radius:var(--radius-global, 5px)!important}
#fil-desktop-ads .fil-ad-body,#fil-desktop-ads .fil-ad-with-image{display:flex!important;flex-direction:column!important;gap:16px!important;flex:1!important;width:100%!important}
#fil-desktop-ads .fil-ad-picture{display:block;width:100%!important;margin:0!important}
#fil-desktop-ads .fil-ad-image{width:100%!important;height:auto!important;max-height:320px!important;object-fit:contain!important;aspect-ratio:auto!important}
#fil-desktop-ads .fil-ad-content{width:100%!important;min-width:0}
#fil-desktop-ads .fil-ad-content h3,#fil-desktop-ads .fil-ad-body h3{font-size:22px!important;line-height:1.3!important}
#fil-desktop-ads .fil-ad-content p,#fil-desktop-ads .fil-ad-body p{font-size:13px!important;line-height:1.6!important;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}
#fil-desktop-ads .fil-ad-footer{display:flex;flex-wrap:wrap;gap:10px}
#fil-desktop-ads .fil-ad-cta{width:100%;box-sizing:border-box;text-align:center}
#main-view .grid.grid-cols-1,#main-view .resto-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
#bottom-navigation{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,3fr);margin:0!important;border-radius:var(--radius-global, 5px)!important}
}
/* Barre mobile compacte : sept accès, puis réseaux à gauche et infos à droite. */
@media(max-width:1023px),(pointer:coarse){
#bottom-navigation>div:first-child{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;padding:3px 2px!important;gap:0!important}
#bottom-navigation #nav-accueil{grid-area:auto!important}
#bottom-navigation #nav-accueil>div{width:22px!important;height:22px!important;border-radius:var(--radius-global, 5px)!important}
#bottom-navigation #nav-accueil>div i{font-size:13px!important}
#bottom-navigation .fil-v15-social-nav{grid-column:1;grid-row:1 / span 2;gap:2px!important;align-self:center}
#bottom-navigation .fil-v15-social-nav a{width:24px!important;min-width:24px!important;height:28px!important;min-height:28px!important}
#bottom-navigation .fil-footer-identity{grid-column:2;grid-row:1;display:flex!important;justify-content:flex-end!important;gap:2px 8px!important;flex-wrap:wrap!important}
#bottom-navigation .site-footer-link,#bottom-navigation .fil-visitor-count{font-size:9px!important;line-height:1.2!important}
#bottom-navigation #cookie-status{grid-column:2;grid-row:2;justify-self:end;font-size:9px!important;min-height:24px!important;padding:3px 6px!important}
}
/* Contenu de secours indexable : remplacé par l'application dès son initialisation. */
.fil-seo-initial{padding:24px;color:#302346;line-height:1.7;background:#fff}
.fil-seo-initial h1{font-size:28px;line-height:1.3}
.fil-seo-initial a{color:#5526bf;text-decoration:underline}
.fil-seo-initial ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0;list-style:none}
.fil-seo-initial li{padding:12px;border:1px solid #e9e2f2;border-radius:var(--radius-global, 5px)}
.visitor-admin-total{font-size:38px;font-weight:800}
.fil-ad-live-preview{padding:16px;border:1px solid #d9c8f4;border-radius:var(--radius-global, 5px);background:#f5f0fc;margin-bottom:16px}
.fil-ad-live-preview>h3{font-size:16px;margin:0 0 5px}
.fil-ad-live-preview>p{font-size:12px;color:#594675}
.fil-ad-live-preview .fil-ad-card{min-height:0;max-height:none;aspect-ratio:auto;padding:18px}
.fil-draft-label{font-size:11px!important;font-weight:700;color:#7130b4;background:#eee4ff;padding:6px 9px;border-radius:var(--radius-global, 5px)}
.fil-ad-live-preview .fil-ad-image{max-height:180px;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
.fil-ad-live-preview[data-format=vertical] [data-ad-preview-card]{max-width:360px;margin:auto}
.fil-ad-live-preview[data-format=vertical] .fil-ad-body{display:flex;flex-direction:column}
.fil-ad-live-preview[data-format=vertical] .fil-ad-image{width:100%;aspect-ratio:1;max-height:none}
.fil-ad-draft h3,.fil-ad-draft p{overflow-wrap:anywhere;white-space:pre-line}
@media(min-width:900px){
.fil-ad-dialog{width:min(1120px,96vw)!important;max-width:1120px!important}
.fil-ad-dialog .fil-ad-form-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;align-items:start}
.fil-ad-dialog .fil-ad-form-body>*{grid-column:1;margin:0}
.fil-ad-dialog .fil-ad-form-body>.fil-ad-live-preview{grid-column:2;grid-row:1 / span 20;position:sticky;top:0;max-height:65vh;overflow:auto}
}
@media(max-width:899px){
.fil-ad-live-preview{position:sticky;top:-1px;z-index:2;max-height:34vh;overflow:auto;box-shadow:0 5px 15px #35234a14}
}
.fil-nav-configured [data-nav-zone]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.fil-nav-configured [data-nav-zone=left]{justify-content:flex-start}
.fil-nav-configured [data-nav-zone=center]{justify-content:center}
.fil-nav-configured [data-nav-zone=right]{justify-content:flex-end}
#bottom-navigation .fil-nav-configured .fil-v15-social-nav{display:flex;flex-wrap:wrap;grid-area:auto!important}
#bottom-navigation .fil-nav-configured .site-footer-link,#bottom-navigation .fil-nav-configured .fil-visitor-count,#bottom-navigation .fil-nav-configured #cookie-status{max-width:100%;overflow-wrap:anywhere;white-space:normal!important}
#bottom-navigation .fil-nav-social{display:grid;place-items:center;width:23px;height:23px;border-radius:var(--radius-global, 5px);text-decoration:none}
#bottom-navigation .fil-nav-social.is-disabled{color:#9b9ba4;background:#eeeef1;cursor:default}
#bottom-navigation .fil-nav-social[data-network=instagram].is-active{color:#c13584}
#bottom-navigation .fil-nav-social[data-network=facebook].is-active{color:#1877f2}
#bottom-navigation .fil-nav-social[data-network=tiktok].is-active{color:#111}
/* ---- experience-v33.css ---- */
/* Le Fil — V33. Habillage cohérent, sans modifier les fiches ni l'authentification. */
:root{--fil-v33-space:5px;--fil-v33-outline:#e5d9f3;--fil-v33-ink:#28173e}
/* Favoris dans l'angle supérieur droit, tout en conservant leurs gestionnaires de clic. */
/* Les autres encarts réservent au minimum cinq pixels au contenu interactif. */
#main-view .fil-ad-slot,#main-view .fil-grid-ad,#main-view .fil-v27-spotlight,#main-view .fil-featured{padding-bottom:5px;box-sizing:border-box}
#main-view .fil-ad-card .fil-ad-cta{margin:5px;max-width:calc(100% - 10px);box-sizing:border-box}
/* Bandeaux courts : accès immédiat aux contenus et à la recherche. */
#main-view .fil-page-intro,#main-view .resto-header,#main-view .fil-ed-intro,#main-view .story-home-hero{
 box-sizing:border-box!important;min-height:200px!important;height:200px!important;max-height:200px!important;aspect-ratio:auto!important;border-radius:var(--radius-global, 5px)!important;padding:19px 22px!important;overflow:hidden!important;gap:7px!important;margin-bottom:12px!important;
}
#main-view .fil-page-intro .fil-intro-title,#main-view .resto-header h1,#main-view .fil-ed-intro h1{font-size:clamp(26px,3.2vw,41px)!important;line-height:1.12!important;margin:5px 0!important}
#main-view .fil-page-intro .fil-intro-desc,#main-view .resto-header p,#main-view .fil-ed-intro p{font-size:12px!important;line-height:1.4!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:60ch}
#main-view .fil-page-intro .fil-intro-scroll{align-self:flex-start!important;font-size:10px!important;min-height:32px!important;padding:7px 12px!important;border-radius:var(--radius-global, 5px)!important}
#main-view .story-home-hero{display:flex!important;flex-direction:column!important;justify-content:center!important}
#main-view .story-home-hero .story-title{font-size:clamp(25px,3vw,37px)!important;line-height:1.08!important;max-width:100%!important;margin:7px 0!important}
#main-view .story-home-hero .story-copy{font-size:12px!important;line-height:1.45!important;max-width:72ch!important;margin:0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#main-view .story-home-hero .story-btn-grid,#main-view .story-home-hero .story-social,#main-view .story-home-hero .story-project,#main-view .story-home-hero .story-handle{display:none!important}
@media(max-width:540px){
#main-view .fil-page-intro,#main-view .resto-header,#main-view .fil-ed-intro,#main-view .story-home-hero{padding:15px!important;height:200px!important;min-height:200px!important}
#main-view .fil-page-intro .fil-intro-title{font-size:28px!important}
#main-view .story-home-hero .story-title{font-size:29px!important}
}
/* Les deux publicités ordinateur sont désormais deux cartes voisines, et non empilées. */
@media(min-width:1024px){
#app-root .fil-workspace{display:grid!important;grid-template-columns:minmax(0,58fr) minmax(0,42fr)!important;min-width:0!important}
#fil-desktop-ads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(245px,auto)!important;align-content:start!important;align-items:stretch!important;gap:10px!important;padding:13px!important;min-width:0!important;overflow-x:hidden!important}
#fil-desktop-ads>h2{grid-column:1/-1!important;margin-bottom:0!important}
#fil-desktop-ads>.fil-ad-slot{min-width:0!important;align-self:start!important;display:block!important;width:100%!important}
#fil-desktop-ads .fil-ad-card{min-height:245px!important;height:285px!important;max-height:350px!important;aspect-ratio:auto!important;gap:8px!important;padding:10px!important;border-radius:var(--radius-global, 5px)!important}
#fil-desktop-ads .fil-ad-top{gap:3px!important}
#fil-desktop-ads .fil-ad-mini{font-size:8px!important;letter-spacing:0!important}
#fil-desktop-ads .fil-ad-number{font-size:8px!important;padding:4px!important}
#fil-desktop-ads .fil-ad-card h3{font-size:clamp(14px,1.5vw,21px)!important}
#fil-desktop-ads .fil-ad-card p{font-size:10px!important;line-height:1.35!important}
#fil-desktop-ads .fil-ad-footer{gap:3px!important}
#fil-desktop-ads .fil-ad-cta{min-height:34px!important;padding:7px 8px!important;font-size:10px!important;margin:5px 0!important;width:100%!important}
#fil-desktop-ads .fil-ad-later{font-size:9px!important;line-height:1.1!important}
#bottom-navigation{grid-template-columns:minmax(0,58fr) minmax(0,42fr)!important}
}
@media(min-width:1024px) and (max-width:1110px){
#fil-desktop-ads .fil-ad-card{height:325px!important}
#fil-desktop-ads .fil-ad-mini{font-size:7px!important}
}
/* Publicité image plein cadre : texte facultatif et bouton visible si URL fournie. */
.fil-ad-card--has-image{isolation:isolate!important;background:#24103f!important}
.fil-ad-card--has-image .fil-ad-body{display:contents!important}
.fil-ad-card--has-image .fil-ad-picture{position:absolute!important;inset:0!important;z-index:-2!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}
.fil-ad-card--has-image .fil-ad-image,#fil-desktop-ads .fil-ad-card--has-image .fil-ad-image,#main-view .fil-ad-card--has-image .fil-ad-image{display:block!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:var(--radius-global, 5px)!important;background:transparent!important}
.fil-ad-card--has-image::before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;border-radius:var(--radius-global, 5px)!important;width:auto!important;height:auto!important;box-shadow:none!important;background:linear-gradient(180deg,rgba(11,7,30,.12) 0%,rgba(17,8,40,.30) 45%,rgba(13,5,30,.87) 100%)!important}
.fil-ad-card--has-image::after{display:none!important}
.fil-ad-card--has-image>.fil-ad-top,.fil-ad-card--has-image>.fil-ad-footer,.fil-ad-card--has-image>.fil-ad-later,.fil-ad-card--has-image>.fil-ad-content,.fil-ad-card--has-image .fil-ad-content{position:relative!important;z-index:2!important}
.fil-ad-card--has-image .fil-ad-content{margin-top:auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;width:100%!important;flex:1 1 auto!important;gap:6px!important}
.fil-ad-card--has-image .fil-ad-content>h3,.fil-ad-card--has-image .fil-ad-content>p,.fil-ad-card--has-image .fil-ad-organization{text-shadow:0 2px 8px #09031c95!important}
.fil-ad-card--visual-only .fil-ad-organization{margin-top:auto!important;font-size:11px!important}
.fil-ad-card--has-image .fil-ad-footer{margin-top:auto!important;align-items:flex-end!important}
.fil-ad-card--has-image .fil-ad-readonly{color:#fff}
.fil-ad-card--has-image .fil-ad-cta{background:#fff!important;color:#5021b8!important;border:0!important}
/* Animation de la découverte, puis ouverture du volet droit et révélation des rubriques. */
/* Effets de fond réservés aux sections éditoriales (jamais sur les profils). */
#main-view .fil-page-intro,#main-view .story-home-hero,#main-view .fil-ed-intro,#main-view .fil-featured,#main-view .fil-v27-spotlight{isolation:isolate}
#main-view .fil-page-intro::after,#main-view .story-home-hero::after,#main-view .fil-ed-intro::after{animation:fil-v33-ambient 12s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
#main-view .fil-featured::before,#main-view .fil-v27-spotlight::before{animation:fil-v33-softglow 11s ease-in-out infinite alternate}
@keyframes fil-v33-ambient{from{transform:translate(-12px,-12px) scale(.9);opacity:.35}to{transform:translate(16px,10px) scale(1.22);opacity:.62}}
@keyframes fil-v33-softglow{0%{filter:saturate(.9)}100%{filter:saturate(1.2)}}
/* Disposition publiée depuis le studio, sous réserve d'un même conteneur de page. */
@media(min-width:768px){
#main-view .fil-v33-layout-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start;gap:14px!important}
#main-view .fil-v33-layout-grid>[data-fil-module-width="full"],#main-view .fil-v33-layout-grid>:not([data-fil-module]){grid-column:1/-1!important;width:100%!important;min-width:0!important}
#main-view .fil-v33-layout-grid>[data-fil-module-width="half"]{grid-column:auto!important;max-width:100%!important;width:100%!important;min-width:0!important}
}
#main-view [data-fil-module-size="compact"]:not(.fil-page-intro):not(.story-home-hero){min-height:0!important}
#main-view [data-fil-module-size="grand"]:not(.fil-page-intro):not(.story-home-hero){min-height:320px!important}
@media(max-width:767px){
#main-view .fil-v33-layout-grid{display:block!important}
#main-view [data-fil-module-width="half"]{width:100%!important;max-width:100%!important}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-page-intro::after,#main-view .story-home-hero::after,#main-view .fil-ed-intro::after,#main-view .fil-featured::before,#main-view .fil-v27-spotlight::before{animation:none!important}
}
/* Premier carrousel de l'accueil : hauteur maîtrisée, même sur petit téléphone. */
#main-view .fil-v15-carousel .fil-v15-stage{height:200px!important;min-height:200px!important;max-height:200px!important;aspect-ratio:auto!important}
#main-view .fil-v15-carousel .fil-v15-slide{padding:13px 16px!important;justify-content:end!important}
#main-view .fil-v15-carousel .fil-v15-slide-info h3{font-size:clamp(19px,3vw,29px)!important;line-height:1.12!important;margin:5px 0!important}
#main-view .fil-v15-carousel .fil-v15-slide-info p{font-size:11px!important;line-height:1.35!important;max-width:62ch!important;margin-bottom:8px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#main-view .fil-v15-carousel .fil-v15-slide-kicker{font-size:9px!important}
#main-view .fil-v15-carousel .fil-v15-open{min-height:32px!important;padding:7px 12px!important;font-size:10px!important;border-radius:var(--radius-global, 5px)!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad{padding:0!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-card{padding:9px 13px!important;gap:4px!important;min-height:0!important;height:100%!important;max-height:200px!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-card h3{font-size:17px!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-card p{font-size:10px!important;line-height:1.2!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-card .fil-ad-meta,#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-dimensions{display:none!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-cta{font-size:10px!important;padding:7px 10px!important;min-height:31px!important}
#main-view .fil-v15-carousel .fil-v15-slide.is-ad .fil-ad-orb{display:none!important}
/* ---- experience-v34.css ---- */
/* V34 : site principal et panneau Vie locale sont deux zones indépendantes. */
:root{--fil-rail-accent:#5526be}
@media(min-width:1024px){
#app-root .fil-workspace{display:grid!important;grid-template-columns:minmax(0,74fr) minmax(290px,26fr)!important;gap:0!important;min-height:0!important}
#bottom-navigation{display:grid!important;grid-template-columns:minmax(0,74fr) minmax(290px,26fr)!important}
#fil-desktop-ads{display:flex!important;flex-direction:column!important;gap:11px!important;align-content:unset!important;align-items:stretch!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin!important;padding:14px!important;background-color:#f3eefa!important;min-height:0!important;position:relative!important}
#fil-desktop-ads>.fil-ad-slot{width:100%!important;max-width:none!important;min-width:0!important;grid-column:auto!important;display:block!important;flex:none!important;margin:0!important}
#fil-desktop-ads .fil-ad-card{height:auto!important;max-height:none!important;min-height:220px!important;aspect-ratio:auto!important;width:100%!important;box-sizing:border-box!important;padding:13px!important;border-radius:var(--radius-global, 5px)!important}
#fil-desktop-ads .fil-ad-card h3{font-size:clamp(18px,1.35vw,24px)!important}
#fil-desktop-ads .fil-ad-card p{font-size:12px!important;line-height:1.45!important}
#fil-desktop-ads>.fil-rail-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;position:relative!important;z-index:1!important}
#fil-desktop-ads>.fil-rail-heading h2{margin:0!important;font:800 12px/1.4 system-ui,sans-serif!important;color:#56407c!important;letter-spacing:.08em;text-transform:uppercase}
#fil-rail-close,#fil-rail-toggle{display:none!important}
}
#fil-desktop-ads.fil-rail-with-bg::before{content:"";position:absolute;inset:0;background-image:var(--fil-rail-image);background-position:center;background-size:cover;opacity:.22;pointer-events:none}
#fil-desktop-ads.fil-rail-with-bg>*{position:relative;z-index:1}
#fil-desktop-ads>.fil-rail-apps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:5px;width:100%;min-width:0}
#fil-desktop-ads .fil-rail-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:65px;padding:8px 2px!important;background:#fff;border:1px solid #dfd0f2;border-radius:var(--radius-global, 5px);box-shadow:0 5px 15px #2812580d;color:#5926b3;font:750 10px/1.1 system-ui,sans-serif;text-decoration:none;text-align:center}
#fil-desktop-ads .fil-rail-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#fil-desktop-ads .fil-rail-link:focus-visible{outline:3px solid #ca6bfc;outline-offset:2px}
#fil-desktop-ads .fil-rail-custom-image{display:block;overflow:hidden;background:#fff;border:1px solid #e0d1f0;border-radius:var(--radius-global, 5px);min-height:110px;position:relative;width:100%}
#fil-desktop-ads .fil-rail-custom-image>img{width:100%;height:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover));display:block;position:absolute;inset:0}
#fil-desktop-ads .fil-rail-custom-image>a{position:absolute;z-index:2;bottom:10px;left:10px;padding:10px 13px;background:white;color:#5921b3;border-radius:var(--radius-global, 5px);text-decoration:none;font-size:11px;font-weight:800}
#fil-desktop-ads .fil-rail-module[data-size="compact"]{min-height:90px!important}
#fil-desktop-ads .fil-rail-module[data-size="standard"]{min-height:190px!important}
#fil-desktop-ads .fil-rail-module[data-size="grand"]{min-height:310px!important}
#fil-desktop-ads .fil-rail-module.fil-ad-slot .fil-ad-card{min-height:inherit!important;height:100%!important}
#fil-desktop-ads .fil-rail-module[data-size="compact"].fil-rail-apps{min-height:70px!important}
#fil-desktop-ads .fil-rail-module[data-size="grand"].fil-rail-apps{min-height:105px!important}
#fil-desktop-ads .fil-rail-module[data-width="half"]{width:calc(50% - 6px)!important;max-width:calc(50% - 6px)!important;align-self:flex-start!important}
#fil-desktop-ads .fil-rail-module[data-width="full"]{width:100%!important;max-width:none!important}
#fil-desktop-ads .fil-rail-module[hidden]{display:none!important}
#fil-desktop-ads .fil-rail-cycle{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5a348c;font:700 11px system-ui,sans-serif}
#fil-desktop-ads .fil-rail-cycle button{padding:7px 12px!important;background:#fff;border:1px solid #d3c2eb;color:#5623b1;border-radius:var(--radius-global, 5px);font-weight:800}
#fil-desktop-ads .fil-rail-cycle[hidden]{display:none!important}
/* Sur téléphone la colonne est une page latérale accessible, jamais au-dessus du contenu par défaut. */
@media(max-width:1023px){
#fil-rail-toggle{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #ddcff2;border-radius:var(--radius-global, 5px);background:#f3ecfb;color:#5723aa;font:800 10px/1.2 system-ui,sans-serif;padding:8px!important;min-height:30px}
#fil-desktop-ads{display:none!important;position:absolute!important;inset:0!important;z-index:90!important;background:#f5f1fc!important;padding:18px!important;overflow-y:auto!important;min-height:0!important;flex-direction:column!important;align-items:stretch!important;gap:11px!important}
#fil-desktop-ads[data-open="true"]{display:flex!important}
#fil-desktop-ads>.fil-rail-heading{display:flex;justify-content:space-between;align-items:center}
#fil-desktop-ads>.fil-rail-heading h2{font-size:14px;font-weight:800;color:#422082}
#fil-rail-close{display:block!important;min-width:38px;min-height:38px;background:white;border:1px solid #d9c7ec;border-radius:var(--radius-global, 5px);font-size:23px;color:#5824af}
#fil-desktop-ads .fil-ad-card{min-height:220px!important;height:auto!important}
}
/* Header : heure de Paris et météo respectueuse du consentement. */
#fil-weather-icon{font-size:17px;line-height:1}
#fil-weather-temp{font-size:10px}
@media(max-width:550px){
#fil-weather-temp{display:none}
#fil-weather-icon{font-size:14px}
#fil-rail-toggle{font-size:9px;padding:5px!important}
}
/* Le catalogue du site principal conserve ses annonces juxtaposées sur PC. */
@media(min-width:1024px){
#main-view .fil-v34-paired-ads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;min-width:0}
#main-view .fil-v34-paired-ads>.fil-ad-slot{width:100%!important;min-width:0!important}
}
/* Harmonisation : identité / titre à gauche, catégorie et actions à droite. */
/* Nouvelle révélation maîtrisée : environ 3 secondes au total. */
@keyframes fil-v34-logo-discovery{0%{opacity:0;transform:scale(.76);filter:blur(8px)}45%{opacity:1;transform:scale(1.08);filter:blur(0)}100%{opacity:1;transform:scale(1);filter:blur(0)}}
@media(min-width:1024px){
#fil-desktop-ads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-content:start!important;align-items:start!important}
#fil-desktop-ads>.fil-rail-heading,#fil-desktop-ads>.fil-rail-cycle{grid-column:1/-1!important}
#fil-desktop-ads>.fil-rail-module[data-width="full"]{grid-column:1/-1!important;width:100%!important;max-width:100%!important}
#fil-desktop-ads>.fil-rail-module[data-width="half"]{grid-column:auto!important;width:100%!important;max-width:100%!important;min-width:0!important}
}
/* Cartes : alignement explicite sur deux lignes, identique dans les trois annuaires. */
#main-view .fil-v27-spotlight-stage{min-height:215px!important;max-height:240px!important;height:auto!important;aspect-ratio:auto!important;padding:14px 17px!important;justify-content:center!important}
#main-view .fil-v27-spotlight-stage h2{font-size:clamp(17px,2.3vw,24px)!important;margin:4px 0 9px!important;line-height:1.14!important}
#main-view .fil-v27-spotlight-cards{gap:8px!important}
#main-view .fil-v27-spotlight-card{min-height:100px!important;padding:7px!important;gap:4px!important}
#main-view .fil-v27-spotlight-card img,#main-view .fil-v27-spotlight-card .fil-v27-icon{width:33px!important;height:33px!important}
#main-view .fil-v27-spotlight-nav{display:flex!important;justify-content:space-between!important;margin-top:6px!important;gap:5px!important}
#main-view .fil-v27-spotlight-nav button{width:31px!important;height:31px!important;min-height:31px!important}
@media(max-width:510px){
#main-view .fil-v27-spotlight-stage{min-height:230px!important;max-height:270px!important;padding:11px!important}
#main-view .fil-v27-spotlight-card{min-height:116px!important}
}
#fil-desktop-ads .fil-rail-apps[data-width="half"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-height:135px!important}
#fil-desktop-ads .fil-rail-apps[data-width="half"] .fil-rail-link{min-height:50px;font-size:9px}
/* ---- stabilite-v35.css ---- */
/* V35 : dernière couche visuelle et sécurité des dispositions. */
:root{--fil-card-radius:var(--radius-global, 5px);--fil-quiet-border:rgba(93,57,150,.15)}
/* Bandeau identique sur toutes les rubriques, sans modifier leurs données. */
#main-view .fil-page-intro,#main-view .story-home-hero,#main-view .resto-header,#main-view .fil-ed-intro{height:200px!important;min-height:200px!important;max-height:200px!important;box-sizing:border-box!important;border-radius:var(--radius-global, 5px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#main-view .fil-page-intro .fil-intro-title,#main-view .resto-header h1,#main-view .fil-ed-intro h1{font-size:clamp(23px,3vw,32px)!important;line-height:1.12!important}
#main-view .fil-page-intro .fil-intro-desc{font-size:12px!important;line-height:1.4!important;max-width:75ch!important}
/* Les modules sont ordonnés visuellement sans changer de parent ni déplacer leurs événements. */
#main-view .fil-v35-layout-safe{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:14px!important}
#main-view .fil-v35-layout-safe>[data-fil-module]{min-width:0!important}
#main-view .fil-v35-layout-safe>:not([data-fil-module]){min-width:0!important}
@media(min-width:768px){
#main-view .fil-v35-layout-safe.fil-v33-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#main-view .fil-v35-layout-safe.fil-v33-layout-grid>[data-fil-module-width="full"],#main-view .fil-v35-layout-safe.fil-v33-layout-grid>:not([data-fil-module]){grid-column:1/-1!important}
}
@media(max-width:767px){
#main-view .fil-v35-layout-safe{grid-template-columns:minmax(0,1fr)!important}
}
/* Les blocs excessifs ne doivent jamais imposer leur taille au parent. */
#main-view .fil-v35-layout-safe>*{max-width:100%!important}
/* La colonne Vie locale ne fait jamais partie des animations de transition. */
#fil-desktop-ads,#fil-desktop-ads::before,#fil-desktop-ads>.fil-rail-module{animation:none!important;transition:none!important}
#fil-desktop-ads{contain:layout style}
/* Publicités carrées dans les deux espaces, les publicités du diaporama d'accueil sont exclues. */
#fil-desktop-ads .fil-rail-module.fil-ad-slot{min-height:0!important;aspect-ratio:1/1!important;height:auto!important;overflow:hidden!important}
#fil-desktop-ads .fil-rail-module.fil-ad-slot .fil-ad-card{aspect-ratio:1/1!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:hidden!important}
#main-view .fil-ad-slot:not(.fil-v15-carousel .fil-ad-slot) .fil-ad-card{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;max-height:none!important;width:100%!important}
#main-view .fil-v34-paired-ads{display:grid!important;grid-column:1/-1!important;grid-template-columns:1fr!important;gap:12px!important;max-width:100%!important}
@media(min-width:1024px){
#main-view .fil-v34-paired-ads{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Sur ordinateur, le panneau droit utilise un seul axe vertical, sauf le choix explicite demi-largeur. */
@media(min-width:1024px){
#fil-desktop-ads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:start!important;gap:12px!important;align-items:start!important}
#fil-desktop-ads>.fil-rail-heading,#fil-desktop-ads>.fil-rail-cycle{grid-column:1/-1!important}
#fil-desktop-ads>.fil-rail-module[data-width="full"]{grid-column:1/-1!important;width:100%!important;max-width:none!important}
#fil-desktop-ads>.fil-rail-module[data-width="half"]{grid-column:span 1!important;width:100%!important;max-width:100%!important}
}
#fil-desktop-ads .fil-rail-module[hidden]{display:none!important}
/* Découverte de six fiches aléatoires : module indépendant des publicités approuvées. */
#fil-desktop-ads .fil-rail-discover{border:1px solid #d7c6ed;border-radius:var(--radius-global, 5px);background:#fff;padding:13px!important;min-height:170px!important;display:flex;flex-direction:column;gap:9px}
#fil-desktop-ads .fil-rail-discover[hidden]{display:none!important}
.fil-rail-discover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#3d245d}
.fil-rail-discover-head strong{font-size:12px;line-height:1.2}
.fil-rail-discover-head span{font-size:10px;color:#876aa9;flex:none}
.fil-rail-discover-slide{flex:1;display:flex;flex-direction:column;justify-content:center;gap:9px;min-height:95px}
.fil-discover-meta{font-size:10px;color:#8051b4}
.fil-rail-discover-slide strong{font-size:15px;line-height:1.3;color:#271c40;overflow-wrap:anywhere}
.fil-rail-discover-slide button{min-height:36px!important;align-self:flex-start;background:#602cce;color:white;border-radius:var(--radius-global, 5px);border:0;padding:8px 12px!important;font-weight:800;font-size:11px}
.fil-rail-discover-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0e7f6;padding-top:6px;color:#8768ad;font-size:11px}
.fil-rail-discover-actions button{height:30px;width:36px;display:grid;place-items:center;border-radius:var(--radius-global, 5px);background:#f4edfd;border:1px solid #decbee;font-size:20px;color:#602cce}
#fil-desktop-ads .fil-rail-apps{min-height:70px!important}
#fil-desktop-ads .fil-app-symbol{font-weight:850;font-size:23px;line-height:1;color:#6d2fcb}
/* Header sans bouton Vie locale, logo plus grand, boutons alignés. */
#fil-rail-toggle{display:none!important}
/* Retrait définitif du petit logo FIL collé aux cartes de l'annuaire. */
/* Cohérence avec la présentation de l'Agenda : cartes blanches, titres lisibles, marges. */
#main-view .fil-public-card,#main-view .resto-card,#main-view .event-card,#main-view article.bg-white{background:#fff!important;border:1px solid var(--fil-quiet-border)!important;border-radius:var(--radius-global, 5px)!important;box-shadow:0 5px 15px #32135709!important;min-width:0!important;overflow:hidden}
/* Favoris : titres et cartes regroupés proprement, sans zones publicitaires disproportionnées. */
#main-view .fil-v35-favorites > section,#main-view .fil-v35-favorites > div{max-width:100%!important;min-width:0!important}
#main-view .fil-v35-favorites .grid.grid-cols-1,#main-view .resto-favorites-section .resto-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))!important;gap:12px!important}
#main-view .fil-v35-favorites .promo-slot{max-width:520px;margin-inline:auto}
#main-view .fil-v35-favorites .how-it-works{padding:16px!important;margin-block:10px!important}
/* Transitions uniquement sur le site principal, jamais dans la colonne droite. */
@keyframes fil-v35-page-enter{from{opacity:.38;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
/* Erreur de ressource : ne jamais masquer l'interface sous un écran blanc. */
#app-root,#main-view{opacity:1}
/* ---- stabilisation-v36.css ---- */
/* V36 : priorité à la stabilité; le contenu ne doit jamais être coupé. */
#main-view .fil-v36-layout-host{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:start!important;min-width:0!important}
#main-view .fil-v36-layout-host>*{min-width:0!important;max-width:100%!important}
@media(min-width:900px){
#main-view .fil-v36-layout-host.fil-v36-layout-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#main-view .fil-v36-layout-host.fil-v36-layout-two>[data-fil-module-width="full"],#main-view .fil-v36-layout-host.fil-v36-layout-two>:not([data-fil-module]){grid-column:1/-1!important}
}
@media(max-width:899px){
#main-view .fil-v36-layout-host{grid-template-columns:minmax(0,1fr)!important}
}
/* Préserver la hauteur voulue en l'absence de débordement, laisser grandir les textes longs. */
#main-view .fil-page-intro,#main-view .story-home-hero,#main-view .resto-header,#main-view .fil-ed-intro{height:auto!important;min-height:200px!important;max-height:none!important;overflow:visible!important;padding-block:clamp(14px,3vw,28px)!important}
#main-view .fil-page-intro .fil-intro-content,#main-view .story-home-hero>*{min-width:0!important}
/* Les boutons ne doivent jamais recouvrir le texte dans le header ou dans les cartes. */
#bottom-navigation,#main-view article{min-width:0}
#main-view button:focus-visible,#bottom-navigation button:focus-visible{outline:3px solid #622bd0!important;outline-offset:2px!important}
/* V37 — système de disposition déterministe. Première section entière, suivantes en grille de 10 colonnes. */
#main-view .fil-v37-layout-host{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:stretch!important;grid-auto-flow:row!important;grid-auto-rows:auto!important;min-width:0!important}
#main-view .fil-v37-layout-host>*{min-width:0!important;box-sizing:border-box!important;max-width:100%!important;align-self:stretch!important}
@media(min-width:900px){
#main-view .fil-v37-layout-host{grid-template-columns:repeat(10,minmax(0,1fr))!important}
#main-view .fil-v37-layout-host>:not([data-fil-module]),#main-view .fil-v37-layout-host>[data-fil-first="true"]{grid-column:1/-1!important}
#main-view .fil-v37-layout-host>[data-fil-module-width="30"]{grid-column:span 3!important}
#main-view .fil-v37-layout-host>[data-fil-module-width="50"],#main-view .fil-v37-layout-host>[data-fil-module-width="half"]{grid-column:span 5!important}
#main-view .fil-v37-layout-host>[data-fil-module-width="70"]{grid-column:span 7!important}
#main-view .fil-v37-layout-host>[data-fil-module-width="80"]{grid-column:span 8!important}
#main-view .fil-v37-layout-host>[data-fil-module-width="100"],#main-view .fil-v37-layout-host>[data-fil-module-width="full"]{grid-column:1/-1!important}
#main-view .fil-v37-layout-host>[data-fil-first="true"]{grid-column:1/-1!important}
}
@media(max-width:899px){
#main-view .fil-v37-layout-host{grid-template-columns:minmax(0,1fr)!important}
#main-view .fil-v37-layout-host>*{grid-column:1/-1!important}
}
/* Les blocs d'une même rangée s'étirent à la hauteur du bloc le plus long. */
#main-view .fil-v37-layout-host>[data-fil-module]{align-self:stretch!important;margin-top:0!important;margin-bottom:0!important;min-height:0}
/* Les sections affichent leur contenu en entier : pas de défilement local interne. */
#main-view .fil-v37-layout-host>[data-fil-module]:not(.fil-featured):not(.fil-v27-spotlight),#main-view .fil-v37-layout-host>[data-fil-module]:not(.fil-featured):not(.fil-v27-spotlight)>.fil-page-intro{overflow-y:visible!important;max-height:none!important}
/* Conservation du scroll global de page et des formulaires/dialogues indépendants. */
#main-view{overflow-y:auto!important}
/* Publicités du site principal : carrées et côte à côte dès qu'il existe de la place. */
#main-view .fil-v34-paired-ads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;grid-column:1/-1!important;width:100%!important;min-width:0!important}
#main-view .fil-v34-paired-ads>.fil-ad-slot{aspect-ratio:1/1!important;width:100%!important;min-width:0!important;margin:0!important;align-self:stretch!important}
#main-view .fil-v34-paired-ads>.fil-ad-slot>.fil-ad-card{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1!important;overflow:hidden!important}
@media(max-width:520px){
#main-view .fil-v34-paired-ads{grid-template-columns:minmax(0,1fr)!important}
}
/* Colonne indépendante Vie locale : une seule pile verticale, pubs obligatoirement carrées. */
#fil-desktop-ads{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;grid-template-columns:none!important;grid-auto-rows:auto!important;overflow-x:hidden!important}
@media(min-width:1024px){
#fil-desktop-ads{display:flex!important}
}
@media(max-width:1023px){
#fil-desktop-ads:not([data-open="true"]){display:none!important}
#fil-desktop-ads[data-open="true"]{display:flex!important}
}
#fil-desktop-ads>.fil-rail-module{flex:0 0 auto!important;min-width:0!important;max-width:100%!important}
#fil-desktop-ads>.fil-rail-module.fil-ad-slot{display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:1 / 1!important;align-self:stretch!important;overflow:hidden!important}
#fil-desktop-ads>.fil-rail-module.fil-ad-slot>.fil-ad-card{box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1!important;overflow:hidden!important}
#fil-desktop-ads>.fil-rail-module.fil-ad-slot[hidden]{display:none!important}
/* Heure indépendante, trois commandes météo / recherche / favoris strictement carrées et identiques. */
#fil-weather-temp{display:none!important}
/* V37: precedence over V36 two-column rules; no implicit overflow columns. */
@media(min-width:900px){
#main-view .fil-v36-layout-host.fil-v36-layout-two.fil-v37-layout-host{grid-template-columns:repeat(10,minmax(0,1fr))!important;grid-auto-flow:row!important;align-items:stretch!important}
#main-view .fil-v36-layout-host.fil-v36-layout-two.fil-v37-layout-host>[data-fil-first="true"]{grid-column:1/-1!important}
}
/* Precedence over legacy header utility classes. */
/* V38 — corrections structurelles : paires réellement côte à côte et aperçu fidèle. */
/* L'ancien sélecteur .fil-grid-ad imposait grid-column:1/-1 à chaque publicité.
   Dans une paire, annuler cette règle pour que chacune prenne UNE des deux colonnes. */
#main-view .fil-v34-paired-ads{
  max-width:900px!important;
  justify-self:center!important;
  margin-inline:auto!important;
}
#main-view .fil-v34-paired-ads > .fil-ad-slot.fil-grid-ad{
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  padding-bottom:0!important;
  aspect-ratio:1/1!important;
}
#main-view .fil-v34-paired-ads > .fil-grid-ad > .fil-ad-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
}
#main-view .fil-v34-paired-ads > .fil-grid-ad .fil-ad-picture .fil-ad-image{
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:520px){
#main-view .fil-v34-paired-ads > .fil-ad-slot.fil-grid-ad{grid-column:1/-1!important;}
}
/* Les tailles verticales définies dans le studio constituent des minima,
   jamais un viewport à défilement interne. */
#main-view .fil-v37-layout-host > [data-fil-module]{
  max-height:none!important;
  min-width:0!important;
  align-self:stretch!important;
}
/* V39 — ADS hors Vie locale désactivables depuis l'administration, sans espace vide. */
html:not(.fil-site-ads-enabled) [data-ad-slot]:not([data-ad-slot^="desktop-"]),[data-ad-slot][data-fil-ad-disabled="true"],html:not(.fil-site-ads-enabled) .fil-v15-slide.is-ad,html:not(.fil-site-ads-enabled) .fil-v34-paired-ads:empty,html:not(.fil-site-ads-enabled) .fil-carousel-ad{
  display:none!important;
}
/* V40 — charte commune des fiches et de leurs actions.
   Chargée APRÈS site-v36.css, identique pour toutes les pages publiques.
   Les cartes d'annuaire seules ont border-radius:20%; boutons et formulaires inchangés. */
:root{
  --fil-v40-card-radius:var(--radius-global, 5px);
  --fil-v40-actions-gap:8px;
  --fil-v40-button-edge:5px;
}
/* Listes Associations, Boutiques/Commerces, Restauration (et mêmes fiches en Favoris). */
/* L'arrondi extérieur découpe image, bandeau, fond et bordure de la même façon.
   Aucun second arrondi sur les bords supérieurs des bandeaux. */
/* Contenus centrés, textes/illustrations contenus dans la carte. */
/* Barre des boutons commune : conserver les écouteurs de clic existants. */
#main-view .fil-public-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:var(--fil-v40-actions-gap)!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
#main-view .fil-public-actions>:is(button,a){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 12px!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#main-view .fil-public-actions>:is(button,a) :is(svg,i){flex:0 0 auto;align-self:center}
#main-view .fil-public-actions>:is(button,a)>span{min-width:0;overflow-wrap:anywhere;text-align:center}
/* Dans les cartes à 20 %, éloigner les commandes des coins très arrondis. */
/* Catégorie visible une seule fois : dans le bandeau, pas près du cœur.
   Le JS commun supprime le badge redondant sans toucher aux favoris. */
/* Agenda et autres cartes : identité conservée, boutons alignés et contenus protégés. */
#main-view .event-card{border-radius:var(--radius-global, 5px)!important;overflow:hidden!important;box-sizing:border-box!important;min-width:0!important}
#main-view .event-card .fil-public-actions,#main-view .event-card>.event-see,#main-view .event-card>.square-links{box-sizing:border-box!important;max-width:100%!important}
#main-view .event-card .fil-public-actions{padding:var(--fil-v40-button-edge)!important;margin-top:10px!important}
@media(max-width:520px){
#main-view .fil-public-actions{gap:7px!important}
#main-view .fil-public-actions>:is(button,a){padding:10px 8px!important;font-size:11px!important}
#main-view .event-card .fil-public-actions{padding:5px!important}
}
/* Charte V44 : sections et fiches utilisent le rayon global de 5 px. */
:root{--fil-container-radius:var(--radius-global, 5px);--fil-action-edge:5px;--fil-action-gap:8px;--fil-header-control:38px;--fil-rail-active:#5422bc}
/* Les sections ont le même rayon ; les commandes/formulaires/logos gardent leur propre forme. */
#main-view :is(section,.information-block,.fil-public-card,.fil-v13-card,.resto-card,.event-card,.fil-ed-card,.fil-ed-article,.fil-ed-intro,.fil-page-intro,.fil-featured,.story-home-hero,.home-weather,.home-events,.home-news,.home-about,.fil-v15-mairie,.fil-v27-spotlight,.fil-search-panel,.resto-search-panel,.fil-v10-search,.fil-v35-favorites > div,.fil-v35-favorites > section,.fil-ad-card,.fil-v34-paired-ads>.fil-ad-slot),#fil-desktop-ads :is(.fil-rail-apps,.fil-rail-custom-image,.fil-rail-discover,.fil-ad-slot,.fil-ad-card){
  border-radius:var(--radius-global, 5px)!important;box-sizing:border-box!important;min-width:0;max-width:100%;
}
#main-view :is(.fil-v13-card,.resto-card,.event-card,.fil-public-card,.fil-ed-card,.fil-ad-card),#fil-desktop-ads :is(.fil-ad-card,.fil-rail-custom-image){overflow:hidden!important}
#main-view :is(section,.information-block,.fil-search-panel,.resto-search-panel,.fil-v10-search):not(.fil-ad-slot):not(.fil-v27-spotlight){
  padding-inline:max(12px, min(4vw, 30px));height:auto!important;max-height:none!important;overflow-y:visible!important
}
#main-view .fil-v37-layout-host > [data-fil-module]{height:auto!important;min-height:0;max-height:none!important;align-self:stretch!important;overflow-y:visible!important}
/* Bordure/photographie : coins uniformes, images limitées à leur panneau. */
/* Recherche large ET compacte ; les filtres restent opérationnels. */
#main-view :is(.fil-search-panel,.resto-search-panel,.fil-v10-search){width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;margin-inline:0!important;margin-block:8px 12px!important;padding:12px clamp(12px,3vw,24px)!important;display:block!important}
#main-view :is(.fil-search-panel,.resto-search-panel,.fil-v10-search) :is(input[type='search'],input[type='text'],select){width:100%!important;min-width:0!important;min-height:40px!important;height:42px!important;max-height:none!important;box-sizing:border-box!important}
#main-view :is(.fil-search-panel,.resto-search-panel,.fil-v10-search) :is(.resto-filters,.fil-search-filters){margin-top:6px!important;display:flex;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important;max-width:100%!important}
#main-view :is(.fil-search-panel,.resto-search-panel,.fil-v10-search) :is(button,.resto-filter){min-height:36px;max-width:100%;box-sizing:border-box}
#main-view [data-fil-module='fiches'],#main-view [data-fil-module='articles']{width:100%;min-width:0;max-width:100%;}
/* Header : le titre n'est jamais sacrifié et les actions restent dans leur propre ligne sur mobile. */
/* L'ancien emplacement ne doit jamais réserver une place au bouton Vie locale. */
#bottom-navigation #fil-rail-toggle{display:none!important}
@media(max-width:1023px){
#bottom-navigation>div:first-child{gap:2px!important;flex-wrap:nowrap!important;justify-content:space-around!important}
#bottom-navigation #fil-rail-toggle{display:inline-flex!important;order:10!important;flex:0 1 auto!important;min-height:40px!important;align-items:center!important;justify-content:center!important;padding:4px 6px!important;border:1px solid #d1bbee!important;background:#f4edff!important;color:#5422bc!important;border-radius:var(--radius-global, 5px)!important;font-size:clamp(8px,1.4vw,11px)!important;font-weight:800!important;max-width:96px!important;white-space:nowrap!important}
}
@media(max-width:480px){
:root{--fil-header-control:34px}
#bottom-navigation #fil-rail-toggle{max-width:75px!important;font-size:8px!important;letter-spacing:-.03em!important;padding-inline:2px!important}
}
/* Zone publicitaire autonome, sans animation ni rechargement lors des routes SPA. */
#fil-desktop-ads{transform:none!important;animation:none!important}
#fil-desktop-ads.fil-rail-with-bg::before{transform:none!important;animation:none!important;transition:none!important;background-size:cover!important;background-position:center center!important}
#fil-desktop-ads .fil-rail-link{transition:background-color .18s ease,border-color .18s ease,color .18s ease!important}
#fil-desktop-ads .fil-rail-link:hover{background:#eee3ff!important;border-color:#9872df!important}
#fil-desktop-ads .fil-rail-link.is-active,#fil-desktop-ads .fil-rail-link[aria-current='page']{background:var(--fil-rail-active)!important;color:#fff!important;border-color:var(--fil-rail-active)!important;box-shadow:0 4px 14px #2f106942!important}
#fil-desktop-ads .fil-rail-link.is-active .fil-app-symbol,#fil-desktop-ads .fil-rail-link[aria-current='page'] .fil-app-symbol{color:#fff!important}
#fil-desktop-ads>.fil-rail-heading,#fil-desktop-ads>.fil-rail-cycle{grid-column:1/-1!important}
#fil-desktop-ads>.fil-rail-module.fil-ad-slot{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;max-height:none!important}
#fil-desktop-ads>.fil-rail-module.fil-ad-slot>.fil-ad-card{aspect-ratio:1/1!important;min-height:0!important;height:100%!important;max-height:none!important}
#fil-desktop-ads .fil-rail-custom-image>img{animation:none!important;transform:none!important;transition:none!important}
/* Le chargement apparaît sur Site, pas sur le panneau Vie locale. */
#app-root .fil-workspace{position:relative!important}
/* Arrondis des modules publicitaires intacts, même lorsque les ADS des autres pages sont désactivées. */
html:not(.fil-site-ads-enabled) #main-view [data-ad-slot]:not([data-ad-slot^='desktop-']){display:none!important}
/* Sections et fiches partagent le même rayon global. */
#main-view :is(.fil-page-intro,.story-home-hero,.resto-header,.fil-ed-intro,.home-events,.home-news,.home-about,.home-weather,.fil-search-panel,.resto-search-panel){border-radius:var(--radius-global, 5px)!important;background-clip:padding-box!important;box-sizing:border-box!important}
#main-view :is(.fil-page-intro,.story-home-hero,.resto-header,.fil-ed-intro){padding-inline:max(20px,min(6%,55px))!important}
#main-view :is(.fil-page-intro,.story-home-hero,.resto-header,.fil-ed-intro) :is(img,video){max-width:100%;object-fit:contain}
@media(min-width:1024px){
#fil-desktop-ads{contain:layout style}
}
/* Les commandes d'affichage demeurent utilisables, même sur petit écran. */
:root{--radius-global:5px}
/* V44 : arrondis rectangulaires uniformes de 5 px.
   Exception explicite : icônes circulaires, logos, avatars et indicateurs ronds. */
:root{--fil-container-radius:var(--radius-global, 5px);--fil-card-radius:var(--radius-global, 5px);--fil-v40-card-radius:var(--radius-global, 5px);--radius:var(--radius-global, 5px);--radius-lg:var(--radius-global, 5px);--radius-xl:var(--radius-global, 5px);--radius-2xl:var(--radius-global, 5px);--radius-3xl:var(--radius-global, 5px)}
/* Unifier les sections, fiches, cartes, modules, recherches, encarts{border-radius:var(--radius-global, 5px)!important;background-clip:padding-box}
/* Formulaires et boutons rectangulaires : même rayon{border-radius:var(--radius-global, 5px)!important}
/* Bords des images inclus dans les cartes, sans imposer une hauteur fixe ni un défilement. */
#main-view :is([class*="card"],[class*="fiche"],[class*="panel"],[class*="tile"],[class*="encart"]) img{max-width:100%}
/* Maintenir les commandes dans leur conteneur. */
#main-view :is([class*="actions"],[class*="buttons"],[class*="controls"]){gap:max(5px,var(--fil-action-gap,5px));box-sizing:border-box;max-width:100%}
/* Cadres administrateur et éléments de formulaire partagent la même charte. */
/* V45 : réglage des listes, proportions et animations limitées au site. */
#main-view [data-fil-columns]{display:grid!important;grid-template-columns:repeat(var(--fil-list-columns,3),minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;min-width:0!important;width:100%!important}
#main-view [data-fil-columns]>article{height:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#main-view [data-fil-columns]>.fil-v34-paired-ads{grid-column:1/-1!important}
#main-view [data-fil-columns]>.fil-direct-tools{grid-column:1/-1!important}
#main-view .fil-v37-layout-host{gap:16px!important;align-items:stretch!important}
#main-view .fil-v37-layout-host>[data-fil-module]{min-width:0!important;box-sizing:border-box!important;align-self:stretch!important}
#main-view .fil-v37-layout-host>[data-fil-module-size=standard]:not([data-fil-columns]):not(.fil-page-intro):not(.fil-ed-intro):not(.story-home-hero){min-height:0!important;height:auto!important;max-height:none!important}
#main-view :is(.fil-page-intro,.fil-ed-intro,.story-home-hero){min-height:200px!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;padding:20px!important}
#app-root .fil-site-pane{position:relative;isolation:isolate;contain:paint;display:flex;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}
#app-root .fil-site-pane>#main-view{height:100%;box-sizing:border-box;min-height:0!important}
html body #app-root{opacity:1!important}
@media(min-width:641px) and (max-width:1023px){
#main-view [data-fil-columns='3']{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
#main-view [data-fil-columns]{grid-template-columns:minmax(0,1fr)!important}
#main-view :is(.fil-page-intro,.fil-ed-intro,.story-home-hero){padding:16px!important;min-height:160px!important}
}
#main-view :is(.fil-page-intro,.fil-ed-intro,.story-home-hero)[data-fil-module-size=compact]{min-height:140px!important}
#main-view :is(.fil-page-intro,.fil-ed-intro,.story-home-hero)[data-fil-module-size=grand]{min-height:300px!important}
/* Listes : le nombre de colonnes choisi est la seule règle de grille. */
#app-root #main-view [data-fil-columns]{display:grid!important;grid-template-columns:repeat(var(--fil-list-columns,3),minmax(0,1fr))!important;gap:16px!important;grid-column:1/-1!important;width:100%!important}
#app-root #main-view [data-fil-columns]>article{grid-column:auto!important;min-width:0!important;width:100%!important}
#app-root #main-view [data-fil-module=recherche]{grid-column:1/-1!important;width:100%!important;max-width:none!important}
@media(min-width:641px) and (max-width:1023px){
#app-root #main-view [data-fil-columns='3']{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
#app-root #main-view [data-fil-columns]{grid-template-columns:minmax(0,1fr)!important}
}
/* Blocs éditoriaux V47 : hauteurs intrinsèques, contenu intégral, colonnes fluides. */
#main-view .fil-studio-block-group{display:grid!important;grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:16px!important;grid-column:1/-1!important;align-items:stretch!important;min-width:0;width:100%;margin:0 0 16px;box-sizing:border-box}
#main-view .fil-studio-block{grid-column:1/-1!important;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;min-height:var(--studio-min-height,0px);height:auto;max-height:none!important;box-sizing:border-box;padding:var(--studio-padding,20px);border-radius:var(--studio-radius,14px);background-color:var(--studio-bg,#fff);background-size:cover;background-position:center;color:var(--studio-ink,#172033);border:1px solid #dedee8;overflow-wrap:anywhere;overflow:visible;position:relative}
#main-view .fil-studio-block[hidden],#main-view .fil-studio-module-hidden{display:none!important}
@media(min-width:750px){
#main-view .fil-studio-block[data-studio-width="30"]{grid-column:span 3!important}
#main-view .fil-studio-block[data-studio-width="50"]{grid-column:span 5!important}
#main-view .fil-studio-block[data-studio-width="70"]{grid-column:span 7!important}
#main-view .fil-studio-block[data-studio-width="80"]{grid-column:span 8!important}
}
#main-view .fil-studio-block[data-has-background="true"]{color:#fff!important;text-shadow:0 1px 6px #0009}
#main-view .fil-studio-eyebrow{font:750 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;opacity:.74;margin-bottom:8px}
#main-view .fil-studio-title{font:750 clamp(19px,2.5vw,31px)/1.2 system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 10px;color:inherit}
#main-view .fil-studio-description{font:400 14px/1.65 system-ui,sans-serif;white-space:pre-wrap;margin:0;color:inherit}
#main-view .fil-studio-image{display:block;width:100%;max-height:480px;object-fit:contain;margin:10px 0;border-radius:inherit;min-width:0}
#main-view .fil-studio-cta{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;background:#5823b7;color:#fff!important;text-shadow:none;border-radius:8px;font:700 13px system-ui,sans-serif;text-decoration:none;padding:11px 18px;margin-top:16px}
#main-view .fil-studio-block[style*="text-align: center"] .fil-studio-cta{align-self:center}
#main-view .fil-studio-block[style*="text-align: right"] .fil-studio-cta{align-self:flex-end}
#main-view .fil-studio-ad-label{display:inline-flex;align-self:flex-start;max-width:max-content;font:750 10px/1.3 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;background:#f4edff;color:#5626a1;text-shadow:none;padding:5px 8px;border-radius:6px;margin-bottom:12px}
#main-view .fil-studio-ad-empty{color:#76698b;border:1px dashed #b9a5d3;padding:24px;text-align:center;border-radius:8px}
#main-view .fil-studio-rule{width:100%;border:0;height:1px;background:currentColor;opacity:.35;margin:0}
#main-view .fil-studio-block-divider{border:0;padding:6px}
#app-root .fil-studio-site-hidden{display:none!important}
/* Bandeau : logo, titre, sous-titre, boutons toujours sur une même ligne sur mobile. */
/* Bouton Vie locale déplacé à droite du menu, avec flèche et prévisualisation. */
#bottom-navigation #fil-rail-toggle{order:99!important;flex:0 0 auto!important;width:auto!important;max-width:126px!important;min-width:64px!important;height:43px!important;font:750 10px/1.12 system-ui,sans-serif!important;text-align:center!important;white-space:normal!important;letter-spacing:0!important;border:1px solid #b69be1!important;border-radius:10px!important;padding:4px 7px!important;background:#efe8fb!important;color:#54229e!important;box-shadow:0 2px 8px #3c216a1a;cursor:pointer!important}
#bottom-navigation #fil-rail-toggle::before{content:'↑';display:block;font-size:16px;font-weight:900;line-height:16px}
#bottom-navigation #fil-rail-toggle:hover,#bottom-navigation #fil-rail-toggle:focus-visible{background:#d9c6f7!important;box-shadow:0 0 0 3px #a77add55}
#bottom-navigation>div:first-child{display:flex!important;align-items:center;justify-content:space-between;gap:2px;min-width:0}
@media(max-width:600px){
#bottom-navigation #fil-rail-toggle{font-size:clamp(7px,1.7vw,9px)!important;max-width:91px!important;min-width:57px!important;padding:2px 3px!important}
#bottom-navigation>div:first-child{gap:0!important}
}
#main-view .fil-visual-hidden{display:none!important}
#bottom-navigation #fil-rail-toggle{position:relative}
#bottom-navigation #fil-rail-toggle:hover::after,#bottom-navigation #fil-rail-toggle:focus-visible::after{content:'↑ Cliquez pour ouvrir les publicités et la vie locale';position:absolute;z-index:100;bottom:calc(100% + 9px);right:0;width:165px;max-width:60vw;white-space:normal;color:#fff;background:#281948;border-radius:9px;padding:10px;text-align:center;font:650 11px/1.4 system-ui;box-shadow:0 8px 22px #0b082f66}
#main-view .fil-studio-block-icon{display:block;font-size:clamp(25px,3vw,40px);line-height:1.25;margin-bottom:8px}
#main-view .fil-studio-system-ad{border:0!important;padding:0!important;background:none!important;box-shadow:none!important}
#main-view .fil-studio-system-ad>.fil-ad-slot{width:100%;max-width:100%;height:auto;min-width:0}
#main-view .fil-studio-system-ad>.fil-ad-slot .fil-ad-card{height:auto;min-height:190px}
@media(min-width:750px){
#main-view .fil-studio-block[data-studio-width="20"]{grid-column:span 2!important}
#main-view .fil-studio-block[data-studio-width="25"]{grid-column:span 3!important}
#main-view .fil-studio-block[data-studio-width="33"]{grid-column:span 3!important}
#main-view .fil-studio-block[data-studio-width="40"]{grid-column:span 4!important}
#main-view .fil-studio-block[data-studio-width="60"]{grid-column:span 6!important}
#main-view .fil-studio-block[data-studio-width="66"]{grid-column:span 7!important}
#main-view .fil-studio-block[data-studio-width="75"]{grid-column:span 7!important}
#main-view .fil-studio-block[data-studio-width="90"]{grid-column:span 9!important}
}
/* V49: toutes les sections d'origine, y compris la première, sont redimensionnables. */
@media(min-width:900px){
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="20"],#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="25"],#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="30"],#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="33"]{grid-column:span 3!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="20"]{grid-column:span 2!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="40"]{grid-column:span 4!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="50"]{grid-column:span 5!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="60"]{grid-column:span 6!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="66"],#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="70"],#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="75"]{grid-column:span 7!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="80"]{grid-column:span 8!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="90"]{grid-column:span 9!important}
#app-root #main-view .fil-v37-layout-host>[data-fil-module-width="100"]{grid-column:1/-1!important}
}
/* La hauteur reste gouvernée par le contenu ; pas de troncature forcée. */
#app-root #main-view [data-fil-module]:not([hidden]){max-height:none!important}
/* Réorganisation persistante des éléments internes existants (sans changer leur HTML). */
#main-view .fil-studio-order-host,#bottom-navigation .fil-studio-order-host,#fil-desktop-ads .fil-studio-order-host{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
/* V50 : compositions de lignes automatiques, sans positionnement absolu. */
#main-view .fil-v50-empty-group{display:none!important}
/* V51 : composants éditoriaux, dans le flux du site réel. */
#main-view .fil-studio-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;width:100%;}
#main-view .fil-studio-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:var(--record-media-fit,var(--page-media-fit,cover));border-radius:10px;}
#main-view .fil-studio-video{display:block;width:100%;max-height:560px;border-radius:10px;background:#101523;}
#main-view .fil-studio-quote blockquote{margin:10px 0;padding:8px 15px;border-left:4px solid #7055ba;font-style:italic;}
#main-view .fil-studio-spacer{padding:0!important;min-height:var(--studio-min-height,28px);background:transparent!important;box-shadow:none!important;border:0!important;}
#main-view .fil-studio-heading h2{font-size:clamp(22px,2.3vw,38px);}
#main-view .fil-studio-block{min-width:0;overflow-wrap:anywhere;}
@media(max-width:740px){
#main-view .fil-studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* V49 : commandes d'accessibilité mobiles utilisables sans casser la ligne d'en-tête. */
#fil-v49-zoom-dock[hidden],#fil-v49-zoom-panel[hidden]{display:none!important}
#fil-v49-zoom-dock{position:fixed;bottom:calc(83px + env(safe-area-inset-bottom,0px));left:9px;z-index:79;font:700 12px system-ui;isolation:isolate}
#fil-v49-zoom-trigger{border-radius:12px;padding:9px 12px;background:#251850;color:#fff;box-shadow:0 5px 22px #2c1b4b42;border:1px solid #b39adb;min-height:39px;cursor:pointer}
#fil-v49-zoom-panel{position:absolute;bottom:calc(100% + 7px);left:0;padding:9px;border-radius:13px;background:#fff;border:1px solid #d7cce8;box-shadow:0 8px 30px #160c2752;min-width:196px}
/* Bouton séparé de la navigation, collé à droite au-dessus de celle-ci. */
#app-root>#fil-rail-toggle.fil-v49-rail-launch{display:none!important}
@media(max-width:1023px){
#app-root>#fil-rail-toggle.fil-v49-rail-launch{display:flex!important;position:fixed!important;right:10px!important;bottom:calc(91px + env(safe-area-inset-bottom,0px))!important;top:auto!important;left:auto!important;z-index:82!important;max-width:154px!important;min-width:119px!important;min-height:47px!important;width:auto!important;padding:6px 10px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;border:1px solid #b39adb!important;border-radius:11px!important;background:#f3eaff!important;box-shadow:0 5px 20px #3216532d!important;color:#4b208d!important;font:800 10px/1.25 system-ui!important;white-space:normal!important;text-align:center!important;cursor:pointer!important}
#app-root>#fil-rail-toggle.fil-v49-rail-launch::before{content:'↑ Voir';display:block;font-size:12px;line-height:1.3;color:#4a1ba1}
#app-root>#fil-rail-toggle.fil-v49-rail-launch:hover,#app-root>#fil-rail-toggle.fil-v49-rail-launch:focus-visible{background:#e5d3ff!important;outline:2px solid #704db0;outline-offset:2px}
#app-root>#fil-rail-toggle.fil-v49-rail-launch::after{content:'';display:none}
}
/* Transition du logo à l'intérieur de la zone de lecture, sans masquer le bandeau. */
@keyframes fil-v49-page-switch{0%{opacity:0;visibility:visible}19%,62%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes fil-v49-logo{0%{transform:scale(.74) rotate(-8deg)}55%{transform:scale(1.07) rotate(0)}100%{transform:scale(.96)}}
/* 20 colonnes : une à cinq sections libres sur une ligne, 20% = 5 éléments. */
#app-root #main-view .fil-studio-block-group{display:grid!important;grid-template-columns:repeat(20,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
#app-root #main-view .fil-studio-block{grid-column:span 20!important;min-width:0!important;width:100%!important;min-height:var(--studio-min-height,0px)!important}
@media(min-width:750px){
#app-root #main-view .fil-studio-block[data-studio-width="20"]{grid-column:span 4!important}
#app-root #main-view .fil-studio-block[data-studio-width="25"]{grid-column:span 5!important}
#app-root #main-view .fil-studio-block[data-studio-width="30"]{grid-column:span 6!important}
#app-root #main-view .fil-studio-block[data-studio-width="33"]{grid-column:span 7!important}
#app-root #main-view .fil-studio-block[data-studio-width="40"]{grid-column:span 8!important}
#app-root #main-view .fil-studio-block[data-studio-width="50"]{grid-column:span 10!important}
#app-root #main-view .fil-studio-block[data-studio-width="60"]{grid-column:span 12!important}
#app-root #main-view .fil-studio-block[data-studio-width="66"]{grid-column:span 13!important}
#app-root #main-view .fil-studio-block[data-studio-width="70"]{grid-column:span 14!important}
#app-root #main-view .fil-studio-block[data-studio-width="75"]{grid-column:span 15!important}
#app-root #main-view .fil-studio-block[data-studio-width="80"]{grid-column:span 16!important}
#app-root #main-view .fil-studio-block[data-studio-width="90"]{grid-column:span 18!important}
}
@media(max-width:749px){
#app-root #main-view .fil-studio-block-group{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
#app-root #main-view .fil-studio-block{grid-column:1/-1!important}
}
/* Grille libre pour composer textes, images, boutons et sections existants, 1 à 5 colonnes. */
#app-root #main-view .fil-studio-grid-host{display:grid!important;grid-template-columns:repeat(var(--fil-studio-grid-columns,2),minmax(0,1fr))!important;gap:var(--fil-studio-grid-gap,12px)!important;align-items:stretch!important;grid-auto-flow:row!important}
#app-root #main-view .fil-studio-grid-host > *{min-width:0!important;max-width:100%;box-sizing:border-box}
#app-root #main-view .fil-studio-grid-host > [data-fil-studio-span]{grid-column:span var(--fil-studio-grid-span,1)!important}
#app-root #main-view [data-fil-columns="4"],#app-root #main-view [data-fil-columns="5"]{grid-template-columns:repeat(var(--fil-list-columns),minmax(0,1fr))!important}
@media(min-width:641px) and (max-width:1023px){
#app-root #main-view [data-fil-columns="4"],#app-root #main-view [data-fil-columns="5"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:749px){
#app-root #main-view .fil-studio-grid-host{grid-template-columns:minmax(0,1fr)!important}
#app-root #main-view .fil-studio-grid-host > [data-fil-studio-span]{grid-column:1/-1!important}
}
/* Studio plus lisible, champs regroupés, poignée et ciblage. */
body.fil-studio-open #app-root #main-view .fil-studio-selected{outline:3px solid #7d4bda!important;outline-offset:3px!important}
body.fil-studio-open #main-view [data-fil-record-key]{cursor:grab}
#fil-studio-floating-tools [data-float="drag"]{cursor:grab;background:#7040bc;touch-action:none}
#app-root #main-view .fil-studio-block[data-media-layout="image-left"] .fil-studio-media-row,#app-root #main-view .fil-studio-block[data-media-layout="image-right"] .fil-studio-media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center;min-width:0;width:100%}
#app-root #main-view .fil-studio-media-row .fil-studio-image{width:100%;height:auto;min-width:0;max-height:520px;margin:0}
#app-root #main-view .fil-studio-block[data-image-fit="cover"] .fil-studio-image{object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#app-root #main-view .fil-studio-description{font-size:var(--fil-studio-text-size,14px)}
#app-root #main-view .fil-studio-block-copy{min-width:0}
body.fil-studio-open .fil-studio-drop-target{outline:3px dashed #a451dd!important;outline-offset:-3px!important;background-color:#e8daff30!important}
@media(max-width:749px){
#app-root #main-view .fil-studio-block .fil-studio-media-row{grid-template-columns:minmax(0,1fr)!important}
}
/* Le Studio mobile conserve une zone de page visible : panneau inférieur redimensionné. */
@media(max-width:749px){
body.fil-studio-open #fil-studio-launch{display:none!important}
}
/* V52 — navigation, météo et fiches confinées à la zone du site. */
/* Une seule animation de navigation, trois secondes, dans la zone du site seulement. */
@keyframes fil-v52-page-switch{0%{opacity:0;visibility:visible}8%,88%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes fil-v52-logo{0%{transform:scale(.75) rotate(-9deg)}36%{transform:scale(1.07) rotate(0)}78%{transform:scale(1)}100%{transform:scale(.98)}}
@keyframes fil-v52-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#main-view .fil-v52-meteo-layout{display:grid;gap:18px;padding:clamp(12px,3vw,28px);width:100%;max-width:1100px;margin:0 auto;align-content:start;min-width:0;}
#main-view .fil-v52-meteo-hero{background:linear-gradient(130deg,#3b237f,#9650db);color:#fff;padding:clamp(20px,4vw,38px);border-radius:18px;}
#main-view .fil-v52-meteo-hero h1{font-size:clamp(24px,3vw,35px);font-weight:800;margin:5px 0;}
#main-view .fil-v52-meteo-layout #local-weather{background:#f5f9ff;border:1px solid #cad9ec;border-radius:16px;padding:clamp(16px,3vw,28px);min-height:220px;}
#main-view .fil-v52-meteo-sources{padding:18px;border:1px solid #e0d8ef;border-radius:14px;background:#fff;}
#main-view .fil-v52-meteo-sources a{color:#5626ba;text-decoration:underline;}
/* V53 : Studio en plein site, panneaux flottants à la demande, aucune réduction de #app-root */
html body.fil-studio-open #app-root,html body.fil-studio-open:not(.fil-studio-library-closed) #app-root{width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;min-width:0!important;transform:none!important;}
body.fil-studio-open #main-view{min-width:0!important;overflow-x:hidden!important}
#fil-v53-dock{position:fixed;left:12px;top:68px;z-index:10011;display:none;align-items:center;gap:5px;border:1px solid #ded4f0;background:#f9f7feee;border-radius:12px;padding:5px;box-shadow:0 4px 22px #23154326;backdrop-filter:blur(12px);font-family:system-ui}
body.fil-studio-open #fil-v53-dock{display:flex}
#fil-v53-dock button{color:#402592;font-size:11px;font-weight:800;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:#fff;cursor:pointer;white-space:nowrap}
#fil-v53-dock button:hover,#fil-v53-dock button:focus-visible{color:#fff;background:#6536c7;outline:2px solid #b49ce9;outline-offset:1px}
#fil-v53-dock button:last-child{color:#fff;background:#5a2dbe}
body.fil-studio-open #fil-v52-reopen{display:none!important}
#fil-studio-floating-tools button[data-v53-inspect]{font:700 11px/1.1 system-ui!important;white-space:nowrap;min-width:70px;padding:6px 8px!important;background:#5b32b6!important;color:#fff!important;border-radius:7px!important}
body.fil-studio-open #main-view :is(.fil-studio-block,section,article,[data-fil-module],p,h1,h2,h3,button,a,img):not([contenteditable]){cursor:grab}
body.fil-studio-open #main-view .fil-v53-hover{outline:2px dashed #6d40cd!important;outline-offset:1px!important;cursor:grab!important}
body.fil-studio-open #main-view .fil-studio-selected{outline:3px solid #7450da!important;outline-offset:3px!important}
body.fil-v53-dragging,body.fil-v53-dragging #main-view *{cursor:grabbing!important;user-select:none!important}
#fil-v53-ghost{position:fixed;z-index:10020;max-width:210px;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#231a42ed;color:white;border:1px solid #b28def;border-radius:9px;padding:9px 12px;font:700 12px/1.3 system-ui;box-shadow:0 8px 24px #19113355}
body.fil-studio-open #main-view [data-fil-v50-drop]{outline:4px dashed #4c24a1!important;outline-offset:4px!important}
body.fil-studio-open #main-view [data-fil-v50-drop]::after{background:#4a249dda!important;font-size:12px!important}
body.fil-studio-open #bottom-navigation{max-width:none!important;width:calc(100% - 24px)!important;left:12px!important;right:12px!important;margin:0!important}
@media(max-width:950px){
#fil-v53-dock{left:7px;top:auto;bottom:72px;max-width:calc(100vw - 14px);overflow:auto}
#fil-v53-dock button{font-size:10px;padding:8px 5px}
}
/* Fiche centrée uniquement dans l'espace site, jamais au-dessus des panneaux éditeur ou de la régie. */
#app-root .fil-site-pane{position:relative!important;isolation:isolate;overflow:hidden!important}
/* Un unique fondu logo + barre 3s au changement d'onglet, dans la seule zone du site. */
#main-view .fil-v53-weather-extended{background:#fff;border:1px solid #ded7ec;border-radius:18px;overflow:hidden;min-width:0}
#main-view .fil-v53-weather-details{padding:clamp(16px,3vw,27px);color:#251d42}
#main-view .fil-v53-weather-details h2{font-size:clamp(18px,2vw,23px);font-weight:800;margin-bottom:4px}
#main-view .fil-v53-updated{font-size:12px;color:#605b75;margin-bottom:12px}
#main-view .fil-v53-weather-scene{height:clamp(170px,24vw,270px);position:relative;overflow:hidden;background:linear-gradient(150deg,#67b8e9,#e9f6ff);color:#fff}
#main-view .fil-v53-sky-sun{background:linear-gradient(140deg,#69bdf1,#f8d695)}
#main-view .fil-v53-sky-part{background:linear-gradient(140deg,#72b5e5,#d7e7fa)}
#main-view .fil-v53-sky-cloud,#main-view .fil-v53-sky-fog{background:linear-gradient(140deg,#657b9c,#c2ccd8)}
#main-view .fil-v53-sky-rain,#main-view .fil-v53-sky-storm{background:linear-gradient(130deg,#263753,#78819f)}
#main-view .fil-v53-sky-snow{background:linear-gradient(140deg,#7f9abc,#dcefff)}
#main-view .fil-v53-sun{position:absolute;left:23%;top:17%;height:90px;width:90px;border-radius:50%;background:#ffe078;box-shadow:0 0 0 23px #ffea8150,0 0 90px #fff19d7d;animation:fil-v53-sun 9s ease-in-out infinite}
#main-view .fil-v53-sky-cloud .fil-v53-sun,#main-view .fil-v53-sky-rain .fil-v53-sun,#main-view .fil-v53-sky-storm .fil-v53-sun{opacity:.07}
#main-view .fil-v53-cloud{position:absolute;top:12px;font-size:140px;color:#f2f3facc;text-shadow:0 8px 22px #14274833;white-space:nowrap;animation:fil-v53-cloud 18s linear infinite}
#main-view .fil-v53-cloud.cloud-a{left:53%}
#main-view .fil-v53-cloud.cloud-b{left:-10%;top:50px;font-size:90px;animation-duration:26s;animation-direction:reverse}
#main-view .fil-v53-sky-label{position:absolute;left:24px;bottom:23px;display:flex;flex-direction:column;text-shadow:0 2px 12px #18233f9c}
#main-view .fil-v53-sky-label span{font:800 14px system-ui}
#main-view .fil-v53-sky-label strong{font:800 clamp(32px,5vw,51px)/1.1 system-ui}
#main-view .fil-v53-drops i{display:none;position:absolute;top:-30px;left:var(--x);height:22px;width:2px;background:#def3ffc7;transform:rotate(15deg);animation:fil-v53-rain 1s linear infinite;animation-delay:calc(var(--i)*-.17s)}
#main-view :is(.fil-v53-sky-rain,.fil-v53-sky-storm,.fil-v53-sky-snow) .fil-v53-drops i{display:block}
#main-view .fil-v53-sky-snow .fil-v53-drops i{height:6px;width:6px;border-radius:50%;transform:rotate(0);animation-duration:2.4s}
@keyframes fil-v53-cloud{from{transform:translateX(-55px)}to{transform:translateX(80px)}}
@keyframes fil-v53-rain{from{top:-22px}to{top:105%}}
@keyframes fil-v53-sun{50%{transform:scale(1.09)}}
#main-view .fil-v53-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 20px}
#main-view .fil-v53-stat-grid>div{background:#f5f2fd;border:1px solid #e7def6;padding:12px;border-radius:10px;display:grid;gap:2px}
#main-view .fil-v53-stat-grid span{font-size:11px;color:#5b526f}
#main-view .fil-v53-stat-grid strong{font-size:15px;font-weight:800;color:#37226d}
#main-view .fil-v53-forecast-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0 15px}
#main-view .fil-v53-forecast-days>div{border:1px solid #e5dcec;background:#faf8ff;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;min-width:0}
#main-view .fil-v53-forecast-days>div span:nth-child(2){font-size:26px}
#main-view .fil-v53-forecast-days strong,#main-view .fil-v53-forecast-days span{font-size:12px}
#main-view .fil-v53-forecast-days small{color:#615b76;font-size:10px}
#main-view .fil-v53-weather-credits{font-size:11px;color:#625875;line-height:1.5;margin:10px 0}
#main-view .fil-v53-weather-credits a{text-decoration:underline;color:#5b2aba}
#main-view .fil-v53-weather-details button,#main-view .fil-v53-snake-teaser button{background:#602bba;color:#fff;border-radius:9px;padding:10px 14px;font-weight:800;font-size:12px;cursor:pointer}
#main-view .fil-v53-snake-teaser{display:flex;justify-content:space-between;gap:16px;align-items:center;border-radius:16px;background:linear-gradient(115deg,#2e1a66,#7243bd);color:#fff;padding:clamp(14px,3vw,24px)}
#main-view .fil-v53-snake-teaser strong{font:800 18px/1.3 system-ui}
#main-view .fil-v53-snake-teaser p{font-size:12px;margin-top:4px;color:#e9dbff}
#main-view .fil-v53-snake-teaser button{background:#ff793e;white-space:nowrap}
/* Jeu uniquement dans la zone site, sans couvrir l'en-tête, la navigation ni le bandeau publicitaire. */
@media(max-width:650px){
#main-view .fil-v53-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#main-view .fil-v53-forecast-days{grid-template-columns:repeat(3,minmax(0,1fr))}
#main-view .fil-v53-snake-teaser{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-v53-weather-scene *{animation:none!important}
}
#main-view .fil-v53-weather-scene .fil-v53-cloud.cloud-a{animation-duration:var(--fil-wind-seconds,18s)}
#main-view .fil-v53-weather-scene .fil-v53-cloud.cloud-b{animation-duration:calc(var(--fil-wind-seconds,18s)*1.3)}
/* V54 : nouveau thème et transitions — surcharge non destructive des styles du site. */
#main-view .animate-view{animation:none!important}
#main-view .fil-v54-clock-page{width:100%;margin:0 auto;padding:clamp(10px,2vw,24px);display:grid;gap:18px;box-sizing:border-box;min-width:0;font-family:system-ui,sans-serif;color:#251344}
#main-view .fil-v54-clock-hero{position:relative;padding:clamp(19px,4vw,36px);color:#fff;border-radius:18px;overflow:hidden;background:linear-gradient(108deg,#321172 0%,#6f20ce 43%,#df1caa 77%,#fd733f 100%);box-shadow:0 12px 25px #38127a25}
#main-view .fil-v54-clock-hero:before{content:'';position:absolute;inset:-100%;background:repeating-conic-gradient(from 0deg,#ffffff09 0deg 12deg,transparent 12deg 24deg);animation:fil-v54-spin 80s linear infinite;pointer-events:none}
#main-view .fil-v54-clock-hero>*{position:relative}
#main-view .fil-v54-overline{font:800 11px/1.5 system-ui;letter-spacing:.15em;text-transform:uppercase;opacity:.84}
#main-view .fil-v54-clock-hero h1{font:800 clamp(24px,4.2vw,42px)/1.1 system-ui;margin:10px 0}
#main-view .fil-v54-clock-hero p:last-child{font-size:clamp(12px,1.6vw,15px);line-height:1.55;max-width:750px}
#main-view .fil-v54-clock-stage{position:relative;min-width:0;display:grid;grid-template-columns:minmax(145px,.45fr) minmax(0,2fr);gap:18px;align-items:center;background:linear-gradient(145deg,#f8f4ff,#fff4fc);border:1px solid #e4d0f5;border-radius:18px;padding:clamp(14px,2.5vw,22px)}
#main-view .fil-v54-dial{width:min(100%,230px);aspect-ratio:1;position:relative;margin:auto;border-radius:50%;border:9px solid #4f1a9f;background:radial-gradient(circle at 35% 32%,#ffffff 0%,#fff7fd 55%,#f5dafa 100%);box-shadow:0 0 0 5px #e6bcf6,inset 0 0 18px #8926b51c,0 12px 35px #4b177033}
#main-view .fil-v54-dial:after{content:'12        3       6       9';font-size:0;position:absolute;inset:10px;border:2px dotted #7f4cac70;border-radius:50%}
#main-view .fil-v54-dial-hand{position:absolute;left:50%;bottom:50%;width:5px;transform-origin:bottom center;border-radius:7px;transform:translateX(-50%) rotate(calc(var(--fil-hour,0)*1deg));background:#4e167e;height:29%;z-index:2}
#main-view .fil-v54-hand-minute{height:37%;width:4px;transform:translateX(-50%) rotate(calc(var(--fil-minute,0)*1deg));background:#9e25bd}
#main-view .fil-v54-hand-second{height:42%;width:2px;transform:translateX(-50%) rotate(calc(var(--fil-second,0)*1deg));background:#ff6938;z-index:3}
#main-view .fil-v54-dial-dot{position:absolute;left:50%;top:50%;width:13px;height:13px;border-radius:50%;background:#f96638;transform:translate(-50%,-50%);z-index:4;box-shadow:0 0 0 3px #fff}
#main-view .fil-v54-clock-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#main-view .fil-v54-clock-card{min-width:0;padding:clamp(12px,2vw,17px);display:grid;gap:4px;justify-items:start;overflow:hidden;background:#fff;border:1px solid #e5d8f2;border-radius:14px;box-shadow:0 3px 11px #37115e0b}
#main-view .fil-v54-clock-lead{border:2px solid #9d45d5;background:linear-gradient(145deg,#fcf8ff,#fff0f8)}
#main-view .fil-v54-city{font:800 clamp(12px,1.4vw,15px) system-ui;color:#54209e}
#main-view .fil-v54-sub{font:500 11px system-ui;color:#77708a}
#main-view .fil-v54-clock-card time{font:800 clamp(19px,2.6vw,30px)/1.2 'Outfit',system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#401377}
#main-view .fil-v54-date{font:500 11px/1.3 system-ui;color:#514960;text-transform:capitalize}
#main-view .fil-v54-tz{font:800 10px system-ui;color:#b0328c}
#main-view .fil-v54-clock-info{border-radius:15px;border:1px solid #e6dcf4;background:#fff;padding:18px;font-size:13px;line-height:1.55}
#main-view .fil-v54-clock-info h2{font-size:18px;font-weight:800;margin-bottom:5px;color:#4c2294}
#main-view .fil-v54-clock-play{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(108deg,#24105b,#7628b8,#cf258e);border-radius:16px;padding:clamp(15px,2.5vw,24px);color:#fff}
#main-view .fil-v54-clock-play h2{font:800 19px/1.3 system-ui}
#main-view .fil-v54-clock-play p{font-size:12px;margin-top:5px;color:#e9dcff}
#main-view .fil-v54-clock-play button{background:#ff733d;color:#fff;border:0;border-radius:9px;padding:12px 17px;font:800 13px system-ui;cursor:pointer;white-space:nowrap}
@keyframes fil-v54-spin{to{transform:rotate(360deg)}}
@media(max-width:770px){
#main-view .fil-v54-clock-stage{grid-template-columns:1fr}
#main-view .fil-v54-dial{width:135px;border-width:6px}
#main-view .fil-v54-clock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:450px){
#main-view .fil-v54-clock-card{padding:10px}
#main-view .fil-v54-clock-grid{gap:7px}
#main-view .fil-v54-clock-card time{font-size:17px}
#main-view .fil-v54-clock-play{flex-direction:column;align-items:start}
}
@media(prefers-reduced-motion:reduce){
#main-view .fil-v54-clock-hero:before{animation:none!important}
}
/* Le plateau s'adapte aussi à la hauteur, pour maintenir les commandes visibles. */
/* V55 — Studio unique / jeu dans l'espace de lecture */
#main-view .animate-view{animation:none!important}
/* Header configurable, sur une seule rangée sans écrasement */
body.fil-studio-open .fil-v52-edge{width:16px!important;height:16px!important;touch-action:none;transition:background-color .16s,box-shadow .16s}
body.fil-studio-open .fil-v52-edge:hover{background:#f028b0;box-shadow:0 0 0 5px #d991ed55}
body.fil-studio-resizing *{user-select:none!important}
body.fil-studio-open #main-view :is(section,article,p,h1,h2,h3,img,button,a){cursor:grab}
body.fil-studio-open .fil-v53-dragging *{cursor:grabbing!important}
body.fil-studio-open .fil-studio-selected{outline:2px solid #a234d7!important;outline-offset:2px}
body.fil-studio-open .fil-v53-hover:not(.fil-studio-selected){outline:1px dashed #b14be7;outline-offset:2px}
/* V56 : univers du jeu. Gradients noir, violet, rose, rouge et orange */
#fil-v56-home-promo{--night:#180b32;--purple:#631cc7;--pink:#f0229c;--orange:#ff6d3e;min-width:0}
#fil-v56-home-promo{position:relative;overflow:hidden;color:#fff;background:linear-gradient(112deg,#150b28 0%,#51148f 33%,#b01b9c 65%,#f32875 82%,#ff6a34 100%);background-size:180% 180%;animation:fil-v56-pulse 17s ease-in-out infinite;isolation:isolate}
#fil-v56-home-promo:before{content:'';pointer-events:none;position:absolute;inset:-100%;background:radial-gradient(circle at 70% 20%,#ffdb9040,transparent 35%),repeating-conic-gradient(from 0deg,#ffffff07 0deg 9deg,transparent 9deg 26deg);animation:fil-v56-orbit 65s linear infinite}
#fil-v56-home-promo>*{position:relative;z-index:1}
#fil-v56-home-promo{margin:18px 0;padding:clamp(14px,3vw,28px);border-radius:18px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:clamp(12px,2vw,24px);box-shadow:0 16px 38px #240e4b37}
.fil-v56-kicker{display:block;font:800 10px system-ui;letter-spacing:.15em;color:#ffd9f7}
#fil-v56-home-promo h2{font:900 clamp(22px,4vw,44px)/1.15 system-ui,sans-serif;color:white;margin:10px 0}
#fil-v56-home-promo p{color:#ffe9fa;font:500 clamp(12px,1.25vw,15px)/1.5 system-ui}
.fil-v56-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.fil-v56-actions :is(button,a){border:1px solid #ffb6e9;border-radius:12px;background:linear-gradient(110deg,#ffdded,#fff2d9);color:#501379;box-shadow:0 5px 14px #1b073433;font:800 12px system-ui;padding:12px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.fil-v56-actions :is(button,a):hover{transform:translateY(-2px)}
.fil-v56-promo-side{background:#1c0b35b8;border:1px solid #efaff858;border-radius:15px;padding:15px;color:#fff}
#main-view .fil-v56-rules h2{font:800 20px system-ui;margin:0 0 9px}
#main-view .fil-v56-rules{background:#faf5ff;border:1px solid #e4d3f8;border-radius:15px;padding:20px;color:#3f1c6d}
#main-view .fil-v56-rules li{margin-bottom:11px;font:500 13px/1.5 system-ui}
#main-view .fil-v56-rules p{font:500 12px/1.6 system-ui;color:#654d7d}
.fil-v56-nickname{display:flex;align-items:center;gap:9px;font:700 12px system-ui;color:#52117a}
.fil-v56-nickname input{min-width:0;max-width:170px;flex:1;border:1px solid #cdb4e4;border-radius:8px;padding:8px 9px;font-size:14px;background:#fff;color:#271048}
@media(max-width:700px){
#fil-v56-home-promo{grid-template-columns:1fr}
#fil-v56-home-promo{margin:12px 0}
}
@keyframes fil-v56-pulse{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes fil-v56-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
#fil-v56-home-promo,#fil-v56-home-promo:before{animation:none}
}
/* Horloge : cadran, cartes et accès au jeu visibles dès la première section, avec page qui reste scrollable pour les détails. */
#main-view .fil-v54-clock-hero{padding:clamp(10px,2vw,20px)}
#main-view .fil-v54-clock-hero h1{font-size:clamp(22px,2.6vw,34px);margin:5px 0}
#main-view .fil-v54-clock-page{gap:10px;padding:clamp(9px,1.4vw,16px)}
#main-view .fil-v54-clock-stage{gap:9px;padding:clamp(9px,1.4vw,15px)}
#main-view .fil-v54-dial{width:min(100%,165px)}
#main-view .fil-v54-clock-card{padding:9px;gap:2px}
#main-view .fil-v54-clock-card time{font-size:clamp(17px,2vw,25px)}
/* Restaurer les trois commandes de changement de taille en en-tête mobile ; les boutons secondaires défilent, le logo ne disparaît pas. */
/* Le plateau reste dans sa section et ne capte jamais les clics des contrôles Zoom. */
/* Zoom sans plafond silencieux : agrandir fait réellement varier le plateau ; la carte peut défiler pour conserver les commandes. */
/* FIL V57 — correctifs structurels partagés sans modifier les données des fiches. */
#fil-rail-toggle,#fil-v49-zoom-dock,#fil-v49-zoom-trigger{display:none!important}
/* Les fiches remplissent la zone du site sans déborder sur la publicité ni le Studio. */
#app-root .fil-site-pane{position:relative;isolation:isolate}
/* L'éditeur ne réduit jamais la colonne du site. */
body.fil-studio-open #app-root,body.fil-studio-open .fil-site-pane{transform:none!important;min-width:0}
body.fil-studio-open .fil-v52-edge{min-width:16px;min-height:16px;touch-action:none;cursor:nwse-resize;outline:2px solid #fff}
body.fil-studio-open .fil-v52-edge[data-edge="e"],body.fil-studio-open .fil-v52-edge[data-edge="w"]{cursor:ew-resize}
body.fil-studio-open .fil-v52-edge[data-edge="s"],body.fil-studio-open .fil-v52-edge[data-edge="n"]{cursor:ns-resize}
/* Arcade: aucune dépendance à l'ancien écran de jeu. */
@keyframes fil57aurora{to{transform:translate(8%,4%) rotate(15deg)}}
@keyframes fil57pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
/* V58 — habillage gamer du site réel, sans recréer l'éditeur ni le moteur Serpent. */
@keyframes fil58twinkle{from{transform:scale(.85);filter:brightness(.75)}to{transform:scale(1.13);filter:brightness(1.28)}}
/* Bloc d'accueil — pas de scrollbar interne, contenu dimensionné naturellement. */
#fil-v56-home-promo{overflow:hidden!important;min-height:0!important;align-items:center!important;background:radial-gradient(circle at 10% 10%,#d132c644,transparent 50%),linear-gradient(130deg,#17082c,#512097 50%,#b72388 85%,#fc7543)!important;border:1px solid #f392ff;border-radius:20px!important;box-shadow:0 0 19px #952ce255,0 15px 26px #150c2d55}
#fil-v56-home-promo .fil-v56-promo-intro h2{font-weight:900;color:#fff;text-shadow:0 0 17px #ff5cf5}
#fil-v56-home-promo .fil-v56-promo-side{overflow:visible!important;max-height:none!important}
/* Fenêtre véritable du jeu : même univers visuel et moins de surfaces scrollables. */
#fil-v56-home-promo::-webkit-scrollbar{display:none}
/* V60 : un seul jeu : plateau intégré à la page /serpent/, aucune modale. */
.fil-site-pane{position:relative;isolation:isolate}
/* Personnalisation : styles conditionnels, aucune couleur imposée si aucun réglage. */
#main-view.has-custom-bg{background:var(--page-image),var(--page-bg,#fff)!important;background-size:cover;background-position:center}
#main-view.has-custom-ink :is(h1,h2,h3,p,li,small){color:var(--page-ink)!important}
#main-view{--page-accent:#6934bf}
#main-view[data-theme-motion=gradient]{background-image:linear-gradient(120deg,var(--page-bg,#f9f7ff),color-mix(in srgb,var(--page-accent) 18%,white),var(--page-bg,#fff))!important;background-size:200% 200%;animation:fil63-background 18s ease infinite}
#main-view[data-theme-motion=float]{background-size:110% 110%;animation:fil63-background 24s ease infinite}
#main-view[data-theme-motion=glow]{animation:fil63-glow 12s ease infinite}
@keyframes fil63-background{50%{background-position:100% 100%}}
@keyframes fil63-glow{50%{box-shadow:inset 0 0 130px color-mix(in srgb,var(--page-accent) 15%,transparent)}}
.reduce-effects #main-view{animation:none!important}
@media(prefers-reduced-motion:reduce){
#main-view{animation:none!important}
}
/* Confidentialité : même importance et même taille pour les choix. */
#cookie-dialog{width:min(640px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:1px solid #e2ddec;border-radius:5px;padding:24px;color:#25253a;background:#fff;box-sizing:border-box}
#cookie-dialog::backdrop{background:#18152d80;backdrop-filter:blur(6px)}
.fil-cookie-brand{display:flex;align-items:center;gap:14px;margin:0 28px 18px 0}
.fil-cookie-brand img{object-fit:contain}
.fil-cookie-brand strong{font-size:17px}
.fil-cookie-brand p{font-size:12px;margin:4px 0;color:#746d82}
#cookie-dialog h2{font-size:23px;line-height:1.25}
#cookie-dialog>p{font-size:12px;line-height:1.65}
.cookie-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#cookie-dialog .cookie-actions button{min-height:44px;padding:10px;background:#f4f0fa;color:#462c79;border:1px solid #d8cce8;font-size:12px;border-radius:5px;font-weight:700}
#cookie-dialog .cookie-choice{padding:12px 0}
.cookie-essential{font-size:12px;color:#6b6478;margin-bottom:12px}
#fil-local-links{display:flex;gap:6px;align-items:center;padding-left:10px;border-left:1px solid #d9d3e5}
#fil-local-links a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;color:#59388a;background:#f3eef9}
/* Pages compactes : articles et favoris. */
#main-view[data-page=le-fil] .fil-ed-hero{min-height:0!important;padding:22px!important;height:auto!important}
#main-view[data-page=le-fil] :is(.fil-ed-title,h1){font-size:clamp(24px,3vw,38px)!important;line-height:1.15}
#main-view[data-page=le-fil] :is(.fil-ed-card,.fil-ed-article){min-height:0!important;height:auto!important;align-self:start}
#main-view[data-page=le-fil] .fil-ed-card img{height:160px!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))}
#main-view[data-page=le-fil] .fil-ed-card :is(h2,h3){font-size:19px!important;line-height:1.3}
#main-view[data-page=le-fil] .fil-ed-card p{font-size:13px!important;line-height:1.6}
#main-view[data-page=favoris] article{min-height:0!important;height:auto!important;align-self:start}
#main-view[data-page=favoris]>div{max-width:none!important;padding:20px!important}
#main-view[data-page=favoris] h1{font-size:28px!important;margin-bottom:18px!important}
#main-view[data-page=favoris] :is(.promo-slot,.ad-invite,.social-promo){display:none!important}
/* Serpent : plateau principal et commandes en colonne, sans décor autour du canvas. */
@media(max-width:700px){
#cookie-dialog{padding:18px}
.cookie-actions{grid-template-columns:1fr!important}
}
/* Fiche Mairie pleine largeur dans la zone du site. */
.fil-mairie-page{width:100%;max-width:none!important;padding:24px;box-sizing:border-box}
.fil-mairie-page>header{display:flex;gap:18px;align-items:center;margin-bottom:24px}
.fil-mairie-page>header img{width:72px;height:72px;object-fit:contain}
.fil-mairie-page h1{font-size:32px}
.fil-mairie-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:20px}
.fil-mairie-page section{padding:24px;background:var(--card-bg,#fff);border:1px solid #e3dfeb;border-radius:5px}
.fil-mairie-page p{line-height:1.75;margin:12px 0}
.fil-mairie-page dl div{padding:13px 0;border-bottom:1px solid #ece8f2}
.fil-mairie-page dt{font-size:12px;color:#797181}
.fil-mairie-page dd{margin:5px 0 0;font-weight:600}
.fil-mairie-page a{color:var(--page-accent,#6934bf)}
.fil-mairie-actions{display:flex;gap:10px;flex-wrap:wrap}
.fil-mairie-actions a{padding:12px 16px;background:#f1ebf9;border-radius:5px;font-weight:700}
@media(max-width:700px){
.fil-mairie-grid{grid-template-columns:1fr}
.fil-mairie-page{padding:16px}
.fil-mairie-page h1{font-size:25px}
}
#main-view[data-page=le-fil] .fil-ed-intro{padding:20px!important;min-height:0!important}
#main-view[data-page=le-fil] .fil-ed-intro p{font-size:13px!important;max-width:760px;line-height:1.65}
#main-view[data-page=le-fil] .fil-ed-grid{align-items:start!important;grid-auto-rows:auto!important}
#main-view[data-page=le-fil] .fil-ed-card-body{padding:16px!important;gap:10px!important}
#main-view[data-page=le-fil] .fil-ed-article-hero{min-height:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#main-view[data-page=le-fil] .fil-ed-article-heading{padding:24px!important}
#main-view[data-page=le-fil] .fil-ed-article-body{max-width:820px;margin:auto;padding:24px!important;line-height:1.8}
.fil-v35-favorites>div:first-child{padding:18px!important;min-height:0!important}
#main-view[data-page=favoris] .fil-v35-favorites .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start}
.fil-mairie-complete{width:100%}
@media(max-width:700px){
#main-view[data-page=le-fil] .fil-ed-article-hero{grid-template-columns:1fr!important}
#main-view[data-page=favoris] .fil-v35-favorites .grid{grid-template-columns:1fr!important}
}
/* V64 : priorité de transition dans la zone du site, au-dessus des fiches. */
#app-root .fil-site-pane > #fil-page-transition{z-index:500!important;border-radius:0!important;}
/* V65: functional shared loading layer; former decorative keyframes no longer drive its lifetime. */
#fil-page-transition,#fil-page-transition.is-active{position:absolute!important;inset:0!important;z-index:500!important;display:grid!important;place-items:center!important;background:#fff!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;clip-path:none!important;transform:none!important;filter:none!important;animation:none!important;transition:opacity var(--fil-fade,180ms) ease!important;visibility:hidden;opacity:0;pointer-events:none;contain:layout paint}
#fil-page-transition.is-active{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#fil-page-transition.is-fading{opacity:0!important;pointer-events:none!important}
#fil-page-transition .fil-transition-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:min(360px,90%);max-width:90%;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;color:#263044;padding:12px;text-align:center}
#fil-page-transition .fil-transition-logo{display:block;max-width:min(220px,60vw);height:auto;aspect-ratio:1;object-fit:contain;background:transparent;filter:none}
#fil-page-transition .fil-transition-caption{font-size:15px;font-weight:600;color:#263044}
#fil-page-transition .fil-transition-bar{position:relative;width:min(260px,70vw);height:9px;overflow:hidden;background:#e9e9ef;border-radius:5px}
#fil-page-transition .fil-transition-fill{display:block;position:relative;width:0;height:100%;border-radius:5px;background:var(--fil-bar-color,#6736bd);transition:width .16s linear;animation:none!important}
#fil-page-transition .fil-transition-percent{font:600 14px/1.25 system-ui;color:#273247}
#fil-page-transition .fil-transition-detail{font:400 12px/1.4 system-ui;color:#606a7b}
#fil-page-transition.is-indeterminate .fil-transition-fill{width:35%!important;animation:fil-indeterminate 1.35s ease-in-out infinite!important}
@keyframes fil-indeterminate{from{transform:translateX(-110%)}to{transform:translateX(290%)}}
#fil-page-transition .fil-transition-error[hidden]{display:none!important}
#fil-page-transition .fil-transition-error{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;font-size:13px;color:#9e2142}
#fil-page-transition .fil-transition-error p{flex-basis:100%}
#fil-page-transition .fil-transition-error :is(button,a){border:1px solid #c6bbde;background:#fff;padding:9px 14px;color:#492a78;text-decoration:none;border-radius:5px}
@media(prefers-reduced-motion:reduce){
#fil-page-transition,#fil-page-transition.is-active{transition:none!important}
#fil-page-transition .fil-transition-fill{transition:none!important}
#fil-page-transition.is-indeterminate .fil-transition-fill{animation:none!important;width:100%!important;opacity:.5}
}
/* Serpent V65: expanded mode remains strictly inside the site's centre column. */
/* V65 editor empty containers: true drop targets only while editing. */
#main-view .fil-studio-container:empty{display:none!important;padding:0!important;margin:0!important;min-height:0!important;border:0!important}
body.fil-studio-open #main-view .fil-studio-container:empty{display:grid!important;min-height:max(80px,var(--studio-min-height,80px))!important;place-items:center;border:2px dashed #7450da!important;background:#f8f4ff!important;padding:12px!important;cursor:crosshair!important;box-sizing:border-box}
body.fil-studio-open #main-view .fil-studio-container:empty::before{content:'Conteneur vide · déposer un élément ici';font:600 12px/1.45 system-ui;color:#6245a1;text-align:center;pointer-events:none}
/* Stable header geometry: the close action must stay within the controls column. */
/* STUDIO V66 — moteur unique de placement pour les zones composées. */
#app-root #main-view .fil-grid-host{position:relative!important;display:grid!important;grid-template-columns:repeat(var(--fil-grid-columns,5),minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(72px,auto)!important;grid-auto-flow:row!important;gap:clamp(8px,1.1vw,16px)!important;align-items:stretch!important;box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow:visible!important}
#app-root #main-view .fil-grid-host>.fil-grid-item{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;align-self:stretch!important;justify-self:stretch!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;contain:none!important}
#app-root #main-view .fil-grid-host>.fil-grid-item :is(img,video,svg){max-width:100%;min-width:0;object-fit:contain}
#app-root #main-view .fil-grid-host>.fil-grid-item :is(.fil-studio-media-row,.fil-studio-block-copy){min-width:0;max-width:100%;flex-wrap:wrap}
#app-root #main-view .fil-grid-host>.fil-grid-item :is(.fil-studio-cta,button,a){max-width:100%;white-space:normal;overflow-wrap:anywhere}
#app-root #main-view .fil-grid-host>.fil-studio-block{height:auto!important;min-height:var(--studio-min-height,0px)!important}
body.fil-studio-open #app-root #main-view .fil-grid-host{background-image:linear-gradient(to right,rgba(106,63,191,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(106,63,191,.13) 1px,transparent 1px);background-size:calc(100% / 5) 96px;background-position:0 0;min-height:calc(var(--fil-grid-editor-rows,10) * 96px)!important;outline:1px dashed #9b7de0!important;outline-offset:-1px}
body.fil-studio-open #app-root #main-view .fil-grid-host>.fil-grid-item{outline:1px dashed #9682bb;outline-offset:-2px}
.fil-grid-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-height:330px;overflow:auto;padding:5px;border:1px solid #ddd1ee;border-radius:5px;background:#f8f6fc}
.fil-grid-picker>.fil-grid-choice{padding:0;min-height:20px;border:1px solid #c4b1dd;background:#fff;cursor:pointer;border-radius:3px}
.fil-grid-picker>.fil-grid-choice[data-state="busy"]{background:#d6c9ec}
.fil-grid-picker>.fil-grid-choice[data-state="origin"]{background:#6936c6;outline:2px solid #392178}
.fil-grid-picker>.fil-grid-choice:disabled{opacity:.35;cursor:not-allowed;background:#d8d2dd}
.fil-grid-picker>.fil-grid-choice:not(:disabled):hover,.fil-grid-picker>.fil-grid-choice:focus-visible{background:#95dcbe;outline:2px solid #007a52}
#fil-grid-drag-ghost{position:fixed;pointer-events:none;z-index:10030;box-sizing:border-box;border:3px dashed #7541ce;background:#a78bfa33;border-radius:5px;display:none}
#fil-grid-drag-ghost[data-invalid="true"]{border-color:#b73549;background:#f7747436}
/* Même géométrie du conteneur principal en mode publication et en mode édition. */
html body.fil-studio-open #app-root{width:var(--fil-size-width,100vw)!important;max-width:1750px!important;zoom:var(--fil-visual-scale,1)!important}
@media(max-width:950px){
body.fil-studio-open #app-root #main-view .fil-grid-host{min-height:0!important;background-size:calc(100% / var(--fil-grid-columns,1)) 96px}
}
@media(prefers-reduced-motion:reduce){
#fil-grid-drag-ghost{transition:none!important}
}
/* Valeur configurable pour la transition; blanc et opaque par défaut. */
#fil-page-transition,#fil-page-transition.is-active{background:var(--fil-transition-background,#ffffff)!important}
/* Transitions V66 : état de chargement fonctionnel permanent, effets décoratifs configurables. */
#fil-page-transition.is-active:not(.is-error):not(.is-fading) .fil-transition-mark{animation:fil-v66-entrance .45s var(--fil-easing,ease) both!important}
#fil-page-transition.is-active[data-effect="none"] .fil-transition-mark{animation:none!important}
#fil-page-transition.is-active[data-effect="slide-left"] .fil-transition-mark{--fil-enter-transform:translateX(42px)}
#fil-page-transition.is-active[data-effect="slide-right"] .fil-transition-mark{--fil-enter-transform:translateX(-42px)}
#fil-page-transition.is-active[data-effect="slide-top"] .fil-transition-mark{--fil-enter-transform:translateY(42px)}
#fil-page-transition.is-active[data-effect="slide-bottom"] .fil-transition-mark{--fil-enter-transform:translateY(-42px)}
#fil-page-transition.is-active[data-effect="zoom-in"] .fil-transition-mark{--fil-enter-transform:scale(.86)}
#fil-page-transition.is-active[data-effect="zoom-out"] .fil-transition-mark{--fil-enter-transform:scale(1.12)}
#fil-page-transition.is-active[data-effect="rotate"] .fil-transition-mark{--fil-enter-transform:rotate(-11deg)}
#fil-page-transition.is-active[data-effect="custom"] .fil-transition-mark{--fil-enter-transform:translate(14px,14px) scale(.96)}
@keyframes fil-v66-entrance{from{transform:var(--fil-enter-transform,none);opacity:var(--fil-from-opacity,1)}to{transform:none;opacity:1}}
#fil-page-transition.is-fading{opacity:var(--fil-to-opacity,0)!important;transition:opacity var(--fil-fade,180ms) var(--fil-easing,ease) var(--fil-delay,0ms)!important}
@media(prefers-reduced-motion:reduce){
#fil-page-transition.is-active .fil-transition-mark{animation:none!important}
#fil-page-transition.is-fading{transition:none!important}
}
.fil-grid-preview-neighbor{position:fixed;pointer-events:none;z-index:10029;border:2px dotted #1c9974;background:#6ee7b720;box-sizing:border-box;border-radius:5px}
body.fil-studio-open #main-view .fil-studio-multi{outline:3px dashed #168565!important;outline-offset:3px!important}
/* V78 : aucune animation de promotion ne peut modifier la surface de défilement. */
#main-view #fil-v56-home-promo{overflow:hidden!important;isolation:isolate;contain:paint;max-width:100%;box-sizing:border-box}
#main-view #fil-v56-home-promo::before{inset:0!important;transform-origin:center;pointer-events:none}
/* Header : pas de hauteur fixe qui coupe les commandes ; retour à la ligne accessible. */
@media(prefers-reduced-motion:reduce){
#main-view #fil-v56-home-promo::before{animation:none!important}
}
/* Sur les très petits écrans, le bouton Favoris reste disponible via le rail défilable. */


/* V134 — formulaire Communication locale dans la zone centrale du site, pour Original et Néon. */
#main-view.fil-ad-workspace-active > :not(.fil-ad-inline){display:none!important}
#main-view.fil-ad-workspace-active{scroll-behavior:auto!important;overflow-y:auto!important;padding:clamp(12px,2.6vw,30px) clamp(10px,3vw,35px) 100px!important}
#main-view .fil-ad-inline{
  display:block!important;position:relative!important;inset:auto!important;
  box-sizing:border-box!important;width:min(100%,1040px)!important;max-width:1040px!important;
  height:auto!important;max-height:none!important;margin:0 auto!important;
  padding:0!important;overflow:visible!important;
  border:1px solid #e4dcef!important;border-radius:var(--radius-global, 12px)!important;
  background:#fff!important;box-shadow:0 14px 48px rgba(47,24,88,.13)!important;
  color:#242138!important;overscroll-behavior:auto;
}
#main-view .fil-ad-inline:not([open]){display:none!important}
#main-view .fil-ad-inline form{display:flex!important;flex-direction:column!important;height:auto!important;max-height:none!important;overflow:visible!important}
#main-view .fil-ad-inline .fil-ad-form-header{padding:clamp(20px,3vw,28px)!important}
#main-view .fil-ad-inline .fil-ad-form-body{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 26px!important;min-height:0;max-height:none!important;height:auto!important;overflow:visible!important;padding:clamp(16px,3vw,30px)!important;align-items:start}
#main-view .fil-ad-inline .fil-ad-form-body > *{grid-column:1;margin:0}
#main-view .fil-ad-inline .fil-ad-form-body > .fil-ad-live-preview{grid-column:2;grid-row:1/span 22;position:sticky!important;top:16px;max-height:min(74vh,670px);overflow:auto;margin:0}
#main-view .fil-ad-inline .fil-ad-form-actions{padding:16px clamp(16px,3vw,30px) 20px!important;box-shadow:none;position:sticky;bottom:-1px;z-index:3}
#main-view .fil-ad-inline .fil-ad-form-actions button{min-width:0}
#main-view .fil-ad-inline .fil-ad-offline-actions button[data-ad-retry]{margin-top:4px;min-height:42px}
#main-view .fil-ad-inline-confirmation{max-width:1040px;margin:0 auto 16px;padding:16px 20px;border:1px solid #b9dfbe;border-radius:var(--radius-global,12px);background:#edf9ee;color:#194d28;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
#main-view .fil-ad-inline-confirmation p{margin:0;font-weight:700;flex:1;min-width:230px}
#main-view .fil-ad-inline-confirmation button{color:#194d28;text-decoration:underline;background:transparent;border:0;cursor:pointer}
@media(max-width:760px){
  #main-view .fil-ad-inline .fil-ad-form-body{display:flex!important;flex-direction:column!important;gap:14px!important}
  #main-view .fil-ad-inline .fil-ad-form-body > *{width:100%}
  #main-view .fil-ad-inline .fil-ad-form-body > .fil-ad-live-preview{position:static!important;order:12;max-height:none;overflow:visible}
  #main-view .fil-ad-inline .fil-ad-form-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);padding:12px 15px max(12px,env(safe-area-inset-bottom))!important}
  #main-view .fil-ad-inline .fil-ad-form-header{padding:17px!important}
}
@media(max-width:390px){#main-view .fil-ad-inline .fil-ad-form-actions{grid-template-columns:1fr}#main-view .fil-ad-inline .fil-ad-form-actions button{min-height:43px}}

/* V134 finition — zone de communication mobile sans boutons flottants sur les champs */
#main-view .fil-ad-inline .fil-ad-form-actions{position:static!important;bottom:auto!important}
#main-view .fil-ad-inline .fil-ad-form-body{overflow:visible!important;flex:none!important}
#main-view .fil-ad-inline .fil-ad-form-body .fil-ad-live-preview{align-self:start}
#main-view.fil-ad-workspace-active{min-height:100%;scroll-padding-top:12px}
#main-view .fil-ad-inline :is(input,select,textarea):focus-visible{outline:3px solid #e57b51!important;outline-offset:2px}
#main-view .fil-ad-inline .fil-ad-form-error:not([hidden]){display:block!important}
#main-view .fil-ad-inline :is(.fil-ad-form-header,.fil-ad-form-actions){box-sizing:border-box}
@media(max-width:760px){
 #main-view.fil-ad-workspace-active{padding:12px 10px calc(180px + env(safe-area-inset-bottom,0px))!important}
 #main-view .fil-ad-inline{max-width:100%!important;border-radius:14px!important}
 #main-view .fil-ad-inline .fil-ad-form-body{display:flex!important;max-height:none!important;overflow:visible!important;}
 #main-view .fil-ad-inline .fil-ad-form-actions{position:static!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)!important}
 #main-view .fil-ad-inline .fil-ad-form-actions button{min-width:0;white-space:normal}
}
@media(max-width:380px){#main-view .fil-ad-inline .fil-ad-form-actions{grid-template-columns:1fr!important}}


/* === module studio-runtime.css === */
/* Règles fonctionnelles des personnalisations, communes à l'éditeur et au site. */
#app-root .fil-visual-hidden{display:none!important}
#app-root .fil-studio-block-group[hidden]{display:none!important}
/* Les règles suivantes s'appliquent aux zones explicitement personnalisées. */
#app-root .fil-grid-host{box-sizing:border-box!important;min-width:0!important;grid-auto-flow:row!important}
#app-root .fil-grid-page-root{max-width:none!important;margin-left:0!important;margin-right:0!important}
#app-root .fil-grid-host>.fil-grid-item{min-width:0!important;max-width:100%!important;box-sizing:border-box;overflow-wrap:anywhere;white-space:normal}
#app-root .fil-grid-host>.fil-grid-item img{max-width:100%;height:auto}
@media(max-width:1023px){#app-root #fil-desktop-ads.fil-grid-host[data-open="true"]{display:grid!important}}
#app-root .fil-studio-custom-size :is(span,i,strong,b,small,p,h1,h2,h3,a,button){font-size:inherit!important}
#app-root .fil-studio-custom-font :is(span,strong,b,small,p,h1,h2,h3,a,button){font-family:inherit!important}
#app-root .fil-studio-custom-weight :is(span,strong,b,small,p,h1,h2,h3,a,button){font-weight:inherit!important}
#app-root .fil-nav-extended{gap:6px}
#app-root .fil-nav-extended>.nav-item{width:100%!important;min-width:0!important;min-height:40px;justify-self:stretch}
#app-root .fil-nav-extended>.nav-item span{overflow-wrap:anywhere;white-space:normal}
#app-root .fil-v82-page-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
#app-root .fil-v82-pages-menu h2{font-weight:700;margin:12px 0}
#app-root .fil-custom-page>.fil-page-intro h1{font-size:clamp(24px,4vw,38px);font-weight:750;line-height:1.2}
#app-root #main-view .fil-custom-page>.fil-page-intro{background:#fff!important;color:#172033!important}
#app-root #main-view .fil-custom-page>.fil-page-intro :is(h1,p){color:inherit!important}
#fil-site-maintenance{padding:10px 18px;background:#fff1cb;color:#705200;font:600 13px/1.5 system-ui;border-bottom:1px solid #e8d28a;z-index:20}
#app-root .fil-studio-block[data-studio-zone]{max-width:100%;min-width:0;box-sizing:border-box}


/* === module fil-musique.css === */
/* Réutilise les typographies et couleurs du Fil ; aucun lecteur concurrent. */
#fil-desktop-ads #fil-music-dock{position:relative;flex:none;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:10px;background:var(--fil-music-bg,#fff);border:1px solid var(--fil-music-border,#dcd4ed);box-shadow:0 4px 20px #1a0a3911;border-radius:5px;color:var(--fil-music-ink,#261a38);font:500 12px/1.3 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
#fil-music-dock .fil-music-bar{display:flex;gap:7px;align-items:center;min-width:0}
#fil-desktop-ads #fil-music-dock button{background:#f2edfa;border:1px solid #e5d8f5;border-radius:5px;min-width:28px;min-height:30px;cursor:pointer;padding:4px;color:var(--fil-music-accent,#4f24d9)}
#fil-music-dock button:focus-visible,#fil-musique-page button:focus-visible{outline:2px solid #7427b9;outline-offset:2px}
#fil-music-dock .fil-music-now{min-width:0;flex:1;display:flex;flex-direction:column}
#fil-music-dock .fil-music-now strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fil-music-dock .fil-music-now small{font-size:10px;color:#6d6480}
#fil-music-dock .fil-music-volume{display:flex;gap:4px;align-items:center;font-size:10px}
#fil-music-dock input[type=range]{width:60px;accent-color:var(--fil-music-accent,#6c36b7)}
#fil-music-dock .fil-music-progress{display:flex;gap:10px;align-items:center;margin-top:6px;color:#554767}
#fil-music-dock .fil-music-progress input{flex:1;min-width:0;width:auto}
#fil-music-dock .fil-music-live{width:7px;height:7px;border-radius:50%;background:#c1b2d0;flex:none}
#fil-music-dock[data-playing="true"] .fil-music-live{background:#27a477;animation:fil-music-pulse 1.5s ease-in-out infinite}
#fil-music-dock #fil-music-status{margin:0;font-size:10px;color:#7f3450}
#fil-music-dock #fil-music-status:empty{display:none}
#fil-music-dock .fil-music-official:not([hidden]){margin-top:5px}
#fil-music-dock .fil-music-official iframe{display:block;width:100%;max-height:115px;border:0;border-radius:5px}
#fil-musique-page{font-family:Inter,system-ui,sans-serif;max-width:1080px;margin:auto;padding:clamp(18px,3vw,36px);min-height:65vh;color:#201630}
#fil-musique-page .fil-musique-hero{padding:clamp(20px,4vw,42px);border-radius:5px;background:linear-gradient(120deg,#3e1786,#732abb);color:#fff}
#fil-musique-page .fil-musique-hero>span{font-size:12px;letter-spacing:.13em;font-weight:700}
#fil-musique-page h1{color:inherit;font-size:clamp(28px,4vw,50px);font-family:Outfit,system-ui,sans-serif;font-weight:800;margin:10px 0}
#fil-musique-page .fil-musique-list{display:grid;gap:12px;margin:24px 0}
#fil-musique-page .fil-musique-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:15px;align-items:center;padding:18px;border:1px solid #ded5ec;background:#fff;border-radius:5px;min-width:0}
#fil-musique-page .fil-musique-card.is-current{border-color:#762dc4;box-shadow:0 0 0 1px #762dc4}
#fil-musique-page .fil-musique-number{font-size:24px;font-weight:800;color:#7d50ac}
#fil-musique-page .fil-musique-card h2{font:bold 21px Outfit,system-ui;margin:0}
#fil-musique-page .fil-musique-card p{font-size:13px;color:#6c6378;margin:0}
#fil-musique-page .fil-musique-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
#fil-musique-page .fil-musique-actions button{background:#6336b2;border:0;border-radius:5px;color:#fff;padding:10px 18px;cursor:pointer}
#fil-musique-page .fil-musique-actions a{font-size:12px;text-decoration:underline;color:#603d96}
#fil-musique-page .fil-musique-repeat{display:flex;gap:8px;align-items:center}
#fil-musique-page .fil-music-current{font-size:11px;color:#5b28a2}
#fil-musique-page .fil-musique-attribution,#fil-musique-page .fil-musique-note{font-size:12px;color:#615572;margin:12px 0}
@media(max-width:650px){#fil-desktop-ads #fil-music-dock{padding:10px}#fil-music-dock .fil-music-volume{font-size:0}#fil-music-dock .fil-music-volume input{width:36px}#fil-desktop-ads #fil-music-dock button{min-width:24px;padding:2px}#fil-musique-page .fil-musique-card{grid-template-columns:35px minmax(0,1fr)}#fil-musique-page .fil-musique-actions{grid-column:1/-1}#fil-musique-page .fil-musique-card h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){#fil-music-dock .fil-music-live{animation:none!important}}
@keyframes fil-music-pulse{50%{opacity:.3}}

/* Vie locale: le module musical garde son format autonome, sans min-height imposée aux annonces. */
#fil-desktop-ads #fil-music-dock.fil-rail-module{grid-column:1/-1;min-height:0!important;max-height:none!important;flex-shrink:0;}
#fil-desktop-ads #fil-music-dock[hidden],#fil-desktop-ads #fil-music-dock [hidden]{display:none!important}
#fil-music-dock .fil-music-heading{margin:0 0 8px;font-weight:800;font-size:12px;color:inherit}
#fil-music-dock .fil-music-bar{flex-wrap:wrap;min-width:0}
#fil-music-dock .fil-music-now{min-width:75px}
#fil-music-dock .fil-music-official iframe{min-height:115px}
#fil-musique-page [data-music-open-rail]{background:transparent;border:0;color:#6336b2;text-decoration:underline;cursor:pointer;font:inherit}
@media(min-width:1024px){#fil-musique-page [data-music-open-rail]{display:inline}}


/* === module site-presentation.css === */
/* Présentation V85 : composants publics, lecteurs et commandes du Studio.
   Les identifiants de composants V81–V84 assurent la compatibilité des sauvegardes. */
#app-root #main-view> :is(.animate-view,.fil-editorial,.fil-mairie-page,.fil-musique-page,.fil-custom-page){width:100%!important;max-width:none!important;margin-inline:0!important;box-sizing:border-box!important;min-width:0!important}
#app-root #main-view> :is(.animate-view,.fil-editorial,.fil-mairie-page,.fil-musique-page){padding:clamp(12px,1.5vw,24px)!important}
#app-root #main-view :is(.fil-v37-layout-host,.fil-v28-page-flow){max-width:none!important;width:100%!important;min-width:0!important}
#app-root #main-view :is(article,section,header,div){scroll-margin-top:16px}
#app-root #main-view .fil-grid-host[data-fil-compact=true]>.fil-grid-item{max-height:none!important;min-width:0!important;overflow-wrap:anywhere;align-self:start!important}
#app-root #main-view.has-custom-bg{background-color:var(--page-bg,#f3eff8)!important;background-image:var(--page-image,none)!important;background-size:var(--page-image-fit,cover)!important;background-position:var(--page-image-position,center)!important;background-attachment:var(--page-image-attachment,scroll)!important;background-repeat:no-repeat!important}
#app-root #main-view.has-custom-ink .fil-custom-page>.fil-page-intro :is(h1,p){color:var(--page-ink)!important}
/* Réseaux au-dessus, puis URL / compteur / cookies dans la largeur disponible. */
/* Mairie : coordonnées lisibles et déplaçables, sans fenêtre de fiche imbriquée. */
#app-root #main-view .fil-mairie-page{display:flex;flex-direction:column;gap:16px}
#app-root #main-view .fil-mairie-page>header{display:flex;align-items:center;gap:16px;border:1px solid #ded4eb;border-radius:var(--page-frame-radius,0px);background:#fff;padding:22px!important;min-height:0!important}
#app-root #main-view .fil-mairie-page>header h1{font-size:clamp(24px,3vw,36px)!important;line-height:1.15;color:#2d2044!important}
#app-root #main-view .fil-mairie-page>header img{width:56px!important;height:56px!important;object-fit:contain}
#app-root #main-view .fil-mairie-complete:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;max-height:none!important;width:100%!important}
#app-root #main-view [data-v83-disabled=true]{display:none!important}
#app-root #main-view .fil-v15-carousel .fil-v15-stage{height:var(--fil-carousel-height,280px)!important;min-height:160px!important;max-height:none!important}

#app-root #main-view .fil-v15-carousel .fil-v15-slide{min-height:0!important}
@media(max-width:700px){
#app-root #main-view .fil-mairie-complete:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
}
/* Lecteur de page : commandes du même moteur que Vie locale. */
#app-root #main-view #fil-music-page-player{margin:18px 0;padding:22px;border:1px solid #d9cbea;border-radius:var(--page-frame-radius,0px);background:linear-gradient(130deg,#faf7ff,#fff);color:#261a38;min-width:0}
#app-root #fil-music-page-player .fil-page-player-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#app-root #fil-music-page-player .fil-page-player-top>div{flex:1;min-width:0}
#app-root #fil-music-page-player small{font-size:10px;letter-spacing:.12em;color:#7a5a9d;font-weight:700}
#app-root #fil-music-page-player h2{font-size:clamp(20px,3vw,32px);font-weight:800;margin:5px 0}
#app-root #fil-music-page-player .fil-page-player-live{color:#9e8cb4;font-size:25px}
#app-root #fil-music-page-player[data-playing=true] .fil-page-player-live{color:#2aa77c;animation:fil-music-pulse 1.5s infinite}
#app-root #fil-music-page-player .fil-page-player-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}
#app-root #fil-music-page-player .fil-page-player-controls button{min-width:48px;min-height:48px;border:1px solid #ded1ed;background:#f0e7fa;color:#6234a8;border-radius:10px;font-size:17px;padding:8px}
#app-root #fil-music-page-player [data-page-music=play]{background:#6234a8!important;color:#fff!important;min-width:56px;min-height:48px}
#app-root #fil-music-page-player label{display:flex;gap:10px;align-items:center;margin-left:auto;font-size:12px}
#app-root #fil-music-page-player .fil-page-player-timeline{display:flex;align-items:center;gap:12px;font-size:12px}
#app-root #fil-music-page-player input[type=range]{accent-color:var(--page-accent,#6939af);min-width:0;max-width:100%;height:55px;touch-action:pan-y}
#app-root #fil-music-page-player [data-page-seek]{flex:1;width:100%}
#app-root #fil-music-page-player .fil-page-player-help{font-size:12px;color:#746780;line-height:1.6;margin-top:14px}
#app-root #fil-music-page-player [data-page-error]:empty{display:none}
#app-root #fil-music-page-player [data-page-error]{font-size:12px;color:#953a54}
/* Introduction : même cycle de chargement, entrée directe toujours disponible. */
#app-root #fil-page-transition.is-home-intro{background:radial-gradient(ellipse at 20% 10%,#aa76db50,transparent 55%),linear-gradient(130deg,#17132d,#38205d 65%,#603286)!important;color:white!important}
#app-root #fil-page-transition.is-home-intro .fil-transition-mark{max-width:650px!important;width:min(90%,650px)!important;background:transparent!important;box-shadow:none!important;color:white!important}
#app-root #fil-page-transition.is-home-intro .fil-transition-logo{filter:drop-shadow(0 8px 35px #ad75dd66);border-radius:24px;margin-bottom:12px}
#app-root .fil-transition-welcome>span{font:700 10px/1.5 system-ui;letter-spacing:.18em;color:#e0ccfb}
#app-root .fil-transition-welcome h1{font:800 clamp(26px,4vw,48px)/1.1 Outfit,system-ui!important;color:white!important;letter-spacing:-.03em;margin:14px 0}
#app-root .fil-transition-welcome p{font:400 15px/1.7 system-ui!important;color:#e7dff2!important;max-width:460px;margin:0 auto 20px}
#app-root .fil-transition-welcome button{padding:12px 22px;border-radius:30px;background:#fff!important;border:1px solid #fff;color:#512781!important;font:750 13px system-ui;cursor:pointer}
#app-root #fil-page-transition.is-home-intro .fil-transition-caption{display:none!important}
#app-root #fil-page-transition.is-home-intro .fil-transition-detail{color:#d2bde8!important}
@media(max-width:700px){
#app-root #fil-music-page-player label{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
#app-root #fil-music-page-player .fil-page-player-live{animation:none!important}
}
/* Le Fil : cartes réglables, recherche et lecture sur une seule colonne. */
#app-root .fil-ed-list-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;font:700 12px/1.5 Inter,system-ui;color:var(--identity-accent)}
#app-root .fil-ed-list-summary p{margin:0}
#app-root .fil-ed-list-summary button{min-height:44px;padding:8px 12px;border:1px solid #d8cce5;background:var(--card-bg,#fff);color:inherit}
#app-root .fil-ed-list-summary [hidden]{display:none!important}
#app-root[data-card-show-article-count=false] [data-fil-article-count]{display:none}
#app-root #fil-musique-page [hidden]{display:none!important}

#app-root #main-view #fil-ed-grid:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--card-gap,18px)!important;align-items:stretch!important}
#app-root #main-view #fil-ed-grid>.fil-ed-card:not(.fil-grid-item){height:var(--card-articleHeight,250px)!important;min-height:var(--card-articleHeight,250px)!important;max-height:var(--card-articleHeight,250px)!important;display:flex!important;flex-direction:column!important;border:1px solid #e1d6ec!important;border-radius:var(--page-frame-radius,0px);overflow:hidden!important;background:#fff;min-width:0!important;box-sizing:border-box}
#app-root #main-view #fil-ed-grid .fil-ed-card-visual{height:105px!important;min-height:105px!important;max-height:105px!important;width:100%!important;padding:0!important;border:0!important;flex:none;overflow:hidden!important}
#app-root #main-view #fil-ed-grid .fil-ed-card-image{width:100%!important;height:100%!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;display:block}
#app-root #main-view #fil-ed-grid .fil-ed-card-body{display:flex!important;flex-direction:column!important;padding:12px!important;gap:4px!important;flex:1;min-height:0!important;width:100%!important;box-sizing:border-box;overflow:hidden}
#app-root #main-view #fil-ed-grid .fil-ed-kicker{font-size:9px!important;line-height:1.3;text-transform:uppercase;letter-spacing:.06em}
#app-root #main-view #fil-ed-grid .fil-ed-card h2{font-size:15px!important;line-height:1.25!important;margin:0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex:none}
#app-root #main-view #fil-ed-grid .fil-ed-card p{font-size:12px!important;line-height:1.45!important;margin:0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;flex:1}
#app-root #main-view #fil-ed-grid .fil-ed-link{font-size:11px!important;min-height:34px!important;padding:6px 0!important;line-height:1.3!important;margin-top:auto!important;flex:none}
#app-root #main-view .fil-ed-article{max-width:none!important;width:100%!important;background:#fff!important;border:1px solid #e1d7eb;border-radius:var(--page-frame-radius,0px);overflow:hidden}
#app-root #main-view .fil-ed-article-hero{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;padding:0!important;gap:0!important;max-height:none!important}
#app-root #main-view .fil-ed-article-visual{width:100%!important;height:clamp(200px,30vw,360px)!important;min-height:200px!important;max-height:360px!important;display:block!important;border:0!important;padding:0!important;overflow:hidden}
#app-root #main-view .fil-ed-article-img{width:100%!important;height:100%!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;display:block}
#app-root #main-view .fil-ed-article-heading{width:100%!important;padding:clamp(20px,3vw,36px)!important;box-sizing:border-box;background:#f7f3fb!important;color:#261b38}
#app-root #main-view .fil-ed-article-heading h1{font-size:clamp(25px,4vw,44px)!important;line-height:1.15!important;margin:12px 0!important;color:inherit!important}
#app-root #main-view .fil-ed-article-heading p{font-size:16px!important;line-height:1.7!important;color:inherit!important}
#app-root #main-view .fil-ed-article-body{width:100%!important;max-width:none!important;padding:clamp(20px,3vw,36px)!important;box-sizing:border-box;font-size:16px;line-height:1.8}
#app-root #main-view .fil-ed-article-body>section{padding:0!important;min-height:0!important;max-height:none!important;margin:0 0 22px!important;background:transparent!important}
#app-root #main-view .fil-ed-article-body h2{font-size:23px!important;margin:0 0 12px!important;line-height:1.3}
#app-root #main-view .fil-ed-article-body p{font-size:16px!important;line-height:1.8!important;margin:0!important}
#app-root #main-view .fil-ed-article-body a{color:var(--page-accent,#6939ac);text-decoration:underline;overflow-wrap:anywhere}
#app-root #main-view .fil-ed-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #e5dced}
#app-root #main-view .fil-ed-next{padding:22px 0!important;background:transparent!important;border:0!important;min-height:0!important}
#app-root #main-view .fil-ed-next>h2{font-size:22px!important;font-weight:800;margin:0 0 16px}
#app-root #main-view .fil-ed-next-list{display:flex;flex-direction:column;gap:12px}
#app-root #main-view .fil-ed-next-card{display:flex;gap:16px;align-items:center;padding:16px!important;border:1px solid #e1d8eb;border-radius:var(--page-frame-radius,0px);background:#fff;min-width:0}
#app-root #main-view .fil-ed-next-card>img{width:100px!important;height:90px!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important;border-radius:var(--page-frame-radius,0px);flex:none}
#app-root #main-view .fil-ed-next-card>div{min-width:0;flex:1}
#app-root #main-view .fil-ed-next-card span{font-size:10px;color:#80579f;text-transform:uppercase;letter-spacing:.06em}
#app-root #main-view .fil-ed-next-card h3{font-size:17px;line-height:1.3;font-weight:750;margin:5px 0}
#app-root #main-view .fil-ed-next-card p{font-size:12px;line-height:1.5;color:#746783;margin:0 0 7px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
#app-root #main-view .fil-ed-next-card button{font-size:12px;color:#6334a4;background:#f3ecfa;border:1px solid #e0d2ed;border-radius:6px;padding:6px 9px;cursor:pointer}
.fil-ed-lightbox{position:fixed!important;right:auto!important;bottom:auto!important;max-width:none!important;max-height:none!important;padding:12px!important;box-sizing:border-box!important;overflow:hidden!important}
.fil-ed-lightbox .fil-ed-lightbox-wrap{width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;min-height:0;overflow:hidden!important;padding:0!important}
.fil-ed-lightbox .fil-ed-lightbox-image{width:100%!important;height:calc(100% - 50px)!important;min-height:0!important;object-fit:contain!important;max-width:100%!important;max-height:100%!important}
.fil-ed-lightbox .fil-ed-lightbox-caption{height:40px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app-root #main-view .fil-mairie-complete:empty{display:none!important}
@media(max-width:1000px) and (min-width:701px){
#app-root #main-view #fil-ed-grid:not(.fil-grid-host){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
#app-root #main-view #fil-ed-grid:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
#app-root #main-view .fil-ed-next-card>img{width:72px!important;height:72px!important}
#app-root #main-view .fil-ed-article-heading p{font-size:14px!important}
}
#app-root #main-view.has-custom-ink .fil-ed-article-heading :is(h1,p){color:var(--page-ink)!important}
#app-root #main-view>.fil-editorial:has(.fil-ed-article):not(.fil-grid-host){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;grid-template-columns:none!important}
#app-root #main-view>.fil-editorial:has(.fil-ed-article):not(.fil-grid-host)>*{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}
#app-root #main-view .fil-ed-article-heading .fil-ed-eyebrow{color:var(--page-accent,#80569d)!important}
#app-root #main-view .fil-ed-article-heading h1[tabindex="-1"]:focus{outline:none!important}
/* Une identité par rubrique ; les thèmes personnalisés restent prioritaires. */
#app-root #main-view[data-fil-identity]:not(.has-custom-bg){background:linear-gradient(145deg,var(--identity-surface,#f4eff9),#fff 80%)!important}
#app-root #main-view[data-fil-identity]:not(.has-custom-cards) .fil-identity-hero{background:linear-gradient(115deg,var(--identity-surface),var(--identity-tint))!important;background-image:linear-gradient(115deg,var(--identity-surface),var(--identity-tint))!important;border:1px solid color-mix(in srgb,var(--identity-accent) 23%,white)!important;border-left:5px solid var(--identity-accent)!important;border-radius:var(--page-frame-radius,0px);padding:clamp(18px,2.7vw,30px)!important;min-height:0!important;max-height:none!important;box-sizing:border-box}
#app-root #main-view[data-fil-identity]:not(.has-custom-ink) .fil-identity-hero :is(h1,p){color:#252c3c!important}
#app-root #main-view .fil-page-identity{display:block;font:800 10px/1.5 system-ui;letter-spacing:.13em;color:var(--page-accent,var(--identity-accent,#7141aa));margin:0 0 9px}
#app-root #main-view[data-fil-identity]:not(.has-custom-ink) .fil-identity-hero h1{font-weight:800!important;letter-spacing:-.025em;line-height:1.15!important}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player{border-color:#cfb7e4;background:linear-gradient(130deg,#f4ebfd,#fff)}
#app-root #main-view[data-fil-identity=agenda] .event-card{border-top:3px solid #7095d0!important}
#app-root #main-view[data-fil-identity=associations] .fil-v13-card{border-top:3px solid #62a384!important}
#app-root #main-view[data-fil-identity=commerces] .fil-v13-card{border-top:3px solid #c2a061!important}
#app-root #main-view[data-fil-identity=restauration] .resto-card{border-top:3px solid #c98068!important}
#app-root #main-view[data-fil-identity=le-fil] .fil-ed-card{border-top:3px solid #cb8ba0!important}
#app-root #main-view[data-fil-identity=favoris] .fil-page-identity::before{content:'♥ ';font-size:12px}
#app-root #main-view[data-fil-identity=horloge] .fil-page-identity::before{content:'◷ ';font-size:13px}
#app-root #main-view[data-fil-identity=meteo] .fil-page-identity::before{content:'☀ ';font-size:12px}
/* La Villa Rouge × Le Fil : identité musicale rouge sombre. */
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-bg){background:radial-gradient(ellipse at 15% 0%,#7f1c3140,transparent 55%),linear-gradient(145deg,#241018,#100c12)!important;color:#f9edf0}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-cards) .fil-musique-hero{background:linear-gradient(115deg,#4b1421,#211018 80%)!important;border:1px solid #77263b!important;border-left:5px solid #cf3049!important;color:#fff1f3!important;padding:clamp(22px,3vw,38px)!important}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-ink) .fil-musique-hero :is(h1,p){color:#fff1f3!important}
#app-root #main-view[data-fil-identity=musique] .fil-musique-hero>.fil-page-identity,#app-root #main-view[data-fil-identity=musique] .fil-musique-hero>span{color:#f29aa8!important}
#app-root #fil-musique-page .fil-musique-brands{display:flex;align-items:center;gap:18px;margin-bottom:20px}
#app-root #fil-musique-page .fil-musique-brands img{width:84px!important;height:84px!important;max-width:84px!important;object-fit:contain!important;background:#fff;border:1px solid #dba2ad55;padding:5px;box-sizing:border-box;box-shadow:0 6px 24px #0002}
#app-root #fil-musique-page #fil-villa-logo{border-radius:50%!important}
#app-root #fil-musique-page #fil-musique-site-logo{border-radius:18px!important}
#app-root #fil-musique-page .fil-musique-brands>span{font-size:24px;font-weight:300;color:#d994a1}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-cards) #fil-music-page-player{background:linear-gradient(130deg,#37131f,#1c1019 80%)!important;border:1px solid #8e2c44!important;box-shadow:0 12px 34px #09030a33;border-radius:var(--page-frame-radius,0px);padding:24px}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-ink) #fil-music-page-player{color:#fff1f4!important}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-ink) #fil-music-page-player :is(h2,p,label,[data-page-play-state]){color:#f4dce3!important}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player small{color:#eb8ea3!important}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player .fil-page-player-controls button{background:#571d2f!important;border-color:#94354d!important;color:#ffeef3!important}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player [data-page-music=play]{background:var(--page-accent,#c62542)!important;border:1px solid color-mix(in srgb,var(--page-accent,#c62542) 60%,white)!important;box-shadow:0 4px 20px #d6294840}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player input[type=range]{accent-color:#e14b64}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player .fil-page-player-live{color:#8c5364}
#app-root #main-view[data-fil-identity=musique] #fil-music-page-player[data-playing=true] .fil-page-player-live{color:#ff667f}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-cards) .fil-musique-card{background:#261420!important;border-color:#643044!important;border-radius:var(--page-frame-radius,0px);box-shadow:none}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-ink) .fil-musique-card :is(h2,p){color:#f6e4ea!important}
#app-root #main-view[data-fil-identity=musique] .fil-musique-card .fil-musique-number{color:#e3738d!important}
#app-root #main-view[data-fil-identity=musique] .fil-musique-card.is-current{border-color:#df4767!important;box-shadow:0 0 0 1px #ae2848}
#app-root #main-view[data-fil-identity=musique] .fil-musique-actions :is(button,a){background:#5f2136!important;color:#ffe7ef!important;border-color:#98405b!important}
#app-root #main-view[data-fil-identity=musique]:not(.has-custom-ink) :is(.fil-musique-playlist-title,.fil-musique-note,.fil-musique-repeat,.fil-musique-attribution){color:#e4cbd5!important}
#app-root #main-view[data-fil-identity=musique] .fil-musique-note button{color:#ffb7c8!important;background:#4a1d30!important;border-color:#7b3450!important}
#app-root #main-view[data-fil-identity=musique] .fil-musique-attribution a{color:#efa3b9!important}
#app-root #fil-musique-page .fil-musique-story{padding:clamp(20px,3vw,30px)!important;margin:24px 0!important;border:1px solid #703044!important;border-radius:14px;background:linear-gradient(120deg,#321422,#1c111a)!important;max-width:none;width:100%;box-sizing:border-box}
#app-root #fil-musique-page .fil-musique-story-kicker{font:800 10px/1.5 system-ui;letter-spacing:.14em;color:#dc859d}
#app-root #fil-musique-page .fil-musique-story h2{font-size:clamp(22px,3vw,30px)!important;line-height:1.2;font-weight:800;color:#ffedf2!important;margin:10px 0 18px}
#app-root #fil-musique-page .fil-musique-story p{font-size:14px;line-height:1.8!important;color:#e0c7d2!important;margin:0 0 14px}
#app-root #fil-musique-page .fil-musique-artists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
#app-root #fil-musique-page .fil-musique-artists>a{display:flex;align-items:center;gap:12px;min-width:0;padding:14px 16px;border:1px solid #8c3c55;border-radius:10px;background:#4a1d30;color:#ffe8ef;text-decoration:none;transition:background .15s ease}
#app-root #fil-musique-page .fil-musique-artists>a:hover{background:#68263f}
#app-root #fil-musique-page .fil-musique-artists i{font-size:25px;color:#ee9aaf}
#app-root #fil-musique-page .fil-musique-artists>a>span:first-of-type{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
#app-root #fil-musique-page .fil-musique-artists strong{font-size:14px;font-weight:750;color:#fff0f5}
#app-root #fil-musique-page .fil-musique-artists small{font-size:11px;color:#dda5b7}
#app-root #main-view.has-custom-cards #fil-musique-page .fil-musique-story{background:var(--card-bg)!important}
#app-root #main-view.has-custom-ink #fil-musique-page .fil-musique-story :is(h2,p){color:var(--page-ink)!important}
@media(max-width:600px){
#app-root #fil-musique-page .fil-musique-artists{grid-template-columns:minmax(0,1fr)}
}
#app-root #main-view #fil-musique-page:not(.fil-grid-host){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;grid-template-columns:none!important}
#app-root #main-view #fil-musique-page:not(.fil-grid-host)>*{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}
/* V84 : une hiérarchie commune, des visuels entiers et des surfaces utilisables. */
#app-root #main-view{overflow-x:hidden;scrollbar-gutter:stable}
#app-root #main-view .fil-v84-replaced-heading{display:none!important}
#app-root #main-view :is(.fil-v37-layout-host,.fil-v28-page-flow):not(.fil-grid-host){display:flex!important;flex-direction:column!important;gap:18px!important}
#app-root #main-view .fil-grid-host>.fil-grid-item{overflow-wrap:anywhere!important;box-sizing:border-box}
.fil-v84-panel{padding:24px;border:1px solid #e5ddef;border-radius:14px;background:#fff;box-sizing:border-box;min-width:0}
.fil-v84-panel h2{font:800 23px/1.25 Outfit,system-ui;margin:0 0 14px;color:#302440}
.fil-v84-panel p{font-size:14px;line-height:1.75;color:#686274}
.fil-v84-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;background:#6539a5;color:white;border:1px solid #6539a5;border-radius:9px;text-decoration:none;font:700 12px/1.4 Inter,system-ui;cursor:pointer;min-height:40px;box-sizing:border-box}
.fil-v84-button.secondary{background:#f5f0fb;color:#643b99;border-color:#e4d7f2}
.fil-v84-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0 20px}
.fil-v84-toolbar input,.fil-v84-toolbar select{padding:11px 12px;min-height:42px;border:1px solid #dfd6e9;border-radius:8px;background:white;color:#332943;font:13px Inter,system-ui;min-width:0;max-width:100%;box-sizing:border-box}
.fil-v84-toolbar input{flex:1 1 220px}
.fil-v84-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.fil-v84-empty{padding:32px;text-align:center;color:#81738d;background:#f9f6fc;border:1px dashed #d9cee3;border-radius:12px}
/* Musique : scène rouge, disques et commandes conservant le moteur partagé. */
#app-root #main-view #fil-musique-page:not(.fil-grid-host){gap:22px!important;background:transparent!important}
#app-root #main-view #fil-musique-page .fil-musique-hero{position:relative;display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)!important;align-items:center!important;gap:20px!important;padding:34px!important;min-height:330px!important;border:1px solid #7b3044!important;border-radius:var(--page-frame-radius,0px);background:radial-gradient(ellipse at 90% 10%,#e62b4c25,transparent 65%),linear-gradient(115deg,#441523,#170f17)!important;overflow:hidden}
#app-root #fil-musique-page .fil-musique-hero h1{font-size:clamp(34px,5vw,64px)!important;letter-spacing:-.05em!important;margin:18px 0 14px!important;line-height:1!important;font-weight:850!important;color:#fff1f4!important}
#app-root #fil-musique-page .fil-musique-hero p{font-size:14px!important;line-height:1.8!important;max-width:520px}
#app-root #fil-musique-page .fil-musique-brands{margin-bottom:24px!important}
#app-root #fil-musique-page .fil-musique-brands img{width:68px!important;height:68px!important;max-width:68px!important}
#app-root #fil-musique-page .fil-v84-music-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
#app-root #fil-musique-page .fil-v84-music-cta button{background:#df3153!important;color:white!important;border:1px solid #ff657c!important;padding:12px 23px!important;border-radius:30px!important;font-weight:800!important;box-shadow:0 5px 24px #ed294333}
#app-root #fil-musique-page .fil-v84-music-cta a{display:inline-flex;align-items:center;padding:10px 15px;color:#f2c3d0;border:1px solid #794052;border-radius:30px;font-size:12px;text-decoration:none}
#app-root #fil-musique-page .fil-v84-decks{height:250px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
#app-root #fil-musique-page .fil-v84-record{width:210px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#160e17 0 3px,#38202e 4px,#140d16 6px);border:6px solid #160e18;box-shadow:0 24px 45px #0008,0 0 0 1px #805064,0 0 60px #d7244133;position:relative;transform:rotate(-18deg)}
#app-root #fil-musique-page .fil-v84-record:before{content:'VILLA ROUGE';position:absolute;inset:30%;border-radius:50%;background:linear-gradient(130deg,#ed3b59,#9b1c38);display:grid;place-items:center;text-align:center;font:900 11px/1.3 Outfit,sans-serif;letter-spacing:.08em;color:#fff;padding:13px;box-shadow:0 0 0 8px #fff1}
#app-root #fil-musique-page .fil-v84-record:after{content:'';width:10px;height:10px;position:absolute;left:calc(50% - 5px);top:calc(50% - 5px);background:#f8d7e0;border:3px solid #49172b;border-radius:50%}
#app-root #fil-musique-page .fil-v84-needle{position:absolute;width:120px;height:95px;right:6%;top:18px;border-right:7px solid #e0b7c7;border-top:7px solid #e0b7c7;border-radius:0 16px 0 0;transform:rotate(23deg);filter:drop-shadow(0 4px 3px #0007)}
#app-root #fil-musique-page .fil-v84-decks-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font:700 10px Inter,system-ui;letter-spacing:.22em;color:#d78b9f}
#app-root #fil-musique-page .fil-v84-music-filters{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 16px}
#app-root #fil-musique-page .fil-v84-music-filters button{border:1px solid #6c344b;background:#2e1826;color:#e2bbc9;border-radius:22px;padding:8px 15px;font-size:12px}
#app-root #fil-musique-page .fil-v84-music-filters button[aria-pressed=true]{background:#ab2948;border-color:#dc4a68;color:#fff}
#app-root #fil-musique-page .fil-musique-card{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:18px!important;min-height:102px!important;width:100%!important;box-sizing:border-box}
#app-root #fil-musique-page .fil-v84-track-cover{width:64px!important;height:64px!important;object-fit:contain!important;border-radius:10px!important;background:#fff;border:1px solid #955365}
#app-root #fil-musique-page .fil-musique-card h2{font-size:18px!important;margin:0 0 5px!important}
#app-root #fil-musique-page .fil-v84-track-mood{font:700 9px Inter,system-ui;letter-spacing:.12em;text-transform:uppercase;color:#c8849c}
#app-root #fil-musique-page [data-track-favorite]{border-radius:50%!important;min-width:36px;min-height:36px;background:#462133!important;color:#eaa2b6!important;border:1px solid #875065!important}
#app-root #fil-musique-page [data-track-favorite][aria-pressed=true]{background:#ba2b4d!important;color:white!important}
#app-root #fil-musique-page #fil-music-page-player{margin:0!important}
#app-root #fil-musique-page .fil-musique-story{margin:0!important}
/* Arcade : un accueil de jeu et une partie sans panneau latéral. */
@media(max-width:700px){
#app-root #main-view #fil-musique-page .fil-musique-hero{grid-template-columns:minmax(0,1fr)!important;padding:24px!important}
#app-root #fil-musique-page .fil-v84-decks{height:175px}
#app-root #fil-musique-page .fil-v84-record{width:155px}
#app-root #fil-musique-page .fil-v84-needle{width:90px;height:65px;right:13%;top:8px}
#app-root #fil-musique-page .fil-musique-card{grid-template-columns:50px minmax(0,1fr)!important;gap:12px!important}
#app-root #fil-musique-page .fil-v84-track-cover{width:50px!important;height:50px!important}
#app-root #fil-musique-page .fil-musique-actions{grid-column:1/-1;justify-content:flex-end}
.fil-v84-grid{grid-template-columns:minmax(0,1fr)!important}
.fil-v84-panel{padding:18px}
}
@media(prefers-reduced-motion:reduce){
#app-root *,#app-root *:before,#app-root *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Vie locale V84 */
#app-root .fil-v84-page{padding:clamp(12px,2vw,24px);box-sizing:border-box}
#app-root #main-view .fil-v84-agenda{width:100%!important;max-width:none!important;box-sizing:border-box}
.fil-v84-event-strip{display:flex;align-items:center;gap:20px;padding:20px;border:1px solid var(--event-accent);border-left:6px solid var(--event-accent);border-radius:12px;background:#fff;box-sizing:border-box;width:100%;grid-column:1/-1}
.fil-v84-event-strip img{width:80px;height:80px;object-fit:contain;border-radius:8px}
.fil-v84-event-strip h2{font:800 23px Outfit,system-ui;margin:5px 0}
.fil-v84-event-strip p{font-size:13px;line-height:1.6;margin:0}
.fil-v84-event-strip>div{flex:1;min-width:0}
.fil-v84-event-strip small{font-size:9px;letter-spacing:.12em;color:var(--event-accent);font-weight:800}
.fil-v84-event-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid #dfe2ed;border-radius:12px;padding:22px;min-width:0;box-sizing:border-box}
.fil-v84-event-card>div:first-child{flex:1;min-width:0}
.fil-v84-event-card h2{font:800 22px/1.25 Outfit,system-ui;color:#283a57;margin:7px 0 12px}
.fil-v84-event-card p{font-size:12px;color:#6d7385;line-height:1.6;margin:4px 0}
.fil-v84-event-card>div>span{font-size:9px;letter-spacing:.1em;font-weight:800;color:#6487b2}
.fil-v84-event-card .fil-v84-toolbar{max-width:260px;justify-content:flex-end;margin:0}
.fil-v84-agenda-list{display:flex;flex-direction:column;gap:14px}
.fil-v84-calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:16px 0;font:800 22px Outfit,system-ui;text-transform:capitalize}
.fil-v84-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:20px}
.fil-v84-calendar>strong{text-align:center;font-size:11px;padding:10px;color:#667492}
.fil-v84-calendar>button{min-height:74px;padding:9px;text-align:left;background:#fff;border:1px solid #e0e5ef;border-radius:8px;display:flex;flex-direction:column;gap:8px;cursor:pointer;min-width:0;color:#32405b}
.fil-v84-calendar>button>span{font-weight:800;font-size:14px}
.fil-v84-calendar>button small{font-size:9px;line-height:1.4;background:#e9eef9;color:#476fa0;padding:4px;border-radius:5px;overflow-wrap:anywhere}
.fil-v84-calendar>button.is-today{border-color:#6d80bc}
.fil-v84-calendar>button.is-selected{background:#edf0ff;border-color:#6f74ae;box-shadow:inset 0 0 0 1px #6f74ae}
.fil-v84-proposal{display:flex;flex-direction:column;gap:17px;margin-top:24px}
.fil-v84-proposal label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#51425f}
.fil-v84-proposal input,.fil-v84-proposal select,.fil-v84-proposal textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ded5e6;border-radius:8px;font:13px/1.5 Inter,system-ui;color:#362c40;background:#fff;min-width:0}
.fil-v84-proposal .fil-v84-check{flex-direction:row;align-items:flex-start;font-size:11px;line-height:1.6}
.fil-v84-proposal .fil-v84-check input{width:18px;flex:none;margin-top:1px}
.fil-v84-proposal .fil-v84-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.fil-v84-proposal .fil-v84-privacy-note{font-size:11px;color:#81748d}
.fil-v84-proposal [type=submit]{align-self:flex-start;min-width:200px}
.fil-v84-proposal [data-proposal-status]{font-size:12px;line-height:1.6;color:#5b3c86}
#fil-v84-dialog{width:min(760px,calc(100vw - 30px));max-height:calc(100dvh - 30px);border:1px solid #d8cae4;border-radius:14px;padding:0;background:white;color:#30213e;box-shadow:0 16px 80px #180b2e66}
#fil-v84-dialog::backdrop{background:#170c2b99;backdrop-filter:blur(3px)}
#fil-v84-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:15px;border-bottom:1px solid #e7deee}
#fil-v84-dialog>header h2{font:800 22px Outfit,system-ui;margin:0}
#fil-v84-dialog>header button{font-size:25px;border:1px solid #e7ddeb;background:#f8f4fb;border-radius:8px;width:36px;height:36px;cursor:pointer}
#fil-v84-dialog .fil-v84-dialog-body{padding:22px;overflow:auto;max-height:calc(100dvh - 140px);box-sizing:border-box}
#fil-v84-dialog .fil-v84-dialog-body>p{font:14px/1.8 Inter,system-ui}
.fil-v84-qr{text-align:center;overflow-wrap:anywhere}
.fil-v84-qr img{margin:0 auto 15px;display:block}
.fil-v84-qr p{font-weight:800}
.fil-v84-qr a{font-size:12px;color:#7441ab}
.fil-v84-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.fil-v84-section-heading h2{margin:6px 0 0}
.fil-v84-section-heading small{font-size:10px;text-transform:capitalize;color:#967aad}
.fil-v84-section-heading>a{font-size:11px;color:#7441ab;text-decoration:none}
.fil-v84-empty-music{padding:22px;color:#d7aaba;font-size:13px;border:1px dashed #754055;border-radius:10px}
#app-root #fil-musique-page [hidden]{display:none!important}
@media(max-width:800px){
.fil-v84-event-card{display:block}
.fil-v84-event-card .fil-v84-toolbar{max-width:none;justify-content:flex-start;margin-top:16px}
.fil-v84-event-strip{flex-wrap:wrap;padding:16px;gap:12px}
.fil-v84-event-strip img{width:60px;height:60px}
.fil-v84-calendar{gap:3px}
.fil-v84-calendar>button{padding:6px;min-height:65px}
.fil-v84-calendar>button small{font-size:8px;padding:2px}
}
/* Les deux enveloppes du site prennent la hauteur de la session de jeu. */
#app-root #fil-musique-page .fil-v84-custom-art{width:100%!important;height:250px!important;max-width:100%!important;object-fit:contain!important;border-radius:12px!important}
#app-root #fil-musique-page .fil-v84-decks[hidden]{display:none!important}
/* Les composants répondent aussi à la largeur du canevas de l’éditeur. */
#app-root{container-type:inline-size}
@container(max-width:700px){
#app-root #main-view #fil-musique-page .fil-musique-hero{grid-template-columns:minmax(0,1fr)!important;padding:24px!important}
#app-root #main-view :is(.fil-v13-grid,.resto-grid,.fil-ed-grid,.fil-mairie-complete,.grid):not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
}
#app-root #main-view .fil-v84-obsolete-intro{display:none!important}
#app-root .fil-site-pane{container-type:inline-size}
#app-root #fil-musique-page .fil-v84-remember{width:100%;box-sizing:border-box;padding:26px;border:1px solid #6e3449;border-radius:14px;background:radial-gradient(ellipse at right top,#ac294524,transparent 70%),#20121e;color:#efd7e0}
#app-root #fil-musique-page .fil-v84-remember>span{font:800 9px Inter,system-ui;letter-spacing:.14em;color:#d889a1}
#app-root #fil-musique-page .fil-v84-remember h2{font:800 28px/1.2 Outfit,system-ui!important;color:#ffe9f1!important;margin:12px 0}
#app-root #fil-musique-page .fil-v84-remember p{font-size:13px;line-height:1.8;color:#cfaeba}
#app-root #fil-musique-page .fil-v84-remember>div:not(.fil-v84-music-cta){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#app-root #fil-musique-page .fil-v84-remember article{padding:16px;border:1px solid #734058;border-radius:9px;background:#3c1d31}
#app-root #fil-musique-page .fil-v84-remember h3{font-weight:800;font-size:18px;color:#ffe6f0}
#app-root #fil-musique-page .fil-v84-remember button{padding:7px 12px;border:1px solid #9e4d68;background:#64233c;color:#fff0f5;border-radius:8px;font-size:11px}
@container(max-width:900px){
#app-root #main-view #fil-ed-grid:not(.fil-grid-host){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container(max-width:600px){
#app-root #main-view #fil-ed-grid:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
}
@container(max-width:800px){
.fil-v84-event-card{display:block}
.fil-v84-event-card .fil-v84-toolbar{justify-content:flex-start;max-width:none;margin-top:15px}
#app-root #fil-musique-page .fil-v84-remember>div:not(.fil-v84-music-cta){grid-template-columns:minmax(0,1fr)}
}
/* Les couleurs choisies dans le Studio restent prioritaires. */
#app-root #main-view.has-custom-cards :is(.fil-v84-page-hero,.fil-v84-panel,.fil-v84-event-card){background:var(--card-bg)!important;background-image:none!important}
#app-root #main-view.has-custom-ink :is(.fil-v84-page-hero,.fil-v84-panel,.fil-v84-event-card) :is(h1,h2,h3,p,strong){color:var(--page-ink)!important}
#app-root #main-view.has-custom-cards #fil-musique-page :is(.fil-musique-hero,#fil-music-page-player,.fil-musique-story,.fil-v84-remember,.fil-musique-card){background:var(--card-bg)!important;background-image:none!important}
#app-root #main-view.has-custom-ink #fil-musique-page :is(.fil-musique-hero,#fil-music-page-player,.fil-musique-story,.fil-v84-remember,.fil-musique-card) :is(h1,h2,h3,p,strong,label,small){color:var(--page-ink)!important}
/* Le plein écran conserve toujours son tableau de bord et son menu. */
/* Une palette coordonnée ; boutons distincts par leur forme et leur espacement. */
html body #app-root #fil-desktop-ads{background:linear-gradient(160deg,var(--chrome-railFrom,#e8dcf1),var(--chrome-railTo,#d6e5f1))!important;border-color:transparent!important}
html body #app-root #fil-desktop-ads .fil-rail-heading{color:var(--chrome-ink,#30243d)!important}
/* Échelle fixe et cibles tactiles lisibles dans le format mobile vertical. */
@media(max-width:767px){
html body #app-root #main-view :is(.fil-v84-button,.fil-ed-link,.fil-musique-actions button,.fil-page-player-controls button,.fil-v84-proposal button){min-height:55px!important}
html body #app-root #main-view :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){font-size:20px!important;min-height:55px!important}
html body #app-root #main-view :is(.fil-v84-toolbar,.fil-v84-music-filters){flex-wrap:wrap!important;min-width:0!important}
html body #app-root #main-view .fil-v84-toolbar input{width:100%!important;min-width:0!important;max-width:100%!important}
}
/* Cadre et bandeaux communs des seize rubriques conservées. */
html body #app-root #main-view{background-color:var(--identity-surface,#f5f1fa)}
html body #app-root #main-view>.fil-v85-page-content:not(#fil-serpent-page){box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:22px!important}
html body #app-root #main-view .fil-v85-page-content:not(#fil-serpent-page):not(.fil-grid-host)>:not(.fil-grid-item):not(script):not(style){max-width:100%!important;min-width:0!important;box-sizing:border-box}
html body #app-root #main-view>.fil-v84-page-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 230px!important;align-items:center!important;gap:32px!important;flex:none;width:calc(100% - 44px)!important;max-width:none!important;margin:22px 22px 0!important;padding:26px 32px!important;min-height:210px!important;height:auto!important;max-height:none!important;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--identity-accent) 22%,white)!important;border-radius:var(--page-frame-radius,0px);background:linear-gradient(115deg,#fff,var(--identity-surface))!important;overflow:hidden;box-shadow:0 8px 24px #2b204407}
html body #app-root #main-view .fil-v84-page-hero>div{min-width:0}
html body #app-root #main-view .fil-v84-page-hero small{font:800 10px/1.4 Inter,system-ui!important;letter-spacing:.15em!important;color:var(--identity-accent)!important}
html body #app-root #main-view .fil-v84-page-hero h1{font:800 clamp(30px,3vw,44px)/1.1 Outfit,system-ui!important;letter-spacing:-.04em!important;color:#282437!important;margin:12px 0!important;text-wrap:balance}
html body #app-root #main-view .fil-v84-page-hero p{font:400 15px/1.7 Inter,system-ui!important;color:#625d70!important;max-width:670px;margin:0!important;text-wrap:pretty}
html body #app-root #main-view .fil-v84-page-hero figure{margin:0!important;display:grid;place-items:center;background:#ffffff8c;border:1px solid #ffffffc0;border-radius:var(--page-frame-radius,0px);padding:8px;min-width:0}
html body #app-root #main-view .fil-v84-page-hero img{display:block;width:100%!important;max-width:100%!important;height:180px!important;object-fit:contain;border-radius:var(--page-frame-radius,0px);box-shadow:none!important;margin:0!important}
html body #app-root #main-view .fil-v85-page-content:not(#fil-serpent-page) :is(.fil-v28-page-flow,.fil-v37-layout-host):not(.fil-grid-host){display:flex!important;flex-direction:column!important;gap:18px!important;width:100%!important}
html body #app-root #main-view :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact,.fil-v85-favorites-help){padding:24px!important;border:1px solid #e3dbea!important;border-radius:var(--page-frame-radius,0px);background:#fff!important;box-sizing:border-box;color:#41394f}
html body #app-root #main-view :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact) h2{font:800 24px/1.2 Outfit,system-ui!important;letter-spacing:-.025em;margin:8px 0 13px!important;color:#312b3e!important}
html body #app-root #main-view :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact) p{font:400 14px/1.8 Inter,system-ui!important;color:#6c6377!important;margin:8px 0!important}
html body #app-root #main-view :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact) small{font:800 9px/1.5 Inter,system-ui;letter-spacing:.12em;color:var(--identity-accent)}
#app-root .fil-v85-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px!important;min-width:0}
#app-root .fil-v85-section-title h2{font:800 23px/1.25 Outfit,system-ui!important;color:#352c44!important;margin:0!important;letter-spacing:-.03em}
#app-root .fil-v85-section-title>:is(a,span){font:700 11px/1.5 Inter,system-ui;flex:none;color:var(--identity-accent);text-decoration:none}
#app-root :is(.fil-v85-actions,.fil-v85-contact>div:last-child){display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
#app-root :is(.fil-v85-actions a,.fil-v85-contact button,.fil-v85-about>a,.fil-v85-break>a,.fil-v85-favorites-help>a){display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border:1px solid #ddd0ec;border-radius:9px;background:#f6effb;color:#633b8e;font:750 12px/1.4 Inter,system-ui;text-decoration:none;cursor:pointer;min-height:42px;box-sizing:border-box}
#app-root .fil-v85-contact button:first-child{background:#7542a3;color:#fff;border-color:#7542a3}
#app-root .fil-v85-text-link{font:750 12px/1.5 Inter,system-ui;color:#6d3c9b;display:inline-block;margin-top:16px;text-decoration:none}
/* Menu : un seul accès par rubrique, dans quatre groupes lisibles. */
html body #app-root #main-view .fil-v85-menu:not(.fil-grid-host){display:flex!important;flex-direction:column!important;gap:30px!important}
#app-root .fil-v85-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#app-root .fil-v85-menu-group[data-tile-count="3"] .fil-v85-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#app-root .fil-v85-tile{display:flex;align-items:center;gap:14px;min-width:0;min-height:114px;padding:18px;text-decoration:none;border:1px solid #e3dae9;border-radius:12px;background:#fff;color:#3c3150;box-sizing:border-box;transition:background .15s,border-color .15s,transform .15s}
#app-root .fil-v85-tile:hover{background:#fbf7ff;border-color:#bba1d0;transform:translateY(-2px)}
#app-root .fil-v85-tile>span:nth-child(2){flex:1;min-width:0}
#app-root .fil-v85-tile-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #e4d7ef;border-radius:10px;background:#f3eaf8;color:var(--identity-accent,#7542a3);font-size:17px}
#app-root .fil-v85-tile strong{display:block;font:800 17px/1.3 Outfit,system-ui;letter-spacing:-.02em}
#app-root .fil-v85-tile small{display:block;margin-top:7px;font:400 11px/1.6 Inter,system-ui;color:#8a7d96;letter-spacing:0}
#app-root .fil-v85-tile>span:last-child{color:#ac97be;font-size:16px}
#app-root .fil-v85-contact{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:25px!important;align-items:center}
#app-root .fil-v85-contact>div:last-child{justify-content:flex-end;margin-top:0}
/* Accueil : rubriques, rendez-vous, mairie et informations, sans répétitions. */
html body #app-root #main-view .fil-v85-home:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-items:stretch!important;gap:20px!important}
#app-root .fil-v85-home:not(.fil-grid-host)>:is(.fil-featured,.fil-v85-home-access,.fil-v85-full,.fil-studio-block-group,.fil-v84-event-strip){grid-column:1/-1}
#app-root .fil-v85-home .fil-v85-tile{min-height:94px;padding:16px}
#app-root .fil-v85-home .fil-v85-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app-root .fil-v85-event{display:flex;align-items:center;gap:12px;min-height:112px;padding:16px;border:1px solid #e6dfed;border-radius:10px;background:#faf8fc;min-width:0;text-align:left;color:#3c3150;cursor:pointer}
#app-root .fil-v85-date{font:800 16px/1.2 Outfit,system-ui;color:#865098;border-right:1px solid #e4d9eb;max-width:55px;padding-right:13px;flex:none}
#app-root .fil-v85-event>span:nth-child(2){flex:1;min-width:0}
#app-root .fil-v85-event strong{display:block;font:800 15px/1.4 Outfit,system-ui;overflow-wrap:anywhere}
#app-root .fil-v85-event :is(small,em){display:block;font:400 10px/1.5 Inter,system-ui;color:#95859f;letter-spacing:0;font-style:normal;margin:4px 0}
#app-root .fil-v85-event>span:last-child{flex:none;color:#b59dc2}
#app-root .fil-v85-news-link{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eee8f3;color:#51455f;font:650 12px/1.55 Inter,system-ui;text-decoration:none}
#app-root .fil-v85-break{display:flex;align-items:center;justify-content:space-between;gap:20px}
#app-root .fil-v85-break h2{font-size:21px!important}
#app-root .fil-v85-break>a{flex:none}
#app-root .fil-v85-about{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(110deg,#f2e9f8,#fdfbff)!important}
#app-root .fil-v85-about>div{max-width:750px}
#app-root .fil-v85-about>a{flex:none}
#app-root .fil-v85-home:not(.fil-grid-host)>.fil-featured{margin:0!important;width:100%!important;max-width:none!important}
/* Pages de lecture, mairie, services, favoris et outils pratiques. */
html body #app-root #main-view :is(.fil-v85-page-content:not(#fil-serpent-page) .information-block,.fil-v85-favorites-help){max-width:none!important;width:100%!important;border-radius:var(--page-frame-radius,0px);padding:24px!important;background:#fff!important;border:1px solid #e3dbea!important}
html body #app-root #main-view .information-block :is(p,li){font-size:15px!important;line-height:1.85!important;max-width:85ch}
html body #app-root #main-view .information-block h2{font:800 23px/1.3 Outfit,system-ui!important;margin:0 0 14px!important;color:#4b3560!important}
html body #app-root #main-view .information-block h3{font-size:18px!important;margin-top:20px!important}
#app-root .fil-v85-favorites-help{display:flex;align-items:center;gap:24px}
#app-root .fil-v85-favorites-help>i{font-size:34px;color:#ae638d;flex:none}
#app-root .fil-v85-favorites-help>div{flex:1;min-width:0}
#app-root .fil-v85-favorites-help h2{font:800 23px/1.3 Outfit,system-ui;margin:0 0 8px;color:#4b3554}
#app-root .fil-v85-favorites-help p{font:400 14px/1.8 Inter,system-ui;color:#89738a;margin:0}
#app-root #main-view .fil-v85-secondary-teaser{max-width:100%;padding:16px!important;border-radius:var(--page-frame-radius,0px);min-height:0!important}
html body #app-root #main-view .fil-v85-page-content:not(#fil-serpent-page) :is(.fil-search-panel,.resto-search-panel){width:100%!important;max-width:none!important;margin:0 0 18px!important;box-sizing:border-box!important;grid-column:1/-1!important}
html body #app-root #main-view .fil-v85-page-content:not(#fil-serpent-page) :is(.fil-v27-spotlight,.fil-v27-feature-ad){width:100%!important;max-width:none!important;box-sizing:border-box!important}
html body #app-root #main-view.has-custom-cards :is(.fil-v85-panel,.fil-v85-tile,.fil-v85-contact,.fil-v85-about,.fil-v84-page-hero){background:var(--card-bg)!important;background-image:none!important}
html body #app-root #main-view.has-custom-ink :is(.fil-v85-panel,.fil-v85-tile,.fil-v85-contact,.fil-v85-about,.fil-v84-page-hero) :is(h1,h2,h3,p,strong,small){color:var(--page-ink)!important}
/* Musique : le lecteur est au premier plan, les souvenirs restent à leur place. */
html body #app-root #main-view #fil-musique-page:not(.fil-grid-host){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;align-items:start!important}
html body #app-root #main-view #fil-musique-page:not(.fil-grid-host)>:not(.fil-musique-hero):not(#fil-music-page-player):not(.fil-musique-story):not(.fil-v84-remember){grid-column:1/-1}
html body #app-root #main-view #fil-musique-page .fil-musique-hero{grid-template-columns:minmax(0,1fr) 220px!important;min-height:0!important;padding:28px!important;margin:0!important}
html body #app-root #main-view #fil-musique-page .fil-musique-hero h1{font-size:40px!important;margin:18px 0 14px!important}
html body #app-root #main-view #fil-musique-page .fil-musique-hero p{font-size:14px!important;line-height:1.8!important}
html body #app-root #main-view #fil-musique-page .fil-musique-brands img{width:60px!important;height:60px!important}
html body #app-root #main-view #fil-musique-page .fil-v84-decks{height:190px!important;margin-top:8px}
html body #app-root #main-view #fil-musique-page .fil-v84-record{width:175px!important}
html body #app-root #main-view #fil-musique-page .fil-v84-needle{width:76px!important;height:50px!important;right:24%;top:6px}
html body #app-root #main-view #fil-musique-page #fil-music-page-player{margin:0!important;min-height:0!important;padding:28px!important;position:static;box-sizing:border-box}
html body #app-root #main-view #fil-musique-page .fil-musique-story,html body #app-root #main-view #fil-musique-page .fil-v84-remember{margin:0!important;padding:25px!important;min-width:0!important}
html body #app-root #main-view #fil-musique-page .fil-musique-artists{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body #app-root #main-view #fil-musique-page .fil-musique-note{margin:0!important;font-size:11px!important}
html body #app-root #main-view #fil-musique-page .fil-musique-story [data-local-propose]{padding:10px 15px;border:1px solid #b14b68;border-radius:var(--page-frame-radius,0px);background:#401727;color:#f2c5d3;font:700 11px Inter,system-ui;cursor:pointer}
/* Arcade : lobby compact ; le moteur de partie conserve son plein écran et ses commandes. */
/* Adaptation à la largeur utile du contenu, y compris dans le canevas du Studio. */
@container(max-width:1100px){
#app-root .fil-v85-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#app-root .fil-v85-home .fil-v85-event-grid{grid-template-columns:minmax(0,1fr)}
#app-root .fil-v85-event{min-height:85px}
}
@container(max-width:760px){
html body #app-root #main-view #fil-musique-page:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view #fil-musique-page #fil-music-page-player{position:static}
#app-root .fil-v85-contact{grid-template-columns:minmax(0,1fr)!important}
#app-root .fil-v85-contact>div:last-child{justify-content:flex-start}
#app-root .fil-v85-favorites-help{flex-wrap:wrap}
}
@media(max-width:767px){
html body #app-root #main-view>.fil-v85-page-content:not(#fil-serpent-page){padding:14px!important}
html body #app-root #main-view>.fil-v84-page-hero{width:calc(100% - 28px)!important;margin:14px 14px 0!important;grid-template-columns:minmax(0,1fr) 100px!important;gap:15px!important;padding:20px!important;min-height:170px!important}
html body #app-root #main-view .fil-v84-page-hero h1{font-size:29px!important;margin:9px 0!important}
html body #app-root #main-view .fil-v84-page-hero p{font-size:14px!important;line-height:1.65!important}
html body #app-root #main-view .fil-v84-page-hero img{height:125px!important}
html body #app-root #main-view .fil-v84-page-hero figure{padding:3px}
html body #app-root #main-view .fil-v85-home:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
#app-root .fil-v85-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#app-root .fil-v85-tile{padding:15px;min-height:125px;gap:10px;align-items:flex-start;flex-wrap:wrap}
#app-root .fil-v85-tile>span:nth-child(2){min-width:80px}
#app-root .fil-v85-tile>span:last-child{display:none}
#app-root .fil-v85-tile-icon{width:32px;height:32px;font-size:14px}
#app-root .fil-v85-tile strong{font-size:18px}
#app-root .fil-v85-tile small{font-size:12px;line-height:1.55}
#app-root .fil-v85-section-title{align-items:flex-start;gap:12px}
#app-root .fil-v85-section-title h2{font-size:22px!important}
#app-root .fil-v85-section-title>:is(a,span){font-size:12px;max-width:105px;text-align:right}
#app-root :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact,.fil-v85-favorites-help){padding:20px!important}
#app-root :is(.fil-v85-about,.fil-v85-break){flex-wrap:wrap;gap:14px}
#app-root :is(.fil-v85-actions a,.fil-v85-contact button,.fil-v85-about>a,.fil-v85-break>a,.fil-v85-favorites-help>a){min-height:55px}
html body #app-root #main-view #fil-musique-page .fil-musique-hero{padding:23px!important;grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view #fil-musique-page .fil-musique-hero h1{font-size:34px!important}
html body #app-root #main-view #fil-musique-page .fil-v84-decks{display:none!important}
html body #app-root #main-view #fil-musique-page .fil-musique-brands img{width:50px!important;height:50px!important}
html body #app-root #main-view #fil-musique-page #fil-music-page-player{padding:22px!important;position:static}
}
@container(max-width:460px){
#app-root .fil-v85-tile-grid{grid-template-columns:minmax(0,1fr)}
#app-root .fil-v85-tile{flex-wrap:nowrap;align-items:center;min-height:85px}
#app-root .fil-v85-home .fil-v85-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#app-root .fil-v85-home .fil-v85-tile{flex-wrap:wrap}
}
@container(max-width:1100px){
#app-root .fil-v85-menu-group[data-tile-count="3"] .fil-v85-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#app-root .fil-v85-menu-group[data-tile-count="3"] .fil-v85-tile:last-child{grid-column:1/-1}
}
/* V87 — apparence centralisée, fiches et événements illustrés. */
html body.fil-v87-themed{isolation:isolate;background:#181329!important}
body.fil-v87-themed::before,body.fil-v87-themed::after{content:none!important}
#fil-site-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(135deg,var(--scene-from),var(--scene-to));background-size:180% 180%;isolation:isolate}
#fil-site-backdrop[data-mode=color]{background:var(--scene-from)}
#fil-site-backdrop[data-mode=image]{background-image:var(--scene-image),linear-gradient(135deg,var(--scene-from),var(--scene-to));background-size:var(--scene-fit),cover;background-position:var(--scene-position),center;background-repeat:no-repeat}
#fil-site-backdrop::before,#fil-site-backdrop::after{content:"";position:absolute;inset:-25%;opacity:var(--scene-intensity,.45);pointer-events:none;transform:translate3d(0,0,0)}
#fil-site-backdrop::before{background:radial-gradient(ellipse at 25% 30%,var(--scene-accent),transparent 48%),radial-gradient(ellipse at 80% 70%,var(--scene-to),transparent 55%);filter:blur(60px)}
#fil-site-backdrop::after{background:radial-gradient(ellipse at 72% 20%,color-mix(in srgb,var(--scene-accent) 35%,transparent),transparent 45%);filter:blur(30px)}
#fil-site-backdrop[data-motion=none]::before,#fil-site-backdrop[data-motion=none]::after{display:none}
#fil-site-backdrop[data-motion=aurora]::before,#fil-site-backdrop[data-motion=float]::before{animation:fil86-drift var(--scene-speed,28s) ease-in-out infinite alternate}
#fil-site-backdrop[data-motion=aurora]::after{animation:fil86-drift calc(var(--scene-speed,28s)*1.4) ease-in-out infinite alternate-reverse}
#fil-site-backdrop[data-motion=gradient]{animation:fil86-gradient var(--scene-speed,28s) ease-in-out infinite alternate}
#fil-site-backdrop[data-motion=glow]::before{animation:fil86-light var(--scene-speed,28s) ease-in-out infinite}
#fil-site-backdrop[data-motion=orbit]::before{inset:-55%;border:1px solid var(--scene-accent);border-radius:45%;filter:none;background:repeating-radial-gradient(ellipse at center,transparent 0 65px,color-mix(in srgb,var(--scene-accent) 35%,transparent) 66px 67px,transparent 68px 130px);animation:fil86-orbit calc(var(--scene-speed,28s)*3) linear infinite}
#fil-site-backdrop[data-motion=stars]::before{inset:-20%;filter:none;background-image:radial-gradient(circle,#ffffffbb 1px,transparent 2px),radial-gradient(circle,var(--scene-accent) 1.5px,transparent 3px);background-size:83px 97px,167px 131px;animation:fil86-drift var(--scene-speed,28s) ease-in-out infinite alternate}
@keyframes fil86-drift{from{transform:translate3d(-3%,-3%,0) rotate(-5deg) scale(1)}to{transform:translate3d(7%,5%,0) rotate(8deg) scale(1.12)}}
@keyframes fil86-gradient{from{background-position:0% 0%}to{background-position:100% 100%}}
@keyframes fil86-light{50%{opacity:calc(var(--scene-intensity,.45)*.35)}}
@keyframes fil86-orbit{to{transform:rotate(360deg)}}
html body #app-root #main-view[data-theme-mode=gradient].has-custom-bg{background-image:linear-gradient(135deg,var(--page-bg),var(--page-bg-to,var(--identity-surface)))!important;background-size:180% 180%!important}
html body #app-root #main-view[data-theme-motion=gradient]{background-image:var(--page-image,none),linear-gradient(135deg,var(--page-bg,var(--identity-surface)),var(--page-bg-to,color-mix(in srgb,var(--page-accent) 18%,white)))!important;background-size:var(--page-image-fit,cover),180% 180%!important;animation:fil86-gradient var(--page-motion-speed,24s) ease-in-out infinite alternate!important}
html body #app-root #main-view[data-theme-motion=float]{animation:fil86-gradient var(--page-motion-speed,24s) ease-in-out infinite alternate!important}
html body #app-root #main-view:is([data-theme-motion=aurora],[data-theme-motion=orbit],[data-theme-motion=stars]){background-image:var(--page-image,none),radial-gradient(ellipse at 20% 10%,color-mix(in srgb,var(--page-accent,var(--identity-accent)) 18%,transparent),transparent 60%),linear-gradient(135deg,var(--page-bg,var(--identity-surface)),var(--page-bg-to,var(--identity-surface)))!important;background-size:var(--page-image-fit,cover),160% 160%,160% 160%!important;animation:fil86-gradient var(--page-motion-speed,24s) ease-in-out infinite alternate!important}
html body #app-root #main-view[data-theme-motion=glow]{animation:fil63-glow var(--page-motion-speed,24s) ease-in-out infinite!important}
html body #app-root #fil-desktop-ads{background:var(--chrome-rail-bg)!important;color:var(--chrome-rail-ink)!important;background-size:var(--chrome-rail-fit)!important;background-position:var(--chrome-rail-position)!important}
html body #app-root #fil-desktop-ads .fil-rail-heading{color:var(--chrome-rail-ink)!important}
/* Le cœur est une action indépendante, au bout de la ligne de catégorie. */
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;min-width:0}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-category{display:inline-flex;align-items:center;min-width:0;max-width:200px;padding:7px 10px;border:1px solid #ffffff80;border-radius:20px;background:#ffffffde;color:#563c70;font:750 10px/1.3 Inter,system-ui;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body :is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-heart{position:static!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important;margin:0!important;border:1px solid #dcd0e8!important;border-radius:50%!important;background:#fff!important;color:#815b93!important;font-size:18px!important;box-shadow:0 3px 10px #27163812!important}
html body :is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-heart:is(.is-saved,[aria-pressed=true]){background:#f8dce7!important;color:#ad2f60!important;border-color:#dda8bf!important}
html body :is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-heart:is(.is-saved,[aria-pressed=true]) svg{fill:currentColor}
.fil-card-heart>span{display:none!important}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-site-logo{display:flex;align-items:center;justify-content:center;width:calc(var(--card-brand-logoSize,58px) + 16px);height:calc(var(--card-brand-logoSize,58px) + 8px);padding:5px;box-sizing:border-box;border:1px solid #ffffffaf;border-radius:10px;background:var(--site-logo-frame-bg,transparent);border-color:var(--site-logo-frame-border,transparent);text-decoration:none}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-site-logo img{width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important;max-height:none!important;max-width:100%!important}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:14px 18px!important;min-width:0;box-sizing:border-box;border-top:1px solid #d6cee2;background:var(--card-brand-image,none),linear-gradient(115deg,var(--card-brand-from,#eee5f6),var(--card-brand-to,#e2edf4))!important;background-size:cover!important;background-position:center!important;color:var(--card-brand-ink,#443052)!important}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot>img{width:48px!important;height:42px!important;object-fit:contain!important;flex:none;filter:none!important;border:0!important;margin:0!important}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot>div{min-width:0}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot small{display:block;color:inherit!important;font:800 8px/1.4 Inter,system-ui;letter-spacing:.12em;text-transform:uppercase}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot p{margin:3px 0!important;font:650 11px/1.5 Inter,system-ui!important;color:inherit!important;overflow-wrap:anywhere}
:is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-brand-foot a{color:inherit!important;font:800 11px/1.4 Inter,system-ui;text-decoration:none;display:inline-flex;gap:8px;align-items:center;min-height:24px}
body[data-card-show-logo=false] .fil-card-site-logo,body[data-card-show-banner=false] .fil-card-brand-foot,body[data-card-show-category=false] .fil-card-category,body[data-card-show-heart=false] .fil-card-heart{display:none!important}
html body :is(#app-root,#modal-detail-content,#fil-fiche-zoom) [hidden]{display:none!important}
/* Un seul rendu d’événement dans l’agenda et sur l’accueil. */
#app-root .fil-v85-event-grid{align-items:stretch!important}
/* Mairie et rubriques pratiques : des repères illustrés, sans données inventées. */
#app-root .fil-mairie-reperes{padding:26px;border:1px solid #cbdddd;border-radius:14px;background:linear-gradient(115deg,color-mix(in srgb,var(--page-accent,#2e5660) 10%,var(--card-bg,#fff)),var(--card-bg,#f8fbf9));color:var(--page-ink,#2e5660)}
#app-root .fil-mairie-reperes>div{display:flex;gap:20px;align-items:center}
#app-root .fil-mairie-seal{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:20px;background:#ffffffb5;border:1px solid #b7d5ce;font-size:32px;color:#477c78}
#app-root .fil-mairie-reperes small{font:800 9px Inter,system-ui;letter-spacing:.15em}
#app-root .fil-mairie-reperes h2{font:800 27px/1.25 Outfit,system-ui;margin:8px 0}
#app-root .fil-mairie-reperes p{font:400 13px/1.7 Inter,system-ui;margin:0;color:#617d7e}
#app-root .fil-mairie-reperes nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}
#app-root .fil-mairie-reperes nav a{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 15px;border:1px solid #c3d8d4;border-radius:10px;background:var(--card-bg,#ffffffc9);color:var(--page-accent,#366b6d);font:750 11px/1.4 Inter,system-ui;text-decoration:none;box-sizing:border-box;min-width:0}
#app-root .fil-mairie-reperes nav a>span:first-of-type{flex:1}
html body #app-root .fil-mairie-complete>.fil-card-brand-foot{grid-column:1/-1;width:100%}
#app-root .fil-v87-section-icon{display:inline-grid;place-items:center;width:36px;height:36px;margin-right:11px;border:1px solid color-mix(in srgb,var(--identity-accent) 20%,white);border-radius:10px;background:var(--identity-surface);color:var(--identity-accent);font-size:16px;vertical-align:middle}
html body #app-root .fil-v85-about{background:linear-gradient(105deg,#f5edf9ef 35%,#f4edf4af),url('/assets/story-background.webp') right center/cover!important}#fil-v84-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}
#fil-v84-dialog{box-sizing:border-box;overflow:auto!important}
/* Contrôles du même Studio ; aucune seconde sauvegarde. */
#fil-editor-v81 .fe-manager-palette,#fil-editor-v81 .fe-v87-page-theme{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #e5ddec}
#fil-editor-v81 .fe-v87-swatches{display:flex;gap:7px;margin:12px 0}
#fil-editor-v81 .fe-v87-swatches span{height:26px;flex:1;border-radius:7px;border:1px solid #d8cee4}
#fil-editor-v81 details{margin:10px 0;border:1px solid #e1d7eb;border-radius:8px;padding:8px}
#fil-editor-v81 details>summary{font:750 12px/1.5 Inter,system-ui;cursor:pointer;color:#5d4380;padding:5px 0}
@container(max-width:760px){
#app-root .fil-mairie-reperes nav{grid-template-columns:minmax(0,1fr)}
#app-root .fil-mairie-reperes{padding:20px}
}
@container(max-width:520px){
#app-root .fil-mairie-reperes>div{align-items:flex-start;gap:13px}
#app-root .fil-mairie-seal{width:52px;height:52px;border-radius:14px;font-size:24px}
#app-root .fil-mairie-reperes h2{font-size:24px}
}
@media(max-width:767px){
#app-root .fil-card-category{max-width:180px}
}
@media(prefers-reduced-motion:reduce){
#fil-site-backdrop,#fil-site-backdrop::before,#fil-site-backdrop::after,html body #app-root #main-view[data-theme-motion]{animation:none!important}
}
.reduce-effects #fil-site-backdrop,.reduce-effects #fil-site-backdrop::before,.reduce-effects #fil-site-backdrop::after,.reduce-effects #app-root #main-view[data-theme-motion]{animation:none!important}
html body #app-root #main-view{--page-accent:var(--identity-accent,#7441ab)}
html body #app-root #main-view[data-theme-motion=float]{background-size:110% 110%!important}
html body #app-root #main-view[data-theme-motion=stars]{background-image:var(--page-image,none),radial-gradient(circle,color-mix(in srgb,var(--page-accent) 25%,transparent) 1px,transparent 2px),radial-gradient(circle,color-mix(in srgb,var(--page-accent) 15%,transparent) 1px,transparent 2px),linear-gradient(135deg,var(--page-bg,var(--identity-surface)),var(--page-bg-to,var(--identity-surface)))!important;background-size:var(--page-image-fit,cover),83px 97px,167px 131px,cover!important}
html body #app-root #main-view[data-theme-motion=orbit]{background-image:var(--page-image,none),repeating-radial-gradient(ellipse at 80% 20%,transparent 0 70px,color-mix(in srgb,var(--page-accent) 10%,transparent) 71px 72px,transparent 73px 140px),linear-gradient(135deg,var(--page-bg,var(--identity-surface)),var(--page-bg-to,var(--identity-surface)))!important;background-size:var(--page-image-fit,cover),150% 150%,cover!important}
/* Navigation et footer : une palette commune et une seule famille de boutons. */
html body #app-root #bottom-navigation{background:var(--chrome-nav-bg)!important;color:var(--chrome-nav-ink)!important;border:0!important;margin:0!important;width:100%!important;max-width:none!important;align-items:stretch!important;background-size:var(--chrome-nav-fit)!important;background-position:var(--chrome-nav-position)!important}
html body #app-root #bottom-navigation>div:first-child:not(.fil-grid-host){display:flex!important;align-items:stretch!important;gap:var(--chrome-gap,6px)!important;padding:7px!important;background:transparent!important;border:0!important;min-height:var(--chrome-navHeight,60px)!important;box-sizing:border-box}
html body #app-root #bottom-navigation .nav-item:not(.fil-grid-item){flex:1 1 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;gap:7px!important;min-width:0!important;min-height:var(--chrome-navHeight,60px)!important;height:auto!important;margin:0!important;padding:10px 4px!important;border:1px solid #ffffff50!important;border-radius:var(--chrome-radius,10px)!important;transform:none!important;top:auto!important;bottom:auto!important;background:#ffffff38!important;color:var(--chrome-nav-ink)!important;box-shadow:0 2px 8px #17203908!important;text-decoration:none;box-sizing:border-box;transition:background .18s,box-shadow .18s}
html body #app-root #bottom-navigation .nav-item>i{font-size:clamp(18px,1.6vw,25px)!important;line-height:1.1!important;color:inherit!important}
html body #app-root #bottom-navigation .nav-item>span{font:750 clamp(10px,.85vw,13px)/1.3 Inter,system-ui!important;color:inherit!important;white-space:normal!important;text-align:center;overflow-wrap:anywhere}
html body #app-root #bottom-navigation .nav-item[aria-current=page]{background:var(--chrome-accent,#7441ab)!important;color:#fff!important;border-color:#ffffff30!important;box-shadow:0 5px 14px #17203925!important}
html body #app-root #bottom-navigation .nav-item:hover{background:#ffffff70!important;box-shadow:0 5px 12px #17203914!important}
html body #app-root #bottom-navigation .nav-item[aria-current=page]:hover{background:var(--chrome-accent,#7441ab)!important}
html body #app-root #bottom-navigation .nav-footer{background:var(--chrome-footer-bg)!important;color:var(--chrome-footer-ink)!important;border:0!important;background-size:var(--chrome-footer-fit)!important;background-position:var(--chrome-footer-position)!important;box-sizing:border-box}
html body #app-root #bottom-navigation .nav-footer:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto auto!important;align-items:stretch!important;gap:var(--chrome-gap,6px)!important;padding:7px!important;width:100%!important;min-width:0!important}
html body #app-root #bottom-navigation .nav-footer:not(.fil-grid-host)>[data-nav-zone]:not(.fil-grid-host),html body #app-root #bottom-navigation .nav-footer:not(.fil-grid-host)>.fil-footer-identity:not(.fil-grid-host){display:contents!important}
html body #app-root #bottom-navigation .nav-footer .fil-v15-social-nav:not(.fil-grid-item){grid-column:1/-1!important;grid-row:1!important;display:flex!important;gap:var(--chrome-gap,6px)!important;justify-content:stretch!important;width:100%!important;margin:0!important;min-width:0!important}
html body #app-root #bottom-navigation .nav-footer :is(.fil-v15-social-nav>a,.fil-v15-social-nav>span,.site-footer-link,.fil-visitor-count,#cookie-status){display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-width:0!important;min-height:var(--chrome-socialHeight,46px)!important;width:100%!important;max-width:100%!important;padding:6px!important;margin:0!important;border:1px solid #ffffff78!important;border-radius:var(--chrome-radius,10px)!important;background:#ffffff68!important;color:var(--chrome-footer-ink)!important;box-shadow:inset 0 1px 0 #ffffff50,0 2px 8px #1720390a!important;text-decoration:none!important;text-align:center!important;font:700 11px/1.35 Inter,system-ui!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
html body #app-root #bottom-navigation .nav-footer .fil-v15-social-nav>*{flex:1 1 0!important}
html body #app-root #bottom-navigation .nav-footer .fil-v15-social-nav i{font-size:19px!important;color:inherit!important}
html body #app-root #bottom-navigation .nav-footer :is(a,button):hover{background:#ffffffb0!important;box-shadow:0 4px 12px #17203914!important}
html body #app-root #bottom-navigation .nav-footer .site-footer-link:not(.fil-grid-item){grid-column:1!important;grid-row:2!important}
html body #app-root #bottom-navigation .nav-footer .fil-visitor-count:not(.fil-grid-item){grid-column:2!important;grid-row:2!important;flex-wrap:wrap!important;align-content:center!important;gap:2px 4px!important}
html body #app-root #bottom-navigation .nav-footer #cookie-status:not(.fil-grid-item){grid-column:3!important;grid-row:2!important}
html body #app-root #bottom-navigation .nav-footer :is(.site-footer-link span,.fil-visitor-count span,#cookie-status span){min-width:0!important;color:inherit!important;font-size:inherit!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body #app-root #bottom-navigation .nav-footer .fil-visitor-count strong{font-size:inherit!important;font-variant-numeric:tabular-nums;color:inherit!important}
html body #app-root #bottom-navigation .nav-footer .fil-v15-social-nav [data-network=mairie]{display:none!important}
html body #app-root #bottom-navigation #fil-local-links:not(:has([data-extra-link])){display:none!important}
html body #app-root #bottom-navigation #fil-local-links:has([data-extra-link]){grid-column:1/-1;display:flex;justify-content:center;gap:6px}
html body #app-root #bottom-navigation :is(a,button):focus-visible{outline:3px solid var(--chrome-accent);outline-offset:2px}
/* Commandes explicites, avec une échelle de départ de 80 %. */
/* Un seul gabarit pour les fiches d’annuaire, les favoris et les événements. */
html body #app-root #main-view :is(.fil-v87-directory,.fil-v87-event-card){--card-accent:var(--page-accent,var(--identity-accent,#7441ab));--card-surface:var(--card-bg,#fff);--card-ink:var(--page-ink,#2c3445);min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:1px solid color-mix(in srgb,var(--card-accent) 22%,#e5e7ed)!important;border-radius:var(--page-frame-radius,0px);background:var(--card-surface)!important;color:var(--card-ink)!important;box-shadow:0 8px 24px #17203908!important;overflow:hidden!important;box-sizing:border-box!important;isolation:isolate}
html body #app-root #main-view .fil-v87-directory{display:flex!important;flex-direction:column!important;height:100%!important;gap:0!important}
html body #app-root #main-view :is(.fil-card-heading,.fil-event-heading){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:start!important;position:relative!important;min-height:0!important;flex:0 0 auto!important;height:auto!important}
html body #app-root #main-view .fil-card-heading{padding:22px!important;background:linear-gradient(130deg,color-mix(in srgb,var(--card-accent) 9%,var(--card-surface)),var(--card-surface))!important;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 12%,transparent)!important}
html body #app-root #main-view .fil-card-identity{display:flex!important;align-items:flex-start!important;gap:14px!important;min-width:0!important}
html body #app-root #main-view .fil-card-identity>div{min-width:0!important;flex:1}
html body #app-root #main-view .fil-card-identity .fil-logo-control,html body #app-root #main-view .fil-card-symbol{position:static!important;float:none!important;display:grid!important;place-items:center!important;flex:0 0 58px!important;width:58px!important;height:58px!important;min-height:58px!important;margin:0!important;padding:8px!important;border:1px solid color-mix(in srgb,var(--card-accent) 20%,white)!important;border-radius:15px!important;background:#ffffffc9!important;color:var(--card-accent)!important;box-shadow:0 4px 12px #17203908!important}
html body #app-root #main-view .fil-card-identity .fil-logo-control img{width:100%!important;height:100%!important;object-fit:contain!important;max-width:100%!important;max-height:100%!important}
html body #app-root #main-view .fil-card-identity .fil-logo-control .fil-logo-edit{display:none!important}
html body #app-root #main-view .fil-card-identity .fil-logo-control>i{font-size:25px!important}
html body #app-root #main-view :is(.fil-card-heading,.fil-event-heading) :is(h2,h3){margin:9px 0 0!important;font:800 clamp(21px,1.8vw,29px)/1.22 Outfit,system-ui!important;letter-spacing:-.025em!important;color:var(--card-ink)!important;overflow-wrap:anywhere!important;text-transform:none!important;min-width:0}
html body #app-root #main-view .fil-card-eyebrow{display:block;color:var(--card-accent);font:800 9px/1.5 Inter,system-ui;letter-spacing:.1em;overflow-wrap:anywhere}
html body #app-root #main-view .fil-card-aside{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:10px!important;max-width:195px!important;min-width:0!important;position:static!important}
html body #app-root #main-view .fil-card-aside .fil-card-meta{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;max-width:100%!important;min-width:0!important;margin:0!important;position:static!important}
html body #app-root #main-view .fil-card-aside .fil-card-category{font-size:10px!important;padding:6px 9px!important;max-width:145px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.4!important;border-color:color-mix(in srgb,var(--category-accent,var(--card-accent)) 18%,white)!important;color:var(--category-accent,var(--card-accent))!important;background:color-mix(in srgb,var(--category-accent,var(--card-accent)) 8%,white)!important;border-radius:var(--page-frame-radius,0px)}
html body #app-root #main-view .fil-card-aside .fil-card-site-logo{float:none!important;position:static!important;margin:0!important;background:var(--site-logo-frame-bg,transparent)!important;width:calc(var(--card-brand-logoSize,58px) + 10px)!important;height:calc(var(--card-brand-logoSize,58px) + 4px)!important;border-color:var(--site-logo-frame-border,transparent)!important;align-self:flex-end!important;box-sizing:border-box}
html body #app-root #main-view .fil-card-copy{padding:20px 22px 10px!important;min-width:0!important;flex:1!important;display:flex;flex-direction:column;gap:12px}
html body #app-root #main-view .fil-card-description{margin:0!important;font:450 14px/1.75 Inter,system-ui!important;color:var(--card-ink)!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
html body #app-root #main-view .fil-card-address{display:flex!important;gap:9px!important;align-items:flex-start!important;font:550 12px/1.7 Inter,system-ui!important;color:var(--card-ink)!important;margin:0!important;min-width:0!important;overflow-wrap:anywhere}
html body #app-root #main-view .fil-card-address i{color:var(--card-accent);margin-top:5px;flex:none}
html body #app-root #main-view :is(.fil-card-contact,.fil-card-socials){display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
html body #app-root #main-view .fil-card-contact:empty{display:none}
html body #app-root #main-view .fil-card-contact a{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 10px;border:1px solid color-mix(in srgb,var(--card-accent) 15%,white);border-radius:var(--page-frame-radius,0px);color:var(--card-accent);background:color-mix(in srgb,var(--card-accent) 4%,white);font:700 11px/1.5 Inter,system-ui;overflow-wrap:anywhere}
html body #app-root #main-view .fil-card-socials .fil-network{flex:1 1 80px;min-width:0;max-width:160px;margin:0!important;min-height:36px!important;font-size:10px!important;border-radius:8px!important}
html body #app-root #main-view .fil-card-socials .is-disabled{opacity:.45}
html body #app-root #main-view .fil-card-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;clear:both!important;margin:0!important;padding:16px 22px 22px!important;min-width:0!important;position:static!important;box-sizing:border-box}
html body #app-root #main-view .fil-card-actions :is(a,button){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:0!important;min-height:var(--card-actionHeight,48px)!important;max-width:100%!important;padding:10px 13px!important;border:1px solid color-mix(in srgb,var(--card-accent) 22%,white)!important;border-radius:10px!important;background:color-mix(in srgb,var(--card-accent) 6%,white)!important;color:var(--card-accent)!important;font:750 11px/1.5 Inter,system-ui!important;text-align:center;text-decoration:none;white-space:normal!important;overflow-wrap:anywhere!important;cursor:pointer!important;box-sizing:border-box!important;position:static!important}
html body #app-root #main-view .fil-card-actions .fil-card-primary{flex:1 1 175px!important;background:var(--card-accent)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 12px color-mix(in srgb,var(--card-accent) 18%,transparent)!important;justify-content:space-between!important}
html body #app-root #main-view .fil-v87-directory>.fil-card-brand-foot{margin-top:auto!important}
/* Affiche, informations, actions et signature occupent des zones distinctes. */
html body #app-root #main-view .fil-v87-event-card{display:grid!important;grid-template-columns:minmax(180px,var(--card-eventPhotoShare,30%)) minmax(0,1fr)!important;gap:0!important;align-items:stretch!important}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;min-width:0!important;min-height:245px!important;background:color-mix(in srgb,var(--card-accent) 8%,#f4f5fa)!important;overflow:hidden!important;border-right:1px solid color-mix(in srgb,var(--card-accent) 14%,white)}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;max-width: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;margin:0!important;box-sizing:border-box}
html body #app-root #main-view .fil-v87-event-card .fil-event-zoom{position:absolute!important;top:12px!important;right:12px!important;display:grid!important;place-items:center!important;min-height:44px!important;min-width:44px!important;padding:6px!important;border:1px solid #ffffffc0!important;border-radius:var(--page-frame-radius,0px);background:#fffffff0!important;color:#344963!important;box-shadow:0 5px 16px #17203919;cursor:pointer!important}
html body #app-root #main-view .fil-event-date{position:absolute;top:12px;left:12px;display:grid;place-items:center;gap:1px;min-width:58px;padding:9px 10px;background:var(--card-surface);color:var(--card-accent);border:1px solid color-mix(in srgb,var(--card-accent) 22%,white);box-shadow:0 4px 14px #17203918;line-height:1.1;box-sizing:border-box}
html body #app-root #main-view .fil-event-date[hidden]{display:none!important}
html body #app-root #main-view .fil-event-date b{font:800 25px/1 Outfit,system-ui}
html body #app-root #main-view .fil-event-date span{font:800 10px/1.3 Inter,system-ui;text-transform:uppercase}
html body #app-root #main-view .fil-event-body{padding:22px 24px 0!important;display:flex!important;flex-direction:column!important;gap:var(--card-gap,18px)!important;min-width:0!important;box-sizing:border-box}
html body #app-root #main-view .fil-event-heading{padding:0!important;border:0!important;background:transparent!important}
html body #app-root #main-view .fil-event-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0!important;padding:0!important;min-width:0;flex-shrink:0}
html body #app-root #main-view .fil-event-facts>div{padding:11px 13px;border:1px solid color-mix(in srgb,var(--card-accent) 12%,white);border-radius:var(--page-frame-radius,0px);background:color-mix(in srgb,var(--card-accent) 4%,var(--card-surface));min-width:0;box-sizing:border-box}
html body #app-root #main-view .fil-event-facts dt{font:800 9px/1.5 Inter,system-ui;text-transform:uppercase;letter-spacing:.08em;color:var(--card-accent);margin-bottom:5px}
html body #app-root #main-view .fil-event-facts dt i{margin-right:5px}
html body #app-root #main-view .fil-event-facts dd{font:650 12px/1.65 Inter,system-ui;color:var(--card-ink);margin:0;overflow-wrap:anywhere}
html body #app-root #main-view .fil-event-excerpt{font:450 13px/1.75 Inter,system-ui;color:var(--card-ink);margin:0;flex-shrink:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body #app-root #main-view .fil-event-body>.fil-card-actions{padding:0 0 22px!important;margin-top:auto!important}
html body #app-root #main-view .fil-v87-event-card.is-compact{grid-template-columns:minmax(0,1fr)!important;height:100%!important;align-content:start}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-photo{height:var(--card-eventPhotoHeight,200px)!important;min-height:var(--card-eventPhotoHeight,200px)!important;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 14%,white)}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-photo img{height:100%!important;max-height:100%!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-body{padding:18px 18px 0!important;gap:15px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 125px!important;align-items:start!important;gap:14px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-aside{width:125px!important;max-width:100%!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-meta{justify-content:flex-end!important}
html body #app-root #main-view .fil-v87-event-card.is-compact h2{font-size:24px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-eyebrow{font-size:8px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-facts{grid-template-columns:minmax(0,1fr)}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-brand-foot{padding:12px 16px!important}
/* Une pause arcade qui reprend les couleurs du serpent. */
html body #app-root #main-view #fil-v56-home-promo h2{font-size:clamp(26px,3vw,38px)!important;letter-spacing:-.035em}
html body #app-root #main-view #fil-v56-home-promo>a::before{content:'↗';display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border:1px solid currentColor;border-radius:var(--page-frame-radius,0px);font-size:16px}
html body #app-root #main-view .fil-v85-tile{transition:transform .2s,box-shadow .2s;box-shadow:0 5px 18px #17203908;border-radius:var(--page-frame-radius,0px)}
html body #app-root #main-view .fil-v85-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px #17203916}
html body #app-root #main-view .fil-v84-page-hero{box-shadow:0 9px 30px color-mix(in srgb,var(--identity-accent) 10%,transparent)!important;border-radius:var(--page-frame-radius,0px)}
html body #app-root #main-view .fil-v84-page-hero figure{border-radius:var(--page-frame-radius,0px);overflow:hidden;background:#ffffff60}
/* Mobile vertical : commandes tactiles et deux rangées de footer, toujours à 80 % au départ. */
@media(max-width:767px){
html body #app-root #bottom-navigation>div:first-child:not(.fil-grid-host){gap:4px!important;padding:5px!important;min-height:58px!important}
html body #app-root #bottom-navigation .nav-item:not(.fil-grid-item){min-height:55px!important;padding:6px 2px!important;gap:5px!important;border-radius:9px!important}
html body #app-root #bottom-navigation .nav-item>span{font-size:10px!important;line-height:1.2!important}
html body #app-root #bottom-navigation .nav-item>i{font-size:19px!important}
html body #app-root #bottom-navigation .nav-footer:not(.fil-grid-host){padding:4px 5px 5px!important;gap:4px!important}
html body #app-root #bottom-navigation .nav-footer .fil-v15-social-nav:not(.fil-grid-item){gap:4px!important}
html body #app-root #bottom-navigation .nav-footer :is(.fil-v15-social-nav>a,.fil-v15-social-nav>span,.site-footer-link,.fil-visitor-count,#cookie-status){min-height:55px!important;padding:5px!important;font-size:11px!important;border-radius:9px!important}
html body #app-root #main-view :is(.fil-card-heading,.fil-event-heading){grid-template-columns:minmax(0,1fr) 125px!important;gap:12px!important}
html body #app-root #main-view .fil-card-heading{padding:18px!important}
html body #app-root #main-view .fil-card-identity{flex-direction:column!important;gap:12px!important}
html body #app-root #main-view .fil-card-aside{max-width:125px!important;width:125px!important}
html body #app-root #main-view .fil-card-aside .fil-card-category{max-width:65px!important;font-size:10px!important;padding:5px!important}
html body #app-root #main-view .fil-card-aside .fil-card-heart{min-width:55px!important;min-height:55px!important;width:55px!important;height:55px!important;flex-basis:55px!important}
html body #app-root #main-view :is(.fil-card-heading,.fil-event-heading) :is(h2,h3){font-size:26px!important}
html body #app-root #main-view .fil-card-eyebrow{font-size:10px!important}
html body #app-root #main-view .fil-card-copy{padding:18px 18px 8px!important}
html body #app-root #main-view .fil-card-description{font-size:16px!important;line-height:1.7!important}
html body #app-root #main-view .fil-card-address{font-size:14px!important}
html body #app-root #main-view .fil-card-contact a{min-height:44px;font-size:13px!important}
html body #app-root #main-view .fil-card-socials .fil-network{min-height:44px!important;font-size:12px!important}
html body #app-root #main-view .fil-card-actions{padding:16px 18px 18px!important}
html body #app-root #main-view .fil-card-actions :is(a,button){min-height:55px!important;font-size:13px!important;padding:11px 13px!important}
html body #app-root #main-view .fil-v87-event-card{grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo{height:var(--card-eventPhotoHeight,200px)!important;min-height:var(--card-eventPhotoHeight,200px)!important;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 14%,white)}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo img{height:100%!important;max-height:100%!important}
html body #app-root #main-view .fil-event-body{padding:20px 18px 0!important;gap:18px!important}
html body #app-root #main-view .fil-event-facts{grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view .fil-event-facts dd{font-size:14px!important}
html body #app-root #main-view .fil-event-facts dt{font-size:10px!important}
html body #app-root #main-view .fil-event-excerpt{font-size:15px!important}
html body #app-root #main-view .fil-v87-event-card .fil-event-zoom{min-height:55px!important;min-width:55px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 125px!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-aside{display:flex!important;flex-direction:column!important;align-items:flex-end!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-meta{justify-content:flex-end!important}
html body #app-root #main-view .fil-v87-event-card.is-compact h2{font-size:25px!important}
html body #app-root #main-view #fil-v56-home-promo{min-height:230px;padding:24px!important;background-size:auto 100%!important}
html body #app-root #main-view #fil-v56-home-promo h2{font-size:32px!important}
}
@media(prefers-reduced-motion:reduce){
html body #app-root #main-view .fil-v85-tile:hover{transform:none}
}
@media(max-width:767px){
html body #app-root #main-view .fil-v84-toolbar label{display:inline-flex!important;align-items:center!important;gap:8px!important;font:600 13px/1.5 Inter,system-ui!important}
html body #app-root #main-view .fil-v84-toolbar input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;min-width:20px!important;margin:0!important;flex:none!important;accent-color:var(--identity-accent)}
}
/* Annuaires : recherche, catégorie, tri et résultats ne se chevauchent pas. */
html body #app-root #main-view .fil-directory-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(130px,1fr);gap:12px;padding:18px;border:1px solid color-mix(in srgb,var(--identity-accent) 16%,white);border-radius:var(--page-frame-radius,0px);background:#ffffffdf;margin:0 0 20px;align-items:end;box-sizing:border-box}
html body #app-root #main-view .fil-directory-toolbar label{display:flex;flex-direction:column;gap:8px;min-width:0;font:750 11px/1.4 Inter,system-ui;color:var(--identity-accent)}
html body #app-root #main-view .fil-directory-toolbar :is(input,select){width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #ddd5e7;border-radius:9px;background:#fff;color:#41374e;font:500 13px/1.5 Inter,system-ui;box-sizing:border-box}
html body #app-root #main-view :is([data-directory-count],[data-agenda-count]){grid-column:1/-1;margin:2px 0 0;font:750 11px/1.5 Inter,system-ui;color:var(--identity-accent);min-width:0}
html body #app-root #main-view .fil-directory-grid:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(var(--list-cols,2),minmax(0,1fr))!important;gap:var(--card-gap,18px)!important;align-items:stretch!important;margin:0!important;min-width:0!important;width:100%!important;container-type:inline-size}
html body #app-root #main-view .fil-v87-directory .fil-card-description{-webkit-line-clamp:var(--list-excerpt-lines,4)}
html body #app-root #main-view :is(.fil-v87-directory,.fil-v87-event-card){--card-accent:var(--record-accent,var(--page-accent,var(--identity-accent,#7441ab)));--card-surface:var(--record-bg,var(--card-bg,#fff));--card-ink:var(--record-ink,var(--page-ink,#2c3445));container-type:inline-size}
html body #app-root #main-view .fil-directory-cover{height:auto;aspect-ratio:var(--record-image-ratio,16 / 10);max-height:380px;position:relative;margin:0;background:color-mix(in srgb,var(--card-accent) 8%,white);border-bottom:1px solid color-mix(in srgb,var(--card-accent) 15%,white);overflow:hidden;flex:none}
html body #app-root #main-view .fil-directory-cover img{width:100%;height:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover));object-position:var(--record-media-position,var(--page-media-position,center));display:block}
html body #app-root #main-view .fil-directory-cover>button{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;background:#fffffff0;border:1px solid #ffffffc0;border-radius:10px;color:var(--card-accent);cursor:pointer}
html body #app-root #main-view [data-show-images=false] :is(.fil-directory-cover,.fil-event-photo){display:none!important}
html body #app-root #main-view .fil-directory-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 24px;border:1px dashed color-mix(in srgb,var(--identity-accent) 30%,white);border-radius:var(--page-frame-radius,0px);background:#ffffffbd;min-width:0;box-sizing:border-box}
html body #app-root #main-view .fil-directory-empty>i{font-size:28px;color:var(--identity-accent)}
html body #app-root #main-view .fil-directory-empty h2{font:800 24px/1.3 Outfit,system-ui;color:#40344e;margin:0}
html body #app-root #main-view .fil-directory-empty p{font:450 13px/1.7 Inter,system-ui;color:#80718e;margin:0}
html body #app-root #main-view .fil-directory-empty button{padding:10px 16px;min-height:44px;border:1px solid #ddd0e7;border-radius:9px;color:var(--identity-accent);background:#fff}
html body #app-root #main-view .fil-agenda-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:16px;border:1px solid color-mix(in srgb,var(--identity-accent) 16%,white);background:var(--card-bg,#ffffffdf);border-radius:var(--page-frame-radius,0px)}
html body #app-root #main-view .fil-agenda-toolbar>input{flex:1 1 260px;min-width:0}
html body #app-root #main-view .fil-agenda-toolbar label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font:750 10px/1.5 Inter,system-ui;color:var(--identity-accent);min-width:0;flex:1 1 160px}
html body #app-root #main-view .fil-agenda-toolbar select{font:550 12px/1.5 Inter,system-ui;color:#4b4058;border:1px solid #ddd4e8;padding:9px 12px;min-height:40px;border-radius:8px;max-width:100%;box-sizing:border-box;background:#fff}
html body #app-root #main-view .fil-event-extra{font:600 11px/1.7 Inter,system-ui;color:var(--card-accent);margin:0;overflow-wrap:anywhere;flex:none}
html body #app-root #main-view .fil-event-status{display:inline-flex;align-items:center;margin-top:10px;padding:6px 9px;border:1px solid #e2c2cc;border-radius:var(--page-frame-radius,0px);background:#fff0f3;color:#a24c62;font:800 10px/1.5 Inter,system-ui}
html body #app-root #main-view .fil-event-status.is-postponed{background:#fff5df;color:#9a742d;border-color:#e9d2a1}
html body #app-root #main-view .fil-event-status.is-archived{background:#f1eef7;color:#857097;border-color:#ddd2e8}
/* Le portail conserve les cartes du Fil et donne un repère coloré à chaque rubrique. */
html body #app-root #main-view .fil-portal-grid{display:grid!important;grid-template-columns:repeat(var(--portal-cols,4),minmax(0,1fr))!important;gap:12px!important}
html body #app-root #main-view .fil-portal-card{display:flex!important;align-items:flex-start!important;gap:13px!important;background:var(--portal-bg)!important;border:1px solid color-mix(in srgb,var(--portal-accent) 25%,white)!important;border-radius:var(--page-frame-radius,0px);min-width:0!important;min-height:120px!important;padding:20px!important;color:var(--portal-accent)!important;box-sizing:border-box;overflow:hidden}
html body #app-root #main-view .fil-portal-card>span:nth-last-child(2){flex:1;min-width:0}
html body #app-root #main-view .fil-portal-card strong{color:var(--portal-accent)!important;font-size:20px!important;line-height:1.3!important;overflow-wrap:anywhere}
html body #app-root #main-view .fil-portal-card small{font-size:11px!important;line-height:1.65!important;color:color-mix(in srgb,var(--portal-accent) 70%,#454052)!important;overflow-wrap:anywhere}
html body #app-root #main-view .fil-portal-card .fil-v85-tile-icon{color:var(--portal-accent)!important;background:color-mix(in srgb,var(--portal-accent) 9%,white)!important;border-color:color-mix(in srgb,var(--portal-accent) 20%,white)!important;flex:none}
html body #app-root #main-view .fil-portal-image{width:55px;height:55px;border-radius:var(--page-frame-radius,0px);object-fit:var(--record-media-fit,var(--page-media-fit,cover));flex:none;border:1px solid #ffffff90}
html body #app-root #main-view .fil-v85-home-access .fil-v85-section-title p{font-size:13px;line-height:1.7;margin:10px 0 0;color:#82708e;max-width:700px}
html body #app-root #main-view [data-home-best]{font:750 12px/1.6 Inter,system-ui;color:var(--snake-color)!important;margin-top:14px}
/* Carrousel : visuels publiés, couleurs locales, pause et glissement tactile. */
html body #app-root #main-view .fil-v15-slide{background:var(--slide-color,#311b54)!important}
html body #app-root #main-view .fil-v15-picture{background:var(--slide-color,#311b54)!important}
html body #app-root #main-view .fil-v15-picture:after{background:linear-gradient(0deg,color-mix(in srgb,var(--slide-color,#311b54) 95%,#080515) 0%,color-mix(in srgb,var(--slide-color,#311b54) 78%,transparent) 40%,color-mix(in srgb,var(--slide-color,#311b54) 18%,transparent) 100%)!important}
html body #app-root #main-view .fil-v15-slide-info h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body #app-root #main-view .fil-v15-slide-info p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
html body #app-root #main-view .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-stage{display:grid!important;gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:hidden!important;background:transparent!important}
html body #app-root #main-view .fil-v15-carousel[data-visible-count="3"] .fil-v15-stage{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body #app-root #main-view .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-slide{position:relative!important;inset:auto!important;min-width:0!important;height:100%!important;border-radius:var(--page-frame-radius,0px);padding:22px!important}
html body #app-root #main-view .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-slide:not(.is-active){display:none!important}
html body #app-root #main-view .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-slide-info h3{font-size:27px!important}
html body #app-root #main-view .fil-v15-carousel:is([data-visible-count="2"],[data-visible-count="3"]) .fil-v15-slide-info p{font-size:12px!important;-webkit-line-clamp:2}
html body #app-root #main-view .fil-v15-carousel[data-dense=true] .fil-v15-slide-info p{display:none!important}
html body #app-root #main-view .fil-v15-carousel[data-dense=true] .fil-v15-slide-info h3{font-size:23px!important;margin:7px 0!important}
html body #app-root #main-view .fil-v15-carousel[data-dense=true] .fil-v15-slide{padding:17px!important}
html body #app-root #main-view .fil-v15-carousel[data-dense=true] .fil-v15-open{min-height:38px!important;padding:8px 12px!important}
html body #app-root #main-view [hidden]{display:none!important}
/* Le jeu utilise les mêmes paramètres publics que sa présentation. */
html body #app-root .fil-game-disabled-note{margin:18px 0;padding:18px 22px;background:#eff6ef;border:1px solid #cfdfcf;border-radius:12px;color:#476d58;font:600 14px/1.7 Inter,system-ui}
/* Les colonnes s’adaptent à l’espace du site, y compris en aperçu du Studio. */
@container(max-width:850px){
html body #app-root #main-view .fil-directory-grid:not(.fil-grid-host){grid-template-columns:repeat(var(--list-tablet-cols,2),minmax(0,1fr))!important}
html body #app-root #main-view .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container(max-width:650px){
html body #app-root #main-view .fil-v87-event-card{grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo{height:var(--card-eventPhotoHeight,200px)!important;min-height:var(--card-eventPhotoHeight,200px)!important;border-right:0}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo img{height:100%!important;object-fit:var(--record-media-fit,var(--page-media-fit,cover))!important}
}
@container(max-width:360px){
html body #app-root #main-view :is(.fil-card-heading,.fil-event-heading){grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view .fil-card-aside{grid-row:1;width:100%!important;max-width:none!important}
html body #app-root #main-view .fil-card-aside .fil-card-meta{align-self:flex-end}
html body #app-root #main-view .fil-card-identity{flex-direction:row!important}
html body #app-root #main-view .fil-card-heading h3{font-size:22px!important}
html body #app-root #main-view .fil-event-facts{grid-template-columns:minmax(0,1fr)!important}
}
@container(max-width:360px){
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-event-heading{grid-template-columns:minmax(0,1fr)!important}
html body #app-root #main-view .fil-v87-event-card.is-compact .fil-card-aside{width:100%!important}
}
@media(max-width:767px){
html body #app-root #main-view .fil-directory-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:15px;gap:12px}
html body #app-root #main-view .fil-directory-toolbar>label:first-child{grid-column:1/-1}
html body #app-root #main-view .fil-directory-toolbar label{font-size:13px}
html body #app-root #main-view .fil-directory-toolbar :is(input,select){min-height:55px!important;font-size:16px!important;padding:10px!important}
html body #app-root #main-view .fil-directory-grid:not(.fil-grid-host){grid-template-columns:repeat(var(--list-mobile-cols,1),minmax(0,1fr))!important;gap:16px!important}
html body #app-root #main-view .fil-agenda-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end!important;gap:10px!important}
html body #app-root #main-view .fil-agenda-toolbar>input{grid-column:1/-1}
html body #app-root #main-view .fil-agenda-toolbar label{display:flex!important;flex-direction:column!important;align-items:stretch!important;font-size:13px!important}
html body #app-root #main-view .fil-agenda-toolbar select{min-height:55px!important;font-size:15px!important;padding:10px!important;max-width:100%!important;min-width:0!important}
html body #app-root #main-view .fil-agenda-toolbar>[data-local-propose]{grid-column:1/-1}
html body #app-root #main-view .fil-portal-grid{grid-template-columns:repeat(var(--portal-mobile-cols,2),minmax(0,1fr))!important;gap:10px!important}
html body #app-root #main-view .fil-portal-card{flex-direction:column!important;gap:11px!important;padding:17px!important;min-height:145px!important}
html body #app-root #main-view .fil-portal-card strong{font-size:22px!important}
html body #app-root #main-view .fil-portal-card small{font-size:13px!important;line-height:1.6!important}
html body #app-root #main-view .fil-event-extra{font-size:13px!important}
}
@media(max-width:399px){
html body #app-root #main-view .fil-directory-grid:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
}
html body #app-root #main-view [data-show-images=false] .fil-v87-event-card{grid-template-columns:minmax(0,1fr)!important}
/* Les commandes essentielles tiennent aussi à 320 px avec le zoom à 80 %. */
html body #app-root #main-view .fil-mairie-complete:not(.fil-grid-host){display:block!important;background:var(--detail-bg,#fff);color:var(--detail-ink,#2c3445);border-radius:var(--page-frame-radius,0px);overflow:hidden!important;border:1px solid #dce5e6}
html body :is(#app-root,#modal-detail-content,#fil-fiche-zoom) .fil-card-category{background:color-mix(in srgb,var(--category-accent,#563c70) 9%,white)!important;color:var(--category-accent,#563c70)!important;border-color:color-mix(in srgb,var(--category-accent,#563c70) 22%,white)!important}
html body #app-root #main-view .fil-favorites-groups{display:flex!important;flex-direction:column!important;gap:22px!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
html body #app-root #main-view .fil-favorites-group>h2{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px;font:800 22px/1.3 Outfit,system-ui;color:var(--identity-accent)}
html body #app-root #main-view .fil-favorites-group>h2 small{font:750 12px/1.4 Inter,system-ui;background:var(--identity-surface);padding:7px 12px;border-radius:var(--page-frame-radius,0px)}
html body #app-root #main-view .fil-favorites-total{margin:0;color:var(--identity-accent);font:750 12px/1.5 Inter,system-ui}
/* V88 · canonical header; original controls are reused in the compact drawer. */
#app-root>header{height:auto!important;min-height:76px!important;padding:8px 18px!important;background:var(--chrome-header-bg)!important;background-size:var(--chrome-header-fit)!important;background-position:var(--chrome-header-position)!important;color:var(--chrome-header-ink)!important;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)!important;overflow:visible!important;z-index:70!important}
#app-root>header .fil-v41-header-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:18px!important;min-width:0}
#app-root>header .fil-v41-brand{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;flex:1 1 auto!important;max-width:540px!important;cursor:pointer}
#app-root>header .fil-v41-brand>div:first-child{width:62px!important;height:62px!important;padding:0!important;flex:0 0 62px!important;background:var(--site-logo-frame-bg,transparent)!important;border:1px solid var(--site-logo-frame-border,transparent)!important;box-shadow:none!important;transform:none!important}
#app-root>header .fil-v41-brand img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important;border-radius:0!important}
#app-root>header .fil-v41-brand>div:last-child{display:flex!important;flex-direction:column!important;min-width:0!important;gap:4px!important}
#app-root>header .fil-v41-brand h2{color:inherit!important;font:800 clamp(15px,1.3vw,20px)/1.18 var(--site-header-font,system-ui,sans-serif)!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important}
#app-root>header .fil-v41-brand span{display:block!important;color:inherit!important;opacity:.83;font:600 11px/1.3 system-ui!important;letter-spacing:.025em!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important}
#app-root>header .fil-v41-actions{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;min-width:0!important;position:static!important}
#fil-header-secondary,#fil-v55-header-links{display:contents}
#app-root>header :is(button,.fil-v55-header-button,#fil-header-weather,#fil-clock){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:5px;min-width:46px;min-height:46px;height:auto;width:auto;padding:9px 12px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--chrome-radius,10px);background:color-mix(in srgb,var(--chrome-headerFrom) 62%,white);color:var(--chrome-header-ink);box-shadow:none;font:700 14px/1.2 system-ui;text-decoration:none;cursor:pointer}
#app-root>header :is(button,a):focus-visible{outline:3px solid var(--chrome-accent);outline-offset:2px}
#app-root>header :is(button,a):hover{filter:brightness(.96)}
#app-root>header :is(#fil-ui-sounds,.fil-v55-header-button)>i{font-size:19px!important}
#app-root>header #fil-header-more{display:none}
#app-root>header .fil-text-scale{display:flex!important;align-items:center;gap:2px;flex:0 0 auto}
#app-root>header .fil-text-scale button{padding:8px!important;min-width:37px!important;border-radius:7px!important;font-size:14px!important}
#app-root>header #fil-scale-value{min-width:50px!important}
#app-root>header[data-compact=true]{min-height:84px!important;padding:8px 12px!important}
#app-root>header[data-compact=true] .fil-v41-header-inner{gap:8px!important}
#app-root>header[data-compact=true] .fil-v41-brand{gap:8px!important;max-width:none!important}
#app-root>header[data-compact=true] .fil-v41-brand>div:first-child{width:var(--header-logo-size,48px)!important;height:var(--header-logo-size,48px)!important;flex-basis:var(--header-logo-size,48px)!important}
#app-root>header[data-compact=true] .fil-v41-brand h2{font-size:15px!important;line-height:1.18!important}
#app-root>header[data-compact=true] .fil-v41-brand span{font-size:11px!important;line-height:1.25!important;letter-spacing:0!important}
#app-root>header[data-compact=true] #fil-header-more{display:inline-flex!important}
#app-root>header[data-compact=true] .fil-v41-actions{gap:5px!important}
#app-root>header[data-compact=true] :is(#fil-ui-sounds,#fil-header-more){width:var(--header-touch-size,56px)!important;height:var(--header-touch-size,56px)!important;min-width:var(--header-touch-size,56px)!important;min-height:var(--header-touch-size,56px)!important;padding:8px!important;border-radius:9px!important}
#app-root>header[data-compact=true] #fil-header-secondary{display:none!important;position:absolute;inset:calc(100% + 4px) 8px auto;max-height:min(70dvh,520px);overflow:auto;overscroll-behavior:contain;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;background:var(--chrome-header-bg);color:var(--chrome-header-ink);border:1px solid color-mix(in srgb,currentColor 25%,transparent);box-shadow:0 12px 30px #23113b40;border-radius:10px}
#app-root>header[data-compact=true][data-commands-open=true] #fil-header-secondary{display:grid!important}
#app-root>header[data-compact=true] #fil-v55-header-links{display:contents!important}
#app-root>header[data-compact=true] #fil-header-secondary :is(a,button){min-height:var(--header-touch-size,56px)!important;min-width:0!important;width:100%!important;height:auto!important;padding:8px!important;font-size:14px!important;overflow-wrap:anywhere}
#app-root>header[data-compact=true] #fil-header-secondary .fil-text-scale{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1.4fr 1fr;gap:6px}

@media(max-width:680px){
#app-root>header:not([data-compact]) .fil-v41-actions>:not(#fil-ui-sounds):not(#fil-header-more){display:none!important}
#app-root>header:not([data-compact]){min-height:84px!important}
}
/* Main page frames: square by default, with one saved site/page radius option. */
#app-root :is(.fil-workspace,.fil-site-pane,#main-view){border-radius:0!important;min-width:0}
#main-view :is(.fil-v85-home,.fil-v85-page,.fil-v85-panel,.information-block,.fil-mairie-complete){min-width:0;max-width:100%}
#main-view :is(h1,h2,h3,p,dd,li,a){overflow-wrap:anywhere}
#main-view :is(button,a,input,select,textarea){max-width:100%}
#main-view :is(.fil-v85-page,.fil-v85-home){gap:clamp(14px,2vw,24px)}
/* Content media. Backgrounds retain their separate editor settings. */
#main-view img{max-width:100%;object-fit:var(--record-media-fit,var(--page-media-fit,cover));object-position:var(--record-media-position,var(--page-media-position,center));transform:none}
#main-view .fil-event-photo{display:grid;place-items:center;min-width:0}
#main-view .fil-event-photo img{width:100%;height:100%;min-height:0;object-position:var(--record-media-position,var(--page-media-position,center))!important}
#main-view .fil-v84-page-hero figure img{transform:none!important}
#main-view .fil-v84-custom-art{object-fit:contain;max-width:100%;height:auto}

#app-root #main-view{--radius-global:var(--page-frame-radius,0px)}

/* V88.1 · keep the exact existing artwork; only its circular display is masked.
   The mask uses closest-side so it also fits rectangular signature/logo slots. */
html:not([data-site-logo-style=original]) img:is([src*="/assets/logo-fil-prades-rapide.webp"],[src*="/assets/logo-fil-prades-transparent.webp"],[src*="/assets/logo-fil-prades.png"]){
 -webkit-mask-image:radial-gradient(circle closest-side at 49% 50%,#000 91.5%,transparent 92%);
 mask-image:radial-gradient(circle closest-side at 49% 50%,#000 91.5%,transparent 92%);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;filter:none!important;
}
html body #app-root #main-view #fil-musique-page #fil-musique-site-logo{background:transparent!important;box-shadow:none!important}

/* Mode léger : mêmes palettes et cadrages, sans les effets coûteux. */
html[data-performance=light] #fil-site-backdrop::before,html[data-performance=light] #fil-site-backdrop::after{display:none!important}
html[data-performance=light] #fil-site-backdrop,html[data-performance=light] body #app-root #main-view[data-theme-motion]{animation:none!important;background-attachment:scroll!important}html[data-performance=light] #app-root>header{backdrop-filter:none!important;filter:none!important}
html[data-performance=light] .fil-ad-card *,html[data-performance=light] .fil-ad-card::before,html[data-performance=light] .fil-ad-card::after,html[data-performance=light] .fil-ad-card .fil-ad-top::after{animation:none!important}
html[data-performance=light] #fil-v57-arcade .fil-arcade-stage{box-shadow:none!important}
html[data-site-visibility=hidden] *,html[data-site-visibility=hidden] *::before,html[data-site-visibility=hidden] *::after{animation-play-state:paused!important}
#fil-desktop-ads .fil-ad-card--empty .fil-ad-orb{position:static!important;display:block!important;width:42px;height:42px;margin:0 0 12px;opacity:.7;font-size:32px}
#fil-desktop-ads .fil-ad-orb svg{width:36px;height:36px}

/* Les commandes restent lisibles quand les cartes passent sur une seule colonne. */
@media(max-width:700px){
#app-root #main-view #fil-ed-grid>.fil-ed-card:not(.fil-grid-item){height:var(--card-articleMobileHeight,285px)!important;min-height:var(--card-articleMobileHeight,285px)!important;max-height:var(--card-articleMobileHeight,285px)!important}
#app-root #main-view #fil-ed-grid .fil-ed-link{min-height:55px!important;font-size:13px!important}
#app-root #main-view #fil-ed-grid .fil-ed-card-visual{height:90px!important;min-height:90px!important;max-height:90px!important}
#app-root #fil-music-page-player .fil-page-player-controls label{flex:1 0 100%;justify-content:space-between;margin-left:0}
#app-root #fil-music-page-player [data-page-volume]{width:65%;flex:1}
#app-root #main-view .fil-v84-calendar{gap:4px}
#app-root #main-view .fil-v84-calendar button{min-width:0;padding:7px 2px;min-height:58px}
#app-root #main-view .fil-calendar-word{display:none}
}


/* === module fiches.css === */
/* Fiches dans la zone Page. Une seule définition de la fenêtre et de sa lecture. */
#modal-detail {
  position: fixed; inset: auto; z-index: 130; margin: 0; padding: 0;
  max-width: none; max-height: none; overflow: hidden; background: transparent;
  border: 0; border-radius: 0; box-sizing: border-box; zoom: 1; transform: none;
}
#modal-detail[aria-hidden="true"] { display: none; }
#modal-detail-content.fil-record-host {
  width: 100%; height: 100%; max-width: none; max-height: none; padding: 0; margin: 0;
  overflow: hidden; border: 1px solid #d9d0df; border-radius: 0; transform: none; zoom: 1;
  background: #fff; box-sizing: border-box; box-shadow: 0 10px 30px #24152a20;
}
.fil-record-view {
  display: grid; grid-template-columns:minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto auto;
  height: 100%; width: 100%; min-width: 0; min-height: 0; overflow: hidden;
  container-type: size; color: var(--detail-ink,#2c3445); background: var(--detail-bg,#fff);
  font: 500 var(--record-font,14px)/1.55 Inter,system-ui,sans-serif; box-sizing: border-box;
}
.fil-record-view *, #fil-fiche-zoom * { box-sizing: border-box; }
.fil-record-view [hidden] { display: none !important; }
.fil-record-view :is(button,a,select):focus-visible {
  outline: 3px solid var(--detail-accent,#7441ab); outline-offset: -3px;
}
.fil-record-view button { cursor: pointer; }
.fil-record-view button:disabled { opacity: .35; cursor: default; }
.fil-record-toolbar {
  min-width:0;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 52px; padding: 4px 12px; border-bottom: 1px solid color-mix(in srgb,var(--detail-accent) 18%,white);
  background: color-mix(in srgb,var(--detail-accent) 7%,var(--detail-bg));
}
.fil-record-navigation.fil-record-top-navigation,.fil-record-reading-controls { display: none; }
.fil-record-toolbar .fil-card-meta { flex: 1; min-width: 0; }
.fil-record-toolbar .fil-card-category { max-width: 100%; }
.fil-record-back {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; flex: none; padding: 8px 12px; border: 1px solid color-mix(in srgb,var(--detail-accent) 25%,white);
  background: var(--detail-bg); color: var(--detail-accent); border-radius: 8px; font: 750 12px/1.2 Inter,system-ui;
}
.fil-record-layout {
  display: grid; grid-template-columns: minmax(0,var(--record-photo-share,35%)) minmax(0,1fr);
  min-width: 0; min-height: 0; overflow: hidden;
}
.fil-record-summary {
  display: flex; flex-direction: column; gap: 14px; min-width: 0; min-height: 0;
  padding: 20px; overflow: hidden; border-right: 1px solid color-mix(in srgb,var(--detail-accent) 15%,white);
  background: linear-gradient(145deg,color-mix(in srgb,var(--detail-accent) 9%,var(--detail-bg)),var(--detail-bg));
}
.fil-record-cover {
  position: relative; flex: 1 1 auto; margin: 0; min-width: 0; min-height: 0; overflow: hidden;
  background: color-mix(in srgb,var(--detail-accent) 8%,var(--detail-bg));
}
.fil-record-cover img {
  display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  object-fit: var(--record-media-fit,cover); object-position: var(--record-media-position,center);
}
.fil-record-cover button {
  position: absolute; right: 6px; bottom: 6px; width: 44px; height: 44px;
  border: 1px solid #ddd; border-radius: 8px; background: #fffffff0; color: var(--detail-accent);
}
.fil-record-heading { min-width: 0; flex: none; }
.fil-record-heading small { display: block; color: var(--detail-accent); font: 800 9px/1.4 Inter,system-ui; letter-spacing: .08em; }
.fil-record-heading h2 {
  margin: 8px 0 0; color: var(--detail-ink); font: 800 var(--record-title,27px)/1.15 Outfit,system-ui;
  overflow-wrap: anywhere; letter-spacing: -.025em;
}
.fil-record-mark { display: block; width: 62px; height: 42px; flex: none; }
.fil-record-mark img { width: 100%; height: 100%; object-fit: contain; }
.fil-record-symbol {
  display: grid; place-items: center; flex: 1; min-height: 54px;
  color: var(--detail-accent); font-size: 50px; background: color-mix(in srgb,var(--detail-accent) 5%,var(--detail-bg));
}
.fil-record-reader {
  position: relative; display: grid; grid-template-rows: auto minmax(0,1fr) 44px;
  padding: 14px 18px 8px; min-width: 0; min-height: 0; gap: 10px; overflow: hidden;
}
.fil-record-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #e3dce8; padding-bottom: 8px; }
.fil-record-tabs button {
  min-height: 40px; padding: 8px 10px; border: 1px solid transparent; border-radius: 6px;
  background: transparent; color: var(--detail-ink); font: 700 11px/1.3 Inter,system-ui;
}
.fil-record-tabs button[aria-selected="true"] {
  color: var(--detail-accent); background: color-mix(in srgb,var(--detail-accent) 10%,var(--detail-bg));
  border-color: color-mix(in srgb,var(--detail-accent) 25%,white);
}
.fil-record-section-choice { display: none; }
.fil-record-panel { min-width: 0; min-height: 0; overflow: hidden; }
.fil-record-page {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 8px; width: 100%; height: 100%;
  min-width: 0; min-height: 0; overflow: hidden; padding: 2px; box-sizing: border-box;
}
.fil-record-measure { position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none; overflow: visible; }
.fil-record-block {
  flex: 0 0 auto; margin: 0; min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  color: var(--detail-ink); font: inherit;
}
.fil-record-paragraph { white-space: pre-wrap; grid-column: 1 / -1; }
.fil-record-page:has(.fil-record-gallery-item) { display: flex; flex-direction:column; }
.fil-record-block:not(.fil-record-fact) { grid-column: 1 / -1; }
.fil-record-fact {
  display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
  border: 1px solid color-mix(in srgb,var(--detail-accent) 15%,white);
  background: color-mix(in srgb,var(--detail-accent) 3%,var(--detail-bg)); border-radius: 6px;
}
.fil-record-fact>i { color: var(--detail-accent); width: 18px; padding-top: 4px; flex: none; }
.fil-record-fact>div { min-width: 0; }
.fil-record-fact strong { font: 800 10px/1.4 Inter,system-ui; color: var(--detail-accent); display: block; }
.fil-record-fact :is(p,a) { display: block; margin: 3px 0 0; color: inherit; text-decoration: none; white-space: pre-wrap; }
.fil-record-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.fil-record-networks { display: flex; flex-wrap: wrap; gap: 8px; }
.fil-record-gallery-item { position: relative; height: 100%; width: 100%; min-height: 0; }
.fil-record-gallery-item img { display: block; width: 100%; height: 100%; object-fit: contain; }
.fil-record-gallery-item button { position: absolute; right: 8px; bottom: 8px; min-height: 44px; padding: 8px 12px; color: var(--detail-accent); background: #fffffff0; border: 1px solid #ddd; border-radius: 8px; }
.fil-record-pager { display: flex; justify-content: flex-end; align-items: center; gap: 12px; min-height: 44px; }
.fil-record-pager>span { min-width: 48px; text-align: center; font: 700 11px/1.4 Inter,system-ui; color: var(--detail-accent); }
.fil-record-pager button,.fil-record-navigation button {
  width: 44px; height: 44px; flex: none; border: 1px solid color-mix(in srgb,var(--detail-accent) 20%,white);
  background: var(--detail-bg); color: var(--detail-accent); border-radius: 7px;
}
.fil-record-view[data-reader-pages="1"] .fil-record-pager { visibility: hidden; }
.fil-record-actions {
  display: grid; grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 7px; padding: 9px 14px;
  border-top: 1px solid color-mix(in srgb,var(--detail-accent) 15%,white);
  background: color-mix(in srgb,var(--detail-accent) 5%,var(--detail-bg));
}
.fil-record-view .fil-record-action {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; max-width: 100%; padding: 9px 12px; margin: 0; border: 1px solid color-mix(in srgb,var(--detail-accent) 30%,white);
  border-radius: 7px; background: var(--detail-bg); color: var(--detail-accent); font: 750 12px/1.35 Inter,system-ui;
  text-decoration: none; white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.fil-record-actions .fil-record-action:first-child { background: var(--detail-accent); color: #fff; border-color: var(--detail-accent); }
.fil-record-footer {
  min-width:0;
  display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 3px 12px;
  border-top: 1px solid #ddd2e5; background: linear-gradient(110deg,var(--card-brand-from,#eee5f6),var(--card-brand-to,#e2edf4));
  color: var(--card-brand-ink,#443052);
}
.fil-record-navigation { display: flex; align-items: center; gap: 6px; flex: none; }
.fil-record-navigation>span { min-width: 36px; text-align: center; font: 700 10px/1.4 Inter,system-ui; }
.fil-record-signature { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; justify-content: flex-end; }
.fil-record-signature img { display: block; width: 34px; height: 30px; object-fit: contain; flex: none; }
.fil-record-signature>div { min-width: 0; }
.fil-record-signature p { margin: 0; font: 600 9px/1.4 Inter,system-ui; overflow-wrap: anywhere; }
.fil-record-signature a { color: inherit; font: 800 10px/1.5 Inter,system-ui; text-decoration: none; }
.fil-record-copy { max-width: 100%; width: 100%; min-height: 44px; }
#fil-fiche-zoom {
  position: fixed; inset: auto; z-index: 160; zoom: 1; margin: 0; padding: 0;
  max-width: none; max-height: none; border: 1px solid #d7cae2; border-radius: 0;
  overflow: hidden; color: #382c46; background: #f6f3fa;
}
#fil-fiche-zoom::backdrop { background: #22163038; }
#fil-fiche-zoom>header { height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 10px; background: #fff; border-bottom: 1px solid #ddd; }
#fil-fiche-zoom h2 { margin: 0; font: 700 13px/1.3 Inter,system-ui; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fil-fiche-zoom button { width: 44px; height: 44px; flex: none; border: 1px solid #d7cae2; background: #f4eef9; color: #634083; border-radius: 7px; font-size: 25px; cursor: pointer; }
#fil-fiche-zoom .fil-record-image-stage { display: grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); place-items: center; width: 100%; height: calc(100% - 52px); min-height: 0; padding: 8px; overflow:hidden; }
#fil-fiche-zoom .fil-record-image-stage img { display: block; min-height:0; min-width:0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.fil-mairie-complete .fil-record-view { height: min(700px,75dvh); min-height: 400px; border: 1px solid #ded4e4; }
.fil-mairie-complete .fil-record-toolbar,.fil-mairie-complete .fil-record-navigation { display: none; }
.fil-mairie-complete .fil-record-view { grid-template-rows: minmax(0,1fr) auto auto; }
@container (max-width:680px) {
  .fil-record-layout { display: flex; flex-direction: column; }
  .fil-record-summary {
    position: relative; display: grid; grid-template-columns: var(--record-mobile-photo,88px) minmax(0,1fr) 38px;
    flex: none; gap: 10px; align-items: center; padding: 10px 12px;
    border-right: 0; border-bottom: 1px solid color-mix(in srgb,var(--detail-accent) 15%,white);
  }
  .fil-record-cover { width: 100%; height: var(--record-mobile-photo,88px); }
  .fil-record-cover button { width: 36px; height: 36px; right: 0; bottom: 0; background: #ffffffba; }
  .fil-record-heading h2 { font-size: min(var(--record-title,27px),21px); margin-top: 5px; }
  .fil-record-heading small { font-size: 8px; letter-spacing: .025em; }
  .fil-record-mark { width: 38px; height: 34px; }
  .fil-record-symbol { height: 64px; min-height: 0; font-size: 32px; }
  .fil-record-page { grid-template-columns: minmax(0,1fr); }
  .fil-record-reader { flex: 1; padding: 10px 12px 4px; gap: 8px; }
  .fil-record-tabs { display: none; }
  .fil-record-section-choice { display: flex; align-items: center; gap: 8px; font: 750 10px/1.3 Inter,system-ui; color: var(--detail-accent); }
  .fil-record-section-choice select { flex: 1; min-width: 0; min-height: 44px; border: 1px solid color-mix(in srgb,var(--detail-accent) 25%,white); padding: 6px 10px; border-radius: 6px; color: var(--detail-ink); background: var(--detail-bg); font: 650 16px/1.3 Inter,system-ui; }
  .fil-record-actions { grid-template-columns: repeat(var(--record-action-cols,3),minmax(0,1fr)); gap: 5px; padding: 7px 10px; }
  .fil-record-actions .fil-record-action { padding: 6px 4px; gap: 5px; font-size: 11px; }
  .fil-record-footer { padding: 3px 9px; gap: 8px; }
  .fil-record-signature img { display: none; }
}
.fil-record-view[data-compact="true"] .fil-record-layout { display: grid; grid-template-columns: minmax(100px,28%) minmax(0,1fr); }
.fil-record-view[data-compact="true"] .fil-record-summary { display: flex; flex-direction: column; padding: 8px; gap: 5px; align-items: flex-start; }
.fil-record-view[data-compact="true"] .fil-record-cover { flex: 1; width: 100%; height: 0; }
.fil-record-view[data-compact="true"] .fil-record-heading h2 { font-size: 17px; }
.fil-record-view[data-compact="true"] :is(.fil-record-mark,.fil-record-symbol) { display: none; }
.fil-record-view[data-compact="true"] .fil-record-reader { grid-template-columns: minmax(0,1fr) auto; grid-template-rows:36px minmax(0,1fr); padding: 5px 9px 3px; gap: 4px; }
.fil-record-view[data-compact="true"] .fil-record-section-choice { grid-column:1; grid-row:1; }
.fil-record-view[data-compact="true"] .fil-record-pager { grid-column:2; grid-row:1; min-height:36px; gap:3px; }
.fil-record-view[data-compact="true"] .fil-record-pager button { width:36px; height:36px; }
.fil-record-view[data-compact="true"] .fil-record-panel { grid-column:1/-1; grid-row:2; }
.fil-record-view[data-compact="true"] .fil-record-page { grid-template-columns:minmax(0,1fr); }
.fil-record-view[data-compact="true"] .fil-record-fact { padding:4px 6px; gap:5px; }
.fil-record-view[data-compact="true"] .fil-record-fact strong { display:inline; }
.fil-record-view[data-compact="true"] .fil-record-fact strong:after { content:": "; }
.fil-record-view[data-compact="true"] .fil-record-fact :is(p,a) { display:inline; margin:0; }
.fil-record-view[data-compact="true"] .fil-record-fact>i { display:none; }
.fil-record-view[data-compact="true"] .fil-record-tabs { display: none; }
.fil-record-view[data-compact="true"] .fil-record-section-choice { display: flex; align-items: center; gap: 6px; }
.fil-record-view[data-compact="true"] .fil-record-section-choice>span { display: none; }
.fil-record-view[data-compact="true"] .fil-record-section-choice select { width: 100%; min-height: 36px; color: var(--detail-ink); background: var(--detail-bg); border: 1px solid #ddd; font: 650 13px/1.3 Inter,system-ui; }
.fil-record-view[data-compact="true"] .fil-record-toolbar { min-height: 44px; padding-block: 0; }
.fil-record-view[data-compact="true"] .fil-record-actions { display: flex; flex-wrap: wrap; padding: 4px 8px; gap: 4px; }
.fil-record-view[data-compact="true"] .fil-record-actions .fil-record-action { flex: 1 1 80px; min-height: 36px; padding: 5px; font-size: 10px; }
.fil-record-view[data-compact="true"] .fil-record-footer { min-height: 44px; }
.fil-record-view[data-compact="true"] .fil-record-signature p { display: none; }


@container(max-width:680px){
.fil-record-view[data-dense="true"] .fil-record-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.fil-record-view[data-dense="true"] .fil-record-actions .fil-record-action { min-height:44px;font-size:11px;padding:5px 3px; }
.fil-record-view[data-dense="true"] .fil-record-actions .fil-record-action>i { display:none; }
.fil-record-view[data-dense="true"]:not([data-compact="true"]) .fil-record-summary { --record-mobile-photo:64px; }
}
.fil-record-view[data-compact="true"]:not([data-extreme="true"]) .fil-record-reader { grid-template-columns:minmax(0,1fr); grid-template-rows:36px minmax(0,1fr)36px; }
.fil-record-view[data-compact="true"]:not([data-extreme="true"]) .fil-record-pager { grid-column:1;grid-row:3;justify-content:center; }
.fil-record-view[data-extreme="true"] .fil-record-footer { display:none; }
.fil-record-view[data-extreme="true"] .fil-record-top-navigation:not([hidden]) { display:flex; }
.fil-record-view[data-extreme="true"] .fil-record-toolbar { gap:5px; }
.fil-record-view[data-extreme="true"] .fil-record-toolbar .fil-card-category { max-width:160px; }
.fil-record-view[data-extreme="true"] .fil-record-back>span { display:none; }

/* En paysage très bas, les mêmes commandes de lecture rejoignent la barre du haut. */
.fil-record-view[data-extreme="true"] .fil-record-toolbar { flex-wrap:wrap; }
.fil-record-view[data-extreme="true"] .fil-record-toolbar .fil-card-meta { flex:0 1 180px; }
.fil-record-view[data-extreme="true"] .fil-record-reading-controls { display:flex;align-items:center;gap:8px;flex:1;min-width:220px; }
.fil-record-view[data-extreme="true"] .fil-record-reading-controls .fil-record-section-choice { display:flex;flex:1;min-width:0; }
.fil-record-view[data-extreme="true"] .fil-record-reading-controls .fil-record-pager { display:flex;gap:3px;min-height:36px; }
.fil-record-view[data-extreme="true"] .fil-record-reading-controls .fil-record-pager>span { min-width:40px; }
.fil-record-view[data-extreme="true"] .fil-record-reader { display:block;padding:3px 9px; }
.fil-record-view[data-extreme="true"] .fil-record-panel { width:100%;height:100%; }
.fil-record-view[data-extreme="true"] .fil-record-tabs { display:none; }
.fil-record-view[data-extreme="true"] .fil-record-cover { display:none; }
.fil-record-view[data-extreme="true"] .fil-record-summary { padding:2px 8px;justify-content:center; }
.fil-record-view[data-extreme="true"] .fil-record-heading small { display:none; }
.fil-record-view[data-extreme="true"] .fil-record-heading h2 { font-size:14px;margin:0;line-height:1.15; }
.fil-record-view[data-extreme="true"] .fil-record-block .fil-record-action { min-height:36px;padding:4px 8px; }
@container(max-width:680px){
.fil-record-view[data-extreme="true"] .fil-record-reading-controls { flex:1 0 100%;min-width:0; }
}


/* === module site-components.css === */
/* 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;
}


/* === module public-premium-v175.css === */
/* V175.1 : consolidation des règles de pages-refonte.css, anciennement chargées séparément en mode Premium. */
@charset "UTF-8";
/* Le Fil — refonte graphique des CONTENUS uniquement.
   Les éléments communs du site (#app-root > header, #bottom-navigation,
   #fil-desktop-ads, et le footer de navigation) ne sont jamais ciblés.
   Original reste original ; Néon Premium utilise les mêmes composants fonctionnels. */

/* -------- FICHE CONTINUE : 5 familles, y compris les événements -------- */
#modal-detail-content .fil-record-unified{--fil-u-border:#e2d6f0;}
#modal-detail-content .fil-record-unified .fil-u-scroll{scroll-behavior:smooth;}
#modal-detail-content .fil-record-unified .fil-u-hero-copy{gap:9px;}
#modal-detail-content .fil-record-event .fil-u-hero-image{background:radial-gradient(ellipse at 50% 40%,#34215c,#160e36);}
#modal-detail-content .fil-record-event .fil-u-hero-image img{object-fit:var(--record-media-fit,contain);}
#modal-detail-content .fil-record-event .fil-u-hero{min-height:210px;}
#modal-detail-content .fil-record-event .fil-u-event-highlights{display:flex;flex-wrap:wrap;align-items:center;gap:7px;position:relative;z-index:1;width:100%;margin-top:4px;}
#modal-detail-content .fil-record-event .fil-u-event-highlights span{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:11px;font-weight:750;line-height:1.3;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e7d8f4;color:#583b80;overflow-wrap:anywhere;}
#modal-detail-content .fil-record-event .fil-u-event-highlights i{color:#9f31ba;flex:none;}
#modal-detail-content .fil-record-unified .fil-u-section,
#modal-detail-content .fil-record-unified .fil-u-practical,
#modal-detail-content .fil-record-unified .fil-u-tools{border-radius:13px;}
#modal-detail-content .fil-record-unified .fil-u-action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:9px;align-items:stretch;padding:4px 0 10px;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action{width:100%!important;min-height:51px!important;max-width:none;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:9px 12px!important;border-radius:12px!important;font-size:11px!important;line-height:1.4!important;white-space:normal;transition:transform .16s,box-shadow .16s,border-color .16s!important;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action i{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:9px;background:#f2e7fa;color:#6f2eb0;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action:first-child i{background:#ffffff2b;color:inherit;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action:hover{transform:translateY(-2px)!important;box-shadow:0 7px 22px #42207825!important;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action[aria-pressed="true"]{border-color:#bd43a9!important;box-shadow:inset 0 0 0 1px #dd58b5!important;}
#modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action:focus-visible{outline:3px solid #fb9b40!important;outline-offset:3px!important;}
#modal-detail-content .fil-record-unified .fil-u-tools-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:stretch;gap:8px;}
#modal-detail-content .fil-record-unified .fil-u-tools-row .fil-record-block{min-width:0;}
#modal-detail-content .fil-record-unified .fil-u-tools-row .fil-record-action{width:100%!important;height:100%;min-height:39px!important;text-align:left;justify-content:flex-start;}
#modal-detail-content .fil-record-unified .fil-u-section-body>.fil-record-paragraph{color:inherit;font-size:13px;line-height:1.72;overflow-wrap:anywhere;}
#modal-detail-content .fil-record-unified .fil-u-practical .fil-record-fact{align-items:flex-start;}
#modal-detail-content .fil-record-unified .fil-u-brand-foot{border-radius:10px;}
@media(max-width:640px){
  #modal-detail-content .fil-record-event .fil-u-hero{height:auto!important;max-height:none!important;}
  #modal-detail-content .fil-record-event .fil-u-hero-image{height:180px!important;min-height:180px!important;}
  #modal-detail-content .fil-record-event .fil-u-hero-image img{object-fit:contain!important;}
  #modal-detail-content .fil-record-unified .fil-u-content{padding:12px!important;}
  #modal-detail-content .fil-record-unified .fil-u-action-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  #modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action{padding:8px!important;font-size:10px!important;}
  #modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action i{width:25px;height:25px;flex-basis:25px;}
}
@media(max-width:370px){#modal-detail-content .fil-record-unified .fil-u-action-row{grid-template-columns:1fr;}}

/* -------- NÉON PREMIUM : système chromatique commun -------- */
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view{
 --fil-action-main:linear-gradient(122deg,#672be0 0%,#c725a1 69%,#f27a40 100%);
 --fil-action-quiet:linear-gradient(140deg,#35205e,#22123d);
 --fil-action-border:#db72ef;
 --fil-action-text:#fff7ff;
 --fil-card-panel:linear-gradient(149deg,#251346,#120c2d);
 --fil-card-border:#8e49cb;
 --fil-page-ink:#fdf0ff;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v96-home,.fil-v97-agenda,.fil-editorial,.fil-v85-directory-page,.fil-directory-page,.fil-v85-home,.fil-v85-panel,.fil-custom-page,.fil-v84-panel){--page-accent:#ee4cbe;}
/* page headings and legible secondary text */
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v84-page-hero,.fil-v96-hero,.fil-ed-article-heading) :is(h1,h2,h3){color:#fff7ff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v97-list-heading,.fil-v85-section-title,.fil-ed-list-summary) :is(h1,h2,h3,strong){color:#fff3ff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v97-agenda,.fil-v85-directory-page,.fil-directory-page,.fil-editorial) :is(.fil-directory-title,.fil-directory-heading,.fil-directory-empty){color:#f8e9ff!important;}
/* Buttons: one consistent primary design, without changing onclick handlers. */
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(
 .fil-card-primary,.fil-public-open,.fil-v84-button:not(.secondary),.fil-v96-cta,.fil-v15-open,
 .fil-v97-propose,.fil-v97-agenda .fil-v97-propose,.fil-v85-actions a,.fil-ed-link,
 .fil-v97-reset,.fil-v85-home .fil-v85-text-link,.fil-ed-actions button,.fil-ed-actions a){
 background:var(--fil-action-main)!important;background-color:#7225c9!important;
 border:1px solid var(--fil-action-border)!important;border-radius:12px!important;
 color:var(--fil-action-text)!important;text-decoration:none!important;font-weight:800!important;
 text-shadow:0 1px 2px #10062980!important;
 box-shadow:inset 0 1px 0 #ffffff65,0 5px 15px #b42b9d55!important;
 transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-card-primary,.fil-public-open,.fil-v84-button,.fil-v96-cta,.fil-ed-link,.fil-v15-open) i,
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view .fil-card-actions :is(a,button) i{
 display:inline-grid;place-items:center;vertical-align:middle;flex:0 0 auto;
 width:25px;height:25px;border-radius:8px;background:#ffffff25;color:inherit!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(
 .fil-card-primary,.fil-public-open,.fil-v84-button,.fil-v96-cta,.fil-v15-open,
 .fil-v97-propose,.fil-v85-actions a,.fil-ed-link,.fil-v97-reset):hover{
 filter:brightness(1.1)!important;transform:translateY(-2px)!important;
 box-shadow:inset 0 1px 0 #ffffff65,0 8px 24px #e62cb387!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(
 .fil-card-primary,.fil-public-open,.fil-v84-button,.fil-v96-cta,.fil-v15-open,
 .fil-v97-propose,.fil-v85-actions a,.fil-ed-link,.fil-v97-reset):active{
 filter:brightness(.9)!important;transform:translateY(1px)!important;box-shadow:inset 0 3px 8px #0008!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(
 .fil-card-actions a,.fil-card-actions button:not(.fil-card-primary),.fil-v84-button.secondary,
 .fil-v97-mode button,.fil-v97-filter select,.fil-v97-search input,
 .fil-v85-toolbar button,.fil-v85-toolbar select,.fil-ed-next-card button){
 background:var(--fil-action-quiet)!important;border:1px solid #8d4bc2!important;
 color:#f9eaff!important;border-radius:10px!important;box-shadow:none!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v97-mode button[aria-pressed="true"],button[aria-pressed="true"].fil-v97-mode-choice){
 background:var(--fil-action-main)!important;border-color:#ffb8e9!important;color:#fff!important;
 box-shadow:0 0 0 2px #ef49bc3b!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){
 accent-color:#dc3dad;color-scheme:dark;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(button,a,input,select,textarea):focus-visible{
 outline:3px solid #ffb366!important;outline-offset:3px!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(button,a):disabled{opacity:.5!important;cursor:not-allowed!important;filter:grayscale(.3)!important;transform:none!important;}
/* all directory cards, event tiles and article list, excluding the rail outside main-view */
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(
 .fil-v87-event-card,.fil-v84-event-card,.fil-directory-card,.fil-v13-card,
 .fil-ed-card,.fil-v85-panel,.fil-v84-panel,.fil-v85-tile,.fil-portal-card){
 border-color:var(--fil-card-border)!important;box-shadow:0 7px 22px #05001670,inset 0 1px 0 #ffffff18!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v87-event-card,.fil-directory-card,.fil-ed-card):hover{
 box-shadow:0 12px 28px #050016b0,0 0 0 1px #d754d15e!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v87-event-card,.fil-directory-card,.fil-ed-card) :is(p,small,dd,dt){color:#ead6f8!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v87-event-card,.fil-directory-card,.fil-ed-card) :is(h2,h3,strong){color:#fff3ff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-v97-agenda-toolbar,.fil-v85-home-access,.fil-v85-panel,.fil-v85-tile,.fil-v84-panel){border-radius:17px!important;}
/* Article page: uninterrupted reading and legible text, not dark text on dark cards. */
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(.fil-ed-article-body,.fil-ed-article-heading){color:#f8eaff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view .fil-ed-article-body :is(p,li,h2,h3,strong){color:#f8eaff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view .fil-ed-article-body a{color:#ffb1db!important;text-underline-offset:3px;}
/* Only detail popup, which is outside #main-view in the app's actual DOM. */
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified{
 --fil-u-border:#a951d6;--fil-u-soft:#3a185b;--fil-card-panel:linear-gradient(149deg,#251346,#120c2d);
 background:#130a2e!important;color:#f8eaff!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-scroll{
 background:linear-gradient(145deg,#160c35,#1b0e38 54%,#100b29)!important;
 scrollbar-color:#a751dc #190b37;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-toolbar,
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-section,
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-practical,
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-tools{
 background:var(--fil-card-panel)!important;border-color:#8d45c1!important;color:#f8eaff!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-hero{
 background:linear-gradient(110deg,#281249,#150b33)!important;border-color:#ad46cc!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-hero-copy{
 background:radial-gradient(ellipse at 93% 8%,#aa2d9459,transparent 52%),linear-gradient(120deg,#2c1350,#1a0b38)!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-hero-copy :is(h2,.fil-u-kicker,.fil-u-hero-subtitle){color:#fff2ff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified :is(.fil-u-section,.fil-u-practical,.fil-u-tools)>h3{color:#ffc0ee!important;}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-record-paragraph,
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-record-fact :is(p,a,.fil-record-text){color:#f6e5ff!important;}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-record-fact{background:#231344!important;border-color:#653394!important;}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-record-fact strong{color:#ffa5dc!important;}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-event .fil-u-event-highlights span{
 background:#331852!important;color:#fff2ff!important;border-color:#a44ece!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action{
 background:linear-gradient(113deg,#5527cb,#b725a2 75%,#e9713f)!important;
 color:#fff!important;border:1px solid #ee83db!important;
 box-shadow:inset 0 1px 0 #ffffff3d,0 5px 16px #b72dab6a!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action i{
 background:#ffffff22!important;color:#fff!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-action-row>.fil-record-action:hover{
 background:linear-gradient(113deg,#713af1,#de32b5 75%,#ff904d)!important;color:#fff!important;
 box-shadow:0 9px 22px #e937b575!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-tools-row .fil-record-action{
 background:#352059!important;color:#fff2ff!important;border-color:#9a57d0!important;
}
html body.fil-pages-premium:not(.fil-theme-music) #modal-detail-content .fil-record-unified .fil-u-toolbar .fil-record-back{
 background:#321957!important;border-color:#af63d4!important;color:#fff0ff!important;
}
@media(prefers-reduced-motion:reduce){
 html body.fil-pages-premium:not(.fil-theme-music) #app-root #main-view :is(button,a){transition:none!important;}
 #modal-detail-content .fil-record-unified .fil-u-scroll{scroll-behavior:auto;}
}

/* V175 : styles Premium consolidés. */
/* Module : neon-premium-actuel.css */
/* Premium consolidé : anciens styles navigation et lecteur retirés en V157. */
/* ===== Composant : neon-premium-v139.css ===== */
@charset "UTF-8";
/* LE FIL DE PRADES-LE-LEZ — V139 / CHARTE NÉON PREMIUM AUTONOME
 * Exécutée UNIQUEMENT pour body.fil-pages-premium. Le mode Original est inchangé.
 * Périmètre : #main-view et #modal-detail-content (les fiches).
 * Ne cible jamais : header du site, menu de navigation global, footer, rail Vie locale ou admin.
 * Tous les liens, réglages Studio, formulaires et comportements JS originaux sont conservés.
 */
body.fil-pages-premium {
  --n39-night:#090a29;--n39-ink:#fdf8ff;--n39-muted:#dfd5f7;
  --n39-panel:#19133e;--n39-panel-2:#21164a;--n39-violet:#a957ff;
  --n39-pink:#ff42d5;--n39-cyan:#38cdff;--n39-line:#ab66ff;
  --n39-glow:0 0 18px #bf36ff64,0 9px 27px #02051a9c;
  --n39-card:linear-gradient(143deg,#32205bbb,#17143deb 51%,#101431f5);
  --n39-action:linear-gradient(113deg,#6723c4 0%,#a91bf0 55%,#f032ca 100%);
}
html body.fil-pages-premium #app-root #main-view{
  --identity-surface:#15123c;--identity-accent:#b65aff;--page-ink:#faf4ff;
  --page-bg:#0b0c2a;--page-bg-to:#18103f;--page-accent:#f74bdb;
  --fil-u-soft:#291b59;--fil-u-border:#8059c5;
  min-width:0; color:var(--n39-ink)!important; color-scheme:dark;
  background:radial-gradient(ellipse at 80% 1%,#632ebd4f,transparent 42%),
    radial-gradient(ellipse at 8% 68%,#431da641,transparent 56%),
    linear-gradient(160deg,#0a0a2c 0%,#141039 45%,#0a0e2b 100%)!important;
  text-rendering:optimizeLegibility;font-synthesis:none;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-page-content,.fil-editorial,.fil-v97-agenda,.fil-directory-page,.fil-v85-directory-page,.fil-mairie-page,.fil-v85-home,.fil-v96-home,.fil-v85-menu,.fil-custom-page){color:var(--n39-ink)!important;min-width:0}
html body.fil-pages-premium #app-root #main-view :is(h1,h2,h3,h4,h5,strong){color:#fff9ff!important;text-shadow:0 1px 17px #40178a38}
html body.fil-pages-premium #app-root #main-view :is(p,li,small,dd,dt,em,.fil-card-meta,.fil-record-paragraph){color:var(--n39-muted)!important}
html body.fil-pages-premium #app-root #main-view :is(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent}
html body.fil-pages-premium #app-root #main-view :is(a,button,input,select,textarea):focus-visible,
html body.fil-pages-premium #modal-detail-content :is(a,button,input,select,textarea):focus-visible{outline:3px solid #82e8ff!important;outline-offset:3px!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-panel,.fil-v84-panel,.fil-v85-about,.fil-v85-contact,.fil-v85-favorites-help,.information-block,.fil-directory-empty,.fil-ed-list-summary,.fil-v97-agenda-toolbar,.fil-directory-toolbar,.fil-search-panel,.resto-search-panel,.fil-v27-spotlight,.fil-v27-feature-ad){
 color:var(--n39-ink)!important;background:linear-gradient(143deg,#28164ccc,#111333f4)!important;
 border:1px solid #8954c1!important;border-radius:16px!important;
 box-shadow:inset 0 1px #ffffff20,0 12px 28px #03041b6e!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-panel,.fil-v84-panel,.fil-v85-about,.fil-v85-contact,.information-block,.fil-directory-toolbar,.fil-v97-agenda-toolbar) :is(h2,h3,strong,p,small){color:inherit!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-panel,.fil-v84-panel,.fil-v85-about,.fil-v85-contact,.information-block,.fil-directory-toolbar,.fil-v97-agenda-toolbar) :is(h1,h2,h3,strong){color:#fff9ff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-page-content,.fil-editorial,.fil-directory-page,.fil-v97-agenda,.fil-v96-home,.fil-v85-home):not(.fil-grid-host){
 max-width:100%!important;overflow-wrap:break-word;
}
/* Une typographie nette, jamais de flou par zoom/transform sur les textes. */
html body.fil-pages-premium #app-root #main-view :is(h1,h2,h3,p,small,strong,span){filter:none!important;backface-visibility:visible;transform-style:flat}
html body.fil-pages-premium #app-root #main-view :is(input,textarea,select){
 background:#131637!important;color:#fffaff!important;border:1px solid #9662d7!important;
 border-radius:11px!important;min-height:43px;color-scheme:dark!important;
}
html body.fil-pages-premium #app-root #main-view :is(input,textarea)::placeholder{color:#c7b9df!important;opacity:1}
html body.fil-pages-premium #app-root #main-view option{background:#18143a;color:#fff}
/* Toutes les actions publiques : grammaire commune avec nuances secondaires. */
html body.fil-pages-premium #app-root #main-view :is(.fil-card-primary,.fil-public-open,.fil-v84-button,.fil-v15-open,.fil-v97-propose,.fil-ed-link,.fil-v97-reset,.fil-v85-actions a,.fil-v85-about>a,.fil-v85-break>a,.fil-v85-favorites-help>a,.fil-v85-contact button,.fil-portal-card>span:last-child,.fil-ad-form-actions button,.fil-v27-spotlight-nav button){
 background:var(--n39-action)!important;border:1px solid #f573f2!important;border-radius:10px!important;
 color:#fff!important;text-shadow:none!important;box-shadow:inset 0 1px #ffffff55,0 0 14px #d433e972!important;
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-card-primary,.fil-public-open,.fil-v84-button,.fil-v15-open,.fil-v97-propose,.fil-ed-link,.fil-v85-actions a,.fil-v85-about>a,.fil-v85-break>a,.fil-v85-contact button):hover{
 transform:translateY(-2px)!important;box-shadow:0 6px 22px #d22bee99!important;border-color:#ffc4ff!important;
}
/* REPRÉSENTATION COMMUNE DES BANDEAUX — chaque rubrique a son image, pas d'aplat blanc */
html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero{
 width:calc(100% - 40px)!important;margin:20px 20px 0!important;
 border:1px solid #df7bff!important;border-radius:20px!important;
 min-height:248px!important;padding:24px 33px!important;gap:20px!important;
 background:radial-gradient(ellipse at 75% 18%,#a42add69,transparent 55%),
  linear-gradient(106deg,#140d42 0%,#292064 51%,#100f3e 100%)!important;
 box-shadow:inset 0 1px #ffffff6b,0 0 16px #ad31fe75,0 13px 27px #02071cae!important;
 position:relative;overflow:hidden;isolation:isolate;
}
html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero:not(.fil-v98-menu-hero)::before{
 content:"";position:absolute;inset:auto -2% -2px -2%;height:55px;
 background:linear-gradient(170deg,transparent 32%,#d63bfb 34%,#48caff 36%,transparent 38%)!important;
 filter:drop-shadow(0 0 6px #ca38ffb5);opacity:.65;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view .fil-v84-page-hero :is(h1,h2){
 font-family:Outfit,Inter,system-ui!important;font-size:clamp(30px,3.4vw,53px)!important;
 font-weight:850!important;line-height:1.07!important;color:#fff!important;
 letter-spacing:-.052em!important;text-shadow:0 3px 14px #060927a8!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v84-page-hero small{
 color:#72eaff!important;letter-spacing:.19em!important;font-weight:850!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v84-page-hero p{color:#f4e8ff!important;font-size:clamp(12px,1.2vw,16px)!important;line-height:1.5!important}
html body.fil-pages-premium #app-root #main-view .fil-v84-page-hero figure{
 position:relative;background:radial-gradient(circle at 35% 25%,#6233a06e,#16103985)!important;
 border:1px solid #8b6bce!important;border-radius:13px!important;z-index:1;
 box-shadow:0 0 12px #923be169!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v84-page-hero figure img{object-fit:contain!important;transform:none!important;filter:drop-shadow(0 3px 10px #07072577)!important}
/* MENU : reproduction des proportions / rangées / contours / ambiance de la référence. */
html body.fil-pages-premium #app-root #main-view[data-page="menu"]{
 background:radial-gradient(ellipse at 48% 43%,#24205d44,transparent 74%),linear-gradient(#090b2d,#0d1034 85%,#14123e)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{
 width:calc(100% - 34px)!important;margin:17px 17px 0!important;
 padding:31px 54px!important;min-height:280px!important;
 border:1.5px solid #ee96ff!important;border-radius:22px!important;
 background:radial-gradient(circle at 86% 30%,#822cdf60,transparent 32%),
  linear-gradient(110deg,#150b46 5%,#1c0f5e 45%,#25126c 95%)!important;
 box-shadow:inset 0 2px #ffffff65,0 0 24px #df33f087,0 12px 35px #08041bb3!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero::after{
 content:"";position:absolute;z-index:1;inset:auto -4% -5px 20%;height:45%;
 background:radial-gradient(ellipse at 35% 86%,#e632ffec 0 1.5px,transparent 4px),
  radial-gradient(ellipse at 42% 84%,#3dccffce 0 2px,transparent 5px),
  linear-gradient(164deg,transparent 52%,#f04cf5 53%,#48d5ff 54%,transparent 55%);
 filter:drop-shadow(0 0 8px #d939ff);pointer-events:none;opacity:.88;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy{position:relative;z-index:3;width:58%;max-width:700px!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy>small{font:850 10px/1.3 Inter,system-ui!important;color:#7defff!important;letter-spacing:.24em!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy>small::after{content:"";display:inline-block;vertical-align:middle;width:68px;height:2px;background:#fe55f6;box-shadow:0 0 10px #ff39e9;margin-left:16px}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy h1{
 margin:15px 0 11px!important;font:900 clamp(42px,4.7vw,75px)/.96 Outfit,Inter,system-ui!important;
 letter-spacing:-.053em!important;text-shadow:0 5px 21px #080620!important;color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy h1>span:last-child{
 color:#dda0ff!important;text-shadow:0 0 14px #ca36fa85!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy>p{font:500 clamp(12px,1.22vw,17px)/1.46 Inter,sans-serif!important;color:#fff!important;max-width:475px!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-landscape{
 background-image:linear-gradient(90deg,#17104400,#200d5733),url("/assets/visuels/accueil/village-panorama.webp")!important;
 background-size:cover!important;background-position:center 42%!important;opacity:.92!important;
 -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 40%);mask-image:linear-gradient(90deg,transparent 2%,#000 40%);
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-poster{
 right:4.8%!important;top:5%!important;width:16.7%!important;max-width:218px!important;height:88%!important;
 transform:rotate(-7deg)!important;z-index:3!important;
 box-shadow:0 0 0 3px #fcd4ff,0 0 16px #ff3bed,0 14px 30px #02031dba!important;
 border-radius:4px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-poster img{
 width:100%!important;height:100%!important;object-fit:cover!important;border-radius:3px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-poster::before{display:none!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu{
 width:100%!important;max-width:none!important;padding:17px 30px 130px!important;gap:13px!important;
 position:relative!important;z-index:1!important;
 background:transparent!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu::after{
 content:"";display:block;height:126px;position:absolute;left:0;right:0;bottom:0;pointer-events:none;
 background:linear-gradient(0deg,#110b36 1%,transparent 90%),url("/assets/visuels/menu/frise-village.webp") bottom center/100% auto no-repeat;
 opacity:.89;z-index:-1;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-width:0}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head{
 display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 11px!important;padding:0 9px!important;min-height:50px;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-symbol{
 display:grid!important;place-items:center!important;background:none!important;border:0!important;
 width:39px!important;height:39px!important;flex:0 0 39px!important;
 font-size:28px!important;color:#fa68ff!important;filter:drop-shadow(0 0 7px #ee33ff);
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group:nth-of-type(1) .fil-v98-menu-group-symbol{color:#d27bff!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group:nth-of-type(2) .fil-v98-menu-group-symbol{color:#fc79ef!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group:nth-of-type(3) .fil-v98-menu-group-symbol{color:#e57bff!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-heading{flex:1;min-width:0}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head h2{
 font:850 clamp(21px,2vw,30px)/1.08 Outfit,Inter,system-ui!important;
 letter-spacing:-.03em!important;color:#fff!important;margin:0 0 4px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head p{font:400 11px/1.36 Inter,sans-serif!important;color:#ded8f7!important;margin:0!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-count{
 min-width:103px!important;min-height:28px!important;padding:5px 14px!important;
 font:800 10px/1.3 Inter,sans-serif!important;color:#fff!important;
 border:1px solid #d953ff!important;border-radius:30px!important;
 background:linear-gradient(100deg,#24115da6,#48066a94)!important;
 box-shadow:inset 0 1px #ffffff30,0 0 11px #d03cff68!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid,
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact,
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v85-menu-group[data-tile-count="3"] .fil-v98-menu-grid{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important;
}
html body.fil-pages-premium #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}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card{
 --n39-tile-glow:#b955fb;--n39-tile-a:#241446;--n39-tile-b:#15143c;
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;
 gap:13px!important;position:relative!important;isolation:isolate!important;
 width:100%!important;min-width:0!important;min-height:94px!important;padding:12px 13px!important;
 border:1px solid #967ad5!important;border-radius:13px!important;
 color:#fff!important;background:radial-gradient(ellipse at 100% 120%,var(--n39-tile-glow),transparent 65%),
 linear-gradient(135deg,var(--n39-tile-a),var(--n39-tile-b))!important;
 box-shadow:inset 0 1px #ffffff30,0 4px 12px #03051c73!important;
 overflow:hidden!important;transition:transform .2s,border-color .2s,box-shadow .2s!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card::before{
 content:"";position:absolute;z-index:-1;right:-14px;top:-33px;width:112px;height:100px;
 border:2px solid currentColor;border-radius:45%;transform:rotate(-30deg);
 background:none!important;box-shadow:0 0 27px var(--n39-tile-glow);opacity:.15;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card::after{
 position:absolute;z-index:-1;right:28px;top:5px;font:900 60px/1 "Font Awesome 6 Free"!important;
 color:var(--n39-tile-glow)!important;opacity:.23!important;background:none!important;
 transform:rotate(-17deg)!important;pointer-events:none;border-radius:0!important;width:auto!important;height:auto!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-associations::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-commerces::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-restauration::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-services::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-le-fil::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-agenda::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-mairie::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-favoris::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-musique::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-meteo::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-horloge::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-accueil::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-histoire::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-mentions::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card:is(:hover,:focus-visible){transform:translateY(-3px)!important;border-color:#ffc6ff!important;box-shadow:inset 0 1px #ffffff55,0 0 19px var(--n39-tile-glow),0 11px 25px #05041a!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-icon{
 display:grid!important;place-items:center!important;flex:0 0 48px!important;
 width:48px!important;height:48px!important;margin:0!important;border-radius:12px!important;
 background:linear-gradient(140deg,#ffffff75,transparent 26%),linear-gradient(125deg,var(--n39-tile-glow),#5722af)!important;
 border:1px solid #ffffff86!important;color:#fff!important;font-size:23px!important;
 box-shadow:inset 0 1px #ffffff69,0 0 13px var(--n39-tile-glow)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy{flex:1!important;min-width:0!important;display:block!important;margin:0!important;padding:0 20px 0 0!important;position:relative;z-index:2}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy strong{
 color:#fff!important;font:800 clamp(15px,1.24vw,20px)/1.16 Outfit,Inter,system-ui!important;
 letter-spacing:-.025em!important;text-shadow:0 1px 9px #08062aaa!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy small{
 display:block!important;margin:5px 0 0!important;color:#f0eaff!important;
 font:500 clamp(9px,.84vw,11px)/1.28 Inter,system-ui!important;text-shadow:0 1px 6px #080928!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-arrow{
 position:absolute!important;right:10px!important;bottom:10px!important;z-index:4;
 width:29px!important;height:29px!important;border-radius:50%!important;
 display:grid!important;place-items:center!important;background:linear-gradient(130deg,#5e32c1,var(--n39-tile-glow))!important;
 color:#fff!important;border:1px solid #d7a7ff!important;box-shadow:0 0 10px var(--n39-tile-glow)!important;font-size:13px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-associations{--n39-tile-glow:#08bda5;--n39-tile-a:#07535d;--n39-tile-b:#102e43}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-commerces{--n39-tile-glow:#fa884c;--n39-tile-a:#5e2b28;--n39-tile-b:#30203d}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-restauration{--n39-tile-glow:#ef48b5;--n39-tile-a:#5b2355;--n39-tile-b:#2d174e}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-services{--n39-tile-glow:#22bffc;--n39-tile-a:#173d76;--n39-tile-b:#17275b}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-le-fil{--n39-tile-glow:#8853fa;--n39-tile-a:#40236e;--n39-tile-b:#30174d}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-agenda{--n39-tile-glow:#ff41cb;--n39-tile-a:#76266e;--n39-tile-b:#451d5c}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-mairie{--n39-tile-glow:#38d5ff;--n39-tile-a:#125478;--n39-tile-b:#233767}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-favoris{--n39-tile-glow:#fa50b7;--n39-tile-a:#62305f;--n39-tile-b:#411c52}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-musique{--n39-tile-glow:#b55aff;--n39-tile-a:#4f2a78;--n39-tile-b:#2d1e65}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-meteo{--n39-tile-glow:#4bc9ff;--n39-tile-a:#204178;--n39-tile-b:#263467}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-horloge{--n39-tile-glow:#ff9f4b;--n39-tile-a:#603966;--n39-tile-b:#322456}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] :is(.fil-v98-menu-accueil,.fil-v98-menu-histoire,.fil-v98-menu-mentions){--n39-tile-glow:#8e55fb;--n39-tile-a:#463075;--n39-tile-b:#25254f}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game{
 min-height:99px!important;background:radial-gradient(circle at 85% 38%,#ec3df5b6,transparent 47%),linear-gradient(100deg,#310b83,#8509ad 70%,#ad21e5)!important;
 border-color:#fa88ff!important;box-shadow:0 0 21px #d51eff9e,inset 0 1px #ffffff73!important;flex-direction:row!important;gap:12px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game::after{display:none!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game>img{
 display:block!important;position:relative!important;left:auto!important;top:auto!important;right:auto!important;
 width:85px!important;height:90px!important;max-width:40%!important;object-fit:contain!important;filter:drop-shadow(0 0 9px #ef65ff)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-game-copy{padding:0 17px 0 0!important;gap:4px!important;z-index:2!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game strong{font:850 clamp(17px,1.6vw,23px)/1.15 Outfit,Inter,sans-serif!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game small{font:500 10px/1.28 Inter,sans-serif!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card{
 flex-direction:row!important;align-items:center!important;gap:10px!important;min-height:73px!important;padding:9px 12px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-icon{flex-basis:39px!important;width:39px!important;height:39px!important;font-size:19px!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-copy strong{font-size:16px!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-arrow{position:static!important;flex:none!important;margin-left:auto}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{
 width:100%!important;display:grid!important;grid-template-columns:70px minmax(0,1fr) auto!important;
 align-items:center!important;gap:14px!important;margin:5px 0 0!important;padding:17px 22px!important;
 color:#fff!important;border:1px solid #e469ff!important;border-radius:16px!important;
 background:radial-gradient(circle at 2% 5%,#7c21f67a,transparent 26%),linear-gradient(120deg,#28155f,#2a176f 68%,#0d2463)!important;
 box-shadow:0 0 18px #b937fb73,0 10px 24px #0905228c!important;isolation:isolate;overflow:hidden;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-contact::before{
 content:"";position:absolute;inset:auto -10px 0 35%;height:65%;background:linear-gradient(151deg,transparent 33%,#f043ff 34%,#62dfff 35%,transparent 36%);
 filter:drop-shadow(0 0 9px #d02cf8);opacity:.6;z-index:-1;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-icon{
 width:64px!important;height:64px!important;background:linear-gradient(130deg,#b32bd7,#6825c5)!important;
 color:#fff!important;border:1px solid #ec9cff!important;box-shadow:0 0 16px #e32bfc70!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-text>small{color:#e7bdff!important;letter-spacing:.2em!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-text h2{font:850 clamp(18px,2vw,26px)/1.1 Outfit,Inter!important;color:#fff!important;margin:3px 0 5px!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-text p{font-size:11px!important;color:#f4dfff!important;line-height:1.35!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important;grid-column:auto!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{
 min-height:44px!important;max-width:164px!important;padding:9px 13px!important;font:750 10px/1.24 Inter!important;
 background:linear-gradient(125deg,#6d2bcf,#9e23d6)!important;border:1px solid #d87af6!important;
 color:#fff!important;border-radius:10px!important;box-shadow:0 0 13px #ba2bf171!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button:nth-child(2){background:linear-gradient(110deg,#045d8a,#128cbb)!important;border-color:#3fd5ff!important;box-shadow:0 0 12px #159bfa87!important}
html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button:nth-child(3){background:linear-gradient(110deg,#24175e,#3e2a97)!important;border-color:#b95efa!important}
/* ACCUEIL : organiser les modules comme sur la capture de référence (bandeau, à la une, événements, jeu, accès, informations). */
html body.fil-pages-premium #app-root #main-view .fil-v96-home:not(.fil-grid-host){
 background:transparent!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
 gap:13px!important;padding:14px clamp(12px,2.2vw,27px) 42px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home:not(.fil-grid-host)>*{min-width:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero{
 grid-column:1/-1!important;min-height:265px!important;width:100%!important;margin:0!important;
 background:linear-gradient(108deg,#0f0a37 0%,#1c0e54 55%,#251d68)!important;
 border:1px solid #d77bff!important;border-radius:19px!important;box-shadow:0 0 17px #af2df978,inset 0 1px #ffffff65!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero-art{
 background-image:linear-gradient(89deg,#0d0c30 5%,#120d39b3 37%,#100d3910 78%),url("/assets/visuels/accueil/village-panorama.webp")!important;
 background-position:center!important;background-size:cover!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero-glow{
 background:radial-gradient(ellipse at 2% 6%,#a937e65a,transparent 48%),linear-gradient(0deg,#e43cfe43,transparent 25%)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero h1{
 font:900 clamp(31px,3.4vw,57px)/1.01 Outfit,Inter!important;letter-spacing:-.045em!important;color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero h1 span{color:#ee8bff!important;text-shadow:0 0 15px #f34feb81!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-overline{color:#6eeaff!important;letter-spacing:.21em!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home :is(.fil-v96-hero-subtitle,.fil-v96-hero-handwriting){color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-cta{
 min-height:40px!important;background:linear-gradient(135deg,#2a155f,#150e39)!important;border:1px solid #8f53dd!important;
 color:#fff!important;border-radius:10px!important;box-shadow:inset 0 1px #ffffff32,0 0 10px #7232d85d!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-cta-main{background:linear-gradient(115deg,#642ad7,#ad25d8 70%,#e834c7)!important;border-color:#f47cff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v15-carousel.fil-featured{
 order:1!important;grid-column:1/-1!important;margin:0!important;padding:12px!important;
 border:1px solid #7b58f3!important;border-radius:17px!important;
 background:radial-gradient(ellipse at 45% 0%,#5226bb5b,transparent 66%),#111339!important;
 box-shadow:0 0 15px #7b47f653!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-heading h2{color:#fff!important;font-size:clamp(23px,2.1vw,32px)!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-eyebrow{color:#fa92ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-stage{border:1px solid #ba69ff!important;border-radius:12px!important;box-shadow:0 0 15px #f02ada40!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-picture img{object-fit:cover!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-nav .fil-v15-step-track{background:#5b487f!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v15-nav .fil-v15-step-track.is-active{background:#ff3cdf!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-events{
 order:2!important;grid-column:1/-1!important;margin:0!important;padding:14px!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v85-section-title h2{color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v85-section-title small{color:#ff89f3!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v85-event-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v87-event-card{
 background:linear-gradient(145deg,#28154e,#111735)!important;border:1px solid #9259d8!important;
 border-radius:13px!important;color:#fff!important;box-shadow:0 0 10px #7d46e345!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-event-heading h2{color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-event-facts :is(dd,dt){color:#f0e9ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-event-date{background:linear-gradient(130deg,#692ad9,#e82ebf)!important;color:#fff!important;border-color:#ed8aff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo{
 order:3!important;grid-column:1/-1!important;margin:0!important;min-height:100px!important;
 padding:17px 25px 17px 23%!important;position:relative!important;isolation:isolate!important;
 background:radial-gradient(circle at 50% 10%,#c521e576,transparent 50%),linear-gradient(110deg,#270e53,#45126d 60%,#1b174c)!important;
 border:1px solid #e778ff!important;border-radius:15px!important;
 box-shadow:0 0 17px #e334fb63!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo::before{
 content:"";position:absolute;inset:-6px auto -6px 2%;width:22%;background:url("/assets/serpent/mascotte-rose.webp") center/contain no-repeat;pointer-events:none;
 filter:drop-shadow(0 0 11px #ff51ff);z-index:-1;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo::after{
 content:"";font:900 70px "Font Awesome 6 Free";position:absolute;right:20%;top:10%;color:#9f67ff;opacity:.4;
 filter:drop-shadow(0 0 6px #ca59ff);z-index:-1;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-home-access{
 order:4!important;grid-column:1/-1!important;padding:5px 0!important;margin:0!important;
 border:0!important;background:transparent!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v85-section-title h2{color:#fff!important;font-size:clamp(20px,2vw,29px)!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v85-home-access .fil-portal-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-portal-card{
 border:1px solid #a36bf0!important;border-radius:12px!important;
 background:radial-gradient(ellipse at 100% 100%,#8733f95e,transparent 60%),linear-gradient(120deg,#342066,#13173d)!important;
 box-shadow:inset 0 1px #ffffff34,0 0 11px #9043e04d!important;
 color:#fff!important;min-height:80px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-portal-card .fil-v85-tile-icon{
 width:43px!important;height:43px!important;border-radius:11px!important;background:linear-gradient(120deg,#6130d9,#d928cf)!important;
 color:#fff!important;border:1px solid #fa93ff!important;box-shadow:0 0 12px #de2cf477!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-portal-card :is(strong,h3,small,p){color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-mairie,
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-news,
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-weather{
 order:5!important;grid-column:span 2!important;min-height:177px!important;
 background:linear-gradient(124deg,#261349f0,#151637eb)!important;
 border:1px solid #855bd0!important;color:#fff!important;
 box-shadow:inset 0 1px #ffffff2d,0 0 10px #6e55e83b!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-mairie{
 background:linear-gradient(90deg,#17143dfa 0%,#17143dec 55%,#17143d62 91%),url("/assets/visuels/accueil/mairie-prades.webp") right center/auto 100% no-repeat!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-weather{
 background:radial-gradient(circle at 98% 4%,#148ccc91,transparent 58%),linear-gradient(120deg,#151947,#101c40)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home :is(.fil-v85-mairie,.home-news,.home-weather) :is(h2,small,p,a){color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-about{
 order:6!important;grid-column:1/-1!important;min-height:105px!important;padding:18px 28px!important;
 background:linear-gradient(120deg,#472073,#1b1b55 80%,#482f85)!important;
 border:1px solid #e268ff!important;border-radius:14px!important;
 box-shadow:0 0 16px #ed4be955!important;
}
/* ANNUAIRES : associations, commerces, restaurants, services — cartes et barre de recherche. */
html body.fil-pages-premium #app-root #main-view :is(.fil-v87-directory,.fil-directory-card,.fil-public-card,.fil-v87-event-card,.fil-record-card,.fil-service-card,.fil-commerce-card,.fil-association-card){
 background:var(--n39-card)!important;border:1px solid #9564d8!important;border-radius:15px!important;
 color:#fff!important;box-shadow:inset 0 1px #ffffff21,0 7px 18px #05062372!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-v87-directory,.fil-directory-card,.fil-public-card,.fil-v87-event-card):is(:hover,:focus-within){border-color:#f480ff!important;box-shadow:0 0 19px #ad37fb65!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v87-directory,.fil-v87-event-card) :is(.fil-card-heading,.fil-card-brand-foot,.fil-event-body,.fil-card-actions){background:transparent!important;color:#fff!important;border-color:#6b48b0!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v87-directory,.fil-v87-event-card) :is(.fil-card-heading h3,.fil-event-heading h2,.fil-card-copy p,.fil-card-copy small,.fil-card-brand-foot p,.fil-card-brand-foot a){color:#fff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-card-category,.fil-card-heart,.fil-card-contact a,.fil-event-facts>div,.fil-event-date){background:#35235e!important;color:#fff!important;border:1px solid #9361d6!important;border-radius:9px!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-directory-toolbar,.fil-v97-agenda-toolbar,.fil-search-panel,.resto-search-panel){
 display:flex;flex-wrap:wrap;align-items:center;gap:12px!important;padding:17px!important;
 background:linear-gradient(115deg,#301d61,#19143e)!important;
 border:1px solid #9956dc!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-directory-toolbar,.fil-v97-agenda-toolbar) :is(label,span,small){color:#efe4ff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-directory-toolbar,.fil-v97-agenda-toolbar) :is(input,select){min-height:44px!important;background:#111735!important;color:#fff!important;border:1px solid #a767dd!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-directory-empty,.fil-v85-favorites-help) :is(h2,p){color:#fff!important}
/* ACTUALITÉS ET ARTICLES : même cadre sombre, hiérarchie et métadonnées contrastées. */
html body.fil-pages-premium #app-root #main-view :is(#fil-ed-grid>.fil-ed-card,.fil-ed-card,.fil-ed-article,.fil-ed-list-summary,.fil-editorial .fil-ed-article-heading,.fil-ed-next-card){
 background:var(--n39-card)!important;color:#fff!important;border:1px solid #8b56ca!important;border-radius:15px!important;box-shadow:0 7px 18px #0804206f!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-ed-article,.fil-ed-card,.fil-ed-list-summary) :is(h1,h2,h3,p,small,.fil-ed-card-body,.fil-ed-card-title,.fil-ed-card-text){color:#f8efff!important;background:transparent!important}
html body.fil-pages-premium #app-root #main-view .fil-ed-card-image img{object-fit:cover!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-ed-article,.fil-ed-next-card) img{object-fit:contain!important}
/* MAIRIE, MÉTÉO, HORLOGES, FAVORIS, HISTOIRE, MENTIONS, SERPENT, MUSIQUE. */
html body.fil-pages-premium #app-root #main-view :is(.fil-mairie-page>header,.fil-mairie-reperes,.fil-mairie-complete,.fil-record-unified,.fil-v54-clock-stage,.fil-v54-clock-info,.fil-v54-clock-card,.fil-v85-favorites-help,.fil-custom-page,.fil-met-weather,.fil-meteo-page,.fil-v53-meteo-page,.fil-v53-forecast-card){
 background:linear-gradient(140deg,#29194f,#121437)!important;border:1px solid #9059d0!important;color:#fff!important;border-radius:16px!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-mairie-page,.fil-mairie-complete,.fil-v54-clock-stage,.fil-v54-clock-card,.fil-v85-favorites-help,.fil-custom-page) :is(h1,h2,h3,p,small,li){color:#f5ebff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-record-fact,.fil-u-section,.fil-u-tools,.fil-u-practical,.fil-v54-clock-info,.fil-v54-clock-card,.fil-v54-clock-lead,.fil-u-toolbar,.fil-u-hero){background:#292049!important;border-color:#865ec8!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-mairie-complete,.fil-record-unified) :is(.fil-u-scroll,.fil-u-content){background:linear-gradient(155deg,#15153d,#251846)!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v27-spotlight-card,.fil-v27-spotlight-stage,.fil-v27-spotlight-nav button){background:linear-gradient(140deg,#382260,#21173f)!important;color:#fff!important;border:1px solid #ab74e5!important;border-radius:12px!important}
html body.fil-pages-premium #app-root #main-view .fil-v27-spotlight-card :is(strong,small){color:#fff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-ad-inline,.fil-ad-live-preview,.fil-ad-form-actions,.fil-ad-file-preview,.fil-ad-images){background:linear-gradient(130deg,#2b1c4d,#131638)!important;color:#fff!important;border:1px solid #9d65d1!important;border-radius:12px!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-ad-inline,.fil-ad-form-body) :is(label,legend,small,p){color:#f4ebff!important}
/* FICHES / modales : CSS réellement autonome, ne s'applique jamais à l'Original. */
html body.fil-pages-premium #modal-detail-content{
 --detail-bg:#141338;--detail-ink:#fff6ff;--detail-accent:#e45cff;
 --fil-u-soft:#302151;--fil-u-border:#955cd2;
 background:linear-gradient(140deg,#25164c,#101333)!important;border:1px solid #bf72ff!important;
 border-radius:17px!important;box-shadow:0 15px 49px #010316cf,0 0 20px #aa35fa73!important;
 color:#fff!important;color-scheme:dark;
}
html body.fil-pages-premium #modal-detail-content :is(.fil-record-view,.fil-record-unified,.fil-u-scroll,.fil-u-content,.fil-record-reader,.fil-record-summary){
 background:linear-gradient(150deg,#221544,#121436)!important;color:#fff!important;
}
html body.fil-pages-premium #modal-detail-content :is(.fil-record-toolbar,.fil-record-footer,.fil-record-tabs,.fil-u-tools,.fil-u-practical,.fil-u-section,.fil-record-fact,.fil-u-hero){
 color:#fff!important;background:linear-gradient(130deg,#34235c,#1a153f)!important;border-color:#9162d7!important;border-radius:12px!important;
}
html body.fil-pages-premium #modal-detail-content :is(h1,h2,h3,h4,h5,strong,dt,dd,p,li,small,.fil-record-paragraph,.fil-record-text){color:#fff4ff!important}
html body.fil-pages-premium #modal-detail-content :is(.fil-record-back,.fil-record-action,.fil-record-navigation button,.fil-record-tabs button,.fil-record-pager button){background:linear-gradient(120deg,#562baf,#a126cb)!important;color:#fff!important;border:1px solid #cf7bfa!important;border-radius:10px!important}
html body.fil-pages-premium #modal-detail-content img{object-fit:contain!important;max-width:100%;transform:none!important}
/* FINITION V139 PAR RUBRIQUE — habillage visuel partagé, fonctions d'origine inchangées. */
html body.fil-pages-premium #app-root #main-view :is(.fil-page-intro,.fil-ed-intro,.fil-v52-meteo-hero,.fil-v54-clock-hero,.fil-v83-game-hero,.fil-snake-hero,.fil-v53-weather-extended,.fil-v52-meteo-sources,.fil-v54-clock-play){
 background:radial-gradient(circle at 94% 14%,#9f44d73d,transparent 55%),linear-gradient(120deg,#251351,#141437 67%,#101839)!important;
 border:1px solid #aa6be5!important;border-radius:17px!important;color:#fff!important;
 box-shadow:inset 0 1px #ffffff37,0 0 17px #962ef04c,0 9px 20px #04051a78!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-page-intro,.fil-ed-intro,.fil-v52-meteo-hero,.fil-v54-clock-hero,.fil-v83-game-hero,.fil-snake-hero) :is(h1,h2,h3){
 color:#fff!important;text-shadow:0 0 20px #b438ff47!important;font-family:Outfit,Inter,system-ui!important;letter-spacing:-.033em!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-page-intro,.fil-ed-intro,.fil-v52-meteo-hero,.fil-v54-clock-hero,.fil-v83-game-hero,.fil-snake-hero) :is(p,span,small){color:#ece1ff!important}
/* Articles et fiches : toolbar, onglets, catégories, publication et cartes. */
html body.fil-pages-premium #app-root #main-view :is(.fil-v84-toolbar,.fil-ed-categorybar,.fil-ed-socials,.fil-ed-next,.fil-editorial .fil-ed-article-body,.fil-ed-list-summary){
 color:#eee6ff!important;background:linear-gradient(125deg,#241a48e0,#141335e8)!important;
 border:1px solid #7956ba!important;border-radius:13px!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-ed-filter,.fil-ed-socials a,.fil-ed-next-card button,.fil-record-toolbar button,.fil-v53-snake-teaser button,.fil-v54-clock-play button){
 background:linear-gradient(115deg,#5125a1,#9829cf)!important;border:1px solid #bb77eb!important;
 color:#fff!important;border-radius:10px!important;box-shadow:0 0 10px #9f37d94c!important;
}
html body.fil-pages-premium #app-root #main-view .fil-ed-filter[aria-pressed="true"]{
 background:linear-gradient(115deg,#9a25d5,#eb43cb)!important;border-color:#ffa1ff!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-ed-intro,.fil-ed-article,.fil-ed-next-card,.fil-ed-grid) :is(h1,h2,h3,p,span,small){color:#f9efff!important}
/* Météo : prévisions, températures et sources sur une surface bleue / cyan. */
html body.fil-pages-premium #app-root #main-view .fil-v52-meteo-layout :is(#local-weather,.fil-v52-meteo-sources,.fil-v53-weather-extended,.fil-v53-snake-teaser,.fil-v53-forecast-card,.fil-weather-card){
 background:radial-gradient(circle at 98% 0%,#1bbdff32,transparent 55%),linear-gradient(132deg,#191e51,#15123c)!important;
 border:1px solid #677ddf!important;border-radius:15px!important;
 color:#fff!important;box-shadow:inset 0 1px #ffffff2b,0 0 13px #3e70d636!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v52-meteo-layout :is(h1,h2,h3,strong,small,p,span,time){color:#f8f3ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v52-meteo-layout :is(a,button){color:#fdf4ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v52-meteo-layout .fil-v53-snake-teaser{background:linear-gradient(120deg,#421572,#22174b)!important;border-color:#da78ff!important}
/* Horloges : garder le cadran et la cadence JS, modifier les panneaux seulement. */
html body.fil-pages-premium #app-root #main-view .fil-v54-clock-layout :is(.fil-v54-clock-stage,.fil-v54-clock-info,.fil-v54-clock-play,.fil-v54-clock-card){
 background:linear-gradient(135deg,#23194b,#10163b)!important;border:1px solid #9764d9!important;
 border-radius:16px!important;color:#fff!important;box-shadow:0 0 11px #754cdf51!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v54-clock-layout :is(h1,h2,h3,p,span,time){color:#f6eeff!important}
html body.fil-pages-premium #app-root #main-view .fil-v54-clock-layout .fil-v54-clock-lead{border-color:#59d8ff!important;box-shadow:0 0 13px #38b4ff6b!important}
/* Le Serpent : aucune dimension de plateau, action clavier ou tactile modifiée. */
html body.fil-pages-premium #app-root #main-view :is(.fil-v83-game-profile,.fil-v58-console,.fil-snake-challenge,.fil-snake-start-card,.fil-snake-rules,.fil-snake-community>article){
 background:linear-gradient(125deg,#29134b,#17123d 72%,#161a44)!important;
 border:1px solid #a86de3!important;color:#fff!important;border-radius:15px!important;
 box-shadow:inset 0 1px #ffffff2c,0 0 13px #a438ec48!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil-v83-game-profile,.fil-snake-challenge,.fil-snake-start-card,.fil-snake-rules,.fil-snake-community) :is(h1,h2,h3,p,small,span,label){color:#fbf1ff!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-snake-primary,[data-v83-skin],.fil-snake-console-menu>button,.fil-snake-community button){
 border:1px solid #f68df3!important;border-radius:11px!important;box-shadow:0 0 12px #d536ed5c!important;
}
/* Musique : enveloppe commune néon, programmation Villa Rouge et réglages de thème préservés. */
html body.fil-pages-premium #app-root #main-view #fil-musique-page{
 color:#f8f2ff!important;background:radial-gradient(ellipse at 85% 4%,#8f26cf3d,transparent 55%),linear-gradient(180deg,#111236,#1d1138 64%,#0d112e)!important;
}
html body.fil-pages-premium #app-root #main-view #fil-musique-page :is(.vr112-topbar,.vr111-hero,.vr112-schedule,.vr111-frame,.vr111-resident,.vr111-artists,.vr111-player-area,.vr111-story){
 border:1px solid #a35dd9!important;border-radius:17px!important;box-shadow:inset 0 1px #ffffff30,0 0 20px #b236e34a!important;
}
html body.fil-pages-premium #app-root #main-view #fil-musique-page :is(.vr111-hero,.vr111-frame,.vr111-player-area,.vr111-artists){
 background:radial-gradient(circle at 89% 0%,#6d27bb4f,transparent 50%),linear-gradient(130deg,#281344,#101633)!important;
}
html body.fil-pages-premium #app-root #main-view #fil-musique-page :is(.fil-musique-card,.vr111-artist,.vr111-fact,.vr112-timeline li){
 border:1px solid #874bbf!important;border-radius:12px!important;background:linear-gradient(123deg,#2f1c4b,#181536)!important;
 color:#f8efff!important;
}
html body.fil-pages-premium #app-root #main-view #fil-musique-page :is(h1,h2,h3,strong){color:#fff!important;text-shadow:0 0 15px #b73aff4d!important}
html body.fil-pages-premium #app-root #main-view #fil-musique-page :is(.vr111-kicker,.vr111-hero-eyebrow,.vr112-eyebrow){color:#84e5ff!important}
/* Les fiches publiques : texte lisible dans tous les sous-volets, sans surface blanche. */
html body.fil-pages-premium #modal-detail-content :is(.fil-record-view .fil-u-section,.fil-record-overview,.fil-record-details,.fil-record-readmore,.fil-record-tags,.fil-record-gallery,.fil-record-contact,.fil-record-route){
 background:linear-gradient(125deg,#251848,#111733)!important;border-color:#7956bd!important;color:#fff!important;
}
html body.fil-pages-premium #modal-detail-content :is(button,a):focus-visible{outline:3px solid #6adfff!important;outline-offset:3px!important}

/* Responsive — pas de carte tronquée ni de texte flou, largeur adaptable. */
@media(max-width:1150px){
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card{gap:9px!important;padding:10px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-icon{flex-basis:41px!important;width:41px!important;height:41px!important;font-size:19px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy strong{font-size:15px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{grid-template-columns:60px minmax(0,1fr)!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions{grid-column:1/-1!important;justify-content:center!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{max-width:none!important;flex:1}
}
@media(max-width:850px){
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid,
 html body.fil-pages-premium #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}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group{gap:9px}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu{padding:16px 16px 130px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{padding:25px!important;min-height:240px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-poster{width:22%!important;right:5%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-weather{grid-column:span 3!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v85-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:580px){
 html body.fil-pages-premium #app-root #main-view{overflow-x:hidden!important;padding-bottom:calc(130px + env(safe-area-inset-bottom))!important}
 html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero{width:calc(100% - 20px)!important;margin:10px 10px 0!important;padding:19px!important;min-height:225px!important;grid-template-columns:minmax(0,1fr) 100px!important;gap:10px!important;border-radius:15px!important}
 html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero:not(.fil-v98-menu-hero) h1{font-size:clamp(26px,8vw,37px)!important}
 html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero:not(.fil-v98-menu-hero) figure img{height:120px!important}
 html body.fil-pages-premium #app-root #main-view>.fil-v84-page-hero:not(.fil-v98-menu-hero) p{font-size:12px!important}
 html body.fil-pages-premium #app-root #main-view>.fil-v85-page-content:not(#fil-serpent-page){padding:13px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu-hero{width:calc(100% - 20px)!important;margin:10px 10px 0!important;min-height:298px!important;padding:22px 20px!important;grid-template-columns:1fr!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy{width:100%!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy h1{font-size:clamp(35px,10vw,49px)!important;margin:12px 0!important;max-width:90%!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-copy p{max-width:66%!important;font-size:11px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-landscape{inset:95px -6px 0!important;opacity:.5!important;mask-image:linear-gradient(180deg,transparent,#000 50%)!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-hero-poster{width:29%!important;height:42%!important;top:auto!important;bottom:8%!important;right:8%!important;transform:rotate(-7deg)!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"]>.fil-v98-menu{gap:17px!important;padding:15px 11px 115px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head{gap:5px!important;padding:0!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-symbol{width:27px!important;flex-basis:27px!important;height:29px!important;font-size:21px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head h2{font-size:20px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-group-head p{font-size:9px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-count{min-width:0!important;font-size:9px!important;padding:5px 9px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid{gap:8px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-card{min-height:122px!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;padding:12px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-icon{flex:0 0 39px!important;width:39px!important;height:39px!important;font-size:19px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy{padding-right:4px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-copy small{font-size:9px!important;line-height:1.3!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-arrow{width:25px!important;height:25px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game{flex-direction:row!important;align-items:center!important;min-height:122px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game>img{display:block!important;position:absolute!important;right:-3px!important;top:0!important;width:67px!important;height:84px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-game-copy{align-self:flex-end!important;padding:72px 6px 0 0!important;gap:3px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game strong{font-size:15px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-game small{font-size:9px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card{min-height:92px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-grid-compact .fil-v98-menu-card:last-child{grid-column:1/-1!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-menu-contact{grid-template-columns:45px minmax(0,1fr)!important;padding:13px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-icon{width:42px!important;height:42px!important;font-size:17px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-text h2{font-size:17px!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions{grid-column:1/-1!important;flex-direction:column!important;width:100%!important}
 html body.fil-pages-premium #app-root #main-view[data-page="menu"] .fil-v98-contact-actions>button{max-width:none!important;width:100%!important;min-height:43px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home:not(.fil-grid-host){gap:10px!important;padding:10px 10px 26px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero{min-height:256px!important;padding:19px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero h1{font-size:clamp(30px,8vw,39px)!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-hero-actions{gap:6px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v96-cta{min-height:37px!important;font-size:10px!important;padding:8px 10px!important;white-space:normal!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .home-events .fil-v85-event-grid{grid-template-columns:1fr!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-weather{grid-column:1/-1!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo{padding:14px 12px 14px 26%!important;min-height:112px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo::before{width:27%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo::after{display:none}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo h2{font-size:18px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.fil-v85-break#fil-v56-home-promo>a{min-width:65px!important;padding:7px 9px!important;font-size:10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-home>.home-about{padding:14px!important;gap:9px!important;flex-wrap:wrap!important}
 html body.fil-pages-premium #app-root #main-view :is(.fil-v85-panel,.fil-v84-panel,.fil-v85-about,.fil-v85-contact,.fil-v85-favorites-help,.information-block){padding:14px!important}
 html body.fil-pages-premium #modal-detail-content{border-radius:13px!important}
}
@media(prefers-reduced-motion:reduce){
 html body.fil-pages-premium #app-root #main-view :is(.fil-v98-menu-card,.fil-portal-card,.fil-v87-event-card,.fil-ed-card){transition:none!important}
}


/* ===== Composant : neon-home-v140.css ===== */
@charset "UTF-8";
/* V140 — Accueil Néon Premium. CSS exclusif au sélecteur de thème.
 * Aucun sélecteur du thème Original, du menu global, du footer ou de l'administration.
 * Les vrais éléments et liens restent en HTML, les illustrations en fichiers distincts. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home{
 --h140-bg:#070c29;--h140-dark:#0d1334;--h140-pink:#fb48ed;--h140-violet:#aa57ff;--h140-cyan:#42d9ff;
 --h140-border:#6b58e2;--h140-lit:0 0 13px #dc37ff75,0 0 26px #8634fd2f;
 background:radial-gradient(circle at 20% 62%,#5012783d,transparent 40%),linear-gradient(180deg,#050c26,#0c1134 52%,#090b26)!important;
 display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;
 width:100%!important;margin:0!important;padding:0 clamp(12px,1.5vw,22px) 25px!important;
 color:#fff!important;font-family:Inter,Arial,sans-serif!important;box-sizing:border-box;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>*{min-width:0!important;box-sizing:border-box}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(h1,h2,h3,p){overflow-wrap:normal;word-break:normal}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(a,button){cursor:pointer;text-decoration:none;transition:background .15s ease,transform .15s ease,border-color .15s ease,box-shadow .15s ease}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(a,button):focus-visible{outline:2px solid #63ebff!important;outline-offset:3px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(a,button):hover{filter:brightness(1.12)}
/* 01. Bannière village et raccourcis */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v96-hero{
 order:0!important;grid-column:1/-1!important;min-height:236px!important;height:auto!important;
 border:0!important;border-bottom:2px solid #7b78ff!important;border-radius:0 0 18px 18px!important;
 box-shadow:0 9px 20px #7f4efa27!important;overflow:hidden!important;
 background:#0a1235!important;margin:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-art{
 inset:0!important;background:linear-gradient(90deg,#060b2df7 0%,#071032f2 30%,#09103567 57%,transparent 82%),url("/assets/visuels/accueil/village-panorama.webp") center 41%/cover no-repeat!important;
 opacity:1!important;transform:none!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero::after{
 content:"";position:absolute;inset:auto -5% 0 26%;height:45px;pointer-events:none;
 border-bottom:2px solid #33e6ff;border-radius:0 0 65% 0;transform:rotate(-2deg);
 box-shadow:0 5px 12px #008fff9c;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-glow{background:linear-gradient(0deg,#30126679,transparent 25%),radial-gradient(ellipse at 28% 2%,#8d39d02b,transparent 55%)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{position:relative!important;z-index:2!important;padding:19px 18px 20px!important;max-width:770px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-overline{font:900 10px/1.25 Inter,Arial!important;letter-spacing:.12em!important;color:#5fe8ff!important;margin:0 0 8px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-overline::after{content:"";display:inline-block;vertical-align:middle;height:2px;width:62px;margin-left:12px;background:linear-gradient(90deg,#fc60f9,transparent);box-shadow:0 0 10px #ff52f2}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1{font:900 clamp(31px,4vw,51px)/.99 Outfit,Inter,Arial!important;letter-spacing:-.045em!important;margin:4px 0 12px!important;color:#fff!important;text-shadow:0 3px 13px #060820!important;max-width:630px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1 span{display:block!important;color:#e88cff!important;text-shadow:0 0 14px #a92ac574!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-subtitle{max-width:475px!important;font:500 13px/1.35 Inter,Arial!important;color:#fff!important;margin:0 0 13px!important;text-shadow:0 2px 6px #040920a1}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-actions{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta{
 display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:35px!important;
 padding:7px 10px!important;border:1px solid #6379dd!important;border-radius:9px!important;
 background:linear-gradient(135deg,#20275cbb,#0b1036de)!important;box-shadow:inset 0 1px #c3b7ff65,0 0 9px #403ce480!important;
 font:700 10px/1.2 Inter,Arial!important;white-space:nowrap;color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta-main{background:linear-gradient(100deg,#762add,#a41fed)!important;border-color:#f783ff!important;box-shadow:inset 0 1px #ffffff8a,0 0 14px #b128ed!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-handwriting{right:3%!important;top:13px!important;font:italic 20px/1.12 cursive!important;color:#fff!important;transform:rotate(-10deg)!important;text-shadow:0 2px 9px #4d1f73!important}
/* 02. Grand carrousel éditorial, détails et navigation accessibles. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-featured{display:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v140-featured{
 order:1!important;grid-column:1/-1!important;min-height:0!important;
 display:flex!important;flex-direction:column!important;gap:9px!important;
 margin:0!important;padding:13px 17px 11px!important;
 border:1px solid #516beb!important;border-radius:12px!important;
 background:radial-gradient(ellipse at 52% 0%,#432078aa,transparent 65%),linear-gradient(115deg,#121137,#091a40)!important;
 box-shadow:inset 0 1px #c6a6ff55,0 0 16px #3263e741!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-head{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:38px}
html body.fil-pages-premium #app-root #main-view .fil-v140-eyebrow{display:block;font:850 9px/1.2 Inter,Arial;letter-spacing:.1em;color:#ce9bff}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-head h2{font:900 clamp(19px,2.2vw,27px)/1.16 Outfit,Inter,Arial!important;letter-spacing:-.02em;margin:4px 0 0!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-count{font:850 14px/1 Inter,Arial;color:#fff;white-space:nowrap}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage{
 --fil-v140-feature-image:url("/assets/visuels/accueil/village-panorama.webp");
 position:relative;min-height:180px;height:clamp(180px,22vw,251px);isolation:isolate;
 overflow:hidden;border:1px solid #df59f3;border-radius:13px;
 background:linear-gradient(90deg,#12073a 0%,#180f4eeb 37%,#1d0b5a54 66%,#0000 90%),var(--fil-v140-feature-image) right center/55% auto no-repeat,#100a37;
 box-shadow:inset 0 0 16px #28105c,0 0 15px #e036df5b;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 61% 98%,#f93cffb0,transparent 48%),radial-gradient(circle at 0% 92%,#bd0cfd75,transparent 35%),linear-gradient(148deg,transparent 55%,#a43bff51 57%,transparent 60%);
}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage::after{content:"";position:absolute;inset:auto -4% -16% 38%;height:68%;z-index:-1;border-top:4px solid #e835fa;border-radius:54% 48% 0 0;transform:rotate(-7deg);box-shadow:0 -7px 18px #ee31ed91;pointer-events:none}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy{position:absolute;z-index:3;inset:0 auto 0 0;width:56%;padding:21px 18px 20px clamp(38px,6.2vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-tag{display:inline-flex;align-items:center;gap:8px;font:850 11px/1 Inter,Arial;color:#79e6ff}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-tag i{color:#f478ff;font-size:15px}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy h3{font:900 clamp(20px,2.2vw,32px)/1.06 Outfit,Inter,Arial!important;color:#fff!important;letter-spacing:-.04em;margin:8px 0 5px!important;max-width:95%}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy p{font:500 11px/1.45 Inter,Arial!important;color:#f6e9ff!important;max-width:330px!important;margin:0 0 15px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-visual{position:absolute;inset:0 4% 0 43%;pointer-events:none}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-visual img{width:100%;height:115%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 13px #eb5df4)}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage>button{position:absolute;z-index:5;top:calc(50% - 17px);width:35px;height:35px;display:grid;place-items:center;font:900 28px/1 Inter,Arial;color:#fff;border:1px solid #de6aff;border-radius:50%;background:linear-gradient(135deg,#390c71d9,#1e135acd);box-shadow:inset 0 1px #fff5,0 0 13px #d43dff9e}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-prev{left:7px}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-next{right:7px}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-progress{display:flex;gap:4px;align-items:center;justify-content:center;min-height:10px}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-progress button{width:clamp(17px,6vw,57px);height:9px;border:0;background:transparent;padding:2px 0;flex:0 1 57px}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-progress span{display:block;width:100%;height:4px;background:#545c7c;border-radius:12px;opacity:.95}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-progress [aria-current] span{background:linear-gradient(90deg,#ff32eb,#f48cff);box-shadow:0 0 10px #ff3bf0}
/* 03. Cartes rendez-vous — visuel, date, favoris, infos, bouton. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-events{order:2!important;grid-column:1/-1!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-section-title{margin:0 0 10px!important;align-items:center!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-section-title h2{color:#fff!important;font:850 clamp(18px,2.05vw,26px)/1.2 Outfit,Inter,Arial!important;letter-spacing:-.035em!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-heading-icon{display:inline-grid!important;place-items:center;margin-right:10px;vertical-align:middle;color:#f477ff;font-size:21px;text-shadow:0 0 12px #f33bf2;filter:drop-shadow(0 0 5px #e44af0)}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-section-title>a{padding:7px 12px;border:1px solid #c354fb;border-radius:9px;background:#2b135d;box-shadow:0 0 12px #d13ffa73;color:#fff!important;font:700 10px Inter,Arial!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important;min-height:306px!important;
 padding:0!important;overflow:hidden!important;border:1px solid #a047ec!important;border-radius:12px!important;
 background:linear-gradient(180deg,#10163c,#0a1431 58%,#240943 100%)!important;
 box-shadow:0 0 0 1px #123c80,0 0 13px #ab39eb64!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover{display:block!important;position:relative!important;height:clamp(112px,13vw,152px)!important;flex:0 0 clamp(112px,13vw,152px)!important;width:100%!important;overflow:hidden!important;background:#080f31!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 44%!important;filter:none!important;max-width:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-date{
 position:absolute!important;left:8px!important;top:7px!important;z-index:2!important;width:50px!important;height:56px!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 color:#fff!important;background:linear-gradient(130deg,#6b1acb,#33096e)!important;border:1px solid #e978ff!important;border-radius:8px!important;box-shadow:inset 0 1px #ffffff81,0 0 15px #8f22ff!important;text-align:center!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-date b{font:900 24px/.95 Outfit,Inter,Arial!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-date span{font:800 10px/1.1 Inter,Arial!important;color:#fff!important;margin-top:3px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px 11px 10px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content h3{font:900 clamp(11px,1.23vw,15px)/1.23 Outfit,Inter,Arial!important;margin:0!important;letter-spacing:-.015em!important;color:#fff!important;text-transform:uppercase;min-height:28px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-tags{display:flex;align-items:center;gap:8px;min-height:24px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-tag{display:inline-flex;align-items:center;min-height:22px;max-width:70%;padding:3px 9px;border:1px solid #266ebd;border-radius:25px;background:#133452b5;color:#f2f8ff;font:700 10px/1.1 Inter,Arial;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-heart{display:grid!important;place-items:center!important;width:26px!important;height:25px!important;min-height:25px!important;border:1px solid #53588a!important;border-radius:8px!important;background:#192456!important;color:#fff!important;padding:0!important;margin:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-heart.is-saved{color:#ff80bd!important;background:#55206c!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-brand{display:grid;place-items:center;width:26px;height:26px;background:linear-gradient(135deg,#af23c7,#c64fd8 53%,#3130ac);border-radius:50%;color:#fff;box-shadow:0 0 9px #e542ef;font-size:12px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts{display:flex;flex-direction:column;gap:3px;margin:0 0 3px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts>div{display:flex!important;gap:6px!important;align-items:baseline!important;min-height:13px!important;margin:0!important;flex-wrap:wrap!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dt{font:800 9px/1.3 Inter,Arial!important;color:#e185ff!important;text-transform:uppercase!important;white-space:nowrap}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dd{font:600 9px/1.3 Inter,Arial!important;color:#fff!important;margin:0!important;overflow-wrap:anywhere}
html body.fil-pages-premium #app-root #main-view .fil-v140-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:8px 12px;border:1px solid #f186ff;border-radius:8px;background:linear-gradient(180deg,#b829e0,#6212c3 60%,#391184);box-shadow:inset 0 1px #ffffff7a,0 0 12px #d42bff8a;color:#fff!important;font:800 10px/1.2 Inter,Arial;text-decoration:none}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-button{margin-top:auto;width:100%;text-align:left}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-no-events{grid-column:1/-1;padding:18px;color:#fff;background:#19123c;border:1px solid #624ac0;border-radius:10px}
/* 04. Pause arcade */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo{
 order:3!important;grid-column:1/-1!important;min-height:111px!important;display:flex!important;gap:15px!important;
 align-items:center!important;justify-content:space-between!important;isolation:isolate!important;
 margin:0!important;padding:18px 24px 18px 21%!important;
 border:1px solid #f467ff!important;border-radius:12px!important;
 background:radial-gradient(ellipse at 55% 50%,#8e0fb7bd,transparent 55%),linear-gradient(100deg,#1b123f,#45145e 48%,#0b153a)!important;
 box-shadow:0 0 15px #ed43f49c,inset 0 1px #ffffff4b!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo::before{left:1%!important;top:-9%!important;bottom:-9%!important;width:19%!important;background:url("/assets/serpent/mascotte-rose.webp") center 46%/contain no-repeat!important;filter:drop-shadow(0 0 8px #fc37ff)!important;z-index:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo::after{content:""!important;position:absolute;inset:0;pointer-events:none;z-index:-1!important;background:repeating-linear-gradient(90deg,transparent 0 42px,#4a4bff23 43px 44px),repeating-linear-gradient(0deg,transparent 0 19px,#664ffe15 20px 21px)!important;transform:none!important;filter:none!important;opacity:1!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo>div{position:relative;z-index:2;flex:1;min-width:0;padding-right:18%}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo small{color:#ffbdff!important;font:850 9px Inter,Arial!important;letter-spacing:.05em}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo h2{font:900 clamp(19px,2.15vw,27px)/1.1 Outfit,Inter,Arial!important;margin:4px 0!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo p{font:500 10px/1.4 Inter,Arial!important;color:#fff!important;margin:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-controller{position:absolute!important;z-index:1!important;top:0;right:-1%;width:23%;height:100%;pointer-events:none}
html body.fil-pages-premium #app-root #main-view .fil-v140-controller img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 9px #ad3efb)}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo>a{position:relative;z-index:3;flex:none!important;min-width:110px!important;min-height:39px!important;padding:9px 14px!important;border-radius:8px!important;border:1px solid #ff83ff!important;background:linear-gradient(130deg,#951fdb,#7822cf)!important;color:#fff!important;box-shadow:0 0 12px #f239fda1!important;font:800 11px Inter,Arial!important}
/* 05. Raccourcis illustrés (quatre couleurs) */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-home-access{order:4!important;grid-column:1/-1!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-v85-section-title{margin:0 0 10px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card{
 --v140-tile:#09f4c4;--v140-tile-bg:#093b3a;
 display:flex!important;align-items:center!important;gap:10px!important;min-height:70px!important;
 padding:11px!important;border:1px solid var(--v140-tile)!important;border-radius:11px!important;
 background:radial-gradient(circle at 93% 95%,color-mix(in srgb,var(--v140-tile) 24%,transparent),transparent 62%),linear-gradient(130deg,var(--v140-tile-bg),#12152d)!important;
 box-shadow:0 0 13px color-mix(in srgb,var(--v140-tile) 37%,transparent),inset 0 1px #ffffff48!important;color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card[href*="commerces"]{--v140-tile:#ff9d17;--v140-tile-bg:#4d2c0e}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card[href*="restauration"]{--v140-tile:#ff4e85;--v140-tile-bg:#481629}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card[href*="agenda"]{--v140-tile:#b457ff;--v140-tile-bg:#30135a}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card .fil-v85-tile-icon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border:1px solid var(--v140-tile)!important;border-radius:9px!important;background:linear-gradient(130deg,var(--v140-tile),color-mix(in srgb,var(--v140-tile) 20%,#051025))!important;box-shadow:0 0 11px color-mix(in srgb,var(--v140-tile) 62%,transparent)!important;color:#fff!important;font-size:20px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card span:nth-child(2){flex:1;min-width:0;padding:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card strong{font:850 14px/1.2 Outfit,Inter,Arial!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card small{font:500 9px/1.25 Inter,Arial!important;color:#eee8ff!important;margin:4px 0 0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card>span:last-child{display:grid!important;place-items:center!important;flex:none!important;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--v140-tile) 70%,white);border-radius:50%;background:color-mix(in srgb,var(--v140-tile) 25%,#111138);color:#fff!important;font-size:14px}
/* 06. Trois fiches mairie / vie municipale / météo */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{
 order:5!important;grid-column:span 4!important;min-width:0!important;min-height:182px!important;
 border:1px solid #6e67d8!important;border-radius:11px!important;margin:0!important;padding:14px 14px!important;
 background:linear-gradient(115deg,#231746,#0c1435)!important;box-shadow:0 0 11px #5449ed55,inset 0 1px #ffffff31!important;position:relative!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie{background:linear-gradient(90deg,#181340f5 0%,#1a1747f0 52%,#17123811 94%),url("/assets/visuels/accueil/mairie-prades.webp") right center/auto 100% no-repeat!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(.fil-v85-mairie,.home-news,.home-weather)>small{display:block!important;max-width:85%!important;margin:0 0 4px!important;font:750 9px/1.22 Inter,Arial!important;letter-spacing:.04em!important;color:#d9c7ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(.fil-v85-mairie,.home-news,.home-weather)>h2{font:900 18px/1.17 Outfit,Inter,Arial!important;margin:0 0 8px!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-mairie p{max-width:67%!important;font:500 10px/1.45 Inter,Arial!important;color:#fff!important;margin:6px 0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-mairie .fil-v85-actions{display:flex!important;align-items:center;gap:7px;position:absolute;bottom:10px;left:12px;right:9px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-mairie .fil-v85-actions a{min-height:32px!important;padding:7px 9px!important;font:700 9px/1.1 Inter,Arial!important;color:#fff!important;background:linear-gradient(145deg,#35205e,#26135c)!important;border:1px solid #9878dd!important;border-radius:7px!important;box-shadow:0 0 8px #9c59ff73!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news{background:linear-gradient(135deg,#27164c,#091735)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-news>div{display:flex;flex-direction:column;gap:0;margin:3px 0 7px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-news .fil-v85-news-link{display:flex!important;align-items:center!important;min-height:23px!important;padding:2px 0!important;border-bottom:1px solid #7683d272!important;font:650 10px/1.25 Inter,Arial!important;color:#fff!important;gap:8px!important;margin:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-news .fil-v85-news-link span:last-child{font-size:15px;color:#fff}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-news>a{font:800 10px Inter,Arial!important;color:#ee87ff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{background:radial-gradient(circle at 90% 14%,#1675bca8,transparent 51%),linear-gradient(115deg,#1e1448,#092b51)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-weather>div:first-child{max-width:72%}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-weather p{max-width:90%;font:500 10px/1.45 Inter,Arial!important;color:#eae6ff!important;margin:6px 0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-weather>a{position:absolute;bottom:10px;left:13px;display:inline-flex;align-items:center;justify-content:center;min-height:31px!important;padding:7px 11px!important;background:#422371!important;border:1px solid #b57aff!important;border-radius:7px!important;box-shadow:0 0 10px #9c42ef73!important;color:#fff!important;font:750 10px Inter,Arial!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-weather-mark{position:absolute;right:9px;top:47%;transform:translateY(-38%);display:flex;align-items:center;flex-direction:column;gap:5px;color:#fff;font:750 10px Inter,Arial}
html body.fil-pages-premium #app-root #main-view .fil-v140-weather-mark i{font-size:43px;color:#ffce21;text-shadow:0 0 14px #ffd325}
/* 07. Bandeau projet / liens */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about{
 order:6!important;grid-column:1/-1!important;position:relative!important;isolation:isolate!important;
 min-height:112px!important;display:flex!important;align-items:center!important;gap:18px!important;
 margin:0!important;padding:16px 18px!important;overflow:hidden!important;
 border:1px solid #b459f7!important;border-radius:12px!important;
 background:radial-gradient(circle at 96% 70%,#9e22ce91,transparent 24%),linear-gradient(125deg,#33145f,#1b1d55 70%,#321151)!important;
 box-shadow:inset 0 1px #ffffff41,0 0 16px #d83dec80!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about:after{content:"";position:absolute;left:18%;right:2%;bottom:-37px;height:65px;border-top:2px solid #fc65fa;border-radius:58% 50% 0 0;box-shadow:0 -9px 19px #f846ee67;pointer-events:none;z-index:-1}
html body.fil-pages-premium #app-root #main-view .fil-v140-about-heart{display:grid;place-items:center;flex:0 0 67px;width:67px;height:67px;border:1px solid #ee8dfb;border-radius:14px;color:#fff;background:linear-gradient(140deg,#ef62e9,#8520b3);box-shadow:inset 0 2px #ffffff69,0 0 17px #f93ff5;font-size:29px}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>div{flex:1;min-width:0;max-width:72%!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about small{font:850 10px Inter,Arial!important;color:#e89bff!important;letter-spacing:.02em!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about h2{font:900 clamp(18px,2vw,25px)/1.1 Outfit,Inter,Arial!important;margin:4px 0!important;color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about p{font:500 11px/1.4 Inter,Arial!important;max-width:710px!important;color:#fff!important;margin:4px 0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>a{flex:none!important;min-height:35px!important;padding:9px 13px!important;background:linear-gradient(110deg,#8f23df,#6d27cc)!important;border:1px solid #f07cff!important;border-radius:8px!important;box-shadow:0 0 14px #de37ff99!important;color:#fff!important;font:800 11px Inter,Arial!important;margin-right:7%!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-about-art{position:absolute;right:1.5%;top:22%;display:grid;place-items:center;width:65px;height:65px;border:2px solid #e751ff;border-radius:50%;color:#fff;font-size:31px;box-shadow:0 0 19px #f83dea,inset 0 0 15px #b843ef;background:radial-gradient(circle at center,#8721ba,#461483);pointer-events:none}
@media(max-width:1000px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home{gap:13px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1{font-size:clamp(27px,4vw,40px)!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover{height:125px!important;flex-basis:125px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event{min-height:298px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card{gap:7px!important;padding:9px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card .fil-v85-tile-icon{width:35px!important;height:35px!important;flex-basis:35px!important;font-size:16px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card strong{font-size:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card small{font-size:9px!important}
}
@media(max-width:720px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:13px!important;padding:0 10px 24px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v96-hero{min-height:294px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-art{background:linear-gradient(90deg,#0a0c2bef 0%,#09102ac7 42%,#0909316b 100%),url("/assets/visuels/accueil/village-panorama.webp") center center/cover no-repeat!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{padding:20px 17px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1{font-size:clamp(26px,6vw,38px)!important;max-width:390px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-subtitle{max-width:330px!important;font-size:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-actions{gap:7px!important;max-width:330px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta{font-size:10px!important;min-height:34px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-handwriting{display:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage{height:205px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy{width:70%;padding-left:30px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy h3{font-size:22px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-visual{inset:0 0 0 42%;opacity:.65}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v140-event:last-child:nth-child(odd){grid-column:1/-1}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:span 3!important;min-height:200px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:1/-1!important;min-height:155px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about{flex-wrap:wrap!important;padding:14px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>div{max-width:calc(100% - 85px)!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>a{margin-left:85px!important}
}
@media(max-width:480px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home{gap:12px!important;padding:0 8px 25px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v96-hero{min-height:330px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{padding:20px 13px 17px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1{font-size:clamp(27px,7vw,33px)!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-subtitle{font-size:11px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta{font-size:9px!important;padding:6px 9px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v140-featured{padding:10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-head h2{font-size:19px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-count{font-size:11px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage{height:218px!important;background:linear-gradient(90deg,#100835 0%,#100a3edd 53%,#0e153b49),var(--fil-v140-feature-image) right center/110% auto no-repeat,#100a37}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy{width:89%!important;padding:14px 33px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy h3{font-size:20px!important;max-width:280px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy p{font-size:10px!important;max-width:245px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-visual{inset:38px -16% 0 30%;opacity:.32}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage>button{width:25px;height:28px;top:calc(50% - 14px);font-size:21px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-prev{left:3px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-feature-next{right:3px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-section-title h2{font-size:19px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{grid-template-columns:1fr!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event{min-height:0!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover{height:162px!important;flex-basis:162px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content{gap:8px!important;padding:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content h3{font-size:15px!important;min-height:0!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dt,html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dd{font-size:10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo{min-height:136px!important;padding:14px 10px 14px 27%!important;gap:6px!important;flex-wrap:wrap!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo::before{width:27%!important;left:-1%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo>div{padding-right:0!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo h2{font-size:19px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo p{font-size:9px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-controller{display:none}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo>a{min-width:88px!important;min-height:29px!important;padding:5px 9px!important;font-size:10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card{min-height:78px!important;padding:9px!important;gap:6px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card .fil-v85-tile-icon{width:35px!important;height:35px!important;flex-basis:35px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card small{font-size:9px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card>span:last-child{display:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:1/-1!important;min-height:172px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news{min-height:180px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about{gap:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-about-heart{width:51px;height:51px;flex-basis:51px;font-size:23px}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>div{max-width:calc(100% - 64px)!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about h2{font-size:18px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about p{font-size:10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about>a{margin-left:63px!important;margin-right:0!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-about-art{width:43px;height:43px;font-size:20px;top:auto;bottom:10px}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(a,button){transition:none!important}}

/* V140.1 — Cascade de la grille à 12 colonnes, prioritaire sur les règles V139. */
html body.fil-pages-premium #app-root #main-view .fil-v96-home.fil-v140-home:not(.fil-grid-host){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home.fil-v140-home>.home-about::before{display:none!important;content:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about .fil-v140-about-heart{position:relative;z-index:1}
@media(max-width:720px){html body.fil-pages-premium #app-root #main-view .fil-v96-home.fil-v140-home:not(.fil-grid-host){grid-template-columns:repeat(6,minmax(0,1fr))!important}}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid>.fil-portal-card{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v96-home.fil-v140-home>.home-weather::before{content:none!important;display:none!important}


/* ===== Composant : neon-finition-v141.css ===== */
@charset "UTF-8";
/* V141 — FINITION DES DEUX ZONES VALIDÉES. Exclusivement en mode Néon Premium.
   Aucun fichier, réglage ni sélecteur du thème Original n'est modifié.
   Les boutons, annonces dynamiques et SoundCloud conservent leurs moteurs existants. */
body.fil-pages-premium {
 --v141-night:#070a21;--v141-pink:#f34de9;--v141-cyan:#49daff;--v141-purple:#a531ff;
}
/* 1. Accueil : supprimer la toile blanche et les espacements imposés par les couches anciennes. */
html body.fil-pages-premium #app-root .fil-workspace,
html body.fil-pages-premium #app-root .fil-site-pane,
html body.fil-pages-premium #app-root #main-view[data-page="accueil"]{
 background:#070c23!important;background-color:#070c23!important;color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"]{
 padding:0!important;isolation:isolate;
}
html body.fil-pages-premium #app-root #main-view .fil-v96-home.fil-v140-home{
 max-width:none!important;width:100%!important;padding:0 clamp(10px,1.25vw,22px) 18px!important;
 gap:clamp(10px,1vw,16px)!important;background:
 radial-gradient(ellipse at 68% 85%,#3310705a,transparent 50%),
 linear-gradient(180deg,#080a22 0%,#0b1031 60%,#0a0926 100%)!important;
 color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(.fil-v85-section-title h2,.fil-v140-feature-head h2){
 color:#fff!important;text-shadow:0 2px 12px #08061b!important;letter-spacing:-.025em!important;
}
/* 1.1 Hero : paysage net, 4 boutons indépendants, trait cyan sous l'image. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v96-hero{
 min-height:clamp(218px,21vw,320px)!important;margin:0!important;border-radius:0 0 18px 18px!important;
 background:#090c28!important;border-bottom:1px solid #3ea4ff!important;
 box-shadow:0 8px 18px #2222a856!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-art{
 background:linear-gradient(90deg,#060920f5 0%,#080b29ed 29%,#080c3090 53%,#0b0b2711 87%),url("/assets/visuels/accueil/village-panorama.webp") 58% 47%/cover no-repeat!important;
 image-rendering:auto!important;filter:none!important;opacity:1!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{
 padding:clamp(17px,2vw,30px)!important;max-width:min(820px,79%)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero h1{
 font-size:clamp(29px,3.5vw,48px)!important;line-height:1.03!important;letter-spacing:-.052em!important;
 text-shadow:0 4px 16px #080722d9!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-subtitle{
 font-size:clamp(11px,1.02vw,15px)!important;line-height:1.35!important;max-width:480px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-actions{gap:8px!important;flex-wrap:wrap!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta{
 border:1px solid #646cb7!important;background:linear-gradient(160deg,#151741,#070e30)!important;
 box-shadow:0 3px 9px #07052165,inset 0 1px #ffffff1b!important;
 color:#fff!important;min-height:36px!important;padding:7px 12px!important;font-weight:750!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-cta:first-child{
 background:linear-gradient(135deg,#bc22ed,#6316be)!important;border-color:#ff79f9!important;box-shadow:0 0 13px #f40ef683!important;
}
/* 1.2 Carrousel : carte distincte et actions à l'intérieur de ses limites. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v140-featured{
 border:1px solid #2764d6!important;border-radius:14px!important;padding:clamp(9px,1vw,15px)!important;
 background:linear-gradient(135deg,#171039f7,#080e27f8 68%,#11103c)!important;
 box-shadow:inset 0 1px 0 #8c97ff33,0 0 16px #402ea149!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-head{padding:0 4px 8px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-head h2{font-size:clamp(18px,2vw,26px)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-stage{
 min-height:190px;height:clamp(190px,16.4vw,254px)!important;overflow:hidden;
 border-color:#e542f7!important;box-shadow:0 0 16px #9d15eb70!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy{z-index:3!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-copy h3{font-size:clamp(18px,1.9vw,27px)!important;line-height:1.12!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-feature-progress{gap:5px!important;margin-top:10px!important}
/* 1.3 Événements : mêmes visuels, titres, dates et boutons interactifs. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events{
 grid-column:1/-1!important;background:transparent!important;padding:0!important;margin:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-section-title{margin-bottom:9px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:12px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event{
 min-width:0!important;min-height:0!important;border:1px solid #844be2!important;
 box-shadow:0 0 10px #ab23d255!important;overflow:hidden!important;
 background:linear-gradient(180deg,#191438,#101538 82%,#211040)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover{
 height:clamp(106px,9vw,148px)!important;flex:0 0 clamp(106px,9vw,148px)!important;display:block!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover img{width:100%!important;height:100%!important;object-fit:cover!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content{
 min-height:0!important;padding:11px!important;gap:8px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-content h3{
 font-size:clamp(12px,1.05vw,16px)!important;line-height:1.16!important;min-height:29px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dt,
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-facts dd{
 font-size:clamp(9px,.72vw,11px)!important;line-height:1.25!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-button{
 margin-top:auto!important;border:1px solid #e587ff!important;color:white!important;
 background:linear-gradient(#bc34f4,#620aad)!important;box-shadow:0 0 12px #f020ff62!important;
}
/* 1.4 Jeu Serpent : éviter l'illustration en double, garder un seul personnage + manette. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo{
 min-height:112px!important;border:1px solid #ef55ff!important;background:
 radial-gradient(ellipse at 52% 0%,#6b149e7a,transparent 76%),
 linear-gradient(120deg,#170e4a,#310f66 52%,#111137)!important;
 box-shadow:0 0 15px #db39f489!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo::before{
 background-size:contain!important;background-position:50% 50%!important;opacity:1!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo :is(img.fil-v140-game-extra,.fil-v141-game-extra){display:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo h2{font-size:clamp(18px,2vw,27px)!important}
/* 1.5 Catégories et panneaux d'information : aucune blancheur, pas de textes coupés. */
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access{grid-column:1/-1!important;min-width:0!important;margin:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card{
 width:100%!important;min-height:70px!important;padding:10px!important;box-shadow:0 0 10px #ae41de53!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card strong{font-size:clamp(12px,1.12vw,17px)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-portal-card small{line-height:1.25!important;font-size:clamp(9px,.72vw,11px)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{
 grid-column:span 4!important;min-width:0!important;height:auto!important;min-height:174px!important;
 padding:15px!important;border:1px solid #746be3!important;border-radius:12px!important;
 background-color:#10143a!important;color:#fff!important;box-shadow:0 0 9px #353bb24d!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news{background:linear-gradient(150deg,#18123f,#080e2a)!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{
 background:linear-gradient(120deg,#121444 30%,#125e9c 100%)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(.fil-v85-mairie,.home-news,.home-weather) :is(h2,h3,strong){color:#fff!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home :is(.fil-v85-mairie,.home-news,.home-weather) :is(p,small,span){color:#f3edff}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about{
 grid-column:1/-1!important;background:linear-gradient(100deg,#34115e,#16153f 65%,#42156b)!important;
 border:1px solid #d548f9!important;border-radius:12px!important;box-shadow:0 0 14px #cf3bf170!important;
 min-height:108px!important;min-width:0!important;padding:13px 20px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about h2{font-size:clamp(18px,1.8vw,25px)!important;color:white!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about p{max-width:780px!important;line-height:1.34!important;color:#fff!important}
/* 2. Colonne Vie locale (référence rouge) : isolée du thème Original. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{
 --fil-rail-bg:#150409!important;--fil-rail-panel:#190507!important;--fil-rail-ink:#fff!important;
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:40px 56px repeat(2,minmax(120px,1fr)) 148px 143px!important;
 gap:8px!important;padding:8px 9px 10px!important;align-content:stretch!important;align-items:stretch!important;
 color:#fff!important;background:
 radial-gradient(ellipse at 45% 0%,#8a070c 0%,transparent 53%),linear-gradient(160deg,#1c0208,#070508 72%,#1b050b)!important;
 border-left:1px solid #ff283a!important;overflow:hidden!important;max-height:100%!important;height:100%!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>*{min-width:0!important;min-height:0!important;box-sizing:border-box!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-rail-heading{
 grid-row:1!important;order:1!important;position:relative!important;margin:0!important;
 background:linear-gradient(90deg,#230307,#56060b99 60%,#28050b4d),url("/assets/visuels/accueil/village-panorama.webp") right 32%/auto 260% no-repeat!important;
 overflow:hidden!important;border:0!important;padding:0 32px 0 8px!important;display:flex!important;align-items:center!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-heading h2,
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-brand-copy h2{
 font-family:Inter,Arial,sans-serif!important;font-size:clamp(15px,1.2vw,20px)!important;
 font-weight:950!important;line-height:1.1!important;letter-spacing:-.04em!important;
 color:#fff!important;text-transform:uppercase!important;text-shadow:0 2px 8px #000!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-v141-brand-red{color:#ff3542!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-underline{height:3px!important;width:110px!important;margin-top:5px!important;background:#ff2639!important;box-shadow:0 0 10px #ff133c!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-v141-tower{color:#ff4858;font-size:22px;filter:drop-shadow(0 0 5px #ff1534);margin-right:8px}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads #fil-rail-close{position:absolute!important;right:4px!important;top:4px!important;color:white!important}
/* Navigation 5 boutons en tête */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-rail-apps{
 grid-row:2!important;order:2!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 height:100%!important;min-height:0!important;gap:7px!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{
 border:1px solid #e41c31!important;border-radius:10px!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 background:linear-gradient(150deg,#340007,#120306)!important;color:white!important;
 height:100%!important;min-height:0!important;gap:2px!important;padding:4px 0!important;
 font-size:clamp(9px,.8vw,12px)!important;font-weight:800!important;line-height:1!important;
 box-shadow:inset 0 1px #ffffff30,0 0 7px #cb11275e!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link :is(.fil-app-symbol,.fil-app-symbol i){
 color:#fff!important;background:transparent!important;width:auto!important;height:auto!important;
 flex:0 0 auto!important;display:grid!important;place-items:center!important;font-size:clamp(17px,1.35vw,24px)!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link:hover,
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link[aria-current="page"]{
 background:linear-gradient(135deg,#fa2a35,#ba0013)!important;border-color:#fff5ec!important;
 box-shadow:0 0 15px #f92d42a5!important;
}
/* Publicités : les 2 vrais slots restent pilotés par FilAds. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot="desktop-1"],
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot="desktop-2"]{
 display:block!important;width:100%!important;min-width:0!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot="desktop-1"]{grid-row:3!important;order:3!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot="desktop-2"]{grid-row:4!important;order:4!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"]>.fil-ad-card{
 position:relative!important;isolation:isolate;display:flex!important;flex-direction:column!important;
 padding:9px 12px!important;gap:5px!important;width:100%!important;height:100%!important;min-height:0!important;
 border:1.5px solid #ff3946!important;border-radius:14px!important;
 background:linear-gradient(90deg,#140406 0%,#31090b 57%,#650b19 100%)!important;
 box-shadow:inset 0 0 9px #fa122129,0 0 8px #ff263e86!important;overflow:hidden!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"]>.fil-ad-card::before{
 content:""!important;position:absolute!important;inset:auto -10% -33px 15%!important;height:62px!important;
 border-top:3px solid #fff6f5!important;border-radius:50%!important;transform:rotate(-7deg)!important;
 background:transparent!important;opacity:1!important;filter:drop-shadow(0 0 5px #fa2745)!important;
 pointer-events:none!important;z-index:0!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card :is(.fil-ad-top,.fil-ad-body,.fil-ad-cta,.fil-ad-footer){z-index:2!important;position:relative!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-top{display:flex!important;justify-content:space-between!important;gap:4px!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card :is(.fil-ad-mini,.fil-ad-number){
 background:#450508bb!important;border:1px solid #f73744!important;border-radius:99px!important;color:#fff!important;
 padding:3px 7px!important;font-size:clamp(8px,.67vw,10px)!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body{
 flex:1 1 auto!important;min-height:0!important;max-height:none!important;display:flex!important;
 flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:4px!important;
 padding-right:35%!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body h3{
 color:#fff!important;max-width:none!important;min-height:0!important;margin:0!important;
 font:900 clamp(15px,1.2vw,22px)/1.03 Inter,Arial,sans-serif!important;
 letter-spacing:-.03em!important;display:block!important;overflow:visible!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card--empty .fil-ad-body h3::first-line{color:#fff!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body p{
 color:#fff2f2!important;max-width:none!important;font-size:clamp(9px,.73vw,11px)!important;
 line-height:1.16!important;display:block!important;overflow:hidden!important;max-height:3.55em!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card :is(.fil-ad-meta,.fil-ad-dimensions){display:none!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-orb{display:none!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-v141-ad-art{
 position:absolute;inset:20% 0 0 auto;width:45%;height:82%;z-index:1!important;
 background-position:center;background-size:contain;background-repeat:no-repeat;
 filter:drop-shadow(0 0 5px #ff374d6b);pointer-events:none;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads [data-ad-slot="desktop-1"] .fil-v141-ad-art{
 background-image:url("/assets/neon-v141/megaphone.svg"),linear-gradient(105deg,#23070b77,#23070b36),url("/assets/visuels/accueil/village-panorama.webp");
 background-size:90% 92%,100% 100%,auto 100%;background-position:center,center,center right;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads [data-ad-slot="desktop-2"] .fil-v141-ad-art{
 background-image:url("/assets/neon-v141/boutique.svg");background-size:115% 110%;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"] .fil-ad-cta{
 flex:0 0 auto!important;align-self:flex-start!important;max-width:66%!important;width:auto!important;
 min-width:0!important;min-height:27px!important;height:27px!important;padding:5px 10px!important;
 margin:0!important;border-radius:100px!important;border:1px solid #ff766f!important;
 background:linear-gradient(#fb262a,#bd0613)!important;box-shadow:0 0 12px #ff222a8f!important;
 white-space:nowrap!important;font-size:clamp(9px,.72vw,11px)!important;color:#fff!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"] .fil-ad-footer{font-size:9px!important;gap:3px!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card--occupied .fil-ad-body{padding-right:0!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card--occupied .fil-ad-content{max-width:68%!important}
/* Découverte : panneau ivoire lumineux et fiche dynamique, flèches et compteur. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-rail-discover{
 display:flex!important;grid-row:5!important;order:5!important;flex-direction:column!important;
 height:100%!important;padding:8px!important;gap:5px!important;background:#fff9f9!important;
 border:1px solid #fae5e3!important;border-radius:13px!important;overflow:hidden!important;color:#280d0e!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-head{flex:0 0 18px!important;height:18px!important;margin:0!important;gap:4px!important;min-height:0!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-head strong{color:#1b0c12!important;font-size:clamp(11px,.95vw,15px)!important;line-height:1!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-chip{
 color:#d00822!important;background:#fff!important;border:1px solid #e4303b!important;border-radius:30px!important;
 font-size:9px!important;min-height:21px!important;height:21px!important;padding:2px 9px!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-slide{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-card{height:100%!important;grid-template-columns:31% minmax(0,1fr)!important;gap:8px!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-visual{height:100%!important;min-height:0!important;border-radius:9px!important;overflow:hidden!important;background:#3b080c!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-visual img{width:100%!important;height:100%!important;object-fit:cover!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-copy{
 justify-content:center!important;align-items:flex-start!important;gap:2px!important;min-height:0!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-meta{color:#be1425!important;font-size:clamp(8px,.69vw,10px)!important;font-weight:850!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-copy h3{font-size:clamp(12px,1vw,17px)!important;color:#1a0a0d!important;line-height:1.05!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-copy p{
 display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
 color:#33252b!important;font-size:clamp(8px,.68vw,10px)!important;line-height:1.15!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-discover-copy button{
 height:24px!important;min-height:24px!important;max-width:100%!important;padding:3px 9px!important;
 border:1px solid #eb373a!important;border-radius:8px!important;background:linear-gradient(#e60e1e,#8e0610)!important;
 color:white!important;font-size:clamp(9px,.7vw,11px)!important;box-shadow:0 0 6px #c20e203d!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions{
 flex:0 0 22px!important;height:22px!important;min-height:22px!important;
 display:grid!important;grid-template-columns:32px 1fr 32px!important;gap:5px!important;margin:0!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions button{
 width:32px!important;height:22px!important;padding:0!important;min-height:0!important;
 color:#c7192f!important;background:#fff0f1!important;border:1px solid #f1b2bd!important;border-radius:7px!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-count{color:#25121a!important;font-size:11px!important;font-weight:900!important}
/* Lecteur natif SoundCloud : ses vrais contrôles restent branchés à SoundCloud Widget. */






















/* Rééquilibrer à toutes largeurs, sans débordement horizontal ni défilement interne rail. */
@media(max-width:1450px){
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{grid-template-rows:36px 50px repeat(2,minmax(115px,1fr)) 130px 126px!important;gap:6px!important;padding:6px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body h3{font-size:clamp(13px,1.1vw,18px)!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body p{font-size:9px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:9px!important}
}
@media(max-width:1100px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:span 4!important}
}
@media(max-width:760px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{max-width:90%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event:last-child:nth-child(odd){grid-column:1/-1}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:span 3!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:1/-1!important}
}
@media(max-width:500px){
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v96-hero{min-height:325px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-inner{max-width:100%!important;padding:18px 15px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v96-hero-art{background-position:60% center!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .home-events .fil-v85-event-grid{grid-template-columns:1fr!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v140-event-cover{height:165px!important;flex-basis:165px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v85-home-access .fil-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.fil-v85-mairie,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-news,
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-weather{grid-column:1/-1!important}
 html body.fil-pages-premium #app-root #main-view .fil-v140-home>.home-about{padding:12px 10px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{grid-template-rows:33px 50px repeat(2,minmax(105px,1fr)) 133px 129px!important;gap:6px!important;padding:6px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-apps .fil-rail-link{font-size:8px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body h3{font-size:14px!important}
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card .fil-ad-body p{font-size:8px!important}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads *{transition:none!important;animation:none!important}}
/* Dots de la découverte, mis à jour à chaque navigation de la fiche. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions{grid-template-columns:32px 1fr 36px 32px!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions .fil-v141-dots{display:flex!important;justify-content:center!important;align-items:center!important;gap:5px!important;min-width:0!important;grid-column:2!important;grid-row:1!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-v141-dots i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c9bdc3}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-v141-dots i.active{background:#d40520;box-shadow:0 0 5px #dd152f}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions .fil-rail-discover-count{grid-column:3!important;grid-row:1!important}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-rail-discover-actions button:last-child{grid-column:4!important;grid-row:1!important}
html body.fil-pages-premium #app-root #main-view .fil-v140-home .fil-v141-mairie-icon{color:#cba4ff;margin-right:6px;filter:drop-shadow(0 0 6px #9f53ff)}
/* Les réglages d'administration de visibilité ne doivent jamais être ignorés. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[hidden],
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-rail-discover[hidden],
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-rail-apps[hidden]{display:none!important}
/* V141.2 — dernières corrections issues de la comparaison visuelle. */
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{
 grid-template-rows:36px 54px repeat(2,minmax(145px,1fr)) 154px 150px!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card--empty .fil-ad-body{
 padding-right:45%!important;justify-content:center!important;gap:7px!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"]>.fil-ad-card--empty .fil-ad-body h3{
 max-width:100%!important;width:100%!important;font:900 clamp(17px,1.45vw,22px)/.98 Inter,Arial,sans-serif!important;
 letter-spacing:-.035em!important;white-space:normal!important;word-wrap:normal!important;
 overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads .fil-ad-card--empty .fil-ad-body h3 em{color:#ff3442!important;font-style:normal!important;white-space:nowrap!important;text-shadow:0 0 6px #ef142b79}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"]>.fil-ad-card--empty .fil-ad-body p{
 font-size:clamp(9px,.75vw,11px)!important;max-width:100%!important;-webkit-line-clamp:3!important;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads [data-ad-slot="desktop-1"] .fil-v141-ad-art{
 -webkit-mask-image:linear-gradient(90deg,transparent,black 27%);mask-image:linear-gradient(90deg,transparent,black 27%);
 background-position:center,center,58% 48%;
}
html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads [data-ad-slot="desktop-2"] .fil-v141-ad-art{
 width:44%!important;right:0!important;inset:18% 0 0 auto!important;
}




html body.fil-pages-premium #app-root #main-view .fil-v140-home>#fil-v56-home-promo>a::before{content:none!important;display:none!important}
@media(max-width:1450px){
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{
  grid-template-rows:34px 50px repeat(2,minmax(125px,1fr)) 140px 140px!important;
 }
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads>.fil-ad-slot[data-ad-slot^="desktop-"]>.fil-ad-card--empty .fil-ad-body h3{font-size:clamp(15px,1.3vw,19px)!important}
}
@media(max-width:500px){
 html body.fil-pages-premium[data-fil-page-style="premium"] #app-root #fil-desktop-ads{grid-template-rows:32px 48px repeat(2,minmax(110px,1fr)) 128px 132px!important}
}


/* ===== Composant : neon-backgrounds-v142.css ===== */
@charset "UTF-8";
/*
 * LE FIL DE PRADES-LE-LEZ — V142
 * Harmonisation du FOND des pages en Néon Premium seulement.
 * Original, en-tête, navigation, rail publicitaire et modules fonctionnels inchangés.
 * Les réglages de fond indépendants des rubriques ne réintroduisent plus de blanc.
 */

/* Un seul socle visuel bleu nuit/violet pour les rubriques et leurs sous-pages. */
html body.fil-pages-premium {
  --neon142-bg:#070b23;
  --neon142-bg-deep:#0b0c2c;
  --neon142-bg-panel:#171339;
  --neon142-bg-panel-raised:#201744;
  --neon142-line:#7c58bf;
  --neon142-glow:#b735f6;
  background-color:var(--neon142-bg)!important;
}
html body.fil-pages-premium #app-root,
html body.fil-pages-premium #app-root .fil-workspace,
html body.fil-pages-premium #app-root .fil-site-pane {
  background-color:var(--neon142-bg)!important;
}

/* L'enveloppe complète prend également le rouge sur la page Musique,
 * y compris lors d'une navigation interne sans rechargement. */
html body.fil-pages-premium:is(:has(#main-view[data-page="musique"]),:has(#fil-musique-page)) {
  --neon142-bg:#170508;
}

/*
 * Page en cours : ne pas dépendre de la classe « fil-theme-music » du body,
 * qui peut subsister pendant la navigation SPA. Cibler le contenu effectivement
 * affiché et le data-page maintenu par le moteur d'apparence.
 */
html body.fil-pages-premium #app-root #main-view:not([data-page="musique"]):not(:has(#fil-musique-page)) {
  --page-bg:#090d2a!important;
  --page-bg-to:#17103b!important;
  --identity-surface:#0c1030!important;
  --identity-tint:#22164c!important;
  --page-accent:#cf5cfb!important;
  color:#fbf6ff!important;
  color-scheme:dark;
  background-color:#090d2a!important;
  background-image:
    radial-gradient(ellipse at 84% 4%,rgba(117,46,194,.24),transparent 47%),
    radial-gradient(ellipse at 7% 78%,rgba(49,57,156,.22),transparent 56%),
    linear-gradient(160deg,#090c29 0%,#121038 52%,#090d2b 100%)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
/* Neutraliser les animations de fond configurées par page sans toucher aux
 * animations des boutons, cartes, carrousels ou transitions. */
html body.fil-pages-premium #app-root #main-view:not([data-page="musique"]):not(:has(#fil-musique-page)):is(
  [data-theme-motion],[data-theme-mode],.has-custom-bg,[data-fil-identity]
) {
  background-color:#090d2a!important;
  background-image:
    radial-gradient(ellipse at 84% 4%,rgba(117,46,194,.24),transparent 47%),
    radial-gradient(ellipse at 7% 78%,rgba(49,57,156,.22),transparent 56%),
    linear-gradient(160deg,#090c29 0%,#121038 52%,#090d2b 100%)!important;
  animation:none!important;
}
/* Conteneurs structurels transparents : les cartes, affiches et bandeaux
 * conservent leurs propres fonds, images, couleurs d'accent et bordures. */
html body.fil-pages-premium #app-root #main-view:not([data-page="musique"]):not(:has(#fil-musique-page)) > :is(
  .fil-v85-page-content,.fil-v96-home,.fil-v85-home,.fil-v85-menu,
  .fil-v97-agenda,.fil-directory-page,.fil-v85-directory-page,.fil-editorial,
  .fil-v52-meteo-layout,.fil-v54-clock-layout,.fil-mairie-page,
  .fil-favorites-page,.fil-v85-favorites,.fil-v85-services
) {
  background-color:transparent!important;
}
/* Règles d'identité encore claires dans certains wrappers de rubriques. */
html body.fil-pages-premium #app-root #main-view:not([data-page="musique"]):not(:has(#fil-musique-page)) :is(
  .fil-directory-shell,.fil-v85-page-inner,.fil-v85-page-body,.fil-v84-page-content,
  .fil-v87-directory-shell,.fil-v97-agenda-body,.fil-editorial-content
) {
  background-color:transparent!important;
}

/* Musique — identité Villa Rouge : fond rouge noir (et non violet). */
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) {
  --page-bg:#170508!important;
  --page-bg-to:#31070e!important;
  --identity-surface:#1c060b!important;
  --identity-tint:#540b1c!important;
  --page-accent:#ff344e!important;
  color:#fff4f6!important;
  color-scheme:dark;
  background-color:#170508!important;
  background-image:
    radial-gradient(ellipse at 84% 1%,rgba(229,27,57,.30),transparent 50%),
    radial-gradient(ellipse at 4% 83%,rgba(117,8,29,.24),transparent 58%),
    linear-gradient(155deg,#170508 0%,#2c0610 54%,#12050a 100%)!important;
  background-size:cover!important;
  animation:none!important;
}
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) #fil-musique-page {
  color:#fff5f7!important;
  background:linear-gradient(170deg,#29060c 0%,#16070b 60%,#260611 100%)!important;
}
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) #fil-musique-page :is(
  .vr112-topbar,.vr111-hero,.vr112-schedule,.vr111-frame,.vr111-resident,
  .vr111-artists,.vr111-player-area,.vr111-story
) {
  border-color:#c52d42!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 0 17px rgba(229,22,54,.22)!important;
}
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) #fil-musique-page :is(
  .vr111-hero,.vr111-frame,.vr111-player-area,.vr111-artists,
  .fil-musique-card,.vr111-artist,.vr111-fact,.vr112-timeline li
) {
  background:linear-gradient(140deg,#3b0a14,#1a090e 78%)!important;
  border-color:#aa243b!important;
  color:#fff4f6!important;
}
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) #fil-musique-page :is(.vr111-kicker,.vr111-hero-eyebrow,.vr112-eyebrow) {
  color:#ff92a0!important;
}
html body.fil-pages-premium #app-root #main-view:is([data-page="musique"],:has(#fil-musique-page)) #fil-musique-page .vr111-button-primary {
  background:linear-gradient(120deg,#a80924,#ed2949)!important;
  border-color:#ff637b!important;
  color:white!important;
}

/* Les fiches ouvertes par-dessus toute rubrique prennent le même socle nuit.
 * Leur contenu, champs et cartes conservent les réglages lisibles V139. */
html body.fil-pages-premium #modal-detail-content {
  --page-bg:#0c102c;
  --page-bg-to:#171039;
  --page-accent:#c855f7;
  color:#fef8ff!important;
  background:linear-gradient(160deg,#100e32,#1a123d 74%,#100d2d)!important;
}
@media (prefers-reduced-motion:reduce) {
  html body.fil-pages-premium #app-root #main-view {animation:none!important}
}


/* ===== Composant : neon-chrome-v143-live.css ===== */
@charset "UTF-8";
/* V143 — interface exclusive Néon Premium, navigation et fenêtres. */
html body.fil-pages-premium #app-root>header{position:relative!important;z-index:105!important;min-height:68px!important;height:auto!important;padding:8px 12px!important;margin:0!important;overflow:visible!important;background:linear-gradient(160deg,#271048,#0a0a22)!important;border:0!important;border-bottom:1px solid #b454f2!important;box-shadow:0 3px 17px #b33ff376!important;color:#fff!important}
html body.fil-pages-premium #app-root>header .fil-v41-header-inner{display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;max-width:100%!important;min-width:0!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand{flex:0 1 310px!important;min-width:170px!important;max-width:320px!important;margin:0!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand h2{color:#fff!important;font:800 clamp(11px,1vw,17px)/1.1 Outfit,Inter,system-ui!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand span{color:#d5bcf4!important}
html body.fil-pages-premium #app-root>header .fil-v41-actions{position:absolute!important;left:-9999px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow:hidden!important;width:1px!important;height:1px!important}
html body.fil-pages-premium #app-root>header .fil143-toolbar{display:flex!important;flex:1!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;width:auto!important;min-width:0!important;max-width:100%!important}
html body.fil-pages-premium #app-root>header .fil143-tool{flex:0 1 auto!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:42px!important;width:auto!important;height:40px!important;padding:7px 9px!important;border:1px solid #8a4bc7!important;border-radius:10px!important;color:#fff!important;background:linear-gradient(145deg,#3a195c,#10102d)!important;box-shadow:inset 0 1px #ffffff4e,0 2px 6px #020013!important;font:800 clamp(10px,.8vw,12px)/1.1 Outfit,Inter,sans-serif!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .2s ease!important}
html body.fil-pages-premium #app-root>header .fil143-tool i{color:#eee2ff;font-size:15px;filter:drop-shadow(0 0 7px #d34cff)}
html body.fil-pages-premium #app-root>header .fil143-tool:is(:hover,:focus-visible),html body.fil-pages-premium #app-root>header .fil143-tool[aria-expanded=true]{transform:translateY(-2px)!important;border-color:#f9b6ff!important;box-shadow:inset 0 1px #fff8,0 0 14px #c444ff!important}
html body.fil-pages-premium #app-root>header .fil143-tool:active{transform:scale(.96)!important}







:focus-visible){transform:translateY(-3px)!important;border-color:#ffbdff!important;box-shadow:inset 2px 2px #fff8,0 0 19px #d047ff,0 5px 15px #050015!important}



@keyframes fil143-ripple{to{transform:translate(-50%,-50%) scale(13);opacity:0}}




.fil-visitor-count,#cookie-status){display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;min-height:25px!important;padding:3px 5px!important;border:1px solid #9957c7!important;border-radius:8px!important;background:#1d1139!important;color:#fff!important;font-size:clamp(8px,.7vw,11px)!important;white-space:nowrap!important}


/* Les panneaux sont intentionnellement placés dans <body>, en dehors de #app-root. */
html body.fil-pages-premium #fil143-panel{display:block!important;position:fixed!important;z-index:2147480000!important;inset:auto!important;max-height:calc(78dvh - 1px)!important;width:min(420px,calc(100vw - 24px))!important;overflow:auto!important;box-sizing:border-box!important;padding:0!important;border:1px solid #d679ff!important;border-radius:18px!important;color:#fff!important;background:linear-gradient(145deg,#321452,#0b0a29 80%)!important;box-shadow:inset 0 1px #fff7,0 0 30px #c33aff8a,0 24px 55px #030115d9!important;font:500 14px/1.42 Outfit,Inter,system-ui!important}
html body.fil-pages-premium #fil143-panel[hidden]{display:none!important}
html body.fil-pages-premium #fil143-panel .fil143-panel-head{display:flex!important;align-items:center!important;gap:10px!important;padding:14px 16px!important;border-bottom:1px solid #ac66dd!important;background:linear-gradient(90deg,#65218f91,#180d38)!important}
html body.fil-pages-premium #fil143-panel .fil143-panel-head i{font-size:18px;color:#f4b1ff}
html body.fil-pages-premium #fil143-panel .fil143-panel-head h2{font:850 19px Outfit,Inter,system-ui!important;margin:0!important;color:#fff!important}
html body.fil-pages-premium #fil143-panel .fil143-panel-head p{font-size:11px;color:#dcc3ee;margin:2px 0 0!important}
html body.fil-pages-premium #fil143-panel .fil143-panel-close{margin-left:auto!important;width:32px!important;height:32px!important;border:1px solid #8f4ac9!important;border-radius:9px!important;background:#190d2d!important;color:#fff!important;cursor:pointer!important}
html body.fil-pages-premium #fil143-panel .fil143-panel-body{padding:16px!important;display:grid!important;gap:13px!important}
html body.fil-pages-premium #fil143-panel .fil143-card{padding:12px!important;border:1px solid #8e58c3!important;border-radius:12px!important;background:#21163d!important}
html body.fil-pages-premium #fil143-panel .fil143-card strong{color:#fff!important;font-size:18px!important}
html body.fil-pages-premium #fil143-panel .fil143-stat{display:flex!important;align-items:baseline!important;gap:10px!important}
html body.fil-pages-premium #fil143-panel .fil143-stat strong{font-size:30px!important}
html body.fil-pages-premium #fil143-panel .fil143-note{color:#e2cdef!important;font-size:12px!important;line-height:1.4!important;margin:5px 0!important}
html body.fil-pages-premium #fil143-panel .fil143-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
html body.fil-pages-premium #fil143-panel button.fil143-action{background:linear-gradient(145deg,#952cc8,#43106c)!important;border:1px solid #e191ff!important;border-radius:9px!important;color:#fff!important;min-height:38px!important;padding:9px 13px!important;cursor:pointer!important;font:750 13px Outfit,Inter,system-ui!important}
html body.fil-pages-premium #fil143-panel button.fil143-action:hover{filter:brightness(1.25)!important}
html body.fil-pages-premium #fil143-panel .fil143-range-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;color:#fff!important;font-weight:800!important}
html body.fil-pages-premium #fil143-panel .fil143-range-head output{color:#f5b0ff}
html body.fil-pages-premium #fil143-panel input[type=range]{display:block!important;width:100%!important;accent-color:#ce51ff!important;cursor:pointer!important}
html body.fil-pages-premium #fil143-panel input[type=search]{width:100%!important;min-height:38px!important;border:1px solid #995ac9!important;border-radius:10px!important;padding:8px!important;background:#0e1334!important;color:#fff!important}
html body.fil-pages-premium #fil143-panel .fil143-status{min-height:18px;color:#e4cefa;font-size:12px}
html body.fil-pages-premium #fil143-panel :focus-visible{outline:2px solid #8aebff;outline-offset:2px}
@media(max-width:1160px){html body.fil-pages-premium #app-root>header .fil143-tool span{display:none!important}}
@media(max-width:800px){
 html body.fil-pages-premium #app-root>header{padding:7px 8px!important;height:auto!important;min-height:105px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-header-inner{flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:5px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand{flex:none!important;width:100%!important;max-width:100%!important;min-height:44px!important}
 html body.fil-pages-premium #app-root>header .fil143-toolbar{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:3px!important;width:100%!important;flex:none!important}
 html body.fil-pages-premium #app-root>header .fil143-tool{width:100%!important;min-width:0!important;max-width:100%!important;height:34px!important;padding:5px 0!important}
 html body.fil-pages-premium #app-root>header .fil143-tool>span{display:none!important}
 html body.fil-pages-premium #app-root>header .fil143-tool i{font-size:15px!important}
 html body.fil-pages-premium #app-root .fil-workspace{display:flex!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
 html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane{display:flex!important;width:100%!important;flex:1 1 0!important;min-width:0!important}
 html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads{display:none!important}
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status){font-size:8px!important;min-height:21px!important;padding:2px 4px!important}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium .fil143-tool{transition:none!important}html body.fil-pages-premium .fil143-ripple{animation:none!important}}
/* Réglage final : zone sociale et informative alignée sur 2 rangées à droite. */
@media(min-width:801px){
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status){font-size:9px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;justify-content:center!important;min-height:24px!important;padding:2px 4px!important}
}
@media(min-width:801px) and (max-width:1160px){.fil-visitor-count,#cookie-status){font-size:8px!important}}
/* L'état actif ne reprend jamais le gradient orange de l'ancien menu. */

/* V143 mobile : la barre de navigation conserve uniquement les sept accès.
   Les liens sociaux restent disponibles dans le pied de page normal. */
@media(max-width:800px){
 
 
 
}

/* Correctif navigation/footer Néon Premium — 2026-11-06.
   Les deux panneaux remplissent leurs zones allouées, sans toucher au thème Original.
   Conserve les sept actions, les liens sociaux, le domaine, le compteur et les cookies. */
@media (min-width: 801px) {
 
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status) {
  box-sizing: border-box!important;
  display: flex!important;
  justify-content: center!important;
  align-items: center!important;
  gap: 3px!important;
  min-height: 0!important;
  height: 100%!important;
  width: 100%!important;
  min-width: 0!important;
  padding: 2px 4px!important;
  margin: 0!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  white-space: nowrap!important;
  font-size: clamp(8px,.72vw,11px)!important;
  border: 1px solid #9d57d4!important;
  border-radius: 8px!important;
  background: linear-gradient(135deg,#3e195d,#1b1236)!important;
 }
}
@media (max-width: 800px) {
 
 
 
}


/* ===== Composant : neon-fidelity-v145b.css ===== */
@charset "UTF-8";
/* Correctif visuel V145b — uniquement Néon Premium.
   Référence verrouillée : boutons violets à facettes, footer 4+3, header compact original. */
html body.fil-pages-premium #app-root>header{
 --fil-b:#dd58ff;
 box-sizing:border-box!important;position:relative!important;z-index:100!important;
 flex:0 0 84px!important;min-height:84px!important;max-height:84px!important;height:84px!important;
 margin:0!important;padding:5px 13px!important;overflow:visible!important;
 border:1px solid #b460ef!important;border-bottom:2px solid #df36fe!important;border-radius:13px!important;
 background:linear-gradient(131deg,#170b31 0%,#21083f 34%,#0b0621 65%,#1c0b36 100%)!important;
 box-shadow:inset 0 1px 0 #e5bcffa6,inset 0 -1px #eb65ff,0 0 14px #bd39fa9d!important;
 color:#fff!important;
}
html body.fil-pages-premium #app-root>header::before{
 content:"";position:absolute;inset:1px;border-radius:11px;pointer-events:none;
 background:linear-gradient(133deg,transparent 28%,#9635bb21 28.2%,#5b1c8a22 35%,transparent 35.1% 61%,#b226ea24 61.1% 66%,transparent 66.1%);
}
html body.fil-pages-premium #app-root>header .fil-v41-header-inner{display:flex!important;align-items:center!important;flex-direction:row!important;justify-content:space-between!important;gap:12px!important;width:100%!important;height:100%!important;max-width:none!important;min-width:0!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand{
 flex:1 1 auto!important;display:flex!important;align-items:center!important;gap:13px!important;
 min-width:0!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{
 box-sizing:border-box!important;flex:0 0 70px!important;width:70px!important;height:70px!important;
 border-radius:50%!important;overflow:hidden!important;border:1px solid #bb65e9a9!important;
 background:#140b35!important;box-shadow:0 0 11px #b93ae15e!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand img{width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;aspect-ratio:1!important;border-radius:50%!important;filter:none!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand h2{
 color:#fff!important;font:850 clamp(15px,1.5vw,23px)/1.07 Inter,Outfit,system-ui!important;
 letter-spacing:-.025em!important;text-transform:uppercase!important;white-space:nowrap!important;margin:0!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand span{
 color:#fff!important;opacity:.92!important;font:500 clamp(10px,.9vw,14px)/1.3 Inter,Outfit,system-ui!important;
 letter-spacing:.01em!important;text-transform:uppercase!important;white-space:nowrap!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{
 position:relative!important;left:auto!important;right:auto!important;top:auto!important;
 transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
 display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;
 flex:0 0 auto!important;width:auto!important;min-width:0!important;height:52px!important;
 padding:0!important;margin:0!important;overflow:visible!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-btn{
 position:relative!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 51px!important;min-width:0!important;max-width:none!important;width:51px!important;
 height:46px!important;min-height:46px!important;max-height:46px!important;margin:0!important;padding:0 5px!important;
 color:#fff!important;border:1px solid #a565dc!important;border-radius:12px!important;
 background:linear-gradient(165deg,#39175a 0%,#1c0e39 45%,#0d0925 100%)!important;
 box-shadow:inset 0 1px #ffdeff5b,0 0 8px #ae34f654!important;
 font:850 15px/1 Outfit,Inter,system-ui!important;white-space:nowrap!important;
 cursor:pointer!important;transition:filter .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-btn i{font-size:23px!important;color:#fff!important;filter:drop-shadow(0 0 5px #c370ff)}
html body.fil-pages-premium #app-root>header .fil146-head-clock{flex-basis:69px!important;width:69px!important;font-size:13px!important;font-variant-numeric:tabular-nums}
html body.fil-pages-premium #app-root>header .fil146-head-display-minus,
html body.fil-pages-premium #app-root>header .fil146-head-display-plus{flex-basis:37px!important;width:37px!important;font-size:19px!important}
html body.fil-pages-premium #app-root>header .fil146-head-display{flex-basis:57px!important;width:57px!important;font-size:14px!important}
html body.fil-pages-premium #app-root>header .fil146-head-btn:is(:hover,:focus-visible),
html body.fil-pages-premium #app-root>header .fil146-head-btn[aria-expanded=true]{
 transform:translateY(-2px)!important;filter:brightness(1.17)!important;border-color:#f3c0ff!important;
 box-shadow:inset 0 1px #ffeaff9c,0 0 16px #c547fbe8!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-btn:active{transform:scale(.95)!important}
html body.fil-pages-premium #app-root>header .fil146-head-btn:focus-visible{outline:2px solid #88efff!important;outline-offset:2px!important}
/* Bas de page : une enveloppe, une seule grille, aucune bande ou cadre intercalé. */
@media(min-width:1051px){
 
 
 
 
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status){
  box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:4px!important;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;
  margin:0!important;padding:2px 5px!important;overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;border:1px solid #8f54c9!important;border-radius:9px!important;
  background:linear-gradient(155deg,#311453,#130c2f)!important;color:#fff!important;
  font:750 clamp(8px,.72vw,11px)/1 Outfit,Inter,system-ui!important;
  box-shadow:inset 0 1px #f8d4ff4b,0 0 6px #a331dd3d!important;
 }
 :focus-visible),:focus-visible){border-color:#f6bbff!important;box-shadow:0 0 12px #d544fe!important}
}
/* Chaque facette doit rester pourpre, jamais orange/rose saumon. */




:focus-visible){
 transform:translateY(-2px)!important;filter:brightness(1.15)!important;
 background:linear-gradient(135deg,#481578,#7623bd 67%,#a82be0)!important;
 border-color:#eac8ff!important;box-shadow:0 0 17px #d646fe,inset 0 1px #fff8!important;
}


@keyframes fil146-click{to{transform:translate(-50%,-50%) scale(10);opacity:0}}
/* Une fenêtre à la fois, Liquid Glass fin et profond, proche de la planche validée. */
html body.fil-pages-premium #fil145-window{
 width:min(350px,calc(100vw - 24px))!important;max-height:min(78dvh,670px)!important;
 border:1px solid #cb59e7!important;border-radius:23px!important;
 background:linear-gradient(148deg,rgba(68,25,80,.89),rgba(12,8,23,.97) 26%,rgba(12,8,23,.98) 78%,rgba(50,10,58,.95))!important;
 box-shadow:inset 0 1px #ffb4f66b,0 0 1px #fff5,0 0 23px #d73df28c,0 20px 65px #080112d9!important;
}
html body.fil-pages-premium #fil145-window .fil145-window-head{padding:12px 13px!important;background:linear-gradient(180deg,#54135e8c,transparent)!important}
html body.fil-pages-premium #fil145-window .fil145-window-head>i{width:41px!important;height:41px!important;flex-basis:41px!important;font-size:21px!important;border-radius:13px!important;background:linear-gradient(145deg,#732284,#231032)!important}
html body.fil-pages-premium #fil145-window .fil145-window-head h2{font-size:15px!important;font-weight:800!important;letter-spacing:0!important}
html body.fil-pages-premium #fil145-window .fil145-window-body{padding:12px!important;scrollbar-width:thin!important}
html body.fil-pages-premium #fil145-window .fil145-stack{gap:9px!important}
html body.fil-pages-premium #fil145-window .fil145-card{padding:11px!important;gap:8px!important;border:1px solid #a053b96e!important;background:linear-gradient(165deg,#300c40b5,#141023dd)!important}
html body.fil-pages-premium #fil145-window .fil145-detail{padding:9px 10px!important;background:#190e28aa!important;border-color:#70307d5b!important}
html body.fil-pages-premium #fil145-window .fil145-button{min-height:37px!important;border-radius:10px!important;background:linear-gradient(165deg,#681e87,#251034)!important;border-color:#a745bd!important;box-shadow:0 0 8px #ab27d42e!important}
html body.fil-pages-premium #fil145-window .fil145-button:is(:hover,:focus-visible){background:linear-gradient(165deg,#ae3abf,#4c185e)!important;box-shadow:0 0 12px #da44ef88!important}
html body.fil-pages-premium #fil145-window input[type=range]{accent-color:#d948fa!important}
html body.fil-pages-premium #fil145-window .fil145-note{font-size:11px!important;color:#d7c3dc!important}
html body.fil-pages-premium #fil145-window .fil145-meter{opacity:.7!important}
@media(min-width:1051px) and (max-width:1280px){
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:16px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-btn{flex-basis:40px!important;width:40px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-clock{flex-basis:57px!important;width:57px!important}
 
 
 
}
@media(max-width:1050px){
 
 
 
 
 
 
}
@media(max-width:900px){
 html body.fil-pages-premium #app-root>header{height:125px!important;min-height:125px!important;max-height:125px!important;flex-basis:125px!important;padding:7px 8px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-header-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand{flex:0 0 50px!important;min-height:50px!important;max-height:50px!important;gap:8px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{width:46px!important;height:46px!important;flex-basis:46px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:clamp(12px,3.3vw,18px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:clamp(8px,2.1vw,11px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:3px!important;width:100%!important;flex:0 0 46px!important;height:46px!important;max-width:100%!important}
 html body.fil-pages-premium #app-root>header .fil146-head-btn,
 html body.fil-pages-premium #app-root>header .fil146-head-clock,
 html body.fil-pages-premium #app-root>header .fil146-head-display-minus,
 html body.fil-pages-premium #app-root>header .fil146-head-display-plus,
 html body.fil-pages-premium #app-root>header .fil146-head-display{
  box-sizing:border-box!important;flex:none!important;width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:2px 0!important;border-radius:9px!important;
 }
 html body.fil-pages-premium #app-root>header .fil146-head-btn i{font-size:clamp(13px,3.6vw,19px)!important}
 html body.fil-pages-premium #app-root>header .fil146-head-clock{font-size:clamp(9px,2.2vw,12px)!important}
 html body.fil-pages-premium #app-root>header .fil146-head-display{font-size:clamp(9px,2.2vw,12px)!important}
 html body.fil-pages-premium #fil145-window{width:calc(100% - 18px)!important;max-height:75dvh!important;border-radius:21px!important}
}
@media(max-width:450px){}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root>header .fil146-head-btn{transition:none!important}}
/* Site à affichage 80 % : respecter les dimensions visibles de la référence. */
@media(min-width:1051px){
 html body.fil-pages-premium #app-root>header{height:105px!important;min-height:105px!important;max-height:105px!important;flex-basis:105px!important;padding:6px 14px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{width:89px!important;height:89px!important;flex-basis:89px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:clamp(20px,1.75vw,29px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:clamp(12px,1.08vw,16px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{height:60px!important;gap:9px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-btn{height:54px!important;min-height:54px!important;max-height:54px!important;flex-basis:55px!important;width:55px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-clock{flex-basis:83px!important;width:83px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-display{flex-basis:68px!important;width:68px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-display-minus,
 html body.fil-pages-premium #app-root>header .fil146-head-display-plus{flex-basis:42px!important;width:42px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-btn i{font-size:26px!important}
 
 
 
 
 
}
/* Le noyau Studio masque normalement toutes les actions sous 900 px.
   Réactiver UNIQUEMENT les boutons validés en mode Premium. */
html body.fil-pages-premium #app-root>header:not([data-compact]) .fil-v41-actions.fil146-header-controls>button.fil146-head-btn:not(#fil-ui-sounds):not(#fil-header-more){display:flex!important}
html body.fil-pages-premium #app-root>header[data-compact] .fil-v41-actions.fil146-header-controls>button.fil146-head-btn{display:flex!important}
@media(min-width:1051px) and (max-width:1300px){
 html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{width:72px!important;height:72px!important;flex-basis:72px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:19px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-btn{flex-basis:45px!important;width:45px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-clock{flex-basis:63px!important;width:63px!important}
 html body.fil-pages-premium #app-root>header .fil146-head-display{flex-basis:55px!important;width:55px!important}
}
/* Panneaux iOS : cartes et curseurs conformes à la composition de la référence. */
html body.fil-pages-premium #fil145-window .fil145-session-date{text-align:center;font-size:13px;color:#f4d0ff;font-weight:750;padding:10px;border-radius:12px;background:linear-gradient(150deg,#521862,#210c35)!important}
html body.fil-pages-premium #fil145-window .fil145-session-hero{text-align:center;font:850 36px/1.15 Inter,system-ui;color:white;font-variant-numeric:tabular-nums;padding:11px 4px;background:linear-gradient(140deg,#230c36,#471653)!important;border-radius:11px;letter-spacing:-.025em}
html body.fil-pages-premium #fil145-window .fil145-session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
html body.fil-pages-premium #fil145-window .fil145-stat-tile{display:grid;justify-items:center;gap:5px;min-width:0;padding:11px 3px;border:1px solid #a14ac586;border-radius:11px;background:linear-gradient(145deg,#2d123f,#130d23)}
html body.fil-pages-premium #fil145-window .fil145-stat-tile i{font-size:17px;color:#f8d2ff}
html body.fil-pages-premium #fil145-window .fil145-stat-tile strong{font-size:13px;color:#fff;font-variant-numeric:tabular-nums}
html body.fil-pages-premium #fil145-window .fil145-stat-tile small{font-size:10px;color:#d4b2e3}
html body.fil-pages-premium #fil145-window .fil145-display-hero{display:grid;justify-items:center;gap:7px;padding:10px}
html body.fil-pages-premium #fil145-window .fil145-display-hero i{display:grid;place-items:center;width:48px;height:48px;font-size:22px;color:#e0afff;background:#3d1454;border:1px solid #b35ad8;border-radius:12px}
html body.fil-pages-premium #fil145-window .fil145-display-percent{font-size:34px;line-height:1;font-weight:900;color:white;font-variant-numeric:tabular-nums}
html body.fil-pages-premium #fil145-window .fil145-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
html body.fil-pages-premium #fil145-window .fil145-presets .fil145-button{padding:5px 0!important;font-size:10px!important;min-height:32px!important}
html body.fil-pages-premium #fil145-window .fil145-presets .is-selected{border-color:#f7c4ff!important;background:#8d24b2!important;box-shadow:0 0 10px #d647e5a8!important}
html body.fil-pages-premium #fil145-window .fil145-brightness-fader{display:flex;align-items:center;justify-content:center;gap:25px;padding:9px 5px}
html body.fil-pages-premium #fil145-window .fil145-brightness-fader input[type=range]{width:28px!important;height:140px!important;writing-mode:vertical-lr!important;direction:rtl;accent-color:#ee46d8!important}
html body.fil-pages-premium #fil145-window .fil145-brightness-reading{display:grid;gap:7px;justify-items:start}
html body.fil-pages-premium #fil145-window .fil145-brightness-reading strong{font-size:31px;font-variant-numeric:tabular-nums;color:#fff}
html body.fil-pages-premium #fil145-window .fil145-brightness-reading small{font-size:11px;color:#dac6e6}



html body.fil-pages-premium #fil145-window .fil145-title-group{display:grid;gap:3px;flex:1 1 auto;min-width:0}
html body.fil-pages-premium #fil145-window .fil145-title-group h2{font-size:15px!important;text-transform:none!important}
html body.fil-pages-premium #fil145-window .fil145-title-group small{font-size:10px;color:#d9c4e5;line-height:1.15}
html body.fil-pages-premium #fil145-window .fil145-audio-main{display:grid;grid-template-columns:72px minmax(0,1fr);gap:15px;align-items:center;min-width:0}
html body.fil-pages-premium #fil145-window .fil145-audio-rail{display:flex;align-items:center;justify-content:center;height:175px;padding:10px 12px;border:1px solid #8b438baa;border-radius:32px;background:linear-gradient(180deg,#12131d,#211127);box-shadow:inset 0 1px 8px #07030b}
html body.fil-pages-premium #fil145-window .fil145-audio-rail input[type=range]{width:25px!important;height:145px!important;writing-mode:vertical-lr!important;direction:rtl;accent-color:#ff31b2!important}
html body.fil-pages-premium #fil145-window .fil145-audio-info{display:grid;gap:8px;align-content:center}
html body.fil-pages-premium #fil145-window .fil145-audio-value{font-size:31px;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
html body.fil-pages-premium #fil145-window .fil145-audio-info>small{font-size:11px;color:#cdbedc}
html body.fil-pages-premium #fil145-window .fil145-audio-info .fil145-check{padding:2px!important;font-size:12px!important}
html body.fil-pages-premium #fil145-window .fil145-search-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
html body.fil-pages-premium #fil145-window .fil145-search-chips .fil145-button{font-size:10px!important;min-height:33px!important;padding:4px 2px!important}
html body.fil-pages-premium #fil145-window .fil145-search-chips .is-selected{border-color:#ffb2ff!important;background:linear-gradient(145deg,#bd35d8,#621f88)!important;box-shadow:0 0 9px #dc3ff8!important}


/* ===== Composant : neon-compact-v145c.css ===== */
@charset "UTF-8";
/* V145c — Réduction mesurée du chrome (header, navigation et footer).
   Actif UNIQUEMENT avec le thème Néon Premium. Les fenêtres iOS restent arrondies. */
html body.fil-pages-premium #app-root>header {
  box-sizing:border-box!important;
  flex:0 0 70px!important;
  height:70px!important;min-height:70px!important;max-height:70px!important;
  padding:5px 11px!important;margin:0!important;
  border-radius:0!important;overflow:visible!important;
}
html body.fil-pages-premium #app-root>header::before {
  border-radius:0!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-header-inner {
  height:100%!important;min-height:0!important;gap:10px!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand {
  gap:10px!important;min-width:0!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child {
  flex:0 0 54px!important;width:54px!important;height:54px!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand h2 {
  font-size:clamp(15px,1.40vw,21px)!important;line-height:1.05!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand span {
  font-size:clamp(9px,.83vw,12px)!important;line-height:1.15!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls {
  display:flex!important;flex-flow:row nowrap!important;
  justify-content:flex-end!important;align-items:center!important;
  height:42px!important;min-height:0!important;gap:6px!important;
  width:auto!important;max-width:fit-content!important;flex:0 0 auto!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-btn {
  box-sizing:border-box!important;flex:0 0 42px!important;
  width:42px!important;min-width:0!important;max-width:42px!important;
  height:40px!important;min-height:40px!important;max-height:40px!important;
  padding:0 3px!important;border-radius:9px!important;font-size:13px!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-btn i {font-size:20px!important}
html body.fil-pages-premium #app-root>header .fil146-head-clock {
  flex:0 0 68px!important;width:68px!important;max-width:68px!important;
  font-size:14px!important;letter-spacing:-.02em!important;
}
html body.fil-pages-premium #app-root>header .fil146-head-display {
  flex:0 0 58px!important;width:58px!important;max-width:58px!important;
  font-size:13px!important;
}
/* Fond plein angle droit ; boutons conservés avec leurs facettes et arrondis. */
@media(min-width:1051px) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status) {
  min-height:22px!important;max-height:22px!important;height:22px!important;
  box-sizing:border-box!important;padding:2px 4px!important;
  font-size:clamp(8px,.68vw,11px)!important;line-height:1.1!important;
  border-radius:7px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
 }
}
@media(min-width:901px) and (max-width:1250px) {
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:16px!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:9px!important}
 
}
@media(min-width:901px) and (max-width:1050px) {
 
 
 
}
@media(max-width:900px) {
 html body.fil-pages-premium #app-root>header {
  height:88px!important;min-height:88px!important;max-height:88px!important;flex:0 0 88px!important;
  padding:3px 7px!important;border-radius:0!important;
 }
 html body.fil-pages-premium #app-root>header .fil-v41-header-inner {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:3px!important;
 }
 html body.fil-pages-premium #app-root>header .fil-v41-brand {
  flex:0 0 42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;gap:7px!important;
 }
 html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child {
  flex:0 0 38px!important;width:38px!important;height:38px!important;
 }
 html body.fil-pages-premium #app-root>header .fil-v41-brand h2 {font-size:clamp(11px,2.65vw,16px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-brand span {font-size:clamp(8px,1.8vw,10px)!important}
 html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls {
  display:grid!important;grid-template-columns:42px 68px 60px 42px 42px!important;
  gap:6px!important;justify-content:end!important;align-items:center!important;
  width:100%!important;max-width:100%!important;height:35px!important;min-height:35px!important;
  flex:0 0 35px!important;
 }
 html body.fil-pages-premium #app-root>header .fil146-head-btn,
 html body.fil-pages-premium #app-root>header .fil146-head-clock,
 html body.fil-pages-premium #app-root>header .fil146-head-display {
  box-sizing:border-box!important;flex:none!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  height:34px!important;min-height:34px!important;max-height:34px!important;
  padding:0 3px!important;border-radius:8px!important;font-size:12px!important;
 }
 html body.fil-pages-premium #app-root>header .fil146-head-btn i{font-size:17px!important}
 
 
 
 
 
 
}
@media(max-width:390px){
 html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{
  grid-template-columns:38px 64px 55px 38px 38px!important;gap:4px!important;
 }
}
@media(prefers-reduced-motion:reduce) {
 html body.fil-pages-premium #app-root>header .fil146-head-btn{transition:none!important}
}


/* ===== Composant : fil-bandeaux-v146.css ===== */
/* V146 — Bandeaux validés, uniquement en mode Néon Premium.
   Les images sont découpées depuis la planche fournie par le propriétaire.
   Le thème Original, les autres bandeaux et les fiches ne sont pas modifiés. */
html body.fil-pages-premium #main-view .fil-v84-page-hero.fil146-banner,
html body.fil-pages-premium #main-view .fil-v96-hero.fil146-banner{
 display:block!important;position:relative!important;overflow:hidden!important;isolation:isolate!important;
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:var(--fil146-ratio,6.05)!important;
 margin:0 0 12px!important;padding:0!important;box-sizing:border-box!important;
 border:0!important;border-radius:16px!important;background:#090b25!important;
 box-shadow:0 0 18px rgba(161,54,255,.19)!important;transform:none!important;
}
html body.fil-pages-premium #main-view .fil146-banner>.fil146-source-markup{display:none!important}
html body.fil-pages-premium #main-view .fil146-banner::before,
html body.fil-pages-premium #main-view .fil146-banner::after{content:none!important;display:none!important}
html body.fil-pages-premium #main-view .fil146-banner .fil146-image{
 position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
 object-fit:fill!important;object-position:center!important;max-width:none!important;opacity:1!important;
 border:0!important;border-radius:inherit!important;box-shadow:none!important;filter:none!important;
}
html body.fil-pages-premium #main-view .fil146-banner :is(.fil146-desktop-actions,.fil146-mobile-content){position:absolute;z-index:3}
html body.fil-pages-premium #main-view .fil146-banner .fil146-desktop-actions{inset:0;pointer-events:none}
html body.fil-pages-premium #main-view .fil146-banner .fil146-desktop-actions a{
 display:block;position:absolute;pointer-events:auto;border-radius:12px;
 color:transparent!important;text-indent:-9999px;overflow:hidden;outline-offset:2px;
}
html body.fil-pages-premium #main-view .fil146-banner .fil146-desktop-actions a:hover{box-shadow:0 0 0 2px rgba(255,255,255,.6),0 0 24px rgba(246,55,250,.75);background:rgba(224,31,255,.1)}
html body.fil-pages-premium #main-view .fil146-banner .fil146-desktop-actions a:focus-visible{outline:3px solid #67e8f9;outline-offset:2px}
html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content{display:none}
html body.fil-pages-premium #main-view .fil146-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
html body.fil-pages-premium #main-view .fil146-banner:hover .fil146-image{filter:brightness(1.055)!important;transition:filter .2s ease}
@media (max-width:700px){
 html body.fil-pages-premium #main-view .fil-v84-page-hero.fil146-banner,
 html body.fil-pages-premium #main-view .fil-v96-hero.fil146-banner{
    aspect-ratio:auto!important;min-height:198px!important;height:auto!important;
    padding:20px 17px!important;border-radius:15px!important;border:1px solid rgba(237,108,255,.8)!important;
    box-shadow:0 0 14px #a42aff55!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-image{
    object-fit:cover!important;object-position:100% 50%!important;opacity:.76!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner::after{
    display:block!important;content:""!important;position:absolute!important;inset:0!important;z-index:1!important;
    background:linear-gradient(90deg,rgba(6,8,30,.97) 0%,rgba(10,8,35,.92) 38%,rgba(14,8,43,.58) 78%,rgba(18,7,39,.45) 100%)!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-desktop-actions{display:none!important}
 html body.fil-pages-premium #main-view .fil146-banner>.fil146-sr-only{display:none!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content{
    position:relative!important;inset:auto!important;z-index:2!important;display:flex!important;
    flex-direction:column!important;align-items:flex-start!important;gap:7px!important;
    width:100%!important;height:auto!important;margin:0!important;padding:0!important;
    background:none!important;border:0!important;box-shadow:none!important;transform:none!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content .fil146-eyebrow{
   margin:0!important;color:#79e7fa!important;font:800 10px/1.2 Inter,Arial,sans-serif!important;letter-spacing:.09em!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content h1{
   display:block!important;max-width:95%!important;margin:0!important;padding:0!important;color:#fff!important;
   font:900 clamp(21px,6.4vw,33px)/1.1 Outfit,Inter,Arial,sans-serif!important;
   text-shadow:0 2px 6px #0009,0 0 12px #9f36f999!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content h1 strong{color:#f28bff!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content p{
   display:block!important;max-width:96%!important;margin:0!important;color:#f5efff!important;
   font:600 12px/1.35 Inter,Arial,sans-serif!important;text-shadow:0 1px 5px #000b!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important;margin-top:6px!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a{
   display:flex!important;align-items:center!important;justify-content:center!important;
   padding:9px 7px!important;min-height:43px!important;text-decoration:none!important;
   color:#fff!important;font:750 10px/1.25 Inter,Arial,sans-serif!important;text-align:center!important;
   background:linear-gradient(125deg,#5c20b3ed,#c22cbeaa)!important;
   border:1px solid #d78bfa!important;border-radius:10px!important;
   box-shadow:0 0 8px #b730f288!important;
 }
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a:nth-child(1){background:linear-gradient(130deg,#a515ef,#f353a5)!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a:nth-child(2){background:linear-gradient(130deg,#1360bd,#8935d9)!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a:nth-child(3){background:linear-gradient(130deg,#b728a4,#ef6d41)!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a:nth-child(4){background:linear-gradient(130deg,#7b26bd,#d531bd)!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-actions a:focus-visible{outline:2px solid #56e7ff!important}
 html body.fil-pages-premium #main-view .fil-v96-hero.fil146-banner{min-height:288px!important}
 html body.fil-pages-premium #main-view .fil146-banner .fil146-mobile-content:only-child{min-height:160px}
}
@media (prefers-reduced-motion:reduce){html body.fil-pages-premium #main-view .fil146-banner *,html body.fil-pages-premium #main-view .fil146-banner{transition:none!important;animation:none!important}}

/* Dans l'éditeur, restaurer les champs de l'ancien bandeau sans modifier les données. */
html body.fil-pages-premium.fil-editor-open #main-view .fil146-banner>.fil146-source-markup{display:block!important;position:relative!important;z-index:5!important;visibility:visible!important;}
html body.fil-pages-premium.fil-editor-open #main-view .fil146-banner>:is(.fil146-image,.fil146-sr-only,.fil146-mobile-content,.fil146-desktop-actions){display:none!important;}
html body.fil-pages-premium.fil-editor-open #main-view .fil146-banner{aspect-ratio:auto!important;min-height:200px!important;}


/* ===== Composant : fil-v147-pages.css ===== */
/* V147 — refonte des fiches en CSS isolée au mode Premium. */
html body.fil-pages-premium #app-root #main-view{--fil147-glow:#cd41ff;--fil147-blue:#4d8bff;--fil147-edge:rgba(196,108,255,.86);--fil147-paper:#f9f4ff}
html body.fil-pages-premium #main-view .fil147-directory,
html body.fil-pages-premium #main-view .fil147-agenda{min-width:0;color:#fff}
html body.fil-pages-premium #main-view .fil147-discovery{position:relative;isolation:isolate;overflow:hidden;padding:17px 19px 13px;margin:0 0 12px;border:1.4px solid #9e5dff;border-radius:13px;background:radial-gradient(ellipse at 78% 5%,rgba(89,66,243,.36),transparent 45%),linear-gradient(116deg,#091337 0%,#19104a 58%,#101b4f 100%);box-shadow:0 0 20px rgba(139,54,252,.21),inset 0 0 20px rgba(45,54,160,.15)}
html body.fil-pages-premium #main-view .fil147-discovery::after{content:"";position:absolute;inset:auto -3% 0;height:34px;background:radial-gradient(ellipse at 73% 100%,rgba(249,45,255,.65),transparent 65%),linear-gradient(166deg,transparent 34%,rgba(47,139,255,.65) 45%,rgba(219,48,255,.75) 50%,transparent 58%);filter:blur(4px);opacity:.7;pointer-events:none;z-index:-1}
html body.fil-pages-premium #main-view .fil147-discovery-heading{display:flex;gap:12px;align-items:center;margin-bottom:11px}
html body.fil-pages-premium #main-view .fil147-badge{width:35px;height:35px;display:grid;place-items:center;border:1px solid #e783ff;background:linear-gradient(145deg,#5c156c,#250840);border-radius:9px;box-shadow:0 0 11px #c646e7;font-size:17px;color:white}
html body.fil-pages-premium #main-view .fil147-discovery-heading small{font-size:9px;color:#78e3ff;letter-spacing:.1em;font-weight:800;display:block}
html body.fil-pages-premium #main-view .fil147-discovery-heading h2{font-weight:850;font-size:clamp(17px,1.6vw,24px);line-height:1.05;color:#fff!important;margin:2px 0 0}
html body.fil-pages-premium #main-view .fil147-discovery-content{display:grid;grid-template-columns:26px minmax(0,1fr) 26px;align-items:center;gap:11px}
html body.fil-pages-premium #main-view .fil147-interest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html body.fil-pages-premium #main-view .fil147-interest{display:flex;align-items:center;text-align:left;gap:12px;min-width:0;min-height:64px;padding:8px 13px;border:1px solid #ba73ff;border-radius:9px;background:linear-gradient(125deg,#102050,#241148 65%,#101d55);box-shadow:inset 0 0 12px rgba(79,91,236,.3);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
html body.fil-pages-premium #main-view .fil147-interest:nth-child(2){background:linear-gradient(125deg,#3a0e5a,#251447 80%)}
html body.fil-pages-premium #main-view .fil147-interest:nth-child(3){background:linear-gradient(125deg,#192552,#21114e)}
html body.fil-pages-premium #main-view .fil147-interest i{font-size:26px;color:#a5bbff;filter:drop-shadow(0 0 7px #8d52fd);width:31px;text-align:center;flex:none}
html body.fil-pages-premium #main-view .fil147-interest:nth-child(2) i{color:#ff76d2}
html body.fil-pages-premium #main-view .fil147-interest:nth-child(3) i{color:#c6b3ff}
html body.fil-pages-premium #main-view .fil147-interest strong{display:block;font-size:13px;line-height:1.2;font-weight:800;white-space:normal;color:#fff!important}
html body.fil-pages-premium #main-view .fil147-interest small{display:block;font-size:10px;color:#e3d9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
html body.fil-pages-premium #main-view .fil147-interest:hover,html body.fil-pages-premium #main-view .fil147-interest.is-selected{transform:translateY(-2px);border-color:#ff7bf7;box-shadow:0 0 17px rgba(217,63,255,.7),inset 0 0 11px rgba(172,56,255,.37)}
html body.fil-pages-premium #main-view .fil147-interest:focus-visible,html body.fil-pages-premium #main-view .fil147-discovery-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
html body.fil-pages-premium #main-view .fil147-discovery-arrow{width:27px;height:27px;border:1px solid #e56bff;border-radius:50%;display:grid;place-items:center;color:#fff;background:#210c46;box-shadow:0 0 10px #8b3ae1;cursor:pointer}
html body.fil-pages-premium #main-view .fil147-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}
html body.fil-pages-premium #main-view .fil147-dots b{width:5px;height:5px;border-radius:99px;background:#65547e}
html body.fil-pages-premium #main-view .fil147-dots b:first-child{background:#fb62ee;box-shadow:0 0 9px #ff53f9}
html body.fil-pages-premium #main-view .fil-directory-toolbar{border:1.5px solid #b861f7!important;background:linear-gradient(115deg,rgba(36,11,71,.98),rgba(7,19,62,.99))!important;border-radius:12px!important;box-shadow:0 0 13px rgba(195,46,255,.26)!important;padding:16px!important;margin-bottom:13px!important;align-items:end;gap:12px}
html body.fil-pages-premium #main-view .fil-directory-toolbar::before{content:"⌕  Rechercher une association";font-size:16px;font-weight:800;color:#fff;display:block;flex-basis:100%;letter-spacing:.01em}
html body.fil-pages-premium #main-view [data-fil-directory="commerces"] .fil-directory-toolbar::before{content:"⌕  Rechercher une boutique"}
html body.fil-pages-premium #main-view [data-fil-directory="services"] .fil-directory-toolbar::before{content:"⌕  Rechercher un service"}
html body.fil-pages-premium #main-view .fil-directory-toolbar label{color:#fff!important;font-size:11px;font-weight:700;min-width:0;flex:1 1 170px}
html body.fil-pages-premium #main-view .fil-directory-toolbar input,html body.fil-pages-premium #main-view .fil-directory-toolbar select{width:100%;min-height:36px!important;padding:7px 10px!important;background:rgba(24,13,53,.95)!important;border:1px solid #a85ae4!important;color:#fff!important;border-radius:7px!important;box-shadow:inset 0 0 8px rgba(104,66,166,.15)!important}
html body.fil-pages-premium #main-view .fil-directory-toolbar [data-directory-count]{align-self:end;color:#fff;font-weight:850;font-size:15px;white-space:nowrap;padding:0 5px 9px}
html body.fil-pages-premium #main-view .fil147-directory .fil-directory-grid:not(.fil-grid-host){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
html body.fil-pages-premium #main-view .fil147-directory article.fil-public-card{position:relative;isolation:isolate;min-width:0;min-height:235px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:13px!important;border:1.5px solid #bd6fff!important;border-radius:12px!important;color:#fff!important;background:radial-gradient(ellipse at 100% 60%,rgba(60,68,188,.48),transparent 54%),linear-gradient(140deg,#1b103c,#17113c 65%,#111d52)!important;box-shadow:0 0 10px rgba(197,80,249,.44),inset 0 0 18px rgba(61,39,122,.29)!important;transition:transform .2s ease,box-shadow .2s ease}
html body.fil-pages-premium #main-view .fil147-directory article.fil-public-card:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(229,91,255,.72),inset 0 0 22px rgba(125,51,201,.24)!important}
html body.fil-pages-premium #main-view .fil147-directory article.fil-public-card[hidden]{display:none!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-heading{position:relative;z-index:2;display:flex!important;justify-content:space-between;gap:8px;align-items:start;margin:0 0 7px!important;padding:0!important;border:0!important;background:transparent!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-identity{display:flex;gap:10px;align-items:center;min-width:0;max-width:75%}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-symbol{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid #ffd7fa;border-radius:8px;background:linear-gradient(145deg,#fff2ff,#ffc3ef);color:#e52697;box-shadow:0 0 8px rgba(255,89,233,.45)}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-eyebrow{display:block;font-size:9px;color:#f68adf!important;letter-spacing:.025em;font-weight:750}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-heading h3{font-size:clamp(15px,1.4vw,20px);line-height:1.05;color:#fff!important;font-weight:850;margin:3px 0 0;max-width:30ch}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-meta{display:flex;align-items:center;gap:6px;min-width:0}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-category{font-size:9px;color:#fff!important;border:1px solid #e796ff;border-radius:6px;padding:3px 7px;line-height:1.1;background:#220b49!important;box-shadow:0 0 6px rgba(210,82,255,.4);max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-heart{position:relative;z-index:5;flex:none;width:30px!important;height:30px!important;border:1px solid #c68ef7!important;border-radius:7px;background:rgba(20,11,55,.86)!important;color:#fff!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-heart.is-saved{color:#ff5eab!important;border-color:#f857c5!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;flex:1;max-width:73%;min-width:0;align-items:flex-start;padding:0!important;margin:0!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-description{margin:0!important;font-size:11px;line-height:1.38;color:#f4edff!important;max-width:100%;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-address{font-size:10px;line-height:1.25;color:#fff!important;display:flex;gap:6px;margin:0!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-address i{color:#f878d8}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-contact{display:flex;flex-wrap:wrap;gap:5px;margin:0!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-contact a{font-size:10px;padding:4px 8px;background:#201248;border:1px solid #b770fd;border-radius:6px;color:#fff!important;white-space:nowrap}
html body.fil-pages-premium #main-view .fil147-directory .fil-directory-cover{position:absolute;inset:33px 0 32px auto;width:36%;height:auto;border-radius:0;opacity:.85;mask-image:linear-gradient(90deg,transparent,#000 30%);pointer-events:none}
html body.fil-pages-premium #main-view .fil147-directory .fil-directory-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
html body.fil-pages-premium #main-view .fil147-directory .fil147-art{position:absolute;z-index:0;pointer-events:none;inset:41px -4px 31px auto;width:38%;display:grid;place-items:center;color:rgba(178,141,255,.85);background:radial-gradient(ellipse at 70% 50%,rgba(206,57,255,.2),transparent 72%)}
html body.fil-pages-premium #main-view .fil147-directory .fil147-art i{font-size:clamp(65px,8vw,125px);filter:drop-shadow(0 0 22px rgba(160,67,255,.65));opacity:.65;transform:rotate(-12deg)}
html body.fil-pages-premium #main-view .fil147-directory .fil147-art-rings{position:absolute;width:85%;aspect-ratio:1;border:1px solid rgba(145,107,254,.25);border-radius:50%;transform:rotate(-20deg)}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-actions{position:relative;z-index:3;margin-top:auto!important;display:flex!important;gap:7px;padding:7px 0 0!important;align-items:stretch}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-primary{min-width:0;flex:1;min-height:32px!important;margin:0!important;font-size:11px;font-weight:800;border:1px solid #e998ff!important;border-radius:7px!important;color:#fff!important;background:linear-gradient(110deg,#9122f5 0%,#d82bdc 64%,#ff952e 100%)!important;box-shadow:0 0 10px rgba(234,53,254,.65)!important}
html body.fil-pages-premium #main-view .fil147-directory .fil147-share{display:flex;gap:5px;align-items:center;justify-content:center;border:1px solid #c17afa;border-radius:7px;color:#fff;background:#1b103b;padding:5px 9px;font-size:11px;cursor:pointer}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-brand-foot{position:absolute;right:10px;bottom:51px;z-index:1;width:42px!important;height:42px!important;padding:0!important;overflow:hidden;border:0;background:transparent!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-brand-foot img{width:38px;height:38px;object-fit:contain}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-brand-foot>*:not(img){display:none!important}
html body.fil-pages-premium #main-view .fil147-directory .fil-card-site-logo{display:none!important}
/* Agenda: cartes, calendrier, filtres et actions toujours branchés sur les handlers existants. */
html body.fil-pages-premium #main-view .fil147-agenda .fil-v84-agenda-list.fil-directory-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
html body.fil-pages-premium #main-view .fil147-agenda article.fil-v87-event-card{min-width:0;border:1px solid #bd72f8!important;border-radius:12px!important;overflow:hidden;background:linear-gradient(150deg,#191139,#111a42)!important;box-shadow:0 0 13px rgba(160,63,241,.38)!important}
html body.fil-pages-premium #main-view .fil147-agenda .fil-card-primary{background:linear-gradient(105deg,#9022ed,#ec3ce6)!important;color:white!important}
html body.fil-pages-premium #main-view .fil147-agenda .fil-v84-calendar{background:#110c2e;color:#fff;border:1px solid #9e67ff}
html body.fil-pages-premium #main-view .fil147-agenda .fil-v84-calendar button[aria-pressed="true"]{background:linear-gradient(135deg,#a52cff,#eb33c3)!important;color:#fff!important}
/* Boutiques et restaurants : même palette, sans effacer les données et photos. */
html body.fil-pages-premium #main-view[data-page="restauration"] :is(.fil-v27-spotlight,.resto-card,.fil-resto-card){background:linear-gradient(145deg,#17103c,#241039)!important;border-color:#b65cff!important;color:#fff!important}
/* Musique reste rouge indépendamment des autres rubriques. */
html body.fil-pages-premium.fil-theme-music #main-view{--fil147-glow:#ef3e5d!important}
@media(max-width:1000px){html body.fil-pages-premium #main-view .fil147-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){
 html body.fil-pages-premium #main-view .fil147-discovery{padding:12px;margin-bottom:10px}
 html body.fil-pages-premium #main-view .fil147-discovery-content{grid-template-columns:23px minmax(0,1fr) 23px;gap:5px}
 html body.fil-pages-premium #main-view .fil147-interest-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;scrollbar-width:none}
 html body.fil-pages-premium #main-view .fil147-interest{min-width:77%;flex:0 0 77%;scroll-snap-align:center;min-height:54px}
 html body.fil-pages-premium #main-view .fil147-discovery-arrow{width:23px;height:23px}
 html body.fil-pages-premium #main-view .fil-directory-toolbar{padding:11px!important;gap:8px}
 html body.fil-pages-premium #main-view .fil147-directory .fil-directory-grid:not(.fil-grid-host){grid-template-columns:minmax(0,1fr)!important}
 html body.fil-pages-premium #main-view .fil147-directory article.fil-public-card{min-height:225px!important}
 html body.fil-pages-premium #main-view .fil147-directory .fil-card-description{font-size:11px}
 html body.fil-pages-premium #main-view .fil147-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #main-view .fil147-interest,html body.fil-pages-premium #main-view .fil147-directory article.fil-public-card{transition:none!important}}
/* Météo : cinq jours, valeurs réellement fournies par Open-Meteo, source et état indisponible visibles. */
html body.fil-pages-premium #main-view .fil-v52-meteo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;color:#fff}
html body.fil-pages-premium #main-view .fil-v52-meteo-layout > section{min-width:0;border:1.5px solid rgba(170,91,251,.8);border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 85% 13%,rgba(54,77,202,.42),transparent 62%),linear-gradient(120deg,#130d32,#111a4d)!important;box-shadow:0 0 18px rgba(142,47,224,.25);color:#fff!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-hero{padding:25px 30px!important;background:linear-gradient(110deg,#1e1248,#13194d)!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-hero h1{font-size:clamp(25px,3vw,38px);font-weight:900;letter-spacing:-.035em;color:#fff!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-hero p{color:#ddd1f7!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-layout #local-weather{padding:22px!important;background:radial-gradient(ellipse at 70% 10%,rgba(34,134,231,.43),transparent 50%),linear-gradient(100deg,#251052,#0c214e)!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-layout #local-weather :is(h2,strong,p,span){color:#fff!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-layout #local-weather .grid{gap:12px}
html body.fil-pages-premium #main-view .fil-v52-meteo-layout #local-weather .grid>div{border-radius:12px;background:linear-gradient(145deg,#2d174f,#142752)!important;border:1px solid #8766ea;color:#fff!important}
html body.fil-pages-premium #main-view .fil-v53-weather-extended{padding:19px!important}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-weather-details{color:#fff!important}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-weather-details h2,html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-weather-details h3{color:#fff!important;font-size:clamp(18px,2vw,24px);font-weight:850}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid>div,
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days>div{min-width:0;border:1px solid #8864dc;border-radius:11px;padding:13px 7px;text-align:center;background:linear-gradient(145deg,#251344,#101b4f);box-shadow:inset 0 0 11px #6631b51f;color:#fff!important}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid>div span,
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days>div span{display:block;color:#e5d5ff!important;font-size:12px}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid>div strong,
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days>div strong{color:#fff!important;font-weight:900;font-size:18px}
html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
html body.fil-pages-premium #main-view .fil-v53-weather-extended a{color:#b8d8ff!important;text-decoration:underline}
html body.fil-pages-premium #main-view .fil-v53-weather-extended button[data-v53-weather-retry],
html body.fil-pages-premium #main-view .fil-v53-snake-teaser button{border:1px solid #f18aff!important;border-radius:10px!important;background:linear-gradient(110deg,#7925dd,#d329d5)!important;color:#fff!important;min-height:38px;padding:9px 18px;cursor:pointer}
html body.fil-pages-premium #main-view .fil-v53-snake-teaser{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 25px!important}
html body.fil-pages-premium #main-view .fil-v53-snake-teaser strong{color:#fff!important;font-size:20px}
html body.fil-pages-premium #main-view .fil-v52-meteo-sources{padding:18px!important;color:#f3eaff!important}
html body.fil-pages-premium #main-view .fil-v52-meteo-sources a{color:#a6e0ff!important}
/* Accueil : amélioration des alignements sans déplacer ni masquer les vrais contenus. */
html body.fil-pages-premium #main-view .fil147-home>.home-events .fil-v85-event-grid{align-items:stretch!important;gap:13px!important}
html body.fil-pages-premium #main-view .fil147-home>.home-events .fil-v140-event{border:1.5px solid #a66afc!important;box-shadow:0 0 13px rgba(177,50,254,.38)!important;border-radius:12px!important;overflow:hidden}
html body.fil-pages-premium #main-view .fil147-home>.home-events .fil-v140-event :is(button,a):focus-visible{outline:2px solid #fff!important;outline-offset:2px}
/* Fiches : fenêtre détail dans le thème Premium uniquement. */
html body.fil-pages-premium #modal-detail-content .fil-record-unified{color:#fff!important;background:linear-gradient(145deg,#171039,#101842)!important;border:1px solid #b86dff;border-radius:15px;box-shadow:0 0 23px rgba(175,65,247,.25)}
html body.fil-pages-premium #modal-detail-content .fil-record-unified .fil-u-section,
html body.fil-pages-premium #modal-detail-content .fil-record-unified .fil-u-practical,
html body.fil-pages-premium #modal-detail-content .fil-record-unified .fil-u-tools{background:rgba(27,18,65,.8)!important;color:#f5ecff!important;border:1px solid #704ba5!important}
html body.fil-pages-premium #modal-detail-content .fil-record-unified :is(h1,h2,h3,p,dt,dd,small,strong){color:inherit}
@media(max-width:780px){html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:470px){html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days{grid-template-columns:repeat(2,minmax(0,1fr))}html body.fil-pages-premium #main-view .fil-v53-snake-teaser{flex-direction:column;align-items:flex-start}}
html body.fil-pages-premium #app-root #main-view .fil147-directory article.fil-v87-directory{height:auto!important;aspect-ratio:auto!important;min-height:252px!important;max-height:none!important}
html body.fil-pages-premium #app-root #main-view .fil147-directory .fil-card-brand-foot{margin:0!important}


/* ===== Composant : fil-v148-layout.css ===== */
/* V148 — Finitions des bandeaux et cartes de l'annuaire, thème Néon Premium uniquement.
   Aucune modification des données, des logos ou du thème Original. */

/* L'ancienne feuille globale forçait une hauteur minimale plus importante que
   l'image du bandeau : cela créait une vaste zone vide sous le visuel. */
html body.fil-pages-premium #app-root #main-view > .fil-v84-page-hero.fil146-banner,
html body.fil-pages-premium #app-root #main-view > .fil-v98-menu-hero.fil146-banner,
html body.fil-pages-premium #app-root #main-view .fil-v96-hero.fil146-banner {
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  aspect-ratio:var(--fil146-ratio,1016 / 169)!important;
  padding:0!important;
  margin:0 0 16px!important;
  border:0!important;
  border-radius:15px!important;
  background:#100b33!important;
  box-shadow:0 0 0 1px rgba(199,111,255,.9),0 0 18px rgba(187,45,255,.29)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body.fil-pages-premium #app-root #main-view > .fil-v84-page-hero.fil146-banner::before,
html body.fil-pages-premium #app-root #main-view > .fil-v84-page-hero.fil146-banner::after,
html body.fil-pages-premium #app-root #main-view .fil-v96-hero.fil146-banner::before,
html body.fil-pages-premium #app-root #main-view .fil-v96-hero.fil146-banner::after {
  display:none!important;content:none!important;
}
html body.fil-pages-premium #app-root #main-view .fil146-banner > .fil146-image {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  max-width:none!important;
  opacity:1!important;
  filter:none!important;
  border:0!important;
  border-radius:inherit!important;
}
html body.fil-pages-premium #app-root #main-view .fil146-banner > .fil146-source-markup {display:none!important;}
html body.fil-pages-premium.fil-editor-open #app-root #main-view .fil146-banner > .fil146-source-markup {
  display:block!important;position:relative!important;z-index:8!important;
}
html body.fil-pages-premium.fil-editor-open #app-root #main-view .fil146-banner {
  aspect-ratio:auto!important;min-height:180px!important;height:auto!important;
}
html body.fil-pages-premium.fil-editor-open #app-root #main-view .fil146-banner > .fil146-image {display:none!important;}

/* Trois colonnes PC ; deux tablette ; une mobile. La règle comprend la page
   Restaurants, qui n'héritait pas de fil147-directory. */
html body.fil-pages-premium #app-root #main-view :is([data-fil-directory="associations"],[data-fil-directory="commerces"],[data-fil-directory="services"],[data-fil-directory="restauration"]) .fil-directory-grid[data-directory-results],
html body.fil-pages-premium #app-root #main-view .fil-favorites-group .fil-directory-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
}
html body.fil-pages-premium #app-root #main-view :is([data-fil-directory="associations"],[data-fil-directory="commerces"],[data-fil-directory="services"],[data-fil-directory="restauration"]) .fil-directory-grid > article.fil-public-card,
html body.fil-pages-premium #app-root #main-view .fil-favorites-group .fil-directory-grid > article.fil-public-card {
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  min-height:312px!important;
  aspect-ratio:auto!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid #a86beb!important;
  border-radius:12px!important;
  background:linear-gradient(148deg,#231147,#17133d 58%,#111b43)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 0 10px rgba(165,71,235,.27)!important;
  color:#fff!important;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card:hover {
  transform:translateY(-2px);border-color:#e48aff!important;
  box-shadow:0 0 18px rgba(207,64,244,.49)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card[hidden] {display:none!important;}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-heading {
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  position:relative!important;z-index:2!important;
  min-height:72px!important;flex:none!important;
  width:100%!important;margin:0!important;padding:15px 14px 10px!important;
  border-bottom:1px solid rgba(170,128,235,.52)!important;
  background:linear-gradient(120deg,rgba(91,40,145,.3),rgba(28,24,78,.15))!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-heading h3 {
  font-size:clamp(15px,1.3vw,19px)!important;line-height:1.13!important;
  font-weight:800!important;color:#fff!important;margin:3px 0 0!important;
  overflow-wrap:anywhere!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-identity {
  display:flex!important;align-items:center!important;gap:9px!important;max-width:80%!important;min-width:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-copy {
  position:relative!important;z-index:2!important;
  max-width:none!important;width:100%!important;
  min-width:0!important;min-height:118px!important;
  flex:1 1 auto!important;
  gap:8px!important;padding:14px!important;
  align-items:flex-start!important;
  background:rgba(5,8,30,.17)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-description {
  max-width:100%!important;
  font-size:12px!important;line-height:1.46!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;
  line-clamp:4!important;overflow:hidden!important;
  color:#f5edff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-address {
  display:flex!important;gap:6px!important;color:#ede6fa!important;
  font-size:11px!important;line-height:1.35!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-contact {
  display:flex!important;flex-wrap:wrap!important;gap:6px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-contact a {
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  font-size:11px!important;border-radius:7px!important;
  min-height:29px!important;padding:5px 9px!important;
  background:rgba(45,23,92,.9)!important;
  border:1px solid rgba(191,122,250,.9)!important;
  color:#fff!important;
}
/* Les images restent les vraies images présentes dans les fiches. Pas de faux logos. */
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-directory-cover {
  position:relative!important;inset:auto!important;order:-1!important;
  display:block!important;flex:none!important;
  width:100%!important;height:125px!important;min-height:0!important;
  overflow:hidden!important;mask-image:none!important;
  opacity:1!important;pointer-events:auto!important;
  border-radius:0!important;margin:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-directory-cover img {
  width:100%!important;height:100%!important;
  object-fit:var(--record-media-fit,cover)!important;
  object-position:var(--record-media-position,center)!important;
  border-radius:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil147-art {
  position:absolute!important;inset:auto 2px 54px auto!important;width:92px!important;height:92px!important;
  opacity:.23!important;pointer-events:none!important;z-index:0!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-actions {
  flex:none!important;position:relative!important;z-index:3!important;
  display:flex!important;gap:7px!important;align-items:stretch!important;
  width:100%!important;margin:0!important;
  padding:11px 13px!important;
  background:linear-gradient(145deg,#20114a,#111439)!important;
  border-top:1px solid rgba(172,105,233,.44)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-primary {
  min-width:0!important;flex:1 1 auto!important;min-height:37px!important;
  border-radius:8px!important;
  background:linear-gradient(100deg,#8d24f4 0%,#d72ad1 60%,#ff944d 100%)!important;
  border:1px solid #f3a5f9!important;
  color:#fff!important;font-size:12px!important;
  box-shadow:0 0 11px rgba(225,49,245,.35)!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil147-share {
  min-width:37px;min-height:37px;border-radius:8px;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-brand-foot {
  position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;
  flex:none!important;order:4!important;width:100%!important;height:auto!important;
  min-height:50px!important;max-height:none!important;
  margin:0!important;padding:8px 13px!important;
  overflow:hidden!important;border:0!important;
  border-top:1px solid rgba(166,107,245,.53)!important;
  background:#130d37!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-brand-foot > img {
  width:30px!important;height:30px!important;object-fit:contain!important;margin-right:8px!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-brand-foot > div {
  display:block!important;min-width:0!important;
  font-size:10px!important;line-height:1.24!important;color:#f8eeff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-brand-foot p,
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-brand-foot a {
  font-size:10px!important;color:#f8eeff!important;
}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card .fil-card-site-logo {display:none!important;}

@media (max-width:1100px) and (min-width:701px) {
  html body.fil-pages-premium #app-root #main-view :is([data-fil-directory="associations"],[data-fil-directory="commerces"],[data-fil-directory="services"],[data-fil-directory="restauration"]) .fil-directory-grid[data-directory-results],
  html body.fil-pages-premium #app-root #main-view .fil-favorites-group .fil-directory-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  html body.fil-pages-premium #app-root #main-view :is([data-fil-directory="associations"],[data-fil-directory="commerces"],[data-fil-directory="services"],[data-fil-directory="restauration"]) .fil-directory-grid[data-directory-results],
  html body.fil-pages-premium #app-root #main-view .fil-favorites-group .fil-directory-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body.fil-pages-premium #app-root #main-view > .fil-v84-page-hero.fil146-banner,
  html body.fil-pages-premium #app-root #main-view > .fil-v98-menu-hero.fil146-banner,
  html body.fil-pages-premium #app-root #main-view .fil-v96-hero.fil146-banner {
    aspect-ratio:auto!important;min-height:190px!important;height:auto!important;
    border:1px solid #c86ef6!important;margin:0 0 14px!important;
    padding:20px 15px!important;
  }
  html body.fil-pages-premium #app-root #main-view .fil146-banner > .fil146-image {
    object-fit:cover!important;object-position:85% center!important;opacity:.72!important;
  }
  html body.fil-pages-premium #app-root #main-view .fil146-banner .fil146-mobile-content {
    display:flex!important;position:relative!important;z-index:2!important;
    flex-direction:column!important;gap:7px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body.fil-pages-premium #app-root #main-view .fil-directory-grid > article.fil-public-card {transition:none!important;}
}


/* ===== Composant : fil-native-v149.css ===== */
/* Géométrie du dock : sept destinations et deux rangs indépendants. */





[data-nav-zone]){display:contents!important}



.site-footer-link,.fil-visitor-count,#cookie-status){
 display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;
 color:white!important;border:1px solid #9764be!important;border-radius:6px!important;
 background:linear-gradient(155deg,#4c2a67,#1b102d 65%)!important;
}
a):is(:hover,:focus-visible){
 filter:brightness(1.3);outline:1px solid #f3a2ff!important;outline-offset:-2px;
}
a):active{transform:scale(.96)!important;filter:brightness(1.55)}
@media(max-width:900px){
 
 button,.fil-visitor-count){font-size:10px!important; min-height:24px!important}
}
html body.fil-pages-premium #app-root #main-view .fil146-banner[data-fil146-applied] {
 aspect-ratio:auto!important;height:auto!important;min-height:0!important;padding:0!important;
 background:radial-gradient(ellipse at 92% 123%,#7931bc 0,transparent 45%),linear-gradient(115deg,#191132,#0b102b 64%,#20113a)!important;
}
.fil149-copy{position:relative;padding:clamp(18px,2.6vw,42px);color:white;border-bottom:2px solid #aa56ff}
.fil149-copy small{font:700 .74rem/1.2 system-ui;letter-spacing:.14em;color:#74eaff}
html body.fil-pages-premium #main-view .fil149-copy h1{display:block!important;font:800 clamp(1.65rem,3.2vw,3.1rem)/1.06 system-ui!important;color:#fff!important;margin:.25em 0!important}
.fil149-copy p{margin:0;max-width:65ch;color:#eee5ff}
.fil149-copy nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.fil149-copy a{padding:8px 13px;border:1px solid #c886fb;border-radius:8px;background:#342056;color:white}
.fil149-copy a:is(:hover,:focus-visible){background:#662c90}
body.fil-editor-open .fil149-copy{display:none}
@media(prefers-reduced-motion:reduce){}


/* ===== Composant : neon-dock-v150.css ===== */
@charset "UTF-8";
/* Le Fil — V149 Nav / Footer validé. Strictement Néon Premium.
   Deux rangées : 7 destinations + 4 réseaux, puis site / visiteurs / cookies.
   Aucun changement de données, destinations ni composants du thème Original. */










[aria-current="page"]) {
  border-color:#f5acff!important;
  background:linear-gradient(121deg,#c12cff 0%,#e21bd5 43%,#ff53a3 72%,#ff8e57 100%)!important;
  box-shadow:inset 0 1px #fff9,0 0 17px #f526ffe0,0 0 4px #f8dfff!important;
}
:focus-visible) {
  transform:translateY(-3px)!important;filter:brightness(1.18)!important;
  border-color:#f5b9ff!important;
  box-shadow:inset 0 1px #fff9,0 0 18px #c92dfbbb,0 0 4px #feccff!important;
}

.site-footer-link,#cookie-status):focus-visible {
  outline:2px solid #7ae5ff!important;outline-offset:2px!important;
}

@keyframes fil150-ink {to{opacity:0;transform:translate(-50%,-50%) scale(6)}}
/* La configuration administrateur peut insérer les composants dans des zones :
   display:contents préserve leurs nœuds, URL, compteur et événements. */




:focus-visible):not(.is-disabled) {
  transform:translateY(-3px)!important;filter:brightness(1.2)!important;
  box-shadow:0 0 14px #ef44ffbf,inset 0 1px #ffe6ffc9!important;
}

.fil-visitor-count,#cookie-status) {
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:45px!important;min-height:45px!important;max-height:45px!important;
  margin:0!important;padding:4px 12px!important;
  border:1px solid #a65ee1!important;border-radius:999px!important;
  background:linear-gradient(180deg,#44196b 0%,#201036 43%,#1c0b3c 100%)!important;
  box-shadow:inset 0 1px #d8a8ff60,0 0 7px #b73de77a!important;
  color:#fff!important;font:750 clamp(12px,1.25vw,18px)/1.1 Outfit,Inter,system-ui,sans-serif!important;
  text-decoration:none!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important;
}



#cookie-status):is(:hover,:focus-visible) {
  filter:brightness(1.2)!important;border-color:#e5adff!important;box-shadow:0 0 12px #cb47e2bf!important;
}

.site-footer-link,#cookie-status) :is(i,strong,span) {color:inherit!important}
/* Intermédiaire : préserver sept touches et les réseaux sans chevauchement. */
@media(max-width:1080px) and (min-width:701px){
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status){height:34px!important;min-height:34px!important;max-height:34px!important;padding:3px 6px!important;font-size:11px!important}
}
@media(max-width:700px){
 
 
 
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status){
  height:27px!important;min-height:27px!important;max-height:27px!important;
  padding:2px 2px!important;gap:3px!important;font-size:clamp(8px,2.15vw,11px)!important;border-radius:999px!important;
 }
 
}
@media(prefers-reduced-motion:reduce){
 
}
/* Ordre fixé par la planche validée, même lorsque l'administration publie ses données. */














/* ===== Composant : neon-dock-v149c-fix.css ===== */
@charset "UTF-8";
/* Le Fil de Prades-le-Lez · V149c · Correction STRICTEMENT Néon Premium.
   Référence 2026-11-06 17:08 : navigation et bloc social côte à côte,
   7 onglets / 4 réseaux + 3 informations. Aucun changement de template Original. */


/* Zone gauche : une seule ligne de sept grands boutons — jamais de chevauchement. */






[aria-current="page"]) {
 border-color:#fbbbff!important;
 background:linear-gradient(125deg,#b728fa 0%,#d51de2 35%,#f243a8 75%,#ff9152 100%)!important;
 box-shadow:inset 0 1px #ffffffbc,0 0 13px #fc44faca,0 2px 12px #e300ff78!important;
}
:focus-visible) {
 border-color:#fad7ff!important;filter:brightness(1.17)!important;
 transform:translateY(-3px)!important;
 box-shadow:inset 0 1px #fff,0 0 18px #e131fbd9,0 2px 6px #9700da!important;
}

/* Zone droite : réseau sur 1re ligne ; domaine, visites, cookies sur 2e ligne. */





.fil-visitor-count,#cookie-status) {
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex-flow:row nowrap!important;gap:5px!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 height:32px!important;min-height:32px!important;max-height:32px!important;
 box-sizing:border-box!important;margin:0!important;padding:3px 5px!important;
 color:white!important;border:1px solid #ad65d4!important;border-radius:999px!important;
 background:linear-gradient(180deg,#39205f 0%,#140c30 100%)!important;
 box-shadow:inset 0 1px #d4a7ff70,0 0 3px #b64ce877!important;
 font:750 clamp(10px,.98vw,14px)/1.1 Outfit,Inter,system-ui,sans-serif!important;
 text-decoration:none!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;
}



:focus-visible),#cookie-status):is(:hover,:focus-visible) {
 filter:brightness(1.25)!important;transform:translateY(-2px)!important;
 box-shadow:0 0 13px #d139f5a0,inset 0 1px #f0c7ff!important;
}
.site-footer-link,#cookie-status):focus-visible {
 outline:2px solid #68dcff!important;outline-offset:2px!important;
}
.site-footer-link,#cookie-status):active {
 transform:scale(.96)!important;filter:brightness(1.35)!important;
}
/* Tablettes : on réserve toute une ligne aux sept rubriques, sans les comprimer. */
@media(max-width:1050px){
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status) {height:30px!important;min-height:30px!important;max-height:30px!important;font-size:clamp(10px,1.6vw,13px)!important}
}
@media(max-width:520px){
 
 
 
 
 
 
 
 
 
 .fil-visitor-count,#cookie-status) {height:27px!important;min-height:27px!important;max-height:27px!important;padding:2px 2px!important;gap:2px!important;font-size:clamp(8px,2.1vw,10px)!important}
 
}
@media(prefers-reduced-motion:reduce){
 
}
/* ===== Panneaux interactifs ===== */
/* LE FIL — V150 centre de contrôle néon premium. */
html body.fil-pages-premium #fil145-window[hidden]{display:none!important}
html body.fil-pages-premium #fil145-window{
  --fg:#fff;--muted:#dfd3fa;--line:rgba(227,170,255,.28);--pink:#ff5ce5;--cyan:#5fd7ff;
  position:fixed!important;z-index:999998!important;width:min(505px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden!important;
  display:flex!important;flex-direction:column!important;color:var(--fg)!important;border-radius:24px!important;
  border:1px solid rgba(225,166,255,.78)!important; background:linear-gradient(145deg,rgba(62,20,112,.96) 0%,rgba(25,17,72,.98) 52%,rgba(6,14,54,.99) 100%)!important;
  box-shadow:0 26px 90px rgba(0,0,0,.62),0 0 0 1px rgba(250,187,255,.12),0 0 42px rgba(230,74,255,.24),inset 0 1px 0 rgba(255,255,255,.22)!important;
  backdrop-filter:blur(24px) saturate(160%)!important;-webkit-backdrop-filter:blur(24px) saturate(160%)!important;isolation:isolate;
  font-family:Inter,Outfit,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  animation:fil150-appear .28s cubic-bezier(.22,1,.36,1) both!important;
}
html body.fil-pages-premium #fil145-window::before{content:"";position:absolute;inset:auto -10% -18% -10%;height:38%;background:radial-gradient(circle at 50% 0%,rgba(255,30,204,.24),transparent 55%),radial-gradient(circle at 50% 100%,rgba(0,190,255,.16),transparent 57%);pointer-events:none;z-index:-1}
html body.fil-pages-premium #fil145-window::after{content:"";position:absolute;inset:1px;border-radius:23px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 18%,transparent 65%,rgba(85,200,255,.08))}
html body.fil-pages-premium #fil145-window *{box-sizing:border-box!important}
html body.fil-pages-premium #fil145-window .fil145-window-head{display:flex!important;align-items:center!important;gap:14px!important;padding:16px 18px 14px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,rgba(116,37,181,.34),rgba(16,9,57,.12))!important}
html body.fil-pages-premium #fil145-window .fil145-window-head>i{width:50px!important;height:50px!important;flex:0 0 50px!important;border-radius:999px!important;display:grid!important;place-items:center!important;font-size:22px!important;color:#fff!important;background:radial-gradient(circle at 30% 30%,#ff7ef6 0,#9537d8 44%,#5a1f98 100%)!important;border:2px solid rgba(255,255,255,.45)!important;box-shadow:0 0 18px rgba(255,90,230,.38),inset 0 1px 0 rgba(255,255,255,.45)!important}
html body.fil-pages-premium #fil145-window .fil145-title-group{display:grid!important;gap:2px!important;min-width:0!important;flex:1 1 auto!important}
html body.fil-pages-premium #fil145-window .fil145-window-head h2{margin:0!important;font-size:20px!important;font-weight:850!important;line-height:1.1!important}
html body.fil-pages-premium #fil145-window .fil145-window-head small{color:#ebdfff!important;font-size:14px!important;line-height:1.2!important}
html body.fil-pages-premium #fil145-window .fil145-window-close{width:34px!important;height:34px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(9,10,37,.56)!important;color:#fff!important;display:grid!important;place-items:center!important;cursor:pointer!important}
html body.fil-pages-premium #fil145-window .fil145-window-body{padding:16px!important;overflow:auto!important;display:block!important}
html body.fil-pages-premium #fil145-window .fil145-stack{display:grid!important;gap:14px!important;align-content:start!important}
html body.fil-pages-premium #fil145-window .fil145-note{margin:0!important;color:#e8defa!important;font-size:12px!important;line-height:1.5!important}
html body.fil-pages-premium #fil145-window .fil145-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important}
html body.fil-pages-premium #fil145-window .fil145-button{appearance:none!important;border:1px solid rgba(255,255,255,.28)!important;background:linear-gradient(180deg,rgba(166,69,243,.92),rgba(90,33,153,.98))!important;color:#fff!important;border-radius:14px!important;padding:10px 14px!important;min-height:42px!important;font-weight:760!important;font-size:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;cursor:pointer!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 20px rgba(200,58,255,.18)!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;flex:1 1 0}
html body.fil-pages-premium #fil145-window .fil145-button:hover{transform:translateY(-1px)!important;filter:brightness(1.08)!important;box-shadow:0 10px 24px rgba(255,91,224,.22)!important}
html body.fil-pages-premium #fil145-window .fil145-button:active{transform:scale(.98)!important}
html body.fil-pages-premium #fil145-window .fil145-button.is-selected,
html body.fil-pages-premium #fil145-window .fil145-button.is-primary{background:linear-gradient(180deg,#ff53d7,#7a35ff)!important;box-shadow:0 10px 26px rgba(255,90,211,.36)!important}
html body.fil-pages-premium #fil145-window .fil145-button.fil145-pill-icon{flex:0 0 46px!important;width:46px!important;padding:0!important}
html body.fil-pages-premium #fil145-window .fil145-button.fil145-full-width{width:100%!important;flex:1 1 100%!important}
html body.fil-pages-premium #fil145-window input[type=search],
html body.fil-pages-premium #fil145-window input[type=range]{width:100%!important}
html body.fil-pages-premium #fil145-window input[type=search]{height:48px!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.28)!important;background:linear-gradient(180deg,rgba(31,9,83,.94),rgba(15,9,52,.98))!important;color:#fff!important;padding:0 16px!important;font-size:14px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 0 1px rgba(93,17,171,.28)!important}
html body.fil-pages-premium #fil145-window input[type=search]::placeholder{color:#cbbce7!important}
html body.fil-pages-premium #fil145-window input[type=range]{accent-color:#f66dff!important;cursor:pointer!important}
html body.fil-pages-premium #fil145-window .fil145-mini-card{padding:12px 14px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.16)!important;background:linear-gradient(180deg,rgba(40,23,98,.88),rgba(12,10,43,.95))!important;display:grid!important;gap:4px!important}
html body.fil-pages-premium #fil145-window .fil145-mini-card strong{font-size:14px!important}
html body.fil-pages-premium #fil145-window .fil145-mini-card small{color:#d6c8ef!important;font-size:12px!important}
/* Audio / luminosité */
html body.fil-pages-premium #fil145-window .fil145-audio-main{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:14px!important;align-items:stretch!important}
html body.fil-pages-premium #fil145-window .fil145-audio-rail{min-height:230px!important;border-radius:18px!important;padding:14px 12px!important;border:1px solid rgba(255,255,255,.2)!important;background:linear-gradient(180deg,rgba(33,16,84,.95),rgba(13,10,41,.98))!important;display:flex!important;justify-content:center!important;align-items:stretch!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)!important}
html body.fil-pages-premium #fil145-window .fil145-v-slider{writing-mode:vertical-lr!important;direction:rtl!important;height:100%!important;min-height:200px!important;width:28px!important;margin:auto!important;accent-color:#ff78f2!important}
html body.fil-pages-premium #fil145-window .fil145-audio-info{display:grid!important;gap:10px!important;padding:6px 0!important}
html body.fil-pages-premium #fil145-window .fil145-big-reading{font-size:54px!important;font-weight:900!important;line-height:.92!important;letter-spacing:-.05em!important}
html body.fil-pages-premium #fil145-window .fil145-subreading{font-size:15px!important;color:#f3ebff!important;margin-top:-3px!important}
html body.fil-pages-premium #fil145-window .fil145-wave{display:flex!important;gap:3px!important;align-items:flex-end!important;height:30px!important;padding-top:2px!important;opacity:.9!important}
html body.fil-pages-premium #fil145-window .fil145-wave span{flex:1 1 0!important;min-width:2px!important;border-radius:999px!important;background:linear-gradient(180deg,#ff60d3,#8f41ff)!important;height:calc(7px + (var(--i,1) * 2px))}
html body.fil-pages-premium #fil145-window .fil145-wave span:nth-child(odd){height:12px!important}html body.fil-pages-premium #fil145-window .fil145-wave span:nth-child(3n){height:24px!important}html body.fil-pages-premium #fil145-window .fil145-wave span:nth-child(4n){height:17px!important}
html body.fil-pages-premium #fil145-window .fil145-check{display:grid!important;grid-template-columns:1fr auto auto!important;align-items:center!important;gap:12px!important;padding:8px 0!important}
html body.fil-pages-premium #fil145-window .fil145-check-copy{display:flex!important;align-items:center!important;gap:10px!important;font-size:14px!important;color:#fff!important}
html body.fil-pages-premium #fil145-window .fil145-check-copy i{color:#f6c3ff!important}
html body.fil-pages-premium #fil145-window .fil145-check input{position:absolute!important;opacity:0!important;pointer-events:none!important}
html body.fil-pages-premium #fil145-window .fil145-switch{width:46px!important;height:26px!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.24)!important;display:flex!important;align-items:center!important;padding:3px!important;transition:background .18s ease!important}
html body.fil-pages-premium #fil145-window .fil145-switch-dot{width:18px!important;height:18px!important;border-radius:999px!important;background:#fff!important;box-shadow:0 2px 10px rgba(0,0,0,.28)!important;transition:transform .18s ease!important}
html body.fil-pages-premium #fil145-window .fil145-check input:checked + .fil145-switch{background:linear-gradient(90deg,#ff52da,#7b39ff)!important}
html body.fil-pages-premium #fil145-window .fil145-check input:checked + .fil145-switch .fil145-switch-dot{transform:translateX(19px)!important}
html body.fil-pages-premium #fil145-window .fil145-brightness-flare{height:72px!important;border-radius:18px!important;background:radial-gradient(circle at 50% 76%,rgba(255,229,104,.98) 0,rgba(255,112,199,.68) 18%,rgba(94,50,219,.24) 52%,transparent 72%)!important}
/* Session */
html body.fil-pages-premium #fil145-window .fil145-session-date{padding:10px 16px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(116,33,176,.85),rgba(50,23,116,.95))!important;text-align:center!important;font-weight:700!important;font-size:16px!important}
html body.fil-pages-premium #fil145-window .fil145-session-hero{padding:16px 18px!important;border-radius:18px!important;text-align:center!important;border:1px solid rgba(255,255,255,.22)!important;background:linear-gradient(180deg,rgba(169,55,244,.88),rgba(88,41,182,.96))!important;box-shadow:0 0 20px rgba(240,84,255,.24)!important;font-size:58px!important;font-weight:900!important;letter-spacing:-.05em!important;line-height:1!important;font-variant-numeric:tabular-nums!important}
html body.fil-pages-premium #fil145-window .fil145-session-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #fil145-window .fil145-session-stat{padding:12px!important;border-radius:16px!important;text-align:center!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(39,24,102,.9),rgba(11,13,46,.96))!important}
html body.fil-pages-premium #fil145-window .fil145-session-stat small{display:block!important;color:#decdf8!important;margin-bottom:5px!important}
html body.fil-pages-premium #fil145-window .fil145-session-stat strong{font-size:20px!important;font-weight:800!important;display:block!important}
/* Music */
html body.fil-pages-premium #fil145-window .fil145-music-card{padding:16px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(39,24,103,.92),rgba(7,11,42,.98))!important;display:grid!important;gap:12px!important;position:relative!important;overflow:hidden!important}
html body.fil-pages-premium #fil145-window .fil145-music-wave{position:absolute!important;inset:16px 16px auto 16px!important;height:72px!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:10px!important;opacity:.35!important;pointer-events:none!important}
html body.fil-pages-premium #fil145-window .fil145-music-wave span{border-radius:999px!important;background:linear-gradient(180deg,rgba(71,200,255,.9),rgba(255,61,216,.9));filter:blur(.2px)!important}
html body.fil-pages-premium #fil145-window .fil145-music-cover-wrap{display:flex!important;justify-content:center!important;padding-top:16px!important}
html body.fil-pages-premium #fil145-window .fil145-music-cover{width:132px!important;height:132px!important;border-radius:26px!important;border:1px solid rgba(255,255,255,.24)!important;background:radial-gradient(circle at 50% 30%,rgba(255,68,226,.88),rgba(105,45,219,.96));display:grid!important;place-items:center!important;box-shadow:0 0 28px rgba(255,91,215,.28)!important;overflow:hidden!important}
html body.fil-pages-premium #fil145-window .fil145-music-cover img{width:100%!important;height:100%!important;object-fit:cover!important}html body.fil-pages-premium #fil145-window .fil145-music-cover i{font-size:56px!important}
html body.fil-pages-premium #fil145-window .fil145-music-title{text-align:center!important;font-size:28px!important;font-weight:850!important;line-height:1.05!important}
html body.fil-pages-premium #fil145-window .fil145-music-subtitle{text-align:center!important;color:#e5d6ff!important;font-size:15px!important;margin-top:-6px!important}
html body.fil-pages-premium #fil145-window .fil145-timings{display:flex!important;justify-content:space-between!important;color:#d8caef!important;font-size:13px!important}
html body.fil-pages-premium #fil145-window .fil145-player-controls{display:flex!important;justify-content:center!important;gap:10px!important}
html body.fil-pages-premium #fil145-window .fil145-player-controls .fil145-button{flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:999px!important}
html body.fil-pages-premium #fil145-window .fil145-player-controls .fil145-button.is-primary{width:56px!important;height:56px!important;min-height:56px!important}
html body.fil-pages-premium #fil145-window .fil145-inline-volume{display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important}
html body.fil-pages-premium #fil145-window .fil145-inline-volume span{min-width:40px!important;text-align:right!important}
/* Display */
html body.fil-pages-premium #fil145-window .fil145-display-hero{display:grid!important;place-items:center!important;gap:8px!important;padding-top:4px!important}html body.fil-pages-premium #fil145-window .fil145-display-hero i{font-size:60px!important;color:#fff!important;text-shadow:0 0 24px rgba(101,208,255,.4)!important}
html body.fil-pages-premium #fil145-window .fil145-display-percent{display:none!important}
html body.fil-pages-premium #fil145-window .fil145-display-control-strip{display:grid!important;grid-template-columns:46px 1fr 46px!important;gap:12px!important;align-items:center!important}
html body.fil-pages-premium #fil145-window .fil145-display-readout{display:grid!important;place-items:center!important;height:64px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.2)!important;background:linear-gradient(180deg,rgba(35,24,99,.9),rgba(12,12,42,.98))!important;font-size:46px!important;font-weight:900!important;letter-spacing:-.04em!important}
html body.fil-pages-premium #fil145-window .fil145-presets{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
html body.fil-pages-premium #fil145-window .fil145-presets .fil145-button{min-height:36px!important;font-size:12px!important;padding:6px 8px!important}
/* Weather */
html body.fil-pages-premium #fil145-window .fil145-weather-card{padding:14px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(39,24,98,.92),rgba(7,11,42,.98))!important;display:grid!important;gap:12px!important}
html body.fil-pages-premium #fil145-window .fil145-weather-head{display:grid!important;grid-template-columns:72px 1fr!important;gap:12px!important;align-items:center!important}
html body.fil-pages-premium #fil145-window .fil145-weather-icon-wrap{width:72px!important;height:72px!important;border-radius:18px!important;display:grid!important;place-items:center!important;background:linear-gradient(180deg,rgba(255,179,74,.3),rgba(90,42,218,.15))!important}html body.fil-pages-premium #fil145-window .fil145-weather-icon-wrap i{font-size:42px!important;color:#ffdb73!important;text-shadow:0 0 18px rgba(255,227,110,.24)!important}
html body.fil-pages-premium #fil145-window .fil145-weather-head-copy strong{display:block!important;font-size:48px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.04em!important}
html body.fil-pages-premium #fil145-window .fil145-weather-head-copy span{display:block!important;font-size:18px!important;font-weight:750!important;margin-top:3px!important}
html body.fil-pages-premium #fil145-window .fil145-weather-head-copy small{display:block!important;color:#e3d5ff!important;margin-top:5px!important}
html body.fil-pages-premium #fil145-window .fil145-weather-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #fil145-window .fil145-metric{padding:10px 12px!important;border-radius:14px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;text-align:center!important}
html body.fil-pages-premium #fil145-window .fil145-metric strong{display:block!important;font-size:18px!important}.fil-pages-premium #fil145-window .fil145-metric small{color:#e0d3f9!important}
html body.fil-pages-premium #fil145-window .fil145-weather-days{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #fil145-window .fil145-day-card{padding:10px 8px!important;border-radius:16px!important;text-align:center!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(35,24,102,.9),rgba(11,13,46,.96))!important;display:grid!important;gap:5px!important}
html body.fil-pages-premium #fil145-window .fil145-day-card i{font-size:24px!important;color:#9cdcff!important}.fil-pages-premium #fil145-window .fil145-day-card strong{font-size:15px!important}.fil-pages-premium #fil145-window .fil145-day-card span,.fil-pages-premium #fil145-window .fil145-day-card small{font-size:11px!important;color:#d8cbef!important}
/* Search */
html body.fil-pages-premium #fil145-window .fil145-search-chips{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.fil-pages-premium #fil145-window .fil145-search-chips .fil145-button{flex:0 0 auto!important;min-height:34px!important;padding:7px 12px!important;border-radius:999px!important;font-size:12px!important}
html body.fil-pages-premium #fil145-window .fil145-search-results{display:grid!important;gap:9px!important;max-height:330px!important;overflow:auto!important}
html body.fil-pages-premium #fil145-window .fil145-search-empty{padding:20px 16px 28px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.12)!important;background:linear-gradient(180deg,rgba(20,12,66,.98),rgba(12,9,43,.98))!important;display:grid!important;place-items:center!important;gap:6px!important;text-align:center!important}
html body.fil-pages-premium #fil145-window .fil145-search-empty i{font-size:58px!important;color:#d35cff!important;text-shadow:0 0 18px rgba(255,91,216,.25)!important}
html body.fil-pages-premium #fil145-window .fil145-search-empty strong{font-size:26px!important;font-weight:850!important}.fil-pages-premium #fil145-window .fil145-search-empty span{font-size:15px!important;color:#e2d3fd!important}
html body.fil-pages-premium #fil145-window .fil145-result{display:flex!important;flex-direction:column!important;gap:4px!important;padding:12px 14px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.05)!important;color:#fff!important;text-decoration:none!important}
html body.fil-pages-premium #fil145-window .fil145-result:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.24)!important}
html body.fil-pages-premium #fil145-window .fil145-result strong{font-size:14px!important}html body.fil-pages-premium #fil145-window .fil145-result small{font-size:12px!important;color:#dccff2!important}
/* Favorites */
html body.fil-pages-premium #fil145-window .fil145-favorites-count{display:grid!important;grid-template-columns:60px 1fr!important;gap:14px!important;align-items:center!important;padding:14px 16px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(170,54,241,.82),rgba(98,32,161,.96))!important;box-shadow:0 0 24px rgba(255,87,219,.22)!important}
html body.fil-pages-premium #fil145-window .fil145-favorites-count>i{width:60px!important;height:60px!important;border-radius:18px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.12)!important;font-size:28px!important}
html body.fil-pages-premium #fil145-window .fil145-favorites-count strong{display:block!important;font-size:42px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.04em!important}html body.fil-pages-premium #fil145-window .fil145-favorites-count span{font-size:18px!important}
html body.fil-pages-premium #fil145-window .fil145-favorites-list{display:grid!important;gap:8px!important}
html body.fil-pages-premium #fil145-window .fil145-favorite-row{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:12px 14px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.04)!important;cursor:pointer!important}
html body.fil-pages-premium #fil145-window .fil145-favorite-row:hover{background:rgba(255,255,255,.08)!important}.fil-pages-premium #fil145-window .fil145-favorite-row small{display:block!important;color:#dccff4!important;margin-top:2px!important}
/* Settings grid */
html body.fil-pages-premium #fil145-window .fil145-settings-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body.fil-pages-premium #fil145-window .fil145-settings-grid .fil145-button{min-height:74px!important;flex-direction:column!important}.fil-pages-premium #fil145-window .fil145-settings-grid .fil145-button i{font-size:24px!important}
html body.fil-pages-premium #fil145-window :focus-visible{outline:2px solid #78efff!important;outline-offset:3px!important}
@keyframes fil150-appear{from{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:700px){
 html body.fil-pages-premium #fil145-window{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;top:auto!important;width:calc(100vw - 20px)!important;max-height:min(82dvh,760px)!important}
 html body.fil-pages-premium #fil145-window .fil145-window-head{padding:14px!important}
 html body.fil-pages-premium #fil145-window .fil145-window-body{padding:14px!important}
 html body.fil-pages-premium #fil145-window .fil145-window-head h2{font-size:18px!important}
 html body.fil-pages-premium #fil145-window .fil145-big-reading{font-size:44px!important}
 html body.fil-pages-premium #fil145-window .fil145-session-hero{font-size:46px!important}
 html body.fil-pages-premium #fil145-window .fil145-audio-main{grid-template-columns:64px 1fr!important}
 html body.fil-pages-premium #fil145-window .fil145-weather-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.fil-pages-premium #fil145-window .fil145-weather-metrics,
 html body.fil-pages-premium #fil145-window .fil145-session-stats,
 html body.fil-pages-premium #fil145-window .fil145-presets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


html body.fil-pages-premium #fil145-window .fil150-section-title{margin:4px 0 0;font-size:16px;color:#f7dcff}
html body.fil-pages-premium #fil145-window .fil145-window-body{min-height:0;overflow:auto;overscroll-behavior:contain}
html body.fil-pages-premium #fil145-window .fil145-window-head{flex-shrink:0}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid>article.fil-public-card[hidden]{display:none!important}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid>article.fil-public-card .fil-card-description{font-size:clamp(13px,1vw,16px)!important;line-height:1.45!important}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid>article.fil-public-card .fil-card-primary{background:linear-gradient(100deg,#5e19c9,#a012c0 55%,#a52a22)!important;color:white!important;min-height:36px!important}

@media(min-width:1051px){






.fil-visitor-count,#cookie-status){--dock-size:calc(17px / var(--fil-visual-scale,1));height:var(--dock-size)!important;min-height:var(--dock-size)!important;max-height:var(--dock-size)!important;font-size:11px!important;padding:0 3px!important;}



}


/* Navigation commune : la hauteur compacte est pilotée par le réglage d’affichage. */




[aria-current="page"]) {
 border-color:#ffd0fc!important;background:linear-gradient(130deg,#c027ff,#de11c7 45%,#f62b88 72%,#ff8b24)!important;
 box-shadow:inset 0 1px #ffe7ff,0 0 8px #ff4bdaaa!important;
}


@media(min-width:1051px){
 
 
 
 
}
@media(hover:hover){}
@media(prefers-reduced-motion:reduce){a):is(:hover,:active){transform:none!important}}

/* Fenêtres du header : verre noir, liseré violet, reflet bleu et pictogramme rond. */
html body.fil-pages-premium #fil145-window{
 width:min(350px,calc(100vw - 24px));border:2px solid #e799ff!important;
 border-radius:22px!important;background:radial-gradient(ellipse at 100% 3%,#233c8a66,transparent 38%),linear-gradient(155deg,#271139,#100a26 32%,#09051a 72%,#200c36)!important;
 box-shadow:inset 0 1px 3px #fff9,inset -2px -2px 5px #4848ff,0 0 7px #f53cff,0 12px 30px #070313bb!important;
}
html body.fil-pages-premium #fil145-window .fil145-window-head>i{
 border-radius:50%!important;background:radial-gradient(circle at 30% 15%,#a84ad4,#370f51 58%,#1a092b)!important;border:1px solid #f3baff!important;
}
html body.fil-pages-premium #fil145-window .fil145-window-head{padding:10px 12px!important}
html body.fil-pages-premium #fil145-window .fil145-window-head h2{font-size:20px!important}
html body.fil-pages-premium #fil145-window .fil145-window-close{border-radius:50%!important;width:26px!important;height:26px!important;min-height:26px!important;align-self:flex-start!important}
html body.fil-pages-premium #fil145-window .fil145-window-body{padding:12px!important}
html body.fil-pages-premium #fil145-window .fil153-related{justify-self:end;font-size:12px!important;min-height:32px!important}
html body.fil-pages-premium #fil145-window .fil145-music-cover{width:98px!important;height:98px!important}
html body.fil-pages-premium #fil145-window .fil145-weather-days{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
html body.fil-pages-premium #fil145-window .fil145-weather-days>*{min-width:0!important;padding:5px 1px!important}
html body.fil-pages-premium #fil145-window .fil145-presets{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
html body.fil-pages-premium #fil145-window .fil145-presets .fil145-button{padding:4px 1px!important}
html body.fil-pages-premium #fil145-window .fil145-session-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body.fil-pages-premium #fil145-window .fil145-session-stat{padding:7px 2px!important}
html body.fil-pages-premium #fil145-window .fil145-session-stat strong{font-size:15px!important}

html body.fil-pages-premium #fil145-window:is([data-panel=search],[data-panel=music],[data-panel=display],[data-panel=volume]) .fil145-window-body{background-image:url("/assets/header-wave.svg");background-repeat:no-repeat;background-size:100% 52px;background-position:center bottom}
html body.fil-pages-premium #fil145-window .fil145-search-results:has(:only-child.fil145-note)::before{content:"";display:block;margin:12px auto;width:32px;height:32px;border:3px solid #df98ff;border-radius:50%;box-shadow:0 0 12px #b431fd}

/* Module : fil-v157-ui.css */
/* LE FIL V157 — UNE SEULE CHARTE POUR LA NAVIGATION ET LE LECTEUR VIE LOCALE.
   Composants propres, aucun visuel plat et aucune mise en page issue des correctifs V154–V156.
   Limité au thème Premium ; Original reste indépendant. */
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation {
  --fil157-gap:clamp(5px,.68vw,11px);
  position:absolute!important;inset:auto 0 0!important;box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;height:110px!important;min-height:110px!important;max-height:none!important;
  display:grid!important;grid-template-columns:minmax(0,1.92fr) minmax(370px,1fr)!important;
  grid-template-rows:94px!important;gap:clamp(9px,1vw,17px)!important;align-items:center!important;
  padding:8px 12px!important;margin:0!important;border-radius:0!important;
  background:linear-gradient(180deg,#25083e,#160723 70%,#25093e)!important;
  border:1px solid #ad52f4!important;box-shadow:0 -4px 25px rgba(184,42,251,.33),inset 0 1px rgba(255,255,255,.18)!important;
  isolation:isolate!important;z-index:50!important;overflow:visible!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation > .fil143-nav-strip {
  grid-column:1!important;grid-row:1!important;display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:column!important;
  height:90px!important;min-height:90px!important;max-height:none!important;width:100%!important;max-width:100%!important;
  padding:0!important;margin:0!important;gap:var(--fil157-gap)!important;align-items:stretch!important;overflow:visible!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation > .nav-footer {
  grid-column:2!important;grid-row:1!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:52px 31px!important;gap:6px 8px!important;
  padding:0!important;margin:0!important;height:90px!important;min-height:90px!important;max-height:none!important;
  width:100%!important;min-width:0!important;max-width:none!important;background:none!important;border:0!important;box-shadow:none!important;
  align-items:stretch!important;justify-items:stretch!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil-footer-identity,[data-nav-zone]){display:contents!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav {
  grid-column:1/-1!important;grid-row:1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;align-items:stretch!important;justify-items:stretch!important;
  height:52px!important;min-height:52px!important;max-height:none!important;width:100%!important;min-width:0!important;max-width:100%!important;
  padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;
}
/* Même matière facettée pour les 7 rubriques et les 4 réseaux : 11 vraies touches HTML. */
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social) {
  box-sizing:border-box!important;display:flex!important;flex-flow:column nowrap!important;align-items:center!important;justify-content:center!important;
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;
  padding:6px 2px!important;margin:0!important;gap:5px!important;
  color:#fff!important;text-decoration:none!important;opacity:1!important;filter:none!important;
  border:1px solid #ad69ed!important;border-radius:13px!important;
  background:linear-gradient(144deg,#8d48bf 0%,#361551 12%,#1b0b33 57%,#2d0c4f 93%,#61247e)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.53),inset 0 -3px #f233fb,0 0 13px rgba(217,74,255,.27),0 4px 12px #07031099!important;
  transform:none!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social)::before{
  content:''!important;position:absolute!important;inset:1px!important;display:block!important;pointer-events:none!important;z-index:0!important;
  background:linear-gradient(135deg,rgba(237,174,255,.33) 0 10%,transparent 10.5% 17%,rgba(181,92,249,.24) 17.5% 25%,transparent 25.5% 100%),
    linear-gradient(147deg,transparent 71%,rgba(235,105,253,.19) 79%,transparent 87%)!important;
  border-radius:12px!important;clip-path:none!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social)::after{
  content:''!important;display:block!important;position:absolute!important;inset:auto 2px 0 auto!important;
  height:3px!important;width:57%!important;pointer-events:none!important;z-index:1!important;
  background:linear-gradient(90deg,transparent,#f947fa 60%,#ffe2ff)!important;box-shadow:0 0 10px #f44bff!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social) :is(i,svg){
  display:block!important;position:relative!important;z-index:2!important;flex:0 0 auto!important;
  margin:0!important;padding:0!important;line-height:1!important;font-size:clamp(22px,2vw,33px)!important;color:white!important;
  text-shadow:0 0 9px #f76bff!important;filter:drop-shadow(0 0 4px #da50ff)!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav>.fil-nav-social :is(i,svg){font-size:27px!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key > span:not(.fil143-ripple):not(.fil150-ink){
  display:block!important;position:relative!important;z-index:2!important;font:800 clamp(10px,1vw,16px)/1.15 Outfit,Inter,system-ui,sans-serif!important;
  text-align:center!important;color:#fff!important;white-space:nowrap!important;text-shadow:0 0 6px #a42dec!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social):is(:hover,:focus-visible){
  filter:brightness(1.25)!important;transform:translateY(-2px)!important;
  box-shadow:inset 0 1px #fff9,inset 0 -3px #fb62ff,0 0 22px #e351ffd5,0 3px 13px #04020acc!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.fil143-nav-key,.fil-v15-social-nav>.fil-nav-social):active{transform:translateY(1px) scale(.96)!important;filter:brightness(1.38)!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key:is(.active,[aria-current="page"]){
  background:linear-gradient(138deg,#a128e8,#ed22cb 52%,#fb4f8f 82%,#ff9947 100%)!important;
  border-color:#ffe2ff!important;box-shadow:0 0 20px rgba(255,61,237,.8),inset 0 1px #fff9,inset 0 -3px #ffbd65!important;
}
/* Icône X fiable indépendamment de la version de FontAwesome, sans pseudo-élément décoratif. */
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav>[data-network="x"]::after{
  content:''!important;position:absolute!important;inset:auto 2px 0 auto!important;width:57%!important;height:3px!important;
  background:linear-gradient(90deg,transparent,#f947fa,#ffe2ff)!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav>[data-network="x"] i{display:block!important}
/* Les trois informations utilisent leur donnée dynamique, jamais un compteur dessiné. */
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.site-footer-link,.fil-visitor-count,#cookie-status){
  box-sizing:border-box!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;
  padding:2px 6px!important;margin:0!important;width:100%!important;min-width:0!important;max-width:none!important;
  height:31px!important;min-height:31px!important;max-height:31px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:white!important;font:700 clamp(9px,.76vw,12px)/1 Inter,Outfit,system-ui,sans-serif!important;
  border-radius:999px!important;border:1px solid #ae5bdf!important;
  background:linear-gradient(145deg,#31094b,#1c0c37)!important;
  box-shadow:inset 0 1px #fff5,0 0 9px #a833ed55!important;
  text-decoration:none!important;
}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.site-footer-link,.fil-visitor-count,#cookie-status) :is(i,span,strong){font-size:inherit!important;color:inherit!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .site-footer-link{grid-column:1!important;grid-row:2!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-visitor-count{grid-column:2!important;grid-row:2!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation #cookie-status{grid-column:3!important;grid-row:2!important;cursor:pointer!important}
body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.site-footer-link,#cookie-status):is(:hover,:focus-visible){border-color:#f6b9ff!important;box-shadow:0 0 15px #e75bf799!important}
/* Header : taille stable, pas d'écrasement de l'identité ni des commandes. */
body.fil-pages-premium #app-root>header{box-sizing:border-box!important;min-height:86px!important;height:86px!important;max-height:none!important;padding:8px 14px!important}
body.fil-pages-premium #app-root>header .fil-v41-header-inner{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;height:100%!important;min-width:0!important}
body.fil-pages-premium #app-root>header .fil-v41-brand{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 280px!important;min-width:0!important;overflow:hidden!important}
body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{flex:0 0 62px!important;width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important}
body.fil-pages-premium #app-root>header .fil-header-logo-image{width:100%!important;height:100%!important;object-fit:contain!important}
body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:clamp(15px,1.7vw,24px)!important;line-height:1.08!important}
body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:7px!important;height:56px!important;min-height:56px!important;max-height:none!important;overflow:visible!important}
body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls .fil146-head-btn{height:50px!important;min-height:50px!important;max-height:50px!important;width:48px!important;min-width:48px!important;padding:0!important;border:1px solid #b667f3!important;border-radius:12px!important;background:linear-gradient(135deg,#54247d,#16082b)!important;color:#fff!important;box-shadow:inset 0 1px #fff8,0 0 12px #c03ffe66!important}
body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls .fil146-head-clock{width:82px!important;min-width:82px!important}
body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls .fil146-head-display{width:64px!important;min-width:64px!important}
/* Utilisation tablette : le menu conserve les 7 boutons, les réseaux passent sur la seconde rangée. */
@media(max-width:1190px){
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation{height:190px!important;min-height:190px!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:86px 82px!important;gap:7px!important;padding:6px 8px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation>.fil143-nav-strip{grid-column:1!important;grid-row:1!important;height:84px!important;min-height:84px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation>.nav-footer{grid-column:1!important;grid-row:2!important;width:min(100%,850px)!important;justify-self:center!important;height:81px!important;min-height:81px!important;grid-template-rows:46px 28px!important;gap:7px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav{height:46px!important;min-height:46px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.site-footer-link,.fil-visitor-count,#cookie-status){height:28px!important;min-height:28px!important}
  body.fil-pages-premium #app-root #main-view{padding-bottom:215px!important}
}
@media(max-width:650px){
  body.fil-pages-premium #app-root>header{height:105px!important;min-height:105px!important;padding:6px 8px!important}
  body.fil-pages-premium #app-root>header .fil-v41-header-inner{flex-direction:column!important;align-items:stretch!important;gap:5px!important}
  body.fil-pages-premium #app-root>header .fil-v41-brand{flex:0 0 42px!important;width:100%!important;max-height:42px!important}
  body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{flex-basis:42px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{width:100%!important;max-width:100%!important;height:44px!important;min-height:44px!important;gap:4px!important;justify-content:space-between!important}
  body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls .fil146-head-btn{flex:1 1 0!important;width:auto!important;min-width:0!important;height:42px!important;min-height:42px!important;max-height:42px!important}
  body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls .fil146-head-clock{flex:1.45 1 0!important;min-width:0!important;width:auto!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation{height:176px!important;min-height:176px!important;grid-template-rows:64px 97px!important;gap:5px!important;padding:6px 5px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation>.fil143-nav-strip{display:flex!important;grid-row:1!important;gap:4px!important;height:62px!important;min-height:62px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation>.fil143-nav-strip::-webkit-scrollbar{display:none}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key{flex:0 0 54px!important;width:54px!important;min-width:54px!important;max-width:54px!important;height:62px!important;padding:4px 1px!important;gap:2px!important;scroll-snap-align:start}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key :is(i,svg){font-size:18px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key>span:not(.fil143-ripple):not(.fil150-ink){font-size:9px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation>.nav-footer{height:97px!important;min-height:97px!important;grid-template-rows:54px 36px!important;gap:6px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav{height:54px!important;min-height:54px!important;gap:6px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil-v15-social-nav>.fil-nav-social{height:54px!important;min-height:54px!important}
  body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation :is(.site-footer-link,.fil-visitor-count,#cookie-status){font-size:clamp(8px,2.15vw,10px)!important;height:36px!important;min-height:36px!important;padding:1px 3px!important}
  body.fil-pages-premium #app-root #main-view{padding-bottom:194px!important}
}
@media(prefers-reduced-motion:reduce){body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation *{transition:none!important;animation:none!important}}
/* ────────────────────────────────────────────────────────────
   VIE LOCALE — lecteur SoundCloud unique, fermé au chargement.
   Le lecteur n'est pas remplacé par une image ; ses commandes sont natives.
   ──────────────────────────────────────────────────────────── */
body.fil-pages-premium #app-root #fil-desktop-ads{
  --fil-player-red:#ff3754;
  grid-template-rows:40px 56px repeat(2,minmax(115px,1fr)) 150px 72px!important;
  overflow:visible!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads > #fil-music-dock {
  box-sizing:border-box!important;grid-row:6!important;grid-column:1/-1!important;order:6!important;
  position:relative!important;isolation:isolate!important;z-index:70!important;overflow:visible!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:72px!important;min-height:72px!important;max-height:72px!important;
  padding:0!important;margin:0!important;opacity:1!important;
  border:1px solid #ff4060!important;border-radius:13px!important;
  color:#fff!important;background:linear-gradient(120deg,#380b17,#180710 60%,#370b1d)!important;
  box-shadow:0 0 20px #ec1c4077,inset 0 1px 0 #ffb4bd70!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads > #fil-music-dock[hidden],
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock [hidden]{display:none!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-music-toggle {
  all:unset!important;box-sizing:border-box!important;cursor:pointer!important;position:relative!important;display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 50px 72px 16px!important;gap:6px!important;align-items:center!important;
  height:70px!important;min-height:70px!important;max-height:70px!important;width:100%!important;
  padding:8px 10px!important;margin:0!important;border-radius:12px!important;
  color:#fff!important;background:linear-gradient(140deg,#ff67870c,transparent 55%,#ff375416)!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-music-toggle:hover,
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-music-toggle:focus-visible{
  background:linear-gradient(120deg,#ab193c5a,transparent)!important;box-shadow:inset 0 0 0 1px #ffa1b260!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-icon{
  display:grid!important;place-items:center!important;width:38px!important;height:38px!important;
  border:1px solid #ff667c!important;border-radius:11px!important;background:linear-gradient(145deg,#db2348,#6d0820)!important;
  box-shadow:0 0 14px #f8325d8d!important;color:#fff!important;font-size:18px!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-copy{min-width:0!important;display:grid!important;gap:3px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-copy strong{font:850 clamp(12px,.95vw,16px)/1.1 Outfit,Inter,system-ui!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-copy small{font-size:10px!important;color:#ffd0d6!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-equalizer{width:50px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;opacity:.4!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-equalizer i{display:block!important;width:3px!important;min-width:3px!important;height:9px!important;border-radius:20px!important;background:linear-gradient(#ffd5dc,#ed2b5c)!important;box-shadow:0 0 6px #ff447b99!important;transform-origin:bottom!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-equalizer i:nth-child(3n){height:18px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-equalizer i:nth-child(4n){height:24px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-playing="true"] .fil157-mini-equalizer{opacity:1!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-playing="true"] .fil157-mini-equalizer i{animation:fil157-equalizer .72s ease-in-out infinite alternate!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-playing="true"] .fil157-mini-equalizer i:nth-child(3n){animation-delay:-.26s!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-playing="true"] .fil157-mini-equalizer i:nth-child(4n){animation-delay:-.45s!important}
@keyframes fil157-equalizer{0%{transform:scaleY(.35)}100%{transform:scaleY(1.4)}}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-brand{display:grid!important;place-content:center!important;justify-items:center!important;gap:3px!important;color:#ffb04f!important;font-size:8px!important;font-weight:850!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-brand i{font-size:22px!important;color:#ff9a33!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-chevron{display:grid!important;place-items:center!important;color:#fff!important;font-size:13px!important;transition:transform .22s ease!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-expanded="true"] .fil157-mini-chevron{transform:rotate(180deg)!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details:not([hidden]){
  position:absolute!important;box-sizing:border-box!important;display:flex!important;flex-flow:column nowrap!important;align-items:stretch!important;gap:10px!important;
  left:-1px!important;right:-1px!important;bottom:calc(100% + 5px)!important;top:auto!important;
  width:calc(100% + 2px)!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:min(500px,77dvh)!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:15px 14px 13px!important;margin:0!important;
  border:1px solid #fa4161!important;border-radius:14px!important;
  background:linear-gradient(155deg,#4d1021,#240810 62%,#180814)!important;
  box-shadow:0 -8px 38px #ff2c4a55,0 14px 50px #090309ad,inset 0 1px #ffc3cf65!important;
  z-index:99!important;animation:fil157-player-open .22s ease both!important;
}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock[data-side="down"] .fil157-player-details:not([hidden]){top:calc(100% + 5px)!important;bottom:auto!important}
@keyframes fil157-player-open{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v107-dock-header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:7px!important;min-width:0!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v107-dock-header h3{font:850 18px/1.2 Outfit,Inter,system-ui!important;color:#fff!important;margin:0!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v141-soundcloud{display:none!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v104-music-link{display:inline-flex!important;border:1px solid #ff7593!important;border-radius:14px!important;background:#9f1a3b!important;color:#fff!important;padding:7px 9px!important;font-size:10px!important;cursor:pointer!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-now-label{margin:0!important;color:#ff96aa!important;font-size:10px!important;font-weight:800!important;letter-spacing:.09em!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v106-select-label{display:grid!important;gap:5px!important;color:#ffe1e5!important;font-size:11px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock [data-music-choice]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;border-radius:10px!important;border:1px solid #ee6174!important;padding:8px!important;background:#2c0a1a!important;color:#fff!important;font-size:12px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{display:grid!important;grid-template-columns:33px 40px 33px 1fr 32px!important;gap:6px!important;align-items:center!important;min-width:0!important;flex-wrap:nowrap!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar button[data-music]{display:grid!important;place-items:center!important;width:100%!important;min-width:0!important;min-height:34px!important;height:34px!important;border:1px solid #ff7893!important;border-radius:10px!important;background:linear-gradient(#a12242,#570923)!important;color:#fff!important;cursor:pointer!important;font-size:16px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar [data-music="play"]{height:40px!important;min-height:40px!important;border-radius:12px!important;background:linear-gradient(#ff445f,#b61737)!important;box-shadow:0 0 13px #ff405667!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-now{display:grid!important;gap:2px!important;min-width:0!important;overflow:hidden!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-now strong{font:700 12px/1.15 Inter,system-ui!important;color:#fff!important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-now small{font-size:10px!important;color:#ffd2db!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:9px!important;font-size:11px!important;color:#fff!important;position:static!important;clip-path:none!important;width:100%!important;height:auto!important;overflow:visible!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume input{flex:1!important;width:100%!important;min-width:0!important;accent-color:#ff4060!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-live{display:none!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress{display:flex!important;align-items:center!important;gap:8px!important;color:#ffe2e7!important;font-size:11px!important;min-width:0!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-progress input{flex:1!important;min-width:0!important;width:100%!important;accent-color:#ff4d72!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-v141-wave{display:none!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock #fil-music-status{display:block!important;margin:0!important;color:#ffc3d0!important;font-size:11px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock #fil-music-status:empty{display:none!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-links>a{display:flex!important;flex-flow:column nowrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:10px 4px!important;min-width:0!important;min-height:52px!important;border-radius:12px!important;border:1px solid #ff6886!important;background:linear-gradient(160deg,#9d1537,#440a20)!important;color:white!important;text-decoration:none!important;box-shadow:inset 0 1px #fff5,0 0 9px #ff3c4f44!important;font:750 10px/1.2 Inter,system-ui!important;text-align:center!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-links>a i{font-size:19px!important;color:#fff!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-links>a:is(:hover,:focus-visible){filter:brightness(1.2)!important;transform:translateY(-1px)!important}
body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock #fil-music-official iframe{width:100%!important;border:0!important;border-radius:9px!important}
@media(max-width:1190px){
 body.fil-pages-premium #app-root #fil-desktop-ads{grid-template-rows:37px 48px repeat(2,minmax(112px,1fr)) 135px 72px!important}
}
@media(max-width:650px){
 body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-music-toggle{grid-template-columns:32px minmax(0,1fr) 37px 55px 13px!important;padding:6px!important;gap:3px!important}
 body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-icon{width:32px!important;height:32px!important}
 body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-brand span{font-size:7px!important}
 body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-mini-equalizer{width:37px!important}
 body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details:not([hidden]){max-height:min(440px,72dvh)!important}
}
@media(prefers-reduced-motion:reduce){body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock *{animation:none!important;transition:none!important}}

/* Module : fil-v159-social.css */
/* Le Fil V159 — Styles structurels des 4 réseaux, sans dépendance aux classes injectées.
   Les liens historiques de home-carousel.js ne portent PAS data-network : ils restent stylés.
   Portée : Néon Premium seulement ; thème Original et données inchangés. */
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:clamp(5px,.55vw,11px)!important;
  min-width:0!important;
  width:100%!important;
  height:52px!important;min-height:52px!important;max-height:52px!important;
  padding:0!important;margin:0!important;
  background:transparent!important;border:0!important;
  overflow:visible!important;
}
/* Ciblage DIRECT des liens qui existent vraiment. La finition est visible même si JS est bloqué. */
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button) {
  all:unset;
  box-sizing:border-box!important;
  position:relative!important;isolation:isolate!important;
  display:grid!important;place-items:center!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:52px!important;min-height:52px!important;max-height:52px!important;
  padding:0!important;margin:0!important;flex:0 0 auto!important;
  border:1px solid #db82ff!important;border-radius:12px!important;
  color:#fff!important;text-decoration:none!important;cursor:pointer!important;
  background:linear-gradient(145deg,#7a3da0 0%,#321049 15%,#1c0a38 64%,#310d4e 95%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66),inset 0 -3px 0 #f646f7,
   0 0 0 1px rgba(221,80,255,.22),0 0 12px rgba(228,68,247,.54),0 5px 13px rgba(2,0,18,.53)!important;
  opacity:1!important;overflow:hidden!important;
  transform:translateZ(0)!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
/* Facette et reflet indépendants de JavaScript. */
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button)::before {
  content:''!important;display:block!important;position:absolute!important;
  inset:0!important;pointer-events:none!important;z-index:0!important;
  border-radius:inherit!important;
  background:linear-gradient(132deg,rgba(255,235,255,.31) 0 10%,transparent 10.3% 19%,rgba(204,130,245,.17) 19.3% 29%,transparent 29.5% 100%),
   linear-gradient(137deg,transparent 63%,rgba(190,90,246,.16) 79%,transparent 94%)!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button)::after {
  content:''!important;display:block!important;position:absolute!important;
  bottom:0!important;left:19%!important;right:0!important;top:auto!important;
  width:auto!important;height:3px!important;pointer-events:none!important;z-index:1!important;
  background:linear-gradient(90deg,transparent,#eb49fa 42%,#ffeaff)!important;
  box-shadow:0 0 10px rgba(255,100,244,.85)!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button) :is(i,svg,span.fil159-glyph) {
  position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  color:#fff!important;opacity:1!important;font-size:27px!important;line-height:1!important;
  filter:drop-shadow(0 0 6px rgba(243,91,255,.9))!important;
  transform:none!important;margin:0!important;padding:0!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button) svg {
  width:27px!important;height:27px!important;fill:currentColor!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button):is(:hover,:focus-visible) {
  transform:translateY(-2px) scale(1.024)!important;
  filter:brightness(1.15)!important;
  border-color:#ffe6ff!important;
  box-shadow:inset 0 1px 0 #fffc,inset 0 -3px 0 #ffa1fa,0 0 25px rgba(255,84,247,.85),0 5px 17px #160424!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button):active {
  transform:translateY(1px) scale(.965)!important;filter:brightness(1.32)!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button):focus-visible {outline:2px solid #8df8ff!important;outline-offset:2px!important;}
@media(max-width:1190px){
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav,
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button){height:46px!important;min-height:46px!important;max-height:46px!important;}
}
@media(max-width:650px){
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav,
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button){height:54px!important;min-height:54px!important;max-height:54px!important;}
}
@media(prefers-reduced-motion:reduce){
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button){transition:none!important;}
}
/* La règle historique sur les icônes a une forte spécificité : dimensions fixes requises. */
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button) .fil159-glyph {
  display:grid!important;place-items:center!important;width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .nav-footer .fil-v15-social-nav > :is(a,button) .fil159-glyph > svg {
  display:block!important;width:27px!important;height:27px!important;
  min-width:27px!important;min-height:27px!important;max-width:27px!important;max-height:27px!important;
}

/* Module : fil-v164-layout.css */
/* V164 : contenu, navigation et lecteur occupent chacun leur place dans le flux. */
html body.fil-pages-premium #app-root {
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
}
html body.fil-pages-premium #app-root > header {
  flex-shrink:0!important;
}
html body.fil-pages-premium #app-root > .fil-workspace {
  flex:1 1 0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-workspace > .fil-site-pane {
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-site-pane > #main-view {
  flex:1 1 0!important;
  box-sizing:border-box!important;
  height:auto!important;
  min-height:0!important;
  padding-bottom:24px!important;
  scroll-padding-bottom:24px!important;
}
html body.fil-pages-premium #app-root > #bottom-navigation#bottom-navigation {
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
  margin:0!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads#fil-desktop-ads {
  min-height:0!important;
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  grid-template-rows:minmax(24px,40px) minmax(32px,56px) minmax(0,1fr) minmax(0,1fr) minmax(60px,150px) 72px!important;
  align-content:start!important;
  padding-bottom:24px!important;
  scroll-padding-block:12px 24px;
}
html body.fil-pages-premium #app-root #fil-desktop-ads > #fil-music-dock#fil-music-dock {
  flex:0 0 auto!important;
  height:auto!important;
  min-height:72px!important;
  max-height:none!important;
  overflow:visible!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-music-toggle {
  flex:0 0 auto!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock#fil-music-dock .fil157-player-details:not([hidden]) {
  position:absolute!important;
  left:0!important;right:auto!important;
  top:var(--player-top,auto)!important;
  bottom:var(--player-bottom,calc(100% + 5px))!important;
  width:100%!important;height:auto!important;
  min-height:0!important;max-height:none!important;
  overflow:visible!important;
  margin:0!important;box-sizing:border-box!important;
  transform:scale(var(--player-fit,1))!important;
  transform-origin:var(--player-origin,bottom center)!important;
  animation:none!important;
}
@media(max-width:1190px){
  html body.fil-pages-premium #app-root #fil-desktop-ads#fil-desktop-ads {
    grid-template-rows:minmax(24px,37px) minmax(30px,48px) minmax(0,1fr) minmax(0,1fr) minmax(60px,135px) 72px!important;
  }
}
@media(max-width:1050px){
  html body.fil-pages-premium #app-root #fil-desktop-ads#fil-desktop-ads[data-open="true"] {
    box-sizing:border-box!important;
    width:var(--fil-size-width,100vw)!important;
    max-width:var(--fil-size-width,100vw)!important;
    height:var(--fil-size-height,100dvh)!important;
    min-height:0!important;
    max-height:var(--fil-size-height,100dvh)!important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* V164 — Correctif de superposition : le panneau dépliable ne doit pas être
   masqué par la colonne Vie locale. La zone reste bornée par le viewport de l'app. */
html body.fil-pages-premium #app-root .fil-workspace > #fil-desktop-ads#fil-desktop-ads {
  overflow:visible!important;
  position:relative!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads > #fil-music-dock#fil-music-dock{
  position:relative!important;
  z-index:90!important;
  overflow:visible!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details:not([hidden]){
  box-sizing:border-box!important;
  z-index:100!important;
  max-width:100%!important;
  max-height:min(62dvh,510px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
/* La navigation occupe un espace réel dans la colonne du site : jamais de
   chevauchement avec le contenu ni de compteur/cookies coupés en bas. */
html body.fil-pages-premium #app-root > #bottom-navigation#bottom-navigation {
  display:grid!important;
  flex-shrink:0!important;
  align-content:stretch!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  max-height:none!important;
  margin:0!important;
}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation > .nav-footer {
  box-sizing:border-box!important;
  min-width:0!important;
  overflow:visible!important;
}
html body.fil-pages-premium #app-root .fil-site-pane > #main-view#main-view {
  flex:1 1 0!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding-bottom:clamp(12px,2dvh,25px)!important;
  scroll-padding-bottom:25px!important;
}
html body.fil-pages-premium #app-root #bottom-navigation :is(button,a){
  touch-action:manipulation;
}
/* Les zones de sécurité iOS restent dans le footer, sans toucher à la scène. */
@media(max-width:650px){
 html body.fil-pages-premium #app-root > #bottom-navigation#bottom-navigation {
   padding-bottom:max(7px, env(safe-area-inset-bottom,0px))!important;
 }
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details:not([hidden]) {
   max-height:min(58dvh,460px)!important;
 }
}
/* Écrans peu hauts : le header et la navigation ne prennent pas toute la scène. */
@media(max-height:660px) and (min-width:651px){
 html body.fil-pages-premium #app-root > header{height:68px!important;min-height:68px!important}
 html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation .fil143-nav-key{min-height:42px!important}
}
@media(prefers-reduced-motion:reduce){
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details{scroll-behavior:auto!important}
}

/* Module : fil-v165-responsive.css */
/* LE FIL V165 — Layout responsive et harmonie Néon Premium — 2026-11-09.
   S'applique au thème Premium uniquement; administrations/Original intacts. */
:root{color-scheme:dark;}
html body.fil-pages-premium{margin:0!important;overflow:hidden!important;overscroll-behavior:none;background:#070821!important}
html body.fil-pages-premium #app-root{
  display:flex!important;flex-flow:column nowrap!important;
  position:relative!important;box-sizing:border-box!important;
  height:var(--fil-size-height,100dvh)!important;min-height:0!important;
  width:var(--fil-size-width,100vw)!important;max-width:var(--fil-size-width,100vw)!important;overflow:hidden!important;
  zoom:var(--fil-visual-scale,1)!important;
  margin:0 auto!important;transform:none!important;
}
html body.fil-pages-premium #app-root>header{
  position:relative!important;flex:0 0 64px!important;height:64px!important;
  min-height:64px!important;max-height:64px!important;box-sizing:border-box!important;
  padding:5px clamp(8px,1.3vw,20px)!important;overflow:visible!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-header-inner{
  display:flex!important;flex-flow:row nowrap!important;justify-content:space-between!important;
  align-items:center!important;min-width:0!important;width:100%!important;height:100%!important;
  gap:8px!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand{
  flex:0 1 auto!important;min-width:0!important;width:auto!important;max-width:55%!important;
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  height:auto!important;min-height:0!important;gap:7px!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:clamp(11px,1.5vw,17px)!important;line-height:1.08!important;white-space:normal!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:clamp(7px,.83vw,10px)!important}
html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{
  flex:0 0 clamp(33px,4vw,48px)!important;width:clamp(33px,4vw,48px)!important;
  height:clamp(33px,4vw,48px)!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{
  display:flex!important;flex:0 0 auto!important;flex-flow:row nowrap!important;
  min-width:0!important;max-width:65%!important;height:auto!important;min-height:0!important;
  gap:5px!important;align-items:center!important;justify-content:flex-end!important;
}
html body.fil-pages-premium #app-root>header .fil143-toolbar{display:none!important}
html body.fil-pages-premium #app-root>header .fil165-weather-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:6px!important;flex:0 0 auto!important;width:auto!important;
  min-width:86px!important;max-width:110px!important;height:39px!important;
  padding:0 10px!important;border-radius:11px!important;border:1px solid #a178ec!important;
  background:linear-gradient(145deg,#40217b,#201342)!important;color:#f1edff!important;
  font:800 12px/1 Outfit,Inter,system-ui!important;cursor:pointer!important;
}
html body.fil-pages-premium #app-root>header .fil165-weather-button i{color:#82e5ff!important;font-size:17px!important}
html body.fil-pages-premium #app-root>header .fil165-more-button{display:none!important}
html body.fil-pages-premium #app-root>header #fil165-header-menu[hidden]{display:none!important}
html body.fil-pages-premium #app-root>header #fil165-header-menu{
  position:absolute!important;right:8px!important;top:calc(100% + 6px)!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;width:min(352px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;max-height:min(72dvh,400px)!important;
  padding:11px!important;border:1px solid #ad69e4!important;border-radius:14px!important;
  overflow:auto!important;background:#160d34!important;
  box-shadow:0 12px 40px #050419ec,inset 0 1px #cdaaff3b!important;
  z-index:2147480000!important;
}
html body.fil-pages-premium #app-root>header #fil165-header-menu .fil165-menu-item{
  display:flex!important;flex-flow:column nowrap!important;justify-content:center!important;
  align-items:center!important;gap:7px!important;min-height:63px!important;
  padding:7px!important;border:1px solid #7747ad!important;border-radius:11px!important;
  background:#27164e!important;color:#f7eaff!important;font:700 11px/1.2 Inter,system-ui!important;
}
html body.fil-pages-premium #app-root>header #fil165-header-menu .fil165-menu-item i{font-size:19px;color:#e2b3ff}
html body.fil-pages-premium #app-root .fil-workspace{
  display:flex!important;flex:1 1 0!important;min-height:0!important;height:auto!important;
  max-height:none!important;min-width:0!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane{
  display:flex!important;flex:1 1 0!important;flex-flow:column nowrap!important;
  height:100%!important;min-height:0!important;min-width:0!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-workspace .fil-site-pane>#main-view{
  flex:1 1 0!important;min-height:0!important;min-width:0!important;
  width:100%!important;max-width:100%!important;height:auto!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
  scroll-padding-bottom:12px!important;padding:clamp(9px,1.25vw,18px)!important;
  background:linear-gradient(148deg,#0d0c32 0%,#070b2b 55%,#140d37 100%)!important;
  scrollbar-width:thin;scrollbar-color:#8952dd #1a1443;
}
html body.fil-pages-premium #app-root #main-view *,
html body.fil-pages-premium #app-root #bottom-navigation *{box-sizing:border-box}
html body.fil-pages-premium #app-root #main-view :is(img,video,svg,canvas,iframe){max-width:100%}
html body.fil-pages-premium #app-root #main-view :is(h1,h2,h3,p,span,strong){overflow-wrap:break-word}
html body.fil-pages-premium #app-root #main-view :is(.bg-white,.bg-slate-50,.bg-gray-50,.bg-slate-100):not(button):not(input):not(select):not(textarea){
  background:linear-gradient(160deg,#20173f,#13122f)!important;color:#f6efff!important;
  border-color:#503b7e!important;
}
html body.fil-pages-premium #app-root #main-view :is(.text-slate-900,.text-slate-800,.text-slate-700,.text-gray-800,.text-gray-900){color:#f6efff!important}
html body.fil-pages-premium #app-root #main-view :is(.text-slate-600,.text-slate-500,.text-gray-600,.text-gray-500){color:#c4b5dd!important}
html body.fil-pages-premium #app-root #main-view :is(input,select,textarea){
  color:#f6efff!important;background-color:#181432!important;border-color:#7854aa!important;
  max-width:100%!important;
}
html body.fil-pages-premium #app-root #main-view :is(input,textarea)::placeholder{color:#b9a9cc!important}
html body.fil-pages-premium #app-root #main-view :is(button,a){touch-action:manipulation}
html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation{
  display:grid!important;position:relative!important;inset:auto!important;
  flex:0 0 auto!important;height:auto!important;max-height:none!important;
  width:100%!important;max-width:100%!important;min-height:0!important;
  margin:0!important;padding:4px 8px max(5px,env(safe-area-inset-bottom,0px))!important;
  overflow:hidden!important;box-sizing:border-box!important;
  background:#11092b!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-strip{
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;
  align-items:stretch!important;gap:4px!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key{
  display:flex!important;flex-direction:column!important;min-width:0!important;
  gap:4px!important;justify-content:center!important;align-items:center!important;
  min-height:43px!important;height:43px!important;margin:0!important;padding:3px 1px!important;
  line-height:1!important;transform:none!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key i{font-size:clamp(13px,1.5vw,18px)!important;margin:0!important}
html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key span{font-size:clamp(8px,.85vw,10px)!important;white-space:nowrap!important}
html body.fil-pages-premium #app-root #bottom-navigation .nav-footer{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;gap:3px!important;align-items:center!important;
  padding:3px 0 0!important;margin:0!important;min-height:0!important;height:auto!important;
  overflow:visible!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav{
  grid-column:1/-1!important;grid-row:1!important;display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:3px!important;align-items:center!important;width:100%!important;
  min-width:0!important;min-height:0!important;height:26px!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav :is(a,button){height:26px!important;min-height:26px!important;max-height:26px!important;min-width:0!important}
html body.fil-pages-premium #app-root #bottom-navigation .nav-footer>.site-footer-link{
  grid-row:2!important;grid-column:1!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .nav-footer>.fil-visitor-count{
  grid-row:2!important;grid-column:2!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .nav-footer>#cookie-status{
  grid-row:2!important;grid-column:3!important;
}
html body.fil-pages-premium #app-root #bottom-navigation .nav-footer :is(.site-footer-link,.fil-visitor-count,#cookie-status){
  display:flex!important;justify-content:center!important;align-items:center!important;
  text-align:center!important;min-width:0!important;max-width:100%!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  height:19px!important;min-height:19px!important;max-height:19px!important;
  padding:2px 3px!important;font-size:clamp(7px,.85vw,10px)!important;
}
html body.fil-pages-premium #app-root #fil-desktop-ads#fil-desktop-ads{min-height:0!important}
html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock{position:relative!important;z-index:70!important;overflow:visible!important}
html body.fil-pages-premium #app-root #fil-desktop-ads .fil157-player-details:not([hidden]){
  max-height:min(55dvh,430px)!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain!important;z-index:120!important;
}
/* Toutes les pages : textes, bandeaux, fiches, météo et mentions sur une palette constante. */
html body.fil-pages-premium #main-view :is(.fil-v52-meteo-layout,.fil-v53-weather-details,.fil-v53-weather-extended,.fil-v52-meteo-sources){
  color:#efeaff!important;
}
html body.fil-pages-premium #main-view :is(.fil-v53-weather-details,.fil-v52-meteo-hero,.fil-v52-meteo-sources){
  background:linear-gradient(150deg,#251747,#11112e)!important;
  border:1px solid #694494!important;border-radius:13px!important;
}
html body.fil-pages-premium #main-view :is(.fil-v52-meteo-layout,.fil-v53-weather-extended){min-width:0!important;max-width:100%!important}
html body.fil-pages-premium #main-view :is(.fil-v52-meteo-layout,.fil-v53-weather-extended) :is(h1,h2,h3,small,p,strong,span){color:inherit}
html body.fil-pages-premium #main-view :is(.fil-v53-weather-details,.fil-v52-meteo-sources) a{color:#85dfff!important}
@media(max-width:1050px){
  html body.fil-pages-premium #app-root>header{flex:0 0 60px!important;height:60px!important;min-height:60px!important;max-height:60px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand{max-width:calc(100% - 145px)!important}
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{display:flex!important;width:auto!important;max-width:138px!important;gap:6px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls>.fil146-head-btn:not(.fil165-weather-button){display:none!important}
  html body.fil-pages-premium #app-root>header .fil165-more-button{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 38px!important;width:38px!important;height:39px!important;
    border:1px solid #a178ec!important;border-radius:11px!important;
    background:linear-gradient(150deg,#3a1d70,#1d1038)!important;color:#f9e7ff!important;
    font:800 18px/1 Inter,system-ui!important;
  }
  html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads:not([data-open="true"]){display:none!important}
  html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads[data-open="true"]{
    display:grid!important;position:fixed!important;inset:60px 0 auto!important;
    z-index:990!important;width:100vw!important;height:calc(100dvh - 60px - 112px)!important;
    max-height:calc(100dvh - 60px - 112px)!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior:contain!important;padding:8px!important;
    background:#170a24!important;
  }
}
@media(max-width:650px){
  html body.fil-pages-premium #app-root>header{flex-basis:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;padding:4px 7px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand{max-width:calc(100% - 140px)!important;gap:5px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{flex:0 0 33px!important;width:33px!important;height:33px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:clamp(9px,2.6vw,12px)!important;line-height:1.1!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:7px!important;letter-spacing:.03em!important}
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{max-width:138px!important;height:auto!important;grid-template-columns:none!important}
  html body.fil-pages-premium #app-root #bottom-navigation#bottom-navigation{padding:4px 4px max(5px,env(safe-area-inset-bottom,0px))!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-strip{gap:2px!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key{min-height:43px!important;height:43px!important;border-radius:9px!important;padding:2px 0!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key span{font-size:8px!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav{height:25px!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav :is(a,button){height:25px!important;min-height:25px!important;max-height:25px!important}
  html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads[data-open="true"]{top:56px!important;height:calc(100dvh - 56px - 112px)!important;max-height:calc(100dvh - 56px - 112px)!important}
  html body.fil-pages-premium #main-view .fil-v53-forecast-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.fil-pages-premium #main-view :is(.fil-v53-stat-grid,.fil-v52-meteo-layout){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:370px){
  html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:9px!important}
  html body.fil-pages-premium #app-root>header .fil165-weather-button{min-width:77px!important;padding:0 5px!important;font-size:11px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{max-width:124px!important}
}
@media(max-height:650px){
  html body.fil-pages-premium #app-root #bottom-navigation .fil143-nav-key{height:37px!important;min-height:37px!important}
  html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav,
  html body.fil-pages-premium #app-root #bottom-navigation .fil-v15-social-nav :is(a,button){height:22px!important;min-height:22px!important;max-height:22px!important}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium *{scroll-behavior:auto!important}}

/* Le tiroir de commandes préexistant reçoit les outils d'origine; météo reste visible. */
html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls>#fil-header-more{
  display:none!important;
}
html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls>#fil165-weather-quick{
  display:inline-flex!important;visibility:visible!important;opacity:1!important;
  min-width:88px!important;width:88px!important;max-width:98px!important;
  height:39px!important;min-height:39px!important;max-height:39px!important;
  flex:0 0 88px!important;
}
html body.fil-pages-premium #app-root>header #fil-header-secondary{min-width:0!important}
@media(max-width:1050px){
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls>#fil-header-more{
    display:inline-flex!important;visibility:visible!important;
    align-items:center!important;justify-content:center!important;
    flex:0 0 38px!important;width:38px!important;height:39px!important;
    min-width:38px!important;max-width:38px!important;min-height:39px!important;max-height:39px!important;
    padding:0!important;margin:0!important;
    border:1px solid #ab73f0!important;border-radius:11px!important;
    color:#fff!important;background:#2c1950!important;
  }
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls>#fil165-weather-quick{
    display:inline-flex!important;flex:0 0 88px!important;width:88px!important;
  }
  html body.fil-pages-premium #app-root>header #fil-header-secondary{
    position:absolute!important;top:calc(100% + 6px)!important;right:6px!important;
    left:auto!important;display:none!important;
    width:min(360px,calc(100vw - 12px))!important;max-width:calc(100vw - 12px)!important;
    padding:10px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;max-height:65dvh!important;
    border:1px solid #a775f7!important;border-radius:14px!important;
    background:#160d34!important;color:#fff!important;
    overflow-y:auto!important;z-index:10000!important;
    box-shadow:0 12px 32px #040219d9!important;
  }
  html body.fil-pages-premium #app-root>header[data-commands-open="true"] #fil-header-secondary{
    display:grid!important;
  }
  html body.fil-pages-premium #app-root>header #fil-header-secondary :is(a,button){
    min-width:0!important;max-width:100%!important;min-height:40px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:#2c1d52!important;color:#fff!important;border-radius:9px!important;
  }
}
/* Desktop: l'aside Vie locale occupe une largeur définie; il ne pousse pas le site hors écran. */
@media(min-width:1051px){
 html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane{
  flex:1 1 auto!important;width:calc(100% - 340px)!important;min-width:0!important;max-width:calc(100% - 340px)!important;
 }
 html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads#fil-desktop-ads{
  display:grid!important;position:relative!important;inset:auto!important;
  flex:0 0 340px!important;width:340px!important;max-width:340px!important;
  min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
 }
}
/* V165 harmonisation : anciens panneaux blanc sur blanc des pages Histoire et Mentions. */
html body.fil-pages-premium #app-root #main-view :is(.information-block,.fil-v85-about,.fil-v85-panel,.fil-v85-contact,.fil-v85-favorites-help,.fil-mairie-complete){
  background:linear-gradient(150deg,#241843,#11122f)!important;
  color:#f2e9ff!important;border:1px solid #684595!important;
  box-shadow:inset 0 1px #ffffff0f,0 6px 20px #03021550!important;
}
html body.fil-pages-premium #app-root #main-view :is(.information-block,.fil-v85-about,.fil-v85-panel,.fil-v85-contact,.fil-v85-favorites-help,.fil-mairie-complete) :is(h1,h2,h3,h4,p,li,strong,small,span){
  color:#eee7ff!important;
}
html body.fil-pages-premium #app-root #main-view :is(.information-block,.fil-v85-about,.fil-v85-panel,.fil-v85-contact,.fil-v85-favorites-help,.fil-mairie-complete) a{color:#80dafa!important}
html body.fil-pages-premium #app-root #main-view .information-block :is(p,li){line-height:1.5!important;font-size:clamp(12px,1.1vw,15px)!important}
html body.fil-pages-premium #app-root #main-view .information-block h2{font-size:clamp(16px,1.6vw,22px)!important}
/* Panneaux non indexés : conserver des contrastes suffisants même après changement de thème. */
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-panel,.fil-v85-about,.fil-v85-contact,.information-block) :is(.text-slate-600,.text-slate-500){color:#cbbbe6!important}
/* Priorité sur les anciens sélecteurs à #fil-serpent-page dans :not(). */
html body.fil-pages-premium #app-root:not(#fil165old1):not(#fil165old2) #main-view :is(.information-block,.fil-v85-page-content .information-block,.fil-v85-about,.fil-v85-panel,.fil-v85-favorites-help){
 background:linear-gradient(155deg,#241841 0%,#11112f 100%)!important;
 background-color:#21183e!important;
 color:#f5eaff!important;border:1px solid #614583!important;
}
html body.fil-pages-premium #app-root:not(#fil165old1):not(#fil165old2) #main-view :is(.information-block,.fil-v85-about,.fil-v85-panel,.fil-v85-favorites-help) :is(h1,h2,h3,p,small,strong,li,span){color:#f5eaff!important}
/* Le déclencheur Vie locale ne doit plus couvrir Cookies, réseaux ni compteur. */
@media(max-width:1050px){
 html body.fil-pages-premium #app-root > #fil-rail-toggle.fil-v100-rail-launch{
   position:fixed!important;right:9px!important;bottom:calc(152px + env(safe-area-inset-bottom,0px))!important;
   top:auto!important;left:auto!important;z-index:950!important;
   min-height:39px!important;max-height:42px!important;padding:7px 11px!important;
 }
}
@media(max-height:650px) and (max-width:1050px){
 html body.fil-pages-premium #app-root > #fil-rail-toggle.fil-v100-rail-launch{bottom:calc(134px + env(safe-area-inset-bottom,0px))!important}
}

/* Module : fil-v167-mobile.css */
/* Le Fil V167 — application publique smartphone. Styles isolés: n'affecte pas le site PC ni l'administration. */
@media (max-width:700px){
  html,body.fil-pages-premium{width:100%!important;height:100%!important;max-width:100%!important;margin:0!important;overflow:hidden!important;overscroll-behavior:none!important}
  html body.fil-pages-premium #app-root#app-root{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;margin:0!important;zoom:1!important;transform:none!important;overflow:hidden!important;background:#0b0b23!important}
  html body.fil-pages-premium #app-root>header{flex:0 0 60px!important;height:60px!important;min-height:60px!important;max-height:60px!important;padding:5px 12px!important;background:linear-gradient(112deg,#171232,#21143c)!important;border-bottom:1px solid #6f498f88!important;box-shadow:0 2px 14px #05051570!important;overflow:visible!important;z-index:450!important}
  html body.fil-pages-premium #app-root>header .fil-v41-header-inner{height:100%!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand{max-width:calc(100% - 140px)!important;gap:8px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand>div:first-child{flex-basis:40px!important;width:40px!important;height:40px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:11px!important;line-height:1.12!important;letter-spacing:.01em!important;white-space:normal!important;color:#f7f2ff!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:8px!important;line-height:1.15!important;color:#cbb7ee!important;letter-spacing:0!important}
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls{flex:0 0 auto!important;max-width:132px!important;gap:6px!important;overflow:visible!important}
  html body.fil-pages-premium #app-root>header #fil165-weather-quick{flex:0 0 80px!important;min-width:80px!important;max-width:80px!important;width:80px!important;height:39px!important;font-size:11px!important;padding:0 4px!important;border-radius:13px!important}
  html body.fil-pages-premium #app-root>header #fil-header-more{min-width:39px!important;width:39px!important;max-width:39px!important;height:39px!important;border-radius:13px!important}
  html body.fil-pages-premium #app-root .fil-workspace{display:flex!important;flex:1 1 0!important;min-height:0!important;height:auto!important;overflow:hidden!important}
  html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane{display:flex!important;flex:1 1 0!important;width:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;overflow:hidden!important}
  html body.fil-pages-premium #app-root .fil-workspace .fil-site-pane>#main-view{box-sizing:border-box!important;flex:1 1 0!important;min-height:0!important;width:100%!important;max-width:100%!important;height:auto!important;padding:12px 12px 25px!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;scrollbar-width:none!important;background:linear-gradient(160deg,#0c0b28,#13112d 60%,#10122a)!important}
  html body.fil-pages-premium #main-view::-webkit-scrollbar{display:none}
  html body.fil-pages-premium #main-view>*{max-width:100%!important;box-sizing:border-box!important}
  html body.fil-pages-premium #main-view :is(.grid,.fil-v85-event-grid,.fil-v85-tile-grid,.fil-ed-grid,#resto-grid){min-width:0!important;max-width:100%!important}
  html body.fil-pages-premium #main-view :is(img,video,canvas,iframe,svg){max-width:100%!important}
  html body.fil-pages-premium #main-view :is(input,select,textarea,button){font-size:max(16px,1rem);touch-action:manipulation}
  html body.fil-pages-premium #main-view :is(h1,h2,h3,h4,p,li,a,span,strong){overflow-wrap:break-word}
  html body.fil-pages-premium #main-view :is(.fil-v85-page-content,.fil-v85-panel,.fil-page-intro,.fil-ed-intro,.fil-v85-about,.fil-v52-meteo-hero){max-width:100%!important;min-width:0!important}
  html body.fil-pages-premium #main-view :is(.fil-v85-panel,.fil-page-intro,.fil-ed-intro,.fil-v85-about){box-shadow:0 12px 32px #05031466!important;border-radius:19px!important}
  /* Accueil: l'ordre vertical est explicite; aucun module n'est posé sur un autre. */
  html body.fil-pages-premium #main-view .fil-v85-home.fil-v96-home{display:flex!important;flex-direction:column!important;gap:14px!important;grid-template-columns:none!important;align-items:stretch!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important}
  html body.fil-pages-premium #main-view .fil-v85-home.fil-v96-home>section{display:block!important;position:relative!important;grid-column:auto!important;grid-row:auto!important;order:unset!important;flex:0 0 auto!important;min-width:0!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important}
  html body.fil-pages-premium #main-view .fil-v96-hero{height:auto!important;min-height:250px!important;max-height:none!important;overflow:hidden!important;border-radius:22px!important;padding:0!important;border:1px solid #8c65b6aa!important}
  html body.fil-pages-premium #main-view .fil-v96-hero .fil-v96-hero-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:.8!important}
  html body.fil-pages-premium #main-view .fil-v96-hero-inner{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;min-height:248px!important;padding:26px 20px 20px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:10px!important;background:linear-gradient(90deg,#160c2aee,#170e30bb 64%,#1d15375e)!important}
  html body.fil-pages-premium #main-view .fil-v96-hero-inner h1{font-size:clamp(22px,5.6vw,27px)!important;line-height:1.14!important;letter-spacing:-.025em!important;margin:0!important;max-width:100%!important;color:#fff!important;text-shadow:0 2px 12px #130c20!important}
  html body.fil-pages-premium #main-view .fil-v96-hero-inner p{font-size:12px!important;line-height:1.55!important;margin:0!important;max-width:100%!important;color:#eee5fc!important}
  html body.fil-pages-premium #main-view .fil-v96-hero-actions{position:relative!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;height:auto!important;min-height:0!important;margin:2px 0 0!important}
  html body.fil-pages-premium #main-view .fil-v96-hero-actions :is(a,button){position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:42px!important;height:auto!important;padding:8px!important;border-radius:12px!important;font-size:11px!important;line-height:1.2!important;white-space:normal!important;text-align:center!important}
  html body.fil-pages-premium #main-view .fil-v140-featured{height:auto!important;min-height:0!important;padding:13px!important;overflow:hidden!important;border-radius:20px!important;background:linear-gradient(155deg,#1f153e,#120e2d)!important;border:1px solid #684995!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-head{position:relative!important;display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:4px!important;min-height:0!important;height:auto!important;margin-bottom:10px!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-head :is(h2,h3){font-size:18px!important;line-height:1.2!important;margin:0!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-stage{position:relative!important;display:block!important;min-height:175px!important;height:175px!important;max-height:175px!important;isolation:isolate!important;overflow:hidden!important;border-radius:14px!important;border:1px solid #7d56b5!important;background:#1e133a!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:.3!important;z-index:0!important;pointer-events:none!important;filter:saturate(.8)!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-copy{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;z-index:2!important;width:100%!important;height:100%!important;padding:16px 36px!important;overflow:hidden!important;background:linear-gradient(90deg,#160e2ae8,#130d2eb0)!important;text-align:left!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-copy :is(h3,h2){font-size:19px!important;line-height:1.18!important;margin:0!important;color:#fff!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-copy :is(p,small){font-size:11px!important;line-height:1.35!important;margin:0!important;color:#ebe2f8!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-copy a{align-self:flex-start!important;min-height:33px!important;padding:7px 11px!important;font-size:11px!important}
  html body.fil-pages-premium #main-view :is(.fil-v140-feature-prev,.fil-v140-feature-next){position:absolute!important;top:50%!important;z-index:4!important;transform:translateY(-50%)!important;width:32px!important;height:40px!important;min-width:32px!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-prev{left:0!important;right:auto!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-next{right:0!important;left:auto!important}
  html body.fil-pages-premium #main-view .fil-v140-feature-progress{position:relative!important;margin:11px 0 0!important;min-height:8px!important;height:8px!important;overflow:hidden!important}
  html body.fil-pages-premium #main-view .fil-v85-event-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  html body.fil-pages-premium #main-view .fil-v85-event-grid > *{min-width:0!important;width:100%!important;max-width:100%!important}
  html body.fil-pages-premium #main-view .fil-v85-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  html body.fil-pages-premium #main-view .fil-v85-home-access{padding:12px!important}
  html body.fil-pages-premium #main-view :is(.home-news,.home-weather,#fil-mairie-accueil,.fil-snake-promo,.home-about){padding:15px!important;min-height:0!important;height:auto!important;overflow:hidden!important}
  html body.fil-pages-premium #main-view :is(.home-news,.home-weather,#fil-mairie-accueil,.fil-snake-promo,.home-about) :is(a,button){position:relative!important;inset:auto!important;min-height:36px!important}
  html body.fil-pages-premium #main-view :is(.fil-v53-forecast-days,.fil-v53-stat-grid,.fil-v52-meteo-layout){grid-template-columns:minmax(0,1fr)!important;max-width:100%!important}
  html body.fil-pages-premium #main-view :is(.fil-page-intro,.fil-ed-intro){padding:15px!important;min-height:0!important;height:auto!important}
  html body.fil-pages-premium #main-view :is(.fil-v27-spotlight,.fil-v27-feature-ad){max-width:100%!important;overflow:hidden!important}
  /* Dock de 5 accès, les réseaux et le footer restent disponibles dans le volet Explorer. */
  html body.fil-pages-premium.fil167-mobile-ready #app-root #bottom-navigation#bottom-navigation{position:relative!important;inset:auto!important;display:flex!important;flex:0 0 calc(71px + env(safe-area-inset-bottom,0px))!important;width:100%!important;max-width:100%!important;height:calc(71px + env(safe-area-inset-bottom,0px))!important;min-height:0!important;max-height:none!important;margin:0!important;padding:4px 9px calc(6px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;overflow:visible!important;background:linear-gradient(180deg,#17132c,#0e0b25)!important;border:0!important;border-top:1px solid #685084a8!important;border-radius:0!important;box-shadow:0 -10px 26px #03021199!important;z-index:300!important}
  html body.fil-pages-premium.fil167-mobile-ready #bottom-navigation>.fil143-nav-strip,
  html body.fil-pages-premium.fil167-mobile-ready #bottom-navigation>.nav-footer{display:none!important}
  html body.fil-pages-premium #bottom-navigation #fil167-mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;align-items:center!important;width:100%!important;min-width:0!important;height:100%!important}
  html body.fil-pages-premium #bottom-navigation .fil167-tab{appearance:none!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;height:55px!important;min-height:55px!important;min-width:0!important;margin:0!important;padding:4px 0!important;border:1px solid transparent!important;border-radius:15px!important;background:transparent!important;color:#c6b3dd!important;font:600 10px/1.05 Inter,system-ui,sans-serif!important;text-decoration:none!important;cursor:pointer!important;transition:background .16s ease,color .16s ease!important;touch-action:manipulation!important}
  html body.fil-pages-premium #bottom-navigation .fil167-tab i{font-size:20px!important;line-height:1.1!important;color:inherit!important}
  html body.fil-pages-premium #bottom-navigation .fil167-tab[aria-current="page"]{background:linear-gradient(165deg,#5933a0,#33205f)!important;border-color:#9167cc!important;color:#fff!important;box-shadow:0 3px 13px #03021588!important}
  html body.fil-pages-premium #bottom-navigation .fil167-tab:focus-visible{outline:2px solid #94e7ff!important;outline-offset:1px!important}
  html body.fil-pages-premium #app-root > #fil-rail-toggle.fil-v100-rail-launch{bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;right:11px!important;z-index:350!important;font-size:11px!important;padding:8px 10px!important;max-height:34px!important}
  html body.fil-pages-premium #app-root .fil-workspace>#fil-desktop-ads[data-open="true"]{position:fixed!important;inset:60px 0 calc(71px + env(safe-area-inset-bottom,0px)) 0!important;display:grid!important;width:100vw!important;max-width:100vw!important;height:auto!important;max-height:none!important;padding:12px!important;box-sizing:border-box!important;overflow:auto!important;z-index:480!important;background:#18112c!important}
  html body.fil-pages-premium #fil-desktop-ads #fil-music-dock{max-width:100%!important;overflow:visible!important}
  html body.fil-pages-premium #fil-desktop-ads .fil157-player-details:not([hidden]){max-height:min(52dvh,400px)!important;overflow:auto!important}
}
/* Volet Explorer : hors de l'application pour ne pas être coupé par les anciens conteneurs. */
.fil167-sheet-root[hidden]{display:none!important}
.fil167-sheet-root{position:fixed;inset:0;z-index:2147483000;font-family:Inter,system-ui,sans-serif;color:#f8f5ff}
.fil167-sheet-backdrop{position:absolute;inset:0;background:#030510bb;backdrop-filter:blur(8px)}
.fil167-sheet{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;max-height:min(84dvh,760px);padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));border:1px solid #8161a5;border-bottom:0;border-radius:25px 25px 0 0;box-shadow:0 -15px 60px #000a;background:linear-gradient(150deg,#272044,#110e29);overflow:hidden}
.fil167-grabber{width:43px;height:5px;border-radius:6px;background:#b5a2d1;opacity:.65;margin:0 auto 13px}
.fil167-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.fil167-sheet-head h2{font-size:20px;line-height:1.2;margin:0;font-weight:800}
.fil167-close{appearance:none;width:42px;height:42px;border:1px solid #8f6cae;border-radius:14px;background:#372a58;color:#fff;font-size:19px;cursor:pointer}
.fil167-sheet-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:0 1px 10px}
.fil167-subtitle{font-size:11px;font-weight:800;letter-spacing:.14em;color:#c3a7f2;text-transform:uppercase;margin:15px 0 9px}
.fil167-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fil167-sheet-grid button,.fil167-sheet-actions button,.fil167-sheet-actions a{appearance:none;box-sizing:border-box;min-width:0;min-height:49px;padding:10px;border:1px solid #67558b;border-radius:13px;background:#342653;color:#fff;display:flex;gap:9px;align-items:center;text-align:left;justify-content:flex-start;font:650 12px/1.2 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;touch-action:manipulation}
.fil167-sheet-grid button i,.fil167-sheet-actions i{flex:0 0 17px;color:#cbaaff;font-size:17px}
.fil167-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
.fil167-sheet-footer{font-size:11px;color:#b9a8d0;text-align:center;padding:10px 0 0}
.fil167-install-tip{margin:9px 0 0;padding:12px;border:1px solid #8066b3;border-radius:12px;background:#22193c;font-size:13px;line-height:1.6}
@media(max-width:350px){.fil167-sheet-grid button{font-size:11px}.fil167-sheet{padding-inline:11px}}
@media(min-width:701px){.fil167-sheet-root{display:none!important}html body #fil167-mobile-dock{display:none!important}}
@media(prefers-reduced-motion:reduce){.fil167-sheet *{transition:none!important;animation:none!important}}
/* V167 : priorité aux règles historiques très spécifiques du dock V165. */
@media(max-width:700px){
 html body.fil-pages-premium.fil167-mobile-ready #app-root #bottom-navigation#bottom-navigation > .fil143-nav-strip,
 html body.fil-pages-premium.fil167-mobile-ready #app-root #bottom-navigation#bottom-navigation > .nav-footer{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;flex:0 0 0!important}
 html body.fil-pages-premium.fil167-mobile-ready #app-root #bottom-navigation#bottom-navigation > #fil167-mobile-dock{display:grid!important;flex:1 1 auto!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;overflow:visible!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-hero .fil-v96-hero-inner .fil-v96-hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(42px,auto)!important;align-items:stretch!important;gap:7px!important;height:auto!important;max-width:100%!important;min-width:0!important;flex-wrap:initial!important;transform:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-hero .fil-v96-hero-inner .fil-v96-hero-actions > *{display:flex!important;flex:initial!important;grid-column:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:43px!important;max-height:none!important;margin:0!important;white-space:normal!important;line-height:1.2!important;font-size:10px!important;overflow:hidden!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-hero{min-height:245px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v96-hero-inner{min-height:244px!important}
}
@media(max-width:700px){
  /* La commande Vie locale est dans Explorer : ne plus recouvrir les contenus tactiles. */
  html body.fil-pages-premium.fil167-mobile-ready #app-root > #fil-rail-toggle.fil-v100-rail-launch{display:none!important}
  html body.fil-pages-premium #main-view :is(.fil-v83-game-profile,.fil-v58-console) button{touch-action:manipulation}
  html body.fil-pages-premium #main-view .fil-v83-game-profile button{min-height:43px!important}
  html body.fil-pages-premium #main-view :is(.fil-v83-game-profile,.fil-v58-console) button:not(:disabled):not([disabled]){text-shadow:none!important}
  html body.fil-pages-premium #main-view{scroll-padding-bottom:60px!important;padding-bottom:55px!important}
}

/* Module : fil-v168-finitions.css */
/* Le Fil V168 — finitions de l'application publique. Aucun sélecteur d'administration. */
:root{--fil168-purple:#ad80f5;--fil168-violet:#7943cc;--fil168-stroke:rgba(168,133,240,.48)}
.fil168-vigilance{box-sizing:border-box;min-width:0;padding:clamp(15px,2vw,22px);border:1px solid rgba(157,133,239,.67);border-radius:20px;background:linear-gradient(135deg,#24214b,#12162f 75%);color:#f6f2ff;box-shadow:0 10px 28px #06092250}
.fil168-vigilance-head{display:flex;align-items:center;gap:12px}.fil168-vigilance-symbol{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #ae8ef2;border-radius:15px;background:#332554;color:#dfc5ff;font-size:20px}.fil168-vigilance-head small{color:#d0aefe;font:750 10px/1.4 Inter,system-ui,sans-serif;letter-spacing:.12em}.fil168-vigilance h2{color:#fff;font:800 clamp(19px,3vw,24px)/1.2 Inter,system-ui,sans-serif;margin:3px 0}.fil168-vigilance p{font:450 13px/1.55 Inter,system-ui,sans-serif;color:#e4dbf3;margin:12px 0 0}.fil168-vigilance-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.fil168-vigilance-links a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:50px;padding:10px 12px;border:1px solid #a481e0;border-radius:12px;background:#39265e;color:#fff!important;text-decoration:none!important;font:720 12px/1.32 Inter,system-ui,sans-serif;white-space:normal}.fil168-vigilance-links a:hover{background:#533579}.fil168-vigilance-links a i{color:#d1b0ff}.fil168-vigilance-links a span{margin-left:auto}.fil168-vigilance .fil168-vigilance-note{font-size:11px;opacity:.9}.fil168-vigilance a:focus-visible{outline:3px solid #d9baff;outline-offset:3px}
@media (max-width:700px){
 html body.fil-pages-premium{--fil168-pad:clamp(10px,3.1vw,15px)}
 html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane>#main-view{padding:var(--fil168-pad) var(--fil168-pad) calc(24px + env(safe-area-inset-bottom,0px))!important;scroll-padding-top:12px;scroll-padding-bottom:80px!important;overflow-x:hidden!important;overflow-y:auto!important}
 html body.fil-pages-premium #app-root>header{padding-top:max(5px,env(safe-area-inset-top,0px))!important}
 html body.fil-pages-premium #main-view section{min-width:0;box-sizing:border-box}
 html body.fil-pages-premium #main-view :is(.fil-v52-meteo-layout,.fil-v85-page-content,.fil-v85-panel,.fil-v85-home,.fil-v53-weather-extended,.fil-v52-meteo-sources,#fil-musique-page){width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
 html body.fil-pages-premium #main-view :is(.fil-v85-panel,.fil-page-intro,.fil-ed-intro,.fil-v85-about,.fil-v53-weather-extended,.fil-v52-meteo-hero,.fil-v52-meteo-sources,.fil168-vigilance){border-radius:17px!important;overflow-wrap:anywhere}
 html body.fil-pages-premium #main-view :is(.fil-v53-weather-extended,.fil-v52-meteo-sources){background:linear-gradient(135deg,#211b48,#141830)!important;border:1px solid rgba(142,129,222,.65)!important;color:#f2eaff!important}
 html body.fil-pages-premium #main-view :is(.fil-v53-weather-extended,.fil-v52-meteo-sources) :is(h2,h3,p,small,span,strong){color:inherit!important}
 html body.fil-pages-premium #main-view .fil-v53-weather-extended :is(button,a){min-height:43px;white-space:normal}
 html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-forecast-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #main-view .fil-v53-weather-extended .fil-v53-stat-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #main-view .fil168-vigilance{padding:17px!important}
 html body.fil-pages-premium #main-view .fil168-vigilance-links{grid-template-columns:1fr!important;gap:9px!important}
 html body.fil-pages-premium #main-view .fil168-vigilance-links a{display:flex!important;min-height:50px!important;padding:12px!important;font-size:13px!important}
 html body.fil-pages-premium #main-view :is(.fil-v53-weather-extended,.fil168-vigilance) *{max-width:100%}
 html body.fil-pages-premium #main-view #fil-musique-page{padding:4px 0 26px!important;color:#f7f2ff!important;background:transparent!important;min-height:0!important}
 html body.fil-pages-premium #main-view #fil-musique-page :is(.vr111-frame,.vr111-resident,.vr111-story,.vr111-player-area,.vr111-program,.vr111-artists,.vr111-heading,.vr111-program-card){min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #main-view #fil-musique-page img{height:auto!important;object-fit:contain!important}
 html body.fil-pages-premium #main-view #fil-musique-page :is(button,select,input[type=range]){touch-action:manipulation}
 html body.fil-pages-premium #main-view #fil-musique-page :is(button,.vr111-button){min-height:42px;white-space:normal;overflow-wrap:anywhere}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock{max-width:100%!important;min-width:0!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil157-player-details:not([hidden]){min-height:0!important;max-height:min(56dvh,410px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-bar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock :is(button,select){min-height:42px!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock input[type=range]{min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume{width:100%!important;min-width:0!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads #fil-music-dock .fil-music-volume input{flex:1!important;width:auto!important}
 html body.fil-pages-premium.fil167-mobile-ready #fil167-explorer .fil167-sheet-grid button,
 html body.fil-pages-premium.fil167-mobile-ready #fil167-explorer .fil167-sheet-actions :is(button,a){min-height:48px!important}
 html body.fil-pages-premium.fil167-mobile-ready #fil167-explorer .fil167-sheet-body{padding-bottom:max(18px,env(safe-area-inset-bottom,0px))!important}
 html body.fil-pages-premium.fil167-mobile-ready #fil167-mobile-dock .fil167-tab{min-height:45px!important}
 html body.fil-pages-premium.fil167-mobile-ready #fil167-mobile-dock .fil167-tab:focus-visible{outline:2px solid #e5c7ff!important;outline-offset:-3px}
}
@media (max-width:370px){html body.fil-pages-premium #main-view .fil-v96-hero-inner{padding:18px 13px!important}html body.fil-pages-premium #main-view .fil-v140-feature-copy{padding:12px 30px!important}}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #main-view *,html body.fil-pages-premium #fil167-explorer *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Module : fil-v169-audit.css */
/* LE FIL V169 : revue page par page 2026-11-09. S'applique au site public uniquement.
   Aucun fichier d'administration, de données ni de configuration privée n'est modifié. */
html body.fil-pages-premium #app-root #main-view{min-width:0!important}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-page-content,.fil-v84-agenda,.fil-v97-agenda,.fil-v84-agenda-list,.fil-directory-grid,.fil-v85-favorites-help,.fil-snake-promo){box-sizing:border-box;min-width:0;max-width:100%}
/* AGENDA : une grille qui ne déborde plus de sa colonne, cartes foncées lisibles sur PC et mobile. */
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;min-width:0!important;max-width:100%!important;width:100%!important;align-items:stretch!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;background:linear-gradient(155deg,#271744 0%,#17122f 75%)!important;background-color:#211533!important;border:1px solid #8752b8!important;border-radius:17px!important;color:#f5ecff!important;overflow:hidden!important;box-shadow:0 8px 22px #08051666!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card :is(.fil-event-body,.fil-event-heading,.fil-event-excerpt,.fil-event-facts,.fil-card-meta,.fil-card-brand-foot){min-width:0!important;max-width:100%!important;background-color:transparent;color:#f1e6fb!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card :is(h2,h3,h4,strong,.fil-card-eyebrow){color:#fff7ff!important;overflow-wrap:break-word!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card :is(p,small,span,dd,dt){color:#e6d5f6!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card .fil-event-photo{position:relative!important;flex:none!important;width:100%!important;min-width:0!important;height:158px!important;min-height:158px!important;overflow:hidden!important;background:linear-gradient(120deg,#422767,#241b45)!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card .fil-event-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card .fil-event-body{width:100%!important;padding:15px!important;flex:1!important;box-sizing:border-box!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card .fil-event-heading{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search{background:#23163e!important;border:1px solid #9d67d2!important;border-radius:12px!important;box-shadow:none!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search input{background:#23163e!important;color:#f9efff!important;min-width:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search :is(input,svg,i){color:#f7eaff!important}
/* FAVORIS : repli en colonne ; ne jamais laisser 31 px de largeur au contenu. */
html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help{gap:15px!important;min-width:0!important}
html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>div{flex:1 1 260px!important;min-width:180px!important;max-width:100%!important}
html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>a{min-width:0!important;max-width:100%!important;text-align:center!important}
html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help :is(h2,p){overflow-wrap:normal!important;word-break:normal!important;hyphens:auto!important;line-height:1.45!important}
html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help :is(button,a){background:#47245e!important;color:#fff3ff!important;border-color:#a967d2!important}
/* ACCUEIL : bannière Serpent et CTA sur petits écrans. */
html body.fil-pages-premium #app-root #main-view .fil-snake-promo{min-width:0!important;gap:12px!important}
html body.fil-pages-premium #app-root #main-view .fil-snake-promo>div{min-width:0!important;max-width:100%!important}
/* MAIRIE : boutons d'action harmonisés avec le thème sans modifier le site mairie externe. */
html body.fil-pages-premium #app-root #main-view .fil-mairie-page :is(.fil-record-back,.fil-record-action){background:#392353!important;color:#f7edff!important;border:1px solid #a469d4!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;box-sizing:border-box!important}
html body.fil-pages-premium #app-root #main-view .fil-mairie-page :is(.fil-record-back,.fil-record-action) :is(span,i,small){color:inherit!important}
html body.fil-pages-premium #app-root #main-view .fil-mairie-page iframe{width:100%!important;max-width:100%!important;border-radius:12px!important}
/* FORMULAIRES ET FILTRES de chaque rubrique : contrastes et zones tactiles cohérents. */
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-page-content,.fil-v97-agenda) :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
html body.fil-pages-premium #app-root #main-view :is(.fil-v85-page-content,.fil-v97-agenda) :is(a,button):focus-visible{outline:3px solid #f0b8ff!important;outline-offset:2px!important}
@media(max-width:1000px){html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:1fr!important}}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:13px!important;padding:19px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>i{align-self:flex-start!important;font-size:28px!important;flex:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>div{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>div h2{font-size:21px!important;line-height:1.24!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>div p{font-size:13px!important;line-height:1.55!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-v85-favorites-help>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:45px!important;flex:none!important}
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v87-event-card .fil-event-photo{height:176px!important;min-height:176px!important}
 html body.fil-pages-premium #app-root #main-view .fil-snake-promo{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-snake-promo>div{display:block!important;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-snake-promo :is(h2,p){width:100%!important;max-width:100%!important;min-width:0!important;overflow-wrap:normal!important;word-break:normal!important}
 html body.fil-pages-premium #app-root #main-view .fil-snake-promo-image{width:80px!important;height:92px!important;max-width:100%!important;align-self:flex-start!important}
 html body.fil-pages-premium #app-root #main-view .fil-mairie-page .fil-u-action-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.fil-pages-premium #app-root #main-view .fil-mairie-page .fil-record-action{min-width:0!important;min-height:44px!important;padding:8px 10px!important}
 html body.fil-pages-premium #app-root #main-view .fil-mairie-page .fil-record-action .fil-record-text{width:auto!important;min-width:0!important;overflow-wrap:normal!important}
 html body.fil-pages-premium #app-root #main-view #fil-serpent-page :is(.fil-v83-game-profile,.fil-v58-console){max-width:100%!important;min-width:0!important}
 html body.fil-pages-premium #app-root #main-view .fil-snake-milestones{min-width:0!important;flex-wrap:wrap!important}
}
@media(min-width:701px) and (max-width:1300px){html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1750px){html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v84-agenda-list.fil-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* ANNUAIRES : les titres de fiches sont prioritaires devant les badges et les actions. */
html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-meta{min-width:0!important;flex-wrap:wrap!important}
html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-category{max-width:100%!important;width:auto!important;white-space:normal!important;overflow-wrap:break-word!important}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory>.fil-card-heading{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;height:auto!important;min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-identity{display:flex!important;flex:1 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;align-items:center!important;gap:12px!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-identity>div{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-identity :is(h3,h2){min-width:0!important;max-width:100%!important;width:100%!important;line-height:1.3!important;overflow-wrap:break-word!important;word-break:normal!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-identity .fil-card-eyebrow{width:auto!important;max-width:100%!important;overflow-wrap:break-word!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading>.fil-card-aside{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:9px!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-aside .fil-card-meta{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;justify-content:flex-start!important}
 html body.fil-pages-premium #app-root #main-view .fil-directory-grid .fil-v87-directory .fil-card-heading .fil-card-category{max-width:100%!important;min-width:0!important}
}
/* Colonne Vie locale sur PC : les annonces carrées n'empilent plus des textes sur le CTA. */
@media(min-width:701px){
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-rail-module.fil-ad-slot .fil-ad-card--empty{display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:4px!important;padding:8px!important;min-height:0!important;box-sizing:border-box!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-top{position:relative!important;z-index:3!important;min-height:15px!important;max-height:24px!important;flex:none!important;margin:0!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-body{position:relative!important;z-index:3!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:5px!important;min-height:0!important;max-width:100%!important;overflow:hidden!important;padding:2px 0!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-body h3{position:relative!important;z-index:3!important;font-size:clamp(13px,1.2vw,17px)!important;line-height:1.15!important;letter-spacing:-.01em!important;max-width:100%!important;margin:0!important;overflow-wrap:break-word!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-body>p:not(.fil-ad-meta):not(.fil-ad-dimensions){display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;font-size:9px!important;line-height:1.25!important;margin:0!important;max-width:100%!important;overflow:hidden!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty :is(.fil-ad-meta,.fil-ad-dimensions){display:none!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-orb{display:none!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-cta{position:relative!important;z-index:5!important;min-height:32px!important;max-height:40px!important;flex:0 0 auto!important;margin:0!important;padding:6px!important;width:100%!important;font-size:10px!important;line-height:1.1!important;white-space:normal!important}
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-v141-ad-art{z-index:0!important;pointer-events:none!important;opacity:.28!important}
}
/* Informations annexes des annonces libres : visibles dans le formulaire,
   mais non tassées dans les petites vignettes carrées Vie locale. */
@media(min-width:701px){
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-body p.fil-ad-meta,
 html body.fil-pages-premium #app-root #fil-desktop-ads .fil-ad-slot .fil-ad-card--empty .fil-ad-body p.fil-ad-dimensions{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important}
}

/* Module : fil-v170-ultimate.css */
/* Le Fil V170 — ajustements ciblés, sans impact sur l'administration ni le site PC. */
@media (max-width:700px){
  /* La commande audio existe dans Plus; le doublon écrasait le nom du site. */
  html body.fil-pages-premium #app-root>header .fil-v41-actions.fil146-header-controls #fil-ui-sounds{display:none!important;visibility:hidden!important;width:0!important;flex:0 0 0!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand{min-width:0!important;max-width:calc(100% - 150px)!important;overflow:hidden!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand>div:last-child{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:10px!important;line-height:1.13!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand span{white-space:normal!important;overflow-wrap:break-word!important}
}
@media (max-width:370px){
  html body.fil-pages-premium #app-root>header .fil-v41-brand h2{font-size:9px!important}
  html body.fil-pages-premium #app-root>header .fil-v41-brand span{font-size:6px!important}
}

/* Module : fil-v171-production.css */
/* V171 — stabilisation ciblée, sans remplacement des données, des composants ou de l'admin V166. */
html body.fil-pages-premium #main-view :is(button,a,input,select,textarea):focus-visible,
html body.fil-pages-premium #fil167-explorer :is(button,a):focus-visible {
 outline:2px solid #bce6ff!important;outline-offset:2px!important;
}
@media (prefers-reduced-motion:reduce){
 html body.fil-pages-premium #main-view *, html body.fil-pages-premium #fil167-explorer *{
   scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;
 }
}
@media(max-width:700px){
 /* Agenda : l'icône et le champ de recherche étaient empilés sur deux lignes (78px). */
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search {
   display:flex!important;flex-direction:row!important;align-items:center!important;
   justify-content:flex-start!important;gap:9px!important;min-height:46px!important;
   height:auto!important;padding:6px 11px!important;width:100%!important;
   max-width:100%!important;box-sizing:border-box!important;
 }
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search > i,
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search > svg {
   flex:0 0 auto!important;position:static!important;margin:0!important;
 }
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search input {
   flex:1 1 0%!important;width:100%!important;min-width:0!important;
   height:34px!important;min-height:34px!important;padding:6px 0!important;
   font-size:14px!important;border:0!important;box-shadow:none!important;
 }
 /* Garder les filtres, boutons, fiches et formulaires à l'intérieur de la seule zone défilante. */
 html body.fil-pages-premium #main-view :is(.fil-v97-agenda-toolbar,.fil-v84-toolbar,.fil-v85-page-content,.fil-directory-grid,.fil-v52-meteo-layout,.fil-v53-weather-extended){
   max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
 }
 html body.fil-pages-premium #main-view :is(input,textarea,select){box-sizing:border-box;max-width:100%}
 html body.fil-pages-premium #main-view :is(.fil-v97-agenda,.fil-v85-page-content) :is(button,select){touch-action:manipulation}
 html body.fil-pages-premium.fil167-mobile-ready #fil167-mobile-dock .fil167-tab {min-height:48px!important}
 html body.fil-pages-premium #fil167-explorer .fil167-sheet-body {overscroll-behavior:contain}
}
@media(max-width:370px){
 html body.fil-pages-premium #app-root #main-view .fil-v97-agenda .fil-v97-search input{font-size:13px!important}
 html body.fil-pages-premium #fil167-explorer .fil167-sheet-grid{gap:7px!important}
}

/* Module : fil-v172-final.css */
/* LE FIL V172 — finition non destructive du site PUBLIC Néon Premium.
   Conserve les rubriques, l'admin Apple V166, la navigation et le scroll interne. */
html body.fil-pages-premium #main-view {min-width:0; min-height:0;}
html body.fil-pages-premium #main-view :is(input,select,textarea,button) {max-width:100%; box-sizing:border-box;}
html body.fil-pages-premium #main-view :is(.fil-v97-agenda,.fil-v85-page-content,.fil-directory-grid,.fil-v52-meteo-layout) {min-width:0;max-width:100%;box-sizing:border-box;}
html body.fil-pages-premium #main-view :is(.fil-v97-agenda,.fil-v85-page-content,.fil-directory-grid) :is(h1,h2,h3,p,a,span) {overflow-wrap:break-word;}
html body.fil-pages-premium #main-view :is(button,a,input,select,textarea):focus-visible,
html body.fil-pages-premium #fil167-explorer :is(button,a):focus-visible {outline:2px solid #bbdfff!important;outline-offset:2px!important;}
html body.fil-pages-premium #fil167-explorer [role="dialog"]{max-width:100%;}
html body.fil-pages-premium #main-view img {max-width:100%;}
@media(max-width:700px){
  html body.fil-pages-premium #app-root #main-view{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  html body.fil-pages-premium #app-root #main-view :is(.fil-v97-agenda-toolbar,.fil-v84-toolbar,.fil-directory-grid){max-width:100%;min-width:0;}
  html body.fil-pages-premium #main-view :is(input,select,textarea) {font-size:max(16px,1em);}
  html body.fil-pages-premium #fil167-explorer .fil167-sheet{max-height:calc(100dvh - 18px);}
  html body.fil-pages-premium #fil167-explorer .fil167-sheet-grid button{min-height:48px;}
  html body.fil-pages-premium #fil167-mobile-dock .fil167-tab{touch-action:manipulation;}
  html body.fil-pages-premium #main-view [role="dialog"]{max-width:calc(100vw - 24px);}
}
@media(max-width:370px){
  html body.fil-pages-premium #fil167-explorer .fil167-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
  html body.fil-pages-premium #fil167-explorer .fil167-sheet-actions button{min-width:0;white-space:normal;}
}
@media(prefers-reduced-motion:reduce){
  html body.fil-pages-premium #main-view *,html body.fil-pages-premium #fil167-explorer *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* Module : fil-v174-final.css */
/* Le Fil V174 — Portail principal, fiches Apple Neon et correction definitive des medias. */
html body #main-view .fil174-menu-landing {display:flex!important;flex-direction:column!important;min-width:0;gap:16px!important;}
html body #main-view .fil174-welcome {position:relative!important;isolation:isolate;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(125px,27%);align-items:center;min-height:210px;gap:16px;padding:clamp(20px,3vw,33px);margin:0 0 5px;background:linear-gradient(120deg,#21113f,#432070 65%,#37206a)!important;color:#fff;border:1px solid #a771e8;border-radius:20px;box-shadow:0 16px 36px #09041e88;overflow:hidden;}
#main-view .fil174-welcome-text {position:relative;z-index:2;min-width:0;}
#main-view .fil174-welcome h1 {color:#fff!important;font:800 clamp(24px,3.5vw,38px)/1.08 Outfit,Inter,sans-serif!important;letter-spacing:-.035em;margin:5px 0 12px!important;}
#main-view .fil174-welcome p {color:#e8d6fb!important;line-height:1.55!important;max-width:760px;margin:0 0 9px;font-size:clamp(12px,1.4vw,15px)!important;}
#main-view .fil174-eyebrow {color:#edbaff!important;letter-spacing:.12em;font-size:10px;font-weight:800;}
#main-view .fil174-welcome-mark {position:relative;z-index:1;display:grid;place-items:center;min-width:0;max-height:205px;opacity:.93;pointer-events:none;}
#main-view .fil174-welcome-mark img {display:block;position:relative!important;max-height:180px!important;max-width:100%!important;width:100%;height:auto;object-fit:contain!important;filter:drop-shadow(0 7px 15px #0006);}
#main-view .fil174-quick-links {display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;}
#main-view .fil174-quick-links a {display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:39px;padding:7px 12px;border:1px solid #bb8de7;border-radius:10px;background:#ffffff16;color:#fff!important;font-size:12px;font-weight:750;text-decoration:none;}
#main-view .fil174-quick-links a:hover,#main-view .fil174-quick-links a:focus-visible {background:#a37ce94d;outline:2px solid #fad4ff;}
/* Les images introductives restent dans leur propre boite, jamais au dessus des titres/liens. */
html body #main-view :is(.fil-v85-menu-group,.fil-v85-panel,.fil-v85-page-content,.fil-v85-home,.fil-v97-agenda,.fil-directory-page,.fil-page-intro) {min-width:0;max-width:100%;}
html body #main-view :is(.fil-v96-hero,.fil-v85-intro,.fil-v85-page-intro,.fil-v140-feature-head,.fil-ed-intro,.fil-v52-meteo-hero) {isolation:isolate;min-width:0;max-width:100%;}
html body #main-view :is(.fil-v96-hero,.fil-v85-page-intro,.fil-v85-intro) img {max-width:100%;object-position:center center;}
html body #main-view .fil-v96-hero .fil-v96-hero-inner {z-index:2!important;}
/* Agenda : affiche complete dans son cadre, jamais croppee, jamais hors boite. */
html body #app-root #main-view .fil-v87-event-card .fil-event-photo {position:relative!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;isolation:isolate;background:#190f37!important;border:1px solid #674994!important;border-radius:12px!important;}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo>img {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important;background:transparent!important;}
html body #app-root #main-view .fil-v87-event-card .fil-event-photo :is(.fil-event-date,.fil-event-zoom) {z-index:2;}
/* Fiches completes : contenu et informations pratiques identifiables en une lecture. */
html body #modal-detail-content .fil-record-unified {border:1px solid #8250b1!important;border-radius:16px!important;background:#150c2c!important;color:#f5e9ff!important;}
html body #modal-detail-content .fil-record-unified .fil-u-scroll{overflow-y:auto!important;overscroll-behavior:contain;min-width:0;min-height:0;scrollbar-gutter:stable;}
html body #modal-detail-content .fil-record-unified .fil-u-hero {display:grid!important;grid-template-columns:minmax(170px,36%) minmax(0,1fr)!important;align-items:stretch;min-width:0;overflow:hidden!important;background:#251447!important;}
html body #modal-detail-content .fil-record-unified .fil-u-hero-image {min-width:0;overflow:hidden!important;background:radial-gradient(circle,#382164,#170c31)!important;}
html body #modal-detail-content .fil-record-unified .fil-u-hero-image img {position:relative!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;}
html body #modal-detail-content .fil-record-unified .fil-u-hero-copy {min-width:0;overflow-wrap:break-word;}
html body #modal-detail-content .fil-record-unified .fil-u-content {display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(185px,.8fr)!important;gap:12px!important;min-width:0!important;}
html body #modal-detail-content .fil-record-unified :is(.fil-u-main,.fil-u-practical,.fil-u-section,.fil-u-section-body,.fil-record-heading){min-width:0!important;}
html body #modal-detail-content .fil-record-unified :is(.fil-u-section,.fil-u-practical,.fil-u-tools) {background:#251743!important;border:1px solid #67458b!important;color:#f1e6ff!important;border-radius:12px!important;}
html body #modal-detail-content .fil-record-unified .fil-record-paragraph {color:#e9dcf9!important;white-space:pre-line;line-height:1.62!important;font-size:13px!important;}
html body #modal-detail-content .fil-record-unified .fil-u-action-row {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px!important;}
html body #modal-detail-content .fil-record-unified .fil-u-action-row>* {width:100%!important;min-width:0!important;min-height:43px!important;overflow-wrap:anywhere;}
html body #app-root #main-view .fil-public-card .fil-directory-cover img {width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;}
@media(max-width:700px){
 html body #app-root>header {padding:5px 8px!important;height:60px!important;min-height:60px!important;max-height:60px!important;}
 html body #app-root>header .fil-v41-header-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;min-width:0!important;gap:5px!important;}
 html body #app-root>header .fil-v41-brand{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 126px)!important;gap:6px!important;}
 html body #app-root>header .fil-v41-brand h2{font-size:clamp(9px,2.7vw,11px)!important;line-height:1.15!important;max-width:100%!important;}
 html body #app-root>header .fil-v41-brand>div:first-child{width:35px!important;height:35px!important;flex-basis:35px!important;}
 html body #app-root>header .fil-v41-brand span{font-size:8px!important;}
 html body #app-root>header .fil-v41-actions.fil146-header-controls{flex:0 0 119px!important;min-width:119px!important;max-width:119px!important;gap:4px!important;}
 html body #app-root>header #fil165-weather-quick{flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;font-size:10px!important;height:38px!important;}
 html body #app-root>header #fil-header-more{width:38px!important;min-width:38px!important;height:38px!important;}
 html body #main-view .fil174-welcome{display:block!important;min-height:0;padding:19px 15px!important;}
 html body #main-view .fil174-welcome-mark{display:none!important;}
 html body #main-view .fil174-welcome h1{font-size:24px!important;}
 html body #main-view .fil174-welcome p{font-size:12px!important;}
 html body #main-view .fil174-quick-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body #main-view .fil174-quick-links a{padding:7px 5px!important;font-size:11px!important;text-align:center;min-width:0;}
 html body #modal-detail-content .fil-record-unified .fil-u-hero {grid-template-columns:minmax(0,1fr)!important;}
 html body #modal-detail-content .fil-record-unified .fil-u-hero-image {height:156px!important;min-height:156px!important;max-height:156px!important;}
 html body #modal-detail-content .fil-record-unified .fil-u-content {grid-template-columns:minmax(0,1fr)!important;padding:12px!important;}
 html body #modal-detail-content .fil-record-unified .fil-u-action-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body #app-root #main-view .fil-v87-event-card .fil-event-photo{height:180px!important;min-height:180px!important;max-height:180px!important;}
 html body #main-view :is(.fil-v85-page-content,.fil-v85-menu-group,.fil-v98-menu-group,.fil-directory-page,.fil-v85-panel){overflow-wrap:break-word;}
 html body #main-view .fil-v98-menu-grid {grid-template-columns:minmax(0,1fr)!important;}
}
@media(max-width:375px){html body #main-view .fil174-quick-links {grid-template-columns:minmax(0,1fr)!important;}}
@media(prefers-reduced-motion:reduce){html body #main-view .fil174-welcome *{animation:none!important;transition:none!important;}}

/* Supprime le doublon d'entete visuel ajoute par d'anciens templates du menu. */
html body.fil-pages-premium #main-view .fil174-menu-landing::before{content:none!important;display:none!important;}
/* Le bouton "Voir la fiche complete" est remplace par le tap sur toute la carte sur smartphone. */
@media(max-width:700px){
 html body.fil-pages-premium #main-view article[data-local-record-type] .fil-public-actions:has([data-local-open]){display:none!important;}
 html body.fil-pages-premium #main-view article[data-local-record-type]{cursor:pointer;touch-action:manipulation;}
 html body.fil-pages-premium #main-view article[data-local-record-type]:focus-visible{outline:3px solid #a6e6ff!important;outline-offset:3px!important;}
 html body.fil-pages-premium #main-view > .fil-v84-page-hero{isolation:isolate!important;overflow:hidden!important;}
 html body.fil-pages-premium #main-view > .fil-v84-page-hero figure{position:relative!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
 html body.fil-pages-premium #main-view > .fil-v84-page-hero figure img{position:relative!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;}
}

#modal-detail-content .fil-record-unified .fil-u-placeholder{position:relative!important;display:grid!important;place-items:center!important;color:#e7cdff!important;}
#modal-detail-content .fil-record-unified .fil-u-placeholder:after{content:"LE FIL DE PRADES-LE-LEZ";position:absolute;bottom:17px;left:10px;right:10px;text-align:center;color:#e7ceff;font-size:11px;font-weight:800;letter-spacing:.06em;}
/* Photos absentes : pas d'icone d'image cassée sur les fiches ni l'agenda. */
#main-view .fil174-image-unavailable,#modal-detail-content .fil174-image-unavailable{background:linear-gradient(135deg,#2a1954,#41246c)!important;}
#main-view .fil174-image-unavailable:after,#modal-detail-content .fil174-image-unavailable:after{content:'Photo indisponible · consulter la source';display:block;position:relative;z-index:1;padding:15px;color:#e6d7f7;font-size:12px;line-height:1.35;text-align:center;}
#main-view .fil174-welcome{border-radius:20px!important;}


/* V175 - Une seule fenêtre d'application, sans marges historiques. */
html,html body.fil-pages-premium{margin:0!important;padding:0!important;width:100%!important;height:100%!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important;}
html body.fil-pages-premium:not(.fil-studio-open) #app-root#app-root{
 position:relative!important;inset:0 auto auto 0!important;display:flex!important;flex-direction:column!important;
 width:var(--fil-size-width,100vw)!important;max-width:var(--fil-size-width,100vw)!important;
 height:var(--fil-size-height,100dvh)!important;max-height:var(--fil-size-height,100dvh)!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
 box-sizing:border-box!important;transform:none!important;overflow:hidden!important;
 zoom:var(--fil-visual-scale,1)!important;
}
html body.fil-pages-premium:not(.fil-studio-open) #app-root>header,
html body.fil-pages-premium:not(.fil-studio-open) #app-root>#bottom-navigation{
 position:relative!important;left:auto!important;right:auto!important;max-width:100%!important;
 width:100%!important;margin:0!important;box-sizing:border-box!important;border-radius:0!important;
}
html body.fil-pages-premium #app-root .fil-workspace{flex:1 1 0!important;min-height:0!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
html body.fil-pages-premium #app-root .fil-site-pane{min-height:0!important;min-width:0!important;max-width:100%!important;}
html body.fil-pages-premium #app-root .fil-site-pane>#main-view{flex:1 1 0!important;min-height:0!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;}
/* Aucun second bandeau ; mise en page construite dans le moteur de la rubrique. */
html body.fil-pages-premium #app-root #main-view .fil146-banner .fil175-banner-layout{display:flex!important;min-height:140px;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:100%;overflow:hidden;}
html body.fil-pages-premium #app-root #main-view .fil146-banner .fil149-copy{flex:1 1 auto;min-width:0;max-width:100%;padding:clamp(18px,2.6vw,36px)!important;border:0!important;}
html body.fil-pages-premium #app-root #main-view .fil146-banner .fil175-banner-custom-image{position:relative!important;display:flex!important;flex:0 0 min(28%,240px);align-items:center;justify-content:center;max-height:195px;min-width:0;margin:0;padding:10px;overflow:hidden;background:transparent;}
html body.fil-pages-premium #app-root #main-view .fil146-banner .fil175-banner-custom-image img{display:block!important;position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:170px!important;object-fit:contain!important;transform:none!important;}
html body.fil-pages-premium #app-root #main-view .fil146-banner>.fil146-source-markup{display:none!important;}
html.fil175-loading body.fil-pages-premium #main-view{visibility:hidden!important;}
@media(max-width:700px){
 html body.fil-pages-premium:not(.fil-studio-open) #app-root#app-root{width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;zoom:1!important;}
 html body.fil-pages-premium #app-root #main-view .fil146-banner .fil175-banner-layout{min-height:126px;gap:6px;}
 html body.fil-pages-premium #app-root #main-view .fil146-banner .fil149-copy{padding:18px 14px!important;}
 html body.fil-pages-premium #app-root #main-view .fil146-banner .fil149-copy h1{font-size:clamp(22px,6vw,29px)!important;}
 html body.fil-pages-premium #app-root #main-view .fil146-banner .fil175-banner-custom-image{flex-basis:26%;padding:3px;}
 html body.fil-pages-premium #app-root #bottom-navigation>.fil143-nav-strip,
 html body.fil-pages-premium #app-root #bottom-navigation>.nav-footer{display:none!important;}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root #main-view .fil175-banner-layout{animation:none!important;transition:none!important;}}

/* V175.1 : sécurité des surfaces et pleine largeur sans autre thème superposé. */
html body.fil-pages-premium #app-root{max-width:none!important;min-width:0!important;width:100%!important;margin-inline:0!important;}
html body.fil-pages-premium #app-root > header,html body.fil-pages-premium #app-root > #bottom-navigation{max-width:none!important;width:100%!important;left:0!important;right:0!important;box-sizing:border-box!important;}
html body.fil-pages-premium #main-view{isolation:isolate;min-width:0!important;}
html body.fil-pages-premium #main-view > .fil-v84-page-hero.fil146-banner{position:relative;z-index:0;}
html body.fil-pages-premium #main-view > .fil-v84-page-hero.fil146-banner > .fil149-copy{min-width:0;max-width:100%;box-sizing:border-box;}
@media(max-width:700px){html body.fil-pages-premium #app-root > header,html body.fil-pages-premium #app-root > #bottom-navigation{margin-inline:0!important;}html body.fil-pages-premium #main-view{max-width:100%!important;}}


/* === V176 : contrat de disposition unique (public Premium) === */
:root { --fil176-vh: 100dvh; --fil176-safe-bottom: env(safe-area-inset-bottom,0px); }
html,body{min-width:0;max-width:100%;}
html body.fil-pages-premium{margin:0!important;padding:0!important;width:100%!important;max-width:100vw!important;height:var(--fil176-vh)!important;overflow:hidden!important;}
html body.fil-pages-premium #app-root{
 position:relative!important;isolation:isolate!important;display:flex!important;flex-direction:column!important;
 width:100%!important;max-width:100%!important;height:var(--fil176-vh)!important;
 min-height:0!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root>header{
 position:relative!important;flex:0 0 auto!important;inset:auto!important;width:100%!important;
 max-width:100%!important;margin:0!important;box-sizing:border-box!important;z-index:50!important;
}
html body.fil-pages-premium #app-root .fil-workspace{
 display:flex!important;flex:1 1 0!important;min-width:0!important;min-height:0!important;max-width:100%!important;
 width:100%!important;margin:0!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-workspace>.fil-site-pane{
 position:relative!important;display:flex!important;flex:1 1 0!important;min-width:0!important;
 min-height:0!important;max-width:100%!important;height:100%!important;overflow:hidden!important;
}
html body.fil-pages-premium #app-root .fil-site-pane>#main-view{
 position:relative!important;box-sizing:border-box!important;display:block!important;flex:1 1 0!important;
 width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;
 height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
}
html body.fil-pages-premium #app-root>#bottom-navigation{
 position:relative!important;flex:0 0 auto!important;inset:auto!important;display:flex!important;
 width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;
 box-sizing:border-box!important;z-index:60!important;
}
html body.fil-pages-premium #main-view > *{box-sizing:border-box;min-width:0;}
html body.fil-pages-premium #main-view .fil-v84-page-hero,
html body.fil-pages-premium #main-view .fil146-banner{max-width:100%!important;box-sizing:border-box!important;isolation:isolate;}
html body.fil-pages-premium #main-view .fil146-banner>.fil146-source-markup{display:none!important}
html body.fil-pages-premium #main-view .fil146-banner>.fil149-copy{position:relative!important;z-index:1!important;max-width:100%!important;min-width:0!important}
html body.fil-pages-premium #main-view :is(.fil-v140-event-cover,.fil-event-photo,.fil-event-image,figure){max-width:100%;}
html body.fil-pages-premium #main-view :is(.fil-v140-event-cover,.fil-event-photo) img{display:block;max-width:100%;object-fit:cover;object-position:center;}
html body.fil-pages-premium :is(img,svg,video){max-width:100%}
html body.fil-pages-premium #main-view button,
html body.fil-pages-premium #main-view a{touch-action:manipulation}
html.fil176-pending body.fil-pages-premium #main-view{visibility:hidden!important}
html.fil176-ready body.fil-pages-premium #main-view{visibility:visible!important}
html.fil176-pending body.fil-pages-premium #fil-page-transition{visibility:visible!important}
@media(max-width:700px){
 html body.fil-pages-premium #app-root>header{padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right))!important}
 html body.fil-pages-premium #app-root>#bottom-navigation{padding-bottom:var(--fil176-safe-bottom)!important}
 html body.fil-pages-premium #app-root .fil-site-pane>#main-view{width:100%!important;padding-left:10px!important;padding-right:10px!important;}
 html body.fil-pages-premium #main-view .fil-v84-page-hero{grid-template-columns:minmax(0,1fr)!important}
 html body.fil-pages-premium #main-view .fil149-copy h1{overflow-wrap:anywhere;hyphens:auto}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #main-view *{scroll-behavior:auto!important}}

/* V176.1 — Correction de la couche visuelle qui recouvrait les pages.
   Une navigation Premium n'affiche plus de panneau d'attente plein écran. */
html body.fil-pages-premium #fil-page-transition,
html body.fil-pages-premium #fil-page-transition.is-active,
html body.fil-pages-premium #fil-page-transition.is-home-intro {
 display:none!important;visibility:hidden!important;opacity:0!important;
 pointer-events:none!important;animation:none!important;
}
/* Chaque bandeau reste son propre contexte de rendu : aucune image ne doit
   chevaucher les sections qui suivent ou le header du site. */
html body.fil-pages-premium #app-root #main-view > :is(.fil-v84-page-hero,.fil-v98-menu-hero),
html body.fil-pages-premium #app-root #main-view :is(.fil-v96-hero,.fil175-banner-layout) {
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
 max-width:100%!important;box-sizing:border-box!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil175-banner-custom-image,.fil-v84-page-hero > figure) {
 position:relative!important;min-width:0!important;max-width:100%!important;
 overflow:hidden!important;z-index:0!important;
}
html body.fil-pages-premium #app-root #main-view :is(.fil175-banner-custom-image,.fil-v84-page-hero > figure) > img {
 position:relative!important;inset:auto!important;max-width:100%!important;
 max-height:100%!important;transform:none!important;object-fit:contain!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v98-hero-scene,
html body.fil-pages-premium #app-root #main-view .fil-v96-hero-art {
 pointer-events:none!important;max-width:100%!important;
}
html body.fil-pages-premium #app-root #main-view .fil-v98-hero-copy {
 position:relative!important;z-index:3!important;
}
html body.fil-pages-premium #main-view :is(.fil-v84-page-hero,.fil-v98-menu-hero) + * {
 position:relative;z-index:auto;
}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view :is(.fil175-banner-custom-image,.fil-v84-page-hero > figure) {
  flex:0 1 33%!important;min-width:0!important;
 }
}
\n\n/* ================================================================
   LE FIL — CHARTE MENU PARTAGÉE — 2026-11-11
   SOURCE VISUELLE : le Menu V176.1 (inchangé).
   SCOPE : rubriques publiques hors Menu / jamais l'admin.
   Aucun contenu, sélecteur d'action, listener ni ordre de navigation modifié.
   ================================================================ */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) {
  --fil-menu-ink:#fff7ff;
  --fil-menu-muted:#e5d7f9;
  --fil-menu-night:#120c2e;
  --fil-menu-panel:#20133f;
  --fil-menu-panel-deep:#150d34;
  --fil-menu-border:#967ad5;
  --fil-menu-border-strong:#c78aef;
  --fil-menu-pink:#f46ef3;
  --fil-menu-action:linear-gradient(118deg,#7227e8 0%,#b828ae 66%,#f27b46 100%);
  --fil-menu-subtle:linear-gradient(130deg,#38215e,#251643);
  --fil-menu-glow:#a34bf3;
  --fil-menu-card-a:#36235b;
  --fil-menu-card-b:#1d143b;
  --fil-menu-icon:linear-gradient(125deg,#bf4fe8,#602fc7);
  color:var(--fil-menu-ink);
}
/* Couleurs authentiques des carreaux de la page Menu, appliquées à leur rubrique. */
html body.fil-pages-premium #main-view[data-page="associations"] {--fil-menu-glow:#08bda5;--fil-menu-card-a:#07535d;--fil-menu-card-b:#102e43;--fil-menu-icon:linear-gradient(125deg,#08bda5,#087e91)}
html body.fil-pages-premium #main-view[data-page="commerces"] {--fil-menu-glow:#fa884c;--fil-menu-card-a:#5e2b28;--fil-menu-card-b:#30203d;--fil-menu-icon:linear-gradient(125deg,#fa884c,#a44971)}
html body.fil-pages-premium #main-view[data-page="restauration"] {--fil-menu-glow:#ef48b5;--fil-menu-card-a:#5b2355;--fil-menu-card-b:#2d174e;--fil-menu-icon:linear-gradient(125deg,#ef48b5,#772ecb)}
html body.fil-pages-premium #main-view[data-page="services"] {--fil-menu-glow:#22bffc;--fil-menu-card-a:#173d76;--fil-menu-card-b:#17275b;--fil-menu-icon:linear-gradient(125deg,#22bffc,#3356df)}
html body.fil-pages-premium #main-view[data-page="le-fil"] {--fil-menu-glow:#8853fa;--fil-menu-card-a:#40236e;--fil-menu-card-b:#30174d;--fil-menu-icon:linear-gradient(125deg,#8853fa,#b347df)}
html body.fil-pages-premium #main-view[data-page="agenda"] {--fil-menu-glow:#ff41cb;--fil-menu-card-a:#76266e;--fil-menu-card-b:#451d5c;--fil-menu-icon:linear-gradient(125deg,#ff41cb,#922ee4)}
html body.fil-pages-premium #main-view[data-page="mairie"] {--fil-menu-glow:#38d5ff;--fil-menu-card-a:#125478;--fil-menu-card-b:#233767;--fil-menu-icon:linear-gradient(125deg,#38d5ff,#584bda)}
html body.fil-pages-premium #main-view[data-page="favoris"] {--fil-menu-glow:#fa50b7;--fil-menu-card-a:#62305f;--fil-menu-card-b:#411c52;--fil-menu-icon:linear-gradient(125deg,#fa50b7,#7a47e4)}
html body.fil-pages-premium #main-view[data-page="musique"] {--fil-menu-glow:#b55aff;--fil-menu-card-a:#4f2a78;--fil-menu-card-b:#2d1e65;--fil-menu-icon:linear-gradient(125deg,#b55aff,#5722af)}
html body.fil-pages-premium #main-view[data-page="meteo"] {--fil-menu-glow:#4bc9ff;--fil-menu-card-a:#204178;--fil-menu-card-b:#263467;--fil-menu-icon:linear-gradient(125deg,#4bc9ff,#465bce)}
html body.fil-pages-premium #main-view[data-page="horloge"] {--fil-menu-glow:#ff9f4b;--fil-menu-card-a:#603966;--fil-menu-card-b:#322456;--fil-menu-icon:linear-gradient(125deg,#ff9f4b,#aa4ad7)}
html body.fil-pages-premium #main-view:is([data-page="accueil"],[data-page="histoire"],[data-page="mentions"],[data-page="serpent"]) {--fil-menu-glow:#8e55fb;--fil-menu-card-a:#463075;--fil-menu-card-b:#25254f;--fil-menu-icon:linear-gradient(125deg,#8e55fb,#5722af)}
/* Bannières : dégradé et bordure du Menu, sans toucher au placement des illustrations. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) > :is(.fil-v84-page-hero,.fil-v96-hero,.fil146-banner,.fil174-welcome) {
  border-color:var(--fil-menu-border-strong)!important;
  background:radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--fil-menu-glow) 31%,transparent),transparent 62%),linear-gradient(120deg,#21113f,#432070 65%,#37206a)!important;
  box-shadow:inset 0 1px #ffffff19,0 11px 27px #09041e88!important;
  color:var(--fil-menu-ink)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) > :is(.fil-v84-page-hero,.fil-v96-hero,.fil146-banner) :is(h1,h2,strong) {color:#fff!important;text-shadow:0 2px 10px #0d05287a}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) > :is(.fil-v84-page-hero,.fil-v96-hero,.fil146-banner) :is(p,small){color:#e8d6fb!important}
/* Panneaux de contenu : surface sombre du Menu, bordure violette et touche chromatique de la rubrique.
   Les couvertures d'images, calendriers, cartes intégrées et surfaces du jeu gardent leur dessin propre. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
  .fil-v85-panel,.fil-v84-panel,.fil-v97-agenda-toolbar,.fil-directory-search,
  .fil-v85-home-access,.fil-v85-tile,.fil-portal-card,.fil-v87-event-card,
  .fil-v84-event-card,.fil-directory-card,.fil-public-card,.fil-ed-card,
  .fil-v97-filter,.fil-v97-toolbar,.resto-search-panel,.resto-card,
  .information-block,.fil-v85-about,.fil-v85-contact
) {
  border-color:var(--fil-menu-border)!important;
  color:var(--fil-menu-ink)!important;
  box-shadow:inset 0 1px #ffffff16,0 6px 17px #05051d55!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
  .fil-v85-panel,.fil-v84-panel,.fil-v97-agenda-toolbar,.fil-directory-search,
  .fil-v85-home-access,.fil-v97-filter,.fil-v97-toolbar,.resto-search-panel,
  .information-block,.fil-v85-about,.fil-v85-contact
){background:linear-gradient(145deg,#251346,#150e35)!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
  .fil-v85-tile,.fil-portal-card,.fil-v87-event-card,.fil-v84-event-card,
  .fil-directory-card,.fil-public-card,.fil-ed-card,.resto-card
){background:radial-gradient(ellipse at 110% 118%,color-mix(in srgb,var(--fil-menu-glow) 27%,transparent),transparent 67%),linear-gradient(135deg,var(--fil-menu-card-a),var(--fil-menu-card-b))!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
  .fil-v85-tile,.fil-portal-card,.fil-v87-event-card,.fil-v84-event-card,
  .fil-directory-card,.fil-public-card,.fil-ed-card,.resto-card
):is(:hover,:focus-within){border-color:#ffc6ff!important;box-shadow:0 0 14px color-mix(in srgb,var(--fil-menu-glow) 47%,transparent),0 8px 24px #06051d!important}
/* Titres et éléments d'accent : cohérence avec les groupes du Menu. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v85-section-title,.fil-v97-list-heading,.fil-directory-heading,
 .fil-v84-section-heading,.fil-v140-section-title,.fil-v97-agenda-heading
) :is(h2,h3,strong){color:#fff!important;font-family:Outfit,Inter,system-ui,sans-serif!important;font-weight:800!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
  .fil-v85-section-title,.fil-v97-list-heading,.fil-directory-heading,
  .fil-v84-section-heading,.fil-v140-section-title,.fil-v97-agenda-heading
) i{color:var(--fil-menu-glow)!important;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--fil-menu-glow) 70%,transparent))}
/* Compteurs et pastilles comme les petits badges violets du Menu. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v85-count,.fil-v97-count,.fil-directory-count,.fil-v97-count-badge,
 .fil-v85-section-count,.fil-v140-count
){border:1px solid #d953ff!important;border-radius:24px!important;color:#fff!important;background:linear-gradient(100deg,#24115da6,#48066a94)!important;box-shadow:0 0 11px #d03cff68!important}
/* Boutons secondaires : bordure lavender, fond translucide et retour tactile comme le Menu. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v97-mode button,.fil-v97-agenda-toolbar button,.fil-v85-toolbar button,
 .fil-v85-actions a,.fil-card-actions button,.fil-card-actions a,
 .fil-v84-button.secondary,.fil-v97-reset,.resto-search-panel button,
 .resto-menu-entry,.fil-ed-next-card button,.fil-v85-page-content .fil-v85-button
){border:1px solid #bb8de7!important;border-radius:11px!important;background:#ffffff16!important;color:#fff7ff!important;box-shadow:inset 0 1px #ffffff23!important;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s!important}
/* Actions prioritaires, exactement le dégradé violet/rose/orange de la charte Menu. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-card-primary,.fil-public-open,.fil-v84-button:not(.secondary),
 .fil-v96-cta,.fil-v15-open,.fil-v97-propose,.fil-v85-actions .primary,
 .fil-ed-link,.fil-v97-mode button[aria-pressed="true"],
 .fil-v97-mode button.is-active,.fil-card-actions .primary
){background:var(--fil-menu-action)!important;border:1px solid #e9a4f9!important;border-radius:11px!important;color:#fff!important;box-shadow:inset 0 1px #ffffff4d,0 5px 15px #b42b9d55!important;font-weight:800!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v97-mode button,.fil-v97-agenda-toolbar button,.fil-v85-toolbar button,
 .fil-v85-actions a,.fil-card-actions button,.fil-card-actions a,
 .fil-v84-button,.fil-v97-propose,.fil-v97-reset,.fil-public-open,.fil-card-primary,
 .fil-ed-link,.resto-search-panel button,.fil-ed-next-card button
):is(:hover,:focus-visible){border-color:#ffc6ff!important;box-shadow:0 0 13px #d03cff72!important;filter:brightness(1.09)}
/* Champs interactifs : même palette sombre/lilas. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v97-search input,.fil-v97-filter select,.fil-v85-toolbar select,
 .fil-directory-search input,.fil-directory-search select,.resto-search-panel input,
 .resto-search-panel select
){color:#fff7ff!important;background:#271344!important;border:1px solid #a75ad5!important;border-radius:11px!important}
/* Icônes de cartes : même puce lumineuse que la page Menu et couleur de la rubrique. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(
 .fil-v85-tile-icon,.fil-portal-card .fil-v85-tile-icon,.fil-directory-icon,
 .fil-card-icon,.fil-v140-section-icon
){background:var(--fil-menu-icon)!important;border:1px solid #ffffff85!important;border-radius:11px!important;color:#fff!important;box-shadow:inset 0 1px #ffffff45,0 0 12px color-mix(in srgb,var(--fil-menu-glow) 60%,transparent)!important}
/* Les images sont toujours bornées à leurs propres boîtes. Pas de positionnement global sur img. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-v85-tile,.fil-directory-card,.fil-v87-event-card,.fil-v84-event-card,.resto-card){isolation:isolate;min-width:0;max-width:100%;box-sizing:border-box}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(button,a,input,select,textarea):focus-visible{outline:2px solid #ffc6ff!important;outline-offset:2px!important}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-v97-agenda-toolbar,.fil-v85-panel,.fil-v84-panel,.fil-directory-card,.resto-card){max-width:100%;min-width:0}
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-v97-mode button,.fil-v97-propose,.fil-card-primary,.fil-public-open){min-height:40px}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(button,a){transition:none!important}}
/* Les actions sélectionnées doivent conserver le dégradé lumineux du Menu,
   y compris dans la barre Agenda où les commandes secondaires partagent un parent. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil-v97-agenda :is(
  .fil-v84-button:not(.secondary),[data-local-propose],[data-agenda-reset-all]
),
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil-v97-agenda-toolbar button.fil-v84-button:not(.secondary),
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil-v97-agenda [data-agenda-mode][aria-pressed="true"]{
 background:var(--fil-menu-action)!important;
 border:1px solid #eea3f8!important;
 color:#fff!important;
 box-shadow:inset 0 1px #ffffff48,0 5px 17px #b42b9d64!important;
}


/* ==================================================================
   LE FIL 176.3 — BOUTONS DESSINÉS D'APRÈS LA PAGE MENU
   Même géométrie que les carreaux du Menu : contour lilas, verre,
   reflet diagonal, pictogramme encadré et flèche ronde lumineuse.
   Scoped aux pages hors Menu, ne touche pas au header, footer, modales,
   cartes métier, administration, événements, ni à leurs écouteurs.
   ================================================================== */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]){
 --fil-bouton-angle:linear-gradient(140deg,#ffffff3c 0%,transparent 19%,transparent 66%,#ffffff10 100%);
 --fil-bouton-fond:linear-gradient(120deg,var(--fil-menu-card-a,#3a2363) 0%,var(--fil-menu-card-b,#251338) 100%);
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile){
 position:relative!important;isolation:isolate!important;box-sizing:border-box!important;
 color:#fff!important;border:1px solid #967ad5!important;border-radius:12px!important;
 background:var(--fil-bouton-angle),var(--fil-bouton-fond)!important;
 box-shadow:inset 0 1px #ffffff42,0 3px 10px #06032374!important;
 display:inline-flex!important;align-items:center!important;gap:6px!important;
 max-width:100%;font-weight:750!important;line-height:1.2!important;
 text-decoration:none!important;overflow:hidden!important;
 transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease,filter .17s ease!important;
 cursor:pointer;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile):where(:hover,:focus-visible){
 border-color:#ffc6ff!important;box-shadow:inset 0 1px #ffffff6c,0 0 15px color-mix(in srgb,var(--fil-menu-glow) 61%,transparent),0 6px 17px #05021d77!important;
 filter:brightness(1.075);
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile):active{transform:translateY(1px) scale(.99)!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile):disabled{opacity:.53;cursor:not-allowed;filter:saturate(.45)}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile) .fil1763-icon{
 display:grid!important;place-items:center!important;flex:0 0 auto!important;
 width:25px;height:25px;border-radius:9px;border:1px solid #ffffffb0!important;
 color:#fff!important;background:linear-gradient(145deg,#ffffff64,transparent 26%),linear-gradient(125deg,var(--fil-menu-glow,#aa40e9),#5522b3)!important;
 box-shadow:inset 0 1px #ffffff7a,0 0 10px color-mix(in srgb,var(--fil-menu-glow) 70%,transparent)!important;
 font-size:11px!important;line-height:1!important;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile) .fil1763-arr{
 display:grid!important;place-items:center!important;flex:0 0 auto!important;
 width:24px;height:24px;margin-left:auto;
 border-radius:50%!important;border:1px solid #e7bcff!important;
 background:linear-gradient(128deg,#5731bb,var(--fil-menu-glow,#c344ee))!important;
 box-shadow:inset 0 1px #ffffff62,0 0 10px color-mix(in srgb,var(--fil-menu-glow) 66%,transparent)!important;
 color:#fff!important;font-size:10px!important;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-label{flex:1 1 auto;min-width:0;overflow-wrap:normal;white-space:normal;pointer-events:none}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-action{
 min-height:35px!important;padding:5px 8px!important;text-align:left!important;justify-content:flex-start!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-action.fil1763-primary{
 background:var(--fil-bouton-angle),linear-gradient(117deg,#4a2684 0%,var(--fil-menu-card-a,#6d2e85) 55%,color-mix(in srgb,var(--fil-menu-glow) 55%,#432079) 100%)!important;
 border-color:color-mix(in srgb,var(--fil-menu-glow) 42%,#cba0e9)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control{
 min-height:32px!important;justify-content:center!important;white-space:normal;padding:4px 7px!important;border-radius:10px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control .fil1763-icon{width:22px;height:22px;border-radius:7px;font-size:10px!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control .fil1763-arr{display:none!important}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control[aria-pressed="true"],
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control.is-active{
 background:linear-gradient(115deg,#7227e8,#b828ae 67%,#f27b46)!important;
 border-color:#ffc6ff!important;box-shadow:inset 0 1px #ffffff74,0 0 13px #d03cff73!important;
}
/* Les cartes de découverte reprennent le dessin des grandes tuiles du Menu. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-tile{
 display:flex!important;justify-content:flex-start!important;text-align:left!important;
 border-radius:13px!important;background:var(--fil-bouton-angle),radial-gradient(ellipse at 107% 110%,color-mix(in srgb,var(--fil-menu-glow) 68%,transparent),transparent 67%),var(--fil-bouton-fond)!important;
 padding:7px 10px!important;min-height:48px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-tile .fil1763-icon{width:34px;height:34px;border-radius:10px;font-size:15px!important}
/* Favoris, zoom, calendrier, boutons de pagination : la même pastille du Menu,
   sans ajouter de texte et sans modifier le contenu du contrôle. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-card-heart,.fil-event-zoom,.fil147-discovery-arrow,.fil-logo-control){
 border:1px solid #d7a7ff!important;border-radius:50%!important;
 background:linear-gradient(135deg,#5130ab,var(--fil-menu-glow,#ae45ed))!important;
 box-shadow:inset 0 1px #ffffff6e,0 0 11px color-mix(in srgb,var(--fil-menu-glow) 60%,transparent)!important;
 color:#fff!important;
}
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-card-heart,.fil-event-zoom,.fil147-discovery-arrow):where(:hover,:focus-visible){border-color:#fff3ff!important;filter:brightness(1.12)}
/* L'icône d'origine reste visible, même lorsqu'un ancien style utilisait des pastilles blanches. */
html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil-card-heart,.fil-event-zoom,.fil147-discovery-arrow) :is(i,svg){color:#fff!important;fill:currentColor}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-action{padding:4px 6px!important;gap:5px!important;font-size:clamp(10px,2.7vw,13px)!important}
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-action .fil1763-icon{width:23px;height:23px}
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-action .fil1763-arr{width:22px;height:22px}
 html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) .fil1763-control .fil1763-icon{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root #main-view[data-page]:not([data-page="menu"]) :is(.fil1763-action,.fil1763-control,.fil1763-tile){transition:none!important}}

/* V176.4 — ACCUEIL : reprendre exactement les tuiles et boutons du MENU.
   La feuille source pour les 4 tuiles est directement la section Menu Premium.
   Les conteneurs d'accueil, leurs destinations, et les callbacks sont conserves. */
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-card{
 --n39-tile-glow:#b955fb;--n39-tile-a:#241446;--n39-tile-b:#15143c;
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;
 gap:13px!important;position:relative!important;isolation:isolate!important;
 width:100%!important;min-width:0!important;min-height:94px!important;padding:12px 13px!important;
 border:1px solid #967ad5!important;border-radius:13px!important;
 color:#fff!important;background:radial-gradient(ellipse at 100% 120%,var(--n39-tile-glow),transparent 65%),
 linear-gradient(135deg,var(--n39-tile-a),var(--n39-tile-b))!important;
 box-shadow:inset 0 1px #ffffff30,0 4px 12px #03051c73!important;
 overflow:hidden!important;transition:transform .2s,border-color .2s,box-shadow .2s!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-card::before{
 content:"";position:absolute;z-index:-1;right:-14px;top:-33px;width:112px;height:100px;
 border:2px solid currentColor;border-radius:45%;transform:rotate(-30deg);
 background:none!important;box-shadow:0 0 27px var(--n39-tile-glow);opacity:.15;pointer-events:none;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-card::after{
 position:absolute;z-index:-1;right:28px;top:5px;font:900 60px/1 "Font Awesome 6 Free"!important;
 color:var(--n39-tile-glow)!important;opacity:.23!important;background:none!important;
 transform:rotate(-17deg)!important;pointer-events:none;border-radius:0!important;width:auto!important;height:auto!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-associations::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-commerces::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-restauration::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-services::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-le-fil::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-agenda::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-mairie::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-favoris::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-musique::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-meteo::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-horloge::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-accueil::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-histoire::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-mentions::after{content:""}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-card:is(:hover,:focus-visible){transform:translateY(-3px)!important;border-color:#ffc6ff!important;box-shadow:inset 0 1px #ffffff55,0 0 19px var(--n39-tile-glow),0 11px 25px #05041a!important}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-icon{
 display:grid!important;place-items:center!important;flex:0 0 48px!important;
 width:48px!important;height:48px!important;margin:0!important;border-radius:12px!important;
 background:linear-gradient(140deg,#ffffff75,transparent 26%),linear-gradient(125deg,var(--n39-tile-glow),#5722af)!important;
 border:1px solid #ffffff86!important;color:#fff!important;font-size:23px!important;
 box-shadow:inset 0 1px #ffffff69,0 0 13px var(--n39-tile-glow)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-copy{flex:1!important;min-width:0!important;display:block!important;margin:0!important;padding:0 20px 0 0!important;position:relative;z-index:2}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-copy strong{
 color:#fff!important;font:800 clamp(15px,1.24vw,20px)/1.16 Outfit,Inter,system-ui!important;
 letter-spacing:-.025em!important;text-shadow:0 1px 9px #08062aaa!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-copy small{
 display:block!important;margin:5px 0 0!important;color:#f0eaff!important;
 font:500 clamp(9px,.84vw,11px)/1.28 Inter,system-ui!important;text-shadow:0 1px 6px #080928!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-arrow{
 position:absolute!important;right:10px!important;bottom:10px!important;z-index:4;
 width:29px!important;height:29px!important;border-radius:50%!important;
 display:grid!important;place-items:center!important;background:linear-gradient(130deg,#5e32c1,var(--n39-tile-glow))!important;
 color:#fff!important;border:1px solid #d7a7ff!important;box-shadow:0 0 10px var(--n39-tile-glow)!important;font-size:13px!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-associations{--n39-tile-glow:#08bda5;--n39-tile-a:#07535d;--n39-tile-b:#102e43}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-commerces{--n39-tile-glow:#fa884c;--n39-tile-a:#5e2b28;--n39-tile-b:#30203d}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-restauration{--n39-tile-glow:#ef48b5;--n39-tile-a:#5b2355;--n39-tile-b:#2d174e}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-services{--n39-tile-glow:#22bffc;--n39-tile-a:#173d76;--n39-tile-b:#17275b}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-le-fil{--n39-tile-glow:#8853fa;--n39-tile-a:#40236e;--n39-tile-b:#30174d}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-agenda{--n39-tile-glow:#ff41cb;--n39-tile-a:#76266e;--n39-tile-b:#451d5c}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-mairie{--n39-tile-glow:#38d5ff;--n39-tile-a:#125478;--n39-tile-b:#233767}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-favoris{--n39-tile-glow:#fa50b7;--n39-tile-a:#62305f;--n39-tile-b:#411c52}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-musique{--n39-tile-glow:#b55aff;--n39-tile-a:#4f2a78;--n39-tile-b:#2d1e65}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-meteo{--n39-tile-glow:#4bc9ff;--n39-tile-a:#204178;--n39-tile-b:#263467}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v98-menu-horloge{--n39-tile-glow:#ff9f4b;--n39-tile-a:#603966;--n39-tile-b:#322456}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] :is(.fil-v98-menu-accueil,.fil-v98-menu-histoire,.fil-v98-menu-mentions){--n39-tile-glow:#8e55fb;--n39-tile-a:#463075;--n39-tile-b:#25254f}

/* Réutilise la vraie géométrie des tuiles menu, pas les anciennes cartes blanches.
   Une règle forte neutralise les variantes historiques .fil-v85-tile. */
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-grid>.fil-portal-card.fil1764-menu-reuse{
 display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;align-items:center!important;
 gap:12px!important;position:relative!important;overflow:hidden!important;
 height:auto!important;min-height:94px!important;max-height:none!important;
 width:100%!important;max-width:100%!important;margin:0!important;padding:12px 13px!important;
 border:1px solid #967ad5!important;border-radius:13px!important;
 background:radial-gradient(ellipse at 100% 120%,var(--n39-tile-glow),transparent 65%),linear-gradient(135deg,var(--n39-tile-a),var(--n39-tile-b))!important;
 box-shadow:inset 0 1px #ffffff30,0 4px 12px #03051c73!important;color:#fff!important;
 text-align:left!important;text-decoration:none!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-icon{
 display:grid!important;place-items:center!important;flex:0 0 45px!important;
 width:45px!important;height:45px!important;margin:0!important;padding:0!important;
 border:1px solid #ffffff86!important;border-radius:12px!important;
 background:linear-gradient(140deg,#ffffff75,transparent 26%),linear-gradient(125deg,var(--n39-tile-glow),#5722af)!important;
 color:#fff!important;font-size:22px!important;box-shadow:inset 0 1px #ffffff69,0 0 13px var(--n39-tile-glow)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy{
 display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;
 padding:0 21px 0 0!important;position:relative!important;z-index:2;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy strong{
 color:#fff!important;font:800 clamp(14px,1.24vw,19px)/1.16 Outfit,Inter,system-ui!important;
 letter-spacing:-.025em!important;text-shadow:0 1px 9px #08062aaa!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy small{
 display:block!important;color:#f0eaff!important;margin:5px 0 0!important;
 font:500 clamp(9px,.84vw,11px)/1.3 Inter,system-ui!important;letter-spacing:0!important;
 text-shadow:0 1px 6px #080928!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>span.fil-v98-menu-arrow{
 display:grid!important;place-items:center!important;position:absolute!important;right:9px!important;bottom:9px!important;z-index:4;
 flex:none!important;width:28px!important;height:28px!important;margin:0!important;padding:0!important;
 border:1px solid #d7a7ff!important;border-radius:50%!important;
 background:linear-gradient(130deg,#5e32c1,var(--n39-tile-glow))!important;
 box-shadow:0 0 10px var(--n39-tile-glow)!important;color:#fff!important;font-size:12px!important;
}
/* Le Menu conserve son ordre et ses boutons. Sur l'Accueil, les mêmes 4 tuiles
   sont accessibles sans défiler au-delà des événements. */
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home>.fil-v85-home-access{order:1!important;}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home>.fil-v140-featured{order:2!important;}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home>.home-events{order:3!important;}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home>#fil-v56-home-promo{order:4!important;}
/* Actions de l'Accueil : même iconographie que Menu et dimensions lisibles. */
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta{
 flex:0 1 auto!important;min-width:0!important;min-height:40px!important;
 padding:6px 9px!important;gap:7px!important;
 border-color:#ad88ea!important;border-radius:12px!important;
 background:linear-gradient(125deg,var(--n39-tile-a,#43266c),var(--n39-tile-b,#27143e))!important;
 box-shadow:inset 0 1px #ffffff42,0 0 12px color-mix(in srgb,var(--n39-tile-glow,#d354f7) 54%,transparent)!important;
 text-decoration:none!important;color:#fff!important;
 font-size:clamp(10px,.86vw,13px)!important;line-height:1.25!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta:hover{
 border-color:#ffc6ff!important;filter:brightness(1.13);
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1763-icon{
 flex:0 0 28px!important;width:28px!important;height:28px!important;margin:0!important;
 background:linear-gradient(140deg,#ffffff70,transparent 26%),linear-gradient(125deg,var(--n39-tile-glow,#b55aff),#5722af)!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1763-arr{
 flex:0 0 25px!important;width:25px!important;height:25px!important;margin-left:auto!important;
 background:linear-gradient(130deg,#5e32c1,var(--n39-tile-glow,#b55aff))!important;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta[href^="/agenda/"]{--n39-tile-glow:#ff41cb;--n39-tile-a:#76266e;--n39-tile-b:#451d5c}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta[href^="/associations/"]{--n39-tile-glow:#08bda5;--n39-tile-a:#07535d;--n39-tile-b:#102e43}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta[href^="/commerces/"]{--n39-tile-glow:#fa884c;--n39-tile-a:#5e2b28;--n39-tile-b:#30203d}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta[href^="/le-fil/"]{--n39-tile-glow:#8853fa;--n39-tile-a:#40236e;--n39-tile-b:#30174d}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-small.fil1763-action{
 min-height:35px!important;padding:4px 7px!important;gap:6px!important;
 border:1px solid #ac81e2!important;border-radius:11px!important;
 background:linear-gradient(126deg,#4a2376,#221540)!important;
 box-shadow:inset 0 1px #ffffff42,0 0 10px #b347fb61!important;
 font-size:clamp(10px,.85vw,12px)!important;white-space:normal;
}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-small .fil1763-icon{width:23px!important;height:23px!important;flex:0 0 23px!important;border-radius:7px!important;}
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-small .fil1763-arr{width:22px!important;height:22px!important;flex:0 0 22px!important;}
/* Ne pas habiller les boutons de pagination en grandes tuiles : leur signalétique
   et leurs évènements JavaScript demeurent ceux du carrousel. */
@media(max-width:1150px){
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse{gap:8px!important;padding:9px!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-icon{flex-basis:38px!important;width:38px!important;height:38px!important;font-size:18px!important;}
}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-grid>.fil-portal-card.fil1764-menu-reuse{
  min-height:106px!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;padding:9px!important;
 }
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy{padding-right:3px!important;min-width:0!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy strong{font-size:13px!important;line-height:1.15!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>.fil-v98-menu-copy small{font-size:9px!important;line-height:1.18!important;margin-top:4px!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-portal-card.fil1764-menu-reuse>span.fil-v98-menu-arrow{width:24px!important;height:24px!important;right:7px!important;bottom:7px!important;font-size:11px!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta{
  min-height:49px!important;padding:5px 7px!important;gap:5px!important;font-size:11px!important;
 }
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta>.fil1763-icon{width:26px!important;height:26px!important;flex-basis:26px!important;}
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta>.fil1763-arr{width:23px!important;height:23px!important;flex-basis:23px!important;}
}
@media(prefers-reduced-motion:reduce){html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-menu-reuse{transition:none!important;}}

/* V176.4 finition : zone de texte flexible pour ne plus rogner les flèches mobiles. */
html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1764-cta-label{
 display:block!important;flex:1 1 0!important;min-width:0!important;
 white-space:normal!important;overflow-wrap:normal;word-break:normal;
 color:#fff!important;font-weight:800!important;line-height:1.17!important;
}
@media(min-width:1100px){
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions{
  max-width:780px!important;width:max-content!important;display:flex!important;flex-wrap:nowrap!important;gap:7px!important;
 }
}
@media(max-width:700px){
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil-v140-home .fil-v96-hero-actions>.fil1764-home-cta{
  min-height:53px!important;padding:5px 5px!important;gap:4px!important;font-size:10px!important;
 }
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1763-icon{
  flex:0 0 23px!important;width:23px!important;height:23px!important;
 }
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1763-arr{
  flex:0 0 21px!important;width:21px!important;height:21px!important;
 }
 html body.fil-pages-premium #app-root #main-view[data-page="accueil"] .fil1764-home-cta>.fil1764-cta-label{
  font-size:10px!important;line-height:1.14!important;overflow-wrap:anywhere!important;
 }
}
