/* La Petite Nation — magazine régional. Site sur mesure, conçu avec amour par Petite Nation Numérique, 2026 */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-latin-wght-normal.woff2") format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-latin-wght-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
:root{
 --ink:#14211b;--ink-2:#33423b;--muted:#5d6b64;--paper:#fbf8f2;--white:#fff;--cream:#f3ecdf;--line:#e3dccd;
 --pine:#14382c;--pine-2:#1f4d3a;--moss:#4f7a3a;--lake:#0f5f7a;--lake-2:#3f9cc0;--sky:#d8eef5;
 --maple:#d2471e;--maple-2:#a8340f;--sun:#f2b33d;--sun-2:#c98a12;--plum:#6d3b5e;--snow:#eef4f7;
 --sans:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
 --wrap:1240px;--gut:clamp(16px,3.5vw,32px);--r:14px;--r-lg:22px;
 --shadow:0 1px 2px rgba(20,33,27,.06),0 8px 24px -10px rgba(20,33,27,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--lake);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--maple-2)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--sans);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0 0 .4em;color:var(--ink)}
h1{font-size:clamp(2.1rem,5.4vw,3.9rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.18rem;line-height:1.2}
p{margin:0 0 1em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--sun);color:var(--ink);padding:8px 14px;z-index:99;border-radius:8px}.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap.narrow{max-width:820px}.wrap.wide{max-width:1100px}
.hp{position:absolute;left:-9999px;opacity:0}
.ic{width:18px;height:18px;flex:none;vertical-align:-3px}
.fine{font-size:.82rem;color:var(--muted)}
.note{display:flex;gap:8px;align-items:flex-start;background:var(--sky);border-radius:var(--r);padding:12px 14px;font-size:.95rem;margin:18px 0}
.note .ic{margin-top:3px;color:var(--lake)}

