/*
 * Events area styles (enqueued by inc/events.php).
 * Only what GenerateBlocks styles can't express: treatments keyed off the dynamic
 * data-status attribute, which holds the ACF label from {{post_meta key:event_status}}
 * (Scheduled, Registration Open, Sold Out, Postponed, Canceled, Completed).
 * If the ACF choice labels are renamed, update the selectors below.
 */

/* ---------- Status badges (.prts-badge.prts-status) ---------- */
.prts-badge.prts-status::before {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: currentColor;
}

.prts-badge.prts-status[data-status="Registration Open"] {
	background-color: var(--accent-3);
	border-color: var(--accent-3);
	color: var(--accent-2);
}

.prts-badge.prts-status[data-status="Sold Out"] {
	background-color: var(--contrast);
	border-color: var(--contrast);
	color: var(--base-3);
}

.prts-badge.prts-status[data-status="Postponed"] {
	background-color: #fff3dc;
	border-color: #f1d49b;
	color: #7a4a00;
}

.prts-badge.prts-status[data-status="Canceled"] {
	background-color: #fdecec;
	border-color: #f1c4c4;
	color: #9f2a2a;
}

/* Dark sections */
.prts-dark .prts-badge.prts-status[data-status="Registration Open"] {
	background-color: rgba(5, 223, 110, .14);
	border-color: rgba(5, 223, 110, .45);
	color: var(--accent);
}

.prts-dark .prts-badge.prts-status[data-status="Sold Out"] {
	background-color: var(--base-3);
	border-color: var(--base-3);
	color: var(--contrast);
}

.prts-dark .prts-badge.prts-status[data-status="Postponed"] {
	background-color: rgba(255, 190, 92, .12);
	border-color: rgba(255, 190, 92, .45);
	color: #ffc972;
}

.prts-dark .prts-badge.prts-status[data-status="Canceled"] {
	background-color: rgba(255, 120, 120, .12);
	border-color: rgba(255, 120, 120, .45);
	color: #ff9f9f;
}

/* ---------- Canceled events: never offer registration ---------- */
[data-status="Canceled"] [data-action="register"] {
	display: none;
}

/* ---------- Upcoming list rows (.prts-event-row) ---------- */
/* Postponed / canceled: muted date tile with the day struck through. */
.prts-event-row:is([data-status="Postponed"], [data-status="Canceled"]) .prts-date-tile {
	background-color: var(--base);
	color: var(--contrast-3);
}

.prts-event-row:is([data-status="Postponed"], [data-status="Canceled"]) .prts-date-month,
.prts-event-row:is([data-status="Postponed"], [data-status="Canceled"]) .prts-date-year {
	color: var(--contrast-3);
}

.prts-event-row:is([data-status="Postponed"], [data-status="Canceled"]) .prts-date-day {
	text-decoration: line-through;
	text-decoration-thickness: 3px;
}

/* ---------- Single event hero (.prts-event-hero) ---------- */
/* Back link: "Upcoming races" by default, "Results" for completed events. */
.prts-event-hero [data-back="results"] {
	display: none;
}

.prts-event-hero[data-status="Completed"] [data-back="results"] {
	display: inline-flex;
}

.prts-event-hero[data-status="Completed"] [data-back="upcoming"] {
	display: none;
}

/* Completed: grey date cap instead of brand green. */
.prts-event-hero[data-status="Completed"] .prts-event-bigdate-cap {
	background-color: var(--contrast-2);
	color: var(--base);
}

/* Postponed / canceled: dimmed date badge, struck-through day and date line. */
.prts-event-hero:is([data-status="Postponed"], [data-status="Canceled"]) .prts-event-bigdate-cap {
	background-color: var(--contrast-2);
	color: var(--base);
}

.prts-event-hero:is([data-status="Postponed"], [data-status="Canceled"]) .prts-date-day {
	color: #9aa39f;
	text-decoration: line-through;
	text-decoration-color: #ffc972;
	text-decoration-thickness: 5px;
}

.prts-event-hero:is([data-status="Postponed"], [data-status="Canceled"]) .prts-event-date .gb-text {
	text-decoration: line-through;
	text-decoration-color: #ffc972;
	text-decoration-thickness: 2px;
}

/* Status notes: hidden unless they match the event's status. */
.prts-event-hero .prts-status-note {
	display: none;
}

.prts-event-hero[data-status="Postponed"] .prts-status-note[data-note="Postponed"],
.prts-event-hero[data-status="Canceled"] .prts-status-note[data-note="Canceled"] {
	display: flex;
}
