/*
Theme Name: FML Cessy Ultra Premium
Theme URI: https://fml-cessy.fr/
Author: OpenAI
Author URI: https://openai.com/
Description: Thème WordPress ultra premium pour le Foyer Multi-Loisirs de Cessy avec page d’accueil modifiable depuis l’administration, vraies photos libres de droits, agenda hebdomadaire et fiches détaillées par activité.
Version: 5.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: fmlcessy
*/
:root{--ink:#0f213d;--ink-2:#21385b;--text:#415a79;--muted:#7387a1;--line:#d9e4ef;--bg:#f5f8fc;--white:#fff;--blue:#2f6fed;--teal:#0f9d8f;--gold:#e9b85b;--rose:#e5638f;--violet:#6d52ff;--shadow:0 22px 70px rgba(15,33,61,.12);--shadow-strong:0 25px 80px rgba(6,20,51,.2);--radius:28px;--container:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.7}img{max-width:100%;display:block;height:auto}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}button,input,textarea{font:inherit}
.site-wrap{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.aml-container{width:min(var(--container),calc(100% - 2rem));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.8);backdrop-filter:blur(18px);border-bottom:1px solid rgba(217,228,239,.9)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.site-branding{display:flex;align-items:center;gap:.9rem;min-width:0}.site-branding-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 16px 32px rgba(47,111,237,.24)}.site-branding-title{display:flex;flex-direction:column}.site-branding-title a{font-size:1.08rem;font-weight:800;color:var(--ink)}.site-branding-title small{color:var(--muted)}
.menu-toggle{display:none;width:48px;height:48px;border:none;border-radius:16px;background:#edf3fb;cursor:pointer}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;background:var(--ink);border-radius:999px;position:relative;transition:.25s ease}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-6px}.menu-toggle span:after{top:6px}body.menu-open .menu-toggle span{background:transparent}body.menu-open .menu-toggle span:before{top:0;transform:rotate(45deg)}body.menu-open .menu-toggle span:after{top:0;transform:rotate(-45deg)}
.main-navigation{display:flex;align-items:center;gap:1rem}.main-navigation ul{display:flex;gap:.9rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.main-navigation a{display:inline-flex;padding:.7rem 1rem;border-radius:999px;font-weight:700;color:var(--ink)}.main-navigation a:hover,.main-navigation .current-menu-item>a,.main-navigation .current_page_item>a{background:#edf3fb}.nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.15rem;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:800;box-shadow:0 16px 34px rgba(47,111,237,.2)}
.aml-section{padding:5rem 0;position:relative}.aml-section-soft{background:var(--bg)}.aml-section-dark{background:linear-gradient(180deg,#10213a,#1b3f72);color:#fff}.aml-section-title{text-align:center;max-width:820px;margin:0 auto 2.7rem}.aml-section-title h2,.page-title{margin:0 0 .8rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;color:var(--ink);letter-spacing:-.03em}.aml-section-dark .aml-section-title h2{color:#fff}.aml-section-title p,.page-intro{margin:0 auto;color:var(--muted);font-size:1.03rem;max-width:760px}.aml-section-dark .aml-section-title p{color:rgba(255,255,255,.82)}
.aml-tag,.aml-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.85rem;font-weight:700}.aml-tag-dark{background:#eef4fb;color:var(--ink);border:1px solid #d7e2ef}.aml-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:1rem 1.35rem;border-radius:999px;font-weight:800;transition:transform .2s ease;cursor:pointer}.aml-btn:hover{transform:translateY(-2px)}.aml-btn-primary{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;box-shadow:0 16px 34px rgba(47,111,237,.24)}.aml-btn-light{background:#fff;color:var(--ink)}.aml-btn-outline{border:1px solid rgba(255,255,255,.34);color:#fff;background:transparent}.aml-btn-ghost{background:#eef4fb;color:var(--ink)}
.aml-grid{display:grid;gap:1.4rem}.aml-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.aml-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.aml-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.aml-card{background:#fff;border:1px solid #edf2f8;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.aml-card-body{padding:1.4rem 1.4rem 1.5rem}.aml-card h3{margin:.2rem 0 .6rem;color:var(--ink);font-size:1.35rem}.aml-card p{margin:0;color:var(--text)}.aml-photo{position:relative;min-height:250px;background:#dce7f2;overflow:hidden}.aml-photo img{width:100%;height:100%;object-fit:cover}.aml-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,33,61,.02),rgba(15,33,61,.74))}.aml-photo-copy{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;color:#fff;z-index:2}
.hero-ultra{position:relative;padding:6rem 0 4rem;overflow:hidden;background:radial-gradient(circle at top right,rgba(47,111,237,.2),transparent 30%),linear-gradient(180deg,#0f213d 0%,#19355e 64%,#24477f 100%);color:#fff}.hero-ultra:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,38,.78) 0%,rgba(12,28,53,.6) 38%,rgba(12,28,53,.1) 100%)}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.28}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:end}.hero-copy h1{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.97;letter-spacing:-.05em;margin:.9rem 0 1.1rem}.hero-copy p{max-width:670px;color:rgba(255,255,255,.86);font-size:1.08rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}.hero-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.7rem}.hero-kpis .kpi{padding:1rem 1rem 1.05rem;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border-radius:24px}.kpi strong{display:block;font-size:1.8rem;line-height:1;color:#fff}.kpi span{color:rgba(255,255,255,.8);font-size:.95rem}
.hero-stack{position:relative;min-height:540px}.hero-tall,.hero-small{position:absolute;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-strong);border:1px solid rgba(255,255,255,.18)}.hero-tall{right:0;top:0;width:72%;height:100%}.hero-small.one{left:2%;top:4%;width:38%;height:44%}.hero-small.two{left:0;bottom:5%;width:44%;height:38%}.hero-badge{position:absolute;right:1rem;bottom:1rem;z-index:3;padding:.85rem 1rem;border-radius:20px;background:rgba(255,255,255,.92);color:var(--ink);font-weight:800;box-shadow:var(--shadow)}
.stat-ribbon{margin-top:-2rem;position:relative;z-index:3}.stat-ribbon-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:#fff;border:1px solid #e5edf6;box-shadow:var(--shadow);border-radius:30px;padding:1.2rem}.stat-box{text-align:center;padding:.8rem;border-radius:22px;background:#f7fafe}.stat-box strong{display:block;color:var(--ink);font-size:1.6rem}
.highlight-shell{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}.glass-panel{padding:1.6rem;border-radius:32px;background:linear-gradient(180deg,#ffffff,#f6f9fd);box-shadow:var(--shadow);border:1px solid #e7eef7}.glass-panel h2{margin:.6rem 0 .9rem;color:var(--ink);font-size:2.2rem}.feature-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.7rem}.feature-list li{display:flex;gap:.75rem;align-items:flex-start}.feature-list li:before{content:"•";color:var(--teal);font-weight:900;font-size:1.3rem;line-height:1.1}
.activity-nav{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.activity-nav a{padding:.7rem 1rem;border-radius:999px;background:#edf3fb;color:var(--ink);font-weight:700}.cards-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}
.activity-detail{scroll-margin-top:100px;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;align-items:stretch;margin-bottom:1.4rem}.activity-copy{padding:1.5rem 1.6rem}.activity-copy h3{font-size:2rem;margin:.3rem 0 .8rem;color:var(--ink)}.meta-list{display:grid;gap:.7rem;margin:1rem 0 1.1rem}.meta-row{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.meta-row strong{color:var(--ink)}.pill-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.pill{padding:.55rem .8rem;border-radius:999px;background:#edf3fb;color:var(--ink-2);font-weight:700;font-size:.92rem}
.agenda-shell{background:#fff;border-radius:36px;padding:1.3rem;border:1px solid #e5edf6;box-shadow:var(--shadow)}.agenda-grid{display:grid;grid-template-columns:170px repeat(6,1fr);gap:.7rem}.agenda-col-head,.agenda-time,.agenda-item{border-radius:20px;padding:1rem}.agenda-col-head{background:#0f213d;color:#fff;text-align:center;font-weight:800}.agenda-time{background:#eef4fb;color:var(--ink);font-weight:800;display:flex;align-items:center;justify-content:center}.agenda-item{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #e3edf7;min-height:120px}.agenda-item.sport{box-shadow:inset 0 0 0 2px rgba(47,111,237,.12)}.agenda-item.culture{box-shadow:inset 0 0 0 2px rgba(229,99,143,.12)}.agenda-item strong{display:block;color:var(--ink);margin-bottom:.3rem}.agenda-item span{display:block;font-size:.92rem;color:var(--muted)}
.callout-band{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem;align-items:center}.callout-box{padding:1.8rem;border-radius:32px;background:linear-gradient(135deg,#10213a,#2f6fed);color:#fff;box-shadow:var(--shadow-strong)}.callout-box h2{margin:.3rem 0 .8rem;font-size:2.3rem}.callout-box p{color:rgba(255,255,255,.86)}
.post-grid .aml-card-body{padding-top:1.2rem}.site-footer{margin-top:auto;background:#0f213d;color:#dbe5f0;padding:2.4rem 0}.site-footer-inner{display:grid;grid-template-columns:1fr auto;gap:1rem}.site-footer strong,.site-footer a{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.content-area{padding:4rem 0}.entry-content{background:#fff;border:1px solid #e6eef7;border-radius:28px;padding:1.6rem;box-shadow:var(--shadow)}.archive-hero{padding:4rem 0 2rem}.subtle-note{color:var(--muted);font-size:.95rem}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:none}
@media (max-width:1080px){.hero-inner,.highlight-shell,.callout-band,.activity-detail{grid-template-columns:1fr}.hero-stack{min-height:460px}.hero-tall{width:68%}.hero-small.one{width:36%}.hero-small.two{width:40%}.aml-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-photo-grid{grid-template-columns:repeat(2,1fr)}.span-4,.span-6,.span-8{grid-column:span 1}.agenda-grid{grid-template-columns:140px repeat(3,1fr)}.agenda-item.hide-md,.agenda-col-head.hide-md{display:none}}
@media (max-width:760px){.menu-toggle{display:grid;place-items:center}.main-navigation{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #e6eef7;padding:0 1rem 1rem;display:none}.site-header.nav-open .main-navigation{display:block}.main-navigation ul{flex-direction:column;align-items:stretch}.main-navigation a,.nav-cta{width:100%;justify-content:center}.hero-ultra{padding-top:5rem}.hero-kpis,.stat-ribbon-inner,.aml-grid-3,.aml-grid-2,.site-footer-inner{grid-template-columns:1fr}.hero-stack{min-height:390px}.hero-small.one,.hero-small.two{display:none}.hero-tall{position:relative;width:100%;height:390px}.agenda-grid{grid-template-columns:1fr}.agenda-col-head,.agenda-time{display:none}.agenda-item{min-height:auto}.meta-row{grid-template-columns:1fr;gap:.25rem}}

.site-branding-mark{width:76px;height:76px;padding:6px;background:#fff;border:1px solid #dce8f3;overflow:hidden;box-shadow:0 16px 40px rgba(15,33,61,.14)}
.site-logo-img{width:100%;height:100%;object-fit:contain;display:block}
.hero-logo-inline{width:140px;margin:0 0 1rem;padding:.55rem;border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 16px 40px rgba(15,33,61,.12)}
.hero-logo-inline .site-logo-img{height:auto}
.event-card .aml-photo,.gallery-card .aml-photo,.single-entry .entry-cover{margin-bottom:1rem}
.membership-form label{display:block;color:var(--ink);font-weight:700}
.membership-form input,.membership-form select,.membership-form textarea{width:100%;margin-top:.45rem;border:1px solid #d8e4f0;border-radius:16px;padding:.95rem 1rem;background:#fbfdff}
.membership-form input:focus,.membership-form select:focus,.membership-form textarea:focus{outline:none;border-color:#9fc0ef;box-shadow:0 0 0 4px rgba(47,111,237,.1)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-span-2{grid-column:span 2}
.form-alert{padding:1rem 1.1rem;border-radius:16px;margin-bottom:1rem;font-weight:700}
.form-alert.success{background:#e8fbf4;color:#0f6e57}
.form-alert.error{background:#fff1f1;color:#9f1f1f}
.gallery-grid .aml-card-body{padding-top:1rem}
.single-entry h1{color:var(--ink);margin-top:.5rem}
@media (max-width:760px){.site-branding-mark{width:64px;height:64px}.hero-logo-inline{width:110px}.form-grid{grid-template-columns:1fr}.form-span-2{grid-column:span 1}}

.fml-filter-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:center;margin:1.5rem 0 2rem}.fml-filter-bar input,.fml-filter-bar select{width:100%;padding:12px 14px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;color:var(--ink);font:inherit}.fml-filter-bar .aml-btn{justify-content:center;text-align:center}.event-actions{display:flex;flex-wrap:wrap;gap:10px}.weekly-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.day-column h3{margin:0 0 1rem;color:var(--ink)}.schedule-entry{padding:14px 0;border-top:1px solid rgba(15,23,42,.08)}.schedule-entry:first-of-type{border-top:0;padding-top:0}.schedule-entry h4{margin:.5rem 0}.schedule-entry p{margin:.25rem 0}.schedule-entry a{text-decoration:none}.schedule-entry a:hover{text-decoration:underline}.meta-list a{color:var(--brand);text-decoration:none}.meta-list a:hover{text-decoration:underline}@media (max-width: 1100px){.weekly-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.fml-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.weekly-schedule,.fml-filter-bar{grid-template-columns:1fr}}

.fml-block-home .block-home-editor{max-width:none;padding:0;border:none;box-shadow:none;background:transparent}
.fml-hero-block{position:relative;overflow:hidden;padding:5rem 0;background:linear-gradient(135deg,#0f213d 0%,#1c4c88 55%,#2466b1 100%);color:#fff;border-radius:32px;margin-bottom:2rem}
.fml-hero-block h1,.fml-hero-block p{color:#fff}
.fml-hero-block .aml-container{max-width:980px}
.fml-eyebrow{display:inline-block;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.fml-home-section{padding:3rem 0}.fml-home-section-soft{background:var(--bg);border-radius:28px}
.shortcode-activities{margin-top:1.5rem}
