/*
 * Footer global — template Elementor "Footer Main With Image Box" (ID 21).
 * La estructura y los textos viven en Elementor (clases gm-footer*);
 * aquí solo el estilo. Se carga en todo el sitio desde functions.php.
 */
.gm-footer {
	--gm-fg: #fff;
	--gm-muted: rgba(255, 255, 255, .64);
	--gm-dim: rgba(255, 255, 255, .42);
	--gm-line: rgba(255, 255, 255, .12);
	color: var(--gm-muted);
}
.gm-footer p { color: inherit; }
.gm-footer p:last-child { margin-bottom: 0; }
.gm-footer h1, .gm-footer h2, .gm-footer h3, .gm-footer h4,
.gm-footer .tm-collapsible__title { color: var(--gm-fg); }
/* Reset del espaciado de Elementor; las reglas de abajo (misma especificidad, después) lo ajustan. */
.gm-footer .elementor-widget-wrap > .elementor-widget { margin-bottom: 0; }

/* Bloque superior: logo + declaración + newsletter */
.gm-footer--top { padding: 72px 0 60px; }
.gm-footer .elementor-widget.gm-footer__logo { margin-bottom: 26px; }
.gm-footer__logo img { width: 92px; height: auto; }
.gm-footer__statement .elementor-heading-title {
	font-size: 36px;
	line-height: 1.12;
	font-weight: 500;
	letter-spacing: -.015em;
	max-width: 15ch;
	margin: 0;
}
.gm-footer__lead { font-size: 16px; line-height: 1.7; max-width: 52ch; }
.gm-footer__lead strong { color: var(--gm-fg); font-weight: 500; }

.gm-footer .elementor-widget.gm-footer__news-title { margin-bottom: 14px; }
.gm-footer .elementor-widget.gm-footer__col-title { margin-bottom: 18px; }
.gm-footer__news-title .elementor-heading-title,
.gm-footer__col-title .elementor-heading-title,
.gm-footer .tm-collapsible__title {
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 500;
	margin: 0 0 18px;
}
.gm-footer .elementor-widget.gm-footer__news-text { font-size: 15px; line-height: 1.65; max-width: 40ch; margin-bottom: 20px; }
.gm-footer .elementor-widget.gm-footer__statement { margin-bottom: 18px; }
.gm-footer .elementor-widget.gm-footer__news-note { font-size: 12.5px; color: var(--gm-dim); margin-top: 12px; }
.gm-footer .minimog-wpforms .wpforms-form { max-width: 460px; }

/* Columnas de enlaces y contacto */
.gm-footer--links { padding: 44px 0 40px; border-top: 1px solid var(--gm-line); }
.gm-footer .minimog-list .item { margin: 0 0 10px; }
.gm-footer .minimog-list .item:last-child { margin-bottom: 0; }
.gm-footer .minimog-list .link,
.gm-footer .minimog-list .text { color: rgba(255, 255, 255, .74); font-size: 15px; line-height: 1.5; transition: color .2s; }
.gm-footer .minimog-list .link:hover,
.gm-footer .minimog-list .link:hover .text { color: var(--gm-fg); }
.gm-footer .minimog-list .minimog-icon { color: var(--gm-dim); }
.gm-footer .elementor-widget.gm-footer__hours { margin-top: 20px; }
.gm-footer__hours .text { color: var(--gm-muted); }

/* Elementor solo envuelve columnas a partir del breakpoint tablet (767); hace falta también en 768–991 */
@media (max-width: 991px) {
	.gm-footer > .elementor-container { flex-wrap: wrap; }
}

/* Pie: legal + pagos + redes */
.gm-footer--bottom { padding: 24px 0 28px; border-top: 1px solid var(--gm-line); }
.gm-footer__legal { font-size: 12.5px; line-height: 1.6; color: var(--gm-dim); max-width: 64ch; }
.gm-footer__legal strong { color: var(--gm-muted); font-weight: 500; }
.gm-footer__meta > .elementor-widget-wrap { display: flex; align-items: center; justify-content: flex-end; gap: 28px; }
.gm-footer__pay img { height: 26px; width: auto; }
.gm-footer .tm-social-networks .link { color: rgba(255, 255, 255, .7); transition: color .2s; }
.gm-footer .tm-social-networks .link:hover { color: var(--gm-fg); }

/* Botones (compartidos con la página Acerca de) */
.gm-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gm-actions--center { justify-content: center; }
a.gm-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border-radius: 999px;
	padding: 14px 24px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background .2s, color .2s, border-color .2s;
}
a.gm-btn svg { flex: 0 0 auto; }
a.gm-btn--light { background: #fff; color: #0a0a0a; border-color: #fff; }
a.gm-btn--light:hover { background: transparent; color: #fff; }
a.gm-btn--dark { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }
a.gm-btn--dark:hover { background: #fff; color: #0a0a0a; }
a.gm-btn--ghost { background: transparent; color: #0a0a0a; border-color: rgba(0, 0, 0, .25); }
a.gm-btn--ghost:hover { border-color: #0a0a0a; }

@media (max-width: 991px) {
	.gm-footer--top { padding: 56px 0 44px; }
	.gm-footer__statement .elementor-heading-title { font-size: 30px; }
	.gm-footer__news-col { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--gm-line); }
	.gm-footer__contact { margin-top: 28px; }
	.gm-footer__meta > .elementor-widget-wrap { justify-content: flex-start; margin-top: 12px; }
}
@media (max-width: 767px) {
	/* Margen lateral en móvil: el tema deja solo 15px al borde */
	.gm-footer > .elementor-container,
	.elementor-21 > .elementor-section:first-child > .elementor-container { padding-left: 11px; padding-right: 11px; }
}
@media (max-width: 575px) {
	.gm-footer--top { padding: 44px 0 36px; }
	.gm-footer__statement .elementor-heading-title { font-size: 26px; max-width: none; }
	.gm-footer--links { padding: 8px 0 28px; }
	.gm-footer .tm-collapsible__title { margin: 0; padding: 14px 0; }
	.gm-footer .tm-collapsible--active > .elementor-widget-wrap { padding-bottom: 16px; }
	.gm-footer__contact { margin-top: 20px; }
	.gm-footer__meta > .elementor-widget-wrap { flex-wrap: wrap; gap: 18px; }
	.gm-footer__pay img { height: 22px; }
	a.gm-btn { padding: 13px 20px; font-size: 14px; }
}
