/* Muskoka Pulse: events calendar (PREVIEW ONLY, 2026-11-03). Loaded on /events/ and /events/day/YYYY-MM-DD/. */
.cal-sec .ev-tools{margin-bottom:var(--s6)}
.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin:0 0 var(--s4)}
.cal-t{font:400 clamp(2rem,4vw,2.75rem)/1.05 var(--serif);letter-spacing:-.015em;margin:0}
.cal-tog{min-height:44px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--sun1);background:transparent;color:var(--sun1);font:600 .9375rem/1 var(--sans);cursor:pointer}
.cal-tog[aria-expanded=true]{background:var(--sun1);color:var(--n0)}
.cal-tog:focus-visible,.cal-nav button:focus-visible,.cal a:focus-visible{outline:3px solid var(--sun1);outline-offset:2px}

/* 30-day strip (phones) */
.cal-strip{margin:0 calc(var(--gut)*-1) var(--s5);padding:0 var(--gut)}
.cal-strip ol{list-style:none;margin:0;padding:2px 2px var(--s3);display:flex;gap:var(--s2);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--teal2) transparent;overscroll-behavior-x:contain}
.cal-strip li{flex:0 0 4.4rem;scroll-snap-align:start}
.cal-strip a,.cs-none{display:grid;justify-items:center;align-content:center;gap:1px;min-height:6rem;padding:var(--s2) 0;border-radius:var(--r);border:1px solid var(--line);background:var(--card);color:var(--fg);text-decoration:none}
.cs-none{opacity:.5;background:transparent}
.cs-dow{font:600 .75rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cs-d{font:500 1.75rem/1 var(--serif);color:var(--ivory)}
.cs-m{font:500 .75rem/1.2 var(--sans);color:var(--muted)}
.cs-c{margin-top:3px;min-width:1.9rem;padding:2px 6px;border-radius:999px;background:rgba(51,183,170,.22);color:#BFEAE4;font:600 .8125rem/1.2 var(--sans);text-align:center}
.cs-none .cs-c{background:none}
.cal-strip a[aria-current]{background:var(--sun1);border-color:var(--sun1)}
.cal-strip a[aria-current] *{color:var(--n0)}
.cal-strip a[aria-current] .cs-c{background:rgba(10,26,47,.16)}

/* month grid */
.cal-months{background:var(--n1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4)}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin:0 0 var(--s3)}
.cal-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:var(--n2);color:var(--ivory);font:600 1.15rem/1 var(--sans);cursor:pointer}
.cal-nav button:disabled{opacity:.35;cursor:default}
.cal-cur{margin:0;font:450 1.6rem/1.1 var(--serif);color:var(--ivory)}
.js .cal-nav+.cal-month .cal-mh,.js .cal-month .cal-mh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cal-month+.cal-month{margin-top:var(--s5)}
.js .cal-month{display:none}
.js .cal-month.on{display:block;margin-top:0}
.cal-mh{font:450 1.6rem/1.1 var(--serif);margin:0 0 var(--s3);color:var(--ivory)}
.cal-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px;margin:-4px}
.cal-grid th{font:600 .75rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 var(--s2)}
.cal-grid abbr{text-decoration:none}
.cal-grid td{height:4.5rem;padding:0;vertical-align:top;border-radius:var(--r-sm)}
.cal-grid td>a,.cal-grid td>.cd-n{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:44px;box-sizing:border-box;padding:6px 7px;border-radius:var(--r-sm)}
.cal-grid td>a{background:var(--card);border:1px solid var(--line);color:var(--fg);text-decoration:none;transition:background-color .15s,border-color .15s}
@media (hover:hover){.cal-grid td>a:hover{border-color:var(--teal);background:var(--n3)}}
.cd-n{font:500 1.05rem/1 var(--serif);color:var(--ivory)}
.cal-grid td>span.cd-n{color:var(--muted)}
.cal-past>.cd-n{opacity:.4}
.cd-c{align-self:flex-start;padding:2px 7px;border-radius:999px;background:rgba(51,183,170,.22);color:#BFEAE4;font:600 .75rem/1.25 var(--sans);white-space:nowrap}
.cal-today>a{border-color:var(--sun1)}
.cal-today>a .cd-n::after{content:"Today";margin-left:.4em;font:600 .6875rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--sun1)}
.cal-grid a[aria-current]{background:var(--sun1);border-color:var(--sun1)}
.cal-grid a[aria-current] .cd-n,.cal-grid a[aria-current] .cd-n::after{color:var(--n0)}
.cal-grid a[aria-current] .cd-c{background:rgba(10,26,47,.16);color:var(--n0)}
@media (min-width:64rem){.cd-w{display:none}}
@media (max-width:30rem){.cd-w{display:none}.cal-grid td{height:3.6rem}.cal-today>a .cd-n::after{content:none}}

