/*
Theme Name:   Talento Corporativo
Theme URI:    https://talentocorporativo.com
Description:  Talento Corporativo Child Theme
Version:      3.7.2
Author:       Talento Corporativo
Author URI:   https://talentocorporativo.com
Template:     movedo
*/

/* 1rem = 16px siempre (anula html 10px/8px del tema Movedo en breakpoints). */
html {
	font-size: 16px !important;
}

/* —— Qurova (archivos en /fonts; origen: TIPOGRAFÍA producción) —— */
@font-face {
	font-family: "Qurova Light";
	src: url("fonts/Qurova-Light.woff2") format("woff2"),
		url("fonts/Qurova-Light.woff") format("woff");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Qurova Regular";
	src: url("fonts/Qurova-Regular.woff2") format("woff2"),
		url("fonts/Qurova-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Qurova Medium";
	src: url("fonts/Qurova-Medium.woff2") format("woff2"),
		url("fonts/Qurova-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Qurova SemiBold";
	src: url("fonts/Qurova-SemiBold.woff2") format("woff2"),
		url("fonts/Qurova-SemiBold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Qurova Bold";
	src: url("fonts/Qurova-Bold.woff2") format("woff2"),
		url("fonts/Qurova-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* —— Tenderyou: tokens (01_TENDERYOU_WEB_HOME + hover Zeplin) —— */
:root {
	--ty-font-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ty-font-heading: "Qurova Medium", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ty-font-heading-weight: 500; /* Qurova Medium */
	--ty-font-title-poppins-bold: 700; /* títulos ≠ h1/h2 */
	--ty-heading-letter-spacing: 0.04em; /* tracking títulos (ajusta en un solo sitio) */
	--ty-font-color: #2a2a2a;
	/* Marca Tenderyou: oscuro / claro */
	--ty-navy: #052e6d;
	--ty-navy-mid: #0a4585;
	--ty-navy-deep: #031d45;
	--ty-purple: #714594;
	--ty-purple-soft: #8e62b0;
	--ty-page-bg: #f2f5fb;
	--ty-card-border: #c5d0e8;
	/* Footer: fondos y borde tipo Zeplin / home */
	--ty-footer-copyright-bg: #f1f4f9;
	--ty-footer-contact-stack: 1.35rem; /* entre bloques .grve-text en contacto */
	--ty-footer-line-gap: 0.55rem; /* entre párrafos / líneas dentro del bloque */
	--ty-footer-gap-tel-text: 0.28rem; /* icono teléfono ↔ texto */
	--ty-footer-gap-mail-text: 0.28rem; /* icono email ↔ texto */
	--ty-footer-gap-social: 0.42rem; /* título RRSS e iconos (misma línea) */
	--ty-text-muted: #4a5f86;
	--color-gris-label: #6b7280;
	/* GF label flotante: dentro del input (fondo blanco) vs elevada (fondo de página) */
	--ty-form-label-infield: #4a5f86;
	--ty-form-label-floating-light-bg: var(--color-principal);
	--ty-form-label-floating-dark-bg: rgba(255, 255, 255, 0.92);
	--ty-form-field-gap: 1rem; /* GF form 1: ~doble del 0.85rem original entre filas */
	--ty-form-label-above: -0.875rem; /* label flotante sin foco (con valor) */
	--ty-form-label-above-focus: -1.15rem; /* más aire label ↔ input con foco */
	--ty-form-label-float-fs: 0.8125rem; /* ~13px label elevada */
	--ty-form-label-float-fs-focus: 0.875rem; /* ~15px label con foco */
	--white: #ffffff;
	--color-principal: #052e6d;
	/* Sombras coherentes con #052e6d (rgb 5, 46, 109) */
	--ty-shadow-navy: rgba(5, 46, 109, 0.22);
	--ty-shadow-navy-strong: rgba(5, 46, 109, 0.32);
	/* Aire vertical entre bloques de contenido (no en secciones / filas completas) */
	--ty-space-title-top: 1.35rem;
	--ty-space-title-bottom: 1rem;
	--ty-space-btn-top: 1.1rem;
	--ty-space-btn-bottom: 1.1rem;
	--ty-space-paragraph: 0.85rem;
	/* Filas portada-X-interior* apiladas + bloques dentro de cada columna (home) */
	--ty-interior-row-gap: 3.25rem;
	--ty-interior-stack-gap: 1.75rem;
	/* Botones: legibilidad (rem ≈ relativo a raíz del documento) */
	--ty-btn-font: 0.9375rem; /* 15px — primarios generales */
	--ty-btn-font-hero: 1.0625rem; /* 17px — CTA hero */
	--ty-btn-font-section: 0.9375rem; /* portada-2 y similares */
	--ty-btn-font-topbar: 0.8125rem; /* 13px — top bar / idioma */
	--ty-main-menu-font-size: 1.0625rem; /* ~17px — primer nivel cabecera */
	--ty-main-menu-pad-x: 1.2rem; /* separación simétrica entre ítems */
	--ty-main-menu-pad-between: 2.85rem; /* menú alineado izq./dcha (padding lateral entre enlaces) */
	--ty-btn-font-submit: 1.125rem; /* 18px — enviar formulario */

	/*
	 * Paddings verticales secciones home (#portada-1 … #portada-4).
	 * Ajusta solo estos valores (y los de los @media) paso a paso.
	 * 1rem ≈ 16px en la mayoría de navegadores.
	 */
	--ty-p1-pt: 3.75rem; /* hero: superior */
	--ty-p1-pb: 5rem;    /* hero: inferior */
	--ty-p2-pt: 5rem;   /* clientes + funcionalidades */
	--ty-p2-pb: 5rem;
	--ty-p3-pt: 5.5rem; /* formulario contacto */
	--ty-p3-pb: 5.5rem;
	--ty-p4-pt: 5rem;    /* premios */
	--ty-p4-pb: 5.5rem;  /* un poco más antes del footer */
	/*
	 * #portada-1::before ondas (background-position por capa).
	 * Desktop base; ≤1200px valores manuales; menores = proporción ancho/1200.
	 */
	--ty-p1-wave-right-x: -436px;
	--ty-p1-wave-right-y: -323px;
	--ty-p1-wave-left-x: -185px;
	--ty-p1-wave-left-y: -80px;
	/* Burbuja “USA TENDERYOU GRATIS”: inset desde la sección (≥768px; <768px ver :root en max-width:767px) */
	--ty-p1-float-top: 1.35rem;
	--ty-p1-float-right: 1.25rem;
	/* Desplazamiento extra: abajo respecto al inset; en escritorio ≥1201px se anula (solo --ty-p1-float-right) */
	--ty-p1-float-nudge-down: 2rem;
	--ty-p1-float-nudge-left: 7rem;
	--ty-p1-float-wide-shift: 0rem;
}

@media only screen and (max-width: 1200px) {
	:root {
		--ty-p1-wave-right-x: -416px;
		--ty-p1-wave-right-y: -300px;
		--ty-p1-wave-left-x: -170px;
		--ty-p1-wave-left-y: -65px;
		--ty-p1-pt: 3.25rem;
		--ty-p1-pb: 4.25rem;
		--ty-p2-pt: 4.25rem;
		--ty-p2-pb: 4.25rem;
		--ty-p3-pt: 4.5rem;
		--ty-p3-pb: 4.5rem;
		--ty-p4-pt: 4.25rem;
		--ty-p4-pb: 4.5rem;
		--ty-interior-row-gap: 2.75rem;
		--ty-interior-stack-gap: 1.5rem;
		/* Burbuja: menos desplazamiento para no invadir el centro en pantallas ≤1200px */
		--ty-p1-float-nudge-down: 1.85rem;
		--ty-p1-float-nudge-left: 5.5rem;
	}
}

@media only screen and (max-width: 1023px) {
	:root {
		--ty-p1-wave-right-x: -355px;
		--ty-p1-wave-right-y: -256px;
		--ty-p1-wave-left-x: -145px;
		--ty-p1-wave-left-y: -55px;
		--ty-p1-pt: 2.75rem;
		--ty-p1-pb: 3.5rem;
		--ty-p2-pt: 3.5rem;
		--ty-p2-pb: 3.5rem;
		--ty-p3-pt: 3.75rem;
		--ty-p3-pb: 3.75rem;
		--ty-p4-pt: 3.25rem;
		--ty-p4-pb: 3.75rem;
		--ty-interior-row-gap: 2.5rem;
		--ty-interior-stack-gap: 1.35rem;
		/* Burbuja visible 960–1023px: aún más contenida */
		--ty-p1-float-nudge-down: 1.65rem;
		--ty-p1-float-nudge-left: 4.25rem;
	}
}

/*
 * Escritorio ancho: el inset desde la derecha va solo en --ty-p1-float-right (sin sumar nudge-left).
 * De 1201px a 1919px: interpolación lineal desde 6.75rem (efectivo en 1200px: 1.25+5.5) hasta 14.25rem en 1920px (= +1rem cada 96px).
 */
@media only screen and (min-width: 1201px) and (max-width: 1919px) {
	:root {
		--ty-p1-float-nudge-left: 0rem;
		--ty-p1-float-wide-shift: 0rem;
		--ty-p1-float-right: calc(6.75rem + (100vw - 1200px) / 96);
	}
}

@media only screen and (min-width: 1920px) {
	:root {
		--ty-p1-float-nudge-left: 0rem;
		--ty-p1-float-wide-shift: 0rem;
		--ty-p1-float-right: 14.25rem;
	}
}

@media only screen and (max-width: 767px) {
	:root {
		--ty-p1-wave-right-x: -266px;
		--ty-p1-wave-right-y: -192px;
		--ty-p1-wave-left-x: -109px;
		--ty-p1-wave-left-y: -42px;
		--ty-p1-pt: 2rem;
		--ty-p1-pb: 2.75rem;
		--ty-p2-pt: 2.75rem;
		--ty-p2-pb: 2.75rem;
		--ty-p3-pt: 2.75rem;
		--ty-p3-pb: 2.75rem;
		--ty-p4-pt: 2.5rem;
		--ty-p4-pb: 3rem;
		--ty-interior-row-gap: 2.125rem;
		--ty-interior-stack-gap: 1.25rem;
		/* Burbuja hero: insets compactos bajo 768px; por debajo de 960px va oculta (regla aparte) */
		--ty-p1-float-top: 0.85rem;
		--ty-p1-float-right: 0.65rem;
		--ty-p1-float-nudge-down: 1.35rem;
		--ty-p1-float-nudge-left: 3rem;
		--ty-p1-float-wide-shift: 0rem;
	}
}

@media only screen and (max-width: 480px) {
	:root {
		--ty-p1-wave-right-x: -166px;
		--ty-p1-wave-right-y: -120px;
		--ty-p1-wave-left-x: -68px;
		--ty-p1-wave-left-y: -26px;
	}
}

/* Fondo página: tono Zeplin + ondas sutiles (solo home) */
body.home#grve-body,
body.home #grve-content {
	background-color: var(--ty-page-bg);
}

body.home #grve-main-content .grve-section.grve-bg-none {
	background-color: transparent;
}

body.home#grve-body::before {
	content: "";
	pointer-events: none;
	position: fixed;
	inset: 0;
	z-index: 0;
	opacity: 0.45;
	/* Derecha e izquierda: URLs en body.home vía functions.php (uploads/2026/03/) */
	background-image: var(--ty-upload-wave-right), var(--ty-upload-wave-left);
	background-position: right top, left top;
	background-size: min(72vw, 960px) auto, min(72vw, 960px) auto;
	background-repeat: no-repeat, no-repeat;
	background-attachment: fixed, fixed;
}

#grve-theme-wrapper {
	position: relative;
	z-index: 1;
}
#grve-main-content .grve-text p strong {
	font-weight: 500;
}

