/*
Theme Name: Colegio TAE
Theme URI: https://colegioedison.edu.mx/
Author: Héktor Peña
Author URI: https://hektor.mx
Description: Tema para Colegio TAE con Bootstrap 5. La cabecera y el pie se configuran en Apariencia → Personalizar y los menús; el área principal es editable con Elementor.
Version: 19.1.87
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: colegio-tae
Tags: education, elementor, bootstrap, custom-menu, custom-logo, footer-widgets, full-width-template

Colegio TAE — Héktor Peña (hektor.mx)
*/

/* Paleta de marca → variables de Bootstrap 5.3 (CDN). */
:root {
	--colegio-tae-content-min-height: 50vh;
	--colegio-tae-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--colegio-tae-font-heading: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Primario #3F4094 · Secundario #C10D19 · Acento #FFC121 · Textos #454654 · Glacial #F5F7F8 · Éxito #4CAF50 */
	--bs-primary: #3f4094;
	--bs-primary-rgb: 63, 64, 148;
	--bs-secondary: #c10d19;
	--bs-secondary-rgb: 193, 13, 25;
	--bs-success: #4caf50;
	--bs-success-rgb: 76, 175, 80;
	--bs-warning: #ffc121;
	--bs-warning-rgb: 255, 193, 33;
	--bs-body-color: #454654;
	--bs-body-color-rgb: 69, 70, 84;
	--bs-body-bg: #f5f7f8;
	--bs-body-bg-rgb: 245, 247, 248;
	--bs-light: #f5f7f8;
	--bs-light-rgb: 245, 247, 248;
	--bs-dark: #454654;
	--bs-dark-rgb: 69, 70, 84;
	--bs-emphasis-color: #454654;
	--bs-heading-color: #454654;
	--bs-secondary-color: rgba(69, 70, 84, 0.75);
	--bs-tertiary-color: rgba(69, 70, 84, 0.5);
	--bs-border-color: rgba(69, 70, 84, 0.15);
	--bs-link-color: #3f4094;
	--bs-link-hover-color: #32337a;
	--bs-focus-ring-color: rgba(63, 64, 148, 0.35);

	/* Ancho máximo global de contenedores Bootstrap del tema */
	--colegio-tae-container-max: 1440px;
	/* Oscurecido de marca para hovers/active de botones (el CSS compilado de Bootstrap fija hex en .btn-*). */
	--colegio-tae-primary-btn-hover: #32337a;
	--colegio-tae-primary-btn-active: #2a2b68;
	--colegio-tae-secondary-btn-hover: #9a0b14;
	--colegio-tae-secondary-btn-active: #850a12;
	--colegio-tae-success-btn-hover: #43a047;
	--colegio-tae-success-btn-active: #3b8e3f;
	--colegio-tae-warning-btn-hover: #e6ac1e;
	--colegio-tae-warning-btn-active: #d9a21c;
}

html {
	overflow-x: hidden;
}

/*
 * Bootstrap 5.3 (dist) define .btn-primary, .btn-secondary, etc. con --bs-btn-* en hex fijo,
 * ignorando --bs-primary del :root. Reasignamos las variables del componente a la paleta del tema.
 */
body.colegio-tae .btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--bs-primary);
	--bs-btn-border-color: var(--bs-primary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--colegio-tae-primary-btn-hover);
	--bs-btn-hover-border-color: var(--colegio-tae-primary-btn-hover);
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--colegio-tae-primary-btn-active);
	--bs-btn-active-border-color: var(--colegio-tae-primary-btn-active);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--bs-primary);
	--bs-btn-disabled-border-color: var(--bs-primary);
}

body.colegio-tae .btn-secondary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--bs-secondary);
	--bs-btn-border-color: var(--bs-secondary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--colegio-tae-secondary-btn-hover);
	--bs-btn-hover-border-color: var(--colegio-tae-secondary-btn-hover);
	--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--colegio-tae-secondary-btn-active);
	--bs-btn-active-border-color: var(--colegio-tae-secondary-btn-active);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--bs-secondary);
	--bs-btn-disabled-border-color: var(--bs-secondary);
}

body.colegio-tae .btn-outline-primary {
	--bs-btn-color: var(--bs-primary);
	--bs-btn-border-color: var(--bs-primary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--bs-primary);
	--bs-btn-hover-border-color: var(--bs-primary);
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--colegio-tae-primary-btn-hover);
	--bs-btn-active-border-color: var(--colegio-tae-primary-btn-hover);
	--bs-btn-disabled-color: var(--bs-primary);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: var(--bs-primary);
	--bs-gradient: none;
}

body.colegio-tae .btn-outline-secondary {
	--bs-btn-color: var(--bs-secondary);
	--bs-btn-border-color: var(--bs-secondary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--bs-secondary);
	--bs-btn-hover-border-color: var(--bs-secondary);
	--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--colegio-tae-secondary-btn-hover);
	--bs-btn-active-border-color: var(--colegio-tae-secondary-btn-hover);
	--bs-btn-disabled-color: var(--bs-secondary);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: var(--bs-secondary);
	--bs-gradient: none;
}

body.colegio-tae .btn-success {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--bs-success);
	--bs-btn-border-color: var(--bs-success);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--colegio-tae-success-btn-hover);
	--bs-btn-hover-border-color: var(--colegio-tae-success-btn-hover);
	--bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--colegio-tae-success-btn-active);
	--bs-btn-active-border-color: var(--colegio-tae-success-btn-active);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--bs-success);
	--bs-btn-disabled-border-color: var(--bs-success);
}

body.colegio-tae .btn-warning {
	--bs-btn-color: #000;
	--bs-btn-bg: var(--bs-warning);
	--bs-btn-border-color: var(--bs-warning);
	--bs-btn-hover-color: #000;
	--bs-btn-hover-bg: var(--colegio-tae-warning-btn-hover);
	--bs-btn-hover-border-color: var(--colegio-tae-warning-btn-hover);
	--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
	--bs-btn-active-color: #000;
	--bs-btn-active-bg: var(--colegio-tae-warning-btn-active);
	--bs-btn-active-border-color: var(--colegio-tae-warning-btn-active);
	--bs-btn-disabled-color: #000;
	--bs-btn-disabled-bg: var(--bs-warning);
	--bs-btn-disabled-border-color: var(--bs-warning);
}

body.colegio-tae .btn-link {
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

/* Cuerpo: Inter 16px (1rem), altura de línea automática / legible. */
body.colegio-tae {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: var(--colegio-tae-font-body);
	font-size: 1rem;
	line-height: normal;
	font-weight: 400;
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
}

/* Títulos: Manrope, medidas de marca (equivalentes en rem a 16px base). */
body.colegio-tae h1,
body.colegio-tae .h1,
body.colegio-tae h2,
body.colegio-tae .h2,
body.colegio-tae h3,
body.colegio-tae .h3,
body.colegio-tae h4,
body.colegio-tae .h4,
body.colegio-tae h5,
body.colegio-tae .h5,
body.colegio-tae h6,
body.colegio-tae .h6 {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	line-height: normal;
	color: var(--bs-heading-color);
}

body.colegio-tae h1,
body.colegio-tae .h1 {
	font-size: 2.25rem;
}

body.colegio-tae h2,
body.colegio-tae .h2 {
	font-size: 2rem;
}

body.colegio-tae h3,
body.colegio-tae .h3 {
	font-size: 1.75rem;
}

body.colegio-tae h4,
body.colegio-tae .h4 {
	font-size: 1.5rem;
}

body.colegio-tae h5,
body.colegio-tae .h5 {
	font-size: 1.25rem;
}

body.colegio-tae h6,
body.colegio-tae .h6 {
	font-size: 1rem;
}

/* Contenedores: tope 1440px (sobreescribe los límites por breakpoint de Bootstrap). */
body.colegio-tae .container,
body.colegio-tae .container-sm,
body.colegio-tae .container-md,
body.colegio-tae .container-lg,
body.colegio-tae .container-xl,
body.colegio-tae .container-xxl {
	max-width: var(--colegio-tae-container-max) !important;
}

/* Cabecera pegada arriba al hacer scroll (barra superior + navbar) */
.colegio-tae-header {
	position: sticky;
	top: 0;
	z-index: 1030;
	align-self: flex-start;
	width: 100%;
	box-shadow: 0 4px 24px rgba(21, 22, 43, 0.07);
}

body.admin-bar .colegio-tae-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .colegio-tae-header {
		top: 46px;
	}
}

