.events-page,.event-detail{--events-primary:var(--mg-primary-500);--events-primary-dark:var(--mg-primary-700);--events-soft:var(--mg-primary-50);--events-ink:var(--mg-text-1);color:var(--events-ink)}
.events-page .btn-primary,.event-detail .btn-primary{color:var(--mg-text-inverse);background:var(--mg-primary-500);border-color:var(--mg-primary-500);box-shadow:var(--mg-shadow-primary)}.events-page .btn-primary:hover,.events-page .btn-primary:focus,.event-detail .btn-primary:hover,.event-detail .btn-primary:focus{color:var(--mg-text-inverse);background:var(--mg-primary-700);border-color:var(--mg-primary-700)}.events-page .btn-outline-primary,.event-detail .btn-outline-primary{color:var(--mg-primary-700);background:transparent;border-color:var(--mg-primary-500)}.events-page .btn-outline-primary:hover,.events-page .btn-outline-primary:focus,.event-detail .btn-outline-primary:hover,.event-detail .btn-outline-primary:focus{color:var(--mg-text-inverse);background:var(--mg-primary-500);border-color:var(--mg-primary-500);box-shadow:var(--mg-shadow-primary)}.events-page .btn-outline-secondary,.event-detail .btn-outline-secondary{color:var(--mg-secondary-700);border-color:var(--mg-secondary-500)}.events-page .btn-outline-secondary:hover,.event-detail .btn-outline-secondary:hover{color:var(--mg-text-inverse);background:var(--mg-secondary-500);border-color:var(--mg-secondary-500)}
.events-heading{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.75rem}.events-heading h1,.event-detail h1{font-weight:800;letter-spacing:-.035em}.events-heading p{margin:0;color:#64736e}.events-eyebrow{display:block;color:var(--events-primary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}
.events-filter,.events-calendar,.event-section{background:#fff;border:1px solid rgba(23,107,82,.12);border-radius:1.25rem;box-shadow:0 12px 35px rgba(18,67,54,.07)}.events-filter{padding:1.25rem;margin-bottom:1.25rem}.events-toolbar{display:inline-flex;padding:.3rem;background:var(--events-soft);border-radius:999px;margin-bottom:1.25rem}.events-view-button{border:0;background:transparent;border-radius:999px;padding:.65rem 1.1rem;color:var(--events-ink);font-weight:700}.events-view-button.active{background:var(--events-primary);color:#fff;box-shadow:0 5px 14px rgba(23,107,82,.22)}
.events-calendar{padding:1rem}.events-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:.25rem .25rem 1rem}.events-calendar-head h2{text-transform:capitalize}.events-calendar-weekdays,.events-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.events-calendar-weekdays span{text-align:center;font-size:.78rem;font-weight:800;color:#71807b;padding:.5rem}.events-calendar-day{min-height:120px;border-top:1px solid #e7eeeb;border-left:1px solid #e7eeeb;padding:.45rem;overflow:hidden}.events-calendar-day:nth-child(7n){border-right:1px solid #e7eeeb}.events-calendar-day.is-spacer{background:#f8faf9}.events-calendar-day.is-today{background:#f1faf7;box-shadow:inset 0 0 0 2px var(--events-primary)}.events-calendar-number{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;font-size:.82rem;font-weight:800}.is-today .events-calendar-number{background:var(--events-primary);color:#fff;border-radius:50%}.events-calendar-event{display:block;margin-top:.3rem;padding:.28rem .4rem;background:var(--events-soft);color:var(--events-primary);border-left:3px solid var(--events-primary);border-radius:.35rem;font-size:.76rem;font-weight:700;line-height:1.25;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-calendar-event:hover{background:var(--events-primary);color:#fff}
.event-card{border:0;border-radius:1.1rem;overflow:hidden;box-shadow:0 10px 30px rgba(20,54,45,.09);transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(20,54,45,.14)}.event-card-image{height:210px;object-fit:cover}.event-card-meta{display:flex;flex-direction:column;gap:.35rem;color:#667770;font-size:.83rem}
.event-back{display:inline-flex;gap:.4rem;align-items:center;color:var(--events-primary);font-weight:700;text-decoration:none;margin-bottom:1rem}.event-detail-header{margin-bottom:1.5rem}.event-category{display:inline-block;background:var(--events-soft);color:var(--events-primary-dark);font-weight:800;border-radius:999px;padding:.35rem .75rem;margin-bottom:.8rem}.event-poster{width:100%;max-height:620px;object-fit:contain;background:var(--mg-surface-3);border-radius:var(--mg-radius-lg);box-shadow:var(--mg-shadow-card)}.event-description{font-size:1.08rem;line-height:1.8;margin-top:2rem}.event-info-card{border:0;border-radius:var(--mg-radius-lg);box-shadow:var(--mg-shadow-card)}.event-info-row,.event-occurrence{display:flex;gap:.85rem;padding:1rem 0;border-top:1px solid var(--mg-border-soft)}.event-info-row>i,.event-occurrence>i{color:var(--events-primary);font-size:1.2rem}.event-info-row div,.event-occurrence div{display:flex;flex-direction:column;gap:.15rem}.event-info-row small{color:var(--mg-text-3);text-transform:uppercase;letter-spacing:.07em;font-weight:700}.event-section{padding:1.4rem;margin-top:2rem}.event-section-heading{display:flex;justify-content:space-between;align-items:center}.event-section-heading>i{font-size:2rem;color:var(--events-primary)}.event-weather-tabs{display:flex;gap:.5rem;overflow-x:auto;margin:1rem 0;padding-bottom:.35rem}.event-weather-tab{flex:0 0 auto;border:1px solid var(--mg-primary-500);border-radius:var(--mg-radius-pill);background:transparent;color:var(--mg-primary-700);font-weight:700;padding:.55rem .9rem}.event-weather-tab small{display:block;font-weight:500}.event-weather-tab.active,.event-weather-tab:hover{background:var(--mg-primary-500);color:var(--mg-text-inverse);box-shadow:var(--mg-shadow-primary)}.event-weather-occurrence{display:none}.event-weather-occurrence.active{display:block}.event-weather-occurrence>h3{text-transform:capitalize;font-size:1.05rem;margin:1rem 0}.event-weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:1rem}.event-weather-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;padding:1rem;background:var(--mg-surface-2);border:1px solid var(--mg-border-soft);border-radius:var(--mg-radius-md)}.event-weather-card>img{width:70px;height:70px;object-fit:contain}.event-weather-card>strong{text-transform:capitalize}.event-weather-card>time{font-weight:800;color:var(--events-primary-dark)}.event-weather-confidence{width:100%;font-size:.76rem;text-align:left;margin-top:.35rem}.event-confidence-bar{height:8px;background:var(--mg-surface-3);border-radius:999px;overflow:hidden;margin:.35rem 0}.event-confidence-bar span,.event-confidence-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mg-warning-500),var(--mg-primary-500));border-radius:inherit}.event-confidence-bar.is-territorial i{background:linear-gradient(90deg,var(--mg-primary-300),var(--mg-primary-700))}.event-source{display:flex;align-items:center;gap:.75rem;height:100%;padding:1rem;border:1px solid var(--mg-border-soft);border-radius:var(--mg-radius-md);color:var(--events-ink);text-decoration:none}.event-source span{display:flex;flex:1;flex-direction:column}.event-source small{color:var(--mg-text-3)}.event-source:hover{border-color:var(--events-primary);background:var(--events-soft)}
@media(max-width:767.98px){.events-heading{align-items:start;flex-direction:column}.events-calendar{overflow-x:auto}.events-calendar-weekdays,.events-calendar-grid{min-width:700px}.events-calendar-day{min-height:105px}.event-section{padding:1rem}.event-weather-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.event-weather-grid{grid-template-columns:1fr}.events-toolbar{display:flex}.events-view-button{flex:1}}
