/* ================================================================
   Programa Nacional Escuelas Cardiosaludables FAC
   Estilos específicos del micrositio
================================================================ */

:root {
	--escuelas-primary: #1e5b8d;
	--escuelas-primary-dark: #15466e;
	--escuelas-accent: #d9475c;
	--escuelas-accent-dark: #b92f44;
	--escuelas-soft: #f3f8fb;
	--escuelas-border: #dbe6ed;
	--escuelas-text: #46515a;
}


/* ================================================================
   ESTRUCTURA GENERAL
================================================================ */

.escuelas-page-title {
	border-bottom: 1px solid var(--escuelas-border);
}

.escuelas-content-wrap {
	padding-top: 40px;
}


/* ================================================================
   BANNER
================================================================ */

.escuelas-banner {
	position: relative;
	width: 100%;
	margin-bottom: 38px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 45px rgba(30, 91, 141, 0.16);
}

.escuelas-banner picture {
	display: block;
}

.escuelas-banner__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
}


/* ================================================================
   PRESENTACIÓN
================================================================ */

.escuelas-intro {
	margin-bottom: 30px;
}

.escuelas-eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--escuelas-accent);
	font-family: 'Poppins', sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.escuelas-intro h2 {
	margin-bottom: 18px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.65rem);
	line-height: 1.15;
}

.escuelas-intro p {
	margin-bottom: 18px;
	color: var(--escuelas-text);
	font-size: 1.1rem;
	line-height: 1.75;
}

.escuelas-intro .escuelas-lead {
	color: #34434e;
	font-size: 1.15rem;
	font-weight: 400;
	text-align: justify;
}


/* ================================================================
   CARDI Y SUS AMIGOS
================================================================ */

.escuelas-cardi {
	margin-top: 10px;
}

.escuelas-personajes {
	display: flex;
	align-items: center;
	justify-content: center;
}

.escuelas-personajes img {
	display: block;
	width: 100%;
	max-width: 310px;
	height: auto;
}


/* ================================================================
   PARTICIPACIÓN LIBRE Y GRATUITA
================================================================ */

.escuelas-gratuito {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 30px 0;
	padding: 22px 26px;
	background: #eef6fb;
	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 10px;
}

.escuelas-gratuito__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--escuelas-primary);
	color: #fff;
	font-size: 22px;
}

.escuelas-gratuito__icon i {
	color: #fff;
	font-size: 22px;
	line-height: 1;
}

.escuelas-gratuito strong {
	display: block;
	margin-bottom: 5px;
	color: #123f6d;
	font-family: 'Poppins', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
}

.escuelas-gratuito p {
	margin: 0;
	color: #34495e;
	font-size: 0.96rem;
	line-height: 1.6;
}


/* ================================================================
   UNA PROPUESTA PARA CADA REALIDAD
================================================================ */

.escuelas-highlight {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin: 30px 0;
	padding: 24px;
	background-color: var(--escuelas-soft);
	border: 1px solid var(--escuelas-border);
	border-left: 5px solid var(--escuelas-accent);
	border-radius: 14px;
}

.escuelas-highlight__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: #fff;
	color: var(--escuelas-accent);
	font-size: 1.35rem;
	box-shadow: 0 8px 20px rgba(30, 91, 141, 0.1);
}

.escuelas-highlight h3 {
	margin: 0 0 10px;
	color: var(--escuelas-primary-dark);
	font-size: 1.3rem;
}

.escuelas-highlight p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 1rem;
	line-height: 1.75;
}


/* ================================================================
   ACCIONES PRINCIPALES
================================================================ */

.escuelas-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin: 32px 0 34px;
}

.escuelas-actions a.escuelas-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 46px;
	margin: 0 !important;
	padding: 11px 24px !important;

	border: 0 !important;
	border-radius: 8px;

	font-family: 'Poppins', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;

	text-transform: none;
	text-decoration: none !important;
	letter-spacing: 0;

	transition: all 0.2s ease;
}

.escuelas-actions a.escuelas-button--primary {
	background-color: var(--escuelas-accent) !important;
	color: #fff !important;
}

.escuelas-actions a.escuelas-button--primary:hover {
	background-color: var(--escuelas-accent-dark) !important;
	color: #fff !important;
}

.escuelas-actions a.escuelas-button--secondary {
	background-color: var(--escuelas-primary) !important;
	color: #fff !important;
}

.escuelas-actions a.escuelas-button--secondary:hover {
	background-color: var(--escuelas-primary-dark) !important;
	color: #fff !important;
}

.escuelas-actions .escuelas-button i {
	color: inherit !important;
}


/* ================================================================
   ACCESO A MATERIALES
================================================================ */

.escuelas-access {
	margin-top: 10px;
	padding: 36px;
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		var(--escuelas-primary-dark),
		var(--escuelas-primary)
	);
	color: #fff;
	box-shadow: 0 18px 45px rgba(21, 70, 110, 0.2);
}

.escuelas-access__label {
	display: inline-block;
	margin-bottom: 8px;
	color: rgba(255,255,255,0.82);
	font-family: 'Poppins', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

.escuelas-access h3 {
	margin: 0 0 10px;
	color: #fff !important;
	font-size: 1.7rem;
}

.escuelas-access p {
	margin: 0;
	color: rgba(255,255,255,0.88) !important;
	font-size: 1rem;
	line-height: 1.7;
}

.escuelas-access a.escuelas-login-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;

	padding: 13px 20px;

	border: 1px solid rgba(255,255,255,0.45);
	border-radius: 9px;

	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;

	transition: all 0.2s ease;
}

.escuelas-access a.escuelas-login-link:hover {
	border-color: #fff;
	background-color: #fff;
	color: var(--escuelas-primary-dark) !important;
}

.escuelas-access a.escuelas-login-link i {
	color: inherit !important;
}


/* ================================================================
   SUBMENÚ
================================================================ */

.escuelas-submenu {
	display: flex !important;
	align-items: stretch;
	width: 100%;
	gap: 6px;

	margin: 0 0 35px;
	padding: 7px;

	background: #f4f8fb;
	border: 1px solid #d8e4ec;
	border-radius: 10px;

	box-sizing: border-box;
}

.escuelas-submenu a.escuelas-submenu__item {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	flex: 1 1 auto;

	min-height: 46px;
	padding: 9px 12px;

	border-radius: 7px;

	background: transparent;
	color: #164f7c !important;

	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.25;

	text-decoration: none !important;
	white-space: nowrap;

	transition: all 0.2s ease;
}

.escuelas-submenu a.escuelas-submenu__item i {
	color: inherit;
	font-size: 15px;
	line-height: 1;
}

.escuelas-submenu a.escuelas-submenu__item:hover {
	background: #fff;
	color: var(--escuelas-accent) !important;
	box-shadow: 0 3px 10px rgba(22, 79, 124, 0.10);
}

.escuelas-submenu a.escuelas-submenu__item.active {
	background: #164f7c !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(22, 79, 124, 0.18);
}

.escuelas-submenu .escuelas-submenu__lock {
	margin-left: 1px;
	font-size: 10px !important;
	opacity: 0.55;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-personajes {
		margin-top: 25px;
	}

	.escuelas-personajes img {
		max-width: 300px;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-content-wrap {
		padding-top: 30px;
	}


	/* Banner */

	.escuelas-banner {
		margin-bottom: 28px;
		border-radius: 14px;
	}

	.escuelas-banner__image {
		border-radius: 14px;
	}


	/* Texto */

	.escuelas-intro .escuelas-lead {
		text-align: left;
	}


	/* Cardi */

	.escuelas-personajes {
		margin-top: 25px;
	}


	/* Participación gratuita */

	.escuelas-gratuito {
		align-items: flex-start;
		gap: 14px;
		padding: 18px;
	}

	.escuelas-gratuito__icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		font-size: 19px;
	}

	.escuelas-gratuito__icon i {
		font-size: 19px;
	}


	/* Propuesta */

	.escuelas-highlight {
		flex-direction: column;
		padding: 24px;
	}


	/* Botones */

	.escuelas-actions {
		flex-direction: column;
		align-items: stretch;
		margin: 24px 0 34px;
	}

	.escuelas-actions a.escuelas-button {
		width: 100%;
		white-space: normal;
		text-align: center;
	}


	/* Acceso */

	.escuelas-access {
		padding: 28px 24px;
	}

	.escuelas-access a.escuelas-login-link {
		width: 100%;
	}


	/* Submenú */

	.escuelas-submenu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;

		width: 100%;
		padding: 7px;
		margin-bottom: 28px;

		overflow: visible;
	}

	.escuelas-submenu a.escuelas-submenu__item {
		display: flex !important;
		justify-content: flex-start;
		flex: none;

		width: 100%;
		min-width: 0;
		min-height: 45px;

		padding: 10px 12px;

		font-size: 12.5px;
		white-space: normal;
		text-align: left;
	}

	.escuelas-submenu a.escuelas-submenu__item i {
		flex-shrink: 0;
	}

	.escuelas-submenu .escuelas-submenu__lock {
		margin-left: auto;
	}

	/* Últimas dos opciones ocupan todo el ancho */

	.escuelas-submenu__item:nth-child(5),
	.escuelas-submenu__item:nth-child(6) {
		grid-column: span 2;
	}

}


/* ================================================================
   COLABORADORES
================================================================ */


/* Introducción */

.escuelas-colaboradores-intro {
	margin-bottom: 38px;
}

.escuelas-colaboradores-intro h2 {
	margin-bottom: 18px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.55rem);
	line-height: 1.2;
}

.escuelas-colaboradores-intro p {
	margin-bottom: 15px;
	color: var(--escuelas-text);
	font-size: 1.05rem;
	line-height: 1.75;
}

.escuelas-colaboradores-lead {
	color: #34434e !important;
	font-size: 1.12rem !important;
}


/* ================================================================
   GRILLA
================================================================ */

.escuelas-colaboradores-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}


/* ================================================================
   TARJETA
================================================================ */

.escuelas-colaborador {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--escuelas-border);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(21, 70, 110, 0.08);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.escuelas-colaborador:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 38px rgba(21, 70, 110, 0.12);
}


/* ================================================================
   FOTO
================================================================ */

.escuelas-colaborador__foto {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #eef3f6;
}

.escuelas-colaborador__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	transition: transform 0.35s ease;
}

.escuelas-colaborador:hover .escuelas-colaborador__foto img {
	transform: scale(1.015);
}


/* ================================================================
   CONTENIDO TARJETA
================================================================ */

.escuelas-colaborador__body {
	padding: 24px 24px 22px;
}

.escuelas-colaborador__body h3 {
	margin: 0 0 5px;
	color: var(--escuelas-primary-dark);
	font-family: 'Poppins', sans-serif;
	font-size: 1.22rem;
	font-weight: 600;
	line-height: 1.3;
}

.escuelas-colaborador__matricula {
	margin: 0 0 8px;
	color: #74818b;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.escuelas-colaborador__especialidad {
	margin: 0 0 14px;
	color: var(--escuelas-accent);
	font-size: 0.91rem;
	font-weight: 600;
	line-height: 1.45;
}

.escuelas-colaborador__resumen {
	margin: 0 0 18px;
	color: var(--escuelas-text);
	font-size: 0.94rem;
	line-height: 1.65;
}


/* ================================================================
   PERFIL DESPLEGABLE
================================================================ */

.escuelas-colaborador__details {
	margin-top: 4px;
	border-top: 1px solid #e8eef2;
}

.escuelas-colaborador__details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;

	padding: 16px 0 0;

	color: var(--escuelas-primary);
	font-family: 'Poppins', sans-serif;
	font-size: 0.88rem;
	font-weight: 600;

	cursor: pointer;
	list-style: none;
	user-select: none;
}

.escuelas-colaborador__details summary::-webkit-details-marker {
	display: none;
}

.escuelas-colaborador__details summary::marker {
	display: none;
}

.escuelas-colaborador__details summary:hover {
	color: var(--escuelas-accent);
}

.escuelas-colaborador__details summary i {
	flex-shrink: 0;
	font-size: 13px;
	transition: transform 0.2s ease;
}

.escuelas-colaborador__details[open] summary i {
	transform: rotate(180deg);
}

.escuelas-colaborador__contenido {
	padding-top: 17px;
}

.escuelas-colaborador__contenido p {
	margin: 0 0 14px;
	color: #4a5862;
	font-size: 0.91rem;
	line-height: 1.65;
}

.escuelas-colaborador__contenido p:last-child {
	margin-bottom: 0;
}

.escuelas-colaborador__contenido strong {
	color: #34434e;
	font-weight: 600;
}


/* ================================================================
   DETALLE VISUAL CUANDO EL PERFIL ESTÁ ABIERTO
================================================================ */

.escuelas-colaborador:has(.escuelas-colaborador__details[open]) {
	border-color: #c8dce9;
	box-shadow: 0 14px 36px rgba(21, 70, 110, 0.12);
}