/*
 * Barra principal: vidrio (blur sobre el contenido que pasa por debajo).
 * No usar view-transition-name aquí: en Chromium aísla la capa y el backdrop deja de muestrear
 * la página (solo se ve “transparente”). El blur va en el propio nav, no en ::before (mejor soporte).
 */
body.colegio-tae .colegio-tae-mainbar.navbar {
	--bs-navbar-bg: rgba(255, 255, 255, 0.72);
	background-color: rgba(255, 255, 255, 0.72) !important;
	backdrop-filter: saturate(180%) blur(40px);
	-webkit-backdrop-filter: saturate(180%) blur(40px);
	box-shadow: inset 0 -1px 0 rgba(21, 22, 43, 0.06);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	body.colegio-tae .colegio-tae-mainbar.navbar {
		background-color: rgba(255, 255, 255, 0.94) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.colegio-tae .colegio-tae-mainbar.navbar {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		background-color: rgba(255, 255, 255, 0.94) !important;
	}
}

.colegio-tae-mainbar .navbar-brand,
.colegio-tae-mainbar .nav-link {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 900;
}

.colegio-tae-mainbar .custom-logo-link.navbar-brand {
	position: relative;
}

.colegio-tae-mainbar .custom-logo-link img {
	width: 90px;
	height: 90px;
	position: absolute;
	top: -20px;
}

.colegio-tae-header-actions .btn {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 900;
	font-size: 0.9375rem;
}

/* 
 * Estados activos Globales (Alta Prioridad) 
 * Asegura que la página actual se vea roja en cualquier resolución.
 */
.colegio-tae-mainbar .navbar-nav .nav-link.active,
.colegio-tae-mainbar .navbar-nav .nav-item.current-menu-item>.nav-link,
.colegio-tae-mainbar .navbar-nav .nav-item.current-menu-ancestor>.nav-link,
.colegio-tae-mainbar .navbar-nav .nav-item.current_page_item>.nav-link,
.colegio-tae-mainbar .navbar-nav .nav-item.current_page_ancestor>.nav-link,
.colegio-tae-mainbar .dropdown-menu .dropdown-item.active,
.colegio-tae-mainbar .dropdown-menu .current-menu-item>.dropdown-item,
.colegio-tae-mainbar .dropdown-menu .current_page_item>.dropdown-item,
.colegio-tae-mainbar .dropdown-menu .current-menu-item,
.colegio-tae-mainbar .dropdown-menu .current_page_item {
	color: var(--bs-secondary) !important;
}

@media (max-width: 991.98px) {
	.colegio-tae-mainbar .navbar-toggler.colegio-tae-mainbar-toggler {
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		border-radius: 0.75rem;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.colegio-tae-mainbar .navbar-toggler.colegio-tae-mainbar-toggler:focus,
	.colegio-tae-mainbar .navbar-toggler.colegio-tae-mainbar-toggler:focus-visible {
		outline: none;
		box-shadow: none !important;
	}

	.colegio-tae-mainbar .hamburger {
		font: inherit;
	}

	.colegio-tae-mainbar .hamburger-box {
		width: 1.4rem !important;
		height: 1.05rem !important;
	}

	.colegio-tae-mainbar .hamburger-inner,
	.colegio-tae-mainbar .hamburger-inner::before,
	.colegio-tae-mainbar .hamburger-inner::after {
		width: 1.4rem !important;
		height: 2px !important;
		border-radius: 2px !important;
	}

	.colegio-tae-mainbar .navbar-toggler:not(.is-active) .hamburger-inner::before {
		top: -0.42rem !important;
	}

	.colegio-tae-mainbar .navbar-toggler:not(.is-active) .hamburger-inner::after {
		top: auto !important;
		bottom: -0.42rem !important;
	}

	.colegio-tae-mainbar .offcanvas.colegio-tae-mainbar-offcanvas {
		--bs-offcanvas-width: 85vw;
		max-width: 85vw;
		border-right: 1px solid rgba(69, 70, 84, 0.12);
		background: #fff;
		box-shadow:
			0 28px 90px rgba(10, 12, 26, 0.42),
			0 8px 28px rgba(21, 22, 43, 0.18);
	}

	.offcanvas-backdrop {
		-webkit-backdrop-filter: blur(6px) !important;
		backdrop-filter: blur(6px) !important;
		background-color: rgba(255, 255, 255, 0.65) !important;
	}

	.offcanvas-backdrop.show {
		opacity: 1 !important;
	}

	.colegio-tae-mainbar .offcanvas-header {
		padding: 1rem;
		border-bottom: 1px solid rgba(69, 70, 84, 0.12);
	}

	.colegio-tae-mainbar .btn-close,
	.colegio-tae-mainbar .btn-close:focus {
		box-shadow: none !important;
		outline: none !important;
	}

	.colegio-tae-mainbar .offcanvas-body,
	.colegio-tae-mainbar .offcanvas-body.p-0,
	.colegio-tae-mainbar .offcanvas-body.p-lg-0,
	.colegio-tae-mainbar .offcanvas-body.p-0.p-lg-0 {
		padding: 1rem !important;
	}

	.colegio-tae-mainbar .navbar-nav {
		gap: 0.25rem;
		margin-top: 0.15rem;
		margin-bottom: 0;
	}

	.colegio-tae-mainbar .navbar-nav .nav-link {
		padding: 0.72rem 0.9rem;
		border-radius: 0.7rem;
		background: rgba(63, 64, 148, 0.05);
	}

	.colegio-tae-mainbar .navbar-nav .nav-link:hover,
	.colegio-tae-mainbar .navbar-nav .nav-link:focus {
		background: rgba(63, 64, 148, 0.12);
		font-weight: 600;
	}

	/* Submenu móvil dentro del offcanvas: tarjeta integrada con estilo premium. */
	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-menu {
		position: static !important;
		float: none;
		width: 100%;
		margin: 0.5rem 0 0.25rem;
		padding: 0.5rem;
		border: 1px solid rgba(63, 64, 148, 0.12) !important;
		border-radius: 0.9rem;
		background: #ffffff !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		/* Sombra suave para separar del fondo */
		transform: none !important;
		transition: all 0.3s ease;
	}

	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item {
		padding: 0.65rem 0.85rem;
		border-radius: 0.65rem;
		font-family: var(--colegio-tae-font-body);
		font-weight: 600;
		font-size: 0.9375rem;
		color: var(--bs-body-color);
		margin-bottom: 0.15rem;
	}

	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item:last-child {
		margin-bottom: 0;
	}

	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item:hover,
	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item:focus,
	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item.active,
	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-item.current-menu-item {
		background: rgba(63, 64, 148, 0.08);
		color: var(--bs-secondary) !important;
		padding-left: 1rem;
	}

	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-toggle::after {
		margin-left: 0.5rem;
		vertical-align: 0.12em;
		transition: transform 0.3s ease;
	}

	.colegio-tae-mainbar-offcanvas .navbar-nav .dropdown-toggle.show::after {
		transform: rotate(180deg);
	}

	.colegio-tae-header-actions {
		margin-top: 0.65rem;
		padding-top: 0.65rem;
		border-top: 1px solid rgba(69, 70, 84, 0.12);
	}

	.colegio-tae-header-actions .btn {
		width: 100%;
	}

	@media (min-width: 576px) {
		.colegio-tae-header-actions .btn {
			width: auto;
			min-width: 180px;
		}
	}
}

/* Submenú en escritorio (Dropdown flotante premium) */
@media (min-width: 992px) {
	.colegio-tae-mainbar .dropdown-menu {
		display: block !important;
		opacity: 0;
		visibility: hidden;
		transform: translateY(12px);
		transition:
			opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1),
			transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
			visibility 0.28s;

		background-color: #ffffff !important;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;

		border: 1px solid rgba(63, 64, 148, 0.08) !important;
		border-radius: 1.15rem;
		padding: 0.75rem;
		min-width: 300px;
		box-shadow:
			0 12px 34px rgba(21, 22, 43, 0.12),
			0 4px 10px rgba(63, 64, 148, 0.05);
		margin-top: 0.85rem !important;
	}

	.colegio-tae-mainbar .dropdown-menu.show {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.colegio-tae-mainbar .dropdown-item {
		padding: 0.75rem 1.15rem;
		border-radius: 0.85rem;
		font-family: var(--colegio-tae-font-body);
		font-weight: 600;
		font-size: 0.9375rem;
		color: var(--bs-body-color);
		transition: all 0.2s ease;
		margin-bottom: 0.15rem;
	}

	.colegio-tae-mainbar .dropdown-item:last-child {
		margin-bottom: 0;
	}

	.colegio-tae-mainbar .dropdown-item:hover,
	.colegio-tae-mainbar .dropdown-item:focus,
	.colegio-tae-mainbar .dropdown-item.active,
	.colegio-tae-mainbar .dropdown-item.current-menu-item {
		background-color: rgba(63, 64, 148, 0.08);
		color: var(--bs-secondary);
		transform: translateX(4px);
	}

	/* Triángulo superior (Caret) opcional */
	.colegio-tae-mainbar .dropdown-menu::before {
		content: "";
		position: absolute;
		top: -7px;
		left: 1.25rem;
		width: 14px;
		height: 14px;
		background: rgba(255, 255, 255, 1);
		/* Coincide con el color base */
		border-left: 1px solid white;
		border-top: 1px solid white;
		transform: rotate(45deg);
		z-index: -1;
	}
}

.colegio-tae-topbar ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.colegio-tae-topbar .colegio-tae-topbar-widget p {
	margin-bottom: 0;
}

.colegio-tae-topbar img {
	max-height: 1.25rem;
	width: auto;
	height: auto;
	vertical-align: middle;
}

.colegio-tae-site-main {
	flex: 1 0 auto;
	min-height: var(--colegio-tae-content-min-height);
}

/* Portada: widgets a ancho completo antes de Elementor / contenido */
.colegio-tae-front-before-widgets {
	width: 100%;
	max-width: 100%;
	align-self: stretch;
	box-sizing: border-box;
}

.colegio-tae-front-before-widgets .colegio-tae-front-before-widget {
	width: 100%;
	max-width: 100%;
}

.colegio-tae-front-before-widgets .colegio-tae-front-before-widget:last-child {
	margin-bottom: 0;
}

/* ---------- Hero del blog (Personalizar → Colegio TAE — Blog) ---------- */
.colegio-tae-blog-hero {
	position: relative;
	overflow: hidden;
}

.colegio-tae-blog-hero--has-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: clamp(14rem, 38vw, 26rem);
}

.colegio-tae-blog-hero--has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(21, 22, 43, var(--colegio-tae-blog-hero-overlay-opacity, 0.52));
	pointer-events: none;
}

