/*
Theme Name: AMYCA Theme
Theme URI: https://amycaformacion.com/
Description: Tema propio de AMYCA Escuela de Negocios. Replica el diseño del sitio anterior sin Avada ni Fusion Builder.
Author: Wonder Studio
Version: 1.10.3
Text Domain: amyca
Requires at least: 6.1
Requires PHP: 8.1
License: GPL-2.0-or-later
*/

/* ---------- Tipografía servida desde el propio tema ----------
   Source Sans (Adobe, licencia SIL OFL: assets/fonts/OFL.txt). Antes se pedía a Google Fonts; ahora los archivos
   van en assets/fonts/ y el navegador del visitante no contacta con Google (RGPD). Son los mismos archivos
   WOFF2 que servía Google: Source Sans 3 es variable (un archivo cubre los grosores 300 a 700) y
   Source Sans Pro 400 es solo para la palabra de fondo del banner (letras sin contornos superpuestos).
   «latin» cubre el castellano; «latin-ext» solo se descarga si la página lleva otros caracteres. */

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Source Sans Pro";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-pro-400-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Source Sans Pro";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-pro-400-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--amyca-navy: #003366;
	--amyca-green: #33cc99;
	--amyca-green-dark: #26b384;
	--amyca-text: #747474;
	--amyca-border: #e5e5e5;
	--amyca-soft: #f3f6fb;
	--amyca-btn-alt: #cccccc;
	--amyca-white: #ffffff;
	--amyca-width: 1232px; /* 1200px útiles (x=360 a 1560 en 1920), como el original */
	--amyca-gutter: 16px;
	--amyca-font: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--amyca-white);
	color: var(--amyca-text);
	font-family: var(--amyca-font);
	font-size: 18px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--amyca-navy);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--amyca-navy);
	line-height: 1.15;
	margin: 0 0 0.6em;
}

h1 {
	font-size: 80px;
	font-weight: 300;
	line-height: 1.05;
}

h2 {
	font-size: 42px;
	font-weight: 400;
}

h3 {
	font-size: 24px;
	font-weight: 400;
}

h4,
h5,
h6 {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--amyca-green);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	padding: 8px 12px;
	background: var(--amyca-white);
	color: var(--amyca-navy);
	clip: auto;
	width: auto;
	height: auto;
}

.amyca-container {
	width: 100%;
	max-width: var(--amyca-width);
	margin: 0 auto;
	padding: 0 var(--amyca-gutter);
}

.amyca-section {
	padding: 70px 0;
}

/* ---------- Botones ---------- */

.amyca-btn {
	display: inline-block;
	padding: 12px 26px;
	border: 0;
	background: var(--amyca-navy);
	color: var(--amyca-white);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.amyca-btn:hover,
.amyca-btn:focus-visible {
	background: #1a4d80;
	color: var(--amyca-white);
}

.amyca-btn--alt {
	background: var(--amyca-btn-alt);
	color: var(--amyca-navy);
}

.amyca-btn--alt:hover,
.amyca-btn--alt:focus-visible {
	background: #b5b5b5;
	color: var(--amyca-navy);
}

.amyca-btn--green {
	background: var(--amyca-green);
	color: var(--amyca-white);
}

.amyca-btn--green:hover,
.amyca-btn--green:focus-visible {
	background: var(--amyca-green-dark);
	color: var(--amyca-white);
}

/* ---------- Cabecera: blanca, fija al hacer scroll (como el original) ---------- */

.amyca-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--amyca-white);
	transition: box-shadow 0.25s;
}

.amyca-header.is-scrolled,
.amyca-header.is-open {
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

.amyca-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 126px; /* cabecera del original: 124px (logo a 23px del borde) */
	/* Cabecera y slider del original: 1248px con 24px de margen → contenido de 1200px (x=360 a 1920). */
	max-width: 1248px;
	margin: 0 auto;
	padding: 0 24px;
}

.amyca-logo img {
	display: block;
	width: 210px; /* logo del original: 210×84 */
	height: auto;
}

/* Menú centrado entre el logo y el botón del campus, como el original. */
.amyca-nav {
	display: flex;
	align-items: center;
	flex: 1;
}

.amyca-nav__list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 1;
	gap: 48px;
	list-style: none;
	margin: 0;
	/* Menú pegado al botón del campus (49px entre el último ítem y el botón), como el original. */
	padding: 0 42px 0 0;
}

.amyca-nav__list > li {
	position: relative;
}

.amyca-nav__list > li > a {
	display: block;
	padding: 10px 0 12px;
	border-bottom: 1px solid transparent;
	color: var(--amyca-navy);
	font-size: 16px;
	text-decoration: none;
}

/* Sin recuadro de foco tras un clic con el ratón (solo con teclado). */
.amyca-nav__list a:focus:not(:focus-visible) {
	outline: none;
}

/* Ítem activo o con el ratón encima: subrayado azul marino, como el original. */
.amyca-nav__list > li > a:hover,
.amyca-nav__list > li > a:focus-visible,
.amyca-nav__list > li:hover > a,
.amyca-nav__list > li:focus-within > a,
.amyca-nav__list > li.is-current > a {
	color: var(--amyca-navy);
	border-bottom-color: var(--amyca-navy);
}

.amyca-nav__list .amyca-nav__sub {
	position: absolute;
	top: 100%;
	left: 0;
	width: 300px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--amyca-white);
	border-top: 3px solid var(--amyca-navy);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	display: none;
}

.amyca-nav__sub li + li {
	border-top: 1px solid var(--amyca-border);
}

.amyca-nav__list li:hover > .amyca-nav__sub,
.amyca-nav__list li:focus-within > .amyca-nav__sub,
.amyca-nav__list li.is-open > .amyca-nav__sub {
	display: block;
}

.amyca-nav__sub a {
	display: block;
	padding: 14px 20px;
	color: var(--amyca-navy);
	font-size: 16px;
	line-height: 1.3;
	text-decoration: none;
}

.amyca-nav__sub a:hover,
.amyca-nav__sub a:focus-visible {
	background: #f2efef;
	color: var(--amyca-navy);
}

.amyca-nav__campus {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	margin-left: 10px;
	padding: 6px 12px 6px 11px;
	border-radius: 4px;
	background: var(--amyca-navy);
	color: var(--amyca-white);
	font-size: 13px;
	line-height: 20px;
	text-decoration: none;
}

.amyca-nav__campus:hover,
.amyca-nav__campus:focus-visible {
	background: #1a4d80;
	color: var(--amyca-white);
}

.amyca-nav__campus svg {
	width: 15px;
	height: 15px;
	padding-right: 8px;
	border-right: 1px solid rgba(255, 255, 255, 0.35);
	box-sizing: content-box;
	fill: currentColor;
}

/* Lupa de la cabecera (15px, a 48px del botón) con el campo desplegable del original. */
.amyca-search {
	position: relative;
	flex: 0 0 auto;
	margin-left: 48px;
}

.amyca-search__toggle {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	color: var(--amyca-navy);
	cursor: pointer;
}

.amyca-search__toggle svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.amyca-search__form {
	position: absolute;
	top: calc(100% + 24px);
	right: 0;
	display: none;
	width: 300px;
	padding: 12px;
	background: var(--amyca-white);
	border-top: 3px solid var(--amyca-navy);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.amyca-search.is-open .amyca-search__form {
	display: flex;
	gap: 8px;
}

.amyca-search__form input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid var(--amyca-border);
	font: inherit;
	font-size: 15px;
}

.amyca-search__submit {
	padding: 8px 12px;
	border: 0;
	background: var(--amyca-navy);
	color: var(--amyca-white);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.amyca-search-results__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.amyca-search-results__list li {
	padding: 20px 0;
	border-bottom: 1px solid var(--amyca-border);
}

.amyca-search-results__list h3 {
	margin: 0 0 6px;
}

/* Título de resultados de búsqueda y de la página 404: del tamaño de los títulos de sección, no del banner. */
.amyca-search-results h1 {
	font-size: clamp(30px, 6vw, 42px);
	line-height: 1.15;
}

.amyca-search-results .amyca-btn + .amyca-btn {
	margin-left: 12px;
}

.amyca-nav__toggle {
	display: none;
	background: none;
	border: 1px solid var(--amyca-border);
	padding: 8px 12px;
	font: inherit;
	color: var(--amyca-navy);
	cursor: pointer;
}

/* ---------- Hero ---------- */

.amyca-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 560px;
	padding: 80px 0 170px;
	background-color: var(--amyca-navy);
	background-size: cover;
	background-position: center;
	color: var(--amyca-white);
}