.escuelas-colaborador__details[open] {
	padding-bottom: 2px;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-colaboradores-grid {
		gap: 22px;
	}

	.escuelas-colaborador__body {
		padding: 21px 20px;
	}

	.escuelas-colaborador__body h3 {
		font-size: 1.12rem;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-colaboradores-intro {
		margin-bottom: 30px;
	}

	.escuelas-colaboradores-intro h2 {
		font-size: 1.8rem;
	}

	.escuelas-colaboradores-intro p,
	.escuelas-colaboradores-lead {
		font-size: 1rem !important;
		text-align: left;
	}


	/* Una tarjeta por fila */

	.escuelas-colaboradores-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}


	/* Foto un poco más vertical en celular */

	.escuelas-colaborador__foto {
		aspect-ratio: 4 / 3;
	}


	/* Contenido */

	.escuelas-colaborador__body {
		padding: 20px;
	}

	.escuelas-colaborador__body h3 {
		font-size: 1.15rem;
	}

	.escuelas-colaborador__especialidad {
		font-size: 0.9rem;
	}

	.escuelas-colaborador__resumen {
		font-size: 0.93rem;
	}

}


/* ================================================================
   PREGUNTAS FRECUENTES
================================================================ */


/* Introducción */

.escuelas-faq-intro {
	margin-bottom: 36px;
}

.escuelas-faq-intro h2 {
	margin-bottom: 16px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.55rem);
	line-height: 1.2;
}

.escuelas-faq-intro p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 1.05rem;
	line-height: 1.75;
}


/* ================================================================
   GRUPOS FAQ
================================================================ */

.escuelas-faq-group {
	margin-bottom: 34px;
	padding: 26px;
	background: #ffffff;
	border: 1px solid var(--escuelas-border);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(21, 70, 110, 0.07);
}

.escuelas-faq-group__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e8eef2;
}

.escuelas-faq-group__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #eef6fb;
	color: var(--escuelas-primary);
	font-size: 21px;
}

.escuelas-faq-group__icon--accent {
	background: #fcecef;
	color: var(--escuelas-accent);
}

.escuelas-faq-group__header span {
	display: block;
	margin-bottom: 3px;
	color: #7b8892;
	font-family: 'Poppins', sans-serif;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.escuelas-faq-group__header h3 {
	margin: 0;
	color: var(--escuelas-primary-dark);
	font-family: 'Poppins', sans-serif;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.3;
}


/* ================================================================
   LISTADO FAQ
================================================================ */

.escuelas-faq-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}


/* ================================================================
   ITEM FAQ
================================================================ */

.escuelas-faq-item {
	border: 1px solid #e1e9ef;
	border-radius: 10px;
	background: #fbfcfd;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

.escuelas-faq-item:hover {
	border-color: #cbdce7;
}

.escuelas-faq-item[open] {
	background: #ffffff;
	border-color: #c8dce9;
	box-shadow: 0 6px 18px rgba(21, 70, 110, 0.07);
}


/* ================================================================
   PREGUNTA
================================================================ */

.escuelas-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;

	padding: 16px 18px;

	color: #214b6b;
	font-family: 'Poppins', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.45;

	cursor: pointer;
	list-style: none;
	user-select: none;
}

.escuelas-faq-item summary::-webkit-details-marker {
	display: none;
}

.escuelas-faq-item summary::marker {
	display: none;
}

.escuelas-faq-item summary:hover {
	color: var(--escuelas-accent);
}

.escuelas-faq-item summary i {
	flex-shrink: 0;
	color: var(--escuelas-primary);
	font-size: 13px;
	transition: transform 0.2s ease;
}

.escuelas-faq-item[open] summary i {
	transform: rotate(180deg);
}


/* ================================================================
   RESPUESTA
================================================================ */

.escuelas-faq-answer {
	padding: 0 18px 18px;
	border-top: 1px solid #edf1f4;
}

.escuelas-faq-answer p {
	margin: 14px 0 0;
	color: #4a5862;
	font-size: 0.95rem;
	line-height: 1.7;
}

.escuelas-faq-answer p:first-child {
	margin-top: 14px;
}

.escuelas-faq-answer strong {
	color: var(--escuelas-primary-dark);
	font-weight: 600;
}


/* ================================================================
   CONTACTO
================================================================ */

.escuelas-faq-contact {
	display: flex;
	align-items: center;
	gap: 18px;

	margin-top: 38px;
	padding: 24px 26px;

	background: #eef6fb;
	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 12px;
}

.escuelas-faq-contact__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;

	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;
	font-size: 21px;
}

.escuelas-faq-contact__icon i {
	color: #fff;
	line-height: 1;
}

.escuelas-faq-contact h3 {
	margin: 0 0 5px;
	color: var(--escuelas-primary-dark);
	font-family: 'Poppins', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
}

.escuelas-faq-contact p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 0.95rem;
	line-height: 1.6;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-faq-group {
		padding: 22px;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-faq-intro {
		margin-bottom: 28px;
	}

	.escuelas-faq-intro h2 {
		font-size: 1.8rem;
	}

	.escuelas-faq-intro p {
		font-size: 1rem;
		line-height: 1.7;
	}


	/* Grupos */

	.escuelas-faq-group {
		margin-bottom: 24px;
		padding: 18px;
		border-radius: 12px;
	}

	.escuelas-faq-group__header {
		align-items: flex-start;
		gap: 13px;
		margin-bottom: 18px;
		padding-bottom: 16px;
	}

	.escuelas-faq-group__icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		font-size: 18px;
	}

	.escuelas-faq-group__header h3 {
		font-size: 1.2rem;
	}


	/* Pregunta */

	.escuelas-faq-item summary {
		gap: 12px;
		padding: 14px 15px;
		font-size: 0.91rem;
	}


	/* Respuesta */

	.escuelas-faq-answer {
		padding: 0 15px 15px;
	}

	.escuelas-faq-answer p {
		font-size: 0.92rem;
		line-height: 1.65;
	}


	/* Contacto */

	.escuelas-faq-contact {
		align-items: flex-start;
		gap: 14px;
		padding: 18px;
	}

	.escuelas-faq-contact__icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		font-size: 18px;
	}

}

/* ================================================================
   LOGIN - ESCUELAS CARDIOSALUDABLES
================================================================ */

.escuelas-login-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: 45px;
	align-items: center;
	margin: 10px 0 35px;
}


/* ================================================================
   INFORMACIÓN
================================================================ */

.escuelas-login-info h2 {
	margin-bottom: 18px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.55rem);
	line-height: 1.2;
}

.escuelas-login-info > p {
	margin-bottom: 28px;
	color: var(--escuelas-text);
	font-size: 1.05rem;
	line-height: 1.75;
}

.escuelas-login-info__item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 20px;
}

.escuelas-login-info__item:last-child {
	margin-bottom: 0;
}

.escuelas-login-info__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;

	width: 44px;
	height: 44px;

	border-radius: 50%;
	background: #eef6fb;
	color: var(--escuelas-primary);
	font-size: 18px;
}

.escuelas-login-info__item strong {
	display: block;
	margin-bottom: 3px;
	color: var(--escuelas-primary-dark);
	font-family: 'Poppins', sans-serif;
	font-size: .98rem;
	font-weight: 600;
}

.escuelas-login-info__item span {
	display: block;
	color: #68747d;
	font-size: .91rem;
	line-height: 1.55;
}


/* ================================================================
   TARJETA LOGIN
================================================================ */

.escuelas-login-card {
	padding: 32px;

	background: #fff;
	border: 1px solid var(--escuelas-border);
	border-radius: 16px;

	box-shadow: 0 16px 42px rgba(21, 70, 110, .10);
}

.escuelas-login-card__header {
	margin-bottom: 26px;
	text-align: center;
}

.escuelas-login-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 58px;
	height: 58px;
	margin: 0 auto 14px;

	border-radius: 50%;
	background: var(--escuelas-primary);
	color: #fff;
	font-size: 24px;
}

.escuelas-login-card__icon i {
	color: #fff;
}

.escuelas-login-card__header h3 {
	margin: 0 0 6px;
	color: var(--escuelas-primary-dark);
	font-family: 'Poppins', sans-serif;
	font-size: 1.35rem;
	font-weight: 600;
}

.escuelas-login-card__header p {
	margin: 0;
	color: #77828b;
	font-size: .93rem;
}


/* ================================================================
   FORMULARIO
================================================================ */

.escuelas-login-field {
	margin-bottom: 20px;
}

.escuelas-login-field label {
	display: block;
	margin-bottom: 7px;

	color: #43515c;
	font-family: 'Poppins', sans-serif;
	font-size: .85rem;
	font-weight: 600;
}

.escuelas-login-input {
	position: relative;
	display: flex;
	align-items: center;
}

.escuelas-login-input > i {
	position: absolute;
	left: 15px;
	z-index: 2;

	color: #7c8b96;
	font-size: 16px;
	pointer-events: none;
}

.escuelas-login-input input {
	width: 100%;
	height: 48px;
	padding: 10px 14px 10px 43px;

	background: #fff;
	border: 1px solid #d5e0e7;
	border-radius: 8px;

	color: #34434e;
	font-size: .95rem;

	outline: none;
	box-shadow: none;

	transition:
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-login-input input:focus {
	border-color: var(--escuelas-primary);
	box-shadow: 0 0 0 3px rgba(30, 91, 141, .11);
}


/* ================================================================
   BOTÓN
================================================================ */

.escuelas-login-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;

	width: 100%;
	min-height: 49px;
	margin-top: 5px;
	padding: 12px 20px;

	background: var(--escuelas-accent);
	border: 0;
	border-radius: 8px;

	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: .95rem;
	font-weight: 600;

	cursor: pointer;

	transition: background .2s ease;
}

.escuelas-login-submit:hover {
	background: var(--escuelas-accent-dark);
}

.escuelas-login-submit i {
	color: #fff;
}


/* ================================================================
   AYUDA
================================================================ */

.escuelas-login-help {
	margin-top: 25px;
	padding-top: 22px;
	border-top: 1px solid #e7edf1;
	text-align: center;
}

.escuelas-login-help p {
	margin: 0 0 4px;
	color: #78848d;
	font-size: .88rem;
}

.escuelas-login-help a {
	color: var(--escuelas-primary);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
}

.escuelas-login-help a:hover {
	color: var(--escuelas-accent);
}

.escuelas-login-help__separator {
	width: 45px;
	height: 1px;
	margin: 17px auto;
	background: #e1e8ed;
}


/* ================================================================
   NOTA INFERIOR
================================================================ */

.escuelas-login-note {
	display: flex;
	align-items: center;
	gap: 11px;

	margin-top: 30px;
	padding: 16px 18px;

	background: #f5f8fa;
	border: 1px solid #e0e8ed;
	border-radius: 9px;
}

.escuelas-login-note i {
	flex-shrink: 0;
	color: var(--escuelas-primary);
	font-size: 17px;
}

.escuelas-login-note p {
	margin: 0;
	color: #64717a;
	font-size: .9rem;
	line-height: 1.55;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-login-wrapper {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.escuelas-login-card {
		max-width: 600px;
		width: 100%;
		margin: 0 auto;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-login-wrapper {
		gap: 28px;
		margin-top: 0;
	}

	.escuelas-login-info h2 {
		font-size: 1.8rem;
	}

	.escuelas-login-info > p {
		font-size: 1rem;
		line-height: 1.7;
	}

	.escuelas-login-info__item {
		gap: 12px;
	}

	.escuelas-login-info__icon {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		font-size: 17px;
	}

	.escuelas-login-card {
		padding: 24px 20px;
		border-radius: 12px;
	}

	.escuelas-login-note {
		align-items: flex-start;
	}

}

/* ================================================================
   MENÚ PRIVADO - MI ESCUELA
================================================================ */

.escuelas-submenu--private {
	margin-bottom: 38px;
}


/* Certificado no disponible */

.escuelas-submenu--private
.escuelas-submenu__item--disabled {
	position: relative;

	opacity: .55;

	cursor: default;
	pointer-events: none;
}

.escuelas-submenu__soon {
	margin-left: 2px;

	color: inherit;

	font-family: 'Poppins', sans-serif;
	font-size: 8px;
	font-weight: 600;

	text-transform: uppercase;
	letter-spacing: .04em;

	opacity: .7;
}


/* Cerrar sesión */

.escuelas-submenu--private
.escuelas-submenu__item--logout {
	color: #7b5559 !important;
}

.escuelas-submenu--private
.escuelas-submenu__item--logout:hover {
	background: #fff3f4;
	color: var(--escuelas-accent) !important;
}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-submenu--private
	.escuelas-submenu__item:nth-child(5),
	.escuelas-submenu--private
	.escuelas-submenu__item:nth-child(6) {
		grid-column: span 1;
	}

	.escuelas-submenu__soon {
		margin-left: auto;
	}

}


/* ================================================================
   DASHBOARD - MI ESCUELA
================================================================ */


/* ================================================================
   BIENVENIDA
================================================================ */

.escuelas-dashboard-welcome {
	margin-bottom: 36px;
}

.escuelas-dashboard-welcome h2 {
	margin-bottom: 18px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.55rem);
	line-height: 1.2;
}