.colegio-tae-blog-hero--gradient {
	min-height: clamp(13rem, 32vw, 21rem);
	background: linear-gradient(125deg,
			var(--bs-primary) 0%,
			#32337a 44%,
			rgba(193, 13, 25, 0.9) 100%);
}

.colegio-tae-blog-hero__inner {
	position: relative;
	z-index: 1;
	padding-top: clamp(2.75rem, 7vw, 4.25rem);
	padding-bottom: clamp(2.75rem, 7vw, 4.25rem);
}

/* Panel: contraste sobre foto; el h1 heredaba color de body.colegio-tae h1 (gris) — forzamos blanco con mayor especificidad. */
.colegio-tae-blog-hero__panel {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	padding: clamp(1.35rem, 4vw, 2.15rem) clamp(1.5rem, 5vw, 2.85rem);
	border-radius: 1rem;
}

.colegio-tae-blog-hero--has-image .colegio-tae-blog-hero__panel {
	background: rgba(12, 14, 32, 0.62);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.colegio-tae-blog-hero--gradient .colegio-tae-blog-hero__panel {
	background: rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 10px 36px rgba(0, 0, 0, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

body.colegio-tae .colegio-tae-blog-hero h1.colegio-tae-blog-hero__title {
	font-family: var(--colegio-tae-font-heading);
	color: #fff;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-shadow:
		0 0 2px rgba(0, 0, 0, 0.9),
		0 2px 4px rgba(0, 0, 0, 0.65),
		0 8px 32px rgba(0, 0, 0, 0.45);
}

body.colegio-tae .colegio-tae-blog-hero .colegio-tae-blog-hero__lead {
	font-family: var(--colegio-tae-font-body);
	color: #fff;
	font-weight: 500;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	opacity: 1;
	text-shadow:
		0 0 1px rgba(0, 0, 0, 0.85),
		0 2px 12px rgba(0, 0, 0, 0.55);
}

/* Búsqueda del blog: barra unificada tipo “palette” (limpia, sombra suave, foco marca) */
.colegio-tae-blog-search {
	margin-bottom: 2rem;
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 992px) {
	.colegio-tae-blog-search {
		margin-bottom: 2.75rem;
		max-width: 48rem;
	}
}

.colegio-tae-blog-search__kicker {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 600;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bs-primary);
	text-align: center;
	opacity: 0.9;
}

.colegio-tae-blog-search__form {
	margin: 0;
}

.colegio-tae-blog-search__shell {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: 0.65rem;
	background: #fff;
	border-radius: 1rem;
	border: 1px solid rgba(69, 70, 84, 0.1);
	box-shadow:
		0 1px 2px rgba(63, 64, 148, 0.04),
		0 8px 28px rgba(63, 64, 148, 0.08),
		0 20px 48px rgba(21, 22, 43, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 576px) {
	.colegio-tae-blog-search__shell {
		flex-direction: row;
		align-items: stretch;
		gap: 0.5rem;
		padding: 0.5rem;
		border-radius: 1.125rem;
	}
}

.colegio-tae-blog-search__shell:focus-within {
	border-color: rgba(var(--bs-primary-rgb), 0.38);
	box-shadow:
		0 1px 2px rgba(63, 64, 148, 0.06),
		0 8px 28px rgba(63, 64, 148, 0.1),
		0 0 0 3px rgba(var(--bs-primary-rgb), 0.14);
}

.colegio-tae-blog-search__field {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.65rem;
	padding: 0.35rem 0.85rem 0.35rem 0.65rem;
	background: rgba(245, 247, 248, 0.85);
	border-radius: 0.75rem;
	border: 1px solid transparent;
}

@media (min-width: 576px) {
	.colegio-tae-blog-search__field {
		border-radius: 0.85rem;
		padding-left: 0.85rem;
		padding-right: 1rem;
	}
}

.colegio-tae-blog-search__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.25rem;
	color: var(--bs-primary);
	opacity: 0.55;
	font-size: 1rem;
}

.colegio-tae-blog-search__shell:focus-within .colegio-tae-blog-search__icon {
	opacity: 0.85;
}

.colegio-tae-blog-search__input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	padding: 0.65rem 0;
	font-family: var(--colegio-tae-font-body);
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--bs-body-color);
	background: transparent;
	border: none;
	box-shadow: none;
	outline: none;
}

.colegio-tae-blog-search__input::placeholder {
	color: var(--bs-tertiary-color);
	font-weight: 400;
}

.colegio-tae-blog-search__submit {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.35rem;
	font-family: var(--colegio-tae-font-heading);
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.2;
	color: #fff;
	background: var(--bs-primary);
	border: none;
	border-radius: 0.85rem;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease, filter 0.15s ease;
	box-shadow: 0 2px 10px rgba(var(--bs-primary-rgb), 0.35);
}

