/* ═══════════════════════════════════════════════════
 * Mini-Cards para Servicios (Elementor)
 * Estilos compartidos para todos los shortcodes mini:
 *   - [pimem_formacion_mini]  → .pm-ncard
 *   - [pimem_noticias_mini]   → .ns-card / .ns-grid
 *   - [pimem_agenda_mini]     → .pm-acard / .pm-agenda-grid
 *   - [pimem_ayudas_destacadas] → .acard
 * ═══════════════════════════════════════════════════ */

/* ── Variables (fallbacks) ── */
:root {
	--red: #e8312b;
	--red2: #c0211c;
	--ink: #17171c;
	--gray: #5c5c66;
	--muted: #85858f;
	--line: #e7e7ec;
	--soft: #f4f4f6;
	--green: #147a50;
	--greenbg: #e9f7ef;
	--blue: #1d4ed8;
	--bluebg: #e9eefc;
	--gold: #b45309;
	--goldbg: #fef3c7;
}

/* ── Grids ── */
.pimem-servicios-grid,
.ns-grid,
.pm-agenda-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

/* ── Card base compartida ── */
.scard,
.pm-ncard,
.ns-card,
.pm-acard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	color: inherit;
	overflow: hidden;
	transition: transform .18s, box-shadow .18s;
}

.scard:hover,
.pm-ncard:hover,
.ns-card:hover,
.pm-acard:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .08);
}

/* ── Tags / Badges ── */
.scard small,
.pimem-servicios-grid .theme,
.pimem-servicios-grid .type,
.pimem-servicios-grid .state,
.ns-card__meta,
.pm-acard__type,
.pm-ncard__type {
	display: inline-flex;
	width: max-content;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--red);
	background: #fdeceb;
	border-radius: 999px;
	padding: 5px 10px;
	margin-bottom: 14px;
}

.pimem-servicios-grid .state.open,
.pm-acard__type.open {
	background: var(--greenbg);
	color: var(--green);
}

.pimem-servicios-grid .type.blue,
.pimem-servicios-grid .theme.blue {
	background: var(--bluebg);
	color: var(--blue);
}

.pimem-servicios-grid .type.gold,
.pimem-servicios-grid .theme.gold {
	background: var(--goldbg);
	color: var(--gold);
}

/* .ns-card__meta es texto sin fondo */
.ns-card__meta {
	background: transparent;
	color: var(--red);
	padding: 0;
	margin-bottom: 12px;
}

/* ── Títulos ── */
.scard h3,
.pm-ncard h4,
.ns-card h4,
.pm-acard h4 {
	font-size: 17px;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: -.3px;
	margin: 0;
}

/* ── Párrafos ── */
.scard p,
.pm-ncard p,
.ns-card p,
.pm-acard p {
	font-size: 13px;
	color: var(--gray);
	margin-top: 9px;
	flex: 1;
	line-height: 1.55;
}

/* ── Enlaces ── */
.scard .more,
.pm-ncard > a,
.ns-card > a,
.pm-acard > a {
	font-size: 13px;
	color: var(--red);
	font-weight: 900;
	margin-top: 16px;
	text-decoration: none;
}

.pm-ncard > a:hover,
.ns-card > a:hover,
.pm-acard > a:hover {
	text-decoration: underline;
}

/* ── pm-ncard (Formación) ── */
.pm-ncard {
	padding: 22px;
}

.pm-ncard h4 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pm-top-card {
	padding: 12px 18px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .8px;
	text-transform: uppercase;
	background: var(--bluebg);
	color: var(--blue);
	border-bottom: 1px solid var(--line);
}

.sc-card__top--prl {
	background: var(--greenbg);
	color: var(--green);
}

.sc-card__top--empresa {
	background: #fdeceb;
	color: var(--red);
}

.pm-ncard__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pm-meta {
	font-size: 12px;
	color: var(--muted);
	font-weight: 700;
	margin-top: 14px;
}

.pm-ncard__date {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 12px;
}

.pm-ncard__day {
	font-size: 34px;
	line-height: 1;
	font-weight: 900;
	color: var(--red);
	letter-spacing: -1px;
}

.pm-ncard__month {
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--muted);
	letter-spacing: .9px;
}

.pm-ncard__meta {
	font-size: 12px;
	color: var(--muted);
	font-weight: 700;
	margin-top: 14px;
}

