/* FG Partidos — réplica de las tarjetas de Elementor (Fortaleza Granate) */

/* El widget Shortcode de Elementor dentro de un contenedor en fila se achica al contenido:
   lo forzamos a ocupar todo el ancho, como los contenedores originales. */
.elementor-widget-shortcode:has(.fgp-grid),
.elementor-widget-shortcode:has(.fgp-grid) > .elementor-widget-container,
.elementor-widget-shortcode:has(.fgp-grid) .elementor-shortcode {
	flex: 1 1 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

.fgp-grid {
	--fgp-gap: 10px;
	width: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(var(--fgp-cols, 3), minmax(0, 1fr));
	gap: var(--fgp-gap);
	align-items: stretch;
	font-family: "Oxanium", sans-serif;
	color: #000;
}

/* ---------- Colores por tema (mismos degradés que Elementor, 180°) ---------- */
.fgp-tema-granate  { --c-card-a:#F2295B; --c-card-b:#600020; --c-head-a:#600020; --c-head-b:#F2295B; --c-foot-a:#600020; --c-foot-b:#F2295B; }
.fgp-tema-dorado   { --c-card-a:#B8860B; --c-card-b:#B8860B; --c-head-a:#FFD700; --c-head-b:#B8860B; --c-foot-a:#B8860B; --c-foot-b:#FFD700; }
.fgp-tema-plateado { --c-card-a:#E5E4E2; --c-card-b:#999B9B; --c-head-a:#999B9B; --c-head-b:#E5E4E2; --c-foot-a:#999B9B; --c-foot-b:#E5E4E2; }

/* ---------- Tarjeta ---------- */
.fgp-card {
	display: flex;
	flex-direction: column;
	padding: 10px;
	border-radius: 10px;
	background: linear-gradient(180deg, var(--c-card-a) 0%, var(--c-card-b) 100%);
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
	transition: transform .5s;
	min-width: 0;
}
.fgp-card:hover { transform: scale(.95); }

.fgp-card p { margin: 0; padding: 0; }

/* ---------- Encabezado ---------- */
.fgp-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 5px;
	min-height: 2.5rem;
	padding: 10px;
	border-radius: 10px 10px 0 0;
	background: linear-gradient(180deg, var(--c-head-a) 0%, var(--c-head-b) 100%);
	line-height: 1.2;
}
.fgp-etapa { font-size: 1.2rem; font-weight: 800; text-transform: uppercase; }
.fgp-fase  { font-size: 1.5rem; font-weight: 900; }

/* ---------- Cuerpo ---------- */
.fgp-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	min-height: 13.9rem;
	padding: 14px 10px;
	background: #fff;
	border: 1px solid #0201012B;
	text-align: center;
}
.fgp-fecha { line-height: 1.15; }
.fgp-dia    { font-size: 1.4rem; font-weight: 800; }
.fgp-inicio { font-size: 1rem;   font-weight: 600; }

.fgp-escudos {
	display: grid;
	grid-template-columns: 1fr minmax(0, auto) 1fr;
	align-items: center;
	justify-items: center;
	gap: 10px;
}
/* Selector reforzado + !important: Elementor y el tema fuerzan "img { max-width:100% }"
   con más especificidad y pisaban el tamaño elegido. */
.fgp-grid .fgp-escudos img.fgp-escudo,
.fgp-grid .fgp-escudos .fgp-escudo {
	display: block !important;
	width: var(--fgp-escudo, 80px) !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: var(--fgp-escudo, 80px) !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 auto !important;
}

.fgp-marcador {
	padding: 10px 20px;
	border-radius: 5px;
	background: linear-gradient(180deg, #600020 50%, #F2295B 100%);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1.2;
	white-space: nowrap;
}

.fgp-info { line-height: 1.25; }
.fgp-equipos { font-size: 1.3rem; font-weight: 700; }
.fgp-estadio { font-size: .8rem;  font-weight: 400; margin-top: 2px !important; }

/* ---------- Pie con botón ---------- */
.fgp-foot {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 20px 0;
	border: 1px solid #0201012B;
	border-top: 0;
	border-radius: 0 0 10px 10px;
	background: linear-gradient(180deg, var(--c-foot-a) 0%, var(--c-foot-b) 100%);
}
.fgp-btn,
.fgp-btn:visited {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 3px;
	background: linear-gradient(180deg, #F2295B 0%, #600020 100%);
	box-shadow: 0 0 10px 0 rgba(255, 255, 255, .5);
	color: #fff !important;
	font-family: "Oxanium", sans-serif;
	font-size: .6rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: filter .2s;
}
.fgp-btn:hover { filter: brightness(1.15); }

/* ---------- Tablet: 2 columnas si hay 3 o más ---------- */
@media (max-width: 1024px) {
	.fgp-grid { grid-template-columns: repeat(min(var(--fgp-cols, 3), 2), minmax(0, 1fr)); }
}

/* ---------- Celular ---------- */
@media (max-width: 767px) {
	.fgp-movil-columna { grid-template-columns: minmax(0, 1fr); }

	.fgp-movil-carrusel {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 10px 4px 14px;
		scrollbar-width: thin;
	}
	.fgp-movil-carrusel .fgp-card {
		flex: 0 0 86%;
		scroll-snap-align: center;
	}
	.fgp-card:hover { transform: none; }
}