.escuelas-dashboard-welcome p {
	margin-bottom: 16px;
	color: var(--escuelas-text);
	font-size: 1.04rem;
	line-height: 1.75;
}

.escuelas-dashboard-welcome p:last-child {
	margin-bottom: 0;
}


/* ================================================================
   TARJETAS PRINCIPALES
================================================================ */

.escuelas-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 36px;
}

a.escuelas-dashboard-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;

	min-height: 260px;
	padding: 26px;

	background: #ffffff;
	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	color: inherit !important;
	text-decoration: none !important;

	box-shadow: 0 10px 30px rgba(21, 70, 110, .07);

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

a.escuelas-dashboard-card:hover {
	transform: translateY(-3px);
	border-color: #c4d9e7;
	box-shadow: 0 16px 36px rgba(21, 70, 110, .12);
}

.escuelas-dashboard-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50px;
	height: 50px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 20px;
}

.escuelas-dashboard-card__icon--accent {
	background: #fcecef;
	color: var(--escuelas-accent);
}

.escuelas-dashboard-card h3 {
	margin: 0 0 10px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.3;
}

.escuelas-dashboard-card p {
	margin: 0 0 18px;

	color: var(--escuelas-text);

	font-size: .94rem;
	line-height: 1.65;
}

.escuelas-dashboard-card__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	margin-top: auto;

	color: var(--escuelas-primary);

	font-family: 'Poppins', sans-serif;
	font-size: .88rem;
	font-weight: 600;
}

a.escuelas-dashboard-card:hover .escuelas-dashboard-card__link {
	color: var(--escuelas-accent);
}


/* ================================================================
   LABEL GENERAL
================================================================ */

.escuelas-dashboard-label {
	display: block;

	margin-bottom: 4px;

	color: #75838d;

	font-family: 'Poppins', sans-serif;
	font-size: .73rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .08em;
}


/* ================================================================
   VOTACIÓN
================================================================ */

.escuelas-dashboard-votacion {
	margin-bottom: 28px;
	padding: 28px;

	background: #f5f9fc;
	border: 1px solid #d7e5ee;
	border-radius: 15px;
}

.escuelas-dashboard-votacion__header {
	display: flex;
	align-items: center;
	gap: 15px;

	margin-bottom: 14px;
}

.escuelas-dashboard-votacion__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 46px;

	width: 46px;
	height: 46px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #ffffff;

	font-size: 18px;
}

.escuelas-dashboard-votacion__icon i {
	color: #ffffff;
}

.escuelas-dashboard-votacion h3 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
}

.escuelas-dashboard-votacion > p {
	margin: 0 0 18px;

	color: var(--escuelas-text);

	font-size: .95rem;
	line-height: 1.65;
}

.escuelas-dashboard-votacion__field {
	display: flex;
	gap: 10px;

	margin-bottom: 12px;
}

.escuelas-dashboard-votacion__field input {
	flex: 1;

	height: 46px;
	padding: 10px 14px;

	background: #ffffff;
	border: 1px solid #d2dee6;
	border-radius: 8px;

	color: #5b6872;
}

.escuelas-dashboard-votacion__field button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;

	min-width: 145px;
	padding: 10px 16px;

	background: var(--escuelas-primary);
	border: 0;
	border-radius: 8px;

	color: #ffffff;

	font-family: 'Poppins', sans-serif;
	font-size: .88rem;
	font-weight: 600;
}

.escuelas-dashboard-votacion__field button i {
	color: inherit;
}

.escuelas-dashboard-votacion__field.is-disabled {
	opacity: .58;
}

.escuelas-dashboard-votacion__field.is-disabled button {
	cursor: default;
}


/* ================================================================
   ESTADOS
================================================================ */

.escuelas-dashboard-status {
	display: inline-flex;
	align-items: center;

	padding: 5px 10px;

	background: #edf3f7;
	border-radius: 999px;

	color: #617582;

	font-family: 'Poppins', sans-serif;
	font-size: .72rem;
	font-weight: 600;

	text-transform: uppercase;
	letter-spacing: .04em;
}


/* ================================================================
   ENCUESTA DE SATISFACCIÓN
================================================================ */

.escuelas-dashboard-survey {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;

	margin-bottom: 28px;
	padding: 24px 26px;

	background: #ffffff;
	border: 1px solid var(--escuelas-border);
	border-radius: 14px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .06);
}

.escuelas-dashboard-survey__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 19px;
}

.escuelas-dashboard-survey h3 {
	margin: 0 0 5px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
}

.escuelas-dashboard-survey p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .93rem;
	line-height: 1.6;
}

a.escuelas-dashboard-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;

	padding: 11px 17px;

	background: var(--escuelas-accent);
	border-radius: 8px;

	color: #ffffff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .86rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition: background .2s ease;
}

a.escuelas-dashboard-button:hover {
	background: var(--escuelas-accent-dark);
}


/* ================================================================
   CERTIFICADO
================================================================ */

.escuelas-dashboard-certificate {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;

	padding: 24px 26px;

	background: #f8fafb;
	border: 1px dashed #cdd9e1;
	border-radius: 14px;
}

.escuelas-dashboard-certificate__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: #eef2f5;
	color: #7b8b95;

	font-size: 20px;
}

.escuelas-dashboard-certificate h3 {
	margin: 0 0 5px;

	color: #50616c;

	font-family: 'Poppins', sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
}

.escuelas-dashboard-certificate p {
	margin: 0;

	color: #76848d;

	font-size: .93rem;
	line-height: 1.6;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-dashboard-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.escuelas-dashboard-grid
	a.escuelas-dashboard-card:last-child {
		grid-column: span 2;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-dashboard-welcome {
		margin-bottom: 30px;
	}

	.escuelas-dashboard-welcome h2 {
		font-size: 1.8rem;
	}

	.escuelas-dashboard-welcome p {
		font-size: 1rem;
	}


	/* Tarjetas */

	.escuelas-dashboard-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.escuelas-dashboard-grid
	a.escuelas-dashboard-card:last-child {
		grid-column: auto;
	}

	a.escuelas-dashboard-card {
		min-height: auto;
		padding: 22px;
	}


	/* Votación */

	.escuelas-dashboard-votacion {
		padding: 21px;
	}

	.escuelas-dashboard-votacion__field {
		flex-direction: column;
	}

	.escuelas-dashboard-votacion__field button {
		width: 100%;
	}


	/* Encuesta */

	.escuelas-dashboard-survey {
		grid-template-columns: auto 1fr;
		padding: 20px;
	}

	.escuelas-dashboard-survey__action {
		grid-column: 1 / -1;
	}

	a.escuelas-dashboard-button {
		width: 100%;
	}


	/* Certificado */

	.escuelas-dashboard-certificate {
		grid-template-columns: auto 1fr;
		align-items: flex-start;
		padding: 20px;
	}

	.escuelas-dashboard-certificate
	.escuelas-dashboard-status {
		grid-column: 1 / -1;
		justify-self: flex-start;
	}

}

/* ================================================================
   MATERIALES - MI ESCUELA
================================================================ */


/* ================================================================
   INTRODUCCIÓN
================================================================ */

.escuelas-materiales-intro {
	margin-bottom: 34px;
}

.escuelas-materiales-intro h2 {
	margin-bottom: 16px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.5rem);
	line-height: 1.2;
}

.escuelas-materiales-intro p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 1.04rem;
	line-height: 1.75;
}


/* ================================================================
   LISTADO GENERAL
================================================================ */

.escuelas-materiales-list {
	display: flex;
	flex-direction: column;
	gap: 26px;
}


/* ================================================================
   GRUPO / CATEGORÍA
================================================================ */

.escuelas-materiales-group {
	padding: 25px;

	background: #ffffff;
	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow: 0 9px 26px rgba(21, 70, 110, .06);
}

.escuelas-materiales-group__header {
	display: flex;
	align-items: center;
	gap: 15px;

	margin-bottom: 20px;
	padding-bottom: 17px;

	border-bottom: 1px solid #e8eef2;
}

.escuelas-materiales-group__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 46px;

	width: 46px;
	height: 46px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 19px;
}

.escuelas-materiales-group__icon i {
	color: inherit;
}

.escuelas-materiales-group__header span {
	display: block;

	margin-bottom: 3px;

	color: #78858e;

	font-family: 'Poppins', sans-serif;
	font-size: .72rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .08em;
}

.escuelas-materiales-group__header h3 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.3;
}


/* ================================================================
   ARCHIVOS
================================================================ */

.escuelas-materiales-files {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.escuelas-material-file {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;

	padding: 16px 18px;

	background: #f9fbfc;
	border: 1px solid #e1e9ee;
	border-radius: 10px;

	transition:
		background .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-material-file:hover {
	background: #ffffff;
	border-color: #cbdce7;
	box-shadow: 0 6px 16px rgba(21, 70, 110, .06);
}


/* Icono PDF */

.escuelas-material-file__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	width: 42px;
	height: 42px;

	border-radius: 9px;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 19px;
}

.escuelas-material-file__icon i {
	color: inherit;
}


/* Contenido */

.escuelas-material-file__content h4 {
	margin: 0 0 4px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.35;
}

.escuelas-material-file__content p {
	margin: 0;

	color: #6f7b84;

	font-size: .88rem;
	line-height: 1.55;
}


/* Botón */

a.escuelas-material-file__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;

	padding: 9px 14px;

	background: #ffffff;
	border: 1px solid #cbdce7;
	border-radius: 7px;

	color: var(--escuelas-primary) !important;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease;
}

a.escuelas-material-file__button:hover {
	background: var(--escuelas-primary);
	border-color: var(--escuelas-primary);
	color: #ffffff !important;
}

a.escuelas-material-file__button i {
	color: inherit;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-materiales-group {
		padding: 22px;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-materiales-intro {
		margin-bottom: 28px;
	}

	.escuelas-materiales-intro h2 {
		font-size: 1.8rem;
	}

	.escuelas-materiales-intro p {
		font-size: 1rem;
	}


	/* Grupo */

	.escuelas-materiales-group {
		padding: 18px;
		border-radius: 12px;
	}

	.escuelas-materiales-group__header {
		gap: 12px;
		margin-bottom: 16px;
		padding-bottom: 14px;
	}

	.escuelas-materiales-group__icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		font-size: 17px;
	}

	.escuelas-materiales-group__header h3 {
		font-size: 1.18rem;
	}


	/* PDF */

	.escuelas-material-file {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 12px;

		padding: 14px;
	}

	.escuelas-material-file__icon {
		flex: 0 0 39px;
		width: 39px;
		height: 39px;
	}

	.escuelas-material-file__button {
		grid-column: 1 / -1;

		width: 100%;
		margin-top: 3px;
	}

}

/* ================================================================
   CARGAR MATERIAL / PRESENTACIÓN DE EXPERIENCIA
================================================================ */


/* ================================================================
   INTRO
================================================================ */

.escuelas-upload-intro {
	margin-bottom: 32px;
}

.escuelas-upload-intro h2 {
	margin-bottom: 16px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.5rem);
	line-height: 1.2;
}

.escuelas-upload-intro p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 1.04rem;
	line-height: 1.75;
}


/* ================================================================
   BLOQUE GOOGLE DRIVE
================================================================ */

.escuelas-upload-drive {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 20px;

	margin-bottom: 24px;
	padding: 28px;

	background: linear-gradient(
		135deg,
		#f3f8fb 0%,
		#ffffff 100%
	);

	border: 1px solid #d8e5ed;
	border-radius: 16px;

	box-shadow: 0 10px 28px rgba(21, 70, 110, .07);
}

.escuelas-upload-drive__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 56px;

	width: 56px;
	height: 56px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 23px;
}

.escuelas-upload-drive__icon i {
	color: #fff;
}

.escuelas-upload-drive__content h3 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
}

.escuelas-upload-drive__content > p {
	margin: 0 0 18px;

	color: var(--escuelas-text);

	font-size: .95rem;
	line-height: 1.65;
}

.escuelas-upload-drive__school {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	margin-bottom: 18px;
	padding: 7px 11px;

	background: #eef5f9;
	border-radius: 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .85rem;
	font-weight: 600;
}

.escuelas-upload-drive__school i {
	color: var(--escuelas-primary);
}

a.escuelas-upload-drive__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	padding: 12px 18px;

	background: var(--escuelas-primary);
	border-radius: 8px;

	color: #fff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .9rem;
	font-weight: 600;

	text-decoration: none !important;

	transition: background .2s ease;
}

a.escuelas-upload-drive__button:hover {
	background: var(--escuelas-primary-dark);
}


/* ================================================================
   GUÍA DE CARGA
================================================================ */