/*
 * Botones primarios (mockup): fondo blanco + borde/texto navy; hover relleno oscuro + texto blanco.
 * Cubre <a>, <button> e <input> (p. ej. WooCommerce) con .grve-btn.grve-bg-primary-1.
 */
#grve-theme-wrapper .grve-btn.grve-bg-primary-1 {
	background: var(--white);
	box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.5);
	border: 0;
	border-radius: 999px !important;
	color: var(--ty-navy);
	padding: 0.725rem 1.15rem !important;
	font-size: var(--ty-btn-font-hero) !important;
	font-size: 1rem!important;
	font-weight: 500!important;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
		box-shadow 0.2s ease, transform 0.2s ease;
}

/* Botones primarios: aire vertical solo en contenido (no barra superior ni overlays) */
#grve-theme-wrapper #grve-main-content .grve-btn.grve-bg-primary-1 {
	margin-top: var(--ty-space-btn-top);
	margin-bottom: var(--ty-space-btn-bottom);
}

#grve-theme-wrapper .grve-btn.grve-bg-primary-1 span {
	color: inherit;
}

#grve-theme-wrapper .grve-btn.grve-bg-primary-1:hover,
#grve-theme-wrapper .grve-btn.grve-bg-primary-1:focus-visible {
	background-color: var(--color-principal) !important;
	border-color: var(--color-principal) !important;
	color: #ffffff !important;
}

/* Tipografía: Qurova Medium en h1/h2; Poppins Bold en resto de títulos; Poppins en texto y UI */
body#grve-body {
	font-family: var(--ty-font-body);
}

#grve-theme-wrapper,
#grve-theme-wrapper .grve-text-content,
#grve-theme-wrapper .grve-text-content p,
#grve-theme-wrapper .grve-leader-text,
#grve-theme-wrapper .grve-leader-text p,
#grve-theme-wrapper .widget,
#grve-theme-wrapper .widget p,
#grve-theme-wrapper .grve-subtitle,
#grve-theme-wrapper .grve-subtitle p,
#grve-theme-wrapper .grve-small-text,
#grve-main-content .grve-text p {
	font-family: var(--ty-font-body);
}

/* Títulos distintos de h1/h2: Poppins Bold */
#grve-theme-wrapper h3,
#grve-theme-wrapper .grve-h3,
#grve-theme-wrapper h4,
#grve-theme-wrapper .grve-h4,
#grve-theme-wrapper h5,
#grve-theme-wrapper .grve-h5,
#grve-theme-wrapper h6,
#grve-theme-wrapper .grve-h6,
#grve-theme-wrapper .grve-title,
#grve-theme-wrapper .grve-title span,
#grve-page-title .grve-title,
#grve-blog-title .grve-title,
#grve-search-page-title .grve-title,
#grve-feature-section .grve-title,
#grve-post-title .grve-title,
#grve-product-title .grve-title,
#grve-portfolio-title .grve-title,
#grve-forum-title .grve-title,
#grve-event-title .grve-title,
.grve-single-simple-title,
#grve-main-content .vc_tta.vc_general .vc_tta-panel-title,
#grve-main-content .vc_tta.vc_general .vc_tta-tab > a {
	font-family: var(--ty-font-body) !important;
	font-weight: var(--ty-font-title-poppins-bold) !important;
}

/* h1 y h2 (incl. .grve-title en esos niveles): Qurova Medium — especificidad por encima de .grve-title */
#grve-theme-wrapper h1,
#grve-theme-wrapper .grve-h1,
#grve-theme-wrapper h2,
#grve-theme-wrapper .grve-h2,
#grve-theme-wrapper h1.grve-title,
#grve-theme-wrapper h2.grve-title,
#grve-theme-wrapper h1.grve-title span,
#grve-theme-wrapper h2.grve-title span {
	font-family: var(--ty-font-heading) !important;
	font-weight: var(--ty-font-heading-weight) !important;
}

#grve-theme-wrapper h1,
#grve-theme-wrapper .grve-h1,
#grve-theme-wrapper h2,
#grve-theme-wrapper .grve-h2,
#grve-theme-wrapper h3,
#grve-theme-wrapper .grve-h3,
#grve-theme-wrapper h4,
#grve-theme-wrapper .grve-h4,
#grve-theme-wrapper h5,
#grve-theme-wrapper .grve-h5,
#grve-theme-wrapper h6,
#grve-theme-wrapper .grve-h6,
#grve-theme-wrapper .grve-title,
#grve-theme-wrapper .grve-title span,
#grve-page-title .grve-title,
#grve-blog-title .grve-title,
#grve-search-page-title .grve-title,
#grve-feature-section .grve-title,
#grve-post-title .grve-title,
#grve-product-title .grve-title,
#grve-portfolio-title .grve-title,
#grve-forum-title .grve-title,
#grve-event-title .grve-title,
.grve-single-simple-title,
#grve-main-content .vc_tta.vc_general .vc_tta-panel-title {
	letter-spacing: var(--ty-heading-letter-spacing) !important;
}