@media (min-width: 576px) {
	.colegio-tae-blog-search__submit {
		border-radius: 0.9rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

.colegio-tae-blog-search__submit:hover,
.colegio-tae-blog-search__submit:focus {
	background: var(--colegio-tae-primary-btn-hover);
	color: #fff;
	filter: brightness(1.02);
	outline: none;
}

.colegio-tae-blog-search__submit:active {
	transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {

	.colegio-tae-blog-search__shell,
	.colegio-tae-blog-search__submit {
		transition: none;
	}

	.colegio-tae-blog-search__submit:active {
		transform: none;
	}
}

/* ---------- Blog / archivo / búsqueda (tarjetas estilo Oferta educativa) ---------- */
.colegio-tae-archive {
	background: linear-gradient(180deg, var(--bs-body-bg) 0%, rgba(245, 247, 248, 0.92) 100%);
}

.colegio-tae-archive__title {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 800;
	color: var(--bs-primary);
}

.colegio-tae-post-card {
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 0.35rem 1.25rem rgba(63, 64, 148, 0.08);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.colegio-tae-post-card:hover {
	box-shadow: 0 0.5rem 1.75rem rgba(63, 64, 148, 0.12);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.colegio-tae-post-card {
		transition: none;
	}

	.colegio-tae-post-card:hover {
		transform: none;
	}
}

.colegio-tae-post-card__media {
	border-radius: 0.75rem 0.75rem 0 0;
	background-color: rgba(69, 70, 84, 0.06);
}

.colegio-tae-post-card__media--placeholder {
	background: linear-gradient(145deg, rgba(63, 64, 148, 0.08), rgba(193, 13, 25, 0.06));
}

.colegio-tae-post-card__placeholder-label {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	color: var(--bs-primary);
	opacity: 0.45;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.colegio-tae-post-card__title-link {
	color: var(--bs-primary);
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	line-height: 1.3;
}

.colegio-tae-post-card__title-link:hover,
.colegio-tae-post-card__title-link:focus {
	color: var(--bs-link-hover-color);
}

.colegio-tae-post-card__excerpt {
	line-height: 1.6;
}

.colegio-tae-post-card__excerpt p:last-child {
	margin-bottom: 0;
}

/*
 * Paginación (blog, archivo, búsqueda): números grises, activo = círculo marca + halo, chevrones.
 * Colores alineados con --bs-primary (morado institucional).
 */
body.colegio-tae .colegio-tae-pagination-wrap {
	justify-content: center !important;
}

body.colegio-tae .navigation.pagination {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body.colegio-tae .navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.5rem;
	margin-left: auto;
	margin-right: auto;
}

body.colegio-tae .navigation.pagination .nav-links>a,
body.colegio-tae .navigation.pagination .nav-links>span {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1;
	text-decoration: none;
	border: none;
	box-sizing: border-box;
}

/* Números (enlaces) */
body.colegio-tae .navigation.pagination a.page-numbers:not(.prev):not(.next) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.375rem;
	height: 2.375rem;
	padding: 0 0.35rem;
	border-radius: 50%;
	color: #4b5563;
	background: transparent;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.colegio-tae .navigation.pagination a.page-numbers:not(.prev):not(.next):hover,
body.colegio-tae .navigation.pagination a.page-numbers:not(.prev):not(.next):focus {
	color: var(--bs-primary);
	background: rgba(var(--bs-primary-rgb), 0.08);
	outline: none;
}

/* Página actual */
body.colegio-tae .navigation.pagination span.page-numbers.current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.375rem;
	height: 2.375rem;
	padding: 0 0.35rem;
	border-radius: 50%;
	color: #fff;
	background: var(--bs-primary);
	box-shadow: 0 0 0 6px rgba(var(--bs-primary-rgb), 0.22);
}

/* Puntos suspensivos */
body.colegio-tae .navigation.pagination span.page-numbers.dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 2.375rem;
	padding: 0 0.15rem;
	color: #6b7280;
	background: transparent;
	cursor: default;
}

/* Anterior / siguiente (‹ ›) */
body.colegio-tae .navigation.pagination a.prev.page-numbers,
body.colegio-tae .navigation.pagination a.next.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border-radius: 50%;
	color: #4b5563;
	background: transparent;
	font-size: 1.35rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.colegio-tae .navigation.pagination a.prev.page-numbers .colegio-tae-pagination__chev,
body.colegio-tae .navigation.pagination a.next.page-numbers .colegio-tae-pagination__chev {
	line-height: 1;
	margin-top: -0.06em;
}

body.colegio-tae .navigation.pagination a.prev.page-numbers:hover,
body.colegio-tae .navigation.pagination a.prev.page-numbers:focus,
body.colegio-tae .navigation.pagination a.next.page-numbers:hover,
body.colegio-tae .navigation.pagination a.next.page-numbers:focus {
	color: var(--bs-primary);
	background: rgba(var(--bs-primary-rgb), 0.08);
	outline: none;
}

/* Paginación dentro de una entrada (varias páginas) */
body.colegio-tae .colegio-tae-single__pages a,
body.colegio-tae .colegio-tae-single__pages span.post-page-numbers {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 600;
	font-size: 0.9375rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.375rem;
	height: 2.375rem;
	margin: 0 0.15rem;
	border-radius: 50%;
	text-decoration: none;
	vertical-align: middle;
}

body.colegio-tae .colegio-tae-single__pages a {
	color: #4b5563;
	background: transparent;
}

body.colegio-tae .colegio-tae-single__pages a:hover,
body.colegio-tae .colegio-tae-single__pages a:focus {
	color: var(--bs-primary);
	background: rgba(var(--bs-primary-rgb), 0.08);
}

body.colegio-tae .colegio-tae-single__pages span.post-page-numbers.current {
	color: #fff;
	background: var(--bs-primary);
	box-shadow: 0 0 0 6px rgba(var(--bs-primary-rgb), 0.22);
}

/* ---------- Entrada individual ---------- */
.colegio-tae-single__hero {
	background: var(--bs-body-bg);
	padding-top: 0.5rem;
}

.colegio-tae-single__figure {
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 0.5rem 1.5rem rgba(63, 64, 148, 0.1);
}

.colegio-tae-single__img {
	display: block;
	max-height: min(70vh, 32rem);
	object-fit: cover;
}

.colegio-tae-single__inner {
	max-width: 48rem;
}

.colegio-tae-single__header {
	border-bottom: 1px solid rgba(69, 70, 84, 0.12);
}

.colegio-tae-single__title {
	font-family: var(--colegio-tae-font-heading);
	color: var(--bs-primary);
	line-height: 1.2;
}

.colegio-tae-single__meta {
	font-family: var(--colegio-tae-font-body);
}

.colegio-tae-single__cats a {
	color: var(--bs-primary);
	font-weight: 600;
	text-decoration: none;
}

.colegio-tae-single__cats a:hover,
.colegio-tae-single__cats a:focus {
	text-decoration: underline;
	color: var(--bs-link-hover-color);
}

.colegio-tae-single__content {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--bs-body-color);
}

.colegio-tae-single__content>p {
	margin-bottom: 1.15em;
}

.colegio-tae-single__content h2,
.colegio-tae-single__content h3,
.colegio-tae-single__content h4 {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	color: var(--bs-primary);
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
	line-height: 1.3;
}

.colegio-tae-single__content img,
.colegio-tae-single__content .wp-block-image img {
	border-radius: 0.5rem;
	height: auto;
	max-width: 100%;
}

.colegio-tae-single__content .wp-block-image,
.colegio-tae-single__content figure {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

/* ---------- Elementos de Bloque: Blockquotes Premium ---------- */
body.colegio-tae blockquote {
	position: relative;
	padding: 1.5rem 1.5rem 1.5rem 2.75rem;
	margin: 2.25rem 0;
	border-left: 5px solid var(--bs-secondary);
	font-family: var(--colegio-tae-font-body);
	font-size: 1.15rem;
	line-height: 1.65;
	color: var(--bs-body-color);
	font-style: italic;
	background: rgba(var(--bs-primary-rgb), 0.03);
	border-radius: 0 1.25rem 1.25rem 0;
}

body.colegio-tae blockquote::before {
	content: "\201C";
	position: absolute;
	top: -0.75rem;
	left: 0.75rem;
	font-size: 4.5rem;
	color: var(--bs-secondary);
	opacity: 0.15;
	font-family: "Georgia", serif;
	line-height: 1;
	pointer-events: none;
}

body.colegio-tae blockquote p:last-child {
	margin-bottom: 0;
}

body.colegio-tae blockquote b,
body.colegio-tae blockquote strong {
	color: var(--bs-primary);
	font-weight: 700;
	font-style: normal;
}

body.colegio-tae blockquote cite {
	display: block;
	margin-top: 1rem;
	font-size: 0.9rem;
	font-weight: 700;
	font-style: normal;
	color: var(--bs-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

body.colegio-tae blockquote cite::before {
	content: "\2014 \0020";
}

/* Ajuste para blockquotes que ya están dentro de un contenedor con fondo (como en Elementor) */
.bg-surface-container blockquote,
.elementor-widget-container blockquote {
	background: transparent !important;
	padding-right: 0;
}

.colegio-tae-single__content ul,
.colegio-tae-single__content ol {
	padding-left: 1.35rem;
	margin-bottom: 1.15em;
}

.colegio-tae-single__footer {
	border-top: 1px solid rgba(69, 70, 84, 0.12);
}

.colegio-tae-elementor-main .entry-content>.elementor {
	margin-left: auto;
	margin-right: auto;
}

.colegio-tae-footer {
	margin-top: -1px;
}

.colegio-tae-footer a {
	color: inherit !important;
	text-decoration-color: currentColor;
}

.colegio-tae-footer a:hover,
.colegio-tae-footer a:focus {
	color: var(--bs-warning) !important;
	text-decoration-color: rgba(255, 193, 33, 0.75);
	font-family: var(--colegio-tae-font-body);
	font-size: 1rem;
	font-weight: 400;
}

.colegio-tae-footer-intro a {
	text-decoration: underline;
}

.colegio-tae-footer-col-title {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	color: var(--bs-secondary) !important;
	letter-spacing: 0.02em;
}

.colegio-tae-footer-intro,
.colegio-tae-footer-menu__link {
	font-family: var(--colegio-tae-font-body);
	font-size: 1rem;
	line-height: 1.55;
}

.colegio-tae-footer .colegio-tae-footer-menu__link {
	color: inherit !important;
	display: inline-block;
	padding: 0.15rem 0;
	opacity: 0.95;
}

.colegio-tae-footer .colegio-tae-footer-menu__link:hover,
.colegio-tae-footer .colegio-tae-footer-menu__link:focus {
	color: var(--bs-warning) !important;
	opacity: 1 !important;
	text-decoration: none;
	/* Forzamos consistencia absoluta para evitar saltos */
	line-height: 1.55 !important;
	padding-left: 0 !important;
	transform: none !important;
	font-family: var(--colegio-tae-font-body) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	transition: color 0.2s ease;
}

.colegio-tae-footer-menu__item {
	margin-bottom: 0.25rem;
}

.colegio-tae-footer-logo {
	max-height: 120px;
	width: auto;
}

.colegio-tae-footer-art {
	max-width: 100%;
	height: auto;
}

.colegio-tae-social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.colegio-tae-social__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 2px solid currentColor;
	border-radius: 50%;
	text-decoration: none !important;
	color: inherit;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.colegio-tae-social__link:hover,
.colegio-tae-social__link:focus {
	color: inherit;
	opacity: 0.88;
}

.colegio-tae-social--topbar {
	gap: 0.5rem;
}

.colegio-tae-social--topbar .colegio-tae-social__link {
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	font-size: 16px;
	line-height: 1;
}

.colegio-tae-social--topbar .colegio-tae-social__link i {
	font-size: 16px;
	line-height: 1;
}

.colegio-tae-social--footer {
	gap: 0.75rem;
}

.colegio-tae-social--footer .colegio-tae-social__link {
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	font-size: 32px;
	line-height: 1;
	color: inherit;
}

.colegio-tae-social--footer .colegio-tae-social__link i {
	font-size: 32px;
	line-height: 1;
}

/* ---------- 404 amistosa (alumnos) ---------- */
.colegio-tae-404 {
	position: relative;
	min-height: min(72vh, 52rem);
}

.colegio-tae-404__container {
	padding-top: 2.5rem;
	padding-bottom: 3rem;
}

@media (min-width: 992px) {
	.colegio-tae-404__container {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}
}

.colegio-tae-404__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 85% 55% at 15% 35%, rgba(63, 64, 148, 0.09), transparent 52%),
		radial-gradient(ellipse 70% 45% at 92% 55%, rgba(193, 13, 25, 0.07), transparent 48%),
		radial-gradient(ellipse 55% 45% at 55% 95%, rgba(255, 193, 33, 0.12), transparent 42%);
	pointer-events: none;
}

.colegio-tae-404__code {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
}

.colegio-tae-404__digit {
	display: inline-block;
	font-size: clamp(3.25rem, 11vw, 5.25rem);
	color: var(--bs-primary);
	animation: colegio-tae-404-bounce 2.5s ease-in-out infinite;
}

.colegio-tae-404__digit--accent {
	color: var(--bs-secondary);
	animation-delay: 0.12s;
}

.colegio-tae-404__digit:nth-child(3) {
	animation-delay: 0.24s;
}

@keyframes colegio-tae-404-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-7px);
	}
}

