/**
 * Gosy — tarjetas de evento del listado (events/views/card.php).
 * Alineadas con la página de evento: fecha humanizada, chip del tipo sobre
 * el cartel, pin en el recinto, extracto a 2 líneas y pie coherente.
 * Encolado en todo el frontend (las cards aparecen en /eventos, home, etc.).
 */

/* ---- Tarjeta: mismo skin que las tarjetas de la página de evento ---- */
.ep-event-card .ep-box-card-item {
	border: 1px solid var(--gosy-border, #d3def0) !important;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(26, 37, 56, 0.06), 0 10px 28px rgba(26, 37, 56, 0.07);
}

/* ---- Chip del tipo sobre el cartel (color inline por término) ---- */
.ep-event-card .gosy-card-type-chip {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: inline-block;
	white-space: nowrap;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

/* ---- Fecha humanizada ---- */
.ep-event-card .gosy-card-when {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.82rem;
	line-height: 1.4;
}

.ep-event-card .gosy-card-when svg {
	width: 14px;
	height: 14px;
	fill: var(--gosy-brand, #fe7900);
	flex-shrink: 0;
}

.ep-event-card .gosy-card-when-day {
	font-weight: 600;
	color: var(--gosy-ink, #1a2538);
}

.ep-event-card .gosy-card-when-time {
	color: var(--gosy-text, #2f3f5c);
	font-variant-numeric: tabular-nums;
}

/* ---- Recinto con pin ---- */
.ep-event-card .gosy-card-venue {
	display: flex;
	align-items: center;
	gap: 6px;
}

.ep-event-card .gosy-card-venue svg {
	width: 13px;
	height: 13px;
	fill: var(--gosy-subtle, #8a98ad);
	flex-shrink: 0;
}

/* ---- Extracto a 2 líneas: alturas iguales entre tarjetas ---- */
.ep-event-card .gosy-card-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--gosy-muted, #637799);
}

/* ---- Fila de plazas (familia COMPARTIDA gosy-bk-*) ----
   El mismo lenguaje en las cards del grid (card.php) y en el bloque de
   registro del single (gosy_get_remaining_tickets_html). Los !important
   pisan .ep-progress/.ep-progress-bar del plugin, que cargan después. */
.gosy-bk-slots {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--gosy-muted, #637799);
	font-variant-numeric: tabular-nums;
}

.gosy-bk-slots b {
	color: var(--gosy-ink, #1a2538);
	font-weight: 600;
}

.gosy-bk-hint-warn {
	color: #b45309;
	font-weight: 600;
}

.gosy-bk-bar {
	height: 5px !important;
	border-radius: 999px !important;
	background: var(--gosy-soft-2, #eef3f8) !important;
	overflow: hidden;
}

.gosy-bk-bar-fill {
	display: block;
	height: 100% !important;
	border-radius: 999px;
	background: var(--gosy-brand, #fe7900) !important;
}

/* completo / urgencia: barra ámbar */
.gosy-bk-bar-warn {
	background: var(--gosy-warning, #f59e0b) !important;
}

/* ---- Mini-tarjetas de estado: compactas y con color semántico ----
   El marcado lo generan los renderers compartidos con la página del evento:
   aquí solo se recolorea/compacta según el modificador del wrapper. */
.ep-event-card .gosy-event-state-wrap .ep-alert {
	padding: 10px 14px !important;
	margin-bottom: 8px !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

.ep-event-card .gosy-event-state-wrap .ep-alert .material-icons-outlined {
	font-size: 20px !important;
	margin-bottom: 2px !important;
}

/* ============================================================
   TONOS SEMÁNTICOS COMPARTIDOS — .gosy-bk-card
   Los renderers de estado (events-helpers.php, single y listado)
   llevan estas clases en el marcado; aquí viven los tonos porque
   este archivo se encola en todo el frontend. Los !important pisan
   utilidades ep-* del plugin (ep-text-muted, ep-bg-*…).
   ============================================================ */
.gosy-bk-card {
	border-radius: 10px !important;
	box-shadow: none !important;
	border: 1px solid transparent;
}

.gosy-bk-card > .material-icons-outlined {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Ámbar: completo / urgencia (cierran pronto) */
.gosy-bk-card--amber {
	background: var(--gosy-warning-soft, #fff7e6) !important;
	border-color: #ffe3b3 !important;
	color: #b45309 !important;
}

.gosy-bk-card--amber .material-icons-outlined,
.gosy-bk-card--amber .ep-text-small {
	color: #b45309 !important;
}

.gosy-bk-card--amber .ep-text-small {
	opacity: 0.85;
}

/* Urgencia alta (<24h): medio punto más de intensidad */
.gosy-bk-card--hot {
	background: #ffefd1 !important;
	border-color: #fcd34d !important;
}

/* Gris: cerrado / próximamente / informativo */
.gosy-bk-card--gray {
	background: var(--gosy-soft, #f6f8fb) !important;
	border-color: var(--gosy-border, #e4ebf5) !important;
	color: var(--gosy-text, #2f3f5c) !important;
}

.gosy-bk-card--gray .material-icons-outlined,
.gosy-bk-card--gray .ep-text-small,
.gosy-bk-card--gray .ep-text-muted {
	color: var(--gosy-muted, #637799) !important;
}

/* Verde: ya apuntado / asistencia confirmada */
.gosy-bk-card--green {
	background: var(--gosy-success-soft, #eaf8ef) !important;
	border-color: #d3ecd9 !important;
	color: #15803d !important;
}

.gosy-bk-card--green .material-icons-outlined,
.gosy-bk-card--green .ep-text-success {
	color: #15803d !important;
}

/* El pie de cancelación dentro de la card verde: neutro con enlace rojo
   (el contenedor del divisor no lleva ep-text-muted en el marcado real) */
.gosy-bk-card--green .ep-text-muted,
.gosy-bk-card--green .ep-border-top {
	color: #8a98ad !important;
}

.gosy-bk-card--green .ep-text-danger {
	color: #b91c1c !important;
}

/* Rojo suave: cancelado */
.gosy-bk-card--red {
	background: var(--gosy-danger-soft, #fff0f0) !important;
	border-color: #ffd6d6 !important;
	color: #b91c1c !important;
}

.gosy-bk-card--red .material-icons-outlined {
	color: #b91c1c !important;
}

/* ---- Chip de precio (#ep_single_event_ticket_price) ----
   Renderer compartido (gosy_render_event_price_card). Base GRIS compacta —
   el aspecto de siempre en las cards del grid (caja gris, texto verde).
   La variante verde solo aplica en el single (event-booking.css). */
.gosy-bk-price {
	background: var(--gosy-soft, #f6f8fb) !important;
	border: 1px solid var(--gosy-border, #e4ebf5) !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	padding: 8px !important;
	font-weight: 600;
}

.gosy-bk-price .material-icons-outlined {
	font-size: 17px !important;
	vertical-align: -3px;
}

/* Naranja wash: estados de venta (Evento Exclusivo, plaza ofrecida) */
.gosy-bk-card--brand {
	background: var(--gosy-brand-wash, #fff8f1) !important;
	border-color: #ffd9ad !important;
	color: var(--gosy-text, #2f3f5c) !important;
}

.gosy-bk-card--brand > .material-icons-outlined {
	color: var(--gosy-brand, #fe7900) !important;
}

.gosy-bk-card--brand > .ep-fw-bold {
	color: var(--gosy-brand-active, #c95f00);
}

/* ============================================================
   SISTEMA UNIFICADO DEL PIE — un solo lenguaje de botones:
   · Acción primaria (Apuntarme): naranja sólido, píldora
   · Acción secundaria (lista de espera): outline naranja, píldora
   · Acción neutra (Ver el evento en cerrado/cancelado/terminado):
     fantasma gris, píldora
   · Estado no accionable (Completo / Evento abre el X): pastilla
     suave semántica, píldora
   ============================================================ */
.ep-event-card .ep-card-footer .ep-btn {
	border-radius: 999px !important;
	font-weight: 600;
	box-shadow: none !important;
	text-transform: none !important;
}

/* Bloque precio/estado/plazas anclado al fondo del cuerpo: misma altura en
   todas las tarjetas de la fila */
.ep-event-card .ep-box-card-content .gosy-card-foot-block {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* Acción neutra: fantasma gris en cerrado, cancelado, terminado y "Ver
   detalles" del usuario ya apuntado */
.gosy-cs--closed .ep-card-footer .ep-btn,
.gosy-cs--cancelled .ep-card-footer .ep-btn,
.gosy-cs--ended .ep-card-footer .ep-btn,
.gosy-cs--booked .ep-card-footer .ep-btn,
.ep-event-card .ep-card-footer .gosy-card-ghost-btn {
	background: #fff !important;
	background-image: none !important;
	border: 1.5px solid var(--gosy-border-strong, #b9c7dc) !important;
	color: var(--gosy-text, #2f3f5c) !important;
}

.gosy-cs--closed .ep-card-footer .ep-btn span,
.gosy-cs--cancelled .ep-card-footer .ep-btn span,
.gosy-cs--ended .ep-card-footer .ep-btn span,
.gosy-cs--booked .ep-card-footer .ep-btn span,
.ep-event-card .ep-card-footer .gosy-card-ghost-btn span {
	color: var(--gosy-text, #2f3f5c) !important;
}

.gosy-cs--closed .ep-card-footer .ep-btn:hover,
.gosy-cs--cancelled .ep-card-footer .ep-btn:hover,
.gosy-cs--ended .ep-card-footer .ep-btn:hover,
.gosy-cs--booked .ep-card-footer .ep-btn:hover,
.ep-event-card .ep-card-footer .gosy-card-ghost-btn:hover {
	border-color: var(--gosy-brand, #fe7900) !important;
	background: var(--gosy-brand-wash, #fff8f1) !important;
}

/* Lista de espera (gosy-waiting-list): secundaria outline naranja */
.ep-event-card .ep-card-footer .gwl-cta {
	background: #fff !important;
	background-image: none !important;
	border: 1.5px solid var(--gosy-brand, #fe7900) !important;
	color: var(--gosy-brand-active, #c95f00) !important;
}

.ep-event-card .ep-card-footer .gwl-cta span {
	color: var(--gosy-brand-active, #c95f00) !important;
}

.ep-event-card .ep-card-footer .gwl-cta:hover {
	background: var(--gosy-brand-wash, #fff8f1) !important;
}

/* Estado "Evento abre el X": pastilla gris con reloj, sin cursiva */
.gosy-cs--future .ep-card-footer .ep-btn.ep-btn-light {
	background: var(--gosy-soft, #f6f8fb) !important;
	border: 1px solid var(--gosy-border, #e4ebf5) !important;
	color: var(--gosy-muted, #637799) !important;
	cursor: default;
}

.gosy-cs--future .ep-card-footer .ep-btn.ep-btn-light em {
	font-style: normal;
}

/* pie "Completo": pastilla ámbar no clicable */
.ep-event-card .ep-btn.gosy-card-full-btn,
.ep-event-card div.gosy-card-full-btn {
	background: var(--gosy-warning-soft, #fff7e6) !important;
	border: 1px solid #ffe3b3 !important;
	color: #b45309 !important;
	border-radius: 999px !important;
	cursor: default;
}

.ep-event-card .gosy-card-full-btn span {
	color: #b45309 !important;
}

/* cancelado y terminado: la mini-tarjeta compartida (gosy-event-ended-card-minimal)
   trae borde discontinuo — en el listado se normaliza al sistema: borde sólido
   y color semántico (rojo suave cancelado, gris terminado) */
.ep-event-card .gosy-esw--cancelled .gosy-event-ended-card-minimal {
	background: var(--gosy-danger-soft, #fff0f0) !important;
	border: 1px solid #ffd6d6 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

/* razón de la cancelación (_epec_cancel_reason): rojo apagado sobre el
   fondo rojo suave, en vez del gris genérico */
.ep-event-card .gosy-esw--cancelled .gosy-ended-subtitle {
	color: #b91c1c !important;
	opacity: 0.85;
}

.ep-event-card .gosy-esw--ended .gosy-event-ended-card-minimal {
	background: var(--gosy-soft, #f6f8fb) !important;
	border: 1px solid var(--gosy-border, #e4ebf5) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

/* ya apuntado: la card minimal lleva las clases nativas gosy-bk-card--green
   en el marcado (events-helpers.php) — sin recolor por wrapper */
