/* =============================================================
   Single Event Page + Ticket System Styles
   Mirror portal-login aesthetic for the body section;
   Animated "Get Tickets" CTA on event cards.
   ============================================================= */

/* ── Keyframes ───────────────────────────────────────────── */
@keyframes ticket-shimmer {
	0%   { transform: translateX(-100%) skewX(-15deg); }
	100% { transform: translateX(300%)  skewX(-15deg); }
}

/* Slow soft light sweep for CTA button — sweeps once then pauses */
@keyframes cta-shine {
	0%   { transform: translateX(-200%) skewX(-15deg); }
	38%  { transform: translateX(550%)  skewX(-15deg); }
	100% { transform: translateX(550%)  skewX(-15deg); }
}

@keyframes ticket-pulse-ring {
	0%   { box-shadow: 0 0 0 0   rgba(178,34,52,.45); }
	70%  { box-shadow: 0 0 0 10px rgba(178,34,52,0);  }
	100% { box-shadow: 0 0 0 0   rgba(178,34,52,0);   }
}

@keyframes price-glow-in {
	from { opacity:0; transform: translateY(4px); }
	to   { opacity:1; transform: translateY(0);   }
}

@keyframes gold-float {
	0%, 100% { transform: translateY(0);   }
	50%       { transform: translateY(-3px); }
}

/* =============================================================
   1. EVENT CARD — Ticket Button & Price (on list page)
   ============================================================= */

.event-card__ticket-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 10px;
	margin-top: 8px;
	border-top: 1px solid rgba(30,58,95,.1);
	animation: price-glow-in .4s ease both;
}


@keyframes ticket-pulse-ring-navy {
	0%   { box-shadow: 0 0 0 0   rgba(30,58,95,.5); }
	70%  { box-shadow: 0 0 0 10px rgba(30,58,95,0); }
	100% { box-shadow: 0 0 0 0   rgba(30,58,95,0);  }
}
@keyframes ticket-pulse-ring-gold {
	0%   { box-shadow: 0 0 0 0   rgba(212,168,67,.5); }
	70%  { box-shadow: 0 0 0 10px rgba(212,168,67,0); }
	100% { box-shadow: 0 0 0 0   rgba(212,168,67,0);  }
}
@keyframes ticket-pulse-ring-green {
	0%   { box-shadow: 0 0 0 0   rgba(74,124,89,.5); }
	70%  { box-shadow: 0 0 0 10px rgba(74,124,89,0); }
	100% { box-shadow: 0 0 0 0   rgba(74,124,89,0);  }
}
@keyframes ticket-pulse-ring-teal {
	0%   { box-shadow: 0 0 0 0   rgba(14,116,144,.5); }
	70%  { box-shadow: 0 0 0 10px rgba(14,116,144,0); }
	100% { box-shadow: 0 0 0 0   rgba(14,116,144,0);  }
}


.event-card__sold-out-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 12px;
	border-radius: 20px;
	background: #F8D7DA;
	color: #721C24;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2px;
}

.event-card__sold-out-badge::before { content: '✖ '; font-size: 10px; }

/* =============================================================
   2. SINGLE EVENT HERO
   ============================================================= */

.single-event-hero {
	position: relative;
	min-height: 440px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #1E3A5F;
}

