/*
Theme Name: Hello Nuevamente
Theme URI: https://www.gabrielruda.com
Description: Tema hijo de Hello Elementor para gabrielruda.com. Solo estilos y ajustes propios.
Author: IniciaTuWeb
Template: hello-elementor
Version: 1.1.0
Text Domain: hello-nuevamente
*/

/* ------------------------------------------------------------------
   Paleta — medida del logo de Gabriel Ruda
   ------------------------------------------------------------------ */
:root {
	--gr-tinta:      #262626;
	--gr-azul:       #2B2B2B;
	--gr-naranja:    #F06C00;
	--gr-naranja-h:  #D45F00;
	--gr-texto:      #545454;
	--gr-borde:      #E6E1D9;
	--gr-hueso:      #FAF8F4;
}

/* ------------------------------------------------------------------
   Gravity Forms con la identidad del sitio
   ------------------------------------------------------------------ */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper button.gform_button,
.gform_wrapper .gform_button {
	background: var(--gr-naranja);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 17px 32px;
	font-family: "Archivo", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper button.gform_button:hover,
.gform_wrapper .gform_button:hover {
	background: var(--gr-naranja-h);
}

.gform_wrapper .gfield_label {
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--gr-tinta);
	margin-bottom: 6px;
}

.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="number"],
.gform_wrapper .gfield input[type="date"],
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	color: var(--gr-tinta);
	background-color: #fff;
	border: 1px solid var(--gr-borde);
	border-radius: 8px;
	padding: 13px 14px;
	width: 100%;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus {
	border-color: var(--gr-naranja);
	box-shadow: 0 0 0 3px rgba(255, 93, 8, .14);
	outline: none;
}
.gform_wrapper .gfield textarea { min-height: 150px; resize: vertical; }

.gform_wrapper .gfield_required { color: var(--gr-naranja); }

.gform_wrapper .gfield_description.validation_message,
.gform_wrapper .validation_message {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	color: #C42B1C;
	background: none;
	border: 0;
	padding: 4px 0 0;
}
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea { border-color: #C42B1C; }

.gform_wrapper .gform_validation_errors {
	border-radius: 10px;
	border: 1px solid #F3C6C1;
	background: #FDF3F2;
	box-shadow: none;
}
.gform_wrapper .gform_validation_errors > h2 {
	font-family: "Archivo", sans-serif;
	font-size: 16px;
	color: #8A1E13;
}

.gform_confirmation_message {
	font-family: "Inter", sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--gr-texto);
	background: var(--gr-hueso);
	border: 1px solid var(--gr-borde);
	border-left: 4px solid var(--gr-naranja);
	border-radius: 10px;
	padding: 22px 24px;
}
.gform_confirmation_message a { color: var(--gr-azul); }

/* ------------------------------------------------------------------
   Detalles generales
   ------------------------------------------------------------------ */
/* que la imagen de las tarjetas del catálogo recorte y no deforme */
.e-loop-item .elementor-widget-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* el bloque lateral de la ficha acompaña al hacer scroll */
@media (min-width: 1025px) {
	.gr-sticky { position: sticky; top: 104px; }
}

/* foco visible en todo el sitio, por accesibilidad */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--gr-naranja);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------
   Gravity Forms 3 — vía oficial: sus propias variables de tema.
   Pelear con la especificidad no sirve: su framework carga después
   y usa :where(). Estas variables sí las respeta.
   ------------------------------------------------------------------ */
