/**
 * Ajustes móvil globales — overflow, carruseles, grids y medios.
 */

html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

.visaco-fluid,
.builder-page-wrapper,
main,
.es-pead-page,
.es-matricula-page,
.es-shop-container,
.es-curso-layout {
	max-width: 100%;
	overflow-x: clip;
}

/* Contenedor más compacto en móvil */
@media (max-width: 575px) {
	.es-container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* Carruseles — evitar desbordamiento horizontal */
.es-hero-swiper,
.es-servicios-swiper,
.es-socios-carousel-wrap,
.es-socios-swiper,
.es-testimonios-swiper {
	overflow: hidden;
	max-width: 100%;
}

.es-socios-carousel-wrap {
	overflow: hidden;
}

/* Imágenes responsivas en secciones del tema */
.es-testimonios-section img,
.es-about-section img,
.es-servicios-section img,
.es-socios-section img,
.es-respaldan-section img,
.es-meritos-section img,
.es-pead-page img,
.es-matricula-page img:not(.es-matricula-hero img) {
	max-width: 100%;
	height: auto;
}

.es-footer img:not(.es-footer-logo) {
	max-width: 100%;
	height: auto;
}

.es-footer-logo {
	max-width: min(220px, 70vw);
	height: auto;
}

/* Grids / flex — hijos encogibles */
[class*="grid"] > *,
[class*="row"] > *,
.es-about-grid > *,
.es-pead-list,
.es-shop-card-inner {
	min-width: 0;
}

/* About — ocultar imágenes en móvil */
@media (max-width: 767px) {
	.es-about-visual {
		display: none;
	}

	.es-about-grid {
		grid-template-columns: 1fr;
	}

	.es-about-content {
		max-width: 100%;
	}
}

/* Grupo El Saber — ocultar imágenes en móvil */
@media (max-width: 767px) {
	.es-gs-media,
	.es-gs-isotipo {
		display: none !important;
	}

	.es-gs-header {
		padding-top: 0;
	}

	.es-gs-stage {
		padding-top: 40px;
		padding-bottom: 40px;
		min-height: auto;
	}

	.es-grupo-saber .es-gs-container {
		position: relative;
		z-index: 1;
	}
}

/* Noticias — tarjeta destacada en móvil */
@media (max-width: 991px) {
	.es-noticias-featured {
		min-height: auto;
	}

	.es-noticias-featured-card {
		margin-top: -32px;
		margin-left: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.es-noticias-featured-media img {
		min-height: 220px;
	}
}

/* Grupo Saber — imagen e isotipo en tablet (solo tablet, no móvil estrecho) */
@media (min-width: 768px) and (max-width: 991px) {
	.es-gs-isotipo {
		width: min(140px, 38vw);
		top: 16px;
		left: 16px;
		opacity: 0.85;
	}

	.es-gs-isotipo img {
		opacity: 0.22;
	}

	.es-gs-media {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.es-gs-header {
		padding-top: 48px;
	}
}

@media (max-width: 575px) {
	.es-gs-stage {
		padding-top: 48px;
		padding-bottom: 48px;
	}
}

/* Testimonios — evitar desbordes */
@media (max-width: 767px) {
	.es-testimonios-section .es-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.es-testimonios-header {
		padding-left: 4px;
		padding-right: 4px;
	}

	.es-testimonios-title span {
		word-break: break-word;
	}
}

/* Menú móvil — botones dentro del viewport */
@media (max-width: 1023px) {
	.theme-saber-header .es-menu-panel-extras,
	.theme-saber-header .es-menu-panel-extras .es-mobile-topbar-pills {
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* Hero — altura más razonable en móvil */
@media (max-width: 575px) {
	.es-hero-slide {
		min-height: clamp(340px, 58vh, 480px);
		padding: 36px 16px 48px;
	}

	.es-hero-section .es-container {
		padding-left: 8px;
		padding-right: 8px;
	}

	.es-hero-swiper {
		border-radius: 20px;
	}
}

/* Socios — tarjetas más compactas */
@media (max-width: 575px) {
	.es-socio-card {
		min-height: auto;
		padding: 24px 20px 22px;
	}

	.es-socios-section {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}

/* Servicios / secciones home — padding móvil */
@media (max-width: 575px) {
	.es-servicios-section,
	.es-about-section,
	.es-noticias-section,
	.es-testimonios-section,
	.es-respaldan-section,
	.es-meritos-section {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}

/* WooCommerce — tienda y producto */
@media (max-width: 479px) {
	.es-shop-container ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}

	.es-shop-card-body .woocommerce-loop-product__title {
		font-size: 14px;
	}
}

@media (max-width: 575px) {
	.es-single-product .woocommerce-tabs ul.tabs {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 12px 20px;
	}

	.es-single-product .woocommerce-tabs ul.tabs li a {
		font-size: 14px;
	}

	.es-product-summary form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	.es-product-summary .single_add_to_cart_button {
		min-width: 0;
		width: 100%;
		flex: 1 1 auto;
	}

	.es-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
}

/* Matrícula — 3 columnas solo desde tablet */
@media (min-width: 640px) and (max-width: 767px) {
	.es-matricula-field-row--3 {
		grid-template-columns: 1fr 1fr;
	}
}

/* PEAD — planes y cards en móvil estrecho */
@media (max-width: 575px) {
	.es-pead-planes__grid {
		grid-template-columns: 1fr !important;
	}

	.es-pead-card__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.es-pead-btn {
		width: 100%;
		justify-content: center;
	}
}

/* Tablas / contenido ancho */
.es-legal-content table,
.es-curso-layout table,
.woocommerce table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Footer decorativo */
@media (max-width: 767px) {
	.es-footer-isotipo {
		width: min(55vw, 280px);
		right: -6%;
		opacity: 0.35;
	}
}
