/* Midway Eventbrite Events — pulls colours/fonts from the Elementor kit globals, with fallbacks. */
.mw-events{
	--mw-cream:var(--e-global-color-primary,#FAF1DE);
	--mw-ink:var(--e-global-color-secondary,#0D0B09);
	--mw-muted:var(--e-global-color-text,rgba(250,241,222,.78));
	--mw-line:var(--e-global-color-creamln,rgba(250,241,222,.4));
	--mw-card:#15120F;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:32px;
}

/* ---------- card ---------- */
.mw-events .mw-event{
	position:relative;display:flex;flex-direction:column;
	background:var(--mw-card);
	border:1px solid rgba(250,241,222,.14);border-radius:4px;overflow:hidden;
	transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.mw-events .mw-event:hover{
	border-color:var(--mw-line);transform:translateY(-4px);
	box-shadow:0 24px 48px -24px rgba(0,0,0,.8);
}

/* ---------- poster area: blurred copy behind, full poster on top ---------- */
.mw-events .mw-event__media{
	position:relative;display:block;aspect-ratio:4/3;overflow:hidden;
	background:var(--mw-ink);isolation:isolate;
}
.mw-events .mw-event__media::before{
	content:"";position:absolute;inset:-24px;z-index:-2;
	background:var(--mw-bg,none) center/cover no-repeat;
	filter:blur(22px) saturate(1.2);opacity:.55;transform:scale(1.1);
}
.mw-events .mw-event__media::after{
	content:"";position:absolute;inset:0;z-index:-1;
	background:linear-gradient(180deg,rgba(13,11,9,.15) 0%,rgba(13,11,9,.55) 100%);
}
.mw-events .mw-event__media img{
	width:100%;height:100%;object-fit:contain;display:block;
	transition:transform .6s ease;
}
.mw-events .mw-event:hover .mw-event__media img{transform:scale(1.04)}

/* date badge — dark so it reads on light or dark posters */
.mw-events .mw-event__date{
	position:absolute;top:16px;left:16px;z-index:2;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	width:60px;padding:10px 0 9px;
	background:rgba(13,11,9,.88);color:var(--mw-cream);
	border:1px solid var(--mw-line);border-radius:2px;line-height:1;
	backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.mw-events .mw-event__day{
	font-family:var(--e-global-typography-primary-font-family,"Anton"),sans-serif;
	font-size:28px;
}
.mw-events .mw-event__month{
	font-family:var(--e-global-typography-accent-font-family,"DM Sans"),sans-serif;
	font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:5px;
}

/* ---------- body ---------- */
.mw-events .mw-event__body{
	display:flex;flex-direction:column;flex:1;padding:24px 28px 28px;
	border-top:1px solid rgba(250,241,222,.1);
}
.mw-events .mw-event__meta{
	display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;
	font-family:var(--e-global-typography-accent-font-family,"DM Sans"),sans-serif;
	font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mw-muted);
}
.mw-events .mw-event__meta span+span::before{
	content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
	background:var(--mw-line);margin-right:12px;vertical-align:middle;
}
/* price as a small pill */
.mw-events .mw-event__meta span:nth-child(3){
	margin-left:auto;padding:5px 10px;border:1px solid var(--mw-line);border-radius:2px;color:var(--mw-cream);
}
.mw-events .mw-event__meta span:nth-child(3)::before{display:none}

.mw-events .mw-event__title{
	margin:0 0 12px;
	font-family:var(--e-global-typography-h3dsply-font-family,"Anton"),sans-serif;
	font-weight:400;font-size:26px;line-height:1.12em;letter-spacing:.01em;text-transform:uppercase;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mw-events .mw-event__title a,
.mw-events .mw-event__title a:hover{color:var(--mw-cream);text-decoration:none}

.mw-events .mw-event__summary{
	margin:0 0 24px;color:var(--mw-muted);
	font-family:var(--e-global-typography-text-font-family,"DM Sans"),sans-serif;
	font-size:15px;line-height:1.6em;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* ---------- button (specific selectors so the kit's link colour can't override) ---------- */
.mw-events a.mw-event__btn,
.mw-events a.mw-event__btn:visited{
	margin-top:auto;align-self:stretch;
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:15px 20px;
	background:var(--mw-cream);color:var(--mw-ink);
	border:2px solid var(--mw-cream);border-radius:2px;text-decoration:none;
	font-family:var(--e-global-typography-accent-font-family,"DM Sans"),sans-serif;
	font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1;
	transition:background .25s ease,color .25s ease;
}
.mw-events a.mw-event__btn svg{flex-shrink:0;transition:transform .25s ease}
.mw-events a.mw-event__btn:hover,
.mw-events a.mw-event__btn:focus-visible{background:transparent;color:var(--mw-cream)}
.mw-events a.mw-event__btn:hover svg{transform:translateX(4px)}
.mw-events a:focus-visible{outline:2px solid var(--mw-cream);outline-offset:3px}

.mw-events .mw-event.is-sold-out a.mw-event__btn{
	justify-content:center;background:transparent;color:var(--mw-muted);border-color:var(--mw-line);
}
.mw-events .mw-event.is-sold-out .mw-event__media img{filter:grayscale(.7)}

.mw-events .mw-sr{
	position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.mw-events--empty,.mw-events--error{
	display:block;text-align:center;padding:48px 16px;
	border:1px dashed var(--e-global-color-creamln,rgba(250,241,222,.4));
	color:var(--e-global-color-text,rgba(250,241,222,.78));
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
	.mw-events{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
	.mw-events .mw-event__body{padding:22px 24px 24px}
	.mw-events .mw-event__title{font-size:24px}
}
@media (max-width:767px){
	.mw-events{grid-template-columns:1fr;gap:20px}
	.mw-events .mw-event__body{padding:20px}
	.mw-events .mw-event__title{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
	.mw-events .mw-event,.mw-events .mw-event__media img,.mw-events a.mw-event__btn svg{transition:none}
	.mw-events .mw-event:hover,.mw-events .mw-event:hover .mw-event__media img{transform:none}
}

/* ---------- carousel layout ---------- */
.mw-carousel{--mw-cream:var(--e-global-color-primary,#FAF1DE);--mw-ink:var(--e-global-color-secondary,#0D0B09);--mw-line:var(--e-global-color-creamln,rgba(250,241,222,.4))}
.mw-events.mw-events--carousel{
	display:grid;grid-auto-flow:column;grid-template-columns:none;
	grid-auto-columns:calc((100% - 64px) / 3);
	overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;
	padding:6px 2px 24px;margin:-6px -2px 0;scrollbar-width:none;
}
.mw-events.mw-events--carousel::-webkit-scrollbar{display:none}
.mw-events.mw-events--carousel .mw-event{scroll-snap-align:start}
.mw-events.mw-events--carousel:focus-visible{outline:2px solid var(--mw-cream);outline-offset:4px}

.mw-carousel__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.mw-carousel__nav{display:flex;gap:10px;margin-left:auto}
.mw-carousel .mw-carousel__btn{
	width:52px;height:52px;padding:0;display:grid;place-items:center;cursor:pointer;
	background:transparent;color:var(--mw-cream);
	border:1px solid var(--mw-line);border-radius:50%;
	transition:background .2s,color .2s,border-color .2s,opacity .2s;
}
.mw-carousel .mw-carousel__btn:hover:not(:disabled){background:var(--mw-cream);color:var(--mw-ink);border-color:var(--mw-cream)}
.mw-carousel .mw-carousel__btn:focus-visible{outline:2px solid var(--mw-cream);outline-offset:3px}
.mw-carousel .mw-carousel__btn:disabled{opacity:.3;cursor:default}
.mw-carousel.is-static .mw-carousel__nav{display:none}
.mw-carousel a.mw-carousel__all,.mw-carousel a.mw-carousel__all:visited{
	font-family:var(--e-global-typography-accent-font-family,"DM Sans"),sans-serif;
	font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
	color:var(--mw-cream);text-decoration:none;padding-bottom:4px;border-bottom:1px solid var(--mw-line);
	transition:border-color .2s;
}
.mw-carousel a.mw-carousel__all:hover{border-color:var(--mw-cream)}

@media (max-width:1024px){.mw-events.mw-events--carousel{grid-auto-columns:calc((100% - 24px) / 2)}}
@media (max-width:767px){
	.mw-events.mw-events--carousel{grid-auto-columns:86%}
	.mw-carousel .mw-carousel__btn{width:46px;height:46px}
}
@media (prefers-reduced-motion:reduce){.mw-events.mw-events--carousel{scroll-behavior:auto}}