/* Subtítulos y descripciones de cabecera: texto (Poppins) */
#grve-feature-section .grve-subheading,
#grve-feature-section .grve-description,
#grve-page-title .grve-description,
#grve-blog-title .grve-description,
#grve-post-title .grve-description {
	font-family: var(--ty-font-body);
}

/* Menú, botones, anclas: Poppins */
#grve-header .grve-main-menu .grve-wrapper > ul > li > a,
#grve-header .grve-main-menu .grve-wrapper > ul > li .grve-toggle-menu-item-wrapper a,
#grve-header .grve-slide-menu ul.grve-menu li a,
#grve-header .grve-slide-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li a,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a,
#grve-top-bar .grve-top-bar-menu a {
	font-family: var(--ty-font-body) !important;
}

#grve-theme-wrapper .grve-btn,
#grve-theme-wrapper .grve-link-text,
#grve-theme-wrapper input[type="submit"]:not(.grve-custom-btn),
#grve-theme-wrapper input[type="button"]:not(.grve-custom-btn),
#grve-theme-wrapper input[type="reset"]:not(.grve-custom-btn),
#grve-theme-wrapper button:not(.grve-custom-btn):not(.mfp-arrow):not(.grve-search-btn),
#grve-theme-wrapper .grve-search button[type="submit"],
#grve-theme-wrapper .grve-anchor-menu .grve-anchor-wrapper .grve-container > ul > li > a {
	font-family: var(--ty-font-body) !important;
}

#grve-theme-wrapper .gform_wrapper .gfield_label,
#grve-theme-wrapper .gform_wrapper input,
#grve-theme-wrapper .gform_wrapper textarea,
#grve-theme-wrapper .gform_wrapper select,
#grve-theme-wrapper .gform_wrapper .gform_button,
#grve-theme-wrapper .gform_wrapper .button {
	font-family: var(--ty-font-body);
}

/* Logo en texto: mismo criterio que título */
#grve-header .grve-logo-text a,
#grve-responsive-header .grve-logo-text a {
	font-family: var(--ty-font-heading) !important;
	font-weight: var(--ty-font-heading-weight) !important;
}

#grve-footer .grve-widget-area,
#grve-footer .grve-footer-bar,
#grve-footer .grve-widget-area .widget,
#grve-footer .grve-widget-area .widget p,
#grve-footer .grve-widget-area .widget li,
#grve-footer .grve-footer-bar a {
	font-family: var(--ty-font-body);
}

#grve-footer .grve-widget-area h3,
#grve-footer .grve-widget-area h4,
#grve-footer .grve-widget-area h5,
#grve-footer .grve-widget-area h6,
#grve-footer .grve-widget-area .grve-widget-title {
	font-family: var(--ty-font-body) !important;
	font-weight: var(--ty-font-title-poppins-bold) !important;
	letter-spacing: var(--ty-heading-letter-spacing) !important;
}

#grve-footer .grve-widget-area h1,
#grve-footer .grve-widget-area h2 {
	font-family: var(--ty-font-heading) !important;
	font-weight: var(--ty-font-heading-weight) !important;
	letter-spacing: var(--ty-heading-letter-spacing) !important;
}

/* H2: parámetros de tipografía (Qurova Medium; !important vs .grve-heading-* del padre) */
#grve-theme-wrapper h2,
#grve-theme-wrapper .grve-h2,
#grve-footer .grve-widget-area h2 {
	font-size: 50px !important;
	font-weight: 500 !important;
	font-stretch: normal !important;
	font-style: normal !important;
	line-height: 1.04 !important;
	letter-spacing: var(--ty-heading-letter-spacing) !important;
}

@media only screen and (max-width: 1200px) {
	#grve-theme-wrapper h2,
	#grve-theme-wrapper .grve-h2,
	#grve-footer .grve-widget-area h2 {
		font-size: 42px !important;
	}
}

@media only screen and (max-width: 992px) {
	#grve-theme-wrapper h2,
	#grve-theme-wrapper .grve-h2,
	#grve-footer .grve-widget-area h2 {
		font-size: 36px !important;
	}
}

@media only screen and (max-width: 767px) {
	#grve-theme-wrapper h2,
	#grve-theme-wrapper .grve-h2,
	#grve-footer .grve-widget-area h2 {
		font-size: 28px !important;
		line-height: 1.1 !important;
	}
}

/* Top bar: degradado marca (ancho completo) */
#grve-top-bar {
	background-color: transparent !important;
	background-image: linear-gradient(to right, #052e6d 1%, #563f8a 58%, #714594 100%) !important;
	color: rgba(255, 255, 255, 0.92);
}

#grve-top-bar .grve-top-bar-wrapper,
#grve-top-bar .grve-wrapper,
#grve-top-bar .grve-language > li > ul,
#grve-top-bar .grve-top-bar-menu ul.sub-menu {
	background-color: transparent !important;
	background-image: none !important;
	color: rgba(255, 255, 255, 0.92);
}

/* Top bar: menú / texto en píldoras (hover gris claro; los CTA van en .top-bar-buttons aparte) */
#grve-top-bar .grve-top-bar-menu > ul > li > a,
#grve-top-bar .grve-topbar-item-text p a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--ty-font-body);
	font-size: var(--ty-btn-font-topbar);
	font-weight: 600;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #052e6d !important;
	background-color: #ffffff !important;
	border-radius: 999px;
	padding: 0.55rem 1.4rem;
	line-height: 1.3;
	box-shadow: 0 1px 3px rgba(5, 46, 109, 0.12);
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#grve-top-bar .grve-top-bar-menu > ul > li > a:hover,
#grve-top-bar .grve-topbar-item-text p a:hover {
	background-color: #f4f6fa !important;
	color: #052e6d !important;
	box-shadow: 0 2px 6px rgba(5, 46, 109, 0.15);
}

/* Top bar: login / registro — mismo criterio que .grve-btn.grve-bg-primary-1 (relleno oscuro al hover) */
#grve-top-bar .top-bar-buttons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--ty-font-body);
	font-size: var(--ty-btn-font-topbar);
	font-weight: 600;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--color-principal) !important;
	background-color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px;
	padding: 0.4rem 1.125rem;
	box-sizing: border-box;
	box-shadow: 0 4px 14px rgba(5, 46, 109, 0.08);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
		box-shadow 0.2s ease, transform 0.2s ease;
}

#grve-top-bar .top-bar-buttons a span {
	color: inherit !important;
}

#grve-top-bar .top-bar-buttons a:hover,
#grve-top-bar .top-bar-buttons a:focus-visible {
	background-color: var(--color-principal) !important;
	border: 0!important;
	box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.25);
	color: #ffffff !important;
}

/* Submenú del menú top bar: sin forma de píldora principal */
#grve-top-bar .grve-top-bar-menu ul.sub-menu a,
#grve-top-bar .grve-top-bar-menu ul ul > li > a {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	border-radius: 0.25rem !important;
	padding: 0.55rem 1rem !important;
	color: #052e6d !important;
	background-color: rgba(255, 255, 255, 0.98) !important;
	box-shadow: none !important;
}

#grve-top-bar .grve-top-bar-menu ul.sub-menu a:hover,
#grve-top-bar .grve-top-bar-menu ul ul > li > a:hover {
	background-color: #ffffff !important;
}

/* Iconos nativos Movedo (buscar, formulario, login): círculo blanco */
#grve-top-bar li.grve-topbar-item > a.grve-icon-search,
#grve-top-bar li.grve-topbar-item > a.grve-icon-envelope,
#grve-top-bar li.grve-topbar-item > a.grve-icon-user {
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	padding: 0 !important;
	border-radius: 50% !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #052e6d !important;
	background-color: #ffffff !important;
	box-shadow: 0 1px 3px rgba(5, 46, 109, 0.12);
}

#grve-top-bar li.grve-topbar-item > a.grve-icon-search:before,
#grve-top-bar li.grve-topbar-item > a.grve-icon-envelope:before,
#grve-top-bar li.grve-topbar-item > a.grve-icon-user:before {
	font-size: 15px;
	line-height: 1;
	color: inherit;
}

#grve-top-bar li.grve-topbar-item > a.grve-icon-search:hover,
#grve-top-bar li.grve-topbar-item > a.grve-icon-envelope:hover,
#grve-top-bar li.grve-topbar-item > a.grve-icon-user:hover {
	background-color: #f4f6fa !important;
	color: #052e6d !important;
}