.escuelas-upload-guide {
	margin-bottom: 42px;
	padding: 24px 26px;

	background: #fff;
	border: 1px solid var(--escuelas-border);
	border-radius: 14px;
}

.escuelas-upload-guide__header {
	display: flex;
	align-items: center;
	gap: 14px;

	margin-bottom: 18px;
}

.escuelas-upload-guide__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 18px;
}

.escuelas-upload-guide__header h3 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.18rem;
	font-weight: 600;
}

.escuelas-upload-guide__items {
	display: grid;
	gap: 10px;
}

.escuelas-upload-guide__items > div {
	display: flex;
	align-items: flex-start;
	gap: 9px;

	color: var(--escuelas-text);

	font-size: .93rem;
	line-height: 1.55;
}

.escuelas-upload-guide__items i {
	margin-top: 2px;
	color: var(--escuelas-primary);
	flex-shrink: 0;
}

.escuelas-upload-guide__note {
	margin: 18px 0 0;
	padding-top: 16px;

	border-top: 1px solid #e8eef2;

	color: #6e7b84;
	font-size: .88rem;
	line-height: 1.6;
}


/* ================================================================
   PRESENTACIÓN DE EXPERIENCIA
================================================================ */

.escuelas-experience {
	margin-top: 10px;
}

.escuelas-experience__heading {
	margin-bottom: 28px;
}

.escuelas-experience__heading h2 {
	margin-bottom: 14px;

	color: var(--escuelas-primary-dark);

	font-size: clamp(1.9rem, 3vw, 2.4rem);
	line-height: 1.2;
}

.escuelas-experience__heading p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: 1rem;
	line-height: 1.7;
}


/* ================================================================
   FORMULARIO GENERAL
================================================================ */

.escuelas-experience-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.escuelas-experience-form fieldset {
	min-width: 0;
	margin: 0;
}


/* ================================================================
   BLOQUES NUMERADOS
================================================================ */

.escuelas-experience-form .escuelas-form-section {
	margin: 0;
	padding: 26px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .05);
}

.escuelas-form-section__title {
	display: flex;
	align-items: center;
	gap: 14px;

	margin-bottom: 22px;
	padding-bottom: 17px;

	border-bottom: 1px solid #e8eef2;
}

.escuelas-form-section__title > span {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-family: 'Poppins', sans-serif;
	font-size: .95rem;
	font-weight: 700;
}

.escuelas-form-section__title small {
	display: block;

	margin-bottom: 2px;

	color: #81909a;

	font-family: 'Poppins', sans-serif;
	font-size: .69rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .08em;
}

.escuelas-form-section__title h3 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.18rem;
	font-weight: 600;
}


/* ================================================================
   LABELS Y CAMPOS
================================================================ */

.escuelas-experience-form label {
	display: block;

	margin-bottom: 7px;

	color: #45545e;

	font-family: 'Poppins', sans-serif;
	font-size: .83rem;
	font-weight: 600;
}

.escuelas-experience-form .form-control,
.escuelas-experience-form .form-select {
	min-height: 46px;

	border: 1px solid #d4dfe6;
	border-radius: 8px;

	box-shadow: none;
}

.escuelas-experience-form textarea.form-control {
	min-height: 120px;
	padding: 12px 14px;

	resize: vertical;
}

.escuelas-experience-form .form-control:focus,
.escuelas-experience-form .form-select:focus {
	border-color: var(--escuelas-primary);

	box-shadow:
		0 0 0 3px rgba(30, 91, 141, .10);
}

.escuelas-form-field {
	margin-bottom: 22px;
}

.escuelas-form-field:last-child {
	margin-bottom: 0;
}

.escuelas-form-help {
	margin: -4px 0 18px;

	color: #74818b;

	font-size: .89rem;
	line-height: 1.55;
}


/* ================================================================
   CHECKBOX GRID
================================================================ */

.escuelas-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.escuelas-check-grid > label {
	display: flex;
	align-items: flex-start;
	gap: 10px;

	margin: 0;
	padding: 12px 13px;

	background: #f9fbfc;
	border: 1px solid #e3eaef;
	border-radius: 9px;

	cursor: pointer;

	transition:
		background .2s ease,
		border-color .2s ease;
}

.escuelas-check-grid > label:hover {
	background: #fff;
	border-color: #cbdce7;
}

.escuelas-check-grid input[type="checkbox"] {
	flex-shrink: 0;

	width: 17px;
	height: 17px;
	margin-top: 2px;

	accent-color: var(--escuelas-primary);
}

.escuelas-check-grid label span {
	color: #52616b;

	font-family: 'Lato', sans-serif;
	font-size: .9rem;
	font-weight: 400;
	line-height: 1.45;
}


/* ================================================================
   RADIO GROUP
================================================================ */

.escuelas-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.escuelas-radio-group > label {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	margin: 0;
	padding: 9px 12px;

	background: #f9fbfc;
	border: 1px solid #e1e9ee;
	border-radius: 8px;

	cursor: pointer;
}

.escuelas-radio-group input[type="radio"] {
	margin: 0;

	accent-color: var(--escuelas-primary);
}

.escuelas-radio-group span {
	color: #53616b;

	font-family: 'Lato', sans-serif;
	font-size: .9rem;
	font-weight: 400;
}


/* ================================================================
   CONFIRMACIÓN DE MATERIAL
================================================================ */

.escuelas-confirm-check {
	display: flex !important;
	align-items: flex-start;
	gap: 11px;

	margin: 0 !important;
	padding: 16px 18px;

	background: #eef6fb;
	border: 1px solid #d5e6f2;
	border-radius: 10px;

	cursor: pointer;
}

.escuelas-confirm-check input {
	flex-shrink: 0;

	width: 18px;
	height: 18px;
	margin-top: 2px;

	accent-color: var(--escuelas-primary);
}

.escuelas-confirm-check span {
	color: #43545f;

	font-family: 'Lato', sans-serif;
	font-size: .93rem;
	font-weight: 400;
	line-height: 1.55;
}


/* ================================================================
   DECLARACIONES
================================================================ */

.escuelas-declarations {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.escuelas-declarations > label {
	display: flex;
	align-items: flex-start;
	gap: 12px;

	margin: 0;
	padding: 16px;

	background: #fafbfc;
	border: 1px solid #e2e9ee;
	border-radius: 10px;

	cursor: pointer;
}

.escuelas-declarations input[type="checkbox"] {
	flex-shrink: 0;

	width: 18px;
	height: 18px;
	margin-top: 3px;

	accent-color: var(--escuelas-primary);
}

.escuelas-declarations span {
	color: #53616b;

	font-family: 'Lato', sans-serif;
	font-size: .91rem;
	font-weight: 400;
	line-height: 1.55;
}

.escuelas-declarations strong {
	display: block;

	margin-bottom: 3px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .86rem;
	font-weight: 600;
}


/* ================================================================
   ACCIONES
================================================================ */

.escuelas-form-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px;

	margin-top: 4px;
	padding-top: 6px;
}

.escuelas-form-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	min-height: 46px;
	padding: 11px 18px;

	border-radius: 8px;

	font-family: 'Poppins', sans-serif;
	font-size: .88rem;
	font-weight: 600;

	cursor: pointer;

	transition:
		background .2s ease,
		border-color .2s ease,
		color .2s ease;
}

.escuelas-form-button--secondary {
	background: #fff;
	border: 1px solid #c9d8e2;

	color: var(--escuelas-primary);
}

.escuelas-form-button--secondary:hover {
	background: #f4f8fb;
	border-color: var(--escuelas-primary);
}

.escuelas-form-button--primary {
	background: var(--escuelas-accent);
	border: 1px solid var(--escuelas-accent);

	color: #fff;
}

.escuelas-form-button--primary:hover {
	background: var(--escuelas-accent-dark);
	border-color: var(--escuelas-accent-dark);
}

.escuelas-form-button--primary i {
	color: #fff;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-check-grid {
		grid-template-columns: 1fr;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-upload-intro h2 {
		font-size: 1.8rem;
	}


	/* Drive */

	.escuelas-upload-drive {
		grid-template-columns: 1fr;

		padding: 21px;
	}

	.escuelas-upload-drive__icon {
		width: 48px;
		height: 48px;

		font-size: 20px;
	}

	a.escuelas-upload-drive__button {
		width: 100%;
	}


	/* Guía */

	.escuelas-upload-guide {
		padding: 20px;
	}


	/* Experiencia */

	.escuelas-experience__heading h2 {
		font-size: 1.75rem;
	}


	/* Secciones */

	.escuelas-experience-form .escuelas-form-section {
		padding: 19px;
		border-radius: 12px;
	}

	.escuelas-form-section__title {
		align-items: flex-start;
		gap: 11px;
	}

	.escuelas-form-section__title > span {
		flex: 0 0 38px;

		width: 38px;
		height: 38px;
	}


	/* Radios */

	.escuelas-radio-group {
		flex-direction: column;
		align-items: stretch;
	}

	.escuelas-radio-group > label {
		width: 100%;
	}


	/* Acciones */

	.escuelas-form-actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.escuelas-form-button {
		width: 100%;
	}

}

/* ================================================================
   RCP - MI ESCUELA
================================================================ */


/* ================================================================
   INTRODUCCIÓN
================================================================ */

.escuelas-rcp-intro {
	margin-bottom: 32px;
}

.escuelas-rcp-intro h2 {
	margin-bottom: 16px;
	color: var(--escuelas-primary-dark);
	font-size: clamp(2rem, 3vw, 2.5rem);
	line-height: 1.2;
}

.escuelas-rcp-intro p {
	margin: 0;
	color: var(--escuelas-text);
	font-size: 1.04rem;
	line-height: 1.75;
}


/* ================================================================
   GUÍA PRÁCTICA DE RCP
================================================================ */

.escuelas-rcp-guide {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;

	margin-bottom: 42px;
	padding: 26px 28px;

	background: linear-gradient(
		135deg,
		#f3f8fb 0%,
		#ffffff 100%
	);

	border: 1px solid #d7e4ed;
	border-left: 5px solid var(--escuelas-accent);
	border-radius: 15px;

	box-shadow: 0 10px 28px rgba(21, 70, 110, .07);
}

.escuelas-rcp-guide__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 56px;
	height: 56px;

	border-radius: 50%;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 23px;
}

.escuelas-rcp-guide__icon i {
	color: inherit;
}

.escuelas-rcp-guide__content h3 {
	margin: 0 0 6px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
}

.escuelas-rcp-guide__content p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .94rem;
	line-height: 1.6;
}

a.escuelas-rcp-guide__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	padding: 11px 17px;

	background: var(--escuelas-primary);
	border-radius: 8px;

	color: #fff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .87rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition: background .2s ease;
}

a.escuelas-rcp-guide__button:hover {
	background: var(--escuelas-primary-dark);
}


/* ================================================================
   SECCIÓN INSTRUCTORES
================================================================ */

.escuelas-instructores {
	margin-bottom: 30px;
}

.escuelas-instructores__header {
	margin-bottom: 24px;
}

.escuelas-instructores__header h2 {
	margin-bottom: 12px;

	color: var(--escuelas-primary-dark);

	font-size: clamp(1.8rem, 3vw, 2.3rem);
	line-height: 1.2;
}

.escuelas-instructores__header p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: 1rem;
	line-height: 1.7;
}


/* ================================================================
   SELECTOR DE PROVINCIA
================================================================ */

.escuelas-instructores__selector {
	max-width: 480px;
	margin-bottom: 22px;
}

.escuelas-instructores__selector label {
	display: block;

	margin-bottom: 7px;

	color: #45545e;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;
}

.escuelas-instructores__selector .form-select {
	min-height: 47px;

	border: 1px solid #d4dfe6;
	border-radius: 8px;

	color: #43515b;
	box-shadow: none;
}

.escuelas-instructores__selector .form-select:focus {
	border-color: var(--escuelas-primary);

	box-shadow:
		0 0 0 3px rgba(30, 91, 141, .10);
}


/* ================================================================
   MAPA + RESULTADOS
================================================================ */

.escuelas-instructores__layout {
	display: grid;
	grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
	gap: 24px;

	/* Evita que el mapa se estire con la columna derecha */
	align-items: start;
}

/* ================================================================
   MAPA
================================================================ */
.escuelas-instructores-map {
	position: relative;

	height: 560px;
	min-height: 560px;

	padding: 18px;

	background: #acf;

	border: 1px solid #d9e5ed;
	border-radius: 15px;

	overflow: hidden;
}


.escuelas-instructores-map__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	min-height: 470px;

	text-align: center;
}

.escuelas-instructores-map__placeholder > div {
	max-width: 250px;
}

.escuelas-instructores-map__placeholder i {
	display: block;

	margin-bottom: 14px;

	color: var(--escuelas-primary);

	font-size: 38px;
}

