/* hunz/* block styles — Minerva Nocturne. Uses theme palette vars with fallbacks. */
:root {
	--hunz-bg: var(--wp--preset--color--background, #0b1026);
	--hunz-cyan: var(--wp--preset--color--primary, #38e1ff);
	--hunz-amber: var(--wp--preset--color--accent, #ffb23e);
	--hunz-text: var(--wp--preset--color--contrast, #e8ecf8);
	--hunz-card: rgba(255, 255, 255, 0.04);
	--hunz-border: rgba(56, 225, 255, 0.25);
	--hunz-radius: 14px;
}

.hunz-events,
.hunz-event,
.hunz-tickets,
.hunz-lineup-block,
.hunz-ticket-status {
	color: var(--hunz-text);
}

.hunz-notice {
	opacity: 0.8;
	font-style: italic;
}

/* --- Events grid (mobile-first: single column) --- */
.hunz-events-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 600px) {
	.hunz-events-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
	.hunz-events-grid { grid-template-columns: repeat(3, 1fr); }
}

.hunz-event-card {
	background: var(--hunz-card);
	border: 1px solid var(--hunz-border);
	border-radius: var(--hunz-radius);
	overflow: hidden;
	transition: transform 0.15s ease, border-color 0.15s ease;
}
.hunz-event-card:hover { transform: translateY(-3px); border-color: var(--hunz-cyan); }
.hunz-event-card__link {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.1rem 1.2rem;
	text-decoration: none;
	color: inherit;
}
.hunz-event-card__date { color: var(--hunz-cyan); font-size: 0.85rem; letter-spacing: 0.03em; }
.hunz-event-card__title { font-size: 1.25rem; font-weight: 700; line-height: 1.15; }
.hunz-event-card__club { opacity: 0.75; font-size: 0.9rem; }
.hunz-event-card__cta { margin-top: 0.4rem; color: var(--hunz-amber); font-weight: 600; }

/* --- Event detail --- */
.hunz-event__date { color: var(--hunz-cyan); margin: 0 0 0.25rem; letter-spacing: 0.03em; }
.hunz-event__title { margin: 0 0 0.4rem; }
.hunz-event__club { opacity: 0.8; }

/* --- Line-up --- */
.hunz-lineup__heading { color: var(--hunz-amber); }
.hunz-lineup__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
}
@media (min-width: 700px) {
	.hunz-lineup__grid { grid-template-columns: repeat(2, 1fr); }
}
.hunz-dj {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.8rem 1rem;
	border-left: 3px solid var(--hunz-amber);
	background: var(--hunz-card);
	border-radius: 0 var(--hunz-radius) var(--hunz-radius) 0;
}
.hunz-dj__slot { color: var(--hunz-cyan); font-size: 0.8rem; }
.hunz-dj__name { font-weight: 700; font-size: 1.05rem; }
.hunz-socials { display: flex; gap: 0.75rem; margin-top: 0.2rem; }
.hunz-social { color: var(--hunz-cyan); font-size: 0.85rem; text-decoration: none; }
.hunz-social:hover { text-decoration: underline; }

/* --- Tickets --- */
.hunz-tickets__phase {
	display: inline-block;
	color: var(--hunz-bg);
	background: var(--hunz-amber);
	font-weight: 700;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	font-size: 0.8rem;
}
.hunz-tickets__list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.hunz-ticket {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
	padding: 0.9rem 1.1rem;
	background: var(--hunz-card);
	border: 1px solid var(--hunz-border);
	border-radius: var(--hunz-radius);
}
.hunz-ticket__info { display: flex; flex-direction: column; flex: 1 1 50%; }
.hunz-ticket__name { font-weight: 700; }
.hunz-ticket__desc { opacity: 0.7; font-size: 0.85rem; }
.hunz-ticket__price { font-size: 1.2rem; font-weight: 800; color: var(--hunz-cyan); }

.hunz-ticket__buy,
.hunz-btn {
	cursor: pointer;
	border: none;
	border-radius: 999px;
	padding: 0.55rem 1.3rem;
	font-weight: 700;
	color: var(--hunz-bg);
	background: var(--hunz-cyan);
	text-decoration: none;
	display: inline-block;
	transition: filter 0.15s ease;
}
.hunz-ticket__buy:hover,
.hunz-btn:hover { filter: brightness(1.1); }

.hunz-checkout { margin-top: 1.25rem; }
.hunz-checkout__qty { display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.hunz-checkout__qty-input { width: 4rem; padding: 0.3rem 0.5rem; border-radius: 8px; border: 1px solid var(--hunz-border); background: var(--hunz-bg); color: var(--hunz-text); }
.hunz-checkout__mount { min-height: 4rem; }
.hunz-checkout__error { color: #ff6b81; font-weight: 600; }

/* --- Ticket status page --- */
.hunz-status { text-align: center; padding: 2rem 1rem; }
.hunz-status--ok h1 { color: var(--hunz-amber); }
.hunz-status--err h1 { color: #ff6b81; }