@media (prefers-reduced-motion: reduce) {

	.colegio-tae-404__digit,
	.colegio-tae-404__float,
	.colegio-tae-404__glow {
		animation: none !important;
	}
}

.colegio-tae-404__pill {
	background: rgba(63, 64, 148, 0.12);
	color: var(--bs-primary);
	font-weight: 600;
	font-size: 0.8rem;
}

.colegio-tae-404__title {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 800;
	color: var(--bs-heading-color);
	line-height: 1.25;
}

.colegio-tae-404__lead {
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 992px) {
	.colegio-tae-404__lead {
		margin-left: 0;
		margin-right: 0;
	}
}

.colegio-tae-404__tips li {
	padding-left: 0.15rem;
}

.colegio-tae-404__search {
	max-width: 22rem;
}

.colegio-tae-404__search .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.colegio-tae-404__search .search-field {
	flex: 1 1 11rem;
	min-width: 0;
	border-radius: 0.5rem;
	border: 1px solid var(--bs-border-color);
	padding: 0.5rem 0.85rem;
}

.colegio-tae-404__search .search-submit,
.colegio-tae-404__search input[type="submit"] {
	border-radius: 0.5rem;
}

.colegio-tae-404__illu {
	max-width: 300px;
}

.colegio-tae-404__svg {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 28px rgba(63, 64, 148, 0.14));
}

.colegio-tae-404__float {
	animation: colegio-tae-404-float 3.6s ease-in-out infinite;
}

.colegio-tae-404__float--2 {
	animation-delay: -0.9s;
}

.colegio-tae-404__float--3 {
	animation-delay: -1.8s;
}

@keyframes colegio-tae-404-float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-9px);
	}
}

.colegio-tae-404__glow {
	animation: colegio-tae-404-pulse 2.2s ease-in-out infinite;
}

@keyframes colegio-tae-404-pulse {

	0%,
	100% {
		filter: drop-shadow(0 0 0 rgba(255, 193, 33, 0));
	}

	50% {
		filter: drop-shadow(0 0 14px rgba(255, 193, 33, 0.4));
	}
}

.colegio-tae-mainbar .navbar-toggler.colegio-tae-mainbar-toggler {
	padding-top: 1.15rem !important;
}

/* Ocultar elementos de TranslatePress y créditos */
#tr_credit0,
input[name="tpedit"],
[aria-label="Edit Translation"] {
	display: none !important;
}

.blurred {
	backdrop-filter: blur(14px) saturate(180%) !important;
}

.btn-shadow-red {
	box-shadow: 0 8px 24px rgba(193, 13, 25, 0.35);
	transition: all 0.3s ease;
}

.btn-shadow-red:hover {
	box-shadow: 0 12px 32px rgba(193, 13, 25, 0.45);
	transform: translateY(-2px);
}

.btn-shadow-blue {
	box-shadow: 0 8px 24px rgba(52, 52, 141, 0.35);
	transition: all 0.3s ease;
}

.btn-shadow-blue:hover {
	box-shadow: 0 12px 32px rgba(52, 52, 141, 0.45);
	transform: translateY(-2px);
}

button.btn-close {
	box-shadow: none;
}

/* 
 * -----------------------------------------------------------------------------
 * Plugin Overrides: Booking Calendar (wpdevelop) - REVISADO POR SEGUNDA VEZ
 * -----------------------------------------------------------------------------
 * Ajuste para pintar solo la barra central de las celdas, no el cuadro completo.
 */