.escuelas-instructores-map__placeholder strong {
	display: block;

	margin-bottom: 7px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

.escuelas-instructores-map__placeholder span {
	display: block;

	color: #71808a;

	font-size: .88rem;
	line-height: 1.55;
}


/* ================================================================
   SVG DEL MAPA - PREPARADO PARA EL PRÓXIMO PASO
================================================================ */

.escuelas-instructores-map svg {
	display: block;

	width: 100%;
	height: auto;
	max-height: 530px;

	margin: 0 auto;
}

.escuelas-instructores-map svg [data-provincia] {
	fill: #dce7ed;
	stroke: #ffffff;
	stroke-width: 1.5;

	cursor: pointer;

	transition:
		fill .2s ease,
		filter .2s ease;
}

.escuelas-instructores-map svg [data-provincia]:hover {
	fill: #a9cada;
}

.escuelas-instructores-map svg [data-provincia].has-instructors {
	fill: #8ebbd1;
}

.escuelas-instructores-map svg [data-provincia].has-instructors:hover {
	fill: var(--escuelas-primary);
}

.escuelas-instructores-map svg [data-provincia].active {
	fill: var(--escuelas-accent) !important;

	filter:
		drop-shadow(0 3px 5px rgba(217, 71, 92, .25));
}


/* ================================================================
   PANEL DE RESULTADOS
================================================================ */

.escuelas-instructores-results {
	min-height: 520px;
	padding: 25px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .05);
}


/* Estado vacío */

.escuelas-instructores-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 465px;

	padding: 30px;

	text-align: center;
}

.escuelas-instructores-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 56px;
	height: 56px;
	margin-bottom: 14px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 22px;
}

.escuelas-instructores-empty h3 {
	margin: 0 0 7px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
}

.escuelas-instructores-empty p {
	max-width: 340px;
	margin: 0;

	color: #74818a;

	font-size: .91rem;
	line-height: 1.6;
}


/* ================================================================
   CABECERA RESULTADOS
================================================================ */

.escuelas-instructores-content__header {
	margin-bottom: 18px;
	padding-bottom: 16px;

	border-bottom: 1px solid #e8eef2;
}

.escuelas-instructores-content__header > span {
	display: block;

	margin-bottom: 3px;

	color: #7d8a94;

	font-family: 'Poppins', sans-serif;
	font-size: .71rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .08em;
}

.escuelas-instructores-content__header h3 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
}


/* ================================================================
   LISTA DE INSTRUCTORES
================================================================ */

.escuelas-instructores-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}


/* Instructor */

.escuelas-instructor-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;

	padding: 13px 14px;

	background: #f9fbfc;

	border: 1px solid #e2e9ee;
	border-radius: 9px;

	transition:
		background .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-instructor-card:hover {
	background: #fff;

	border-color: #cadce7;

	box-shadow:
		0 5px 15px rgba(21, 70, 110, .06);
}


/* Icono persona */

.escuelas-instructor-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 39px;
	height: 39px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 16px;
}

.escuelas-instructor-card__icon i {
	color: inherit;
}


/* Ciudad + nombre */

.escuelas-instructor-card__content span {
	display: block;

	margin-bottom: 2px;

	color: #7c8992;

	font-family: 'Poppins', sans-serif;
	font-size: .69rem;
	font-weight: 600;

	text-transform: uppercase;
	letter-spacing: .04em;
}

.escuelas-instructor-card__content h4 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .93rem;
	font-weight: 600;
	line-height: 1.35;
}


/* Teléfono */

a.escuelas-instructor-card__phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;

	padding: 8px 10px;

	border: 1px solid #ccdce6;
	border-radius: 7px;

	background: #fff;

	color: var(--escuelas-primary) !important;

	font-family: 'Poppins', sans-serif;
	font-size: .76rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease;
}

a.escuelas-instructor-card__phone:hover {
	background: var(--escuelas-primary);

	border-color: var(--escuelas-primary);

	color: #fff !important;
}


/* ================================================================
   NOTA RCP
================================================================ */

.escuelas-rcp-note {
	display: flex;
	align-items: flex-start;
	gap: 15px;

	margin-top: 28px;
	padding: 20px 22px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 11px;
}

.escuelas-rcp-note__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 17px;
}

.escuelas-rcp-note__icon i {
	color: #fff;
}

.escuelas-rcp-note h3 {
	margin: 0 0 4px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

.escuelas-rcp-note p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .91rem;
	line-height: 1.6;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-instructores__layout {
		grid-template-columns: 1fr;
	}

		.escuelas-instructores-map {
		height: auto;
		min-height: 460px;
	}





	
	.escuelas-instructores-results {
		min-height: auto;
	}




	.escuelas-instructores-map__placeholder {
		min-height: 380px;
	}

	.escuelas-instructores-empty {
		min-height: 260px;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-rcp-intro h2 {
		font-size: 1.8rem;
	}


	/* Guía */

	.escuelas-rcp-guide {
		grid-template-columns: auto minmax(0, 1fr);

		gap: 14px;

		padding: 20px;
	}

	.escuelas-rcp-guide__icon {
		width: 46px;
		height: 46px;

		font-size: 19px;
	}

	.escuelas-rcp-guide__action {
		grid-column: 1 / -1;
	}

	a.escuelas-rcp-guide__button {
		width: 100%;
	}


	/* Instructores */

	.escuelas-instructores__header h2 {
		font-size: 1.7rem;
	}

	.escuelas-instructores__selector {
		max-width: none;
	}


	/* En mobile el selector queda primero y es el método principal */

.escuelas-instructores-map {
		min-height: 380px;
	}



	.escuelas-instructores-map__placeholder {
		min-height: 300px;
	}


	/* Resultados */

	.escuelas-instructores-results {
		padding: 18px;
	}


	/* Instructor */

	.escuelas-instructor-card {
		grid-template-columns: auto minmax(0, 1fr);

		padding: 12px;
	}

	.escuelas-instructor-card__phone {
		grid-column: 1 / -1;

		width: 100%;
		margin-top: 2px;
	}


	/* Nota */

	.escuelas-rcp-note {
		padding: 18px;
	}

}

/* ================================================================
   MAPA SVG ARGENTINA
================================================================ */

.escuelas-instructores-map__svg {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	min-height: 0;
}

.escuelas-instructores-map__svg svg {
	display: block;

	width: 82%;
	max-width: 340px;

	height: auto;
	max-height: 520px;

	margin: auto;
}
/* Evitar que textos del SVG interfieran */

.escuelas-instructores-map__svg svg text {
	pointer-events: none;
}


/* Provincia interactiva */

.escuelas-instructores-map__svg
.escuelas-map-provincia {
	cursor: pointer;

	transition:
		fill .18s ease,
		opacity .18s ease,
		filter .18s ease;
}


/* Provincias sin instructores */

.escuelas-instructores-map__svg
.escuelas-map-provincia {
	fill: #dce7ed !important;

	stroke: #ffffff !important;
	stroke-width: 1.2px !important;
}


/* Provincias con instructores */

.escuelas-instructores-map__svg
.escuelas-map-provincia.has-instructors {
	fill: #8fbcd1 !important;
}


/* Hover */

.escuelas-instructores-map__svg
.escuelas-map-provincia:hover {
	fill: #6ca6c1 !important;
}


/* Provincia activa */

.escuelas-instructores-map__svg
.escuelas-map-provincia.active {
	fill: var(--escuelas-accent) !important;

	filter:
		drop-shadow(
			0 3px 4px rgba(217, 71, 92, .28)
		);
}


/* Cargando */

.escuelas-instructores-map__loading,
.escuelas-instructores-map__error {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 9px;

	min-height: 420px;

	color: #73818b;

	text-align: center;
}

.escuelas-instructores-map__loading i,
.escuelas-instructores-map__error i {
	color: var(--escuelas-primary);
	font-size: 28px;
}


/* Mobile */

@media (max-width: 767.98px) {

	.escuelas-instructores-map__svg {
		min-height: 380px;
	}

	.escuelas-instructores-map__svg svg {
		max-width: 300px;
		max-height: 390px;
	}

}


/* ================================================================
   VOTACIÓN GENERAL
================================================================ */


/* ================================================================
   HERO
================================================================ */

.escuelas-votacion-hero {
	position: relative;

	margin-bottom: 34px;
	padding: 38px 34px;

	background:
		linear-gradient(
			135deg,
			#f3f8fb 0%,
			#ffffff 60%,
			#fcecef 100%
		);

	border: 1px solid #d9e5ed;
	border-radius: 18px;

	text-align: center;

	box-shadow:
		0 14px 38px rgba(21, 70, 110, .08);
}

.escuelas-votacion-hero__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 66px;
	height: 66px;

	margin: 0 auto 16px;

	border-radius: 50%;

	background: var(--escuelas-accent);
	color: #fff;

	font-size: 27px;

	box-shadow:
		0 8px 20px rgba(217, 71, 92, .22);
}

.escuelas-votacion-hero__icon i {
	color: #fff;
}

.escuelas-votacion-hero .escuelas-eyebrow {
	margin-bottom: 9px;
}

.escuelas-votacion-hero h1 {
	margin: 0 0 15px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: clamp(2.1rem, 4vw, 3rem);
	font-weight: 600;
	line-height: 1.15;
}

.escuelas-votacion-hero > p {
	max-width: 760px;

	margin: 0 auto 9px;

	color: var(--escuelas-text);

	font-size: 1.03rem;
	line-height: 1.7;
}

.escuelas-votacion-hero__lead {
	color: var(--escuelas-primary-dark) !important;

	font-family: 'Poppins', sans-serif;
	font-size: 1.08rem !important;
	font-weight: 600;
}


/* ================================================================
   BUSCADOR
================================================================ */

.escuelas-votacion-search {
	margin-bottom: 34px;
	padding: 26px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow:
		0 8px 24px rgba(21, 70, 110, .05);
}

.escuelas-votacion-search__heading {
	margin-bottom: 20px;
}

.escuelas-votacion-search__heading h2 {
	margin: 0 0 5px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
}

.escuelas-votacion-search__heading p {
	margin: 0;

	color: #74818a;

	font-size: .92rem;
	line-height: 1.55;
}

.escuelas-votacion-search__fields {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr);
	gap: 16px;
}

.escuelas-votacion-search__field label {
	display: block;

	margin-bottom: 7px;

	color: #45545e;

	font-family: 'Poppins', sans-serif;
	font-size: .81rem;
	font-weight: 600;
}

.escuelas-votacion-search__input {
	position: relative;
}

.escuelas-votacion-search__input i {
	position: absolute;

	top: 50%;
	left: 15px;

	color: #80909a;

	font-size: 15px;

	transform: translateY(-50%);

	pointer-events: none;
}

.escuelas-votacion-search__input input,
.escuelas-votacion-search__field .form-select {
	width: 100%;
	min-height: 48px;

	border: 1px solid #d3dfe6;
	border-radius: 8px;

	background: #fff;

	color: #43515b;

	box-shadow: none;

	outline: none;
}

.escuelas-votacion-search__input input {
	padding: 10px 14px 10px 43px;
}

.escuelas-votacion-search__input input:focus,
.escuelas-votacion-search__field .form-select:focus {
	border-color: var(--escuelas-primary);

	box-shadow:
		0 0 0 3px rgba(30, 91, 141, .10);
}


/* ================================================================
   RESULTADOS
================================================================ */

.escuelas-votacion-results {
	margin-bottom: 28px;
}

.escuelas-votacion-results__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;

	margin-bottom: 20px;
}

.escuelas-votacion-results__header h2 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.55rem;
	font-weight: 600;
}

.escuelas-votacion-results__count {
	display: inline-flex;
	align-items: center;

	padding: 6px 11px;

	background: #eef5f9;
	border-radius: 999px;

	color: #617785;

	font-family: 'Poppins', sans-serif;
	font-size: .75rem;
	font-weight: 600;
}


/* ================================================================
   GRILLA DE ESCUELAS
================================================================ */

.escuelas-votacion-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}


/* ================================================================
   TARJETA DE ESCUELA
================================================================ */

.escuelas-votacion-card {
	display: flex;
	flex-direction: column;

	min-height: 310px;
	padding: 23px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow:
		0 9px 28px rgba(21, 70, 110, .06);

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-votacion-card:hover {
	transform: translateY(-3px);

	border-color: #c4d9e7;

	box-shadow:
		0 15px 34px rgba(21, 70, 110, .11);
}

.escuelas-votacion-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	margin-bottom: 20px;
}

.escuelas-votacion-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 19px;
}

.escuelas-votacion-card__icon i {
	color: inherit;
}

.escuelas-votacion-card__badge {
	display: inline-flex;
	align-items: center;

	padding: 5px 10px;

	background: #fcecef;
	border-radius: 999px;

	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: .7rem;
	font-weight: 600;
}

.escuelas-votacion-card__content {
	flex: 1;
}

.escuelas-votacion-card__content h3 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.16rem;
	font-weight: 600;
	line-height: 1.35;
}

