/* =====================================================================
   Association du Château de Logne — feuille de style du site public
   Direction artistique « Parc » (retenue le 8 septembre 2026), charte ACL V3.
   Palette : Cerise, Citron vert, Soleil, Turquoise ; fonds Papier et Pierre ;
   typographies EB Garamond (titres) et Quicksand (texte), auto-hébergées.
   ===================================================================== */
:root{
  /* Neutres de la charte */
  --papier:#FFFDF7; --pierre:#EFEAE0; --encre:#2A2B33; --blanc:#FFFFFF;
  /* Palette fondamentale V2 */
  --cerise:#DE3163; --citron:#A6CE39; --soleil:#FFD449; --turquoise:#2BB5C9;
  /* Teintes claires */
  --cerise-clair:#FADCE5; --citron-clair:#EEF6D8; --soleil-clair:#FFF3CE; --turquoise-clair:#DCF2F5;
  /* Teintes foncées dérivées pour le web (texte, liens) */
  --cerise-fonce:#B8244F; --citron-fonce:#4F6B0F; --turquoise-fonce:#157A8A; --muted:#5B5D68;
  /* Rôles */
  --bg:var(--papier); --surface:var(--citron-clair); --surface-2:var(--pierre); --ink:var(--encre);
  --accent:var(--citron); --accent-hover:#95BB2C; --accent-ink:var(--encre); --link:var(--citron-fonce);
  --line:#E2E5D3; --focus:var(--turquoise-fonce);
  --radius:16px; --radius-lg:24px; --btn-radius:999px;
  --font-display:"EB Garamond",Garamond,"Times New Roman",Georgia,serif;
  --font-body:"Quicksand","Century Gothic",Calibri,"Segoe UI",Arial,sans-serif;
  --maxw:1120px;
  --valid-bg:var(--soleil-clair); --valid-ink:#6A4B00; --valid-line:#E2C466;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{transition:none!important;animation:none!important} }
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.05rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15;margin:0 0 .6em;letter-spacing:0}
h1{font-size:clamp(2rem,4.5vw,3.1rem)}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.prose{max-width:66ch}
.prose ul{padding-left:1.2em}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.key{font-weight:600}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1rem}
.section{padding:2.75rem 0;scroll-margin-top:96px}
.section--alt{background:var(--surface)}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.25rem}
.section-head h2{margin:0}
.section-head a{font-weight:600}
.grid{display:grid;gap:1rem}
@media (min-width:720px){ .grid-2{grid-template-columns:1fr 1fr} .grid-3{grid-template-columns:repeat(3,1fr)} .grid-4{grid-template-columns:repeat(4,1fr)} .grid-side{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2rem;align-items:start} }
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
#contenu:focus{outline:none}
.skip{position:absolute;left:-999px;top:0;background:var(--encre);color:#fff;padding:.5rem 1rem;z-index:100;border-radius:0 0 8px 8px}
.skip:focus{left:1rem;top:4.5rem}
[hidden]{display:none!important}
.no-scroll{overflow:hidden}

/* ---------- En-tête ---------- */
.site-header{background:var(--blanc);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.header-inner{display:flex;align-items:center;gap:1rem;min-height:76px}
.brand{display:flex;align-items:center;text-decoration:none;min-width:0;padding:.35rem 0}
.brand img{height:40px;width:auto;flex:0 0 auto;max-width:none}
@media (min-width:1000px){ .brand img{height:52px} }
.nav{display:none;margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.1rem}
.nav a{display:block;padding:.55rem .6rem;text-decoration:none;color:var(--ink);border-bottom:3px solid transparent;font-weight:600;font-size:.93rem;border-radius:2px}
.nav a:hover{color:var(--link)}
.nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.nav + .header-actions{margin-left:.5rem}
.member-link{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);text-decoration:none;color:var(--ink)}
.member-link:hover{border-color:var(--ink)}
.member-link svg{width:20px;height:20px}
.burger{font:inherit;font-weight:600;background:transparent;color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--btn-radius);padding:.45rem .9rem;cursor:pointer}
@media (min-width:1000px){ .nav{display:block} .burger{display:none} }
.site-header .header-cta{display:none}
@media (min-width:480px){ .site-header .header-cta{display:inline-flex} }