/* Contenedor y tipografía base */
.wpbc_wizard__border_container,
.wpbc__form__div,
.wpbc_calendar_wraper {
	font-family: var(--colegio-tae-font-body) !important;
	color: var(--bs-body-color) !important;
}

/* Wizard / Timeline - Solo barra de arriba */
.wpbc_steps_for_timeline_step::before {
	border-color: #dee2e6 !important;
	background-color: #fff !important;
}

.wpbc_steps_for_timeline_step_active::before,
.wpbc_steps_for_timeline_step_completed::before {
	background-color: var(--bs-primary) !important;
	border-color: var(--bs-primary) !important;
}

.wpbc_steps_for_timeline_step_active svg,
.wpbc_steps_for_timeline_step_completed svg {
	color: #fff !important;
	fill: currentColor !important;
}

.wpbc_steps_for_timeline_line_active {
	background-color: var(--bs-primary) !important;
}

/* Calendario: Estados de los días (SOLO BARRA CENTRAL) */
/* Reset de cuadros exteriores */
.wpbc_calendar td:not(.wpbc_month_name),
.wpbc-cell-box,
.wpbc_calendar_legend_table_width_height .date_available,
.wpbc_calendar_legend_table_width_height .date_approved,
.wpbc_calendar_legend_table_width_height .date2approve {
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
}

/* Pintado de la barra central (el elemento con el número) */
.wpbc_calendar .date_available .date-cell-content,
.wpbc_legend_available .date-cell-content {
	background-color: var(--bs-success) !important;
	color: #fff !important;
}

.wpbc_calendar .date_approved .date-cell-content,
.wpbc_legend_reserved .date-cell-content {
	background-color: var(--bs-secondary) !important;
	color: #fff !important;
}

.wpbc_calendar .date2approve .date-cell-content,
.wpbc_legend_pending .date-cell-content {
	background-color: var(--bs-warning) !important;
	color: #000 !important;
}

/* Forzar que el texto (a/span) sea transparente y no tenga fondo propio */
.wpbc_calendar .date-cell-content a,
.wpbc_calendar .date-cell-content span {
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	color: inherit !important;
}

/* Parcialmente Reservado (Triángulos decorativos - Reset de barra) */
.wpbc_calendar .timespartly .date-cell-content {
	background-color: transparent !important;
	/* Quitar barra verde/roja si es parcial */
	color: var(--bs-body-color) !important;
}

/* Ocultar enlace de créditos del plugin (Powered by) */
.wpbc_calendar_wraper div[style*="font-size:7px"] {
	display: none !important;
}

/* Día seleccionado por el usuario (Azul Primario TAE) */
.wpbc_calendar td.datepick-current-day .date-cell-content {
	background-color: var(--bs-primary) !important;
	color: #fff !important;
	box-shadow: 0 4px 10px rgba(var(--bs-primary-rgb), 0.4);
}

/* Estilos de tabla y celdas */
.wpbc_calendar table.datepick {
	border-collapse: separate !important;
	border-spacing: 4px !important;
}

.wpbc_calendar .wpbc-cell-box {
	border-radius: 6px !important;
	overflow: hidden;
	min-height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff !important;
	/* Fondo blanco para el cuadro */
	border: 1px solid rgba(69, 70, 84, 0.08) !important;
}

/* Ajuste específico de la barra central */
.date-cell-content {
	width: 100% !important;
	height: 18px !important;
	/* Altura de la barra central */
	line-height: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

/* Selector de Horarios (Time Slots) */
.wpbc_times_selector div {
	border: 1px solid var(--bs-border-color) !important;
	border-radius: 10px !important;
	padding: 12px 18px !important;
	margin-bottom: 8px;
	font-family: var(--colegio-tae-font-body);
	font-weight: 500;
	transition: all 0.2s ease;
	cursor: pointer;
	background: #fff;
	text-align: center;
}

.wpbc_times_selector div.wpbc_time_selected {
	background-color: var(--bs-primary) !important;
	border-color: var(--bs-primary) !important;
	color: #fff !important;
	box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.3);
}

/* Botones Principales */
.wpbc_button_light,
.wpbc_wizard_step_button,
.wpbc__form__div .btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background-color: var(--bs-primary) !important;
	border: 1px solid var(--bs-primary) !important;
	color: #fff !important;
	padding: 0.85rem 2rem !important;
	border-radius: 0.85rem !important;
	font-family: var(--colegio-tae-font-heading) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}

.wpbc_button_light:hover {
	background-color: var(--colegio-tae-primary-btn-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), 0.3);
}

/* WhatsApp Flotante */
.colegio-tae-whatsapp-floating-container {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	pointer-events: none;
	z-index: 9999;
	padding: 20px;
}

.colegio-tae-whatsapp-float {
	pointer-events: auto;
	position: fixed;
	bottom: 30px;
	width: 60px;
	height: 60px;
	background-color: #25D366;
	color: #fff !important;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
	text-decoration: none !important;
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.colegio-tae-whatsapp-float:hover {
	transform: scale(1.1);
	background-color: #128C7E;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.colegio-tae-whatsapp-float--left {
	left: 30px;
}

.colegio-tae-whatsapp-float--right {
	right: 30px;
}

/* Etiqueta (Tooltip) */
.colegio-tae-whatsapp-float__label {
	position: absolute;
	background: #333;
	color: #fff;
	padding: 5px 12px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	pointer-events: none;
}

.colegio-tae-whatsapp-float--left .colegio-tae-whatsapp-float__label {
	left: 75px;
}

.colegio-tae-whatsapp-float--right .colegio-tae-whatsapp-float__label {
	right: 75px;
}

.colegio-tae-whatsapp-float:hover .colegio-tae-whatsapp-float__label {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 768px) {
	.colegio-tae-whatsapp-float {
		width: 50px;
		height: 50px;
		font-size: 24px;
		bottom: 20px;
	}

	.colegio-tae-whatsapp-float--left {
		left: 20px;
	}

	.colegio-tae-whatsapp-float--right {
		right: 20px;
	}

	.colegio-tae-whatsapp-float__label {
		display: none;
	}
}

.btn-full .elementor-button-wrapper,
.btn-full .elementor-button {
	width: 100%;
}

.btn-full .elementor-button {
	display: block;
	text-align: center;
}

/* ---------- Formulario de Contacto Premium (Card Style) ---------- */
.colegio-tae-contact-card {
	background: #fcfcfc;
	border-radius: 2rem;
	padding: clamp(1.5rem, 5vw, 3rem);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.03);
	max-width: 850px;
	margin: 2rem auto;
}