/* Redes en top bar */
#grve-top-bar .grve-social > li > a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	padding: 0 !important;
	border-radius: 50% !important;
	color: #052e6d !important;
	background-color: #ffffff !important;
	box-shadow: 0 1px 3px rgba(5, 46, 109, 0.12);
}

#grve-top-bar .grve-social > li > a:before {
	font-size: 15px;
	line-height: 1;
	color: inherit;
}

#grve-top-bar .grve-social > li > a:hover {
	background-color: #f4f6fa !important;
}

/* Selector de idioma (Polylang / WPML) */
#grve-top-bar a.grve-language-item {
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 1.05rem !important;
	border-radius: 999px !important;
	font-size: var(--ty-btn-font-topbar);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #052e6d !important;
	background-color: #ffffff !important;
	box-shadow: 0 1px 3px rgba(5, 46, 109, 0.12);
}

#grve-top-bar a.grve-language-item:hover {
	background-color: #f4f6fa !important;
	color: #052e6d !important;
}

/* Top bar: contenedor botones login / registro (HTML custom) */
#grve-top-bar .top-bar-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem 1.35rem;
}

#grve-top-bar .top-bar-buttons a img {
	flex-shrink: 0;
	width: auto;
	height: 1.15em;
	max-height: 1.35rem;
	object-fit: contain;
	vertical-align: middle;
}

/* Titulares home: acento morado (mockup) */
.titulo-oscuro span {
	color: var(--ty-navy);
}

.titulo-claro,
.titulo-oscuro .titulo-claro {
	color: var(--ty-purple) !important;
}

.titulo-blanco span {
	color: #fff !important;
}

.texto-blanco,
.texto-blanco p {
	color: rgba(255, 255, 255, 0.92) !important;
}

/* Títulos y párrafos: márgenes verticales dentro del contenido (no en la sección/fila) */
#grve-theme-wrapper #grve-main-content * + .grve-title,
#grve-theme-wrapper #grve-main-content * + .grve-h1,
#grve-theme-wrapper #grve-main-content * + .grve-h2,
#grve-theme-wrapper #grve-main-content * + .grve-h3,
#grve-theme-wrapper #grve-main-content * + h1.grve-title,
#grve-theme-wrapper #grve-main-content * + h2.grve-title,
#grve-theme-wrapper #grve-main-content * + h3.grve-title {
	margin-top: var(--ty-space-title-top);
}

#grve-theme-wrapper #grve-main-content .grve-title,
#grve-theme-wrapper #grve-main-content .grve-h1,
#grve-theme-wrapper #grve-main-content .grve-h2,
#grve-theme-wrapper #grve-main-content .grve-h3,
#grve-theme-wrapper #grve-main-content h1.grve-title,
#grve-theme-wrapper #grve-main-content h2.grve-title,
#grve-theme-wrapper #grve-main-content h3.grve-title {
	margin-bottom: var(--ty-space-title-bottom);
}

#grve-theme-wrapper #grve-main-content .grve-text-content > p + p,
#grve-theme-wrapper #grve-main-content .grve-leader-text > p + p,
#grve-theme-wrapper #grve-main-content .grve-text > p + p {
	margin-top: var(--ty-space-paragraph);
}

/*
 * Home — portada-X-interior*: separación entre filas internas y entre bloques en columna.
 * Cubre también clases mal nombradas (p. ej. portada-3-interior dentro de #portada-4).
 */
body.home [id^="portada-"] .grve-column-wrapper > .grve-row-inner[class*="interior"] {
	margin-bottom: var(--ty-interior-row-gap);
}

body.home [id^="portada-"] .grve-column-wrapper > .grve-row-inner[class*="interior"]:last-child {
	margin-bottom: 0;
}

.portada-1-interior .grve-column-2-3 .titulo-oscuro {
	margin-bottom: 0.5rem;
}
#grve-theme-wrapper #grve-main-content .portada-1-interior .grve-column-2-3 .grve-btn.grve-bg-primary-1 {
	margin-top: 4rem;

}
/* Ritmo vertical homogéneo: título → texto → CTA → sliders / HTML embebido */
body.home #grve-theme-wrapper #grve-main-content [id^="portada-"] .grve-column-wrapper-inner > :is(h1, h2, h3, h4, h5, h6).grve-title,
body.home #grve-theme-wrapper #grve-main-content [id^="portada-"] .grve-column-wrapper-inner > .grve-element.grve-title {
	margin-bottom: 0;
}


/* Hero portada-1: ondas cabecera izq./der. como fondo (--ty-upload-* en portada, functions.php) */
#portada-1 {
	position: relative;
	overflow: hidden;
}

#portada-1::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.45;
	background-image: var(--ty-upload-wave-right), var(--ty-upload-wave-left);
	/* Ancladas al borde superior de la fila; el sobrante se corta con overflow:hidden del hero */
	background-origin: border-box;
	background-position:
		right var(--ty-p1-wave-right-x) top var(--ty-p1-wave-right-y),
		left var(--ty-p1-wave-left-x) top var(--ty-p1-wave-left-y);
	background-repeat: no-repeat, no-repeat;
	background-size: min(85vw, 1100px) auto, min(85vw, 960px) auto;
}

#portada-1 .grve-section-content,
#portada-1 .grve-column-wrapper {
	position: relative;
	z-index: 1;
}

/*
 * portada-X-interior*: en viewport ≤1023px, columnas WPB sin bloques se ocultan y la que tiene
 * contenido pasa a 100% (apilado legible). Por encima de 1024px las columnas vacías vuelven a
 * reservar ancho para el diseño en tres columnas del builder.
 */
@media only screen and (max-width: 1023px) {
	[id^="portada-"] .grve-row-inner[class*="portada-"][class*="-interior"] .grve-column-inner:not(:has(.grve-column-wrapper-inner > *)) {
		display: none !important;
	}

	[id^="portada-"] .grve-row-inner[class*="portada-"][class*="-interior"] .grve-column-inner:has(.grve-column-wrapper-inner > *) {
		width: 100% !important;
		max-width: 100%;
		float: none !important;
		margin-left: auto;
		margin-right: auto;
	}
}

#portada-1 .titulo-oscuro.grve-title {
	font-size: 3.125rem;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.04;
	letter-spacing: normal;
	text-align: center;
	margin-top: 0;
	margin-bottom: var(--ty-space-title-bottom);
}

#portada-1 .grve-text p {
	color: var(--ty-font-color);
	font-size: 1.125rem;
	line-height: 1.5;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}
#portada-1 .grve-text p strong {
	font-weight: 500;
}
#portada-1 .grve-text p + p {
	margin-top: var(--ty-space-paragraph);
}

/*#portada-1 .grve-btn.grve-bg-primary-1 {
	box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.5);
	border: 0;
	border-radius: 999px !important;
	color: var(--ty-navy);
	padding: 1.1rem 2.15rem !important;
	font-size: var(--ty-btn-font-hero) !important;
	font-size: 1rem;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.56;
	letter-spacing: normal;
	text-align: center;
}

#portada-1 .grve-btn.grve-bg-primary-1:hover,
#portada-1 .grve-btn.grve-bg-primary-1:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px var(--ty-shadow-navy-strong);
}*/

/* Badge circular “USA TENDERYOU GRATIS” */
.boton-circular {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 0.5rem;
}

.boton-circular-enlace {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 118px;
	height: 118px;
	border-radius: 50%;
	text-align: center;
	font-family: var(--ty-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff !important;
	background-color: var(--ty-purple);
	box-shadow: 0 12px 32px var(--ty-shadow-navy-strong);
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.boton-circular-enlace:hover,
.boton-circular-enlace:focus-visible {
	color: #fff !important;
	transform: scale(1.05);
	box-shadow: 0 16px 40px rgba(113, 69, 148, 0.4);
	background: linear-gradient(145deg, var(--ty-purple) 0%, var(--ty-navy) 100%);
	outline: none;
}

/*
 * Burbuja flotante: el HTML del WPB suele ir dentro de la columna central; el tema
 * da position:relative a cada columna, así que el botón no puede anclarse a la fila
 * solo con CSS. functions.php mueve .boton-flotante a #portada-1 (footer).
 */
#portada-1 > .boton-flotante {
	position: absolute;
	top: calc(var(--ty-p1-float-top) + var(--ty-p1-float-nudge-down));
	right: calc(var(--ty-p1-float-right) + var(--ty-p1-float-nudge-left) - var(--ty-p1-float-wide-shift));
	left: auto;
	bottom: auto;
	z-index: 12;
	width: auto;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: auto;
}

#portada-1 > .boton-flotante .wpb_wrapper {
	margin: 0;
	padding: 0;
}

