:root{--cva-admin:0px}
:root:has(body.admin-bar){--cva-admin:32px}
html:has(body.cva-calendar-page){scroll-snap-type:y mandatory;scroll-padding-top:var(--cva-admin)!important;scroll-behavior:smooth}
html.cva-dialog-open{overflow:hidden}
body.cva-calendar-page:not(.cvg-menu-open) .cvg-header{color:var(--cvg-ink,#201d19);background:#f3eee4ed;backdrop-filter:blur(14px)}
body.cva-calendar-page:not(.cvg-menu-open) .cvg-header .cvg-menu-toggle{background:transparent;border-color:#201d1955}
.cva-calendar{--cva-red:var(--cvg-red,#6f1524);--cva-ink:var(--cvg-ink,#201d19);--cva-cream:var(--cvg-cream,#f3eee4);--cva-line:#30271e22;--cva-muted:#756b60;color:var(--cva-ink);background:var(--cva-cream);font:400 13px/1.6 'Montserrat',Arial,sans-serif;width:100%}
.cva-calendar *{box-sizing:border-box}
.cva-calendar .cva-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cva-calendar .cva-calendar-slide{height:calc(100svh - var(--cva-admin));min-height:600px;padding:130px 5vw 22px;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin:0;background:var(--cva-cream);color:var(--cva-ink);overflow:hidden;isolation:isolate}
.cva-calendar .cva-calendar-slide:nth-of-type(even){background:#eae4d9}
.cva-calendar .cva-calendar-slide[hidden]{display:none!important}
.cva-calendar .cva-calendar-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:21px;flex-shrink:0}
.cva-calendar .cva-calendar-kicker{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cva-red);margin:0 0 4px}
.cva-calendar .cva-calendar-kicker span{opacity:.7}
.cva-calendar .cva-month-intro h2{font:500 clamp(50px,4.5vw,84px)/.95 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;text-transform:capitalize;margin:0;color:var(--cva-ink)}
.cva-calendar .cva-calendar-year{font-style:italic;color:var(--cva-red);font-weight:400;margin-left:20px;letter-spacing:-.06em}
.cva-calendar .cva-calendar-controls{display:flex;align-items:center;gap:20px;padding-bottom:3px}
.cva-calendar select{font:500 11px 'Montserrat',Arial,sans-serif;color:var(--cva-ink);background:transparent;border:0;border-bottom:1px solid #30271e55;border-radius:0;min-height:40px;padding:8px 25px 8px 2px;width:auto;max-width:180px}
.cva-calendar .cva-calendar-year-form{display:flex;gap:10px;align-items:center;margin:0}
.cva-calendar .cva-calendar-year-form button{background:transparent;color:var(--cva-red);border:1px solid #6f152438;border-radius:0;font:500 10px 'Montserrat',Arial,sans-serif;padding:10px 13px;min-height:40px;cursor:pointer}
.cva-calendar .cva-calendar-year-form button:hover{background:var(--cva-red);color:#fff}
.cva-calendar .cva-month-arrows{display:flex;gap:7px;margin-left:5px}
.cva-calendar .cva-month-arrows a,.cva-calendar .cva-month-arrows>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #30271e33;color:var(--cva-red);text-decoration:none;font:400 22px Arial,sans-serif;transition:background .25s,color .25s}
.cva-calendar .cva-month-arrows>span{opacity:.2}
.cva-calendar .cva-month-arrows a:hover{background:var(--cva-red);color:#fff;border-color:var(--cva-red)}
.cva-calendar .cva-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex-shrink:0;border-bottom:1px solid #30271e66;padding-bottom:10px;gap:1px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.cva-calendar .cva-calendar-weekdays>span{padding-left:13px;color:#665c51}
.cva-calendar .cva-calendar-weekdays>span:nth-child(n+6){color:var(--cva-red)}
.cva-calendar .cva-weekday-short{display:none;text-decoration:none}
.cva-calendar .cva-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));flex:1;min-height:0;border-left:1px solid var(--cva-line)}
.cva-calendar .cva-calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-width:0;min-height:0;width:100%;height:100%;border:0;border-right:1px solid var(--cva-line);border-bottom:1px solid var(--cva-line);padding:9px 13px;background:transparent;border-radius:0;text-align:left;color:var(--cva-ink);font:400 13px 'Montserrat',Arial,sans-serif;overflow:hidden}
.cva-calendar .cva-calendar-day.is-empty{background:#30271e04}
.cva-calendar .cva-calendar-day.is-weekend{background:#6f152404}
.cva-calendar .cva-day-number{display:block;font:500 23px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;flex-shrink:0}
.cva-calendar .cva-calendar-day.is-today .cva-day-number{border-bottom:2px solid currentColor;padding-bottom:2px}
.cva-calendar button.cva-calendar-day.has-events{background:var(--cva-red);color:#fff5e9;cursor:pointer;transition:background .3s,box-shadow .3s;isolation:isolate}
.cva-calendar button.cva-calendar-day.has-events:hover,.cva-calendar button.cva-calendar-day.has-events:focus-visible{background:#4d0c18;color:#fff5e9;box-shadow:inset 0 0 0 2px #d7bb7d}
.cva-calendar .cva-day-events{display:flex;flex-direction:column;gap:3px;min-width:0;width:100%;padding-right:12px}
.cva-calendar .cva-day-event-title{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:normal}
.cva-calendar .cva-more-events{font-size:8px;opacity:.8}
.cva-calendar .cva-day-open{position:absolute;right:10px;top:10px;font:400 18px/1 Arial,sans-serif;transition:transform .25s}
.cva-calendar .has-events:hover .cva-day-open{transform:translate(2px,-2px)}
.cva-calendar .cva-day-dot{display:none}
.cva-calendar .cva-calendar-bottom{display:flex;align-items:center;gap:25px;justify-content:space-between;flex-shrink:0;padding-top:13px;font-size:9px;line-height:1.4;color:var(--cva-muted)}
.cva-calendar .cva-calendar-bottom p{margin:0}
.cva-calendar .cva-calendar-hint{display:flex;align-items:center;gap:8px}
.cva-calendar .cva-legend-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--cva-red)}
.cva-calendar .cva-month-count{color:var(--cva-red)}
.cva-calendar .cva-scroll-cue{display:flex;align-items:center;gap:15px;color:var(--cva-ink);text-decoration:none;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.cva-calendar .cva-scroll-cue span{font-size:19px;color:var(--cva-red)}
.cva-calendar .cva-month-progress{font-size:9px;letter-spacing:.15em}
.cva-calendar .cva-calendar-end{padding:0 5vw;background:var(--cva-cream);font-size:9px;text-align:right;scroll-snap-align:start}
.cva-calendar .cva-calendar-end a{display:inline-block;padding:18px 0;color:var(--cva-muted);text-underline-offset:5px}
.cva-calendar .cva-event-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(590px,100%);height:100%;max-width:100vw;max-height:100dvh;border:0;border-left:1px solid #d7bb7d66;border-radius:0;padding:0;background:#f3eee4;color:var(--cva-ink);overscroll-behavior:contain;font:400 13px/1.8 'Montserrat',Arial,sans-serif;box-shadow:-15px 0 90px #0003}
.cva-calendar .cva-event-dialog::backdrop{background:#171513a6;backdrop-filter:blur(5px)}
.cva-calendar .cva-event-dialog[open]{animation:cva-panel-in .42s cubic-bezier(.22,.61,.36,1)}
.cva-calendar .cva-dialog-inner{padding:38px 45px 55px}
.cva-calendar .cva-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}
.cva-calendar .cva-dialog-top p{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--cva-red);margin:0}
.cva-calendar .cva-dialog-close{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;padding:0;border:1px solid #30271e33;background:transparent;color:var(--cva-red);font:400 20px Arial,sans-serif;cursor:pointer;border-radius:50%;transition:background .25s,color .25s}
.cva-calendar .cva-dialog-close:hover{background:var(--cva-red);color:#fff}
.cva-calendar .cva-dialog-day{font:400 120px/.8 'Cormorant Garamond',Georgia,serif;color:var(--cva-red);letter-spacing:-.06em;margin:0 0 30px}
.cva-calendar .cva-dialog-day span{display:block;margin-top:14px;font:500 10px 'Montserrat',Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.cva-calendar .cva-event-dialog h2{font:500 17px/1.5 'Montserrat',Arial,sans-serif;letter-spacing:0;text-transform:capitalize;color:#6c6257;margin:0 0 30px}
.cva-calendar .cva-detail-event{border-top:1px solid #30271e33;padding:28px 0 10px}
.cva-calendar .cva-detail-type{font:500 8px 'Montserrat',Arial,sans-serif;color:var(--cva-red);text-transform:uppercase;letter-spacing:.13em;margin:0 0 12px}
.cva-calendar .cva-detail-event h3{font:500 clamp(32px,3vw,44px)/1.07 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;color:var(--cva-ink);margin:0 0 24px;overflow-wrap:anywhere}
.cva-calendar .cva-detail-meta{font-size:11px;color:#776b5d;margin:8px 0}
.cva-calendar .cva-detail-description{font-size:12px;color:#5e5449;margin-top:24px;overflow-wrap:anywhere}
.cva-calendar .cva-detail-description p{margin:0 0 16px}
.cva-calendar .cva-detail-past{font-size:9px;color:#776b5d;text-transform:uppercase;letter-spacing:.1em}
.cva-calendar .cva-noscript{padding:50px 8vw;scroll-snap-align:start}
.cva-calendar :focus-visible{outline:2px solid var(--cva-red);outline-offset:3px}
.cva-calendar .has-events:focus-visible{outline-color:#d7bb7d;outline-offset:-4px}
.cva-calendar .is-current .cva-calendar-top{animation:cva-month-in .65s cubic-bezier(.22,.61,.36,1) both}
@keyframes cva-month-in{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes cva-panel-in{from{opacity:.4;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1024px) and (max-height:800px){.cva-calendar .cva-calendar-slide{padding-top:115px;padding-bottom:15px}.cva-calendar .cva-month-intro h2{font-size:55px}.cva-calendar .cva-calendar-top{margin-bottom:14px}.cva-calendar .cva-calendar-day{padding:6px 10px;gap:3px}.cva-calendar .cva-day-number{font-size:20px}.cva-calendar .cva-day-event-title{-webkit-line-clamp:1;font-size:9px}.cva-calendar .cva-calendar-bottom{padding-top:9px}.cva-calendar .cva-day-open{font-size:14px;top:8px;right:7px}}
@media(max-width:1023px){.cva-calendar .cva-calendar-slide{padding-left:4vw;padding-right:4vw}.cva-calendar .cva-calendar-controls{gap:12px}.cva-calendar .cva-month-intro h2{font-size:59px}.cva-calendar .cva-calendar-year{margin-left:12px}.cva-calendar .cva-day-event-title{font-size:9px}.cva-calendar .cva-day-number{font-size:24px}.cva-calendar .cva-calendar-day{padding:9px}.cva-calendar .cva-day-open{font-size:15px;right:7px;top:7px}}
@media(max-width:767px){:root:has(body.admin-bar){--cva-admin:46px}html:has(body.cva-calendar-page){scroll-snap-type:y proximity}.cva-calendar .cva-calendar-slide{height:calc(100svh - var(--cva-admin));min-height:570px;padding:100px 22px 20px}.cva-calendar .cva-calendar-top{display:block;margin-bottom:20px}.cva-calendar .cva-calendar-kicker{font-size:7px;letter-spacing:.14em;margin-bottom:9px}.cva-calendar .cva-month-intro h2{font-size:52px}.cva-calendar .cva-calendar-year{font-size:41px;margin-left:12px}.cva-calendar .cva-calendar-controls{justify-content:space-between;gap:10px;margin-top:20px;padding:0}.cva-calendar select{font-size:16px;min-height:38px;padding:7px 18px 7px 0;max-width:130px}.cva-calendar .cva-calendar-year-form{gap:6px}.cva-calendar .cva-calendar-year-form button{padding:8px;min-height:38px;font-size:9px}.cva-calendar .cva-month-arrows{gap:5px;margin:0}.cva-calendar .cva-month-arrows a,.cva-calendar .cva-month-arrows>span{width:33px;height:38px;font-size:20px}.cva-calendar .cva-calendar-weekdays{font-size:9px;text-align:center;padding-bottom:9px}.cva-calendar .cva-calendar-weekdays>span{padding:0}.cva-calendar .cva-weekday-full{display:none}.cva-calendar .cva-weekday-short{display:inline;text-decoration:none;border:0}.cva-calendar .cva-calendar-day{align-items:center;padding:10px 3px 5px;gap:8px}.cva-calendar .cva-day-number{font-size:24px}.cva-calendar .cva-day-events,.cva-calendar .cva-day-open{display:none}.cva-calendar .has-events .cva-day-dot{display:block;width:5px;height:5px;background:#d7bb7d;border-radius:50%;margin-top:auto;margin-bottom:5px}.cva-calendar .cva-calendar-bottom{display:grid;grid-template-columns:1fr auto;gap:10px 8px;font-size:8px;padding-top:14px}.cva-calendar .cva-calendar-hint{font-size:8px;gap:6px}.cva-calendar .cva-legend-dot{width:5px;height:5px}.cva-calendar .cva-month-count{text-align:right;font-size:8px}.cva-calendar .cva-scroll-cue{font-size:7px;gap:10px}.cva-calendar .cva-month-progress{text-align:right;font-size:8px}.cva-calendar .cva-dialog-inner{padding:25px 28px 40px}.cva-calendar .cva-dialog-top{margin-bottom:35px}.cva-calendar .cva-dialog-day{font-size:100px}.cva-calendar .cva-event-dialog h2{font-size:14px}.cva-calendar .cva-detail-event h3{font-size:35px}}
@media(max-width:359px){.cva-calendar .cva-calendar-slide{padding-left:15px;padding-right:15px}.cva-calendar .cva-month-intro h2{font-size:46px}.cva-calendar .cva-calendar-year{font-size:34px}.cva-calendar .cva-calendar-controls{gap:7px}.cva-calendar select{max-width:100px}.cva-calendar .cva-month-arrows a,.cva-calendar .cva-month-arrows>span{width:29px}.cva-calendar .cva-calendar-year-form button{padding:7px}.cva-calendar .cva-calendar-hint{max-width:170px}}
@media(max-width:767px){.cva-calendar .cva-month-jump{flex:1;min-width:0;max-width:130px}.cva-calendar .cva-month-jump select{width:100%;max-width:100%;min-width:0}.cva-calendar .cva-calendar-year-form,.cva-calendar .cva-month-arrows{flex-shrink:0}.cva-calendar .has-events .cva-day-dot{position:absolute;bottom:7px;left:calc(50% - 2.5px);margin:0;flex-shrink:0}}
@media(max-width:359px){.cva-calendar .cva-month-jump select{font-size:13px}.cva-calendar .cva-calendar-year-form select{width:65px;max-width:65px;font-size:14px;padding-right:8px}.cva-calendar .cva-calendar-year-form button{width:27px;padding:6px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html:has(body.cva-calendar-page){scroll-behavior:auto;scroll-snap-type:none}.cva-calendar *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