.amyca-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 40, 80, 0.55) 0%, rgba(0, 40, 80, 0.15) 100%);
}

.amyca-hero > .amyca-container {
	position: relative;
	z-index: 1;
	/* Mismo contenedor que la cabecera y el slider de programas: 1200px útiles desde x=360. */
	max-width: 1248px;
	padding: 0 24px;
}

.amyca-hero h1,
.amyca-hero .amyca-hero__title {
	color: var(--amyca-white);
	font-size: 80px;
	font-weight: 300;
	max-width: 780px;
	margin-bottom: 0.4em;
}

.amyca-hero__kicker {
	margin: 0 0 6px;
	color: var(--amyca-white);
	font-size: 18px;
}

.amyca-hero__subtitle {
	margin: 0 0 40px;
	color: var(--amyca-white);
	font-size: 18px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.amyca-hero__cat {
	display: block;
	margin-bottom: 14px;
	color: var(--amyca-white);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* Slider del inicio: con JavaScript se muestra una promoción a la vez. */
.amyca-slider {
	position: relative;
}

/* Las diapositivas no llevan velo: las fotos ya vienen tratadas. */
.amyca-slider .amyca-hero {
	padding-top: 170px;
}

.amyca-slider .amyca-hero::before {
	display: none;
}

/* Primera diapositiva (MBA): texto verde oscuro sobre la foto clara, como el original
   (h2 58px/52px peso 400; antetítulo y subtítulo h3 24px/30px). */
.amyca-slide--dark h1,
.amyca-slide--dark .amyca-hero__title,
.amyca-slide--dark .amyca-hero__kicker {
	color: #003a08;
}

.amyca-slide--dark .amyca-hero__title {
	font-size: 58px;
	line-height: 52px;
	font-weight: 400;
	max-width: 760px;
	margin: 6px 0 20px;
}

.amyca-slide--dark .amyca-hero__kicker,
.amyca-slide--dark .amyca-hero__subtitle {
	font-size: 24px;
	line-height: 30px;
	letter-spacing: 0;
}

.amyca-slide--dark .amyca-hero__subtitle {
	margin-bottom: 40px;
	color: #000000;
}

/* Segunda diapositiva (Economía Circular): antetítulo y título en una sola pieza de 56px/56px
   peso 300 color #fefef0; «Inicio Mayo 2027» en negrita 24px; sin velo (la foto ya trae el degradado). */
.amyca-slide--light .amyca-hero__kicker,
.amyca-slide--light .amyca-hero__title {
	color: #fefef0;
	font-size: 56px;
	line-height: 56px;
	font-weight: 300;
}

.amyca-slide--light .amyca-hero__kicker {
	margin: 0;
	text-transform: uppercase;
}

.amyca-slide--light .amyca-hero__title {
	max-width: 740px;
	margin: 0 0 29px;
}

.amyca-slide--light .amyca-hero__subtitle {
	margin: 0 0 48px;
	color: #fefef0;
	font-size: 24px;
	line-height: 30px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

/* Botón «Inscríbete» del original: 114×43, 13px. */
.amyca-slider .amyca-hero .amyca-btn {
	min-width: 0;
	padding: 11px 29px;
	font-size: 13px;
	line-height: 21px;
}

.js .amyca-slider .amyca-slide {
	display: none;
}

.js .amyca-slider .amyca-slide.is-active {
	display: flex;
}

.amyca-slide--light::before {
	background: none;
}

.amyca-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 130px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.amyca-slider__dots .amyca-carousel__dot {
	background: rgba(255, 255, 255, 0.45);
}

.amyca-slider__dots .amyca-carousel__dot[aria-current="true"] {
	background: var(--amyca-white);
}

.amyca-hero--page {
	min-height: 380px;
}

.amyca-hero--page h1 {
	font-size: 60px;
}

.amyca-hero--program {
	min-height: 560px;
	padding-bottom: 120px;
}

.amyca-hero--program::before {
	background: linear-gradient(180deg, rgba(38, 179, 132, 0.65) 0%, rgba(38, 179, 132, 0.85) 100%);
}

.amyca-hero--program .amyca-btn {
	margin-top: 36px;
	min-width: 180px;
}

/* ---------- Hero con slide (programas, AMYCA, contacto): como el sitio original ---------- */

.amyca-slide-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 620px;
	padding: 170px 0 110px;
	background-color: var(--amyca-navy);
	background-size: cover;
	background-position: center;
	color: var(--amyca-white);
	overflow: hidden;
}

.amyca-slide-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	/* Velo del CSS original (el de Másters por defecto); cada tipo trae el suyo en --amyca-veil. */
	background: var(--amyca-veil, linear-gradient(150deg, rgba(102, 102, 102, 1) 0%, rgba(102, 102, 102, .5) 40%, rgba(0, 153, 153, 1) 100%));
}

.amyca-container.amyca-slide-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	/* Mismo contenedor que la cabecera: 1200px útiles desde x=360 a 1920. */
	max-width: 1248px;
	padding: 0 24px;
}

.amyca-slide-hero__text {
	/* Columna de texto del slider original: el título corta en «Gestión de la / Economía Circular y». */
	max-width: 720px;
}

.amyca-slide-hero__kicker {
	margin: 0;
	font-size: 24px;
	line-height: 1;
	color: var(--amyca-white);
}

.amyca-slide-hero h1 {
	/* h1 80px/1 del slider original; 14px hasta el subtítulo. */
	margin: 0 0 14px;
	color: var(--amyca-white);
	font-size: 80px;
	font-weight: 300;
	line-height: 1;
}

.amyca-slide-hero__caption {
	/* h3 del slider original: 24px, interlineado 1,1; 41px hasta el botón. */
	margin: 0 0 41px;
	max-width: 720px;
	font-size: 24px;
	line-height: 1.1;
	color: var(--amyca-white);
}

/* Antetítulo tipo "sobre nosotros": versalitas pequeñas (13px, 68px de ancho en el original). */
.amyca-slide-hero__kicker--small {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
}

/* Hero sin marca de agua (AMYCA, contacto): más bajo y con velo azul, sin turquesa. */
.amyca-slide-hero--plain {
	min-height: 620px;
	padding: 170px 0 110px;
}

.amyca-slide-hero--plain::before {
	/* Sin velo: el original muestra la foto tal cual (ya viene oscurecida de origen). */
	background: none;
}

.amyca-slide-hero--plain h1 {
	/* h1 100px/300 de las opciones del tema original: «AMYCA Escuela / de Negocios» en dos líneas. */
	font-size: 100px;
	line-height: 1;
}

.amyca-slide-hero--plain .amyca-slide-hero__text {
	max-width: 720px;
}

/* Botón pequeño del slider original (104×42, 13px), del color de la categoría (clase «master button-small»). */
.amyca-slide-hero .amyca-btn {
	min-width: 0;
	padding: 11px 30px;
	font-size: 13px;
	line-height: 20px;
	background: var(--amyca-accent, var(--amyca-navy));
}

/* Logo UEMC a su tamaño real (319×60), sin caja: así va en el original. */
.amyca-slide-hero__uemc {
	flex: 0 0 auto;
	width: 319px;
	height: auto;
	margin-top: -4px;
}