#portada-1 > .boton-flotante .boton-circular {
	padding-top: 0;
	justify-content: flex-end;
	align-items: flex-start;
}

/*
 * Burbuja hero: de 768px en adelante mismo tamaño que escritorio.
 * Por debajo de 768px: --ty-p1-float-* en :root (max-width: 767px) y .boton-circular-enlace en el @media 767px más abajo.
 */
@media only screen and (min-width: 768px) {
	#portada-1 > .boton-flotante .boton-circular-enlace {
		width: 118px;
		height: 118px;
		font-size: 0.75rem;
	}
}

@media only screen and (max-width: 959px) {
	#portada-1 > .boton-flotante,
	#portada-1 .boton-flotante {
		display: none !important;
	}
}


/* #portada-2: clientes / marcas + ondas HONDAS_MITAD_PAG_CAJAS en home (ancho ampliado, recorte lateral) */
#portada-2 {
	position: relative;
	overflow: hidden;
	padding-top: var(--ty-p2-pt) !important;
	padding-bottom: var(--ty-p2-pb) !important;
}

#portada-2 .grve-background-wrapper {
	background: transparent !important;
	background-image: none !important;
}

#portada-2::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.5;
	background-image: var(--ty-upload-wave-mid);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 160% auto;
	min-height: 100%;
}

@media only screen and (min-width: 1200px) {
	#portada-2::before {
		background-size: 155% auto;
	}
}

#portada-2 .grve-section-content {
	position: relative;
	z-index: 1;
}

#portada-2 .grve-column-wrapper {
	position: relative;
	z-index: 1;
}

/*
 * #portada-3: formulario / banda oscura marca.
 * Degradado invertido respecto al original: navy-deep → navy → purple (160deg).
 * HONDAS_MITAD_PAG_CAJAS encima: --ty-upload-wave-mid en home (functions.php).
 */
#portada-3 {
	position: relative;
	overflow: hidden;
	padding-top: var(--ty-p3-pt) !important;
	padding-bottom: var(--ty-p3-pb) !important;
	background: url('https://localhost/wp_tenderyou/wp-content/uploads/2026/03/FONDO_FORMULARIO.png') 0 0 no-repeat !important;
	background-size: cover!important;
}

#portada-3 .grve-background-wrapper {
	display: none;
}

body.home #portada-3::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.42;
	min-height: 100%;
}

@media only screen and (min-width: 1200px) {
	body.home #portada-3::before {
		background-size: 155% auto;
	}
}

body.home #portada-3 .grve-section-content {
	position: relative;
	z-index: 1;
}

#portada-3 .grve-column-wrapper {
	position: relative;
	z-index: 1;
}

#portada-2 .grve-btn.grve-bg-primary-1 {
	border-radius: 999px !important;
	padding: 1rem 2rem !important;
	min-height: 3.1rem;
	font-size: var(--ty-btn-font-section) !important;
	letter-spacing: 0.045em;
}

/* Premios / bloque siguiente (solo ritmo vertical; fondo = WPBakery / tema) */
#portada-4,
#portada-5 {
	padding-top: var(--ty-p4-pt) !important;
	padding-bottom: var(--ty-p4-pb) !important;
}

/* Formulario GF1 solo en #portada-3 */
#portada-3 .gform-theme--framework .gform_required_legend .gfield_required {
	color: var(--white)	;
}
#portada-3 #gform_wrapper_1 .gform_required_legend {
	color: rgba(255, 255, 255, 0.88);
}

#portada-3 #gform_wrapper_1 .gfield .ginput_container :is(input, select, textarea) {
	background: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: var(--ty-navy) !important;
	-webkit-text-fill-color: var(--ty-navy);
	caret-color: var(--ty-navy);
}

#portada-3 #gform_wrapper_1 .gfield select option {
	color: var(--ty-navy);
	background-color: #fff;
}

#portada-3 #gform_wrapper_1 .gfield .ginput_container input::placeholder,
#portada-3 #gform_wrapper_1 .gfield .ginput_container textarea::placeholder {
	color: rgba(5, 46, 109, 0.42) !important;
	opacity: 1;
}

#portada-3 #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill,
#portada-3 #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill:hover,
#portada-3 #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--ty-navy) !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	transition: background-color 99999s ease-out 0s;
}

#portada-3 #gform_wrapper_1 .gfield.gfield--type-consent label,
#portada-3 #gform_wrapper_1 .gfield.gfield--type-consent .gfield_consent_label {
	color: rgba(255, 255, 255, 0.9) !important;
}

#portada-3 #gform_wrapper_1 .gfield_description,
#portada-3 #gform_wrapper_1 .gform_fileupload_rules {
	color: rgba(255, 255, 255, 0.78) !important;
}

/* Footer personalizado (filas WPBakery) */
#grve-footer #grve-bottom-bar .footer-fila-superior {
	background-color: var(--ty-footer-copyright-bg) !important;
}
#grve-footer #grve-bottom-bar .footer-fila-superior .grve-bookmark.grve-columns-gap-30,
#grve-footer #grve-bottom-bar .footer-copyright .grve-bookmark.grve-columns-gap-30 {
	border-top: 1px solid var(--ty-navy);
}
#grve-footer #grve-bottom-bar .footer-fila-superior .grve-bookmark.grve-columns-gap-30 {
	padding-top: 2.2rem;
}
#grve-footer #grve-bottom-bar .footer-copyright .grve-bookmark.grve-columns-gap-30 {
	padding-top: 0.8rem;
}
@media only screen and (min-width: 768px) {
#grve-footer #grve-bottom-bar .footer-copyright .grve-bookmark.grve-columns-gap-30 .wpb_column.grve-column-1-3,
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto {
	padding-left: 0;
}
#grve-footer #grve-bottom-bar .footer-copyright .grve-bookmark.grve-columns-gap-30 .wpb_column.grve-column-2-3,
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-newsletter {
	padding-right: 0;
}
}
#grve-footer #grve-bottom-bar .footer-separador {
	background-color: var(--ty-footer-copyright-bg) !important;
}

#grve-footer #grve-bottom-bar .footer-fila-superior,
#grve-footer #grve-bottom-bar .footer-fila-superior a {
	color: #3d4a5c;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .titulo-oscuro {
	color: var(--ty-navy) !important;
	font-weight: 500!important;
}
#grve-footer #grve-bottom-bar .footer-fila-superior .titulo-oscuro span {
	font-weight: 500!important;
}

#grve-footer #grve-bottom-bar .footer-newsletter .titulo-claro {
	color: var(--ty-purple) !important;
}
#grve-footer #grve-bottom-bar .grve-column-1-3 .grve-element.grve-text ul {
	list-style: none;
	margin: 0;
}

/* Columna contacto: aire entre bloques, entre líneas e iconos alineados al texto */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-column-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--ty-footer-contact-stack);
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text {
	font-size: 1rem;
	margin: 0 !important;
	padding: 0 !important;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p {
	margin: 0 0 var(--ty-footer-line-gap) 0;
	line-height: normal;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.35rem;
	margin: .15rem 0;
	row-gap: 0.2rem;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:last-child {
	margin-bottom: 0;
}

/* —— RRSS: “Síguenos en” + iconos (no escalar en em; alinear con top) —— */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> span.titulo-oscuro) {
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--ty-footer-gap-social);
	row-gap: 0;
	max-width: 100%;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> span.titulo-oscuro) span.titulo-oscuro {
	flex-shrink: 0;
	white-space: nowrap;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> span.titulo-oscuro) img {
	flex-shrink: 0;
	width: auto !important;
	height: auto !important;
	max-width: 21px;
	max-height: 20px;
	object-fit: contain;
	display: block;
	position: relative;
	top: 0.1em;
}

@media (max-width: 380px) {
	#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> span.titulo-oscuro) {
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		padding-bottom: 0.15rem;
	}
}