/* ---------- Tiroir mobile ---------- */
.drawer{position:fixed;inset:0;z-index:60;background:rgba(42,43,51,.45)}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--bg);color:var(--ink);padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:1rem;border-radius:20px 0 0 20px}
.drawer-panel ul{list-style:none;margin:0;padding:0}
.drawer-panel li a{display:block;padding:.8rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;font-size:1.25rem;font-family:var(--font-display);color:var(--ink)}
.drawer-close{align-self:flex-end;font:inherit;font-weight:600;background:transparent;border:1.5px solid var(--ink);border-radius:var(--btn-radius);padding:.4rem .9rem;cursor:pointer}

/* ---------- Boutons, étiquettes ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:700;padding:.7rem 1.25rem;border-radius:var(--btn-radius);border:1.5px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;line-height:1.2}
.btn:hover{color:var(--ink);background:var(--surface)}
.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}
.btn--small{padding:.45rem .9rem;font-size:.9rem}
.btn:disabled{opacity:.55;cursor:not-allowed}
.tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.15rem .65rem .15rem .5rem;border-radius:999px;background:var(--pierre);color:var(--ink)}
.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--encre)}
.tag.fam-cerise{background:var(--cerise-clair)} .tag.fam-cerise::before{background:var(--cerise)}
.tag.fam-citron{background:var(--citron-clair)} .tag.fam-citron::before{background:var(--citron)}
.tag.fam-soleil{background:var(--soleil-clair)} .tag.fam-soleil::before{background:var(--soleil)}
.tag.fam-turquoise{background:var(--turquoise-clair)} .tag.fam-turquoise::before{background:var(--turquoise)}
.tag.fam-neutre::before{background:var(--muted)}
.badge{display:inline-block;font-size:.72rem;font-family:system-ui,sans-serif;letter-spacing:.02em;padding:.1rem .45rem;border:1px dashed var(--valid-line);background:var(--valid-bg);color:var(--valid-ink);border-radius:4px;vertical-align:middle;white-space:nowrap}
.note{border-left:4px solid var(--soleil);background:var(--soleil-clair);color:var(--ink);padding:.8rem 1rem;border-radius:12px;font-size:.95rem}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}

/* ---------- Images ---------- */
.pic{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface-2);margin:0}
.pic img{width:100%;height:100%;object-fit:cover}
.pic--contain{background:var(--turquoise-clair)}
.pic--contain img{object-fit:contain}
.pic--soleil{background:var(--soleil-clair)}
.pic figcaption{position:absolute;left:0;right:0;bottom:0;font-size:.8rem;padding:.3rem .6rem;background:rgba(255,253,247,.88);color:var(--muted)}
.ph{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--citron-clair) 0%,var(--pierre) 100%);border-radius:var(--radius);min-height:140px;display:flex;align-items:flex-end}
.ph::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,transparent 0 16px,rgba(0,0,0,.035) 16px 17px)}
.ph span{position:relative;font-size:.78rem;color:var(--muted);background:rgba(255,255,255,.85);padding:.3rem .55rem;margin:.6rem;border-radius:6px}
.r-banner{aspect-ratio:16/5}.r-16-9{aspect-ratio:16/9}.r-4-3{aspect-ratio:4/3}.r-1-1{aspect-ratio:1/1}.r-3-2{aspect-ratio:3/2}.r-21-9{aspect-ratio:21/9}.r-3-4{aspect-ratio:3/4}
@media (max-width:719px){ .r-21-9{aspect-ratio:4/3} }

/* ---------- Arc de Logne (signature) ---------- */
.arc{display:block;width:104px;height:auto;margin:0 0 .8rem}
.arc path{fill:none;stroke-width:4.5;stroke-linecap:round}
.horizon{display:block;width:100%;height:auto}
.horizon path{fill:none;stroke-width:2.5;stroke-linecap:round}

