/* This component is isolated from the parent page's design rules. */
.ec-upcoming{width:min(1120px,calc(100% - 40px));margin:16px auto 56px;padding:0;color:#e8f6f8;scroll-margin-top:100px}
.ec-upcoming .ec-upcoming-panel{padding:32px;border:1px solid rgba(159,226,238,.52);border-radius:28px;background:linear-gradient(145deg,rgba(22,55,61,.86),rgba(5,23,28,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 18px 50px rgba(0,0,0,.18);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.ec-upcoming .ec-upcoming-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}
.ec-upcoming .ec-upcoming-kicker{margin:0 0 9px;color:#8de5ee;font-size:.72rem;font-weight:850;letter-spacing:.13em}
.ec-upcoming h2{margin:0;color:#f1fbfc!important;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2}
.ec-upcoming .ec-upcoming-refresh{flex:0 0 auto;min-height:44px;padding:10px 15px;border:1px solid rgba(159,226,238,.35);border-radius:999px;background:rgba(255,255,255,.04);color:#e1f3f5;font-family:inherit;font-size:.8rem;font-weight:750;line-height:1.2;cursor:pointer}
.ec-upcoming .ec-upcoming-status{margin:0;color:#c1dfe5;line-height:1.6;font-size:.95rem}
.ec-upcoming .ec-upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ec-upcoming .ec-upcoming-card{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid rgba(159,226,238,.25);border-radius:20px;background:rgba(255,255,255,.045);min-width:0}
.ec-upcoming .ec-upcoming-date{margin:0 0 12px;color:#8de5ee;font-size:.88rem;line-height:1.65;font-weight:750}
.ec-upcoming h3{margin:0 0 10px;color:#f1fbfc!important;font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere}
.ec-upcoming .ec-upcoming-organizer,.ec-upcoming .ec-upcoming-location{margin:0 0 9px;font-size:.86rem;line-height:1.5;color:#b8d4da;overflow-wrap:anywhere}
.ec-upcoming .ec-upcoming-details{margin:8px 0 12px;width:100%;color:#cde1e5;font-size:.9rem}
.ec-upcoming .ec-upcoming-details summary{cursor:pointer;padding:8px 0;font-weight:700}
.ec-upcoming .ec-upcoming-description{margin:10px 0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.7;color:#cde1e5}
.ec-upcoming .ec-upcoming-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:auto;padding:12px 18px;border-radius:12px;color:#07333b!important;background:#d8f6fa;font-size:.87rem;font-weight:800;text-decoration:none!important}
.ec-upcoming .ec-upcoming-cta:hover{background:#fff}
.ec-upcoming .ec-upcoming-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgba(159,226,238,.18)}
.ec-upcoming .ec-upcoming-footer p{margin:0;color:#a3c7cd;font-size:.73rem;line-height:1.5}
.ec-upcoming .ec-upcoming-footer a{color:#bde6ed!important;font-size:.85rem;font-weight:750;text-decoration:none}
.ec-upcoming [hidden]{display:none!important}
.ec-upcoming :focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.ec-upcoming{width:calc(100% - 24px);margin:12px auto 36px}.ec-upcoming .ec-upcoming-panel{padding:23px 18px;border-radius:23px}.ec-upcoming .ec-upcoming-heading{align-items:flex-start;flex-direction:column;gap:15px}.ec-upcoming .ec-upcoming-list{grid-template-columns:1fr}.ec-upcoming .ec-upcoming-card{padding:20px}.ec-upcoming h2{font-size:1.5rem}.ec-upcoming .ec-upcoming-footer{align-items:flex-start;flex-direction:column}}

.ec-upcoming .ec-upcoming-card[role=button]{cursor:pointer}
.ec-upcoming .ec-upcoming-card[role=button]:hover{border-color:#bde6ed}