.amyca-slide-hero__mark {
	position: absolute;
	right: -2px;
	bottom: -33px;
	z-index: 0;
	/* En el original la palabra era una imagen; aquí es texto: Source Sans Pro 400
	   (letras de un solo contorno: el trazo no cruza la «e» ni la «t»), 223px y un 7 % más ancha,
	   que es la proporción medida en el original (altura 169px y ancho 766px a 1920px). */
	font-size: 223px;
	font-family: "Source Sans Pro", "Source Sans 3", sans-serif;
	font-weight: 400;
	transform: scaleX(1.07);
	transform-origin: right bottom;
	line-height: 1;
	color: transparent;
	/* Color del contorno de cada tipo (Másters #33ffff, Grados #33ccff, Cursos #5cd6ad, los del original). */
	-webkit-text-stroke: 2px var(--amyca-mark, #33ffff);
	pointer-events: none;
	user-select: none;
}

/* Con slide, la cabecera va transparente sobre la foto; al bajar, blanca y fija. */
.amyca-has-slide .amyca-header {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	/* Degradado blanco de 100 % arriba a 0 % abajo, como el original: medido en
	   el sitio anterior se funde a lo largo de ~240px, no solo en la altura del menú. */
	padding-bottom: 104px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	box-shadow: none;
	pointer-events: none;
}

.amyca-has-slide .amyca-header__inner {
	pointer-events: auto;
}


.amyca-has-slide .amyca-header.is-scrolled,
.amyca-has-slide .amyca-header.is-open {
	position: fixed;
	padding-bottom: 0;
	background: var(--amyca-white);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
	pointer-events: auto;
}

/* ---------- Inicio: tarjetas de valor sobre el borde del hero ---------- */

.amyca-value-section {
	position: relative;
	z-index: 2;
	/* Las tarjetas del original montan 50px sobre el banner. */
	margin-top: -50px;
}

.amyca-value-blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

/* Tarjetas del original: 366×234, icono de 64px, título 22px, texto 13px/19px (21px bajo el texto más largo). */
.amyca-vcard {
	padding: 23px 22px 21px;
	background: var(--amyca-soft);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.amyca-vcard p:has(> img:only-child) {
	margin: 0;
	line-height: 0;
}

.amyca-vcard img {
	display: block;
	width: 64px;
	height: auto;
	margin-bottom: 26px;
}

.amyca-vcard h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 4px;
}

.amyca-vcard p {
	margin: 0;
	font-size: 13px;
	line-height: 19px;
}

.amyca-vcard > :last-child {
	margin-bottom: 0;
}

#destacados.amyca-section {
	padding-top: 42px;
}

#destacados .amyca-section-head h2 {
	font-size: 42px;
	line-height: 1.05;
}

/* ---------- Cabeceras de sección con botones ---------- */

.amyca-section-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.amyca-section-head h2 {
	margin: 0;
}

.amyca-section-head__actions {
	display: flex;
	gap: 28px;
}

/* Botones del original: 32px de alto, 13px, «Ver todos» de 166px. */
.amyca-section-head__actions .amyca-btn {
	min-width: 166px;
	padding: 6px 10px;
	font-size: 13px;
	line-height: 20px;
}

/* ---------- Tarjetas de programa (foto + categoría + título) ---------- */

.amyca-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.amyca-grid-wrap {
	margin: 0 0 1em;
}

.amyca-tile {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, var(--amyca-navy), var(--amyca-green));
	color: var(--amyca-white);
	text-decoration: none;
}

.amyca-tile__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s;
}

.amyca-tile:hover .amyca-tile__img,
.amyca-tile:focus-visible .amyca-tile__img {
	transform: scale(1.04);
}

.amyca-tile__over {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 22px 24px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.05) 65%);
}

.amyca-tile__cat {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.amyca-tile__title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.amyca-tile__text {
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.4;
}

/* Inicio: la primera tarjeta destacada ocupa dos columnas. */
.amyca-grid--featured > li:first-child {
	grid-column: span 2;
}

.amyca-grid--featured > li:first-child .amyca-tile {
	aspect-ratio: auto;
	height: 100%;
	min-height: 280px;
}

.amyca-grid--featured > li:first-child .amyca-tile__title {
	font-size: 26px;
}

/* ---------- Cifras ---------- */

.amyca-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 30px;
}

.amyca-stat {
	padding: 30px 20px;
	background: var(--amyca-white);
	border: 1px solid var(--amyca-border);
	text-align: center;
}

.amyca-stat__num {
	display: block;
	color: var(--amyca-navy);
	font-size: 40px;
	line-height: 1.1;
}

.amyca-stat__label {
	font-size: 17px;
	color: var(--amyca-navy);
}

.amyca-center {
	text-align: center;
}

.amyca-home-stats {
	background: var(--amyca-soft);
}

.amyca-home-stats h2 em {
	color: inherit;
}

/* ---------- Testimonios ---------- */

.amyca-testimonials {
	background: #c5cce0;
	padding: 70px 0;
}

.amyca-testimonial__photo {
	display: block;
	width: 110px;
	height: 110px;
	margin: 0 auto 18px;
	border-radius: 50%;
	object-fit: cover;
}

.amyca-testimonials blockquote cite strong {
	display: block;
	font-weight: 700;
}

.amyca-testimonials blockquote cite span {
	display: block;
	font-size: 14px;
	color: var(--amyca-text);
}

.amyca-testimonials blockquote {
	margin: 0 auto 20px;
	max-width: 960px;
	padding: 36px 40px;
	background: var(--amyca-white);
	text-align: center;
	font-size: 17px;
}

.amyca-testimonials blockquote h3 {
	font-size: 17px;
	font-weight: 600;
	color: var(--amyca-navy);
}

.amyca-testimonials blockquote cite {
	display: block;
	margin-top: 10px;
	font-style: normal;
	font-size: 15px;
	color: var(--amyca-navy);
}

/* Carrusel: con JavaScript se muestra un testimonio a la vez. */
.js .amyca-testimonials blockquote {
	display: none;
}

.js .amyca-testimonials blockquote.is-active {
	display: block;
}

.amyca-carousel__nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

.amyca-carousel__btn {
	width: 40px;
	height: 40px;
	border: 0;
	background: var(--amyca-white);
	color: var(--amyca-navy);
	font: inherit;
	font-size: 20px;
	cursor: pointer;
}

.amyca-carousel__btn:hover,
.amyca-carousel__btn:focus-visible {
	background: var(--amyca-navy);
	color: var(--amyca-white);
}

.amyca-carousel__dots {
	display: flex;
	gap: 6px;
	margin: 0 10px;
}

.amyca-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--amyca-white);
	cursor: pointer;
}

.amyca-carousel__dot[aria-current="true"] {
	background: var(--amyca-navy);
}

/* ---------- Acuerdos ---------- */

.amyca-partners {
	padding: 70px 0;
}

.amyca-partners__title {
	margin: 0 0 40px;
	font-size: 14px;
	text-align: center;
	color: var(--amyca-navy);
}

/* Logos en fila centrada; los que no caben pasan a otra fila. */
.amyca-partner-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px 70px;
	text-align: center;
}

.amyca-partner-grid h6 {
	margin-bottom: 26px;
	font-size: 14px;
	color: var(--amyca-navy);
}

.amyca-partner-grid img {
	width: 240px;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* ---------- Programa: banda de ficha, pestañas, aside ---------- */

.amyca-facts-band {
	background: var(--amyca-accent, var(--amyca-green));
	color: var(--amyca-white);
}

.amyca-facts-band ul {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	max-width: var(--amyca-width);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.amyca-facts-band li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 28px 14px;
	border-left: 1px solid rgba(255, 255, 255, 0.35);
	text-align: center;
	font-size: 14px;
	line-height: 1.35;
}

.amyca-facts-band li:first-child {
	border-left: 0;
}

.amyca-facts-band img {
	width: 44px;
	height: 44px;
	object-fit: contain;
}

/* Color secundario por categoría: verde en cursos, verde azulado en másters y grados. */
.amyca-program {
	--amyca-accent: #009999;
	/* El original empieza las columnas a 60px del banner. */
	padding: 60px 0 70px;
}

.amyca-program--masters,
.amyca-program--grados {
	/* Color «master» del original (#009999): botón, títulos y tarjetas. */
	--amyca-accent: #009999;
}

.amyca-program--cursos {
	--amyca-accent: #24937e;
}

.amyca-program__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

/* Columnas del original a 1920px: contenido 784px (x=360) y lateral 368px (x=1192). */
@media (min-width: 1248px) {
	.amyca-program__grid {
		grid-template-columns: 784px 368px;
	}
}

.amyca-tabs__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--amyca-border);
}

/* Pestañas como el original (16px/16px en mayúsculas, 11px de relleno); si no caben, pasan a una segunda fila
   con el texto entero (decisión de Calu, 10/2026). */
.amyca-tabs__tab {
	flex: 1 1 auto;
	padding: 11px 14px;
	margin-bottom: -1px;
	background: var(--amyca-soft);
	border: 0;
	border-top: 3px solid transparent;
	color: var(--amyca-accent, var(--amyca-navy));
	font: inherit;
	font-size: 16px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
}