/*
 * Teléfono: <p><img class="wp-image-12340" … /> 648…</p> (sin enlace tel:).
 * También aplica si en el futuro envuelves en <a href="tel:…">.
 */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> img.wp-image-12340),
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(a[href^="tel:"]) {
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--ty-footer-gap-tel-text);
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(> img.wp-image-12340) img,
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(a[href^="tel:"]) img {
	flex-shrink: 0;
	float: none !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	max-width: 16px;
	max-height: 16px;
	object-fit: contain;
	display: block;
	position: relative;
	top: 0.12em;
}

/*
 * Email: <p><a href="mailto:…"><img … /> texto</a></p> — el hueco va dentro del enlace.
 */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p:has(a[href^="mailto:"]) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text a[href^="mailto:"] {
	display: inline-flex;
	align-items: center;
	gap: var(--ty-footer-gap-mail-text);
	text-decoration: none;
	color: inherit;
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text a[href^="mailto:"]:hover,
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text a[href^="mailto:"]:focus-visible {
	color: var(--ty-purple);
}

#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text a[href^="mailto:"] img {
	flex-shrink: 0;
	float: none !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	max-width: 16px;
	max-height: 11px;
	object-fit: contain;
	display: block;
	position: relative;
	top: 0.06em;
}

/* Resto de <p> con imagen (dirección, etc.): sin forzar tamaño de icono */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text p img {
	flex-shrink: 0;
	object-fit: contain;
}

/* Logo cabecera pie: no tocar */
#grve-footer #grve-bottom-bar .footer-fila-superior .footer-contacto .grve-text:first-of-type p:first-of-type img {
	height: auto !important;
	max-height: none;
	max-width: 100%;
	top: 0;
	position: static;
}

/* Newsletter: título ↔ formulario y fila email/botón centrada en altura */
#grve-footer #grve-bottom-bar .footer-newsletter .grve-title {
	font-size: 1.45rem;
	margin-bottom: 0.65rem !important;
}
#grve-footer #grve-bottom-bar .footer-newsletter .grve-column-1-3 .grve-title {
	font-size: 1.15rem;
	}
	#grve-footer #grve-bottom-bar .footer-newsletter .grve-column-1-3 .grve-title span {
		font-weight: bold!important;
		}

#grve-footer #grve-bottom-bar .footer-newsletter .grve-column-wrapper {
	display: flex;
	flex-direction: column;
	font-size: 1rem;
	gap: var(--ty-footer-line-gap);
}

/*
 * Gravity Forms ID 2 — newsletter en .footer-newsletter (Orbital).
 * Email en píldora + botón superpuesto a la derecha (grid); en ≤600px se apila.
 */
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2.gform-theme {
	--gf-color-primary: var(--color-principal);
	--gf-color-primary-rgb: 5, 46, 109;
	--gf-color-in-ctrl-primary: var(--color-principal);
	--gf-color-in-ctrl-contrast: var(--ty-navy);
	--gf-ctrl-border-color: var(--ty-card-border);
	--gf-radius: 999px;
}
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2.gform-theme form {
	max-width: 24rem;
    margin: 0 auto 3rem;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 {
	margin-block: 0.5rem 0 !important;
	padding-bottom: 0 !important;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_heading,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_required_legend {
	display: none;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform-body.gform_body {
	margin: 0;
	padding: 0;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_fields {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	/* Misma altura de fila que el email: el botón superpuesto hereda 100% y alinea bordes */
	align-items: stretch;
	gap: 0;
	width: 100%;
	max-width: 100%;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gfield {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 {
	grid-column: 1;
	grid-row: 1;
	align-self: stretch;
	min-width: 0;
	width: 100%;
	z-index: 1;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_submit {
	grid-column: 1;
	grid-row: 1;
	justify-self: end;
	align-self: baseline;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	max-width: calc(100% - 0.5rem);
	margin: 0 0.35rem 0 0.5rem;
	pointer-events: auto;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 .ginput_container_email {
	width: 100%;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"] {
	width: 100% !important;
	max-width: none !important;
	min-height: 3rem !important;
	border-radius: 999px !important;
	border: 0;
	box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.5);
  	background-color: #fff;
	color: #696969 !important;
	/* Espacio para el botón dentro de la píldora (min-width del CTA ~10.5rem + márgenes) */
	padding: 0.8rem 1.35rem !important;
	padding-right: clamp(7.5rem, 42%, 12.5rem) !important;
	box-sizing: border-box !important;
	font-family: var(--ty-font-body) !important;
	font-size: 0.9375rem !important;
	line-height: 1.35 !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"]::placeholder {
	color: #696969 !important;
	opacity: 1;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"]:focus {
	border-color: var(--color-principal) !important;
	box-shadow: 0 0 0 3px rgba(5, 46, 109, 0.12) !important;
	outline: none !important;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"]:-webkit-autofill,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"]:-webkit-autofill:hover,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"]:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--ty-navy) !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	transition: background-color 99999s ease-out 0s;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #gform_submit_button_2,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform-button.button {
	border-radius: 999px !important;
	border: 0;
	box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.5);
	background-color: #fff;
	color: var(--ty-navy) !important;
	font-family: var(--ty-font-body) !important;
	font-size: 1rem !important;
	font-weight: 300!important;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.56;
	letter-spacing: normal;
	text-align: center;
	text-transform: uppercase;
	/* Altura en px la fija gf-newsletter-submit-height.js (= getBoundingClientRect del email) */
	padding: 0 1.1rem !important;
	min-height: 3rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box !important;
	cursor: pointer;
	margin: 0 !important;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #gform_submit_button_2:hover,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #gform_submit_button_2:focus-visible,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform-button.button:hover,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform-button.button:focus-visible {
	background-color: var(--color-principal) !important;
	color: #fff !important;
	border-color: var(--color-principal) !important;
	box-shadow: 0 6px 18px var(--ty-shadow-navy-strong);
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_footer.gform_footer {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	min-height: 0 !important;
	line-height: 0;
}

#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_validation_errors,
#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .validation_message {
	border-radius: 12px !important;
}

@media only screen and (max-width: 600px) {
	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform_fields {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
	}

	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1,
	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_submit {
		grid-column: unset;
		grid-row: unset;
		justify-self: stretch;
		width: 100%;
		max-width: none;
		margin: 0;
	}

	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #field_2_1 input[type="email"] {
		padding-right: 1.35rem !important;
	}

	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 #gform_submit_button_2,
	#grve-footer #grve-bottom-bar .footer-newsletter #gform_wrapper_2 .gform-button.button {
		width: 100%;
		min-width: 0;
		height: auto !important;
		min-height: 3rem !important;
		max-height: none !important;
		padding: 0.8rem 1.65rem !important;
		font-size: 0.875rem !important;
	}
}

#grve-footer #grve-bottom-bar .footer-copyright {
	background-color: var(--ty-footer-copyright-bg) !important;
}

#grve-footer #grve-bottom-bar .footer-copyright,
#grve-footer #grve-bottom-bar .footer-copyright a {
	color: #5c6b7a !important;
	font-size: 1rem;
}

.logo-texto-pie {
	color: var(--ty-text-muted);
	margin-top: 0.35rem;
	margin-bottom: 0;
}

/* Menú principal: hover acorde a marca */
#grve-header .grve-main-menu .grve-wrapper > ul > li:hover > a,
#grve-header .grve-main-menu .grve-wrapper > ul > li.current-menu-item > a {
	color: var(--ty-purple) !important;
}

/* Menú principal: un poco más de tamaño y separación entre ítems (primer nivel) */
#grve-header .grve-horizontal-menu ul.grve-menu > li > a {
	font-size: var(--ty-main-menu-font-size) !important;
	padding-left: var(--ty-main-menu-pad-x) !important;
	padding-right: var(--ty-main-menu-pad-x) !important;
}

#grve-header .grve-horizontal-menu ul.grve-menu > li > a .grve-item {
	font-size: inherit;
}

#grve-header .grve-main-menu .grve-wrapper > ul > li .grve-toggle-menu-item-wrapper > a {
	font-size: var(--ty-main-menu-font-size) !important;
}

#grve-header .grve-horizontal-menu.grve-position-left ul.grve-menu > li > a {
	padding: 0 var(--ty-main-menu-pad-between) 0 0 !important;
}

#grve-header .grve-horizontal-menu.grve-position-right ul.grve-menu > li > a {
	color: var(--ty-navy);
	padding: 0 0 0 var(--ty-main-menu-pad-between) !important;
}