/* ---------- Accueil ---------- */
.hero{padding-top:1rem}
.hero-media{border-radius:var(--radius-lg)}
.hero-block{background:var(--surface);padding:1.5rem;border-radius:20px;max-width:680px;margin-top:1rem}
@media (min-width:720px){ .hero-block{margin-top:-3.5rem;margin-left:1.5rem;position:relative;padding:1.75rem 2rem} }
.hero h1{margin-bottom:.5rem}
.hero .lead{font-size:1.1rem;max-width:60ch}
.pillars{display:grid;gap:1rem}
@media (min-width:720px){ .pillars{grid-template-columns:repeat(3,1fr)} }
.pillar{background:var(--surface);padding:1.2rem 1.25rem;border-radius:var(--radius)}
.pillar h3{margin-bottom:.3rem}
.pillar p{margin:0}
.tiles{display:grid;gap:1rem}
@media (min-width:600px){ .tiles{grid-template-columns:repeat(3,1fr)} }
.tile{text-decoration:none;color:inherit;display:block}
.tile .pic{transition:transform .25s ease}
.tile:hover .pic{transform:translateY(-3px)}
.tile h3{margin:.7rem 0 .2rem}
.tile p{margin:0;color:var(--muted)}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media (min-width:720px){ .mosaic{grid-template-columns:repeat(6,1fr)} .mosaic .pic:first-child,.mosaic .ph:first-child{grid-column:span 2;grid-row:span 2} }
.band{background:var(--surface);border-radius:var(--radius);padding:1.5rem}
.band--blanc{background:var(--blanc);border:1px solid var(--line)}
.band--soleil{background:var(--soleil-clair)}
.band--turquoise{background:var(--turquoise-clair)}
.band--cerise{background:var(--cerise-clair)}
.newsletter form{display:flex;flex-wrap:wrap;gap:.5rem;max-width:520px}
.newsletter input{flex:1 1 220px}

/* ---------- Cartes événement ---------- */
.event-card{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:start;padding:1rem;border-radius:var(--radius);background:var(--blanc);border:1px solid var(--line);text-decoration:none;color:inherit}
.section--alt .event-card{border-color:transparent}
.event-card:hover{color:inherit;border-color:var(--accent);box-shadow:0 6px 18px rgba(42,43,51,.06)}
.date-block{text-align:center;border-radius:12px;background:var(--surface);padding:.5rem .2rem;line-height:1.1}
.date-block .d{font-family:var(--font-display);font-size:1.8rem;font-weight:500;display:block}
.date-block .m{font-size:.8rem;font-weight:600;text-transform:lowercase;display:block}
.date-block .y{font-size:.7rem;color:var(--muted);display:block}
.event-card h3{margin:.3rem 0 .3rem}
.event-card p{margin:.2rem 0 .5rem;color:var(--muted)}
.event-card .pic,.event-card .ph{margin-top:.6rem}
.event-list{display:grid;gap:1rem}
@media (min-width:720px){ .event-list{grid-template-columns:1fr 1fr} }
.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem}
.tabs button{font:inherit;font-weight:700;background:transparent;border:0;border-bottom:3px solid transparent;padding:.6rem .9rem;cursor:pointer;color:var(--muted)}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.facts{list-style:none;margin:0;padding:0;border-radius:var(--radius);background:var(--surface)}
.facts li{padding:.7rem 1rem;border-bottom:1px solid rgba(42,43,51,.08)}
.facts li:last-child{border-bottom:0}
.facts li b{display:block;font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.partners{display:flex;flex-wrap:wrap;gap:.4rem}
.partners span{font-size:.85rem;background:var(--blanc);border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem}

/* ---------- Calendrier ---------- */
.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}
.cal-toolbar h2{margin:0;min-width:200px}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font:inherit;font-size:.85rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;border:1.5px solid var(--line);background:var(--blanc);cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:.4rem}
.chip i{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--muted)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cal .dow{background:var(--surface);padding:.4rem .2rem;text-align:center;font-size:.75rem;font-weight:700}
.cal .day{background:var(--blanc);min-height:58px;padding:.3rem;font-size:.8rem;position:relative}
@media (min-width:720px){ .cal .day{min-height:92px;padding:.4rem;font-size:.85rem} }
.cal .day.out{background:var(--papier);color:var(--muted)}
.cal .day .n{display:block;margin-bottom:.2rem;font-weight:600}
.cal .ev{display:block;text-decoration:none;color:var(--ink);border-radius:6px;padding:.15rem .35rem;font-size:.72rem;font-weight:600;line-height:1.2;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:4px solid var(--muted);background:var(--pierre)}
.cal .ev.fam-cerise{background:var(--cerise-clair);border-color:var(--cerise)}
.cal .ev.fam-citron{background:var(--citron-clair);border-color:var(--citron)}
.cal .ev.fam-soleil{background:var(--soleil-clair);border-color:var(--soleil)}
.cal .ev.fam-turquoise{background:var(--turquoise-clair);border-color:var(--turquoise)}
.cal .ev.past{opacity:.7}
.cal-list{display:grid;gap:.75rem}
.legend{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.85rem;margin-top:.8rem;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:.3rem}

