:root{--ink:#211a2b;--muted:#6e6678;--violet:#5d2b83;--violet2:#7c42a7;--coral:#f25f5c;--turq:#18a999;--cream:#fbf7f2;--line:#e9e0ec;--white:#fff;--shadow:0 18px 50px rgba(48,22,63,.11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--cream);line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.skip{position:fixed;top:-5rem;left:1rem;background:#fff;padding:.8rem;z-index:100}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.header{height:86px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(251,247,242,.92);backdrop-filter:blur(15px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(93,43,131,.08)}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.1rem;line-height:1}.brand-mark{width:45px;height:45px;border-radius:50% 50% 48% 52%;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--coral),#f7ae4d 36%,var(--turq) 70%,var(--violet));transform:rotate(-5deg)}.brand small{display:block;font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;color:var(--muted)}.nav{display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.8rem);font-size:.89rem;font-weight:650}.nav a:hover{color:var(--violet)}.nav-cta{border:1.5px solid var(--violet);padding:.65rem 1rem;border-radius:99px}.menu-toggle{display:none;border:0;background:transparent;padding:.5rem}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:690px;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;overflow:hidden;background:radial-gradient(circle at 75% 35%,#eadcf1 0,transparent 36%),linear-gradient(135deg,#fff 0,#fbf7f2 55%,#f8ebe5 100%)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:850;color:var(--violet);margin:0 0 1rem}.hero h1{font-size:clamp(3rem,6vw,6.3rem);letter-spacing:-.055em;line-height:.92;margin:.3rem 0 1.5rem}.hero h1 em{font-style:normal;color:var(--violet)}.lead{font-size:clamp(1.1rem,1.7vw,1.35rem);color:var(--muted);max-width:680px}.hero-actions,.support>div{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.35rem;border:1.5px solid transparent;font-weight:800;cursor:pointer}.primary{background:var(--violet);color:#fff}.primary:hover{background:var(--violet2);transform:translateY(-2px)}.ghost{background:transparent;color:var(--violet)}.outline{border-color:var(--violet);color:var(--violet)}.light{background:white;color:var(--violet)}.privacy-note{font-size:.78rem;color:var(--muted)}.hero-art{position:relative;height:450px}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:280px;height:280px;background:linear-gradient(145deg,var(--coral),#ffbd6f);top:0;right:3%}.orb-b{width:330px;height:330px;background:linear-gradient(145deg,#98e2d8,var(--turq));bottom:-5%;left:0}.hero-card{position:absolute;inset:17% 12% 13% 14%;background:rgba(255,255,255,.88);border-radius:40px;padding:2.4rem;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;transform:rotate(-4deg)}.hero-card span{font-weight:800;color:var(--coral)}.hero-card strong{font-size:2.4rem;line-height:1.05;margin-top:.5rem}
.quick{display:grid;grid-template-columns:repeat(4,1fr);max-width:1180px;margin:-45px auto 0;position:relative;z-index:2;background:#fff;border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.quick a{padding:1.5rem;display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;border-right:1px solid var(--line)}.quick a:last-child{border:0}.quick span{font-size:1.5rem;grid-row:span 2}.quick small{color:var(--muted)}
.section{padding:7rem clamp(1.2rem,7vw,7rem);max-width:1440px;margin:auto;opacity:.1;transform:translateY(20px);transition:.65s}.section.visible,.library.visible,.about.visible,.support.visible{opacity:1;transform:none}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section h2,.library h2,.about h2,.support h2{font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1;letter-spacing:-.045em;margin:.3rem 0}.section-head>p{max-width:440px;color:var(--muted)}.text-link,.footer-link{border:0;background:none;color:var(--violet);font-weight:800;padding:0;cursor:pointer}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.event-card{background:#fff;border-radius:20px;padding:1.4rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;box-shadow:0 8px 30px rgba(48,22,63,.06)}.date{width:64px;height:72px;background:#f3eaf8;border-radius:14px;display:grid;place-content:center;text-align:center;color:var(--violet)}.date strong{font-size:1.7rem;line-height:1}.date span{font-size:.68rem;font-weight:850}.tag{font-size:.68rem;text-transform:uppercase;font-weight:850;color:var(--coral)}.event-card h3{margin:.25rem 0;font-size:1.05rem}.event-card p{margin:0;color:var(--muted);font-size:.85rem}.event-card>a{font-size:1.5rem}.centered{margin:2rem auto 0;width:max-content}.filters{display:flex;gap:.5rem;margin:-1.2rem 0 2rem;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:.55rem 1rem;cursor:pointer}.filters button.active{background:var(--violet);color:#fff}
.actions-section{max-width:none;background:#211a2b;color:#fff}.actions-section .eyebrow{color:#d8b6ef}.actions-section .section-head>p{color:#bbb1c4}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1250px;margin:auto;border-top:1px solid #4d4356;border-left:1px solid #4d4356}.action-grid article{padding:2rem;border-right:1px solid #4d4356;border-bottom:1px solid #4d4356;min-height:230px}.action-grid span{color:#d8b6ef;font-weight:800}.action-grid h3{font-size:1.45rem}.action-grid p{color:#c8c0ce}.action-grid article:hover{background:var(--violet);transform:translateY(-4px)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.news-card{background:white;border-radius:24px;overflow:hidden;box-shadow:0 12px 35px rgba(48,22,63,.06)}.news-image{height:190px;display:flex;align-items:end;padding:1.2rem;background-size:cover}.news-image span{background:#fff;border-radius:99px;padding:.4rem .75rem;font-size:.72rem;font-weight:800}.news-image.violet{background:linear-gradient(145deg,#d9c4e8,var(--violet))}.news-image.coral{background:linear-gradient(145deg,#ffc8bd,var(--coral))}.news-image.turquoise{background:linear-gradient(145deg,#bdeee7,var(--turq))}.news-card>div:last-child{padding:1.5rem}.news-card small,.news-card p{color:var(--muted)}.news-card h3{font-size:1.35rem;line-height:1.2}.news-card a{color:var(--violet);font-weight:800}
.library,.about{margin:3rem clamp(1.2rem,5vw,5rem);padding:clamp(3rem,7vw,7rem);border-radius:38px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:3rem;opacity:.1;transform:translateY(20px);transition:.65s}.library{background:var(--violet);color:#fff}.library .eyebrow{color:#e4c9f6}.library p{max-width:610px;color:#e6ddeb}.status{margin:1.5rem 0}.status i{display:inline-block;width:9px;height:9px;background:#f9c74f;border-radius:50%;margin-right:.5rem}.books{height:300px;display:flex;align-items:end;justify-content:center;gap:8px}.books span{width:12%;border-radius:8px 8px 2px 2px;background:#fff;height:70%;transform:rotate(-3deg)}.books span:nth-child(2){height:90%;background:var(--coral);transform:rotate(2deg)}.books span:nth-child(3){height:78%;background:#f9c74f}.books span:nth-child(4){height:96%;background:var(--turq);transform:rotate(4deg)}.books span:nth-child(5){height:62%;background:#e8d4f4}.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.resource-grid a{background:#fff;padding:1.6rem;border-radius:18px;display:flex;min-height:145px;flex-direction:column;justify-content:space-between;border:1px solid transparent}.resource-grid a:hover{border-color:var(--violet)}.resource-grid span{color:var(--violet);font-size:.85rem}.about{background:#e8f5f2}.about p{max-width:650px;color:#485e59}.values{display:grid;gap:1rem}.values div{background:rgba(255,255,255,.72);padding:1.4rem;border-radius:18px}.values strong,.values span{display:block}.values span{color:#586c68}.light-border{border-color:#fff}.support{text-align:center;padding:7rem 1rem;opacity:.1;transform:translateY(20px);transition:.65s}.support>div{justify-content:center}
.footer{background:#17121d;color:#fff;padding:4rem clamp(1.2rem,6vw,6rem) 1.5rem}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.footer-brand{margin-bottom:.8rem}.footer h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#c8b9d2}.footer a,.footer-link{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #3d3444;margin-top:3rem;padding-top:1.4rem;color:#a89dad;font-size:.73rem}
.alix-launcher{position:fixed;right:1.2rem;bottom:1.2rem;z-index:30;border:0;background:var(--violet);color:#fff;border-radius:99px;padding:.8rem 1.1rem;box-shadow:0 10px 35px rgba(55,20,76,.35);display:flex;gap:.55rem;align-items:center;cursor:pointer}.alix-launcher span{font-size:1.2rem}.alix{position:fixed;right:1.2rem;bottom:5rem;width:min(390px,calc(100vw - 2rem));height:min(580px,calc(100vh - 7rem));z-index:31;background:#fff;border-radius:24px;box-shadow:0 22px 70px rgba(29,11,39,.3);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(25px) scale(.97);pointer-events:none;transition:.25s}.alix.open{opacity:1;transform:none;pointer-events:auto}.alix header{background:var(--violet);color:#fff;padding:1rem;display:flex;justify-content:space-between}.alix header>div{display:flex;gap:.7rem;align-items:center}.alix header small{display:block}.alix header i{display:inline-block;width:7px;height:7px;background:#72e2b8;border-radius:50%}.alix header button{background:none;border:0;color:white;font-size:1.7rem;cursor:pointer}.alix-body{flex:1;padding:1rem;overflow:auto;background:#faf7fb}.bubble{max-width:88%;padding:.85rem 1rem;border-radius:16px;margin-bottom:.7rem;white-space:pre-line}.bubble.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.user{background:var(--violet);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.alix-choices{display:grid;gap:.6rem}.alix-choices button{background:#fff;border:1.5px solid var(--violet);color:var(--violet);border-radius:14px;padding:.8rem;text-align:left;font-weight:750;cursor:pointer}.alix-input{display:flex;padding:.8rem;border-top:1px solid var(--line);gap:.5rem}.alix-input input{flex:1;border:1px solid var(--line);border-radius:99px;padding:.7rem 1rem;min-width:0}.alix-input button{border:0;border-radius:50%;width:42px;background:var(--violet);color:#fff}.alix-disclaimer{font-size:.65rem;color:var(--muted);padding:0 .9rem .65rem;margin:0;text-align:center}
@media(max-width:950px){.menu-toggle{display:block;z-index:22}.nav{position:fixed;inset:0;background:#fff;padding:7rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:stretch;gap:.6rem;transform:translateX(100%);transition:.28s;overflow:auto}.nav.open{transform:none}.nav a{text-align:center;border:1px solid var(--line);border-radius:99px;padding:.9rem;font-size:1rem}.menu-open{overflow:hidden}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{height:330px}.quick{grid-template-columns:repeat(2,1fr);margin:0;border-radius:0}.event-grid,.news-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,1fr)}.resource-grid{grid-template-columns:repeat(2,1fr)}.library,.about{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.header{height:72px}.brand-mark{width:39px;height:39px}.hero{padding:3.4rem 1.2rem}.hero h1{font-size:3.25rem}.hero-art{height:270px}.hero-card{padding:1.5rem;border-radius:28px}.hero-card strong{font-size:1.8rem}.quick{grid-template-columns:1fr 1fr}.quick a{padding:1rem;grid-template-columns:1fr}.quick span{grid-row:auto}.section{padding:5rem 1.2rem}.section-head{display:block}.section-head .text-link{margin-top:1rem}.action-grid{grid-template-columns:1fr}.action-grid article{min-height:auto}.resource-grid{grid-template-columns:1fr 1fr}.library,.about{margin:1rem;padding:2.2rem 1.4rem;border-radius:26px}.books{height:190px}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.event-card{grid-template-columns:auto 1fr}.event-card>a{display:none}.alix-launcher b{display:none}.alix-launcher{width:52px;height:52px;justify-content:center;padding:0}.support{padding:5rem 1.2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Identité hybride, navigation mobile et sélecteur permanent d’Alix */
.header{background:linear-gradient(100deg,rgba(251,247,242,.97),rgba(240,226,246,.97),rgba(226,246,242,.97))}
.brand img{display:block;width:min(300px,46vw);height:68px;object-fit:contain;object-position:left center}
.footer-brand{background:#fff;border-radius:14px;padding:.35rem .65rem}.footer-brand img{width:260px;height:70px}.footer-motto{color:#d7cbe0;font-style:italic}
.alix-modes{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.6rem;background:#eee5f2}
.alix-modes button{border:0;background:transparent;color:var(--violet);border-radius:10px;padding:.6rem .35rem;font-size:.78rem;font-weight:800;cursor:pointer}
.alix-modes button.active{background:#fff;box-shadow:0 3px 12px #351b4420}
@media(max-width:950px){
  .menu-toggle{width:48px;height:48px;border-radius:50%;background:#ffffffa8}
  .menu-toggle span{transition:.2s}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav{background:radial-gradient(circle at 85% 10%,#f25f5c 0 10%,transparent 29%),radial-gradient(circle at 5% 95%,#18a999 0 11%,transparent 28%),linear-gradient(145deg,#30163f,#5d2b83 58%,#342046);padding:6.5rem 1.4rem 2rem;gap:.55rem}
  .nav::before{content:"Explorer le Centre";color:#fff;font-size:1.8rem;font-weight:850;letter-spacing:-.03em;margin:0 0 .8rem .4rem}
  .nav a{color:#fff!important;text-align:left;border:1px solid #ffffff42;background:#ffffff12;border-radius:16px;padding:.8rem 1rem;backdrop-filter:blur(8px)}
  .nav a:hover{background:#ffffff28;transform:translateX(4px)}
  .nav .nav-cta{background:#fff;color:var(--violet)!important;font-weight:850}
}
@media(max-width:600px){.header{height:76px;padding:0 .8rem}.brand img{width:250px;height:62px}}
.admin-side>.brand{height:74px;background:#fff url("assets/logo-centre66-hybride.svg") center/contain no-repeat;border-radius:14px}.admin-side>.brand>*{display:none}

/* Lisibilité renforcée : aucun texte d’interface sous 9 pt (12 px). */
small,.eyebrow,.tag,.date span,.footer-bottom,.alix-disclaimer,.alix-modes button{font-size:max(.75rem,12px)}
.header{height:122px;padding-top:.35rem;padding-bottom:.35rem}
.header .brand{min-width:390px}.header .brand img{width:390px;height:102px}
.nav{font-size:max(.92rem,14px)}
@media(max-width:950px){
  .header{height:112px;padding:0 1.1rem}
  .header .brand{min-width:0;max-width:calc(100vw - 76px)}
  .header .brand img{width:min(390px,calc(100vw - 86px));height:92px}
  .nav{padding-top:8.2rem;min-height:100dvh}
  .nav::before{font-size:2rem;margin-bottom:1rem}
  .nav a{font-size:1.08rem;padding:1rem 1.1rem}
}
@media(max-width:600px){
  .header{height:104px}
  .header .brand img{width:min(330px,calc(100vw - 78px));height:86px}
  .nav{padding-top:7.6rem}
}
.official-brand{gap:1rem}.official-brand img{object-fit:contain;object-position:left center}.brand-66{flex:0 0 auto;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:900;font-size:1.15rem;background:linear-gradient(145deg,#ef3340,#f7b32b 28%,#63c174 48%,#18a999 69%,#6b2f8a);box-shadow:0 5px 16px #54246f2d}
.header .official-brand img{width:330px;height:102px}.header .official-brand{min-width:410px}
.footer-brand.official-brand{width:max-content}.footer-brand.official-brand img{width:280px;height:82px}
.admin-side>.brand{background-image:url("https://espace-associations.perpignan.fr/sites/d8.espace-associations.perpignan.fr/files/media/image/logo-ok-devise.png")}
@media(max-width:950px){.header .official-brand{min-width:0}.header .official-brand img{width:min(330px,calc(100vw - 150px));height:92px}.brand-66{width:48px;height:48px}}
@media(max-width:600px){.header .official-brand img{width:min(275px,calc(100vw - 136px));height:86px}.official-brand{gap:.55rem}.brand-66{width:44px;height:44px;font-size:1rem}}

/* Le logo reste officiel; sa devise est recomposée en texte lisible à côté. */
.official-brand{gap:1.25rem}.official-logo-crop{display:flex;width:220px;height:120px;overflow:hidden;flex:0 0 auto;align-items:center;position:relative}.official-logo-crop img{display:block!important;width:220px!important;height:120px!important;max-width:100%;object-fit:contain!important;object-position:center!important;transform:none!important}.official-logo-crop::after{content:"";position:absolute;left:0;right:0;bottom:0;height:19%;background:#fbf7f2;pointer-events:none}
.brand-motto{display:block;font-size:1rem;line-height:1.35;color:var(--violet);letter-spacing:.01em;white-space:nowrap}.brand-motto strong{font-weight:850}.header .official-brand{min-width:460px}.footer-brand.official-brand{padding:.5rem .8rem}.footer-brand .official-logo-crop::after{background:#fff}.footer-brand .brand-motto{color:var(--violet)}
.brand-66{display:none!important}
/* Le médaillon 66 devient l’identité visuelle exclusive d’Alix. */
.alix-avatar{width:42px;height:42px;display:grid!important;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;font-weight:900;font-size:.9rem;background:linear-gradient(145deg,#f25f5c 0%,#f59e42 18%,#51bd8a 38%,#139b9c 54%,#6f2c91 75%,#3d145f 100%);box-shadow:0 6px 18px rgba(77,27,104,.35)}
.alix-launcher{padding:.42rem 1rem .42rem .42rem;background:#fff;color:var(--violet);border:2px solid #6f2c91}.alix-launcher .alix-avatar{width:44px;height:44px;font-size:.95rem}.alix header .alix-avatar{box-shadow:0 4px 12px #210c2f66}
@media(max-width:950px){.header{height:136px}.header .official-brand{min-width:0}.official-logo-crop{width:190px;height:116px}.official-logo-crop img{width:190px!important;height:116px!important}.brand-motto{font-size:.88rem}}
@media(max-width:600px){.header{height:132px}.official-brand{gap:.7rem}.official-logo-crop{width:165px;height:110px}.official-logo-crop img{width:165px!important;height:110px!important}.brand-motto{font-size:.75rem;line-height:1.3;white-space:normal;max-width:150px}.alix-launcher{width:58px;height:58px;padding:5px}.alix-launcher .alix-avatar{width:44px;height:44px}}

/* État fiable tant que le fichier officiel sans devise n’est pas disponible. */
.official-logo-crop::after{display:none!important}
.brand-motto{display:none!important}
.official-brand{justify-content:center;align-items:center;width:100%;min-width:0!important}
.header .official-brand{justify-content:flex-start}
.official-logo-crop{width:240px;height:118px;justify-content:center;align-items:center;padding:6px}
.official-logo-crop img{width:228px!important;height:106px!important;object-fit:contain!important}
.footer-brand.official-brand{width:280px;justify-content:center;padding:8px}
@media(max-width:950px){.official-logo-crop{width:220px;height:112px}.official-logo-crop img{width:208px!important;height:100px!important}}
@media(max-width:600px){.official-logo-crop{width:205px;height:108px}.official-logo-crop img{width:193px!important;height:96px!important}}

/* Cadrage réel du fichier officiel : logo seul, sans masque ajouté. */
.official-brand{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1.25rem;width:auto}
.official-logo-crop{display:block;width:180px;height:140px;padding:0;overflow:hidden;flex:0 0 180px}
.official-logo-crop img{display:block!important;width:180px!important;height:auto!important;max-width:none!important;object-fit:initial!important;transform:none!important}
.brand-motto{display:block!important;font-size:1rem;line-height:1.4;color:var(--violet);white-space:nowrap}.brand-motto strong{font-weight:850}
.header{height:154px}.header .official-brand{min-width:455px!important}
.footer-brand.official-brand{width:max-content;justify-content:flex-start;padding:.65rem 1rem}.footer-brand .official-logo-crop{width:180px;height:140px;flex-basis:180px}.footer-brand .brand-motto{color:var(--violet)}
@media(max-width:950px){.header{height:142px}.header .official-brand{min-width:0!important}.official-logo-crop{width:155px;height:121px;flex-basis:155px}.official-logo-crop img{width:155px!important}.brand-motto{font-size:.88rem}}
@media(max-width:600px){.header{height:132px}.official-brand{gap:.7rem}.official-logo-crop{width:130px;height:101px;flex-basis:130px}.official-logo-crop img{width:130px!important}.brand-motto{font-size:.75rem;line-height:1.3;white-space:normal;max-width:145px}}
@media(max-width:380px){.header{height:190px;align-items:flex-start;padding-top:.55rem}.header .official-brand{flex-direction:column;gap:.15rem;align-items:center}.official-logo-crop{width:120px;height:93px;flex-basis:93px}.official-logo-crop img{width:120px!important}.brand-motto{text-align:center;max-width:210px}.menu-toggle{position:absolute;right:.7rem;top:.7rem}.nav{padding-top:12rem}}

/* Mise en avant éditoriale de l’accueil, modifiable depuis l’administration. */
.hero-feature{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#211a2b;isolation:isolate;min-height:440px}
.hero-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,11,27,.9) 100%);z-index:1}
.hero-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-feature-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2rem;color:#fff;display:flex;flex-direction:column;align-items:flex-start}
.hero-feature-copy span{background:var(--coral);border-radius:99px;padding:.35rem .75rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:850}
.hero-feature-copy strong{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.05;margin:.7rem 0 .25rem}
.hero-feature-copy small{font-size:.9rem;color:#f0e8f4}.hero-feature-copy a{margin-top:1rem;background:#fff;color:var(--violet);border-radius:99px;padding:.65rem 1rem;font-weight:850}
@media(max-width:950px){.hero-feature{height:min(540px,72vw);min-height:360px}}
@media(max-width:600px){.hero-feature{height:115vw;max-height:520px;min-height:390px}.hero-feature-copy{padding:1.3rem}.hero-feature>img{object-position:center}}

/* Cartes d’événements homogènes, visuel toujours présent sur mobile. */
.event-card{grid-template-columns:112px 64px 1fr auto;padding:0;overflow:hidden;min-height:150px}.event-visual{align-self:stretch;min-height:150px;position:relative;background:linear-gradient(145deg,#5d2b83,#f25f5c)}.event-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,#f7b32b 0 12%,transparent 13%),radial-gradient(circle at 72% 70%,#18a999 0 22%,transparent 23%)}.event-visual.accueil{background:linear-gradient(145deg,#18a999,#d7f3ec)}.event-visual.bibliotheque{background:linear-gradient(145deg,#f7b32b,#f25f5c)}.event-visual span{position:absolute;left:.6rem;bottom:.6rem;color:#fff;background:#211a2bbb;border-radius:99px;padding:.25rem .5rem;font-size:.7rem;font-weight:850}.event-copy{padding:.8rem 0}.event-more{border:0;background:transparent;color:var(--violet);font-size:1.5rem;padding:1rem;cursor:pointer}
.event-visual::before{display:none}.event-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.event-visual span{z-index:1}
@media(max-width:700px){.event-card{grid-template-columns:92px 58px 1fr;min-height:125px}.event-visual{min-height:125px}.event-more{display:none}.event-copy{padding:.7rem .7rem .7rem 0}.event-copy h3{font-size:.96rem}.event-copy p{font-size:.78rem}.date{width:52px;height:62px}}

/* Alix reste visible et identifiable pendant toute la visite. */
.alix-launcher{width:auto;height:auto;min-height:62px;padding:.5rem 1rem .5rem .5rem;gap:.7rem;border:2px solid #7d3ca2;background:linear-gradient(110deg,#fff,#f3e7f8);box-shadow:0 12px 38px rgba(64,20,88,.3);animation:alix-breathe 3.2s ease-in-out infinite}
.alix-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.alix-launcher-copy small{font-size:.72rem;color:#6f6375}.alix-launcher-copy b{display:block!important;font-size:.9rem;color:#5d2b83;white-space:nowrap}
.alix-launcher:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(64,20,88,.38)}
@keyframes alix-breathe{0%,100%{box-shadow:0 12px 38px rgba(64,20,88,.28)}50%{box-shadow:0 12px 42px rgba(113,42,145,.48)}}
@media(max-width:600px){.alix-launcher{width:auto;height:auto;min-height:58px;padding:5px 12px 5px 5px}.alix-launcher-copy{display:flex}.alix-launcher-copy small{font-size:.68rem}.alix-launcher-copy b{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.alix-launcher{animation:none}}
.admin-body dialog textarea{min-height:110px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:.7rem;font:inherit}
.admin-body dialog label small{color:var(--muted);font-weight:500}.admin-image-preview{display:block;width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin-top:.8rem}.news-image{position:relative}.news-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.news-image>span{position:relative;z-index:1}
.alix-contact{display:grid;gap:.8rem}.alix-contact>p{margin:0 0 .15rem}.alix-contact label{display:grid;gap:.3rem;font-size:.78rem;font-weight:750;color:var(--violet)}.alix-contact input,.alix-contact textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:.7rem;background:#fff;color:var(--ink);font:inherit}.alix-contact textarea{resize:vertical}.alix-contact input[type="file"]{font-size:.75rem}.alix-contact small{font-size:.68rem;color:var(--muted);font-weight:500}.alix-contact .alix-consent{grid-template-columns:auto 1fr;align-items:start;color:var(--muted);font-weight:500}.alix-contact .alix-consent input{width:auto;margin-top:.15rem}.alix-contact .contact-trap{position:absolute;left:-10000px}.alix-contact .form-status{font-size:.75rem;margin:0;color:var(--violet);font-weight:700}.alix-input[hidden]{display:none}
.admin-body dialog select{border:1px solid var(--line);border-radius:10px;padding:.7rem;background:#fff}.row-actions{display:flex!important;gap:.4rem;justify-content:flex-end}.row-actions button:last-child{color:#a12b42;background:#fff0f2}
.news-admin-list article{display:grid;grid-template-columns:145px 1fr auto;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.news-admin-list time{color:var(--violet);font-weight:800}.news-admin-list span b,.news-admin-list span small{display:block}.news-admin-list small{color:var(--muted)}@media(max-width:650px){.news-admin-list article{grid-template-columns:1fr}.news-admin-list .row-actions{justify-content:flex-start;margin-top:.6rem}}
.admin-preview-link{align-self:flex-start;background:#5d2b83;color:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:800;text-decoration:none;margin-left:auto;margin-right:1rem}
.admin-brand{display:flex;flex-direction:column;background:#fff;color:#211a2b;border-radius:14px;padding:1rem}.admin-brand strong{font-size:1.05rem}.admin-brand small{color:#5d2b83;margin-top:.3rem}.admin-side nav a{color:#c9bfce;text-align:left;padding:.8rem;border-radius:10px}.admin-side nav a.active,.admin-side nav a:hover{background:#392d44;color:#fff}.admin-action-link{background:#fff;border-radius:18px;padding:1.3rem;text-align:left;min-height:160px;box-shadow:0 8px 25px rgba(44,23,54,.05);display:block}.admin-action-link span,.admin-action-link b,.admin-action-link small{display:block}.admin-action-link span{font-size:2rem;color:#5d2b83}.admin-action-link b{margin:.6rem 0}.admin-action-link small{color:#6e6678}#admin-events article,#admin-news article{display:grid;grid-template-columns:145px 1fr auto;align-items:center;padding:1rem 0;border-top:1px solid #e9e0ec}#admin-events time,#admin-news time{color:#5d2b83;font-weight:800}#admin-events span b,#admin-events span small,#admin-news span b,#admin-news span small{display:block}#admin-events small,#admin-news small{color:#6e6678}@media(max-width:650px){#admin-events article,#admin-news article{grid-template-columns:1fr}.row-actions{justify-content:flex-start!important;margin-top:.6rem}}

/* Finition mobile : bandeau compact et aucun débordement horizontal */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.header>*{min-width:0}
@media(max-width:600px){
  .header{height:108px!important;min-height:108px;padding:.35rem .75rem!important;align-items:center!important}
  .header .official-brand{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:.5rem!important;max-width:calc(100vw - 64px)!important;min-width:0!important;width:auto!important}
  .header .official-logo-crop{display:block!important;width:116px!important;height:94px!important;flex:0 0 116px!important;overflow:hidden!important;padding:0!important}
  .header .official-logo-crop img{display:block!important;width:116px!important;height:auto!important;max-width:none!important}
  .header .brand-motto{display:block!important;max-width:132px!important;white-space:normal!important;font-size:.68rem!important;line-height:1.22!important;text-align:left!important}
  .menu-toggle{position:relative!important;right:auto!important;top:auto!important;flex:0 0 46px}
  .nav{padding-top:7rem!important}
  .hero,.section,.quick,.library,.about,.support,.footer{max-width:100%;overflow:hidden}
  .hero>* ,.section>* ,.event-card>* ,.news-card>* ,.page-card>*{min-width:0}
  .hero h1,.page-hero h1,.event-copy h3,.news-card h3,.page-card h2,.page-card h3{overflow-wrap:anywhere}
  .event-card{max-width:100%;grid-template-columns:88px 54px minmax(0,1fr)!important}
  .event-visual{width:88px}
  .footer-brand.official-brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.55rem!important;width:100%!important;max-width:310px!important;padding:.55rem!important}
  .footer-brand .official-logo-crop{width:120px!important;height:94px!important;flex:0 0 120px!important}
  .footer-brand .official-logo-crop img{width:120px!important;height:auto!important;max-width:none!important}
  .footer-brand .brand-motto{display:block!important;min-width:0!important;max-width:142px!important;white-space:normal!important;font-size:.7rem!important;line-height:1.25!important}
}
@media(max-width:380px){
  .header{height:104px!important;min-height:104px!important;padding:.3rem .55rem!important}
  .header .official-logo-crop{width:108px!important;height:88px!important;flex-basis:108px!important}
  .header .official-logo-crop img{width:108px!important}
  .header .brand-motto{max-width:118px!important;font-size:.64rem!important}
  .nav{padding-top:6.5rem!important}
  .footer-brand.official-brand{max-width:100%!important}
  .footer-brand .official-logo-crop{width:108px!important;height:86px!important;flex-basis:108px!important}
  .footer-brand .official-logo-crop img{width:108px!important}
}

/* Navigation publique toujours visible */
html{scroll-padding-top:166px}
body{padding-top:154px}
.header{position:fixed!important;left:0;right:0;top:0;width:100%;z-index:80;box-shadow:0 6px 24px rgba(37,19,48,.08)}
@media(max-width:950px){html{scroll-padding-top:154px}body{padding-top:142px}}
@media(max-width:600px){html{scroll-padding-top:120px}body{padding-top:108px}}
@media(max-width:380px){html{scroll-padding-top:116px}body{padding-top:104px}}
.admin-body{padding-top:0}
/* Mise en avant plus visuelle et acces agenda plus identifiable */
.home-main .hero,
main > .hero:first-child{
  padding-top:clamp(24px,3vw,48px)!important;
}

/* Espace uniforme et resserre sous le header sur toutes les pages publiques */
main > section:first-child,
main > .page-hero:first-child,
.page-main > section:first-child,
.page-main > .page-hero:first-child{
  padding-top:clamp(24px,3vw,48px)!important;
}

@media(max-width:700px){
  main > section:first-child,
  main > .page-hero:first-child,
  .page-main > section:first-child,
  .page-main > .page-hero:first-child{
    padding-top:20px!important;
  }
}

/* Rythme vertical plus compact entre toutes les sections */
:root{
  --section-space:48px;
}

main > section{
  padding-top:var(--section-space)!important;
  padding-bottom:var(--section-space)!important;
}

main > section:first-child,
.page-main > section:first-child{
  padding-top:var(--section-space)!important;
}

main > section + section{
  margin-top:0!important;
}

@media(max-width:700px){
  :root{
    --section-space:32px;
  }

  main > section{
    padding-top:var(--section-space)!important;
    padding-bottom:var(--section-space)!important;
  }
}

@media(min-width:951px){
  .hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:4vw}
  .hero h1{font-size:clamp(3.8rem,5.2vw,5.45rem)}
  .hero-feature{min-height:520px}
}
.event-card{position:relative}
.event-more{align-self:stretch!important;display:grid!important;place-items:center;min-width:50px;padding:0!important;background:var(--violet)!important;color:#fff!important;border-radius:0 22px 22px 0;font-size:1.45rem!important;transition:background .2s ease,transform .2s ease}
.event-more:hover,.event-more:focus-visible{background:var(--violet2)!important;transform:none!important;outline:3px solid #f7b32b;outline-offset:-3px}

/* Cartes agenda : image | centre vertical (date puis description) | acces */
.event-card{
  grid-template-columns:112px minmax(0,1fr) 50px!important;
  grid-template-rows:1fr max-content max-content 1fr!important;
  align-content:stretch!important;
  row-gap:7px!important;
}

.event-card > :first-child{
  grid-column:1!important;
  grid-row:1 / -1!important;
}

.event-card > :nth-child(2){
  grid-column:2!important;
  grid-row:2!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}

.event-card > :nth-child(3){
  grid-column:2!important;
  grid-row:3!important;
  align-self:center!important;
  min-width:0;
  margin:0 14px!important;
  padding:0!important;
}

.event-card > .event-more,
.event-card > :last-child{
  grid-column:3!important;
  grid-row:1 / -1!important;
  margin:0!important;
}

@media(max-width:600px){
  .event-card{
    grid-template-columns:88px minmax(0,1fr) 42px!important;
    grid-template-rows:1fr max-content max-content 1fr!important;
    align-content:stretch!important;
    row-gap:5px!important;
  }
  .event-card > :nth-child(2){margin:0!important}
  .event-card > :nth-child(3){margin:0 10px!important;padding:0!important}
  .event-card>a.event-more{display:grid!important;min-width:42px}
}