.single-event-hero--crimson { background: #4A7C59; }
.single-event-hero--gold    { background: #B8922E; }
.single-event-hero--green   { background: #4A7C59; }
.single-event-hero--navy    { background: #1E3A5F; }
.single-event-hero--teal    { background: #0e7490; }

.single-event-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.single-event-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		rgba(0,0,0,.82) 0%,
		rgba(0,0,0,.45) 50%,
		rgba(0,0,0,.18) 100%);
	z-index: 1;
}

.single-event-hero__content {
	position: relative;
	z-index: 2;
	padding-top: 32px;
	padding-bottom: 52px;
	width: 100%;
}

.single-event-hero__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: rgba(255,255,255,.70);
	margin-bottom: 28px;
}

.single-event-hero__breadcrumb a {
	color: rgba(255,255,255,.82);
	text-decoration: none;
	transition: color .15s;
}

.single-event-hero__breadcrumb a:hover { color: #D4A843; }
.single-event-hero__breadcrumb span[aria-current] { color: rgba(255,255,255,.50); }

.single-event-hero__inner {
	display: flex;
	align-items: flex-end;
	gap: 28px;
}

.single-event-hero__date-block {
	flex-shrink: 0;
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 14px;
	padding: 14px 20px;
	text-align: center;
	color: #fff;
	min-width: 76px;
}

.single-event-hero__date-day   { display: block; font-size: 42px; font-weight: 800; line-height: 1; }
.single-event-hero__date-month { display: block; font-size: 12px; font-weight: 700; letter-spacing: .8px; opacity: .85; margin-top: 5px; text-transform: uppercase; }

.single-event-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.single-event-hero__type {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	background: rgba(255,255,255,.15);
	color: #fff;
	border: 1px solid rgba(255,255,255,.28);
}

.single-event-hero__ticket-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 800;
	background: linear-gradient(135deg, #D4A843 0%, #B8922E 100%);
	color: #1e2328;
	box-shadow: 0 2px 8px rgba(212,168,67,.45);
}

.single-event-hero__ticket-badge::before { content: '🎟 '; }

.single-event-hero__sold-out {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	background: #1E3A5F;
	color: #fff;
}

.single-event-hero__past {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	background: rgba(255,255,255,.12);
	color: rgba(255,255,255,.75);
}

.single-event-hero__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(26px, 4vw, 46px);
	font-weight: 700;
	color: #fff;
	margin: 0 0 18px;
	line-height: 1.2;
	text-shadow: 0 2px 14px rgba(0,0,0,.4);
}

.single-event-hero__details {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.single-event-hero__detail-item {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	color: rgba(255,255,255,.85);
}

/* =============================================================
   3. SINGLE EVENT BODY — Portal-login aesthetic
   ============================================================= */

.single-event-body {
	position: relative;
	background-color: #1E3A5F;        /* Himalayan Navy */
	overflow: hidden;
	padding: 64px 20px;
}

/* Dot-grid overlay — matches hero & portal login */
.single-event-body::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0);
	background-size: 28px 28px;
	pointer-events: none;
	z-index: 0;
}

/* Crimson radial glow — bottom-right, matches portal login */
.single-event-body::after {
	content: '';
	position: absolute;
	bottom: -20%;
	right: -10%;
	width: 65vw;
	height: 65vw;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(178,34,52,.20) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

/* Container sits above decorations */
.single-event-body > .container {
	position: relative;
	z-index: 1;
}

/* =============================================================
   4. SINGLE EVENT LAYOUT — portal-login-wrap card
   ============================================================= */

.single-event-layout {
	display: grid;
	grid-template-columns: 3fr 2fr;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 28px 80px rgba(0,0,0,.50), 0 6px 24px rgba(0,0,0,.30);
	align-items: stretch;
}

/* =============================================================
   5. LEFT COLUMN — portal-login-image style
   Content sits on a dark navy/crimson gradient overlay
   ============================================================= */

.single-event-content {
	position: relative;
	background: linear-gradient(
		135deg,
		rgba(18,38,72,.94)  0%,
		rgba(22,48,85,.88) 45%,
		rgba(80,20,30,.35) 100%
	);
	padding: 52px 48px;
	color: #fff;
	border: none;
	border-radius: 0;
	display: flex;
	flex-direction: column;
}

/* Subtle dot-grid inside content column */
.single-event-content::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
	background-size: 24px 24px;
	pointer-events: none;
	z-index: 0;
}

.single-event-content > * { position: relative; z-index: 1; }

/* White text on dark background */
.single-event-content__body {
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255,255,255,.88);
	flex: 1;
}

.single-event-content__body h1,
.single-event-content__body h2,
.single-event-content__body h3 {
	color: #fff;
}

.single-event-content__body a {
	color: #D4A843;
	text-decoration: underline;
}

.single-event-content__body > *:first-child { margin-top: 0; }
.single-event-content__body > *:last-child  { margin-bottom: 0; }

.single-event-content__excerpt {
	font-size: 16px;
	color: rgba(255,255,255,.75);
	line-height: 1.75;
}

/* "Back to Events" — white outline button */
.single-event-content__back {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.15);
}

