/* MONDO FIL / public calendar — 2026-10-08 */
:root{--ink:#383538;--muted:#686569;--line:#e3e0e1;--closed:#f8e1e6;--event:#f5e2ce;--shop:#dfeaf5;--knit:#e9e0f5;--workshop:#d8efe4;--latin:Futura,"Futura PT","Century Gothic","Avenir Next",Helvetica,Arial,sans-serif;--body:"Helvetica Neue",Helvetica,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a:focus-visible{outline:2px solid #80747a;outline-offset:5px}
main{max-width:1080px;margin:auto;padding:64px 48px 40px}
.site-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-family:var(--latin)}
.shop-title{margin:0 0 10px;font-size:10px;letter-spacing:.32em}
h1{margin:0;font-size:22px;font-weight:300;line-height:1.2;letter-spacing:.19em}
.shop-hours{margin:0;font-size:10px;font-weight:400;letter-spacing:.12em}
.visit-guide{padding:30px 0 26px;font-size:13px;line-height:1.9;color:var(--muted)}
.visit-guide p{margin:0 0 7px}
.visit-guide .guide-lead{font-size:16px;color:var(--ink);letter-spacing:.025em}
.visit-guide .visit-note{margin:13px 0 0;color:#a14d58;font-size:12px}
.legends{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 24px;font-size:12px;font-weight:400}
.legend{display:flex;gap:8px;align-items:center}
.legend i{display:block;flex:0 0 10px;height:10px;border-radius:50%}
.months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.month-card{min-width:0;padding:25px 22px 28px;border:1px solid var(--line)}
.month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:22px;font-family:var(--latin)}
.month-heading span{font-size:11px;font-weight:400;letter-spacing:.13em}
.month-heading h2{margin:0;font-size:52px;font-weight:300;line-height:1;letter-spacing:.025em}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.weekdays{padding:19px 0 14px;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:400;letter-spacing:.04em;color:#737073}
.dates{row-gap:9px}
.dates>span{display:grid;place-items:center;justify-self:center;width:36px;max-width:94%;aspect-ratio:1;border-radius:50%;font-family:var(--latin);font-size:16px;font-weight:400}
.dates .closed,.legend.closed i{background:var(--closed)}
.dates .event,.legend.event i{background:var(--event)}
.dates .shop,.legend.shop i{background:var(--shop)}
.dates .knit,.legend.knit i{background:var(--knit)}
.dates .workshop,.legend.workshop i{background:var(--workshop)}
.calendar-footer{margin-top:25px;font-size:12px;line-height:1.8;color:var(--muted)}
.calendar-footer p{margin:0 0 28px}
.calendar-footer>a{display:block;border-top:1px solid var(--line);padding-top:20px;text-decoration:none;font-size:11px}
.calendar-footer>a span{margin-left:10px}
@media(max-width:700px){main{padding:32px 22px 28px}.site-heading{padding-bottom:23px;gap:12px}.shop-title{font-size:9px;letter-spacing:.25em}h1{font-size:20px}.shop-hours{font-size:9px;letter-spacing:.04em}.visit-guide{padding:23px 0;font-size:13px;line-height:1.85}.visit-guide .guide-lead{font-size:15px}.visit-guide .visit-note{font-size:12px}.legends{gap:10px 17px;font-size:11px;margin-bottom:22px}.months{grid-template-columns:1fr;gap:28px}.month-card{padding:22px 16px 26px}.month-heading h2{font-size:48px}.month-heading span{font-size:11px}.dates>span{font-size:16px;width:36px}.dates{row-gap:10px}}
@media(max-width:360px){main{padding-right:16px;padding-left:16px}.shop-hours{font-size:8px}.month-card{padding-left:12px;padding-right:12px}.dates>span{width:32px}}