.amyca-tabs__tab[aria-selected="true"] {
	background: var(--amyca-white);
	border-top-color: var(--amyca-accent, var(--amyca-green));
}

.amyca-tabs__tab:focus-visible {
	outline: 2px solid var(--amyca-accent, var(--amyca-navy));
	outline-offset: -2px;
}

/* Enlaces y subtítulos del programa en el color de acento, sin subrayado. */
.amyca-program .amyca-content a {
	color: var(--amyca-accent, var(--amyca-navy));
	text-decoration: none;
}

.amyca-program .amyca-content a:hover,
.amyca-program .amyca-content a:focus-visible {
	text-decoration: underline;
}

.amyca-program .amyca-content h4,
.amyca-program .amyca-content h5,
.amyca-program .amyca-content h6 {
	color: var(--amyca-accent, var(--amyca-green));
}

.amyca-tabs__panel {
	min-height: 120px;
	padding: 15px;
}

.amyca-content > * + * {
	margin-top: 1em;
}

.amyca-content h4 {
	margin-top: 1.4em;
}

.amyca-content h3 {
	font-size: 22px;
}

.amyca-cta {
	margin: 1.5em 0;
}

/* "Solicita más información": título en color de acento sobre blanco, como el original. */
.amyca-solicita {
	margin-top: 60px;
	padding: 0;
}

.amyca-solicita h2 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--amyca-accent, var(--amyca-navy));
}

/* Botón «Ir a WhatsApp» del programa (número en la ficha del programa) y texto a su lado. */
.amyca-solicita__wa {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin: 16px 0 0;
	font-size: 14px;
	color: var(--amyca-text);
}