.single-event-content__back .btn--outline {
	color: rgba(255,255,255,.88);
	border-color: rgba(255,255,255,.35);
	background: rgba(255,255,255,.07);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.single-event-content__back .btn--outline:hover {
	background: rgba(255,255,255,.15);
	border-color: rgba(255,255,255,.6);
	color: #fff;
}

/* Flash messages — keep legible on dark bg */
.event-ticket-flash {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 20px;
	border-radius: 10px;
	margin-bottom: 28px;
	font-size: 14px;
	line-height: 1.6;
}

.event-ticket-flash svg { flex-shrink: 0; margin-top: 2px; }

.event-ticket-flash--success {
	background: rgba(74,124,89,.25);
	border: 1px solid rgba(74,124,89,.5);
	color: #9fdfb5;
}

.event-ticket-flash--warning {
	background: rgba(212,168,67,.15);
	border: 1px solid rgba(212,168,67,.35);
	color: #F5D78E;
}

/* =============================================================
   6. RIGHT COLUMN (SIDEBAR) — portal-login-card: gold stripes
   ============================================================= */

.single-event-sidebar {
	background: repeating-linear-gradient(
		135deg,
		#fff     0px,
		#FBF3E0 28px,
		#F5E2B0 56px,
		#FBF3E0 84px,
		#fff    112px
	);
	padding: 40px 32px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* =============================================================
   7. EVENT INFO CARD — on gold background
   ============================================================= */

.event-info-card {
	background: rgba(255,255,255,.72);
	border: 1.5px solid rgba(184,146,46,.4);
	border-radius: 14px;
	overflow: hidden;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.event-info-card__title {
	font-size: 11px;
	font-weight: 800;
	color: #5A3D08;
	padding: 12px 18px;
	background: rgba(212,168,67,.18);
	border-bottom: 1px solid rgba(184,146,46,.3);
	margin: 0;
	text-transform: uppercase;
	letter-spacing: .7px;
}

.event-info-card__list {
	list-style: none;
	margin: 0;
	padding: 8px 0;
}

.event-info-card__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 18px;
	border-bottom: 1px solid rgba(184,146,46,.15);
}

.event-info-card__list li:last-child { border-bottom: none; }

.event-info-card__list svg {
	flex-shrink: 0;
	color: #7D6318;
	margin-top: 2px;
}

.event-info-card__list div { display: flex; flex-direction: column; gap: 2px; }

.event-info-card__list strong {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #7D6318;
}

.event-info-card__list span { font-size: 13px; color: #3D2A04; font-weight: 500; }

/* =============================================================
   8. TICKET BOX — on gold background
   ============================================================= */

.event-ticket-box {
	background: rgba(255,255,255,.80);
	border: 1.5px solid rgba(184,146,46,.4);
	border-radius: 14px;
	overflow: hidden;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.event-ticket-box__header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px 22px 0;
}

.event-ticket-box__icon { font-size: 22px; }

.event-ticket-box__header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	color: #3D2A04;
}

/* Price row */
.event-ticket-box__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	padding: 14px 22px 12px;
	border-bottom: 1px solid rgba(184,146,46,.25);
}

.event-ticket-box__price-amount {
	font-size: 32px;
	font-weight: 800;
	color: #5A3D08;
	letter-spacing: -1px;
}

.event-ticket-box__price-label {
	font-size: 14px;
	color: #7D6318;
}

/* Availability bar */
.event-ticket-box__availability {
	padding: 12px 22px;
	border-bottom: 1px solid rgba(184,146,46,.18);
}

.event-ticket-avail-bar {
	height: 7px;
	background: rgba(212,168,67,.25);
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 7px;
}

.event-ticket-avail-bar__fill {
	height: 100%;
	background: linear-gradient(90deg, #7D6318, #D4A843);
	border-radius: 4px;
	transition: width .4s ease;
}

.event-ticket-avail-text {
	font-size: 12px;
	color: #7D6318;
	font-weight: 600;
}

/* Ticket description */
.event-ticket-box__desc {
	padding: 14px 22px;
	font-size: 13px;
	color: #5A3D08;
	line-height: 1.65;
	border-bottom: 1px solid rgba(184,146,46,.18);
}

.event-ticket-box__desc p { margin: 0; }

/* Closed / Sold-Out states */
.event-ticket-box--closed,
.event-ticket-box--soldout {
	text-align: center;
	padding: 36px 22px;
}

.event-ticket-box--closed .event-ticket-box__icon,
.event-ticket-box--soldout .event-ticket-box__icon {
	display: block;
	font-size: 40px;
	margin-bottom: 14px;
	opacity: .45;
}

.event-ticket-box--closed h3,
.event-ticket-box--soldout h3 {
	font-size: 16px;
	font-weight: 700;
	color: #5A3D08;
	margin: 0 0 8px;
}

.event-ticket-box--closed p,
.event-ticket-box--soldout p {
	font-size: 13px;
	color: #7D6318;
	margin: 0;
}

.event-ticket-box--soldout h3 { color: #1E3A5F; }

/* =============================================================
   9. TICKET PURCHASE FORM — gold-tinted inputs
   ============================================================= */

.event-ticket-form {
	padding: 20px 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.event-ticket-form__field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.event-ticket-form__field label {
	font-size: 12px;
	font-weight: 700;
	color: #5A3D08;
	text-transform: uppercase;
	letter-spacing: .4px;
}

.event-ticket-form__field .req     { color: #b22234; }
.event-ticket-form__field .optional { font-weight: 400; color: #9D7D24; text-transform: none; font-size: 11px; }

/* Gold-tinted frosted inputs — matches portal-login-card inputs */
.event-ticket-form__field input,
.event-ticket-form__field select {
	padding: 9px 12px;
	border: 1.5px solid rgba(184,146,46,.55);
	border-radius: 7px;
	font-size: 14px;
	color: #3D2A04;
	background: rgba(255,255,255,.72);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	transition: border-color .15s, box-shadow .15s, background .15s;
	width: 100%;
}

.event-ticket-form__field input::placeholder { color: rgba(93,67,20,.45); }

.event-ticket-form__field input:focus,
.event-ticket-form__field select:focus {
	border-color: #B8922E;
	outline: none;
	box-shadow: 0 0 0 3px rgba(184,146,46,.22);
	background: rgba(255,255,255,.90);
}

.event-ticket-form__hint {
	font-size: 11px;
	color: #9D7D24;
}

.event-ticket-form__field--qty { flex: 0 0 auto; }
.event-ticket-form__field--qty select { width: 90px; }

/* Quantity + Total row */
.event-ticket-form__qty-row {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	justify-content: space-between;
}

.event-ticket-form__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
}

.event-ticket-form__total-label {
	font-size: 10px;
	font-weight: 800;
	color: #7D6318;
	text-transform: uppercase;
	letter-spacing: .6px;
}

.event-ticket-form__total-amount {
	font-size: 24px;
	font-weight: 800;
	color: #5A3D08;
	letter-spacing: -1px;
}

/* Submit button — Crimson + shimmer, matches portal's deep-gold btn energy */
.event-ticket-form__submit {
	position: relative;
	width: 100%;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	padding: 13px 24px;
	border-radius: 9px;
	gap: 8px;
	margin-top: 6px;
	color: #fff;
	background: linear-gradient(135deg, #3d6b4a 0%, #4A7C59 100%);
	border: none;
	cursor: pointer;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(74,124,89,.40);
	transition: transform .22s cubic-bezier(.34,1.56,.64,1),
	            box-shadow .22s ease;
}

/* Shimmer sweep on the submit button */
.event-ticket-form__submit::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 100%;
	background: linear-gradient(105deg, transparent, rgba(255,255,255,.3), transparent);
	animation: ticket-shimmer 2.2s ease-in-out infinite;
	pointer-events: none;
}

.event-ticket-form__submit:hover:not(:disabled) {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 8px 28px rgba(74,124,89,.55);
	background: linear-gradient(135deg, #5e9a6e 0%, #4A7C59 100%);
}

.event-ticket-form__submit:active:not(:disabled) {
	transform: translateY(-1px);
}

.event-ticket-form__submit:disabled {
	opacity: .60;
	cursor: not-allowed;
	animation: none;
}

.event-ticket-form__submit:disabled::before { display: none; }

/* Secure payment note */
.event-ticket-form__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 11px;
	color: #9D7D24;
	margin: 4px 0 0;
}

/* Notice */
.event-ticket-notice {
	padding: 12px 14px;
	border-radius: 7px;
	font-size: 13px;
	line-height: 1.5;
}

.event-ticket-notice--error {
	background: rgba(178,34,52,.1);
	border: 1px solid rgba(178,34,52,.3);
	color: #721C24;
}

.event-ticket-notice--success {
	background: rgba(74,124,89,.12);
	border: 1px solid rgba(74,124,89,.35);
	color: #155724;
}

/* =============================================================
   10. TICKET TIER SELECTOR
   ============================================================= */

/* Outer wrapper shown above the form (step 1) */
.event-ticket-tiers-section {
	padding: 18px 22px 16px;
	border-bottom: 1px solid rgba(184,146,46,.25);
	background: rgba(212,168,67,.06);
}

.event-ticket-tiers-section__label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #5A3D08;
	margin-bottom: 11px;
}

.event-ticket-tiers-section__label .req { color: #b22234; margin-left: 2px; }

/* "Your Details" divider between tier picker and form */
.event-ticket-box__details-label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px 0;
}

.event-ticket-box__details-label span {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #7D6318;
	white-space: nowrap;
}

.event-ticket-box__details-label::after {
	content: '';
	flex: 1;
	height: 1px;
	background: rgba(184,146,46,.3);
}

.event-ticket-tiers {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.event-ticket-tier {
	display: block;
	cursor: pointer;
}

/* Hide native radio but keep it accessible */
.event-ticket-tier input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.event-ticket-tier__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border: 2px solid rgba(184,146,46,.35);
	border-radius: 10px;
	background: rgba(255,255,255,.60);
	transition: border-color .18s, background .18s, box-shadow .18s;
	cursor: pointer;
}

.event-ticket-tier__card:hover {
	border-color: #B8922E;
	background: rgba(255,255,255,.82);
}

.event-ticket-tier input[type="radio"]:checked + .event-ticket-tier__card {
	border-color: #5A3D08;
	background: rgba(212,168,67,.20);
	box-shadow: 0 0 0 3px rgba(184,146,46,.25);
}

.event-ticket-tier input[type="radio"]:focus-visible + .event-ticket-tier__card {
	outline: 2px solid #B8922E;
	outline-offset: 2px;
}

.event-ticket-tier__label {
	font-size: 14px;
	font-weight: 700;
	color: #3D2A04;
}

.event-ticket-tier__price {
	font-size: 17px;
	font-weight: 800;
	color: #5A3D08;
	letter-spacing: -.5px;
}

.event-ticket-free-note {
	font-size: 11px;
	color: #7D6318;
	margin: 4px 0 0;
	padding: 0;
	line-height: 1.4;
}

/* =============================================================
   11. FEATURED IMAGE — thin golden border, traveling shine spot
   ============================================================= */

/* Animatable custom property — lets the conic-gradient angle advance
   so the bright spot travels clockwise while the border stays still */
@property --shine-pos {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}

@keyframes shine-travel {
	to { --shine-pos: 360deg; }
}

.event-featured-wrap {
	position: relative;
	border-radius: 18px;
	margin-bottom: 28px;
}

/* Thin ring: 1.5px wide.  The conic-gradient is mostly a dim gold base;
   a 60-degree arc brightens to white-gold and advances via --shine-pos. */
.event-featured-wrap::before {
	content: '';
	position: absolute;
	inset: -2px;
	border-radius: 20px;
	padding: 1.5px;
	background: conic-gradient(
		from var(--shine-pos),
		rgba(212,168,67,0.35)    0deg,
		rgba(212,168,67,0.35)  285deg,
		rgba(212,168,67,0.70)  310deg,
		rgba(255,248,180,1.00) 330deg,
		rgba(255,255,255,1.00) 340deg,
		rgba(255,248,180,1.00) 350deg,
		rgba(212,168,67,0.35)  360deg
	);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: shine-travel 10s linear infinite;
	z-index: 2;
	pointer-events: none;
}

.event-featured-wrap__inner {
	position: relative;
	z-index: 1;
	border-radius: 17px;
	overflow: hidden;
}

.event-featured-wrap__inner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 17px;
}

/* =============================================================
   11. RESPONSIVE
   ============================================================= */

@media (max-width: 1024px) {
	.single-event-layout {
		grid-template-columns: 1fr;
		max-width: 640px;
	}

	/* Sidebar (gold card) floats above content on mobile */
	.single-event-sidebar {
		order: -1;
		padding: 32px 28px;
	}

	.event-info-card__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.event-info-card__list li:nth-last-child(-n+2) { border-bottom: none; }
}

@media (max-width: 768px) {
	.single-event-body { padding: 40px 16px; }

	.single-event-hero__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.single-event-content { padding: 36px 28px; }

	.event-info-card__list {
		grid-template-columns: 1fr;
	}

	.event-info-card__list li { border-bottom: 1px solid rgba(184,146,46,.15); }
	.event-info-card__list li:last-child { border-bottom: none; }
}

@media (max-width: 480px) {
	.single-event-body { padding: 28px 12px; }

	.single-event-content { padding: 28px 20px; }

	.single-event-sidebar { padding: 24px 18px; }

	.event-ticket-form__qty-row {
		flex-direction: column;
		align-items: stretch;
	}

	.event-ticket-form__total {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.event-ticket-form__field--qty select { width: 100%; }
}