/* layout */
.cal-panel{min-width:0;margin-top:var(--s6)}
@media (max-width:47.99rem){
  .js .cal-tog{display:inline-flex;align-items:center}
  .js .cal:not(.cal-open) .cal-months{display:none}
  .cal-months{margin-bottom:var(--s2)}
  .cal-panel{margin-top:var(--s5)}
}
@media (min-width:48rem){
  .cal-strip,.cal-tog{display:none!important}
}
@media (min-width:64rem){
  .cal-lay{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6);align-items:start}
  .cal-months{position:sticky;top:calc(var(--head-h) + 1rem)}
  .cal-panel{margin-top:0}
}

/* day lists */
.cal-ph{margin:0 0 var(--s4)}
.cal-lh{font:400 clamp(2rem,4vw,2.75rem)/1.05 var(--serif);letter-spacing:-.015em;margin:0}
.cal-lh:focus{outline:none}
.cal-sub{margin:var(--s2) 0 0;font:400 1rem/1.45 var(--sans);color:var(--muted)}
.cal-list .status{margin:0 0 var(--s4)}
.cal-daysec{margin:0 0 var(--s6)}
.cal-daysec .sub-head{border-bottom:1px solid var(--line);padding-bottom:var(--s2);margin-bottom:var(--s3)}
.cal-dh{font:450 clamp(1.4rem,2.4vw,1.75rem)/1.15 var(--serif);margin:0}
.cal-rows{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.cal-rows>.ev{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time type" "title title" "where where";gap:2px var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-sm)}
.cal-rows>.ev::before{top:var(--s3);bottom:var(--s3)}
.cal-rows p{margin:0}
.cr-time{grid-area:time;font:600 .9375rem/1.35 var(--sans);color:var(--ivory);font-variant-numeric:tabular-nums}
.cr-type{grid-area:type;justify-self:end;font:600 .8125rem/1.35 var(--sans);color:var(--tt)}
.cr-title{grid-area:title;font:450 1.3rem/1.2 var(--serif)}
.cr-title a{display:inline-block;padding:4px 0;min-height:24px;text-decoration:none;color:var(--ivory)}
.cr-title a:hover{text-decoration:underline;text-decoration-color:var(--sun1)}
.cr-where{grid-area:where;font:400 .9375rem/1.4 var(--sans);color:var(--muted)}
@media (min-width:40rem){
  .cal-rows>.ev{grid-template-columns:7.5rem minmax(0,1.4fr) minmax(0,1fr) 6.5rem;grid-template-areas:"time title where type";align-items:baseline}
  .cr-type{justify-self:start}
}
@media (min-width:64rem){.cal-panel .cal-rows>.ev{grid-template-columns:7.75rem minmax(0,1fr) auto;grid-template-areas:"time title type" "time where type";align-items:baseline}.cal-panel .cr-type{justify-self:end}.cal-panel .cr-time{white-space:nowrap}}
.cal-pns{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 0}
.cal-pn,.cal-back{display:inline-flex;align-items:center;min-height:44px;font:600 .9375rem/1.2 var(--sans)}
.cal-panel.cal-busy{opacity:.6}
@media (prefers-reduced-motion:no-preference){.cal-panel{transition:opacity .15s}.cal-strip ol{scroll-behavior:smooth}}

/* --- calendar in the vintage/worn look (Kyle approved calendar for prod 2026-11-03 9:04 PM) --- */
body:not(.folk-pg) .ev.cal-row{--perf:50%}
body:not(.folk-pg) .ev.cal-row::after{display:none}
.cal-daysec .sub-head .count{white-space:nowrap;flex:none}
.cal-daysec .sub-head{border-bottom:1.5px dashed rgba(255,197,106,.38)}
.cal-dh{font-family:Fraunces,var(--serif)}
.cal-months{border:1px solid rgba(255,197,106,.28);box-shadow:inset 0 0 0 4px #0F2A47,inset 0 0 0 5px rgba(255,197,106,.18)}
.cal-mh{font-family:Fraunces,var(--serif);letter-spacing:.01em}
.cal-today a,.cal-today>span,.cal-strip .cal-today,.cal-strip [aria-current]{box-shadow:inset 0 0 0 1.5px #FFC56A}
.cal-strip li a,.cal-months td a{border-radius:3px}
.cal-strip .cs-dow,.cal-months th{font-family:"Josefin Sans",var(--sans);letter-spacing:.12em}