.gform-theme--framework,
.gform_wrapper.gform-theme,
.gform_wrapper {
	--gf-color-primary:                    var(--gr-naranja, #F06C00);
	--gf-color-primary-rgb:                255, 93, 8;
	--gf-color-primary-darker:             var(--gr-naranja-h, #D45F00);
	--gf-color-primary-contrast:           #FFFFFF;

	--gf-ctrl-btn-bg-color-primary:        var(--gr-naranja, #F06C00);
	--gf-ctrl-btn-bg-color-hover-primary:  var(--gr-naranja-h, #D45F00);
	--gf-ctrl-btn-bg-color-focus-primary:  var(--gr-naranja-h, #D45F00);
	--gf-ctrl-btn-color-primary:           #FFFFFF;
	--gf-ctrl-btn-color-hover-primary:     #FFFFFF;
	--gf-ctrl-btn-color-focus-primary:     #FFFFFF;
	--gf-ctrl-btn-border-color-primary:        var(--gr-naranja, #F06C00);
	--gf-ctrl-btn-border-color-hover-primary:  var(--gr-naranja-h, #D45F00);
	--gf-ctrl-btn-border-color-focus-primary:  var(--gr-naranja-h, #D45F00);

	--gf-ctrl-btn-font-family:  "Archivo", sans-serif;
	--gf-ctrl-btn-font-weight:  600;
	--gf-ctrl-btn-font-size:    16px;
	--gf-ctrl-btn-padding-x:    32px;
	--gf-ctrl-btn-padding-y:    17px;
	--gf-ctrl-btn-radius:       8px;

	--gf-ctrl-border-color-focus: var(--gr-naranja, #F06C00);
	--gf-ctrl-radius:             8px;
	--gf-ctrl-font-family:        "Inter", sans-serif;
	--gf-label-font-family:       "Inter", sans-serif;
	--gf-label-color-primary:     var(--gr-tinta, #262626);
}

/* el radio del botón no siempre sale de variable: se remata aquí */
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_page_footer .gform_button {
	border-radius: 8px;
}

/* Los <select> de Gravity Forms traen alto fijo (38px) con overflow:clip.
   Si les metemos padding vertical, el texto se sale de la caja y no se ve.
   Solo padding horizontal; el alto lo pone GF. */
.gform_wrapper .gfield select {
	padding-top: 0;
	padding-bottom: 0;
	line-height: normal;
	min-height: 46px;
	height: auto;
}

/* ------------------------------------------------------------------
   Teléfono con selector de país: que parezca UN SOLO campo.
   De fábrica el botón mide 56px y el input 38px, y arrancan a distinta
   altura porque cada uno lleva su propia sub-etiqueta encima.
   ------------------------------------------------------------------ */
.gform_wrapper .gform-phone__input-wrapper {
	display: flex;
	align-items: stretch;
	gap: 0;
}

/* Las sub-etiquetas «País» y «Nº de teléfono» sobran: ya está la etiqueta
   del campo. Se ocultan a la vista, pero siguen ahí para lectores de pantalla. */
.gform_wrapper .gform-phone__input-wrapper label.gform-field-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.gform_wrapper .ginput_country-selector_container { flex: 0 0 auto; }
.gform_wrapper .ginput_phone_container            { flex: 1 1 auto; min-width: 0; }

.gform_wrapper button.gform-phone__country-selector {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 46px;
	min-height: 46px;
	padding: 0 12px;
	background-color: #fff;
	border: 1px solid var(--gr-borde);
	border-right: 0;
	border-radius: 8px 0 0 8px;
	color: var(--gr-tinta);
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease;
}
.gform_wrapper button.gform-phone__country-selector:hover { background-color: var(--gr-hueso); }
.gform_wrapper button.gform-phone__country-selector:focus-visible {
	border-color: var(--gr-naranja);
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 93, 8, .14);
	position: relative;
	z-index: 1;
}
.gform_wrapper .gform-phone__flag-icon { flex: 0 0 auto; }
.gform_wrapper .gform-phone__dial-code { font-variant-numeric: tabular-nums; }

.gform_wrapper input.gform-phone__input {
	height: 46px;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 0 8px 8px 0;
	border-left: 1px solid var(--gr-borde);
}
.gform_wrapper input.gform-phone__input:focus { position: relative; z-index: 1; }

/* que los demás campos midan lo mismo, para que la fila quede pareja */
.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="date"] {
	height: 46px;
	padding-top: 0;
	padding-bottom: 0;
}

/* ------------------------------------------------------------------
   Gravity Forms carga sus estilos DESPUÉS que los del tema, así que
   sus reglas ganan por orden. Estas repiten lo de arriba añadiendo
   .gform-theme--framework para superar su especificidad, sin !important.
   ------------------------------------------------------------------ */
.gform-theme--framework.gform_wrapper button.gform-phone__country-selector {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 46px;
	min-height: 46px;
	max-height: 46px;
	padding: 0 12px;
	background-color: #fff;
	border: 1px solid var(--gr-borde);
	border-right: 0;
	border-radius: 8px 0 0 8px;
	color: var(--gr-tinta);
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1;
}
.gform-theme--framework.gform_wrapper .gform-phone__input-wrapper {
	display: flex;
	align-items: center;
	gap: 0;
}
.gform-theme--framework.gform_wrapper input.gform-phone__input {
	height: 46px;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 0 8px 8px 0;
	border-left: 1px solid var(--gr-borde);
}
.gform-theme--framework.gform_wrapper .gfield input[type="text"],
.gform-theme--framework.gform_wrapper .gfield input[type="email"],
.gform-theme--framework.gform_wrapper .gfield input[type="tel"],
.gform-theme--framework.gform_wrapper .gfield input[type="date"] {
	height: 46px;
	min-height: 46px;
	padding-top: 0;
	padding-bottom: 0;
}
.gform-theme--framework.gform_wrapper .gfield select {
	height: 46px;
	min-height: 46px;
	padding-top: 0;
	padding-bottom: 0;
}
/* el código de país, siempre visible y sin partirse */
.gform-theme--framework.gform_wrapper .gform-phone__dial-code {
	flex: 0 0 auto;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--gr-tinta);
}



/* ------------------------------------------------------------------
   Cintillo (marquee) de logotipos de clientes.
   Sin JavaScript: la lista va duplicada y se desplaza media pista con
   una animación. Cuando la primera copia termina de salir, la segunda
   está justo donde empezó la primera, así que la cinta no da saltos.

   El color es lo PREDETERMINADO porque en pantallas táctiles no hay
   hover: si dejáramos el gris por defecto, en un móvil nunca se verían
   los logos a color.
   ------------------------------------------------------------------ */
.gr-cintillo {
	--gr-cintillo-duracion: 90s;
	--gr-cintillo-alto: 64px;
	position: relative;
	width: 100%;
	overflow: hidden;
	/* los bordes se desvanecen: la cinta parece no tener principio ni fin */
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.gr-cintillo__pista {
	display: flex;
	align-items: center;
	gap: 56px;
	width: max-content;
	margin: 0;
	padding: 0;
	list-style: none;
	animation: gr-cintillo-correr var(--gr-cintillo-duracion) linear infinite;
	will-change: transform;
}

.gr-cintillo__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.gr-cintillo__item img {
	display: block;
	width: auto;
	height: var(--gr-cintillo-alto);
	object-fit: contain;
	mix-blend-mode: multiply;   /* funde el fondo blanco del JPG con la sección */
	transition: filter .25s ease, opacity .25s ease;
}

@keyframes gr-cintillo-correr {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }   /* media pista = una copia entera */
}

/* Los logos van SIEMPRE a color, en cualquier dispositivo.
   Lo único que se reserva al ratón es la pausa de la cinta, que es un
   extra: quien no lo tenga no se pierde nada. */
@media (hover: hover) and (pointer: fine) {
	.gr-cintillo:hover .gr-cintillo__pista { animation-play-state: paused; }
	.gr-cintillo__item:hover img { transform: scale(1.06); }
}

/* En táctil: a color desde el principio y algo más pequeños. */
@media (hover: none), (pointer: coarse) {
	.gr-cintillo { --gr-cintillo-alto: 50px; }
	.gr-cintillo__pista { gap: 40px; }
}

/* Quien pide menos movimiento en su sistema, no ve la cinta correr. */
@media (prefers-reduced-motion: reduce) {
	.gr-cintillo__pista { animation: none; flex-wrap: wrap; justify-content: center; width: 100%; }
	.gr-cintillo { -webkit-mask-image: none; mask-image: none; }
}

/* ═══════════════════════════════════════════════════════════
   Tarjetas del programa — las pinta [gr_cohorte_talleres]
   Mismas medidas y colores que llevaban las tarjetas fijas
   que había antes en Elementor.
   ═══════════════════════════════════════════════════════════ */

.gr-talleres {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	align-items: stretch;
}

.gr-taller-card {
	flex: 1 1 calc( ( 100% - ( var( --gr-cols, 4 ) - 1 ) * 20px - 1px ) / var( --gr-cols, 4 ) );
	max-width: calc( ( 100% - ( var( --gr-cols, 4 ) - 1 ) * 20px - 1px ) / var( --gr-cols, 4 ) );
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #fff;
	border: 1px solid #E6E1D9;
	border-radius: 14px;
	padding: 26px 22px;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.gr-taller-card { flex-basis: calc( 50% - 10px ); max-width: calc( 50% - 10px ); }
}

.gr-taller-card__num {
	font-family: "Archivo", sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -1px;
	color: #F06C00;
}

.gr-taller-card__nombre {
	margin: 0;
	font-family: "Archivo", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.4px;
	color: #262626;
}

.gr-taller-card__desc {
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1.75;
	color: #545454;
}

.gr-taller-card__clases {
	list-style: none;
	margin: auto 0 0;
	padding: 20px 0 0;
	border-top: 1px solid #E6E1D9;
	display: flex;
	flex-direction: column;
	gap: 12px;
	counter-reset: gr-clase;
}

.gr-taller-card__clases li {
	counter-increment: gr-clase;
	position: relative;
	padding-left: 26px;
}

.gr-taller-card__clases li::before {
	content: counter( gr-clase );
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #f0f3fa;
	color: #2B2B2B;
	font-family: "Archivo", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.gr-clase-nombre {
	display: block;
	font-family: "Archivo", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: #262626;
}

.gr-clase-desc {
	display: block;
	margin-top: 2px;
	font-family: "Inter", sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: #545454;
}

@media (max-width: 767px) {
	.gr-talleres { gap: 14px; }
	.gr-taller-card { flex-basis: 100%; max-width: 100%; }
	.gr-taller-card { padding: 22px 18px; }
	.gr-taller-card__num { font-size: 22px; }
	.gr-taller-card__nombre { font-size: 17px; }
}

/* ── Cabecera: logotipo a tamaño de marca ───────────────── */
.site-header { padding-block: 14px; }
.site-header .site-branding { align-items: center; }
.site-header .custom-logo-link img,
.site-header img.custom-logo {
	max-height: 88px;
	width: auto;
	height: auto;
}
.site-header .site-description {
	font-size: 13px;
	color: #8A8A8A;
	margin-top: 2px;
}
@media (max-width: 767px) {
	.site-header .custom-logo-link img,
	.site-header img.custom-logo { max-height: 56px; }
	.site-header .site-description { font-size: 11px; }
}

/* ── Pie propio: se oculta el del tema ───────────────── */
.site-footer.dynamic-footer { display: none; }

@media (max-width: 767px) {
	.e-con img[src*="luis-foto"],
	.e-con img[src*="gabriel-foto"] { height: 226px; }
}

/* ── Fichas de lideres: la foto se apoya en la cabecera ── */
.e-con img[src*="luis-foto"],
.e-con img[src*="gabriel-foto"] {
	height: 300px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: bottom center;
	display: block;
	margin: 0 auto -1px;
}
@media (max-width: 767px) {
	.e-con img[src*="luis-foto"],
	.e-con img[src*="gabriel-foto"] { height: 250px; }
}

/* ── Hero: la tarjeta de cohorte no se estira ────────────── */
#cohorte-hero {
	align-self: center;
	height: auto;
}
/* ── Cabecera: sin la linea de descripcion bajo el logo ─── */
.site-header .site-description { display: none; }

#hero .elementor-icon-box-icon {
	margin-bottom: 0 !important;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
#hero .elementor-icon-box-content { text-align: left; }
#hero .elementor-icon-box-title {
	margin: 0;
	letter-spacing: normal;
	font-weight: 600;
	line-height: 1.35;
}

/* ── Hero: pildora del aval, todo a la misma linea ───────── */
#aval-hero {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 9px;
}
#aval-hero > .e-con,
#aval-hero > .elementor-widget {
	display: flex;
	align-items: center;
	margin: 0;
	width: auto;
}
#aval-hero .elementor-widget-image,
#aval-hero figure,
#aval-hero img { margin: 0; display: block; }
#aval-hero p { margin: 0; line-height: 1.2; }


/* ── Iconos en linea del hero (clase real: -inline-start) ── */
[class*="elementor-position-inline"] .elementor-icon-box-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 11px;
}
[class*="elementor-position-inline"] .elementor-icon-box-icon {
	margin: 0 !important;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	align-self: center;
}
[class*="elementor-position-inline"] .elementor-icon-box-content { text-align: left; }
[class*="elementor-position-inline"] .elementor-icon-box-title,
[class*="elementor-position-inline"] .elementor-icon-box-title span,
[class*="elementor-position-inline"] .elementor-icon-box-description {
	margin: 0 !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
}

/* ── Filete bajo los titulos de seccion ──────────────────── */
.e-con h2.elementor-heading-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	background-color: #F06C00;
	border-radius: 2px;
	margin-top: 16px;
}
.seccion-oscura h2.elementor-heading-title::after { background-color: #FFFFFF; }
.sin-filete h2.elementor-heading-title::after { display: none; }
/* los titulos centrados llevan su filete centrado */
.e-con h2.elementor-heading-title[style*="center"]::after,
.elementor-widget-heading.elementor-align-center h2.elementor-heading-title::after { margin-inline: auto; }

/* ── Filete blanco cuando el fondo es oscuro (mas especifico) ── */
.e-con.seccion-oscura h2.elementor-heading-title::after,
.seccion-oscura .e-con h2.elementor-heading-title::after {
	background-color: #FFFFFF !important;
}
.sin-filete h2.elementor-heading-title::after,
.elementor-widget.sin-filete h2::after { display: none !important; }

/* ── Bloque de mentores: fotos a la misma altura ─────────── */
.bloque-mentores img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}
@media (max-width: 767px) {
	.bloque-mentores img { aspect-ratio: 1 / 1; }
}

/* ── Testimonios: aire entre el video y el nombre ────────── */
#testimonios .elementor-widget-video { margin-bottom: 0; }
#testimonios .elementor-widget-heading { margin-top: 13px; }
#testimonios .elementor-widget-heading + .elementor-widget-text-editor { margin-top: 2px; }

/* ── El filete solo en los titulos de seccion ────────────── */
.e-con h2.elementor-heading-title::after { content: none; }
.titulo-seccion h2.elementor-heading-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	background-color: #F06C00;
	border-radius: 2px;
	margin-top: 16px;
}
.seccion-oscura .titulo-seccion h2.elementor-heading-title::after { background-color: #FFFFFF; }
.sin-filete h2.elementor-heading-title::after { content: none; }

/* ── Filete blanco: se marca en el propio titulo ─────────── */
.sobre-oscuro h2.elementor-heading-title::after { background-color: #FFFFFF !important; }

/* ── Bloque de mentores (por id, las clases no llegan al contenedor) ── */
#mentores img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}

/* ── Titulo centrado: su filete tambien ──────────────────── */
.filete-centrado h2.elementor-heading-title::after {
	margin-left: auto;
	margin-right: auto;
}

/* ── El boton de la seccion del programa, centrado ───────── */
#talleres .elementor-widget-button { margin-inline: auto; }


/* ── Formulario: tres ajustes del tema de Gravity Forms 3 ──────────
   Su tema "foundation" pinta estos componentes desde su propia hoja,
   que carga despues del tema hijo. Aqui si se usa !important, acotado
   a la propiedad concreta, porque la especificidad no basta. */

/* 1. el selector de pais, con el mismo borde que el input */
.gform_wrapper .gfield--type-phone button.gform-phone__country-selector {
	border-color: #E6E1D9 !important;
	border-right-width: 0 !important;
	border-radius: 8px 0 0 8px !important;
	background-color: #FFFFFF !important;
}
.gform_wrapper .gfield--type-phone button.gform-phone__country-selector:hover {
	background-color: #FAF8F4 !important;
}

/* 2. el desplegable: el texto centrado en vertical */
.gform_wrapper .gfield select,
.gform_wrapper select.large,
.gform_wrapper select.medium {
	height: 52px !important;
	min-height: 52px !important;
	line-height: 1.2 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: flex;
	align-items: center;
}

/* 3. el boton, del ancho de los campos */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper .gform-theme-button--primary {
	width: 100% !important;
	justify-content: center;
	padding-block: 17px !important;
	font-size: 16px !important;
}
.gform_wrapper .gform_footer { display: block !important; }

/* ── Sin cabecera: el logo vive dentro del hero ─────────── */
.site-header { display: none !important; }
.logo-hero img { display: block; height: auto; }