.escuelas-votacion-card__location {
	display: flex;
	align-items: center;
	gap: 6px;

	margin: 0 0 13px !important;

	color: #78858e !important;

	font-size: .82rem !important;
	font-weight: 500;
}

.escuelas-votacion-card__location i {
	color: var(--escuelas-primary);
}

.escuelas-votacion-card__content > p:last-child {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .92rem;
	line-height: 1.6;
}


/* ================================================================
   BOTÓN VOTAR
================================================================ */

a.escuelas-votacion-card__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;

	margin-top: 21px;
	padding: 11px 14px;

	background: var(--escuelas-primary);
	border-radius: 8px;

	color: #fff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .84rem;
	font-weight: 600;

	text-decoration: none !important;

	transition:
		background .2s ease;
}

a.escuelas-votacion-card__button:hover {
	background: var(--escuelas-accent);
}

a.escuelas-votacion-card__button i {
	color: inherit;
}


/* ================================================================
   SIN RESULTADOS
================================================================ */

.escuelas-votacion-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 250px;
	margin-top: 15px;
	padding: 30px;

	background: #f8fafb;

	border: 1px dashed #ccd9e1;
	border-radius: 14px;

	text-align: center;
}

.escuelas-votacion-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50px;
	height: 50px;

	margin-bottom: 12px;

	border-radius: 50%;

	background: #eef5f9;
	color: var(--escuelas-primary);

	font-size: 20px;
}

.escuelas-votacion-empty h3 {
	margin: 0 0 6px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
}

.escuelas-votacion-empty p {
	margin: 0;

	color: #74818a;

	font-size: .9rem;
}


/* ================================================================
   INFORMACIÓN INFERIOR
================================================================ */

.escuelas-votacion-info {
	display: flex;
	align-items: flex-start;
	gap: 15px;

	margin-top: 32px;
	padding: 20px 22px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 11px;
}

.escuelas-votacion-info__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 17px;
}

.escuelas-votacion-info__icon i {
	color: #fff;
}

.escuelas-votacion-info h3 {
	margin: 0 0 4px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

.escuelas-votacion-info p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .91rem;
	line-height: 1.6;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-votacion-search__fields {
		grid-template-columns: 1fr;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	/* Hero */

	.escuelas-votacion-hero {
		padding: 28px 20px;

		border-radius: 14px;
	}

	.escuelas-votacion-hero__icon {
		width: 56px;
		height: 56px;

		font-size: 23px;
	}

	.escuelas-votacion-hero h1 {
		font-size: 2rem;
	}

	.escuelas-votacion-hero > p {
		font-size: .96rem;
	}


	/* Buscador */

	.escuelas-votacion-search {
		padding: 20px;
	}


	/* Resultados */

	.escuelas-votacion-results__header {
		align-items: flex-start;
		flex-direction: column;
	}


	/* Tarjetas */

	.escuelas-votacion-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.escuelas-votacion-card {
		min-height: auto;
		padding: 20px;
	}


	/* Información */

	.escuelas-votacion-info {
		padding: 18px;
	}

}

/* ================================================================
   VOTACIÓN INDIVIDUAL - ESCUELA
================================================================ */


/* ================================================================
   VOLVER
================================================================ */

.escuelas-voto-back {
	margin-bottom: 20px;
}

.escuelas-voto-back a {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	color: var(--escuelas-primary);

	font-family: 'Poppins', sans-serif;
	font-size: .86rem;
	font-weight: 600;

	text-decoration: none !important;
}

.escuelas-voto-back a:hover {
	color: var(--escuelas-accent);
}


/* ================================================================
   CABECERA DE LA ESCUELA
================================================================ */

.escuelas-voto-school {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 22px;

	margin-bottom: 28px;
	padding: 30px;

	background:
		linear-gradient(
			135deg,
			#f3f8fb 0%,
			#ffffff 68%,
			#fcecef 100%
		);

	border: 1px solid #d8e5ed;
	border-radius: 17px;

	box-shadow:
		0 12px 34px rgba(21, 70, 110, .07);
}

.escuelas-voto-school__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 68px;
	height: 68px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 27px;

	box-shadow:
		0 8px 20px rgba(30, 91, 141, .18);
}

.escuelas-voto-school__icon i {
	color: #fff;
}

.escuelas-voto-school .escuelas-eyebrow {
	margin-bottom: 6px;
}

.escuelas-voto-school h1 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 600;
	line-height: 1.16;
}

.escuelas-voto-school__location {
	display: flex;
	align-items: center;
	gap: 6px;

	margin: 0 0 13px;

	color: #70808a;

	font-size: .9rem;
	font-weight: 500;
}

.escuelas-voto-school__location i {
	color: var(--escuelas-accent);
}

.escuelas-voto-school__intro {
	max-width: 760px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: .98rem;
	line-height: 1.65;
}


/* ================================================================
   EXPERIENCIA
================================================================ */

.escuelas-voto-experience {
	margin-bottom: 30px;
	padding: 28px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow:
		0 8px 24px rgba(21, 70, 110, .05);
}

.escuelas-voto-experience__header {
	margin-bottom: 15px;
}

.escuelas-voto-experience__header h2 {
	margin: 0;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.45rem;
	font-weight: 600;
}

.escuelas-voto-experience > p {
	margin: 0 0 22px;

	color: var(--escuelas-text);

	font-size: .97rem;
	line-height: 1.7;
}


/* ================================================================
   VIDEO / REEL
================================================================ */

.escuelas-voto-video {
	position: relative;

	width: 100%;
	max-width: 720px;
	margin: 0 auto;

	aspect-ratio: 16 / 9;

	background: #101820;
	border-radius: 13px;

	overflow: hidden;
}

.escuelas-voto-video iframe {
	display: block;

	width: 100%;
	height: 100%;

	border: 0;
}

.escuelas-voto-video--placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;

	background:
		linear-gradient(
			135deg,
			#eef5f9,
			#f8fafb
		);

	border: 1px dashed #cbd9e2;

	color: #75848e;
}

.escuelas-voto-video--placeholder i {
	color: var(--escuelas-primary);
	font-size: 40px;
}

.escuelas-voto-video--placeholder span {
	font-family: 'Poppins', sans-serif;
	font-size: .88rem;
	font-weight: 600;
}


/* ================================================================
   PANEL DE VOTACIÓN
================================================================ */

.escuelas-voto-panel {
	margin-bottom: 24px;
	padding: 30px;

	background: #fff;

	border: 1px solid #d9e4eb;
	border-top: 5px solid var(--escuelas-accent);
	border-radius: 15px;

	box-shadow:
		0 14px 38px rgba(21, 70, 110, .09);
}

.escuelas-voto-panel__intro {
	display: flex;
	align-items: center;
	gap: 16px;

	margin-bottom: 25px;
	padding-bottom: 21px;

	border-bottom: 1px solid #e8eef2;
}

.escuelas-voto-panel__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 52px;

	width: 52px;
	height: 52px;

	border-radius: 50%;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 21px;
}

.escuelas-voto-panel__icon i {
	color: inherit;
}

.escuelas-voto-panel__intro h2 {
	margin: 0 0 4px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.45rem;
	font-weight: 600;
}

.escuelas-voto-panel__intro p {
	margin: 0;

	color: #6f7c85;

	font-size: .92rem;
	line-height: 1.55;
}


/* ================================================================
   FORMULARIO
================================================================ */

.escuelas-voto-field {
	margin-bottom: 20px;
}

.escuelas-voto-field label {
	display: block;

	margin-bottom: 7px;

	color: #45545e;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;
}

.escuelas-voto-field label span {
	color: var(--escuelas-accent);
}

.escuelas-voto-field .form-control {
	min-height: 47px;

	border: 1px solid #d3dee5;
	border-radius: 8px;

	color: #43515b;

	box-shadow: none;
}

.escuelas-voto-field .form-control:focus {
	border-color: var(--escuelas-primary);

	box-shadow:
		0 0 0 3px rgba(30, 91, 141, .10);
}

.escuelas-voto-field small {
	display: block;

	margin-top: 6px;

	color: #7d8992;

	font-size: .78rem;
	line-height: 1.45;
}


/* ================================================================
   CHECK DE CONSENTIMIENTO
================================================================ */

.escuelas-voto-check {
	display: flex;
	align-items: flex-start;
	gap: 11px;

	margin: 3px 0 23px;
	padding: 15px 17px;

	background: #f7fafc;

	border: 1px solid #dfe8ed;
	border-radius: 9px;

	cursor: pointer;
}

.escuelas-voto-check input {
	flex-shrink: 0;

	width: 18px;
	height: 18px;
	margin-top: 2px;

	accent-color: var(--escuelas-primary);
}

.escuelas-voto-check span {
	color: #596872;

	font-size: .88rem;
	line-height: 1.55;
}


/* ================================================================
   ACCIÓN DE VOTO
================================================================ */

.escuelas-voto-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;

	padding-top: 5px;
}

.escuelas-voto-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;

	min-height: 49px;
	padding: 12px 23px;

	background: var(--escuelas-accent);

	border: 0;
	border-radius: 8px;

	color: #fff;

	font-family: 'Poppins', sans-serif;
	font-size: .92rem;
	font-weight: 600;

	cursor: pointer;

	box-shadow:
		0 7px 18px rgba(217, 71, 92, .18);

	transition:
		background .2s ease,
		transform .2s ease,
		box-shadow .2s ease;
}

.escuelas-voto-submit:hover {
	background: var(--escuelas-accent-dark);

	transform: translateY(-1px);

	box-shadow:
		0 9px 22px rgba(217, 71, 92, .23);
}

.escuelas-voto-submit i {
	color: #fff;
}

.escuelas-voto-action p {
	margin: 0;

	color: #7a8790;

	font-size: .82rem;
}


/* ================================================================
   NOTA INFERIOR
================================================================ */

.escuelas-voto-note {
	display: flex;
	align-items: flex-start;
	gap: 11px;

	padding: 16px 18px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-radius: 9px;
}

.escuelas-voto-note > i {
	flex-shrink: 0;

	margin-top: 2px;

	color: var(--escuelas-primary);

	font-size: 17px;
}

.escuelas-voto-note p {
	margin: 0;

	color: #62717a;

	font-size: .86rem;
	line-height: 1.55;
}


/* ================================================================
   MENSAJE DE VOTO REGISTRADO - PARA BACKEND
================================================================ */

.escuelas-voto-success {
	padding: 28px;

	background: #f1f8f4;

	border: 1px solid #cde5d5;
	border-left: 5px solid #439763;
	border-radius: 12px;

	text-align: center;
}

.escuelas-voto-success__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 56px;
	height: 56px;

	margin: 0 auto 13px;

	border-radius: 50%;

	background: #439763;
	color: #fff;

	font-size: 22px;
}

.escuelas-voto-success__icon i {
	color: #fff;
}

.escuelas-voto-success h3 {
	margin: 0 0 6px;

	color: #276b40;

	font-family: 'Poppins', sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
}

.escuelas-voto-success p {
	margin: 0;

	color: #557063;

	font-size: .92rem;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-voto-school {
		align-items: flex-start;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	/* Escuela */

	.escuelas-voto-school {
		grid-template-columns: 1fr;

		gap: 15px;

		padding: 22px;
	}

	.escuelas-voto-school__icon {
		width: 56px;
		height: 56px;

		font-size: 22px;
	}

	.escuelas-voto-school h1 {
		font-size: 1.9rem;
	}


	/* Experiencia */

	.escuelas-voto-experience {
		padding: 20px;
	}

	.escuelas-voto-experience__header h2 {
		font-size: 1.25rem;
	}


	/* En móvil el reel puede aprovechar mejor formato vertical */

	.escuelas-voto-video {
		max-width: 420px;
	}


	/* Votación */

	.escuelas-voto-panel {
		padding: 21px;
	}

	.escuelas-voto-panel__intro {
		align-items: flex-start;
	}

	.escuelas-voto-panel__icon {
		flex: 0 0 44px;

		width: 44px;
		height: 44px;

		font-size: 18px;
	}

	.escuelas-voto-panel__intro h2 {
		font-size: 1.25rem;
	}


	/* Acción */

	.escuelas-voto-action {
		flex-direction: column;
		align-items: stretch;
	}

	.escuelas-voto-submit {
		width: 100%;
	}

	.escuelas-voto-action p {
		text-align: center;
	}

}

/* Primera etapa de votación */

.escuelas-votacion-stage {
	display: flex;
	align-items: flex-start;
	gap: 18px;

	margin: 0 0 34px;
	padding: 22px 25px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 12px;
}

.escuelas-votacion-stage__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 50px;

	width: 50px;
	height: 50px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 20px;
}

.escuelas-votacion-stage__icon i {
	color: #fff;
}

.escuelas-votacion-stage h2 {
	margin: 0 0 7px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
}

.escuelas-votacion-stage p {
	margin: 0 0 7px;

	color: var(--escuelas-text);

	font-size: .92rem;
	line-height: 1.65;
}