/* Con .amyca-program .amyca-content delante para ganar a la regla de color de los enlaces del programa. */
.amyca-program .amyca-content .amyca-btn--wa {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 24px;
	border-radius: 5px;
	background: var(--amyca-accent, var(--amyca-navy));
	color: var(--amyca-white);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.amyca-btn--wa svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.amyca-program .amyca-content .amyca-btn--wa:hover,
.amyca-program .amyca-content .amyca-btn--wa:focus-visible {
	background: var(--amyca-accent-hover, var(--amyca-navy));
	color: var(--amyca-white);
	text-decoration: none;
}

.amyca-solicita .amyca-btn--green {
	background: var(--amyca-accent, var(--amyca-green));
}

/* Formulario dentro del programa: ancho de la columna, botón del color de la categoría. */
.amyca-solicita .fluentform {
	max-width: none;
	margin: 24px 0 0;
}

.amyca-solicita .fluentform .ff-btn-submit {
	background: var(--amyca-accent, var(--amyca-navy));
}

.amyca-solicita .fluentform .ff-btn-submit:hover {
	background: var(--amyca-navy);
}

.amyca-aside {
	position: sticky;
	top: 120px;
}

.amyca-aside .amyca-btn {
	/* Botón del original: 368×43, 14px/17px, esquinas de 5px, 20px debajo. */
	display: block;
	width: 100%;
	margin-bottom: 20px;
	padding: 13px 29px;
	border-radius: 5px;
	background: var(--amyca-accent, var(--amyca-green));
	color: var(--amyca-white);
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
}

.amyca-aside .amyca-btn:hover {
	filter: brightness(0.92);
}

.amyca-aside__wa {
	display: block;
	margin-bottom: 40px;
	text-align: center;
	font-size: 14px;
}

/* Ficha rápida lateral (másteres: los datos vienen al final del contenido) */
.amyca-facts-side {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
}

/* Texto a la izquierda e icono a la derecha, sin círculo, como el original. */
.amyca-facts-side li {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	/* Filas del original: 26px arriba y abajo, línea gris #ccc, texto 18px/23px (valor en itálica). */
	padding: 26px 0;
	border-bottom: 1px solid #cccccc;
	font-size: 18px;
	line-height: 23px;
	color: #666666;
}

.amyca-facts-side img {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

/* Iconos de la ficha lateral en el color del tipo de programa (el dibujo original hace de máscara). */
.amyca-facts-side__icon {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	background: var(--amyca-accent, #009999);
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}

/* Color del tipo dentro de la ficha: viñetas y foco del formulario (los h4–h6 y enlaces ya lo usan; h2/h3 siguen azul marino como el original). */
.amyca-program .amyca-content li::marker {
	color: var(--amyca-accent, var(--amyca-green));
}

.amyca-program .fluentform .ff-el-form-control:focus {
	border-color: var(--amyca-accent, var(--amyca-green));
	box-shadow: none;
}

.amyca-facts-side em {
	font-size: 18px;
	line-height: 23px;
	color: #666666;
}

/* Caja rosa «Habla con nosotros vía WhatsApp» del original (368×131, relleno 35px, 18px/23px). */
.amyca-facts-side li.amyca-facts-side__box {
	display: block;
	padding: 35px 35px 50px;
	border-bottom: 0;
	background: #f4e2e1;
	font-size: 18px;
	line-height: 23px;
	color: #666666;
}

/* «Título de Formación Permanente…»: 18px/23px sin línea, como el original. */
.amyca-facts-side li:not(:has(img)):not(:has(.amyca-facts-side__icon)):not(.amyca-facts-side__box) {
	display: block;
	padding: 0;
	border-bottom: 0;
	font-size: 18px;
	line-height: 23px;
	color: #666666;
}

.amyca-aside__note {
	margin: 15px 0 120px;
	font-size: 13px;
	line-height: 20px;
	color: var(--amyca-text);
}

/* «Quizás te interese…» del original: caja de 368×237 con degradado azul marino → gris azulado, 22px itálica blanca y botón «Consúltanos» a la derecha. */
.amyca-aside__callout {
	margin: 0 0 40px;
	padding: 28px 28px 27px 31px;
	background: linear-gradient(100deg, #0d3463 0%, #3a5b85 55%, #8fa3ab 100%);
	text-align: right;
}

.amyca-aside__callout p {
	margin: 0 0 44px;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 400;
	color: var(--amyca-white);
	text-align: left;
}

.amyca-aside__callout .amyca-btn {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 13px 29px;
	border-radius: 5px;
	background: var(--amyca-navy);
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
}

/* ---------- Página AMYCA ---------- */

.amyca-about__intro {
	/* Medido en el original: cita a 105px del borde superior, 150px bajo el párrafo. */
	padding: 100px 0 150px;
}

.amyca-about__intro h2 {
	/* Cita del original: 40px (calibrado por el ancho de la primera línea), interlineado 1,05, a todo el ancho. */
	font-size: 40px;
	line-height: 1.05;
	max-width: none;
	margin: 0 auto 36px;
}

.amyca-about__intro h2 em,
.amyca-about__objetivos h2 em {
	color: inherit;
}

.amyca-about__intro h5 {
	max-width: none;
	margin: 0 auto;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--amyca-text);
	line-height: 1.6;
}

/* Franja de acuerdos a ancho completo: texto alineado con el contenido, logos a la derecha. */
.amyca-about__acuerdos {
	background: #c5cce0;
}

.amyca-about__acuerdos-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	max-width: none;
	padding: 0;
}

.amyca-about__acuerdos-text {
	/* El original lleva el texto a 60px del borde, no alineado al contenedor, y centrado en vertical. */
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 64px 60px 50px;
	font-size: 16px;
	line-height: 30px;
}

.amyca-about__logos {
	display: grid;
	/* Cada caja mide lo que mide su logo (con 1fr 1fr las dos tomaban el alto de la mayor). */
	grid-auto-rows: auto;
	padding: 0;
	background: #ccd4eb;
}

.amyca-about__logos > div {
	/* Cajas de 144 / 196 px como el original (logo a 33px del borde). */
	padding: 32px 30px 31px;
}

.amyca-about__logos > div + div {
	padding-top: 30px;
}

.amyca-about__logos > div:nth-child(even) {
	background: #e7ecfa;
}

.amyca-about__acuerdos-text h4 {
	margin: 0 0 45px;
	font-size: 13px;
	line-height: 1;
	color: var(--amyca-navy);
}

.amyca-about__acuerdos-text h3 {
	font-size: 20px;
	line-height: 1.5;
	color: var(--amyca-navy);
}

.amyca-about__logos h4 {
	/* Etiquetas del original: 13px, interlineado 12px, 13px hasta el logo. */
	color: var(--amyca-navy);
	margin: 0 0 13px;
	font-size: 13px;
	line-height: 12px;
}

.amyca-about__logos p {
	margin: 0;
	line-height: 0;
}

.amyca-about__acuerdos-text .amyca-acuerdos-texto {
	margin-top: 0;
}

/* El texto importado trae enlaces a Másters/Grados/Cursos; el original los mostraba como texto corrido. */
.amyca-acuerdos-texto a {
	color: inherit;
	text-decoration: none;
}

.amyca-about__logos img {
	max-width: 300px;
	margin: 0 auto;
}

.amyca-about__compromiso {
	/* Medido en el original: icono a 101px del borde, 126px bajo las listas. */
	padding: 82px 0 117px;
	background-color: #ededed;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.amyca-about__compromiso img {
	max-width: 120px;
	margin: 0 auto 13px;
}

.amyca-about__compromiso h2 {
	/* Título del original: 41px, interlineado 1 (calibrado: la primera línea termina en «…en materia»). */
	max-width: none;
	margin: 0 auto;
	font-size: 41px;
	font-style: italic;
	line-height: 1;
	color: var(--amyca-navy);
}

.amyca-about__compromiso h2 em,
.amyca-about__objetivos h2 em {
	color: inherit;
}

/* Lista a dos columnas, como el original. */
.amyca-about__compromiso ul {
	columns: 2;
	column-gap: 60px;
	text-align: left;
	margin: 0 auto;
	padding-left: 20px;
	font-size: 16px;
	line-height: 25px;
}

.amyca-about__compromiso li {
	break-inside: avoid;
	margin-bottom: 16px;
	padding-left: 4px;
}

.amyca-about__galeria {
	padding: 69px 0 0;
}

/* Carrusel de 5 columnas del original (224px, 14px de separación); si hay más logos, se desplazan en horizontal. */
.amyca-about__galeria ul {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 224px;
	gap: 14px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0 0 52px;
	border-bottom: 1px solid var(--amyca-border);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.amyca-about__galeria ul::-webkit-scrollbar {
	display: none;
}

.amyca-about__galeria li {
	scroll-snap-align: start;
}

.amyca-about__galeria img {
	display: block;
	width: 224px;
	height: 224px;
	object-fit: contain;
}

.amyca-about__objetivos {
	/* Medido en el original: título a 107px de la línea, 123px bajo las listas. */
	padding: 100px 0 110px;
}

.amyca-about__objetivos h2 {
	font-size: 40px;
	line-height: 1.12;
}

.amyca-about__objetivos ul {
	columns: 2;
	column-gap: 60px;
	text-align: left;
	margin: 40px auto 0;
	padding-left: 20px;
	font-size: 16px;
	line-height: 25px;
}

.amyca-about__objetivos li {
	break-inside: avoid;
	margin-bottom: 16px;
}

.amyca-page--contacta-con-nosotros h2 {
	font-size: 30px;
	line-height: 1.3;
}

.amyca-page--contacta-con-nosotros h2 em {
	color: var(--amyca-white);
}

/* ---------- Programas: filtro por categoría ---------- */

.amyca-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 30px;
}

.amyca-filter__btn {
	padding: 10px 20px;
	border: 1px solid var(--amyca-border);
	background: var(--amyca-white);
	color: var(--amyca-navy);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

.amyca-filter__btn.is-active,
.amyca-filter__btn:hover {
	background: var(--amyca-navy);
	border-color: var(--amyca-navy);
	color: var(--amyca-white);
}

.amyca-grid > li.is-hidden {
	display: none;
}

/* ---------- Curso Marketing para Abogados ---------- */

.amyca-abogados__banner {
	display: block;
	width: 100%;
	max-width: var(--amyca-width);
	margin: 0 auto;
}

.amyca-abogados__title {
	text-align: center;
	font-size: 36px;
	text-transform: uppercase;
	margin-bottom: 36px;
}

.amyca-abogados__intro {
	display: grid;
	grid-template-columns: 1fr 180px;
	gap: 40px;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
}

.amyca-abogados__intro img {
	width: 150px;
	justify-self: center;
}

.amyca-abogados__metodologia {
	background: var(--amyca-soft);
}

.amyca-abogados__metodologia-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}

.amyca-abogados__metodologia-grid div {
	display: grid;
	gap: 16px;
}

.amyca-abogados__metodologia-grid img {
	display: block;
	width: 100%;
	height: auto;
}

.amyca-abogados__profes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.amyca-abogados__profes img {
	display: block;
	width: 170px;
	height: 170px;
	margin: 0 auto 16px;
	border-radius: 50%;
	object-fit: cover;
}

.amyca-abogados__profes strong {
	display: block;
	font-size: 16px;
	letter-spacing: 1px;
	color: var(--amyca-navy);
}

.amyca-abogados__profes span {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.amyca-abogados .amyca-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.amyca-abogados .amyca-content td {
	padding: 8px 10px;
	border: 1px solid var(--amyca-border);
	vertical-align: top;
}

/* ---------- Política de privacidad: columna de lectura ---------- */

.amyca-page--politica-privacidad .amyca-content {
	max-width: 900px;
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Página de contacto: formulario sobre azul marino, como el original */
.amyca-page--contacta-con-nosotros {
	background: var(--amyca-navy);
	color: var(--amyca-white);
}

.amyca-page--contacta-con-nosotros h2,
.amyca-page--contacta-con-nosotros h3,
.amyca-page--contacta-con-nosotros p,
.amyca-page--contacta-con-nosotros a {
	color: var(--amyca-white);
}

.amyca-page--contacta-con-nosotros .amyca-btn {
	background: var(--amyca-green);
}

/* ---------- Formulario (Fluent Forms) ---------- */

.amyca-content .fluentform {
	max-width: 640px;
	margin: 28px auto 0;
	text-align: left;
}

.amyca-content .fluentform fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.amyca-content .fluentform .ff_screen_reader_title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.amyca-content .fluentform .ff-el-group {
	margin-bottom: 18px;
}

.amyca-content .fluentform .ff-el-input--label label {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--amyca-navy);
}

.amyca-content .fluentform .ff-el-form-control {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #d5dbe2;
	border-radius: 0;
	background: var(--amyca-white);
	color: #222222;
	font: inherit;
	font-size: 15px;
	box-shadow: none;
}

.amyca-content .fluentform .ff-el-form-control:focus {
	border-color: var(--amyca-green);
	outline: 0;
	box-shadow: 0 0 0 2px rgba(51, 204, 153, 0.25);
}

.amyca-content .fluentform .ff-el-tc,
.amyca-content .fluentform .ff-el-form-check-label {
	font-size: 14px;
	font-weight: 400;
	color: var(--amyca-text);
}

.amyca-content .fluentform .ff-el-tc a {
	color: var(--amyca-navy);
	text-decoration: underline;
}

.amyca-content .fluentform .ff-btn-submit {
	display: inline-block;
	padding: 12px 30px;
	border: 0;
	border-radius: 0;
	background: var(--amyca-navy);
	color: var(--amyca-white);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
}

.amyca-content .fluentform .ff-btn-submit:hover {
	background: var(--amyca-green);
}

.amyca-content .fluentform .ff-message-success {
	padding: 18px 22px;
	border: 0;
	background: var(--amyca-green);
	color: var(--amyca-white);
	font-size: 17px;
}

.amyca-content .fluentform .text-danger,
.amyca-content .fluentform .ff-el-is-error .ff-el-form-control {
	border-color: #d9534f;
}

/* Filas de 2 y 3 campos, como el formulario original (clases puestas por inc/formulario.php). */
.amyca-content .fluentform form > fieldset {
	/* Fluent Forms mete los campos en un <fieldset>: la rejilla va ahí. */
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: 14px;
}

.amyca-content .fluentform .ff-el-group,
.amyca-content .fluentform .ff_submit_btn_wrapper,
.amyca-content .fluentform .ff-t-container,
.amyca-content .fluentform .ff-message-success {
	grid-column: 1 / -1;
}

/* wpautop envuelve los inputs ocultos del formulario en un <p>: que no ocupe celda. */
.amyca-content .fluentform form > fieldset > p {
	display: contents;
}

/* Bloque final de AMYCA: título y formulario a todo el ancho (1200px), como el original. */
.amyca-section.amyca-about__solicita {
	padding: 96px 0 93px;
}

.amyca-about__solicita.amyca-page--contacta-con-nosotros .amyca-content {
	max-width: var(--amyca-width);
}

.amyca-about__solicita h2 {
	margin-bottom: 40px;
	font-size: 40px;
	line-height: 1.1;
}

/* Campos del original: 48px de alto, 33px entre filas, mensaje de 148px, botón de 94×43. */
.amyca-about__solicita .fluentform .ff-el-group {
	margin-bottom: 33px;
}

.amyca-about__solicita .fluentform .ff-el-form-control {
	padding: 12px 14px;
	line-height: 22px;
}

.amyca-about__solicita .fluentform textarea.ff-el-form-control {
	height: 148px;
}

.amyca-about__solicita .fluentform .ff-el-group:has(textarea) {
	margin-bottom: 6px;
}

.amyca-about__solicita .fluentform .ff-el-group:has(.ff-el-form-check) {
	margin-bottom: 17px;
}

.amyca-about__solicita .fluentform .ff-btn-submit {
	padding: 11px 30px;
	font-size: 13px;
	line-height: 21px;
}

.amyca-form-help {
	margin: -8px 0 8px;
	font-size: 13px;
	line-height: 20px;
	color: var(--amyca-text);
}

/* Sobre los bloques azul marino (AMYCA y Contacto) va en blanco. */
.amyca-page--contacta-con-nosotros .amyca-form-help {
	color: var(--amyca-white);
}

/* El original dejaba 26px más entre la casilla de privacidad y el botón (línea del captcha). */
.amyca-about__solicita .fluentform .ff_submit_btn_wrapper {
	margin-top: 26px;
}

.amyca-content .fluentform .amyca-col-2 {
	grid-column: span 3;
}

.amyca-content .fluentform .amyca-col-3 {
	grid-column: span 2;
}

.amyca-content .fluentform .ff-el-form-check-label,
.amyca-content .fluentform .ff-el-tc {
	line-height: 1.4;
}

.amyca-content .fluentform .ff-el-help-message,
.amyca-content .fluentform .ff-el-form-check + .ff-el-help-message {
	margin-top: 4px;
	font-size: 12px;
	color: var(--amyca-text);
}

/* Contacto: título y formulario al mismo ancho, como el original. */
.amyca-page--contacta-con-nosotros .amyca-content {
	max-width: 900px;
}

.amyca-page--contacta-con-nosotros .fluentform,
.amyca-solicita .fluentform {
	max-width: none;
}

/* Sobre azul marino (Contacto y bloque final de AMYCA): etiquetas blancas, botón verde. */
.amyca-page--contacta-con-nosotros .fluentform .ff-el-input--label label,
.amyca-page--contacta-con-nosotros .fluentform .ff-el-tc,
.amyca-page--contacta-con-nosotros .fluentform .ff-el-form-check-label,
.amyca-page--contacta-con-nosotros .fluentform .ff-el-tc a {
	color: var(--amyca-white);
}

.amyca-page--contacta-con-nosotros .fluentform .ff-btn-submit {
	/* Sobre azul marino el original lleva el botón blanco con texto azul. */
	background: var(--amyca-white);
	color: var(--amyca-navy);
}

.amyca-page--contacta-con-nosotros .fluentform .ff-btn-submit:hover {
	background: var(--amyca-green);
	color: var(--amyca-white);
}

.amyca-page--contacta-con-nosotros .fluentform .text-danger {
	color: #ffb3b0;
}

.amyca-page--contacta-con-nosotros .fluentform .ff-el-help-message {
	color: rgba(255, 255, 255, 0.85);
}

.amyca-related h3 {
	font-size: 26px;
	text-align: center;
	margin-bottom: 20px;
}

.amyca-related h3 {
	color: var(--amyca-accent, var(--amyca-navy));
}

.amyca-related h3 em {
	color: var(--amyca-accent, var(--amyca-green));
}

.amyca-facts-band {
	background: var(--amyca-accent, var(--amyca-green));
}

/* «Cursos relacionados» del original en vivo: 22px/30px, 44px hasta la primera foto. */
.amyca-related h3 {
	font-size: 22px;
	line-height: 30px;
	font-weight: 400;
	margin-bottom: 44px;
}

/* Tarjetas «portfolio» del original: borde 1px (3px abajo), foto, bloque de color con padding 25px. */
.amyca-related__list {
	display: grid;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Tarjeta medida en el original en vivo (1920px): 368px, foto de 368×164, fondo #009999, texto a 25px. */
.amyca-rcard article {
	background: var(--amyca-accent, var(--amyca-navy));
}

.amyca-rcard__img {
	display: block;
}

.amyca-rcard__img img {
	display: block;
	width: 100%;
	aspect-ratio: 400 / 178;
	object-fit: cover;
}

.amyca-rcard__body {
	padding: 26px 25px 40px;
	color: var(--amyca-white);
}

/* Categoría: 13px/20px negrita, mayúsculas, 2px de espaciado; 8px hasta el título. */
.amyca-rcard__meta {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--amyca-white);
}

/* Título: 26px/26px peso 400 blanco; 18px hasta el botón. */
.amyca-aside .amyca-rcard__title {
	margin: 0 0 18px;
	font-size: 26px;
	line-height: 26px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.amyca-aside .amyca-rcard__title,
.amyca-aside .amyca-rcard__title a {
	color: var(--amyca-white);
	text-decoration: none;
}

/* Botón blanco de 123×43 (14px, 13px 29px) con el texto del color de la categoría. */
.amyca-aside .amyca-rcard__btn {
	display: inline-block;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 13px 29px;
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
	background: var(--amyca-white);
	color: var(--amyca-accent, var(--amyca-navy));
}

.amyca-aside .amyca-rcard__btn:hover {
	background: var(--amyca-navy);
	color: var(--amyca-white);
}

/* ---------- Pie de página ---------- */

.amyca-footer {
	background: var(--amyca-white);
	border-top: 1px solid var(--amyca-border);
	padding: 0;
	font-size: 13px;
	line-height: 20px;
}

/* El pie del original no usa el contenedor: textos a 60px del borde izquierdo, mapa en la mitad derecha. */
.amyca-footer > .amyca-container {
	max-width: none;
	padding: 0;
}

.amyca-footer__grid {
	/* Pie a tres columnas (AMYCA, Contacto, Miembro de AEMA), sin mapa: pedido del cliente, 11/2026. */
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: start;
}

.amyca-footer__left {
	max-width: var(--amyca-width);
	margin: 0 auto;
	padding: 58px var(--amyca-gutter) 40px;
}

.amyca-footer__cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 60px;
}

.amyca-footer__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 32px;
}

/* Un logo: 240px como antes. Varios: en fila, hasta 180px cada uno; si no caben, pasan debajo. */
.amyca-footer__logos img {
	display: block;
	width: 240px;
	max-width: 100%;
	height: auto;
}

.amyca-footer__logos img:not(:only-child) {
	width: auto;
	max-width: 180px;
	max-height: 110px;
}

.amyca-footer__contact li {
	line-height: 23px;
}

.amyca-footer__contact li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.amyca-footer__contact svg {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	fill: var(--amyca-navy);
}

.amyca-footer h3 {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--amyca-navy);
	margin-bottom: 12px;
}

.amyca-footer p {
	margin: 0 0 10px;
}

.amyca-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.amyca-footer li {
	margin-bottom: 2px;
}

.amyca-footer a {
	color: var(--amyca-text);
	text-decoration: none;
}

.amyca-footer a:hover,
.amyca-footer a:focus-visible {
	color: var(--amyca-navy);
	text-decoration: underline;
}

.amyca-social {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}

.amyca-social {
	list-style: none;
	margin: 0;
	padding: 0;
}

.amyca-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid var(--amyca-navy);
	border-radius: 50%;
	color: var(--amyca-navy);
}