/*
 * Menú responsive / off-canvas: mismos criterios que cabecera estándar
 * (Poppins, navy por defecto, morado hover/activo, bordes suaves).
 */
#grve-responsive-header .grve-header-element > a,
#grve-responsive-header .grve-header-element .grve-purchased-items {
	color: var(--ty-navy) !important;
}

#grve-responsive-header .grve-header-element > a:hover {
	color: var(--ty-purple) !important;
}

#grve-responsive-header .grve-safe-btn-icon {
	fill: var(--ty-navy) !important;
}

#grve-responsive-header .grve-safe-btn-icon:hover {
	fill: var(--ty-purple) !important;
}

#grve-responsive-header #grve-main-responsive-header {
	background-color: #ffffff !important;
	border-bottom: 1px solid rgba(5, 46, 109, 0.08);
}

#grve-responsive-header .grve-logo-text a {
	color: var(--ty-navy) !important;
}

/* Paneles off-canvas: fondo blanco como cabecera por defecto */
#grve-hidden-menu.grve-hidden-area,
#grve-responsive-anchor.grve-hidden-area {
	background-color: #ffffff !important;
}

/* Enlaces del panel (toggle) */
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li a,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a {
	font-weight: 500 !important;
	font-size: 0.9375rem !important;
	letter-spacing: 0.03em !important;
	line-height: 1.4 !important;
	color: var(--ty-navy) !important;
	border-bottom-color: rgba(5, 46, 109, 0.12) !important;
	transition: color 0.2s ease;
}

#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li a:hover,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li.current-menu-item > a,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li.current-menu-ancestor > a,
#grve-hidden-menu.grve-hidden-area .grve-toggle-menu ul.grve-menu li.open > a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li a:hover,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li.current-menu-item > a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li.current-menu-ancestor > a,
#grve-responsive-anchor.grve-hidden-area .grve-toggle-menu ul.grve-menu li.open > a {
	color: var(--ty-purple) !important;
}

/* Variante slide (móvil en cabecera) */
#grve-header .grve-slide-menu ul.grve-menu li a,
#grve-header .grve-slide-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a {
	font-weight: 500 !important;
	font-size: 0.9375rem !important;
	letter-spacing: 0.03em !important;
	color: var(--ty-navy) !important;
	border-bottom-color: rgba(5, 46, 109, 0.12) !important;
}

#grve-header .grve-slide-menu ul.grve-menu li a:hover,
#grve-header .grve-slide-menu ul.grve-menu li.current-menu-item > a,
#grve-header .grve-slide-menu ul.grve-menu li.current-menu-ancestor > a {
	color: var(--ty-purple) !important;
}

#grve-hidden-menu.grve-slide-menu ul.grve-menu li a,
#grve-hidden-menu.grve-slide-menu ul.grve-menu li .grve-toggle-menu-item-wrapper a {
	font-weight: 500 !important;
	font-size: 0.9375rem !important;
	color: var(--ty-navy) !important;
	border-bottom-color: rgba(5, 46, 109, 0.12) !important;
}

#grve-hidden-menu.grve-slide-menu ul.grve-menu li a:hover,
#grve-hidden-menu.grve-slide-menu ul.grve-menu li.current-menu-item > a {
	color: var(--ty-purple) !important;
}

/* Flechas expandir (toggle): barras navy / morado al abrir */
#grve-hidden-menu:not(.grve-slide-menu) ul.grve-menu li .grve-arrow:after,
#grve-hidden-menu:not(.grve-slide-menu) ul.grve-menu li .grve-arrow:before,
#grve-responsive-anchor:not(.grve-slide-menu) ul.grve-menu li .grve-arrow:after,
#grve-responsive-anchor:not(.grve-slide-menu) ul.grve-menu li .grve-arrow:before {
	background-color: var(--ty-navy) !important;
}

#grve-hidden-menu:not(.grve-slide-menu) ul.grve-menu li.open > a .grve-arrow:after,
#grve-hidden-menu:not(.grve-slide-menu) ul.grve-menu li.open > a .grve-arrow:before,
#grve-responsive-anchor:not(.grve-slide-menu) ul.grve-menu li.open > a .grve-arrow:after,
#grve-responsive-anchor:not(.grve-slide-menu) ul.grve-menu li.open > a .grve-arrow:before {
	background-color: var(--ty-purple) !important;
}

/* Slide: icono Font Awesome */
#grve-hidden-menu.grve-slide-menu ul.grve-menu li > .grve-arrow,
#grve-header .grve-slide-menu ul.grve-menu li > .grve-arrow {
	color: var(--ty-navy);
}

#grve-hidden-menu.grve-slide-menu ul.grve-menu li > .grve-arrow:hover,
#grve-header .grve-slide-menu ul.grve-menu li > .grve-arrow:hover {
	color: var(--ty-purple);
}

#grve-hidden-menu.grve-slide-menu ul.grve-menu .grve-arrow:after,
#grve-header .grve-slide-menu ul.grve-menu .grve-arrow:after {
	color: inherit;
}

/* Cerrar panel + textos auxiliares */
#grve-hidden-menu .grve-close-btn,
#grve-responsive-anchor .grve-close-btn {
	color: var(--ty-navy) !important;
}

#grve-hidden-menu .grve-close-btn:hover,
#grve-responsive-anchor .grve-close-btn:hover {
	color: var(--ty-purple) !important;
}

#grve-hidden-menu .grve-menu-description,
#grve-responsive-anchor .grve-menu-description {
	font-family: var(--ty-font-body) !important;
	color: var(--ty-text-muted) !important;
}

#grve-hidden-menu .grve-header-responsive-elements,
#grve-hidden-menu .grve-header-responsive-elements input,
#grve-responsive-anchor .grve-header-responsive-elements,
#grve-responsive-anchor .grve-header-responsive-elements input {
	font-family: var(--ty-font-body) !important;
	color: var(--ty-text-muted) !important;
	border-color: rgba(5, 46, 109, 0.15) !important;
}

/* Submenús anidados (toggle / anchor) */
#grve-hidden-menu.grve-toggle-menu ul.grve-menu ul li a,
#grve-responsive-anchor.grve-toggle-menu ul.grve-menu ul li a {
	font-family: var(--ty-font-body) !important;
	font-weight: 500 !important;
	font-size: 0.875rem !important;
	color: var(--ty-navy) !important;
	border-bottom-color: rgba(5, 46, 109, 0.1) !important;
}

#grve-hidden-menu.grve-toggle-menu ul.grve-menu ul li a:hover,
#grve-hidden-menu.grve-toggle-menu ul.grve-menu ul li.current-menu-item > a,
#grve-responsive-anchor.grve-toggle-menu ul.grve-menu ul li a:hover,
#grve-responsive-anchor.grve-toggle-menu ul.grve-menu ul li.current-menu-item > a {
	color: var(--ty-purple) !important;
}

#grve-hidden-menu .grve-hidden-menu-text a,
#grve-responsive-anchor .grve-hidden-menu-text a {
	color: var(--ty-navy) !important;
}

#grve-hidden-menu .grve-hidden-menu-text a:hover,
#grve-responsive-anchor .grve-hidden-menu-text a:hover {
	color: var(--ty-purple) !important;
}

@media only screen and (max-width: 1023px) {
	.boton-circular {
		padding-top: 1.5rem;
	}

	#portada-1 > .boton-flotante .boton-circular {
		padding-top: 0;
	}

	[id^="portada-"] .grve-row-inner[class*="portada-"][class*="-interior"] .grve-column-inner.grve-column-1-3:first-child,
	[id^="portada-"] .grve-row-inner[class*="portada-"][class*="-interior"] .grve-column-inner.grve-column-1-3:last-child {
		min-height: 0;
	}

}

@media only screen and (max-width: 767px) {
	#portada-1 .titulo-oscuro.grve-title {
		font-size: 1.65rem !important;
		line-height: 1.2 !important;
	}

	.boton-circular-enlace {
		width: 104px;
		height: 104px;
		font-size: 0.6875rem;
	}

	#grve-top-bar .top-bar-buttons {
		justify-content: center;
	}
}

/* Label flotante solo formulario Gravity Forms ID 1 (#gform_wrapper_1) */
#grve-theme-wrapper #gform_wrapper_1 .gform_heading {
	margin-bottom: 1rem;
}

