/* Collection layout is opt-in through the versioned CMS model. */
[data-cms-layout][data-cms-layout]{--collection-count:var(--collection-desktop,3);--collection-gap:24px;display:grid;gap:var(--collection-gap);grid-template-columns:repeat(var(--collection-count),minmax(0,1fr));min-width:0;width:100%;box-sizing:border-box}
[data-cms-layout][data-cms-layout]> *{min-width:0;max-width:100%;box-sizing:border-box;margin:0}
[data-cms-layout="slider"][data-cms-layout]{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--collection-count) - 1)*var(--collection-gap))/var(--collection-count));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
[data-cms-layout="slider"]::-webkit-scrollbar{display:none}
[data-cms-layout="slider"]> *{scroll-snap-align:start}
/* Cards occupy row one; pagination occupies row two, so arrow alignment
   never depends on the height or wrapping of the dots. */
.cms-collection-shell{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;column-gap:12px;min-width:0;--collection-accent:var(--blue,#8bdeed);--collection-gold:var(--gold,#ebcb80)}
.cms-collection-shell>[data-cms-layout]{grid-column:2;grid-row:1}
.cms-collection-controls{display:contents}
.cms-collection-controls[hidden]{display:none}
.cms-collection-shell.is-single-page{grid-template-columns:minmax(0,1fr)}
.cms-collection-shell.is-single-page>[data-cms-layout]{grid-column:1}
.cms-collection-controls button{box-sizing:border-box;color:var(--collection-accent);background:transparent;cursor:pointer;font:inherit}
.cms-collection-controls .cms-collection-arrow{grid-row:1;align-self:center;justify-self:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--collection-accent) 42%,transparent);border-radius:50%;display:grid;place-items:center;padding:0;background:linear-gradient(135deg,color-mix(in srgb,var(--collection-accent) 16%,transparent),color-mix(in srgb,var(--collection-gold) 8%,transparent));box-shadow:0 4px 16px #0002;transition:background .18s,border-color .18s,box-shadow .18s}
.cms-collection-arrow svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cms-collection-prev{grid-column:1}.cms-collection-next{grid-column:3}
.cms-collection-controls .cms-collection-arrow:hover:not(:disabled){color:var(--collection-gold);border-color:var(--collection-gold);background:linear-gradient(135deg,color-mix(in srgb,var(--collection-accent) 25%,transparent),color-mix(in srgb,var(--collection-gold) 17%,transparent));box-shadow:0 4px 20px #0003}
.cms-collection-controls button:disabled{opacity:.35;cursor:default;box-shadow:none}
.cms-collection-controls button:focus-visible{outline:2px solid var(--collection-gold);outline-offset:4px}
.cms-collection-dots{grid-column:2;grid-row:2;display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:18px}
.cms-collection-dots button{width:28px;height:28px;display:grid;place-items:center;border:0;padding:0;border-radius:50%}
.cms-collection-dots button::before{content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%;opacity:.6}
.cms-collection-dots button[aria-current="true"]::before{background:linear-gradient(135deg,var(--collection-accent),var(--collection-gold));border-color:transparent;opacity:1}
@media(max-width:700px){[data-cms-layout][data-cms-layout]{--collection-count:var(--collection-mobile,1);--collection-gap:16px}.cms-collection-shell{column-gap:6px}}
@media(prefers-reduced-motion:reduce){.cms-collection-controls .cms-collection-arrow{transition:none}}
[data-cms-layout]>.air-event-card{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
[data-cms-layout]>.air-event-card .air-event-content{min-width:0;overflow-wrap:anywhere}