.escuelas-votacion-stage p:last-child {
	margin-bottom: 0;
}


/* Etiqueta dentro de las tarjetas */

.escuelas-votacion-card__type {
	display: block;

	margin-bottom: 5px;

	color: #84919a;

	font-family: 'Poppins', sans-serif;
	font-size: .68rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .06em;
}


@media (max-width: 767.98px) {

	.escuelas-votacion-stage {
		padding: 19px;
	}

	.escuelas-votacion-stage__icon {
		flex: 0 0 43px;
		width: 43px;
		height: 43px;
		font-size: 17px;
	}

}

/* Badge 72 horas */

.escuelas-votacion-stage__badge {

	display: inline-flex;
	align-items: center;
	gap: 8px;

	margin: 4px 0 14px;
	padding: 7px 14px;

	background: #fcecef;

	border: 1px solid rgba(217, 71, 92, .18);
	border-radius: 999px;

	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: .78rem;
	font-weight: 700;

	letter-spacing: .04em;
	text-transform: uppercase;
}

.escuelas-votacion-stage__badge i {

	color: var(--escuelas-accent);
	font-size: .9rem;

}

/* ================================================================
   BADGE ESTADO VOTACIÓN
================================================================ */

.escuelas-votacion-stage__badge{

	display:inline-flex;
	align-items:center;
	gap:8px;

	margin:6px 0 18px;
	padding:7px 14px;

	border:1px solid transparent;
	border-radius:999px;

	font-family:'Poppins',sans-serif;
	font-size:.78rem;
	font-weight:700;

	letter-spacing:.04em;
	text-transform:uppercase;
}

.escuelas-votacion-stage__badge i{
	font-size:.9rem;
	color:inherit;
}

.escuelas-votacion-stage__badge--success{

	background:#eef8f1;
	border-color:#b9dfc4;

	color:#2f8f4e;

}

.escuelas-votacion-stage__badge--warning{

	background:#fff8e8;
	border-color:#f1d38b;

	color:#b7791f;

}

.escuelas-votacion-stage__badge--info{

	background:#eef6fb;
	border-color:#c8dff0;

	color:var(--escuelas-primary);

}

.escuelas-votacion-stage__badge--secondary{

	background:#f4f6f8;
	border-color:#d9e1e7;

	color:#6c7b86;

}

.escuelas-votacion-stage__badge--finished{

	background:#eef8f1;
	border-color:#b9dfc4;

	color:#2f8f4e;

}


/* ================================================================
   BIENVENIDA
================================================================ */


/* ================================================================
   INTRODUCCIÓN
================================================================ */

.escuelas-welcome-intro {
	margin-bottom: 32px;
}

.escuelas-welcome-intro h1 {
	margin: 0 0 15px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 600;
	line-height: 1.18;
}

.escuelas-welcome-intro p {
	max-width: 900px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: 1rem;
	line-height: 1.7;
}


/* ================================================================
   CARTA DE BIENVENIDA
================================================================ */

.escuelas-welcome-letter {
	position: relative;

	margin-bottom: 30px;
	padding: 32px 34px;

	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#f9fbfc 100%
		);

	border: 1px solid var(--escuelas-border);
	border-left: 4px solid var(--escuelas-accent);
	border-radius: 15px;

	box-shadow:
		0 10px 28px rgba(21, 70, 110, .06);
}


/* ================================================================
   ÍCONO CARTA
================================================================ */

.escuelas-welcome-letter__mark {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	margin-bottom: 18px;

	background: #fcecef;

	border-radius: 50%;

	color: var(--escuelas-accent);

	font-size: 18px;
}

.escuelas-welcome-letter__mark i {
	color: inherit;
}


/* ================================================================
   CONTENIDO
================================================================ */

.escuelas-welcome-letter__content {
	width: 100%;
}

.escuelas-welcome-letter__content p {
	margin: 0 0 18px;

	color: #46545e;

	font-size: .97rem;
	line-height: 1.75;
}


/* Primer párrafo */

.escuelas-welcome-letter__opening {
	margin-bottom: 20px !important;

	color: var(--escuelas-primary-dark) !important;

	font-family: 'Poppins', sans-serif;
	font-size: 1rem !important;
	font-weight: 600;
}


/* ================================================================
   FRASE DESTACADA
================================================================ */

.escuelas-welcome-letter__featured {
	margin: 22px 0 !important;
	padding: 17px 19px;

	background: #eef6fb;

	border-left: 3px solid var(--escuelas-primary);
	border-radius: 8px;

	color: var(--escuelas-primary-dark) !important;

	font-family: 'Poppins', sans-serif;
	font-size: .94rem !important;
	font-weight: 600;
	line-height: 1.65 !important;
}


/* Último párrafo antes del cierre */

.escuelas-welcome-letter__content > p:last-of-type {
	margin-bottom: 0;
}


/* ================================================================
   CIERRE DE LA CARTA
   FOTO + FIRMA
================================================================ */

.escuelas-welcome-letter__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 35px;

	margin-top: 28px;
	padding-top: 24px;

	border-top: 1px solid #e2eaee;
}


/* ================================================================
   IMAGEN
================================================================ */

.escuelas-welcome-letter__image {
	flex: 0 0 330px;

	width: 330px;
	max-width: 42%;

	overflow: hidden;

	border-radius: 12px;
}

.escuelas-welcome-letter__image img {
	display: block;

	width: 100%;
	height: auto;

	border-radius: inherit;
}


/* ================================================================
   FIRMA
================================================================ */

.escuelas-welcome-letter__signature {
	flex: 1;

	margin: 0;
	padding: 0 0 3px;

	border: 0;

	text-align: right;
}

.escuelas-welcome-letter__signature span {
	display: block;

	margin-bottom: 6px;

	color: #7b8790;

	font-size: .88rem;
	font-style: italic;
}

.escuelas-welcome-letter__signature strong {
	display: block;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-welcome-letter {
		padding: 28px;
	}

	.escuelas-welcome-letter__image {
		flex-basis: 290px;

		width: 290px;
		max-width: 45%;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	/* Introducción */

	.escuelas-welcome-intro {
		margin-bottom: 25px;
	}

	.escuelas-welcome-intro h1 {
		margin-bottom: 12px;

		font-size: 1.9rem;
	}

	.escuelas-welcome-intro p {
		font-size: .94rem;
		line-height: 1.65;
	}


	/* Carta */

	.escuelas-welcome-letter {
		padding: 22px 20px;

		border-left-width: 3px;
		border-radius: 13px;
	}


	/* Ícono */

	.escuelas-welcome-letter__mark {
		width: 43px;
		height: 43px;

		margin-bottom: 16px;

		font-size: 17px;
	}


	/* Texto */

	.escuelas-welcome-letter__content p {
		margin-bottom: 16px;

		font-size: .94rem;
		line-height: 1.7;
	}

	.escuelas-welcome-letter__opening {
		font-size: .96rem !important;
	}


	/* Destacado */

	.escuelas-welcome-letter__featured {
		margin: 19px 0 !important;
		padding: 15px 16px;

		font-size: .9rem !important;
	}


	/* Cierre */

	.escuelas-welcome-letter__footer {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;

		margin-top: 23px;
		padding-top: 20px;
	}


	/* Imagen */

	.escuelas-welcome-letter__image {
		flex: none;

		width: 100%;
		max-width: 100%;
	}


	/* Firma */

	.escuelas-welcome-letter__signature {
		padding: 0;

		text-align: left;
	}

	.escuelas-welcome-letter__signature strong {
		font-size: .95rem;
	}

}


/* ================================================================
   MATERIAL COMPLEMENTARIO RECOMENDADO
================================================================ */

.escuelas-materiales-extra {
	margin-top: 42px;
}


/* ================================================================
   CABECERA
================================================================ */

.escuelas-materiales-extra__header {
	margin-bottom: 24px;
}

.escuelas-materiales-extra__header h2 {
	margin: 0 0 10px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.3;
}

.escuelas-materiales-extra__header p {
	max-width: 820px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: .96rem;
	line-height: 1.65;
}


/* ================================================================
   TARJETAS DE LIBROS
================================================================ */

.escuelas-material-extra-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;

	height: 100%;
	padding: 20px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 13px;

	box-shadow:
		0 8px 22px rgba(21, 70, 110, .05);

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-material-extra-card:hover {
	transform: translateY(-2px);

	border-color: #c7dbe7;

	box-shadow:
		0 12px 28px rgba(21, 70, 110, .08);
}


/* Icono */

.escuelas-material-extra-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 46px;

	width: 46px;
	height: 46px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 18px;
}

.escuelas-material-extra-card__icon i {
	color: inherit;
}


/* Contenido */

.escuelas-material-extra-card__content {
	flex: 1;
	min-width: 0;
}

.escuelas-material-extra-card__content > span {
	display: block;

	margin-bottom: 4px;

	color: #7c8992;

	font-family: 'Poppins', sans-serif;
	font-size: .68rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .06em;
}

.escuelas-material-extra-card__content h3 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.04rem;
	font-weight: 600;
	line-height: 1.35;
}

.escuelas-material-extra-card__content p {
	margin: 0 0 14px;

	color: var(--escuelas-text);

	font-size: .88rem;
	line-height: 1.55;
}


/* Link */

a.escuelas-material-extra-card__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	color: var(--escuelas-primary) !important;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;

	text-decoration: none !important;

	transition: color .2s ease;
}

a.escuelas-material-extra-card__link:hover {
	color: var(--escuelas-accent) !important;
}


/* ================================================================
   SPOTIFY
================================================================ */

.escuelas-material-spotify {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;

	margin-top: 22px;
	padding: 20px 22px;

	background:
		linear-gradient(
			135deg,
			#f4f8fb 0%,
			#ffffff 100%
		);

	border: 1px solid var(--escuelas-border);
	border-radius: 13px;
}


/* Icono */

.escuelas-material-spotify__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 48px;

	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 19px;
}

.escuelas-material-spotify__icon i {
	color: inherit;
}


/* Contenido */

.escuelas-material-spotify__content > span {
	display: block;

	margin-bottom: 3px;

	color: #7c8992;

	font-family: 'Poppins', sans-serif;
	font-size: .68rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .06em;
}

.escuelas-material-spotify__content h3 {
	margin: 0 0 5px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
}

.escuelas-material-spotify__content p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .88rem;
	line-height: 1.55;
}


/* Botón */

a.escuelas-material-spotify__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	padding: 10px 15px;

	background: var(--escuelas-primary);
	border-radius: 8px;

	color: #fff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition: background .2s ease;
}

a.escuelas-material-spotify__button:hover {
	background: var(--escuelas-accent);
}

a.escuelas-material-spotify__button i {
	color: inherit;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-material-spotify {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.escuelas-material-spotify__action {
		grid-column: 1 / -1;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-materiales-extra {
		margin-top: 32px;
	}

	.escuelas-material-extra-card {
		padding: 18px;
	}

	.escuelas-material-extra-card__icon {
		flex: 0 0 42px;

		width: 42px;
		height: 42px;

		font-size: 17px;
	}


	/* Spotify */

	.escuelas-material-spotify {
		grid-template-columns: 1fr;

		padding: 18px;
	}

	.escuelas-material-spotify__icon {
		width: 44px;
		height: 44px;

		font-size: 18px;
	}

	.escuelas-material-spotify__action {
		grid-column: auto;
	}

	a.escuelas-material-spotify__button {
		width: 100%;
	}

}

/* ================================================================
   SPONSOR / APOYO AL PROGRAMA
================================================================ */

.escuelas-sponsor {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;

	margin-top: 40px;
	padding: 25px 28px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-left: 5px solid var(--escuelas-accent);
	border-radius: 14px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .05);
}


/* Ícono */

.escuelas-sponsor__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 52px;

	width: 52px;
	height: 52px;

	background: #fcecef;
	border-radius: 50%;

	color: var(--escuelas-accent);

	font-size: 19px;
}

.escuelas-sponsor__icon i {
	color: inherit;
}


/* ================================================================
   CONTENIDO
================================================================ */

.escuelas-sponsor__eyebrow {
	display: block;

	margin-bottom: 3px;

	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: .68rem;
	font-weight: 700;

	letter-spacing: .07em;
	text-transform: uppercase;
}

.escuelas-sponsor__content h2 {
	margin: 0 0 6px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.28rem;
	font-weight: 600;
	line-height: 1.35;
}

.escuelas-sponsor__content p {
	max-width: 700px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: .94rem;
	line-height: 1.65;

}


/* ================================================================
   BOTÓN
================================================================ */

a.escuelas-sponsor__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	padding: 11px 17px;

	background: var(--escuelas-accent);
	border-radius: 8px;

	color: #fff !important;

	font-family: 'Poppins', sans-serif;
	font-size: .84rem;
	font-weight: 600;

	text-decoration: none !important;
	white-space: nowrap;

	transition:
		background .2s ease,
		transform .2s ease,
		box-shadow .2s ease;
}