.colegio-tae-contact-card .contact-header {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

.colegio-tae-contact-card .icon-circle {
	width: 64px;
	height: 64px;
	background-color: var(--bs-secondary);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	flex-shrink: 0;
	box-shadow: 0 8px 16px rgba(var(--bs-secondary-rgb), 0.2);
}

.colegio-tae-contact-card .header-text h3 {
	margin: 0;
	color: var(--bs-primary);
	font-size: 1.85rem;
	font-weight: 800;
}

.colegio-tae-contact-card .header-text p {
	margin: 0;
	color: var(--bs-body-color);
	opacity: 0.8;
	font-size: 1.05rem;
}

.colegio-tae-contact-card label {
	display: block;
	font-family: var(--colegio-tae-font-heading);
	font-weight: 800;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	color: var(--bs-primary);
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.colegio-tae-contact-card input[type="text"],
.colegio-tae-contact-card input[type="email"],
.colegio-tae-contact-card select,
.colegio-tae-contact-card textarea {
	width: 100%;
	background-color: #ededed !important;
	border: 1px solid transparent !important;
	border-radius: 0.85rem !important;
	padding: 1rem 1.25rem !important;
	font-family: var(--colegio-tae-font-body);
	color: var(--bs-body-color);
	font-weight: 500;
	transition: all 0.25s ease;
}

.colegio-tae-contact-card input:focus,
.colegio-tae-contact-card select:focus,
.colegio-tae-contact-card textarea:focus {
	background-color: #fff !important;
	border-color: var(--bs-primary) !important;
	outline: none;
	box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.1);
}

.colegio-tae-contact-card .contact-footer {
	margin-top: 2.5rem;
	text-align: center;
}

.colegio-tae-contact-card .btn-submit {
	width: auto;
	min-width: 260px;
	background-color: var(--bs-secondary);
	color: #fff;
	border: none;
	border-radius: 10px !important;
	padding: 0.8rem 2.5rem;
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700;
	font-size: 1.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.25s ease;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(var(--bs-secondary-rgb), 0.15);
	-webkit-appearance: none;
	appearance: none;
}

.colegio-tae-contact-card .btn-submit:hover {
	transform: translateY(-2px);
	background-color: var(--colegio-tae-secondary-btn-hover);
	box-shadow: 0 6px 15px rgba(var(--bs-secondary-rgb), 0.25);
}

.colegio-tae-contact-card .btn-submit:active {
	transform: translateY(0) scale(0.98);
}

/* 
 * ---------- Acordeón Premium (Elementor Nested Accordion) ---------- 
 * Transformación del widget estándar a un diseño de tarjetas moderno.
 */

.e-n-accordion {
	--n-accordion-border-style: none;
	/* Quitamos bordes por defecto */
	--n-accordion-item-bg: #ffffff;
}

.e-n-accordion-item {
	margin-bottom: 1.25rem !important;
	border: 1px solid rgba(63, 64, 148, 0.08) !important;
	border-radius: 1rem !important;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 15px rgba(21, 22, 43, 0.04);
	transition: all 0.3s ease;
}

/* Cabecera del acordeón */
.e-n-accordion-item-title {
	padding: 1.25rem 1.5rem !important;
	background: #fff;
	cursor: pointer;
	transition: all 0.3s ease;
}

.e-n-accordion-item-title-text {
	font-family: var(--colegio-tae-font-heading);
	font-weight: 700 !important;
	font-size: 1.1rem;
	color: var(--bs-primary);
}

/* Iconos de Elementor (+/-) */
.e-n-accordion-item-icon {
	transition: transform 0.3s ease;
}

.e-n-accordion-item-icon svg {
	width: 14px !important;
	height: 14px !important;
	fill: var(--bs-primary) !important;
}

/* ---------- ESTADO ABIERTO (DETAILS OPEN) ---------- */
.e-n-accordion-item[open] {
	box-shadow: 0 8px 30px rgba(63, 64, 148, 0.12);
	border-color: rgba(63, 64, 148, 0.2) !important;
}

/* Cambiamos el fondo de la cabecera cuando está abierto */
.e-n-accordion-item[open]>.e-n-accordion-item-title {
	background-color: var(--bs-primary) !important;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-text {
	color: #ffffff !important;
}

.e-n-accordion-item[open] .e-n-accordion-item-icon svg {
	fill: #ffffff !important;
}

/* Contenido del acordeón */
.e-n-accordion-item-content {
	padding: 1.5rem 1.5rem 2rem !important;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--bs-body-color);
	background: #fff;
}

.e-n-accordion-item-content p {
	margin-bottom: 1rem;
}

.e-n-accordion-item-content p:last-child {
	margin-bottom: 0;
}

.colegio-tae-contact-card .service-hours {
	margin-top: 1.5rem !important;
	font-size: 0.9rem !important;
	color: var(--bs-body-color) !important;
	opacity: 0.6 !important;
	margin-bottom: 0 !important;
}

/* Ajustes de CF7 para los labels y validación */
.colegio-tae-contact-card .wpcf7-form-control-wrap {
	display: block;
}

.colegio-tae-contact-card .wpcf7-not-valid-tip {
	margin-top: 0.25rem;
	font-size: 0.8rem;
}

/* ---------- Grid de Materias / Programas (.numbers) Premium ---------- */
.numbers {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
	gap: 1.5rem !important;
	margin: 3rem 0;
	counter-reset: numbers-counter;
}

/* Selector refinado para evitar duplicidad: apuntamos solo al elemento que contiene el texto */
.numbers .elementor-widget-container .flex.items-center,
.numbers .elementor-widget-container .elementor-text-editor>div.flex {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	padding: 1.25rem 1.75rem !important;
	background: rgba(var(--bs-primary-rgb), 0.04) !important;
	border-left: 5px solid var(--bs-secondary) !important;
	border-radius: 0.75rem !important;
	border-bottom: 0 !important;
	/* Limpiamos bordes previos de Elementor */
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	height: 100%;
}

/* Numeración automática con diseño editorial */
.numbers .elementor-widget-container .flex.items-center::before,
.numbers .elementor-widget-container .elementor-text-editor>div.flex::before {
	counter-increment: numbers-counter;
	content: counter(numbers-counter, decimal-leading-zero);
	font-family: var(--colegio-tae-font-heading);
	font-size: 0.875rem;
	font-weight: 800;
	color: var(--bs-secondary);
	opacity: 0.45;
	flex-shrink: 0;
	background: #fff;
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(var(--bs-secondary-rgb), 0.2);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

/* Tipografía de la materia */
.numbers .elementor-widget-container .flex.items-center {
	font-family: var(--colegio-tae-font-body);
	font-size: 1rem;
	font-weight: 600 !important;
	color: var(--bs-primary) !important;
	letter-spacing: -0.01em;
}

/* Efecto hover premium: elevación y brillo */
.numbers .elementor-widget-container .flex.items-center:hover,
.numbers .elementor-widget-container .elementor-text-editor>div.flex:hover {
	transform: translateY(-5px);
	background: #ffffff !important;
	box-shadow: 0 12px 28px rgba(var(--bs-primary-rgb), 0.12),
		0 4px 10px rgba(0, 0, 0, 0.05) !important;
	border-left-width: 8px !important;
}

.numbers .elementor-widget-container .flex.items-center:hover::before,
.numbers .elementor-widget-container .elementor-text-editor>div.flex:hover::before {
	opacity: 1;
	transform: scale(1.1);
	border-color: var(--bs-secondary);
	box-shadow: 0 4px 10px rgba(var(--bs-secondary-rgb), 0.15);
}

/* Ajustes responsivos móviles */
@media (max-width: 575.98px) {
	.numbers {
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
	}

	.numbers .elementor-widget-container .flex.items-center {
		padding: 1rem 1.25rem !important;
	}
}

/* ---------- Formulario de Vacantes (.colegio-tae-careers-form) Premium ---------- */
.colegio-tae-careers-form {
	background: #ffffff;
	border-radius: 1.5rem;
	padding: 1.5rem;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	margin-top: 1.5rem;
}

@media (min-width: 768px) {
	.colegio-tae-careers-form {
		padding: 3rem;
	}
}

/* Estilo de los campos de entrada - Forzamos prioridad para evitar herencia de .colegio-tae-contact-card */
.colegio-tae-careers-form .wpcf7-form-control:not(.wpcf7-submit) {
	width: 100% !important;
	padding: 0.85rem 1.15rem !important;
	border-radius: 0.75rem !important;
	border: 1.5px solid rgba(69, 70, 84, 0.12) !important;
	background-color: #ffffff !important;
	font-family: var(--colegio-tae-font-body) !important;
	color: var(--bs-body-color) !important;
	transition: all 0.25s ease !important;
}

/* Foco en los campos */
.colegio-tae-careers-form .wpcf7-form-control:not(.wpcf7-submit):focus {
	outline: none;
	background-color: #fff;
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 4px rgba(63, 64, 148, 0.1);
	transform: translateY(-1px);
}

/* Estilo especial para el Selector (Puestos) */
.colegio-tae-careers-form select.wpcf7-form-control {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%233F4094' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.15rem center;
	padding-right: 2.75rem !important;
}

/* Estilo del Campo de Archivo (CV) */
.colegio-tae-careers-form .file-field label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--bs-primary);
	font-size: 0.95rem;
}

.colegio-tae-careers-form input[type="file"].wpcf7-file {
	background: #fff;
	padding: 0.65rem;
	border: 2px dashed rgba(63, 64, 148, 0.2) !important;
	font-size: 0.9rem;
}

.colegio-tae-careers-form input[type="file"].wpcf7-file:hover {
	border-color: var(--bs-secondary) !important;
	background: rgba(193, 13, 25, 0.02);
}

/* Validación y Errores (Contact Form 7) */
.colegio-tae-careers-form .wpcf7-not-valid-tip {
	color: var(--bs-secondary);
	font-size: 0.825rem;
	font-weight: 600;
	margin-top: 0.35rem;
	display: block;
}