/* ── ns-card (Noticias) ── */
.ns-card {
	padding: 22px;
}

.ns-card__date {
	font-size: 12px;
	color: var(--muted);
	font-weight: 700;
	margin-top: 14px;
}

/* ── pm-acard (Agenda) ── */
.pm-acard {
	padding: 22px;
}

.pm-acard h4 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pm-acard__date {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 12px;
}

.pm-acard__day {
	font-size: 34px;
	line-height: 1;
	font-weight: 900;
	color: var(--red);
	letter-spacing: -1px;
}

.pm-acard__month {
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--muted);
	letter-spacing: .9px;
}

.pm-acard__meta {
	font-size: 12px;
	color: var(--muted);
	font-weight: 700;
	margin-top: 14px;
}

/* ── acard (Ayudas) — solo dentro de grid mini ── */

/* ── acard dentro de grid mini (ayudas destacadas) ── */
.pimem-servicios-grid .acard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	border-top: 4px solid #147a50;
	transition: transform .18s, box-shadow .18s;
	min-height: 220px;
}

.pimem-servicios-grid .acard.closed {
	border-top-color: #cfcfd6;
	opacity: .72;
}

.pimem-servicios-grid .acard:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .08);
}

.pimem-servicios-grid .acard .ah {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

.pimem-servicios-grid .acard .estado {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	background: var(--greenbg);
	color: var(--green);
}

.pimem-servicios-grid .acard .estado.closed {
	background: #f0f0f2;
	color: #9a9aa4;
}

.pimem-servicios-grid .acard .estado.permanente {
	background: var(--bluebg);
	color: var(--blue);
}

.pimem-servicios-grid .acard .tipo-chip {
	font-size: 11px;
	font-weight: 600;
	color: var(--gray);
	background: var(--soft);
	padding: 3px 9px;
	border-radius: 20px;
}

.pimem-servicios-grid .acard h3 {
	font-size: 17px;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: -.3px;
	margin: 0;
}

.pimem-servicios-grid .acard .ent {
	font-size: 12.5px;
	color: var(--gray);
	margin-top: 7px;
}

.pimem-servicios-grid .acard .ameta {
	display: grid;
	gap: 6px;
	margin-top: 14px;
	flex: 1;
}

.pimem-servicios-grid .acard .ameta span {
	font-size: 10px;
	color: var(--muted);
	font-weight: 900;
	letter-spacing: .7px;
	text-transform: uppercase;
}

.pimem-servicios-grid .acard .ameta b {
	font-size: 13px;
	color: var(--ink);
	font-weight: 700;
	display: block;
}

.pimem-servicios-grid .acard .afoot {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--line);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.pimem-servicios-grid .acard .sectag {
	font-size: 12px;
	color: var(--muted);
	font-weight: 600;
}

.pimem-servicios-grid .acard .go {
	font-size: 13px;
	color: var(--red);
	font-weight: 900;
	white-space: nowrap;
}

/* ── cpt-block (contenedor de bloques) ── */
.cpt-block {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	overflow: hidden;
}

.cpt-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	padding: 24px 26px;
	border-bottom: 1px solid var(--line);
}

.cpt-head h3 {
	font-size: 23px;
	font-weight: 900;
	letter-spacing: -.6px;
	margin: 3px 0 0;
}

.cpt-head p {
	font-size: 13.5px;
	color: var(--gray);
	max-width: 620px;
	margin-top: 5px;
}

.cpt-head > a {
	font-size: 13px;
	font-weight: 900;
	color: var(--red);
	white-space: nowrap;
	text-decoration: none;
}

.module-stack {
	display: grid;
	gap: 18px;
}

/* ── Estado vacío ── */
.pimem-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 40px;
	color: var(--gray);
	border: 1px dashed var(--line);
	border-radius: 16px;
	font-size: 14px;
}

/* ═══════════════════════════════════════════════════
 * Responsive
 * ═══════════════════════════════════════════════════ */

@media (max-width: 1120px) {
	.pimem-servicios-grid,
	.ns-grid,
	.pm-agenda-grid {
		grid-template-columns: 1fr 1fr;
	}

	.cpt-head {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 720px) {
	.pimem-servicios-grid,
	.ns-grid,
	.pm-agenda-grid {
		grid-template-columns: 1fr;
	}

	.cpt-head {
		align-items: flex-start;
		flex-direction: column;
	}
}