.amyca-social a:hover,
.amyca-social a:focus-visible {
	background: var(--amyca-navy);
	color: var(--amyca-white);
	text-decoration: none;
}

.amyca-social svg {
	width: 11px;
	height: 11px;
	fill: currentColor;
}

.amyca-footer__bottom {
	display: flex;
	align-items: center;
	gap: 0 132px;
	flex-wrap: wrap;
	margin-top: 12px;
	padding-top: 25px;
	border-top: 1px solid var(--amyca-border);
	font-size: 13px;
}

/* Botón «subir» flotante, como el de Avada en el original (48×35, gris #333, pegado abajo a 75px del borde): aparece al bajar (amyca.js). */
.amyca-to-top {
	position: fixed;
	right: 75px;
	bottom: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 35px;
	border-radius: 6px 6px 0 0;
	background: #333333;
	color: var(--amyca-white);
	font-size: 20px;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
}

.amyca-to-top.is-visible {
	opacity: 1;
	visibility: visible;
}

.amyca-to-top:hover,
.amyca-to-top:focus-visible {
	background: var(--amyca-navy);
	color: var(--amyca-white);
	text-decoration: none;
}

/* ---------- Aviso de cookies (inc/cookies.php; apagado por defecto) ----------
   Tarjeta blanca abajo a la izquierda, con la letra y el azul marino del sitio. «Aceptar» y «Rechazar»
   son iguales en tamaño y color: ninguno destaca sobre el otro. En celular ocupa el ancho de la pantalla. */