/* ---------- Galerie ---------- */
.albums{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:720px){ .albums{grid-template-columns:repeat(3,1fr)} }
.album{text-decoration:none;color:inherit}
.album h3{margin:.5rem 0 .1rem;font-size:1.15rem}
.photos{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:720px){ .photos{grid-template-columns:repeat(3,1fr)} }
.photos button{padding:0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:var(--radius)}
.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:.8rem}
.crumbs a{color:inherit}

/* ---------- Formulaires ---------- */
form{margin:0}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}
.field label{font-weight:700;font-size:.95rem}
.field .hint{font-size:.85rem;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=password],select,textarea{font:inherit;padding:.65rem .85rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--turquoise-fonce)}
textarea{min-height:120px;resize:vertical}
.check{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.8rem;font-size:.95rem}
.check input{margin-top:.3rem;flex:0 0 auto;accent-color:var(--citron-fonce)}
.check-group{display:grid;gap:.4rem;margin-bottom:1rem}
@media (min-width:600px){ .check-group{grid-template-columns:1fr 1fr} }
.form-card{border-radius:var(--radius);padding:1.4rem;background:var(--blanc);border:1px solid var(--line)}
.section--alt .form-card{border-color:transparent}
.confirm{border-radius:var(--radius);padding:1.25rem;background:var(--citron-clair);border:1.5px solid var(--citron)}
.faq details{border-bottom:1px solid var(--line);padding:.6rem 0}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin:.5rem 0 0}
.price{font-family:var(--font-display);font-size:2.1rem;font-weight:500;line-height:1;margin:.4rem 0}
.price small{font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--muted)}

/* ---------- Boutique ---------- */
.products{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:720px){ .products{grid-template-columns:repeat(4,1fr)} }
.product{border-radius:var(--radius);padding:.9rem;background:var(--blanc);border:1px solid var(--line)}
.product h3{font-size:1.1rem;margin:.6rem 0 .2rem}
.product p{margin:0 0 .6rem;color:var(--muted);font-size:.9rem}

/* ---------- Espace membre ---------- */
.member-card{border-radius:var(--radius);padding:1.3rem;background:var(--surface)}
.doc-list{list-style:none;margin:0;padding:0}
.doc-list li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.stats{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:720px){ .stats{grid-template-columns:repeat(4,1fr)} }
.stat{border-radius:var(--radius);padding:.9rem 1rem;background:var(--surface)}
.stat .n{font-family:var(--font-display);font-size:2rem;display:block;font-weight:500}
.stat .l{font-size:.85rem;color:var(--muted)}

/* ---------- Modale ---------- */
.modal{position:fixed;inset:0;z-index:80;background:rgba(42,43,51,.55);display:grid;place-items:center;padding:1rem}
.modal-box{background:var(--bg);color:var(--ink);max-width:680px;width:100%;max-height:90vh;overflow:auto;border-radius:20px;padding:1.4rem;position:relative}
.modal-box .pic,.modal-box .ph{margin-bottom:.8rem}
.modal-close{position:absolute;top:.7rem;right:.7rem;font:inherit;font-weight:600;background:var(--blanc);border:1.5px solid var(--ink);border-radius:var(--btn-radius);padding:.3rem .8rem;cursor:pointer}

