/* Events (JOB M): /events/, home and park page lists. Phone first. */
.cgl-evp { padding-bottom: var(--section); }
.cgl-evp__intro { margin-bottom: 1.25rem; }
.cgl-evp__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
.cgl-evp__filter ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cgl-evp__filter li { margin: 0; }
.cgl-evp__filter a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--line); border-radius: var(--pill); background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 500; }
.cgl-evp__filter a:hover { border-color: var(--ink); }
.cgl-evp__filter a[aria-current="page"] { background: var(--sea); border-color: var(--sea); color: var(--on-dark); }
.cgl-evp__views { display: inline-flex; margin: 0; border: 1px solid var(--ink); border-radius: var(--pill); overflow: hidden; }
.cgl-evp__views[hidden] { display: none; }
.cgl-evp__view { min-height: 44px; min-width: 6.5rem; padding: 0 1rem; border: 0; background: transparent; color: var(--ink); font: 600 1rem/1 var(--sans); cursor: pointer; }
.cgl-evp__view[aria-pressed="true"] { background: var(--ink); color: var(--on-dark); }
.cgl-evp__panel[hidden] { display: none; }

/* One event */
.cgl-ev { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .9rem 1rem; align-items: start; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; min-width: 0; }
.cgl-ev__date { display: grid; justify-items: center; align-content: center; width: 4rem; padding: .45rem 0; border-radius: var(--radius); background: var(--sea); color: var(--on-dark); line-height: 1.05; text-align: center; }
.cgl-ev__dow, .cgl-ev__mon { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.cgl-ev__date strong { font-size: 1.6rem; font-family: var(--sans); }
.cgl-ev__body { min-width: 0; }
.cgl-ev__title { margin: 0 0 .25rem; font-size: var(--step-1); line-height: 1.2; }
.cgl-ev__meta { margin: 0; display: flex; flex-wrap: wrap; gap: .1rem 1rem; color: var(--muted); }
.cgl-ev__time { font-weight: 600; color: var(--ink); }
.cgl-ev__tags { margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.cgl-ev__tag { display: inline-block; font-size: .8rem; font-weight: 600; line-height: 1.3; padding: .2rem .6rem; border-radius: var(--pill); }
.cgl-ev__tag--owners { background: var(--sea); color: var(--on-dark); }
.cgl-ev__tag--all { background: var(--mist-2); color: var(--ink); }
.cgl-ev__tag--group { background: var(--sand); color: var(--ink); }
.cgl-ev__note { margin: .6rem 0 0; }
.cgl-ev__acts { margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cgl-ev__acts .btn { min-height: 44px; }
.cgl-ev__shared { color: var(--marsh); font-weight: 600; font-size: .9rem; }
.cgl-ev__poster { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: var(--marsh); font-weight: 600; text-decoration: none; justify-self: start; }
.cgl-ev__poster img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; border: 1px solid var(--line); }
.cgl-ev__poster:hover span { text-decoration: underline; }
.cgl-ev__go { margin: .4rem 0 0; }
.cgl-ev__go a { display: inline-flex; align-items: center; min-height: 44px; color: var(--marsh); font-weight: 600; }
@media (min-width: 700px) {
	.cgl-ev:not(.cgl-ev--compact):not(.cgl-ev--past) { grid-template-columns: auto minmax(0, 1fr) auto; }
	.cgl-ev__poster { grid-column: auto; flex-direction: column; gap: .2rem; font-size: .85rem; }
	.cgl-ev__poster img { width: 72px; height: 72px; }
}

/* Next up */
.cgl-ev--hero { margin-bottom: var(--space-m); border: 2px solid var(--sea); padding: 1.1rem 1.15rem; }
.cgl-ev__next { grid-column: 1 / -1; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cgl-ev__next > span:first-child { font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; background: var(--sand); color: var(--ink); padding: .2rem .65rem; border-radius: var(--pill); }
.cgl-ev__count { font-weight: 600; color: var(--marsh); }
.cgl-ev--hero .cgl-ev__title { font-size: var(--step-3); }
.cgl-ev--hero .cgl-ev__date { width: 4.8rem; }
.cgl-ev--hero .cgl-ev__date strong { font-size: 2rem; }

.cgl-evp__month { font-size: var(--step-2); margin: 1.75rem 0 .75rem; }
.cgl-evp__list { display: grid; grid-template-columns: 1fr; gap: var(--space-s); }
@media (min-width: 1100px) { .cgl-evp__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 2000px) { .cgl-evp__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Calendar */
.cgl-evcal__nav { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 .75rem; }
.cgl-evcal__nav .btn { min-height: 44px; }
.cgl-evcal__nav .btn:disabled { opacity: .45; cursor: default; }
.cgl-evcal__month[hidden] { display: none; }
.cgl-evcal__title { font-size: var(--step-2); margin: 0 0 .5rem; }
.cgl-evcal__grid { width: 100%; max-width: 64rem; border-collapse: separate; border-spacing: 3px; table-layout: fixed; }
.cgl-evcal__grid th { font-size: .8rem; color: var(--muted); font-weight: 600; padding: .2rem 0; }
.cgl-evcal__grid abbr { text-decoration: none; border: 0; }
.cgl-evcal__grid td { vertical-align: top; height: 3rem; padding: .25rem; background: var(--surface); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.cgl-evcal__grid td.is-empty { background: transparent; border-color: transparent; }
.cgl-evcal__grid td.is-past { color: var(--muted); }
.cgl-evcal__grid td.is-today { outline: 2px solid var(--sand); }
.cgl-evcal__grid td.has-ev { background: var(--mist-2); }
.cgl-evcal__d { display: block; font-size: .85rem; font-weight: 600; }
.cgl-evcal__ev { display: block; margin-top: .15rem; min-height: 1.5rem; font-size: .75rem; line-height: 1.2; color: var(--on-dark); background: var(--sea); border-radius: 3px; padding: .15rem .25rem; text-decoration: none; overflow: hidden; }
.cgl-evcal__ev span { display: none; }
.cgl-evcal__ev::before { content: "\2022  Event"; }
@media (min-width: 900px) {
	.cgl-evcal__grid td { height: 5.5rem; }
	.cgl-evcal__ev span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.cgl-evcal__ev::before { content: none; }
}
.cgl-evcal__list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .4rem; max-width: 64rem; }
.cgl-evcal__list li { margin: 0; }
.cgl-evcal__item { display: block; min-height: 44px; padding: .55rem .8rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); text-decoration: none; }
.cgl-evcal__item:hover { border-color: var(--ink); }
.cgl-evcal__item span { display: block; color: var(--muted); font-size: .9rem; }
.cgl-evcal__none { color: var(--muted); }

/* Earlier, posters, small print */
.cgl-evp__past { margin-top: var(--space-l); border-top: 1px solid var(--line); }
.cgl-evp__past summary { cursor: pointer; display: flex; align-items: center; min-height: 52px; font-weight: 600; font-size: var(--step-1); list-style: none; }
.cgl-evp__past summary::-webkit-details-marker { display: none; }
.cgl-evp__past summary::after { content: ""; width: .55rem; height: .55rem; margin-left: .75rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s var(--ease); }
.cgl-evp__past[open] summary::after { transform: rotate(225deg); }
.cgl-evp__list--past { padding-bottom: 1rem; }
.cgl-ev--past { opacity: .85; padding: .7rem .8rem; }
.cgl-ev--past .cgl-ev__date { width: 3.4rem; background: var(--muted); }
.cgl-ev--past .cgl-ev__date strong { font-size: 1.3rem; }
.cgl-evp__posters { margin-top: var(--space-l); }
.cgl-evp__posters h2 { font-size: var(--step-2); }
.cgl-evp__posters ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: var(--space-m); }
.cgl-evp__posters li { margin: 0; }
.cgl-evp__posters p { margin: .4rem 0 0; }
.cgl-evp__poster img { width: 100%; height: auto; border-radius: var(--radius); border: 1px solid var(--line); display: block; }
.cgl-evp__dl { display: inline-flex; align-items: center; min-height: 44px; color: var(--marsh); font-weight: 600; }
.cgl-evp__empty { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; max-width: var(--measure); }
.cgl-evp__small { margin-top: 2rem; }
.cgl-evp__tel { display: inline-flex; align-items: center; min-height: 44px; }
.cgl-evp__after { margin: 0; font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.cgl-evp__after + .cgl-evp__month { margin-top: .5rem; }
@media (max-width: 899px) { .cgl-evcal__ev { min-height: 44px; display: grid; place-items: center; padding: 0; } .cgl-evcal__grid td.has-ev { padding: 2px; } }

/* Poster viewer */
.cgl-evlb { border: 0; padding: 0; background: transparent; max-width: min(92vw, 900px); max-height: 94vh; }
.cgl-evlb::backdrop { background: rgba(10, 25, 22, .85); }
.cgl-evlb img { display: block; max-width: 100%; max-height: calc(94vh - 4rem); width: auto; height: auto; margin: 0 auto; border-radius: var(--radius); }
.cgl-evlb p { margin: .5rem 0 0; text-align: center; }
.cgl-evlb__dl { color: #fff; font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
.cgl-evlb__x { position: sticky; top: 0; float: right; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; margin: 0 0 .5rem; }

/* Home and park page lists */
.cgl-evhome { padding: var(--space-l) 0; }
.cgl-evhome h2 { font-size: var(--step-3); margin: 0 0 1rem; }
.cgl-evs { display: grid; grid-template-columns: 1fr; gap: var(--space-s); }
.cgl-evs__more { margin: 1rem 0 0; }
@media (min-width: 900px) { .cgl-evs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cgl-evs--stack { grid-template-columns: 1fr; } }
.cgl-of__events { margin: 1.5rem 0 0; }
.cgl-ol__card .cgl-evs { grid-template-columns: 1fr; gap: .5rem; }
.cgl-ol__card .cgl-ev { padding: .6rem; gap: .6rem; border: 0; background: var(--mist); }
.cgl-ol__card .cgl-ev__date { width: 3.2rem; }
.cgl-ol__card .cgl-ev__date strong { font-size: 1.25rem; }
.cgl-ol__card .cgl-ev__title { font-size: 1rem; }
.cgl-ol__card .cgl-ev__tags { margin-top: .3rem; }
.cgl-ol__card .cgl-evs__more .btn { white-space: normal; }
.cgl-ol__poster { display: inline-flex; align-items: center; gap: .6rem; margin-top: .6rem; min-height: 44px; color: var(--marsh); font-weight: 600; }
.cgl-ol__poster img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; border: 1px solid var(--line); }
