/* Shared annual-calendar presentation; dates and review records stay in PHP. */
@layer editorial {
body main.events-calendar{background:#fafbf8!important;color:#2e4338!important;padding-bottom:3rem!important}
body main.events-calendar :is(.events-page,.events27-shell){width:min(1180px,calc(100% - 3rem))!important;max-width:none!important;margin:auto!important;padding:2rem 0 3rem!important}
body main.events-calendar :is(.art-hero,.events27-hero){padding:2.2rem 2.4rem!important;margin:0 0 1.5rem!important;border:1px solid #cbd8cb!important;border-radius:12px!important;background:#eaf0e8!important;text-align:left!important;box-shadow:none!important}
body main.events-calendar :is(.art-hero-inner,.art-body){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body main.events-calendar .events-page .art-hero .art-hero-inner{max-width:none!important;width:100%!important;margin:0!important}
body main.events-calendar :is(.art-eyebrow,.events27-kicker){font:700 .78rem/1.4 'Source Sans 3',sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#47654c!important}
body main.events-calendar h1{max-width:950px!important;font:600 clamp(2rem,3.6vw,3.15rem)/1.12 'Source Serif 4',Georgia,serif!important;letter-spacing:-.025em!important;color:#173e2c!important;margin:.6rem 0 1rem!important}
body main.events-calendar :is(.art-hero .lead,.events27-hero-lead){max-width:820px!important;color:#3f5947!important;font-size:1.1rem!important;line-height:1.6!important;margin:.75rem 0!important}
body main.events-calendar .art-hero p{max-width:820px!important}
body main.events-calendar :is(.last-checked,.events27-trust){font-size:.83rem!important;line-height:1.6!important;color:#526855!important;margin:.65rem 0!important}
body main.events-calendar :is(h2,h3,h4){font-family:'Source Sans 3',sans-serif!important;font-weight:650!important;letter-spacing:-.012em!important;color:#214832!important}
body main.events-calendar h2{font-size:1.65rem!important;line-height:1.25!important}
body main.events-calendar :is(.calendar-year-links,.events27-hero-links){display:flex!important;flex-wrap:wrap!important;gap:.6rem!important;margin-top:1.25rem!important;padding:0!important}
body main.events-calendar :is(.calendar-year-links a,.events27-btn){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:.65rem 1rem!important;border:1px solid #b9cbb9!important;border-radius:6px!important;font-size:.95rem!important;font-weight:650!important;line-height:1.4!important;text-decoration:none!important;background:#fff!important;color:#244d36!important;box-shadow:none!important}
body main.events-calendar :is(.calendar-year-next,.events27-btn-primary){background:#254f36!important;color:#fff!important;border-color:#254f36!important}
body main.events-calendar :is(a,button,input,select,summary):focus-visible{outline:3px solid #ad7f22!important;outline-offset:3px!important}
body main.events-calendar :is(.event-stat-summary,.events27-stats){margin:1rem 0 1.5rem!important}
body main.events-calendar :is(.event-stat-strip,.events27-stats){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border:1px solid #d4dfd2!important;border-radius:8px!important;overflow:hidden!important;box-shadow:none!important}
body main.events-calendar :is(.event-stat-item,.events27-stat){padding:1rem 1.15rem!important;border:0!important;border-right:1px solid #dce4d9!important;min-width:0!important;background:transparent!important}
body main.events-calendar :is(.event-stat-item,.events27-stat):last-child{border-right:0!important}
body main.events-calendar :is(.event-stat-number,.events27-stat strong){display:block!important;font:650 1.75rem/1.2 'Source Sans 3',sans-serif!important;color:#254f36!important}
body main.events-calendar :is(.event-stat-label,.event-stat-period,.event-stat-unit,.events27-stat-label,.events27-stat small){font-size:.82rem!important;font-weight:400!important;line-height:1.5!important;color:#53634f!important}
body main.events-calendar :is(.event-stat-kicker,.event-stat-note){font-size:.83rem!important;font-weight:400!important;margin:.5rem 0!important;color:#596855!important}
body main.events-calendar :is(.content-section,.events27-section){margin-top:2.5rem!important;scroll-margin-top:6rem!important}
body main.events-calendar .next-events{padding:1.25rem!important;margin:1.5rem 0!important;background:#fff!important;border:1px solid #d4dfd2!important;border-radius:8px!important}
body main.events-calendar .next-events h2{margin-top:0!important}
body main.events-calendar .next-events-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.8rem!important}
body main.events-calendar .next-events-list a{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.4rem!important;padding:.8rem 1rem!important;border:1px solid #dbe3d7!important;border-left:3px solid #bd9c51!important;border-radius:5px!important;background:#fafbf8!important;text-decoration:none!important}
body main.events-calendar .next-event-date{max-width:none!important;padding:0!important;font-size:.8rem!important;font-weight:650!important;color:#6d592d!important;background:transparent!important;text-align:left!important}
body main.events-calendar .next-event-name{display:block!important;font-size:1.05rem!important;font-weight:650!important;line-height:1.35!important}
body main.events-calendar .next-event-place{display:block!important;font-size:.82rem!important;line-height:1.4!important;margin-top:.3rem!important}
body main.events-calendar :is(.month-selector,.events27-months){display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:.45rem!important;overflow:visible!important;margin:1rem 0!important;padding:0!important}
body main.events-calendar :is(.month-shortcut,.events27-month){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.4rem!important;min-width:0!important;min-height:44px!important;padding:.55rem .75rem!important;border:1px solid #cbd8c7!important;border-radius:5px!important;font:600 .9rem/1.4 'Source Sans 3',sans-serif!important;background:#fff!important;color:#35563b!important;white-space:normal!important}
body main.events-calendar :is(.month-shortcut,.events27-month) :is(small,span){min-width:1.45rem!important;height:auto!important;border-radius:3px!important;background:#eef2e9!important;color:#506044!important;font-size:.75rem!important;padding:.12rem .25rem!important;text-align:center!important}
body main.events-calendar :is(.month-shortcut[aria-pressed="true"],.events27-month.is-active){background:#254f36!important;color:#fff!important;border-color:#254f36!important}
body main.events-calendar :is(.event-filters fieldset,.events27-filter){background:#fff!important;border:1px solid #ccd9c7!important;border-radius:8px!important;padding:1.2rem!important;box-shadow:none!important}
body main.events-calendar .event-filter-title{display:none!important}
body main.events-calendar .event-filter-helper{font-size:1rem!important;font-weight:400!important;line-height:1.6!important}
body main.events-calendar .calendar-search-field{display:grid!important;gap:.35rem!important;margin-bottom:1rem!important;font-weight:650!important;color:#35563b!important}
body main.events-calendar :is(.event-filter-grid,.events27-filter-grid){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.8rem!important}
body main.events-calendar .events27-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body main.events-calendar .events27-reset{grid-column:1/-1!important;justify-self:end!important;width:auto!important}
body main.events-calendar :is(.event-filter-control label,.events27-filter label){font-size:.88rem!important;font-weight:650!important;line-height:1.5!important;color:#35563b!important}
body main.events-calendar :is(.event-filters select,.events27-filter select,.calendar-search-field input){width:100%!important;max-width:100%!important;min-width:0!important;min-height:46px!important;border:1px solid #b6c5af!important;border-radius:5px!important;background:#fff!important;font:400 1rem/1.4 'Source Sans 3',sans-serif!important;color:#243c30!important;padding:.6rem .75rem!important;box-sizing:border-box!important}
body main.events-calendar :is(.event-timing-section,.events27-grid){border:0!important;background:transparent!important;padding:0!important}
body main.events-calendar :is(.event-list,.events27-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important;align-items:start!important}
body main.events-calendar .event-timing-header{border-bottom:1px solid #cbd8c7!important;padding:.4rem 0 .7rem!important}
body main.events-calendar :is(.event-card,.events27-card){display:flex!important;flex-direction:column!important;gap:0!important;min-width:0!important;border:1px solid #d0dccb!important;border-radius:9px!important;padding:0!important;background:#fff!important;box-shadow:0 2px 5px #183e2410!important;overflow:hidden!important;transform:none!important;scroll-margin-top:6rem!important}
body main.events-calendar .events27-card:before{display:none!important}
body main.events-calendar :is(.event-card-date,.events27-card-top){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.6rem!important;flex-wrap:wrap!important;border:0!important;border-bottom:1px solid #dfe6db!important;padding:.7rem 1.1rem!important;font-size:.88rem!important;font-weight:650!important;line-height:1.5!important;color:#35583d!important;background:#f0f4eb!important}
body main.events-calendar .event-card-date>span{font-size:.75rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#68755e!important}
body main.events-calendar .event-card-date time{font-size:.95rem!important}
body main.events-calendar :is(.event-card-main,.events27-card-body){padding:1rem 1.1rem!important;display:block!important}
body main.events-calendar :is(.event-card-title,.events27-card h3){margin:0 0 .6rem!important;font-size:1.35rem!important;line-height:1.25!important}
body main.events-calendar .event-card-title a{color:inherit!important;text-decoration:none!important}
body main.events-calendar .event-card-title a:hover{text-decoration:underline!important}
body main.events-calendar :is(.event-card-description,.events27-desc){font-size:1rem!important;line-height:1.55!important;color:#4b604b!important;margin:0 0 .8rem!important}
body main.events-calendar .event-meta{display:grid!important;grid-template-columns:1fr!important;margin:.7rem 0 0!important;gap:.5rem!important}
body main.events-calendar .event-meta-item{display:flex!important;gap:.55rem!important;align-items:baseline!important;border:0!important;padding:0!important}
body main.events-calendar .meta-label{flex:0 0 auto!important;font-size:.76rem!important;font-weight:600!important;color:#748069!important;text-transform:none!important;letter-spacing:0!important}
body main.events-calendar .event-meta-value{font-size:.88rem!important;line-height:1.5!important}
body main.events-calendar :is(.event-type-badge,.event-cost-badge,.event-status-badge,.events27-tag,.events27-status){border:1px solid #d4dfca!important;border-radius:4px!important;background:#f4f6ef!important;color:#4b6241!important;font-size:.73rem!important;font-weight:550!important;line-height:1.5!important;padding:.12rem .4rem!important;white-space:normal!important}
body main.events-calendar .event-date-review{font-size:.75rem!important;color:#748069!important;margin:.85rem 0 0!important}
body main.events-calendar .calendar-event-details{display:block!important;border:0!important;border-top:1px solid #e0e7db!important;margin:0!important;padding:0!important;background:#fff!important;border-radius:0!important}
body main.events-calendar .calendar-event-details>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:46px!important;padding:.65rem 1.1rem!important;color:#35583d!important;font-size:.85rem!important;font-weight:650!important;line-height:1.45!important;cursor:pointer!important;list-style:none!important}
body main.events-calendar .calendar-event-details>summary::-webkit-details-marker{display:none!important}
body main.events-calendar .calendar-event-details>summary:after{content:'+'!important;flex:none!important;font:400 1.3rem/1 sans-serif!important;margin-left:.6rem!important}
body main.events-calendar .calendar-event-details[open]>summary:after{content:'−'!important}
body main.events-calendar :is(.event-card-actions,.events27-meta){display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:.6rem 1rem!important;margin:0!important;padding:.8rem 1.1rem!important;border:0!important;border-top:1px solid #e3e9df!important;background:#fbfcf8!important}
body main.events-calendar .event-card-button:not(.event-card-button--stay){min-height:44px!important;padding:.45rem 0!important;border:0!important;background:transparent!important;color:#35583d!important;text-decoration:underline!important;text-underline-offset:3px!important;text-align:left!important;font-size:.87rem!important}
body main.events-calendar .events27-card-body>.calendar-event-details{margin:1rem -1.1rem -1rem!important}
body main.events-calendar .events27-venue{font-size:.88rem!important;line-height:1.45!important;margin-bottom:.7rem!important;padding-left:0!important}
body main.events-calendar .events27-venue:before{display:none!important}
body main.events-calendar .events27-tags{gap:.4rem!important;margin:.75rem 0!important}
body main.events-calendar .events27-meta>*{width:100%!important}
body main.events-calendar :is(.christmas-city-card,.event-city-card,.event-base-card,.events27-watch){border:1px solid #d4dfce!important;border-radius:7px!important;background:#fff!important;padding:1.1rem!important;box-shadow:none!important}
body main.events-calendar .events27-watch{border-top:3px solid #b99b51!important}
body main.events-calendar :is(.event-card,.events27-card,.event-month-group,.event-timing-section,.events27-grid,.active-filter-bar,.events27-no-results)[hidden]{display:none!important}
@media(min-width:761px){body main.events-calendar .event-filter-drawer>summary{display:none!important}}
@media(max-width:900px){body main.events-calendar :is(.event-stat-strip,.events27-stats){grid-template-columns:repeat(2,minmax(0,1fr))!important}body main.events-calendar :is(.event-stat-item,.events27-stat):nth-child(2n){border-right:0!important}body main.events-calendar :is(.event-stat-item,.events27-stat):nth-child(-n+2){border-bottom:1px solid #dce4d9!important}body main.events-calendar :is(.event-filter-grid,.events27-filter-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}body main.events-calendar .next-events-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){body main.events-calendar :is(.events-page,.events27-shell){width:calc(100% - 2rem)!important;padding-top:1rem!important}body main.events-calendar :is(.art-hero,.events27-hero){padding:1.4rem 1.15rem!important;border-radius:8px!important}body main.events-calendar h1{font-size:2rem!important}body main.events-calendar h2{font-size:1.4rem!important}body main.events-calendar :is(.event-filter-grid,.events27-filter-grid,.event-list,.events27-grid,.next-events-list){grid-template-columns:1fr!important}body main.events-calendar :is(.month-selector,.events27-months){grid-template-columns:repeat(3,minmax(0,1fr))!important}body main.events-calendar :is(.month-shortcut,.events27-month){padding:.55rem .5rem!important;font-size:.82rem!important;gap:.25rem!important}body main.events-calendar :is(.event-stat-item,.events27-stat){padding:.85rem!important}body main.events-calendar :is(.calendar-year-links a,.events27-btn){font-size:.88rem!important;padding:.6rem .75rem!important;width:auto!important}body main.events-calendar .events27-reset{width:100%!important}body main.events-calendar .event-meta-item{display:grid!important;gap:.1rem!important}body main.events-calendar .next-events{padding:1rem!important}body main.events-calendar .events27-trust{gap:.4rem!important}}
@media(prefers-reduced-motion:reduce){body main.events-calendar *{scroll-behavior:auto!important;transition:none!important}}
}