/* ---------- Pied de page ---------- */
.site-footer{margin-top:3rem;background:var(--surface);padding:0 0 1.5rem;font-size:.95rem}
.site-footer .horizon-wrap{background:var(--bg);padding:.5rem 0 0}
.footer-grid{display:grid;gap:1.5rem;padding-top:1.5rem}
@media (min-width:720px){ .footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr} }
.footer-logo{background:var(--blanc);border-radius:12px;padding:.75rem;display:inline-block;margin-bottom:.8rem}
.footer-logo img{width:150px;height:auto}
.site-footer h3{font-size:1.15rem;margin-bottom:.5rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.25rem 0}
.site-footer a{text-decoration:none;color:var(--ink)}
.site-footer a:hover{text-decoration:underline;color:var(--link)}
.footer-bottom{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(42,43,51,.12);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.85rem;color:var(--muted)}
.subnav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1.5rem;padding:0;list-style:none}
.subnav a{font-size:.9rem;font-weight:600;text-decoration:none;padding:.35rem .8rem;border:1.5px solid var(--line);border-radius:999px;color:var(--ink);background:var(--blanc)}
.subnav a:hover{border-color:var(--ink)}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.timeline li{padding:0 0 1rem 1rem;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--citron)}
.team{list-style:none;margin:0 0 1rem;padding:0}
.team li{padding:.5rem 0;border-bottom:1px solid var(--line)}
.team li b{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

/* ---------- Ajouts site définitif ---------- */
.flashes{margin-top:1rem}
.flash{border-radius:12px;padding:.7rem 1rem;margin-bottom:.5rem;font-size:.95rem;border:1.5px solid var(--line);background:var(--blanc)}
.flash--success{background:var(--citron-clair);border-color:var(--citron)}
.flash--error{background:var(--cerise-clair);border-color:var(--cerise)}
.flash--warning{background:var(--soleil-clair);border-color:var(--soleil)}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.view-switch{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.view-switch a{padding:.45rem 1rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem}
.view-switch a[aria-current="true"]{background:var(--ink);color:var(--bg)}
.tabs a{font-weight:700;text-decoration:none;border-bottom:3px solid transparent;padding:.6rem .9rem;color:var(--muted)}
.tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.chips{margin-bottom:1.25rem}
a.chip{text-decoration:none}
.chip[aria-current="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cal .day.today{background:var(--soleil-clair)}
.cal .day.today .n{color:var(--cerise-fonce)}
.cal-month-title{margin-top:2rem}
.actions--stack{flex-direction:column;align-items:stretch}
.fieldset{border:0;padding:0;margin:0 0 .4rem}
.fieldset legend{font-weight:700;margin-bottom:.4rem}
.price--product{font-size:1.4rem}
.pillar--blanc{background:var(--blanc)}
.timeline ul{list-style:none;margin:0;padding:0}
.faq p{border-bottom:1px solid var(--line);padding:.6rem 0;margin:0}
.faq p strong{display:block;margin-bottom:.2rem}
.event-card--past .pic{filter:saturate(.85)}
.map-consent{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem;padding:1.25rem;border-radius:var(--radius);background:var(--pierre)}
.map-consent p{margin:0}
.map-consent iframe{width:100%;height:100%;border:0;border-radius:var(--radius)}
.map-consent.loaded{padding:0;display:block}
.lightbox-nav{display:flex;justify-content:space-between;gap:.5rem;margin-top:.8rem}
.lightbox-nav button{font:inherit;font-weight:600;background:var(--blanc);border:1.5px solid var(--ink);border-radius:var(--btn-radius);padding:.35rem .9rem;cursor:pointer}
.social a{color:inherit}
.brand img{max-width:min(60vw,278px)}

/* ---------- Pré-lancement : page d'attente, accès réservé, bandeau d'aperçu ---------- */
body.prelaunch{display:grid;place-items:center;min-height:100vh;padding:1.5rem 1rem;background:var(--papier) radial-gradient(circle at 20% 10%,var(--citron-clair),transparent 45%),radial-gradient(circle at 85% 90%,var(--turquoise-clair),transparent 40%)}
.prelaunch-box{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem 2rem;max-width:640px;width:100%;text-align:center;box-shadow:0 10px 40px rgba(42,43,51,.06)}
.prelaunch-box--narrow{max-width:440px}
.prelaunch-logo{margin:0 auto 1.25rem}
.prelaunch-box .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--citron-fonce);margin:0 0 .4rem}
.prelaunch-box h1{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15;margin:0 0 1rem}
.prelaunch-box .lead{font-size:1.08rem;color:var(--muted);margin:0 auto 1.25rem;max-width:520px}
.prelaunch-date{background:var(--soleil-clair);border-radius:12px;padding:.6rem 1rem;display:inline-block;margin:0 0 1.25rem}
.prelaunch-contact{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:.5rem}
.prelaunch-contact p{margin:.4rem 0}
.prelaunch-contact .btn{word-break:break-all}
.prelaunch-social{display:block;margin-top:.6rem}
.prelaunch-footer{color:var(--muted);margin-top:1.5rem}
.prelaunch-access{margin:0}
.prelaunch-access a{color:var(--muted);text-decoration:none;font-size:.8rem}
.prelaunch-access a:hover{text-decoration:underline}
.prelaunch-form{text-align:left;margin:1rem auto;max-width:320px}
.prelaunch-form .btn{width:100%}
.prelaunch-form input{width:100%;font:inherit;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:12px;background:var(--blanc)}
.prelaunch .flash{text-align:left}
.preview-bar{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:center;background:var(--encre);color:var(--blanc);font-size:.9rem;padding:.45rem 1rem}
.preview-bar a,.preview-bar button{color:var(--soleil);font:inherit;font-weight:700;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.preview-bar form{margin:0;display:inline}

/* ---------- Espace presse ---------- */
.presse-parutions{max-width:72ch}
.presse-parutions ul{padding-left:1.2rem}
.presse-parutions li{margin:.35rem 0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.presse-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin:0 0 1.5rem}
.presse-search{flex:1 1 320px;display:flex;align-items:center;gap:.5rem;background:var(--blanc);border:1.5px solid var(--line);border-radius:999px;padding:.35rem .9rem}
.presse-search:focus-within{border-color:var(--turquoise-fonce)}
.presse-search svg{width:20px;height:20px;color:var(--muted);flex:none}
.presse-search input{border:0;background:transparent;font:inherit;width:100%;padding:.35rem 0;outline:none}
.presse-year{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem}
.presse-year select{width:auto;padding:.5rem 2rem .5rem .8rem;border-radius:999px}
.presse-count{margin-left:auto}
.presse-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.presse-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:1.1rem;align-items:center;background:var(--blanc);border:1.5px solid transparent;border-radius:var(--radius);padding:1rem 1.1rem;transition:border-color .15s,box-shadow .15s}
.presse-item:hover{border-color:var(--citron);box-shadow:0 6px 24px rgba(42,43,51,.06)}
.presse-item[hidden]{display:none}
.presse-thumb{display:block;width:96px;height:96px;border-radius:12px;overflow:hidden;background:var(--pierre)}
.presse-thumb img{width:100%;height:100%;object-fit:cover}
.presse-thumb--empty{display:grid;place-items:center;font-family:var(--font-display);font-size:1.3rem;color:var(--muted);border:1.5px dashed var(--line)}
.presse-meta{margin:0 0 .25rem;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.presse-body h3{font-size:1.25rem;margin:0 0 .3rem;line-height:1.25}
.presse-body h3 a{text-decoration:none;color:var(--ink)}
.presse-body h3 a:hover{color:var(--citron-fonce)}
.presse-excerpt{margin:0;color:var(--muted);font-size:.95rem}
.presse-dl{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;color:var(--ink);font-size:.75rem;font-weight:700;min-width:84px}
.presse-dl svg{width:30px;height:30px;padding:12px;box-sizing:content-box;border-radius:50%;background:var(--citron);color:var(--encre);transition:transform .15s,background .15s}
.presse-dl:hover svg,.presse-dl:focus-visible svg{background:var(--accent-hover);transform:translateY(2px)}
.presse-dl span{color:var(--muted)}
@media (max-width:640px){.presse-item{grid-template-columns:64px minmax(0,1fr) auto;gap:.8rem;padding:.8rem}.presse-thumb{width:64px;height:64px}.presse-excerpt{display:none}.presse-dl span{display:none}.presse-dl{min-width:0}.presse-dl svg{width:24px;height:24px;padding:10px}}
/* Menu principal à 7 entrées : pas de retour à la ligne ; le bouton « Rejoindre » s'efface sur les largeurs intermédiaires */
.nav a{white-space:nowrap}
@media (max-width:1180px) and (min-width:1000px){.header-cta{display:none}}