.amyca-cookies {
	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 60;
	width: 440px;
	max-width: calc(100vw - 48px);
	padding: 22px 24px 24px;
	border: 1px solid var(--amyca-border);
	border-radius: 5px;
	background: var(--amyca-white);
	box-shadow: 0 10px 30px rgba(0, 51, 102, 0.18);
	color: var(--amyca-text);
	font-size: 14px;
	line-height: 1.5;
}

.amyca-cookies[hidden] {
	display: none;
}

.amyca-cookies__texto {
	margin: 0 0 16px;
}

.amyca-cookies__texto a {
	color: var(--amyca-navy);
	text-decoration: underline;
	white-space: nowrap;
}

.amyca-cookies__botones {
	display: flex;
	gap: 12px;
}

.amyca-cookies__btn {
	flex: 1 1 0;
	padding: 11px 18px;
	border: 0;
	border-radius: 5px;
	background: var(--amyca-navy);
	color: var(--amyca-white);
	font: inherit;
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
}

.amyca-cookies__btn:hover,
.amyca-cookies__btn:focus-visible {
	background: #1a4d80;
}

/* «Cookies» del pie: se ve como los demás enlaces del pie. */
.amyca-cookies-abrir {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.amyca-cookies-abrir:hover,
.amyca-cookies-abrir:focus-visible {
	color: var(--amyca-navy);
	text-decoration: underline;
}

@media (max-width: 640px) {
	.amyca-cookies {
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
		max-width: none;
		padding: 18px 16px 20px;
		border-width: 1px 0 0;
		border-radius: 0;
		box-shadow: 0 -6px 20px rgba(0, 51, 102, 0.16);
	}
}

/* ---------- Responsive ---------- */

/* Banners a 600px fijos en escritorio (portada y páginas con hero de slide).
   Por debajo de 1100px vuelven a crecer con el contenido. */
@media (min-width: 1101px) {
	.amyca-slider .amyca-hero,
	.amyca-slide-hero {
		height: 600px;
		min-height: 0;
	}

	/* Contenido centrado bajo la cabecera, como el slider original (antetítulo a y=153, botón hasta y=553). */
	.amyca-slide-hero,
	.amyca-slider .amyca-hero {
		padding: 107px 0 0;
	}
}

/* Portátiles de 1280–1366px (p. ej. 1920×1080 al 150 %): el banner de programa baja de cuerpo para que
   el título quede en dos líneas y la palabra de fondo no pise el subtítulo. */
@media (min-width: 1101px) and (max-width: 1366px) {
	.amyca-slide-hero h1 {
		font-size: 64px;
	}

	.amyca-slide-hero__text {
		max-width: 640px;
	}

	.amyca-slide-hero__caption {
		max-width: 600px;
		font-size: 21px;
	}

	.amyca-slide-hero__mark {
		font-size: 170px;
		bottom: -26px;
	}

	.amyca-slide-hero--plain h1 {
		font-size: 80px;
	}
}

@media (max-width: 1100px) {
	h1,
	.amyca-hero h1,
	.amyca-hero .amyca-hero__title {
		font-size: 64px;
	}

	.amyca-nav__list {
		gap: 8px;
	}

	.amyca-nav__list > li > a {
		padding: 10px 6px;
		font-size: 14px;
	}
}

@media (max-width: 900px) {
	/* Tabletas: rejilla de programas a dos columnas (el destacado ocupa la fila entera). */
	.amyca-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	body {
		font-size: 17px;
	}

	.amyca-nav__toggle {
		display: inline-block;
	}

	.amyca-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		background: var(--amyca-white);
		border-bottom: 1px solid var(--amyca-border);
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	}

	.amyca-nav.is-open {
		display: block;
	}

	.amyca-nav__list {
		flex-direction: column;
		align-items: stretch;
		padding: 8px var(--amyca-gutter) 16px;
	}

	.amyca-nav__list .amyca-nav__sub {
		position: static;
		min-width: 0;
		box-shadow: none;
		border: 0;
		padding: 0 0 0 16px;
	}

	.amyca-nav.is-open {
		display: block;
	}

	.amyca-search {
		margin: 12px var(--amyca-gutter) 16px;
	}

	.amyca-search__toggle {
		display: none;
	}

	.amyca-search .amyca-search__form {
		position: static;
		display: flex;
		gap: 8px;
		width: auto;
		padding: 0;
		border: 0;
		box-shadow: none;
	}

	.amyca-nav__campus {
		display: flex;
		justify-content: center;
		margin: 0 var(--amyca-gutter) 16px;
	}

	.amyca-header__inner {
		min-height: 80px;
	}

	.amyca-logo img {
		width: 160px;
	}

	.amyca-program__grid {
		grid-template-columns: 1fr;
	}

	.amyca-aside {
		position: static;
	}

	/* Ficha del programa en celular (decisión de Calu, 11/2026): «Me interesa» y los datos arriba,
	   luego el contenido, el aviso, el formulario (penúltimo) y al final los relacionados.
	   Solo cambia el orden visual; el HTML y el escritorio quedan igual. */
	.amyca-program__grid {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.amyca-program__main,
	.amyca-program .amyca-aside {
		display: contents;
	}

	.amyca-program .amyca-aside > .amyca-btn,
	.amyca-program .amyca-facts-side,
	.amyca-program .amyca-aside__note {
		order: -1;
	}

	.amyca-program .amyca-aside__note {
		margin-bottom: 0;
	}

	.amyca-program .amyca-aside > :nth-last-child(1 of .amyca-btn, .amyca-facts-side, .amyca-aside__note) {
		margin-bottom: 32px;
	}

	.amyca-program .amyca-aside__callout {
		order: 1;
		margin: 32px 0 0;
	}

	.amyca-program .amyca-solicita {
		order: 2;
	}

	.amyca-program .amyca-related {
		order: 3;
		margin-top: 48px;
	}

	.amyca-value-blocks {
		grid-template-columns: 1fr;
	}

	.amyca-facts-band ul {
		grid-template-columns: repeat(3, 1fr);
	}

	.amyca-about__acuerdos-grid,
	.amyca-abogados__intro,
	.amyca-abogados__metodologia-grid {
		grid-template-columns: 1fr;
	}

	.amyca-about__acuerdos-text {
		padding: 40px 24px;
	}

	.amyca-about__galeria ul,
	.amyca-abogados__profes {
		grid-template-columns: repeat(3, 1fr);
	}

	.amyca-about__compromiso {
		background-attachment: scroll;
	}

	.amyca-about__compromiso ul,
	.amyca-about__objetivos ul {
		columns: 1;
	}

	.amyca-slide-hero--plain h1 {
		font-size: 40px;
	}

	.amyca-about__compromiso h2 {
		font-size: 30px;
	}

	.amyca-facts-band li:nth-child(4) {
		border-left: 0;
	}

	.amyca-content .fluentform .amyca-col-2,
	.amyca-content .fluentform .amyca-col-3 {
		grid-column: 1 / -1;
	}

	.amyca-footer__grid {
		grid-template-columns: 1fr;
	}

	.amyca-footer__cols {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.amyca-footer__left {
		padding: 40px var(--amyca-gutter) 32px;
	}

	.amyca-about__intro h2,
	.amyca-about__objetivos h2,
	.amyca-about__solicita h2 {
		font-size: 28px;
	}

	.amyca-slide--dark .amyca-hero__kicker,
	.amyca-slide--dark .amyca-hero__subtitle {
		font-size: 18px;
		line-height: 1.3;
	}

	.amyca-slide--light .amyca-hero__kicker,
	.amyca-slide--light .amyca-hero__title {
		font-size: 40px;
		line-height: 1.05;
	}
}

@media (max-width: 640px) {
	h1,
	.amyca-hero h1,
	.amyca-hero .amyca-hero__title {
		font-size: 44px;
	}

	h2 {
		font-size: 32px;
	}

	.amyca-hero--page h1 {
		font-size: 40px;
	}

	.amyca-slide-hero {
		min-height: 480px;
		padding: 120px 0 90px;
	}

	.amyca-slide-hero h1 {
		font-size: 44px;
	}

	.amyca-slide-hero__kicker {
		font-size: 18px;
	}

	.amyca-slide-hero__caption {
		font-size: 16px;
	}

	.amyca-slide-hero__uemc {
		display: none;
	}

	.amyca-slide-hero__mark {
		font-size: 96px;
		bottom: -16px;
	}

	.amyca-hero {
		min-height: 440px;
		padding: 60px 0 120px;
	}

	.amyca-value-section {
		margin-top: -70px;
	}

	/* En móvil las rejillas van a una columna (la de programas, las cifras) o a dos (logos de acuerdos);
	   los campos del formulario, a todo el ancho. */
	.amyca-grid {
		grid-template-columns: 1fr;
	}

	.amyca-grid--featured > li:first-child {
		grid-column: auto;
	}

	.amyca-grid--featured > li:first-child .amyca-tile {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.amyca-grid--featured > li:first-child .amyca-tile__title {
		font-size: 20px;
	}

	.amyca-partner-grid {
		gap: 28px 40px;
	}

	.amyca-content .fluentform .amyca-col-2,
	.amyca-content .fluentform .amyca-col-3 {
		grid-column: 1 / -1;
	}

	.amyca-footer__grid {
		grid-template-columns: 1fr;
	}

	/* Redes del pie más grandes en celular, para tocarlas con el dedo (decisión de Calu, 11/2026). */
	.amyca-social {
		gap: 10px;
	}

	.amyca-social a {
		width: 32px;
		height: 32px;
	}

	.amyca-social svg {
		width: 15px;
		height: 15px;
	}

	/* Una cifra por fila: «2.603.886» no cabe a dos o tres columnas en 375px. */
	.amyca-stats {
		grid-template-columns: 1fr;
	}

	/* Banda de datos de los cursos: 2 columnas en celular (decisión de Calu, 11/2026). */
	.amyca-facts-band ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.amyca-stat__num {
		font-size: 34px;
	}

	.amyca-facts-band li {
		padding: 22px 10px;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.35);
		font-size: 13px;
	}

	.amyca-facts-band li:nth-child(-n+2) {
		border-top: 0;
	}

	.amyca-facts-band li:nth-child(even) {
		border-left: 1px solid rgba(255, 255, 255, 0.35);
	}

	/* Si quedan en número impar, el último ocupa la fila entera. */
	.amyca-facts-band li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.amyca-about__galeria ul,
	.amyca-abogados__profes {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.amyca-abogados__profes img {
		width: 130px;
		height: 130px;
		max-width: 100%;
	}

	.amyca-abogados__title {
		font-size: 28px;
	}

	.amyca-section-head__actions {
		width: 100%;
		gap: 12px;
	}

	/* Los dos botones de 166px + 28px no caben en 343px: se reparten el ancho. */
	.amyca-section-head__actions .amyca-btn {
		flex: 1;
		min-width: 0;
	}
}

/* Color al pasar el ratón de cada tipo (a:hover.master / .cursos / .grados del original). */
.amyca-slide-hero .amyca-btn:hover,
.amyca-slide-hero .amyca-btn:focus-visible,
.amyca-program .amyca-aside > .amyca-btn:hover,
.amyca-program .amyca-aside > .amyca-btn:focus-visible,
.amyca-solicita .fluentform .ff-btn-submit:hover {
	background: var(--amyca-accent-hover, var(--amyca-accent, var(--amyca-navy)));
	color: var(--amyca-white);
}

/* Fotos de programas: arriba al centro para no cortar las cabezas (banner de la ficha, banner del Home,
   tarjetas de destacados y del listado, y tarjetas de relacionados). */
.amyca-slide-hero[class*="amyca-program--"],
.amyca-slider .amyca-hero,
.amyca-tile__img {
	background-position: center top;
}

.amyca-rcard__img img {
	object-position: center top;
}

/* Formularios: un campo por fila en todo el sitio (documento de correcciones del cliente).
   Los campos conservan sus clases de columna por si algún día se vuelve a usar la rejilla. */
.fluentform .amyca-col-2,
.fluentform .amyca-col-3,
.amyca-content .fluentform .amyca-col-2,
.amyca-content .fluentform .amyca-col-3 {
	grid-column: 1 / -1;
}

/* Con un campo por fila, los bloques «Solicita más información» de AMYCA y de Contacto van a 700px centrados,
   con el título más pequeño. */
.amyca-page--contacta-con-nosotros .fluentform,
.amyca-page--contacta-con-nosotros .amyca-content > h2,
.amyca-page--contacta-con-nosotros .amyca-content > p {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.amyca-page--contacta-con-nosotros .amyca-content > h2 {
	font-size: 30px;
	line-height: 1.2;
}

.amyca-about__solicita .fluentform {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.amyca-about__solicita h2 {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	font-size: 30px;
	line-height: 1.2;
}

/* ---------- Pestañas del programa: acordeón en celular (como el original, hasta 800px) ---------- */
.amyca-tabs__acc {
	display: none;
}

@media (max-width: 800px) {
	.amyca-tabs__list {
		display: none;
	}

	.amyca-tabs__panel,
	.amyca-tabs__panel[hidden] {
		display: block;
		min-height: 0;
		padding: 0;
	}

	.amyca-tabs__acc {
		display: flex;
		align-items: center;
		gap: 22px;
		width: 100%;
		margin: 0;
		padding: 10px 0;
		border: 0;
		background: none;
		color: var(--amyca-accent, var(--amyca-navy));
		font: inherit;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 3px;
		line-height: 1.3;
		text-align: left;
		text-transform: uppercase;
		cursor: pointer;
	}

	/* Cuadrado del color del tipo con «+» (cerrado) o «−» (abierto). */
	.amyca-tabs__acc-icon {
		position: relative;
		flex: 0 0 34px;
		width: 34px;
		height: 34px;
		background: var(--amyca-accent, var(--amyca-navy));
	}

	.amyca-tabs__acc-icon::before,
	.amyca-tabs__acc-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 3px;
		margin: -1.5px 0 0 -7px;
		background: var(--amyca-white);
	}

	.amyca-tabs__acc-icon::after {
		transform: rotate(90deg);
	}

	.amyca-tabs__panel.is-open .amyca-tabs__acc-icon::after {
		display: none;
	}

	.amyca-tabs__body {
		display: none;
		padding: 10px 0 24px;
	}

	.amyca-tabs__panel.is-open .amyca-tabs__body {
		display: block;
	}
}

/* ---------- Celular: menú con desplazamiento y banners con estilos propios ---------- */
@media (max-width: 900px) {
	/* El menú abierto (con un submenú desplegado) puede ser más alto que la pantalla:
	   se desplaza dentro, para llegar siempre a Contacto y al botón del campus. */
	.amyca-nav.is-open {
		max-height: calc(100vh - 90px);
		max-height: calc(100dvh - 90px);
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 640px) {
	/* Algunos banners llevan tamaños propios para escritorio (p. ej. el MBA, título de 64px):
	   en celular mandan los tamaños de celular. */
	.amyca-slide-hero h1[style] {
		font-size: 44px !important;
		line-height: 1.05 !important;
		margin-bottom: 14px !important;
	}

	.amyca-slide-hero__caption[style],
	.amyca-slide-hero__kicker[style] {
		font-size: 16px !important;
		line-height: 1.3 !important;
		margin-top: 0 !important;
	}
}