a.escuelas-sponsor__button i {
	color: inherit;
}

a.escuelas-sponsor__button:hover {
	background: var(--escuelas-accent-dark);

	transform: translateY(-1px);

	box-shadow: 0 6px 16px rgba(21, 70, 110, .12);
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991.98px) {

	.escuelas-sponsor {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.escuelas-sponsor__action {
		grid-column: 2;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-sponsor {
		grid-template-columns: 1fr;
		gap: 15px;

		margin-top: 30px;
		padding: 21px 20px;
	}

	.escuelas-sponsor__icon {
		width: 46px;
		height: 46px;

		font-size: 17px;
	}

	.escuelas-sponsor__action {
		grid-column: auto;
	}

	a.escuelas-sponsor__button {
		width: 100%;
	}

}

/* ================================================================
   APERTURA DE INSCRIPCIÓN
================================================================ */

.escuelas-opening {
	max-width: 760px;

	margin: 30px auto 0;
	padding: 42px 36px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-top: 5px solid var(--escuelas-accent);
	border-radius: 16px;

	text-align: center;

	box-shadow: 0 14px 36px rgba(21, 70, 110, .08);
}

.escuelas-opening__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 64px;
	height: 64px;

	margin: 0 auto 16px;

	background: #fcecef;
	border-radius: 50%;

	color: var(--escuelas-accent);

	font-size: 25px;
}

.escuelas-opening__icon i {
	color: inherit;
}

.escuelas-opening h1 {
	margin: 0 0 14px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: clamp(2rem, 4vw, 2.7rem);
	font-weight: 600;
}

.escuelas-opening__lead {
	max-width: 620px;

	margin: 0 auto 24px;

	color: var(--escuelas-text);

	font-size: 1.02rem;
	line-height: 1.7;
}

.escuelas-opening__date {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 22px;
	padding: 12px 18px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-radius: 10px;

	text-align: left;
}

.escuelas-opening__date > i {
	color: var(--escuelas-primary);

	font-size: 20px;
}

.escuelas-opening__date span {
	display: block;

	color: #7a8790;

	font-size: .7rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .06em;
}

.escuelas-opening__date strong {
	display: block;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .95rem;
	font-weight: 600;
}

.escuelas-opening__note {
	margin: 0;

	color: #72808a;

	font-size: .88rem;
	line-height: 1.55;
}


@media (max-width: 767.98px) {

	.escuelas-opening {
		padding: 30px 22px;
	}

	.escuelas-opening__icon {
		width: 56px;
		height: 56px;

		font-size: 22px;
	}

}

/* ================================================================
   HOME - CÓMO FUNCIONA
================================================================ */

.escuelas-steps {
	margin: 40px 0 32px;
}

.escuelas-steps__header {
	margin-bottom: 24px;
}

.escuelas-steps__header h2 {
	margin: 0 0 9px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.65rem;
	font-weight: 600;
	line-height: 1.3;
}

.escuelas-steps__header p {
	max-width: 760px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: .96rem;
	line-height: 1.65;
}


/* ================================================================
   GRILLA DE PASOS
================================================================ */

.escuelas-steps__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.escuelas-step {
	position: relative;

	display: flex;
	flex-direction: column;

	min-height: 260px;
	padding: 20px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 14px;

	box-shadow: 0 8px 22px rgba(21, 70, 110, .05);

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.escuelas-step:hover {
	transform: translateY(-2px);

	border-color: #c5d9e6;

	box-shadow: 0 12px 28px rgba(21, 70, 110, .08);
}


/* ================================================================
   CABECERA DE CADA PASO
================================================================ */

.escuelas-step__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	margin-bottom: 18px;
}

.escuelas-step__number {
	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}

.escuelas-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: #eef6fb;
	color: var(--escuelas-primary);

	font-size: 17px;
}

.escuelas-step__icon i {
	color: inherit;
}


/* ================================================================
   CONTENIDO DE PASOS
================================================================ */

.escuelas-step h3 {
	margin: 0 0 10px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.escuelas-step p {
	margin: 0 0 15px;

	color: var(--escuelas-text);

	font-size: .86rem;
	line-height: 1.58;
}

.escuelas-step__date {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	margin-top: auto;
	padding-top: 12px;

	border-top: 1px solid #e5ecef;

	color: var(--escuelas-primary);

	font-family: 'Poppins', sans-serif;
	font-size: .73rem;
	font-weight: 600;
	line-height: 1.4;
}

.escuelas-step__date i {
	color: inherit;
}


/* ================================================================
   SEMANA CARDIOSALUDABLE
================================================================ */

.escuelas-semana {
	display: flex;
	align-items: flex-start;
	gap: 18px;

	margin: 30px 0;
	padding: 24px 26px;

	background: #eef6fb;

	border: 1px solid #d5e6f2;
	border-left: 5px solid var(--escuelas-primary);
	border-radius: 12px;
}

.escuelas-semana__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 50px;

	width: 50px;
	height: 50px;

	border-radius: 50%;

	background: var(--escuelas-primary);
	color: #fff;

	font-size: 20px;
}

.escuelas-semana__icon i {
	color: #fff;
}

.escuelas-semana__label {
	display: inline-block;

	margin-bottom: 5px;

	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: .7rem;
	font-weight: 700;

	letter-spacing: .05em;
	text-transform: uppercase;
}

.escuelas-semana h3 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
}

.escuelas-semana p {
	margin: 0;

	color: var(--escuelas-text);

	font-size: .93rem;
	line-height: 1.65;
}


/* ================================================================
   CONCURSO NACIONAL
================================================================ */

.escuelas-concurso-home {
	display: flex;
	align-items: flex-start;
	gap: 20px;

	margin: 30px 0;
	padding: 26px 28px;

	background:
		linear-gradient(
			135deg,
			#fff 0%,
			#fff8f9 100%
		);

	border: 1px solid #f0d9de;
	border-left: 5px solid var(--escuelas-accent);
	border-radius: 14px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .05);
}

.escuelas-concurso-home__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 54px;

	width: 54px;
	height: 54px;

	border-radius: 50%;

	background: #fcecef;
	color: var(--escuelas-accent);

	font-size: 21px;
}

.escuelas-concurso-home__icon i {
	color: inherit;
}

.escuelas-concurso-home__content {
	flex: 1;
}

.escuelas-concurso-home__label {
	display: inline-block;

	margin-bottom: 5px;

	color: var(--escuelas-accent);

	font-family: 'Poppins', sans-serif;
	font-size: .69rem;
	font-weight: 700;

	letter-spacing: .06em;
	text-transform: uppercase;
}

.escuelas-concurso-home h2 {
	margin: 0 0 10px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.28rem;
	font-weight: 600;
	line-height: 1.4;
}

.escuelas-concurso-home__content > p {
	margin: 0 0 15px;

	color: var(--escuelas-text);

	font-size: .92rem;
	line-height: 1.65;
}


/* Premio */

.escuelas-concurso-home__premio {
	display: flex;
	align-items: flex-start;
	gap: 10px;

	margin-top: 10px;
	padding: 14px 16px;

	background: #fff;

	border: 1px solid #efd9df;
	border-radius: 9px;
}

.escuelas-concurso-home__premio > i {
	flex-shrink: 0;

	margin-top: 2px;

	color: var(--escuelas-accent);

	font-size: 17px;
}

.escuelas-concurso-home__premio p {
	margin: 0;

	color: #52616b;

	font-size: .88rem;
	line-height: 1.55;
}


/* ================================================================
   CARDI Y SUS AMIGOS - HOME
================================================================ */

.escuelas-cardi--home {
	margin: 38px 0 28px;
	padding: 28px;

	background: #fff;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;

	box-shadow: 0 8px 24px rgba(21, 70, 110, .05);
}

.escuelas-cardi--home h2 {
	margin: 0 0 14px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.35;
}

.escuelas-cardi--home .escuelas-lead {
	font-size: .96rem;
	line-height: 1.7;
}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 1199.98px) {

	.escuelas-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.escuelas-step {
		min-height: 230px;
	}

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	/* Steps */

	.escuelas-steps {
		margin: 32px 0 26px;
	}

	.escuelas-steps__header h2 {
		font-size: 1.4rem;
	}

	.escuelas-steps__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.escuelas-step {
		min-height: auto;
		padding: 19px;
	}

	.escuelas-step__top {
		margin-bottom: 14px;
	}

	.escuelas-step__number {
		font-size: 1.35rem;
	}

.escuelas-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: #e7f2f9;
	color: var(--escuelas-primary);

	font-size: 17px;
}

.escuelas-step__icon i {
	color: var(--escuelas-primary);
}

	/* Semana */

	.escuelas-semana {
		flex-direction: column;
		gap: 14px;

		padding: 20px;
	}

	.escuelas-semana__icon {
		flex: none;

		width: 44px;
		height: 44px;

		font-size: 18px;
	}


	/* Concurso */

	.escuelas-concurso-home {
		flex-direction: column;
		gap: 14px;

		padding: 21px 20px;
	}

	.escuelas-concurso-home__icon {
		flex: none;

		width: 46px;
		height: 46px;

		font-size: 18px;
	}

	.escuelas-concurso-home h2 {
		font-size: 1.15rem;
	}


	/* Cardi */

	.escuelas-cardi--home {
		margin-top: 30px;
		padding: 21px 20px;
	}

	.escuelas-cardi--home h2 {
		font-size: 1.3rem;
	}

}

/* ================================================================
   TU PRÓXIMO PASO
================================================================ */

.escuelas-next-step {
	margin: 34px 0 0;
	padding: 28px;

	background: #f5f9fc;

	border: 1px solid var(--escuelas-border);
	border-radius: 15px;
}

.escuelas-next-step__content {
	margin-bottom: 22px;
}

.escuelas-next-step__content h2 {
	margin: 0 0 8px;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: 1.45rem;
	font-weight: 600;
}

.escuelas-next-step__content p {
	max-width: 780px;
	margin: 0;

	color: var(--escuelas-text);

	font-size: .93rem;
	line-height: 1.65;
}


/* Opciones */

.escuelas-next-step__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

a.escuelas-next-step__option {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;

	padding: 16px 17px;

	background: #fff;

	border: 1px solid #d8e4eb;
	border-radius: 10px;

	color: inherit !important;
	text-decoration: none !important;

	transition:
		border-color .2s ease,
		transform .2s ease,
		box-shadow .2s ease;
}

a.escuelas-next-step__option:hover {
	transform: translateY(-2px);

	border-color: #bdd5e4;

	box-shadow: 0 8px 20px rgba(21, 70, 110, .07);
}

.escuelas-next-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	background: #eef6fb;
	border-radius: 50%;

	color: var(--escuelas-primary);
}

.escuelas-next-step__option span {
	display: block;

	margin-bottom: 2px;

	color: #7b8992;

	font-family: 'Poppins', sans-serif;
	font-size: .67rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .05em;
}

.escuelas-next-step__option strong {
	display: block;

	color: var(--escuelas-primary-dark);

	font-family: 'Poppins', sans-serif;
	font-size: .92rem;
	font-weight: 600;
}

.escuelas-next-step__option > i {
	color: var(--escuelas-primary);
}


/* Guía PDF */

a.escuelas-next-step__guide {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	margin-top: 17px;

	color: var(--escuelas-primary) !important;

	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	font-weight: 600;

	text-decoration: none !important;
}


/* Responsive */

@media (max-width: 767.98px) {

	.escuelas-next-step {
		padding: 21px 20px;
	}

	.escuelas-next-step__actions {
		grid-template-columns: 1fr;
	}

}

/* ================================================================
   PARTICIPACIÓN GRATUITA - VERSIÓN COMPACTA
================================================================ */

/* ================================================================
   PARTICIPACIÓN LIBRE Y GRATUITA - COMPACTO
================================================================ */

.escuelas-gratuito--compact {
	display: flex;
	align-items: center;
	gap: 10px;

	margin: 10px 0 0;
	padding: 12px 16px;

	background: transparent;

	border: 0;
	border-radius: 0;

	box-shadow: none;
}


/* Ícono */

.escuelas-gratuito--compact > i {
	flex-shrink: 0;

	color: var(--escuelas-primary);

	font-size: 15px;
	line-height: 1;
}


/* Texto */

.escuelas-gratuito--compact p {
	margin: 0;

	color: #687780;

	font-size: .82rem;
	line-height: 1.55;
}


/* Destacado dentro del texto */

.escuelas-gratuito--compact strong {
	display: inline;

	color: var(--escuelas-primary-dark);

	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767.98px) {

	.escuelas-gratuito--compact {
		align-items: flex-start;
		gap: 9px;

		margin-top: 8px;
		padding: 11px 5px;
	}

	.escuelas-gratuito--compact > i {
		margin-top: 3px;
	}

	.escuelas-gratuito--compact p {
		font-size: .8rem;
		line-height: 1.55;
	}

}