/*
 * Savant Sitio: solo disposición, tamaño de imágenes y funcionamiento del carrusel.
 * Colores, tipografía, bordes y botones los pone el tema.
 */

/* Rejillas */
/* Portada: contenido al ancho del tema (la plantilla de ancho completo no tiene contenedor). */
.savant-portada { box-sizing: border-box; width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
.savant-portada .savant-rejilla > * { min-width: 0; }

.savant-rejilla {
	display: grid;
	grid-template-columns: repeat(var(--savant-columnas, 3), minmax(0, 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0 2rem;
}
@media (max-width: 1024px) {
	.savant-rejilla { grid-template-columns: repeat(min(var(--savant-columnas, 3), 3), minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	.savant-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
@media (max-width: 480px) {
	.savant-rejilla { grid-template-columns: minmax(0, 1fr); }
	.savant-rejilla.savant-fabricantes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.savant-tarjeta { display: flex; flex-direction: column; min-width: 0; text-decoration: none; }
.savant-tarjeta__imagen { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.savant-tarjeta__imagen img { width: 100%; height: 100%; object-fit: cover; display: block; }
.savant-tarjeta__cuerpo { padding: .75rem 0; }
.savant-tarjeta__titulo { margin: .25rem 0 .5rem; font-size: 1.1em; line-height: 1.3; }
.savant-tarjeta__meta { display: block; font-size: .875em; opacity: .8; margin: 0; }

/* Fabricantes y logos */
.savant-fabricante { align-items: center; text-align: center; gap: .35rem; padding: 1rem .5rem; }
.savant-logo { display: flex; align-items: center; justify-content: center; height: 72px; width: 100%; }
.savant-logo img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.savant-aliados { list-style: none; margin: 1.5rem 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem 2.5rem; }
.savant-aliados li { margin: 0; }
.savant-aliados img { max-height: 56px; max-width: 160px; width: auto; height: auto; object-fit: contain; display: block; }
.savant-centros img { max-height: 80px; max-width: 200px; }
.savant-centros a { display: block; transition: transform .15s ease; }
.savant-centros a:hover, .savant-centros a:focus-visible { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) { .savant-centros a { transition: none; } .savant-centros a:hover, .savant-centros a:focus-visible { transform: none; } }

/* Grupos */
.savant-grupo { margin: 2rem 0; scroll-margin-top: 100px; }
.savant-grupo__area { scroll-margin-top: 100px; }

/* Índice de «Cursos por categoría» */
.savant-indice { margin: 1.5rem 0 2.5rem; }
.savant-indice > ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem 2rem; }
.savant-indice > ul > li > a { font-weight: 700; }
.savant-indice ul ul { list-style: none; margin: .35rem 0 0; padding: 0 0 0 .75rem; }
.savant-indice__n { opacity: .6; font-size: .9em; }
.savant-marca__cabecera { display: flex; gap: 1.5rem; align-items: center; }
.savant-marca__cabecera .savant-logo { flex: 0 0 160px; height: 64px; }
@media (max-width: 600px) { .savant-marca__cabecera { flex-direction: column; align-items: flex-start; } }

/* Cabecera de las categorías de cursos */
.savant-cabecera-categoria { display: flex; gap: 1.5rem; align-items: center; margin: 0 0 2rem; }
.savant-cabecera-categoria .savant-logo { flex: 0 0 180px; height: 80px; }
.savant-cabecera-categoria__texto { flex: 1 1 auto; }
.savant-cabecera-categoria .savant-logo--sello { flex: 0 0 110px; height: 90px; }
@media (max-width: 600px) { .savant-cabecera-categoria { flex-direction: column; align-items: flex-start; } }

/* Ficha del curso */
.savant-ficha { display: flex; gap: 1.5rem; align-items: center; margin: 0 0 2rem; }
.savant-ficha__logo { flex: 0 0 120px; }
.savant-ficha__logo img { max-width: 120px; max-height: 120px; width: auto; height: auto; object-fit: contain; display: block; }
.savant-ficha__datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem 1.5rem; margin: 0; flex: 1 1 auto; }
.savant-ficha__datos dt { font-size: .8em; text-transform: uppercase; letter-spacing: .04em; opacity: .75; margin: 0; }
.savant-ficha__datos dd { margin: 0; font-weight: 600; }
@media (max-width: 600px) { .savant-ficha { flex-direction: column; align-items: flex-start; } }

.savant-tabla th { text-align: left; width: 30%; vertical-align: top; }

/* Botones al final de cursos, servicios y productos */
.savant-cta { margin: 2.5rem 0 1rem; }
.savant-botones { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.savant-botones--centro { justify-content: center; }
.savant-botones .wp-block-button { margin: 0; }

/* Con Eduma, los botones toman el color, el texto y el hover de los botones del tema. */
.savant-eduma .savant-botones .wp-block-button__link {
	background-color: var(--thim-body-primary-color, currentColor);
	color: var(--thim-button-text-color, #fff);
	border: 2px solid var(--thim-body-primary-color, currentColor);
	border-radius: var(--thim-border-radius-button, 4px);
	text-decoration: none;
}
.savant-eduma .savant-botones .wp-block-button__link:hover,
.savant-eduma .savant-botones .wp-block-button__link:focus {
	background-color: var(--thim-button-hover-color, var(--thim-body-secondary-color, currentColor));
	border-color: var(--thim-button-hover-color, var(--thim-body-secondary-color, currentColor));
}
.savant-eduma .savant-botones .is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: inherit;
}

/* Contacto */
.savant-contacto dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem 2rem; margin: 1.5rem 0; }
.savant-contacto dt { font-weight: 600; margin: 0; }
.savant-contacto dd { margin: 0; }
.savant-formulario { max-width: 720px; }
.savant-formulario label { display: block; margin-bottom: 1rem; }
.savant-formulario input:not([type="checkbox"]):not([type="submit"]), .savant-formulario select, .savant-formulario textarea { width: 100%; box-sizing: border-box; }

.savant-cifras { list-style: none; padding: 0; margin: 2rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; text-align: center; }
.savant-cifras strong { display: block; font-size: 2.25em; line-height: 1.1; }
.savant-galeria figure { margin: 0; }
.savant-galeria img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.savant-aviso { padding: .75rem 1rem; border-left: 4px solid currentColor; opacity: .8; }

/* Carrusel */
.savant-carrusel { position: relative; overflow: hidden; margin: 0 0 2rem; }
.savant-carrusel__pista { display: flex; transition: transform .6s ease; }
.savant-carrusel__foto { flex: 0 0 100%; margin: 0; position: relative; height: var(--savant-alto, 520px); max-height: 70vh; }
.savant-carrusel__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.savant-carrusel__foto figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 5% 3rem; background: linear-gradient(transparent, rgba(0, 0, 0, .6)); color: #fff; font-size: 1.5em; line-height: 1.25; }
.savant-carrusel__foto figcaption a { color: inherit; text-decoration: none; }
.savant-carrusel__controles { position: absolute; right: 1rem; bottom: 1rem; display: flex; gap: .5rem; }
.savant-carrusel__controles button, .savant-carrusel__puntos button { cursor: pointer; border: 0; background: rgba(0, 0, 0, .45); color: #fff; }
.savant-carrusel__controles button { width: 2.5rem; height: 2.5rem; border-radius: 50%; font-size: 1.1rem; line-height: 1; padding: 0; }
.savant-carrusel__puntos { position: absolute; left: 50%; transform: translateX(-50%); bottom: 1.25rem; display: flex; gap: .5rem; }
.savant-carrusel__puntos button { width: .7rem; height: .7rem; border-radius: 50%; padding: 0; opacity: .6; }
.savant-carrusel__puntos button[aria-current="true"] { opacity: 1; background: #fff; }
.savant-carrusel button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 600px) {
	.savant-carrusel__foto { height: 56vw; }
	.savant-carrusel__foto figcaption { font-size: 1.05em; padding: 1.5rem 4% 3.5rem; }
	.savant-carrusel__puntos { left: 1rem; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .savant-carrusel__pista { transition: none; } }

/*
 * Sin ventas en línea: sin precio, botones de inscripción o compra ni contadores de
 * estudiantes, lecciones y reseñas (LearnPress y Eduma).
 */
.savant-sin-ventas .course-item-price,
.savant-sin-ventas .course-price,
.savant-sin-ventas .lp-course-price,
.savant-sin-ventas .course-meta .price,
.savant-sin-ventas .course-meta-field.course-price,
.savant-sin-ventas .lp-course-buttons,
.savant-sin-ventas .learn-press-course-buttons,
.savant-sin-ventas form.enroll-course,
.savant-sin-ventas form.purchase-course,
.savant-sin-ventas form.form-purchase-course,
.savant-sin-ventas .course-payment,
.savant-sin-ventas .thim-enroll-course-button,
.savant-sin-ventas .thim-course-landing-button,
.savant-sin-ventas .course-students,
.savant-sin-ventas .course-count-student,
.savant-sin-ventas .course-count-lesson,
.savant-sin-ventas .course-count-quiz,
.savant-sin-ventas .meta-item-student,
.savant-sin-ventas .meta-item-lesson,
.savant-sin-ventas .meta-item-quiz,
.savant-sin-ventas .meta-item-instructor,
.savant-sin-ventas .course-tab-panel-curriculum,
.savant-sin-ventas .course-tab-panel-instructor,
.savant-sin-ventas .course-comments-count,
.savant-sin-ventas .course-review,
.savant-sin-ventas .course-rate,
.savant-sin-ventas .course-meta .course-students,
.savant-sin-ventas .course-meta .course-comments-count,
.savant-sin-ventas .course-meta .course-review,
.savant-sin-ventas .course-meta .course-author,
.savant-sin-ventas .course-author,
.savant-sin-ventas .course-instructor,
.savant-sin-ventas .lp-course-curriculum,
.savant-sin-ventas .course-curriculum,
.savant-sin-ventas .course-instructor-category,
.savant-sin-ventas .thim-course-menu-landing,
.savant-sin-ventas .course-features,
.savant-sin-ventas .thim-course-content .course-students,
.savant-sin-ventas .thim-course-grid .course-price,
.savant-sin-ventas .thim-course-list .course-price,
.savant-sin-ventas .widget_lp-widget-course-info,
.savant-sin-ventas .lp-single-course__header__instructor { display: none !important; }

/* Pie de página blanco: íconos de redes sociales oscuros (el demo los trae blancos para fondo negro) */
.savant-pie-redes a, .savant-pie-redes i, .savant-pie-redes .elementor-icon { color: #333333; }
.savant-pie-redes svg { fill: #333333; }
.savant-pie-redes a:hover, .savant-pie-redes a:hover i { color: #0a66c2; }
.savant-pie-redes a:hover svg { fill: #0a66c2; }

/* Calendario: logo del fabricante junto al nombre de cada entrenamiento */
.savant-ev-logo { display: inline-block; height: 1.15em; width: auto; max-width: 6em; object-fit: contain; vertical-align: -0.2em; margin: 0 .4em 0 0; border: 0; box-shadow: none; background: none; }

/*
 * Características del curso (Eduma y LearnPress): sin «Evaluaciones» ni «Estudiantes».
 */
.thim-course-info .students-feature,
.thim-course-info .assessments-feature,
.course-features .students-feature,
.course-features .assessments-feature,
.thim-course-features .students-feature,
.thim-course-features .assessments-feature,
.lp-course-info .course-students,
.course-info .course-students,
li.students-feature,
li.assessments-feature,
.single-lp_course .course-students,
.single-lp_course .meta-item-student { display: none !important; }

/* «Compartir» sin Pinterest (los enlaces de redes del pie no se tocan). */
.thim-social-share li.pinterest,
.social-share li.pinterest,
.share-social li.pinterest,
.thim-social-share a[href*="pinterest.com/pin/create"],
.social-share a[href*="pinterest.com/pin/create"],
a.pinterest[href*="pinterest.com/pin"] { display: none !important; }
li:has(> a[href*="pinterest.com/pin/create"]) { display: none !important; }
