/* Rebirth public content — no admin rules, old controllers remain authoritative. */
html body.fil180-rebirth #app-root #main-view[data-page] :is(.fil-v96-home,.fil-directory-page,.fil-v97-agenda,.fil-v98-menu,.fil-editorial,.fil-mairie-page,.fil-custom-page){min-width:0;max-width:100%}
html body.fil180-rebirth #app-root #main-view :is(.fil-v96-hero,.fil-v140-featured,.fil-v85-home-access,.fil-v85-panel,.fil-v98-menu-group,.fil-v97-agenda-toolbar,.fil-directory-toolbar,.fil-editorial,.fil-v15-carousel,.fil-v85-about){position:relative;isolation:isolate}
/* Identity feature: real historic Prades image, no replacement or fake photo. */
html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero{
 width:100%!important;max-width:100%!important;min-height:245px!important;max-height:none!important;
 padding:22px 35px!important;border:1px solid #cf62ff!important;border-radius:13px!important;
 background:linear-gradient(107deg,#100725,#321252 55%,#39104a)!important;
 box-shadow:0 0 0 1px #dc6bff8c,inset 0 1px #ffe0ff3b,0 10px 29px #080017aa!important;
 overflow:hidden!important;
}
html body.fil180-rebirth #app-root #main-view .fil-v96-hero-art{background-image:linear-gradient(90deg,#100828f2 0%,#1a0848d8 31%,#1d104777 55%,#200d3910 100%),var(--v96-hero-image,url('/assets/visuels/accueil/village-panorama.webp'))!important;background-position:center 48%!important;background-size:cover!important;filter:contrast(1.035) saturate(1.14)}
html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero h1{font:850 clamp(26px,3.1vw,49px)/1.04 Outfit,Inter,sans-serif!important;letter-spacing:-.028em!important;color:#fff!important;text-shadow:0 3px 15px #060012cc!important}
html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero h1 span{color:#f58cf6!important;text-shadow:0 0 16px #f43bd476!important}
html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero :is(p,.fil-v96-hero-subtitle){font-size:clamp(11px,1vw,14px)!important;color:#fff1ff!important}
html body.fil180-rebirth #app-root #main-view :is(.fil-v96-cta,.fil-card-primary,.fil-v15-open,.fil-v98-menu-card,.fil-portal-card){-webkit-tap-highlight-color:transparent}
html body.fil180-rebirth #app-root #main-view .fil-v96-home :is(.fil-v96-cta,.fil-v15-open){background:linear-gradient(120deg,#6f24de,#d52cd0 66%,#fb706b)!important;border:1px solid #fbb3ff!important;color:#fff!important;border-radius:9px!important;box-shadow:0 0 13px #f65dd06f,inset 0 1px #ffffff75!important;font-weight:800!important}
html body.fil180-rebirth #app-root #main-view :is(.fil-v140-featured,.fil-v15-carousel.fil-featured,.fil-v85-home-access,.home-events,.fil-v85-mairie,.home-news,.home-weather,.home-about){border-color:#9144dc!important;box-shadow:inset 0 1px #ffffff14,0 0 14px #7824d628!important;background-color:#180f3b!important}
html body.fil180-rebirth #app-root #main-view .fil-v140-featured{padding:15px!important;border-radius:12px!important;background:linear-gradient(180deg,#1b103c,#12092f)!important;border:1px solid #9150e6!important}
html body.fil180-rebirth #app-root #main-view .fil-v140-featured h2{color:#fff2ff!important;letter-spacing:-.015em}
html body.fil180-rebirth #app-root #main-view .fil-v140-featured :is(.fil-v15-slide,.fil-v140-slide){box-shadow:0 0 16px #d92bd144!important}
html body.fil180-rebirth #app-root #main-view .fil-v96-home .home-events{padding:15px 12px!important;border:1px solid #8e4ce0!important;border-radius:10px!important}
html body.fil180-rebirth #app-root #main-view .home-events .fil-v87-event-card{border-color:#b66af1!important;box-shadow:0 5px 15px #0500109e!important}
html body.fil180-rebirth #app-root #main-view .home-events .fil-event-date{border:1px solid #ffb2f9!important;box-shadow:0 0 9px #f442ed98!important}
html body.fil180-rebirth #app-root #main-view .fil-v85-panel:not(.fil-v85-full){background:linear-gradient(165deg,#25164b,#160c34)!important;border:1px solid #7945c7!important}
html body.fil180-rebirth #app-root #main-view .fil-v85-home-access .fil-portal-card{box-shadow:inset 0 1px #ffffff27,0 0 12px #853ee751!important;border:1px solid #a05cef!important}
/* Menu landing: align all featured illustration/colours to real illustrated menu cards. */
html body.fil180-rebirth #app-root #main-view .fil-v98-menu .fil-v98-menu-group{margin-bottom:10px!important}
html body.fil180-rebirth #app-root #main-view .fil-v98-menu .fil-v98-menu-card{box-shadow:inset 0 1px #ffe9ff60,0 8px 18px #06001977,0 0 12px #8d3be03d!important;border-color:#aa6bea!important;overflow:hidden!important}
html body.fil180-rebirth #app-root #main-view .fil-v98-menu .fil-v98-menu-card :is(.fil-v98-menu-icon,i,svg){filter:drop-shadow(0 1px 6px #f7a7fa66)}
/* Category page heroes and cards: consistent, still rendered by the real data modules. */
html body.fil180-rebirth #app-root #main-view>.fil-v84-page-hero{border-radius:10px!important;border:1px solid #9b50d8!important;background:linear-gradient(120deg,#221146,#41185d)!important;box-shadow:0 0 15px #9b2add3e!important;min-width:0}
html body.fil180-rebirth #app-root #main-view :is(.fil-directory-card,.fil-v87-event-card,.fil-public-card,.fil-ed-card,.fil-v84-event-card,.resto-card,.fil-service-card,.fil-v85-tile){min-width:0;max-width:100%;border:1px solid #8954ce!important;box-shadow:0 5px 15px #04001799!important}
html body.fil180-rebirth #app-root #main-view :is(.fil-directory-card,.fil-v87-event-card,.fil-public-card,.fil-ed-card,.fil-v84-event-card,.resto-card,.fil-service-card) :is(h2,h3,p,small,strong,span){overflow-wrap:break-word}
html body.fil180-rebirth #app-root #main-view :is(.fil-directory-card,.fil-v87-event-card,.fil-public-card,.fil-ed-card,.fil-v84-event-card,.resto-card,.fil-service-card):hover{border-color:#e47be8!important;box-shadow:inset 0 1px #ffffff42,0 0 17px #ca43da60!important}
/* One universal detail style; no circles or rounded buttons inside. */
html body.fil180-rebirth #modal-detail-content .fil-record-unified,
html body.fil180-rebirth #modal-detail-content .fil-record-unified *,
html body.fil180-rebirth #modal-detail-content .fil-record-unified *::before,
html body.fil180-rebirth #modal-detail-content .fil-record-unified *::after{border-radius:0!important}
html body.fil180-rebirth #modal-detail-content .fil-record-unified{--fil1770-radius:0px;--fil1770-inner:0px;max-width:100%;overflow:hidden!important}
html body.fil180-rebirth #modal-detail-content .fil-record-unified .fil-u-content{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)!important;gap:12px!important;padding:12px!important;min-width:0}
html body.fil180-rebirth #modal-detail-content .fil-record-unified :is(.fil-u-main,.fil-u-side,.fil-u-section,.fil-u-practical,.fil-u-tools){min-width:0;box-sizing:border-box}
html body.fil180-rebirth #modal-detail-content .fil-record-unified .fil-u-hero-copy::after{display:none!important}
html body.fil180-rebirth #modal-detail-content .fil-record-unified :is(.fil-u-section,.fil-u-practical,.fil-u-tools){border-color:#9b50dc!important}
/* Keep typographic rhythm, never use fake live event values. */
html body.fil180-rebirth #app-root #main-view :is(.fil-v85-section-title h2,.fil-v98-menu-group h2,.fil-v97-list-heading h2,.fil-directory-heading h2){text-wrap:balance;color:#fff1ff!important}
@media (max-width:760px){
 html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero{min-height:235px!important;padding:22px 16px!important}
 html body.fil180-rebirth #app-root #main-view .fil-v96-home .fil-v96-hero h1{font-size:clamp(24px,7vw,36px)!important}
 html body.fil180-rebirth #app-root #main-view .fil-v140-featured{padding:8px!important}
 html body.fil180-rebirth #modal-detail-content .fil-record-unified .fil-u-content{grid-template-columns:minmax(0,1fr)!important;padding:8px!important;gap:8px!important}
 html body.fil180-rebirth #app-root #main-view :is(.fil-directory-card,.fil-v87-event-card,.fil-public-card,.fil-ed-card,.fil-v84-event-card,.resto-card){min-width:0!important}
}
@media (prefers-reduced-motion:reduce){
 html body.fil180-rebirth #main-view *,html body.fil180-rebirth #bottom-navigation *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
/* Editorial page: historic oversized grid margins were responsible for 26px horizontal overflow. */
html body.fil180-rebirth #app-root #main-view[data-page="le-fil"] .fil-editorial,
html body.fil180-rebirth #app-root #main-view[data-page="le-fil"] .fil-ed-intro{
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
}
html body.fil180-rebirth #app-root #main-view[data-page="le-fil"] .fil-editorial{overflow-x:clip!important}