.colegio-tae-careers-form .wpcf7-response-output {
	margin: 2rem 0 0 !important;
	padding: 1rem 1.5rem !important;
	border-radius: 0.85rem !important;
	border: 1.5px solid !important;
	font-family: var(--colegio-tae-font-body);
	font-weight: 500;
	font-size: 0.95rem;
}

/* Éxito */
.wpcf7-mail-sent-ok {
	background-color: rgba(76, 175, 80, 0.08) !important;
	border-color: var(--bs-success) !important;
	color: #2e6e31 !important;
}

/* Error general */
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
	background-color: rgba(193, 13, 25, 0.08) !important;
	border-color: var(--bs-secondary) !important;
	color: #9a0b14 !important;
}

/* 
 * Swiper Testimonials Slider (Rediseñado para Elementor)
 */
.testimonials.swiper {
	padding: 3rem 0 5rem !important;
	overflow: hidden !important;
	display: block !important;
	position: relative !important;
	width: 100% !important;
	margin: 0 auto !important;
	min-height: 450px !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.testimonials.swiper .swiper-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	height: auto !important;
	/* transform: none; /* Let Swiper handle this */
}

.testimonials.swiper .swiper-slide {
	height: auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 18px !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	max-width: none !important;
}

/* Premium Card Style (Elementor Default) */
.elementor-testimonial-wrapper {
	background: #ffffff !important;
	border-radius: 1.75rem !important;
	padding: 2.75rem !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	box-shadow: 0 12px 48px rgba(63, 64, 148, 0.08) !important;
	border: 1px solid rgba(63, 64, 148, 0.1) !important;
	transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
	width: 100% !important;
	position: relative !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.swiper-slide:hover .elementor-testimonial-wrapper,
.swiper-slide-active .elementor-testimonial-wrapper {
	transform: translateY(-12px);
	box-shadow: 0 28px 70px rgba(63, 64, 148, 0.22) !important;
	border-color: var(--bs-secondary) !important;
}

/* Quote Icon Decoration */
.elementor-testimonial-content::before {
	content: "\f10d";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: block;
	font-size: 2.2rem;
	color: rgba(193, 13, 25, 0.12);
	margin-bottom: 0.75rem;
}

.elementor-testimonial-content {
	font-family: var(--colegio-tae-font-body) !important;
	font-size: 1.15rem !important;
	line-height: 1.8 !important;
	color: var(--bs-body-color) !important;
	margin-bottom: 2.5rem !important;
	font-style: italic !important;
	flex-grow: 1 !important;
}

/* User Info Styling */
.elementor-testimonial-meta {
	margin-top: auto !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid rgba(63, 64, 148, 0.06) !important;
}




#testimonials .swiper-slide:hover .elementor-testimonial-wrapper,
#testimonials .swiper-slide-active .elementor-testimonial-wrapper {
	transform: translateY(-12px);
	box-shadow: 0 28px 70px rgba(63, 64, 148, 0.22) !important;
	border-color: var(--bs-secondary) !important;
}

/* Quote Icon Decoration */
#testimonials .elementor-testimonial-content::before {
	content: "\f10d";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: block;
	font-size: 2rem;
	color: rgba(193, 13, 25, 0.1);
	margin-bottom: 0.75rem;
}

#testimonials .elementor-testimonial-content {
	font-family: var(--colegio-tae-font-body) !important;
	font-size: 1.15rem !important;
	line-height: 1.8 !important;
	color: var(--bs-body-color) !important;
	margin-bottom: 2.5rem !important;
	font-style: italic !important;
	flex-grow: 1 !important;
}

/* User Info Styling */
#testimonials .elementor-testimonial-meta {
	margin-top: auto !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid rgba(63, 64, 148, 0.06) !important;
}

#testimonials .elementor-testimonial-name {
	font-family: var(--colegio-tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: 1.35rem !important;
	color: var(--bs-primary) !important;
	margin-bottom: 0.25rem !important;
}

#testimonials .elementor-testimonial-job {
	font-family: var(--colegio-tae-font-body) !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	color: var(--bs-secondary) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
}

#testimonials .elementor-testimonial-image img {
	width: 70px !important;
	height: 70px !important;
	border: 5px solid #fff !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
	border-radius: 50% !important;
}

/* ---------- Galerías de Elementor (Masonry.js Colegio TAE) ---------- */
.elementor-image-gallery .gallery {
	display: block !important;
	width: calc(100% + 20px) !important;
	margin-left: -10px !important;
	position: relative !important;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.elementor-image-gallery .gallery.masonry-ready {
	opacity: 1;
}

/* Items individuales (ajustados para Masonry) */
.elementor-image-gallery .gallery-item {
	float: left !important;
	width: 25% !important;
	padding: 10px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

/* Patrón Bento (Anchos variables) */
.elementor-image-gallery .gallery-item:nth-child(7n+1) { width: 50% !important; }
.elementor-image-gallery .gallery-item:nth-child(7n+4) { width: 25% !important; }
.elementor-image-gallery .gallery-item:nth-child(7n+6) { width: 50% !important; }

.elementor-image-gallery .gallery-item img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	border-radius: 1.5rem !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 8px 24px rgba(21, 22, 43, 0.08) !important;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* Hover: Elevación y sombra premium */
.elementor-image-gallery .gallery-item:hover img {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 20px 45px rgba(63, 64, 148, 0.22) !important;
	border-color: var(--bs-secondary) !important;
}

/* Limpieza de elementos de Elementor */
.elementor-image-gallery .gallery-caption,
.elementor-image-gallery br {
	display: none !important;
}

/* Responsividad para Masonry */
@media (max-width: 991px) {
	.elementor-image-gallery .gallery-item { width: 50% !important; }
}

@media (max-width: 575px) {
	.elementor-image-gallery .gallery-item { width: 100% !important; }
}


/* ---------- Elementor Lightbox (Estilo Colegio TAE) ---------- */
/* Fondo con desenfoque y azul institucional semi-transparente */
.elementor-lightbox {
	background-color: rgba(63, 64, 148, 0.85) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
}

/* Forzar que el widget no tenga fondo propio para que el blur sea global */
.elementor-lightbox .dialog-widget-content {
	background-color: transparent !important;
	box-shadow: none !important;
}

/* Mejora opcional del botón de cierre para que combine */
.elementor-lightbox .elementor-lightbox-close-button {
	background-color: var(--bs-secondary) !important;
	color: #fff !important;
	border-radius: 50% !important;
	opacity: 1 !important;
	transition: all 0.3s ease !important;
	padding: 8px !important;
}

.elementor-lightbox .elementor-lightbox-close-button:hover {
	transform: scale(1.1) rotate(90deg);
	background-color: var(--colegio-tae-secondary-btn-hover) !important;
}

.elementor-lightbox .elementor-lightbox-close-button i {
	color: #fff !important;
}

/* Imagen del Lightbox: Redondeada, con borde blanco y sombra profunda */
.elementor-lightbox .elementor-slideshow-image img,
.elementor-lightbox .elementor-lightbox-image {
	border-radius: 1.5rem !important;
	border: 6px solid #ffffff !important;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6) !important;
	max-height: 82vh !important;
	object-fit: contain !important;
	background-color: #fff !important;
	/* Para evitar transparencias raras en el borde */
}

/* Ajuste del botón de cierre (usando selector corregido) */
.elementor-lightbox .dialog-lightbox-close-button {
	background-color: var(--bs-secondary) !important;
	color: #fff !important;
	border-radius: 50% !important;
	opacity: 1 !important;
	transition: all 0.3s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	top: 15px !important;
	right: 15px !important;
}

.elementor-lightbox .dialog-lightbox-close-button:hover {
	transform: scale(1.1) rotate(90deg) !important;
	background-color: var(--colegio-tae-secondary-btn-hover) !important;
}

.elementor-lightbox .dialog-lightbox-close-button i {
	color: #fff !important;
	font-size: 18px !important;
}

/* Espaciado para que la sombra no se corte */
.elementor-lightbox .elementor-slideshow-image {
	padding: 40px !important;
}

.elementor-slideshow__title {
	display: none;
}