/* tones */
.t-maple{--tone:var(--maple)}.t-pine{--tone:var(--pine-2)}.t-sun{--tone:var(--sun-2)}.t-plum{--tone:var(--plum)}.t-moss{--tone:var(--moss)}.t-lake{--tone:var(--lake)}.t-sky{--tone:#2b86a8}.t-berry{--tone:#7a2f52}.t-rust{--tone:#9b4a1c}.t-rose{--tone:#b0405e}

/* top bar + masthead */
.topbar{background:var(--pine);color:#d9e7df;font-size:.82rem}
.topbar .wrap{display:flex;gap:16px;align-items:center;min-height:34px}
.topbar .today{font-weight:600;color:#fff}
.topbar .tag{opacity:.85}
.topbar .lang{margin-left:auto;color:var(--sun);font-weight:700;text-decoration:none}
.masthead{background:var(--paper);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:40}
.masthead>.wrap{display:flex;align-items:center;gap:18px;min-height:74px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand .logo{width:46px;height:46px;flex:none}
.wordmark{font-weight:800;font-size:1.55rem;letter-spacing:-.035em;line-height:.95;text-transform:uppercase}
.wordmark small{display:block;font-size:.62rem;letter-spacing:.14em;color:var(--maple);font-weight:700;margin-top:3px;text-transform:lowercase}
.hsearch{margin-left:auto;display:flex;align-items:center;background:var(--white);border:2px solid var(--ink);border-radius:999px;overflow:hidden;width:min(360px,34vw)}
.hsearch input{border:0;background:transparent;padding:9px 14px;font:inherit;font-size:.95rem;width:100%;min-width:0}
.hsearch button{border:0;background:var(--ink);color:#fff;padding:9px 13px;cursor:pointer}
.langsw{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;flex:none}
.langsw a{padding:7px 11px;font-weight:800;font-size:.85rem;text-decoration:none;color:var(--ink);line-height:1}
.langsw a[aria-current]{background:var(--ink);color:#fff}
.langbar{background:var(--sun);color:var(--ink);font-weight:600;font-size:.95rem}
.langbar .wrap{display:flex;align-items:center;gap:14px;min-height:44px}
.langbar a{color:var(--ink);font-weight:800}
.langbar button{margin-left:auto;border:0;background:transparent;font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 8px}
.ask-btn{display:flex;align-items:center;gap:6px;background:var(--maple);color:#fff;text-decoration:none;font-weight:700;padding:9px 14px;border-radius:999px;font-size:.95rem}
.ask-btn:hover{background:var(--maple-2);color:#fff}
.burger{display:none;border:0;background:transparent;width:44px;height:44px;position:relative;cursor:pointer}
.burger span:first-child,.burger span:first-child::before,.burger span:first-child::after{position:absolute;left:10px;width:24px;height:2.5px;background:var(--ink);border-radius:2px;content:"";transition:.2s}
.burger span:first-child{top:21px}.burger span:first-child::before{top:-8px;left:0}.burger span:first-child::after{top:8px;left:0}
.burger[aria-expanded=true] span:first-child{background:transparent}
.burger[aria-expanded=true] span:first-child::before{top:0;transform:rotate(45deg)}.burger[aria-expanded=true] span:first-child::after{top:0;transform:rotate(-45deg)}
.mainnav{border-top:1px solid var(--line);background:var(--paper)}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.mainnav a{display:block;padding:10px 12px;font-weight:700;color:var(--ink);text-decoration:none;font-size:.98rem;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.mainnav a:hover,.mainnav a[aria-current=page]{border-color:var(--maple);color:var(--maple-2)}

/* buttons, chips */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:2px solid var(--ink);padding:10px 16px;border-radius:999px;font:700 .95rem var(--sans);text-decoration:none;cursor:pointer;line-height:1.1}
.btn:hover{background:var(--maple);border-color:var(--maple);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.sun{background:var(--sun);border-color:var(--sun);color:var(--ink)}.btn.sun:hover{background:#fff;border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chip{display:inline-block;background:var(--cream);border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:600;margin:0 4px 4px 0}
.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--tone,var(--maple));margin:0 0 6px}
.kicker a{color:inherit;text-decoration:none}
.gpills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.gpill{display:inline-block;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:700;font-size:.92rem;color:var(--ink);text-decoration:none;background:var(--white)}
.gpill:hover{background:var(--ink);color:#fff}

/* cards */
.grid{display:grid;gap:22px;margin:0 0 26px}
.g2{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative}
.card .cover{display:block;overflow:hidden}
.card .media{aspect-ratio:3/2;background:var(--cream);overflow:hidden}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .media img{transform:scale(1.04)}
.media.tile{display:grid;place-items:center;background:linear-gradient(135deg,var(--tone),color-mix(in srgb,var(--tone) 60%,#000));color:#fff}
.media.tile::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.18),transparent 45%)}
.tile-ic{width:44%;max-width:84px;height:auto;opacity:.92;stroke-width:1.4}
.cbody{padding:14px 16px 16px;flex:1}
.card h3{margin:0 0 6px}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--maple-2)}
.card h3 a::after{content:"";position:absolute;inset:0}
.card .kicker a,.card .links a{position:relative;z-index:2}
.where{display:flex;align-items:center;gap:4px;font-size:.86rem;color:var(--muted);font-weight:600;margin-bottom:6px}
.sum{font-family:var(--serif);font-size:.97rem;color:var(--ink-2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.c-listing .media{aspect-ratio:16/10}
.c-event{flex-direction:row;align-items:stretch}
.dbadge{flex:none;width:76px;background:var(--maple);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:10px 4px;text-align:center}
.dbadge b{font-size:1.9rem;line-height:1;letter-spacing:-.02em}
.dbadge.now{background:var(--pine-2)}.dbadge.now small{font-size:.6rem;opacity:.85}.dbadge.now b{font-size:1.5rem}
.dbadge small{display:block;font-size:.6rem;letter-spacing:.06em;opacity:.85;line-height:1.3}
.dbadge.rec{background:var(--lake)}.dbadge.rec b{font-size:1.05rem;text-transform:none}
.dbadge.typ{background:var(--cream);color:var(--ink)}.dbadge.typ small{font-size:.6rem;color:var(--muted)}.dbadge.typ b{font-size:1.25rem;text-transform:capitalize}
.c-group{border-top:4px solid var(--lake)}.c-group .sum{-webkit-line-clamp:4}
.c-group .meets{font-size:.86rem;color:var(--muted);margin:8px 0 0;display:flex;gap:6px}
.c-group .links{display:flex;flex-wrap:wrap;gap:6px 12px;margin:10px 0 0;font-size:.86rem}
.c-group .links a{display:inline-flex;gap:4px;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-article .cbody h3{font-size:1.22rem}
.c-article.s-xl .media{aspect-ratio:16/9}
.c-article.s-xl h3{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.05}
.c-article.s-xl .sum{font-size:1.1rem;-webkit-line-clamp:3}
.c-article.s-s{flex-direction:row;box-shadow:none;background:transparent;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 14px}
.c-article.s-s .cover{width:118px;flex:none;border-radius:10px}.c-article.s-s .media{aspect-ratio:1}
.c-article.s-s .cbody{padding:0 0 0 14px}.c-article.s-s h3{font-size:1.02rem}
.inline-card{max-width:520px;margin:20px 0}

/* home */
.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:28px;padding-top:26px;padding-bottom:30px}
.hero-side{display:flex;flex-direction:column;gap:14px}
.hero-empty{padding:60px var(--gut)}
.band{padding:44px 0 20px;margin:20px 0}
.b-cream{background:var(--cream)}
.b-pine{background:var(--pine);color:#e4efe8}.b-pine h2,.b-pine .more{color:#fff}.b-pine .shead p{color:#bcd3c6}
.b-lake{background:var(--lake);color:#e3f2f8}.b-lake h2{color:#fff}.b-lake .kicker{color:var(--sun)}
.season{background:linear-gradient(120deg,var(--pine) 0%,var(--pine-2) 55%,var(--moss) 100%);color:#fff}
.season.s-automne{background:linear-gradient(120deg,#5b1d08,var(--maple-2) 50%,var(--sun-2))}
.season.s-hiver{background:linear-gradient(120deg,#0b3446,var(--lake) 60%,#6aaecb)}
.season.s-printemps{background:linear-gradient(120deg,#2d5223,var(--moss) 60%,#8db35c)}
.season h2{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem)}.season .kicker{color:var(--sun)}
.season-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 18px;border-bottom:3px solid var(--ink);padding-bottom:8px}
.b-pine .shead,.b-lake .shead{border-color:rgba(255,255,255,.4)}
.shead h2{margin:0}.shead p{margin:4px 0 0;color:var(--muted)}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}
.srow{padding-top:30px}
.dtiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.dtile{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:var(--r);text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--tone),color-mix(in srgb,var(--tone) 65%,#000));min-height:118px}
.dtile .ic{width:28px;height:28px;margin-bottom:auto}.dtile b{font-size:1.06rem;line-height:1.15}.dtile span{font-size:.84rem;opacity:.85}
.dtile:hover{transform:translateY(-2px);color:#fff}
.bigsearch{display:flex;gap:10px;background:rgba(255,255,255,.1);padding:8px;border-radius:999px;max-width:720px;margin:6px 0}
.bigsearch input{flex:1;min-width:0;border:0;border-radius:999px;padding:13px 18px;font:inherit;font-size:1.05rem}
.bigsearch.light{background:var(--cream)}
.towngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px}
.ttile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:120px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:var(--pine-2);padding:12px}
.ttile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.ttile b,.ttile span{position:relative}.ttile b{font-size:1.02rem;line-height:1.1}.ttile span{font-size:.78rem;opacity:.9}
.ttile-ic{position:absolute;top:10px;right:10px;opacity:.5}
.ttile:nth-child(3n+2):not(:has(img)){background:var(--lake)}.ttile:nth-child(3n):not(:has(img)){background:var(--maple-2)}
.towngrid.big .ttile{min-height:170px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:26px}
.askform{display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px}
.askform input{flex:1;border:0;padding:10px 14px;font:inherit;border-radius:999px;min-width:0}

/* page heads, article */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 0;margin:0;font-size:.85rem;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:6px}
.crumbs a{color:var(--muted)}
.phead{padding:16px 0 18px}
.lead{font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.32rem);color:var(--ink-2);max-width:62ch}
.ahead{padding:12px 0 8px}
.ahead h1{font-size:clamp(2rem,5vw,3.4rem)}
.byline{font-size:.9rem;color:var(--muted)}
.card .media{position:relative}.illtag.sm{top:8px;left:8px;font-size:.65rem;padding:2px 8px;font-weight:600;opacity:.9}
.phero.ill img{max-height:380px}.illtag{position:absolute;top:12px;left:12px;background:rgba(20,33,27,.78);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px}
.ahero,.phero,.thero{margin:10px 0 22px;position:relative}
.ahero img,.phero img,.thero img{width:100%;border-radius:var(--r-lg);max-height:620px;object-fit:cover}
figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}
.credit a{color:inherit}
.prose{font-family:var(--serif);font-size:1.12rem;line-height:1.7}
.prose h2{margin-top:1.6em;font-size:1.7rem}.prose h3{margin-top:1.3em}
.prose li{margin:.3em 0}
.prose blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:4px solid var(--maple);font-style:italic;font-size:1.2rem}
.prose .grid,.prose .card{font-family:var(--sans)}
.prose .tbl{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.95rem}
.prose th{background:var(--pine);color:#fff;text-align:left;padding:8px 10px}.prose td{padding:8px 10px;border-bottom:1px solid var(--line)}
.fig{margin:24px 0}.fig img{border-radius:var(--r)}
.toc{background:var(--cream);border-radius:var(--r);padding:14px 18px;margin:0 0 20px;font-family:var(--sans);font-size:.98rem}
.toc h2{font-size:1rem;margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em}.toc ol{margin:0;padding-left:20px}
.townpills{margin-top:26px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:14px 0;font-family:var(--sans)}
.facts div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.facts dd{margin:2px 0 0;font-weight:600;font-size:1rem}
.facts.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-self:start}
.place-grid{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start}
.place-grid.solo{grid-template-columns:1fr}.place-grid.solo .prose{display:none}.place-grid.solo .contact{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.place-grid.solo .minimap{grid-column:2;grid-row:1 / span 2;margin:0}
.contact{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;position:sticky;top:120px}
.contact dl{margin:0}.contact dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;margin-top:10px}
.contact dd{margin:2px 0 0;word-break:break-word}
.contact .btns .btn{flex:1;justify-content:center}
.minimap{margin:16px 0;border-radius:var(--r);overflow:hidden;background:var(--sky);min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;text-align:center}
.minimap.on{padding:0;height:280px;display:block}
.srcs{margin:24px 0;font-size:.88rem;color:var(--muted)}
.srcs summary{cursor:pointer;font-weight:700}.srcs ul{padding-left:20px}
.town-head{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:end;padding-top:10px;padding-bottom:10px}
.gh{display:flex;align-items:center;gap:8px;margin:26px 0 12px;font-size:1.2rem}.gh small{background:var(--cream);border-radius:999px;padding:2px 9px;font-size:.8rem}
.nearby-towns{margin:12px 0 30px;font-weight:600}
.evsub{color:var(--muted);margin:-6px 0 16px;font-family:var(--serif)}
.mhead{font-size:1.15rem;margin:22px 0 12px;color:var(--maple-2)}
.when{display:flex;align-items:flex-start;gap:4px;font-size:.86rem;color:var(--ink-2);font-weight:700;margin-bottom:8px}.when .ic{color:var(--maple);margin-top:2px}
.month h2{position:sticky;top:112px;background:var(--paper);padding:10px 0 6px;z-index:2;border-bottom:3px solid var(--ink);margin:30px 0 16px}
.upnext:empty{display:none}
.pcards{display:grid;gap:22px;margin:10px 0 30px}
.pcard{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:120px}
.pcard-in{display:grid;grid-template-columns:340px 1fr;gap:0}
.pcard-in>div{padding:22px 26px}
.pcard h2{display:flex;align-items:center;gap:10px;font-size:1.6rem}.pcard h2 .ic{width:28px;height:28px;color:var(--maple)}
.pmedia{margin:0;position:relative;min-height:220px}.pmedia img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pmedia figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:6px 10px;font-size:.7rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.pmedia figcaption a{color:#fff}
.pcard .plist{font-family:var(--serif);font-size:1.02rem}
@media (max-width:800px){.pcard-in{grid-template-columns:1fr}.pmedia{min-height:200px}.pmedia img{position:static;height:200px}}
.plist{padding-left:20px}.plist li{margin:.45em 0}
.hf{background:var(--white);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow);margin:10px 0 26px}
.hf table{border-collapse:collapse;width:100%;font-size:.94rem}.hf th{background:var(--pine);color:#fff;text-align:left;padding:8px}.hf td{padding:8px;border-bottom:1px solid var(--line)}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 22px;padding:12px;background:var(--cream);border-radius:var(--r)}
.filters label{display:flex;align-items:center}
.filters .f-q{flex:1 1 260px;background:#fff;border-radius:999px;padding-left:12px;gap:4px}
.filters input,.filters select{border:0;background:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-size:.95rem}
.filters .f-q input{flex:1;min-width:0;padding-left:4px}
.filters .count{font-weight:700;font-size:.9rem;color:var(--muted)}
.hide{display:none!important}

/* map */
.map-embed,.map-full{border-radius:var(--r);overflow:hidden;margin:20px 0;background:var(--sky);position:relative;z-index:1}
.map-full{height:calc(100vh - 260px);min-height:460px;border-radius:0;margin:0}
.mchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.mchip{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:7px 12px;font:700 .86rem var(--sans);color:#fff;background:var(--tone);cursor:pointer}
.mchip[aria-pressed=false]{background:var(--cream);color:var(--muted)}
.pin{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--tone,var(--lake));border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.leaflet-popup-content{font-family:var(--sans);margin:12px 14px}.leaflet-popup-content b{display:block;font-size:1rem}.leaflet-popup-content small{color:var(--muted)}

/* search & ask */
.sresults{list-style:none;padding:0;margin:10px 0 40px}
.sresults li{padding:14px 0;border-bottom:1px solid var(--line)}
.sresults a{font-weight:800;font-size:1.12rem;text-decoration:none;color:var(--ink)}.sresults a:hover{color:var(--maple-2)}
.sresults small{display:block;color:var(--muted);font-size:.85rem}.sresults p{margin:4px 0 0;font-family:var(--serif);color:var(--ink-2)}
.sresults .ty{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--maple);margin-right:6px}
.askout{margin:16px 0}.alist{list-style:none;padding:0;margin:8px 0}.alist li{padding:12px 0;border-top:1px solid var(--line)}.alist li p{margin:4px 0 0}.alist b{font-family:var(--sans);font-size:1.1rem}.alist small{font-family:var(--sans);color:var(--muted)}.answer.best h2{font-size:1.5rem;margin:4px 0}.answer.best h2 a{color:var(--ink);text-decoration:none}.answer sup{color:var(--maple);font-weight:700}.askout .answer{background:var(--white);box-shadow:var(--shadow);border-radius:var(--r);padding:16px 18px;font-family:var(--serif)}

/* forms */
.pform .fld{margin:0 0 14px}.pform label{display:block;font-weight:700;margin-bottom:4px}
.pform input,.pform select,.pform textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;background:#fff}
.pform input:focus,.pform select:focus,.pform textarea:focus{border-color:var(--lake);outline:none}
.form-msg,.nl-msg{font-weight:700}

/* footer */
.foot{background:var(--ink);color:#c7d3cc;margin-top:50px;font-size:.95rem}
.foot a{color:#fff}
.news-cta{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;padding-top:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.news-cta h2{color:#fff}.news-cta p{margin:0}
.nl-form{display:flex;flex-wrap:wrap;gap:8px}.nl-form label{flex:1 1 220px}
.nl-form input[type=email]{width:100%;border:0;border-radius:999px;padding:13px 16px;font:inherit}
.nl-form .consent{flex-basis:100%;display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:#c7d3cc;line-height:1.4}.nl-form .consent input{margin-top:3px}
.nl-form .nl-msg{flex-basis:100%;color:var(--sun);margin:0}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.6fr;gap:30px;padding-top:36px;padding-bottom:26px}
.fcols h3{color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}
.fcols ul{list-style:none;padding:0;margin:0}.fcols li{margin:.3em 0}
.fcols a{text-decoration:none;color:#c7d3cc}.fcols a:hover{color:var(--sun)}
.ftowns ul{columns:2;column-gap:16px;font-size:.88rem}
.fbrand .brand{color:#fff;margin-bottom:10px}
.fbottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;padding-bottom:26px;font-size:.84rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.fbottom p{margin:0}.made a{color:var(--sun);text-decoration:none}

/* publicité et promos */
.adslot{margin:22px 0}
.adcard{display:flex;gap:16px;align-items:center;background:var(--cream);border:1px dashed var(--line-2,#d4ccb8);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink);font-family:var(--sans)}
.adcard:hover{border-color:var(--maple);color:var(--ink)}
.adcard.t-partner{background:var(--white);border:1px solid var(--line);box-shadow:0 1px 2px rgba(20,33,27,.04);padding:14px 18px;gap:14px}
.adcard.t-partner:hover{border-color:var(--pine-2)}
.adcard .adlogo{width:44px;height:44px;border-radius:12px;flex:none}
.adcard.t-partner .adbody{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px}
.adcard.t-partner .adbody small{flex-basis:100%}
.adcard.t-partner .adbody b{font-size:1.02rem}
.adcard.t-partner .adbody span{font-size:.93rem}
.adcard.t-partner .adbody em{color:var(--lake);font-weight:700;font-size:.93rem;white-space:nowrap}
.adcard img{width:180px;aspect-ratio:1.9;object-fit:cover;border-radius:10px;flex:none}
.adbody{display:flex;flex-direction:column;gap:3px}
.adbody small{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.adbody b{font-size:1.15rem;line-height:1.2}.adbody span{color:var(--ink-2);font-size:.95rem}.adbody em{font-style:normal;font-weight:800;color:var(--maple-2)}
.contact .adslot{margin:16px 0 0}.contact .adcard{flex-direction:column;align-items:flex-start;padding:14px}.contact .adcard.t-partner .adbody{flex-direction:column}.contact .adcard img{width:100%}
.promo{background:#fff6e0;border:2px solid var(--sun);border-radius:var(--r);padding:14px 16px;margin:14px 0;font-family:var(--sans)}
.promo h3{margin:0 0 4px}.promo p{margin:0 0 4px}
@media (max-width:640px){.adcard{flex-direction:column;align-items:flex-start}.adcard img{width:100%}}

/* responsive */
@media (max-width:1000px){
 .hero{grid-template-columns:1fr}.dtiles{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}
 .place-grid{grid-template-columns:1fr}.contact{position:static}.place-grid.solo .contact{grid-template-columns:1fr}.place-grid.solo .minimap{grid-column:auto;grid-row:auto}
 .fcols{grid-template-columns:1fr 1fr}.news-cta,.split,.town-head{grid-template-columns:1fr}
 .hsearch{display:none}
}
@media (max-width:760px){
 body{font-size:16px}
 .topbar .tag{display:none}
 .masthead>.wrap{min-height:62px;gap:10px}
 .wordmark{font-size:1.2rem}.brand .logo{width:38px;height:38px}
 .langsw{margin-left:auto}.langsw a{padding:7px 9px}
 .ask-btn{padding:8px 11px}.ask-btn span{display:none}
 .burger{display:block}
 .mainnav{display:none;position:absolute;left:0;right:0;top:100%;border-bottom:3px solid var(--ink);box-shadow:0 18px 30px -10px rgba(0,0,0,.25)}
 .mainnav.open{display:block}
 .mainnav ul{flex-direction:column;padding:6px 0 12px}
 .mainnav a{border:0;padding:12px 4px;font-size:1.1rem}
 .hero-side{grid-template-columns:1fr}
 .fcols{grid-template-columns:1fr}.ftowns ul{columns:2}
 .evsub{color:var(--muted);margin:-6px 0 16px;font-family:var(--serif)}
.mhead{font-size:1.15rem;margin:22px 0 12px;color:var(--maple-2)}
.when{display:flex;align-items:flex-start;gap:4px;font-size:.86rem;color:var(--ink-2);font-weight:700;margin-bottom:8px}.when .ic{color:var(--maple);margin-top:2px}
.month h2{top:62px}
 .facts.compact{grid-template-columns:1fr 1fr}
 .c-event .dbadge{width:64px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.masthead,.foot,.filters,.map-embed,.minimap{display:none}}