/* Orbital: row-gap a 0 para no duplicar hueco con margin-bottom de cada .gfield */
#grve-theme-wrapper #gform_wrapper_1.gform-theme,
#grve-theme-wrapper #gform_wrapper_1.gform-theme--framework {
	--gf-gap-y: 0;
	--gform-theme-row-gap: 0; /* GF anterior a 2.8 / compat */
	--gf-color-in-ctrl: #ffffff;
}

#grve-theme-wrapper #gform_wrapper_1 .gform_fields {
	padding: 0.25rem 0 0;
	row-gap: 0 !important;
}

#grve-theme-wrapper #gform_wrapper_1 .gform-body.gform_body {
	padding: 0.2rem 0 0;
}

#grve-theme-wrapper #gform_wrapper_1 .gfield {
	margin-top: 0 !important;
	margin-bottom: var(--ty-form-field-gap) !important;
	padding-left: 0.125rem;
	padding-right: 0.125rem;
}

#grve-theme-wrapper #gform_wrapper_1 .gform_fields > .gfield:last-of-type {
	margin-bottom: 0 !important;
}
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot) {
    position: relative;
    padding-top: 0;
  }

  /* Label por encima del fondo blanco del control (Orbital / stacking) */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot) .ginput_container {
    position: relative;
    z-index: 0;
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot) .gform-theme-field-control {
    position: relative;
    z-index: 0;
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot) .ginput_container :is(input, select, textarea) {
        margin-bottom: 1.5rem;
	position: relative;
    z-index: 0;
  }

  /* Padding antes del focus: vacío y sin foco — espacio para el label dentro del control */
  /* Controles: caja y bordes redondeados (Orbital puede pintar borde en el control) */
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_text input,
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_email input,
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_phone input,
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_number input,
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_select select,
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_textarea textarea {
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .ginput_container_text input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .ginput_container_email input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .ginput_container_phone input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .ginput_container_number input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .ginput_container_select select {
    padding: 1.25rem 1.125rem 0.75rem !important;
    transition: padding 0.2s ease;
  }
  /* Con foco o con texto: label arriba, menos padding superior */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .ginput_container_text input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .ginput_container_email input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .ginput_container_phone input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .ginput_container_number input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .ginput_container_select select,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value .ginput_container_text input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value .ginput_container_email input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value .ginput_container_phone input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value .ginput_container_number input,
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value .ginput_container_select select {
    padding: 0.7rem 1.125rem 0.75rem !important;
    transition: padding 0.2s ease;
  }
  #grve-theme-wrapper #gform_wrapper_1 .ginput_container_textarea textarea {
    padding: 1.125rem !important;
    color: var(--ty-navy) !important;
    -webkit-text-fill-color: var(--ty-navy);
  }

  /* Texto escrito siempre legible (evita herencia de color claro del tema / sección) */
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container select,
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container textarea {
    background-color: var(--white) !important;
    color: var(--ty-navy) !important;
    -webkit-text-fill-color: var(--ty-navy);
    caret-color: var(--ty-navy);
	font-size: 1rem;
	margin: 0;
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield select option {
    color: var(--ty-navy);
    background-color: var(--white);
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill,
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill:hover,
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--ty-navy) !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    transition: background-color 99999s ease-out 0s;
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container input::placeholder,
  #grve-theme-wrapper #gform_wrapper_1 .gfield .ginput_container textarea::placeholder {
    color: rgba(5, 46, 109, 0.4) !important;
    opacity: 1;
  }

  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot) .gfield_label {
    position: absolute;
    left: 1.125rem;
    font-size: 1rem;
    color: rgba(42,42,42,0.5);
    background: transparent;
    pointer-events: none;
	top: 1rem;
    transition: color 0.2s ease, top 0.2s ease, transform 0.2s ease, font-size 0.2s ease, font-weight 0.2s ease;
    z-index: 4;
  }

  /* Input/select/etc. vacío y sin foco: label centrada en vertical (textarea y captcha fuera) */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.gfield--type-textarea):not(.gfield--type-captcha):not(.has-focus):not(.has-value) .gfield_label {
	margin: 0;
	top: 1.25rem;
    transform: translateY(-50%);
  }
  /* Consentimiento: <legend class="gfield_label"> no debe flotar; honeypot: etiqueta normal */
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-consent legend.gfield_label,
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-honeypot .gfield_label {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    pointer-events: auto;
    background: transparent;
    padding: 0;
    font-size: inherit;
    z-index: auto;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gfield .gfield_description,
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-consent label {
    display: inline-block;
    line-height: normal;
    font-size: .8rem;
    margin: .35rem 0 0.75rem 0;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-consent label {
    margin: 0;
    padding-left: 0.5rem;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-textarea .gfield_label,
  #grve-theme-wrapper #gform_wrapper_1 .gfield.gfield--type-captcha .gfield_label {
    position: relative;
  }
  /* Label elevada con valor (sin foco): compacta */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value:not(.has-focus) .gfield_label {
    top: var(--ty-form-label-above);
    transform: none;
    font-size: var(--ty-form-label-float-fs);
    font-weight: 600;
    color: var(--ty-form-label-floating-light-bg);
    background: transparent !important;
    padding: 0;
    z-index: 4;
  }

  /* Con foco: más separación label ↔ campo y etiqueta más grande */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .gfield_label {
    top: var(--ty-form-label-above-focus);
    transform: none;
    font-size: var(--ty-form-label-float-fs-focus);
    font-weight: 600;
    color: var(--ty-form-label-floating-light-bg);
    background: transparent !important;
    padding: 0;
    z-index: 4;
  }

  /* #portada-3: label dentro del campo = oscuro sobre blanco; elevada = clara sobre degradado */
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .gfield_label,
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot):not(.has-focus):not(.has-value) .gfield_label span {
    color: rgba(42,42,42,0.5); !important;
	font-weight: 400;
  }

  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value:not(.has-focus) .gfield_label {
    color: var(--ty-form-label-floating-dark-bg) !important;
    text-shadow: 0 1px 2px rgba(3, 29, 69, 0.45);
  }
#grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-value:not(.has-focus) .gfield_label span {
	color: var(--ty-form-label-floating-dark-bg) !important;
}
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .gfield_label,
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus .gfield_label span {
    color: var(--ty-form-label-floating-dark-bg) !important;
    text-shadow: 0 1px 2px rgba(3, 29, 69, 0.45);
  }

  /* Espacio extra bajo la etiqueta solo con foco (separación respecto al input) */
  #grve-theme-wrapper #gform_wrapper_1 .gfield:not(.gfield--type-consent):not(.gfield--type-honeypot).has-focus {
    padding-top: 0.35rem;
  }
  /* Pie: centrado del envío */
  #grve-theme-wrapper #gform_wrapper_1 .gform-footer.gform_footer,
  #grve-theme-wrapper #gform_wrapper_1 .gform-footer {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1.35rem 1.25rem 1.25rem;
    margin-top: 0.4rem;
    text-align: center;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gform-footer input[type='submit'],
  #grve-theme-wrapper #gform_wrapper_1 .grve-bg-primary-1 {
    border-radius: 33px!important;
    box-shadow: 0 4px 14px rgba(5, 46, 109, 0.12);
    border: 2px solid var(--color-principal) !important;
    background-color: #ffffff !important;
    color: var(--color-principal) !important;
    font-size: var(--ty-btn-font-submit) !important;
    font-weight: 700 !important;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    padding: 1.05rem 3.1rem;
    min-height: 3.25rem;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  }
  #grve-theme-wrapper #gform_wrapper_1 .gform-footer input[type='submit']:hover,
  #grve-theme-wrapper #gform_wrapper_1 .gform-footer input[type='submit']:focus-visible,
  #grve-theme-wrapper #gform_wrapper_1 .grve-bg-primary-1:hover,
  #grve-theme-wrapper #gform_wrapper_1 .grve-bg-primary-1:focus-visible {
    background-color: var(--color-principal) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px var(--ty-shadow-navy-strong);
  }

  /* #portada-3: sombra del envío más visible sobre el degradado */
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gform-footer input[type='submit'] {
    box-shadow: 0 0 20px 0 rgba(5, 46, 109, 0.5);
	font-weight: 500!important;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.56;
	letter-spacing: normal;
	text-align: center;
  }

  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gform-footer input[type='submit']:hover,
  #grve-theme-wrapper #portada-3 #gform_wrapper_1 .gform-footer input[type='submit']:focus-visible {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  }
