/* Pie Naimar — layout Figma (logo + tagline + redes | Acceso | Legal | Contacto) */

.naimar-footer.site-footer,
footer.naimar-footer {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
	margin-top: 3rem;
	padding-top: 0;
	padding-bottom: 0;
	background: var(--naimar-blue, #12375b);
	color: var(--naimar-on-dark, #f0f4f8);
	font-family: var(--naimar-font-body, Arial, Helvetica, sans-serif);
	font-size: 0.875rem;
	box-sizing: border-box;
}

/* Pegar al contenido full-bleed / papel (home, contacto, sobre, auth, app). */
body.home .naimar-footer.site-footer,
body.home footer.naimar-footer,
body.naimar-contacto-page .naimar-footer.site-footer,
body.naimar-contacto-page footer.naimar-footer,
body.naimar-sobre-page .naimar-footer.site-footer,
body.naimar-sobre-page footer.naimar-footer,
body.naimar-auth-page .naimar-footer.site-footer,
body.naimar-auth-page footer.naimar-footer,
body.naimar-app-page .naimar-footer.site-footer,
body.naimar-app-page footer.naimar-footer {
	margin-top: 0;
}

/* ------------------------------------------------------------------ */
/* Theme Builder — Footer Naimar (widgets): tipografía / espacios / CTA */
/* ------------------------------------------------------------------ */

body.home .elementor-location-footer,
body.naimar-contacto-page .elementor-location-footer,
body.naimar-sobre-page .elementor-location-footer,
body.naimar-auth-page .elementor-location-footer,
body.naimar-app-page .elementor-location-footer {
	margin-top: 0;
}

.elementor-location-footer {
	margin-top: 3rem;
	font-family: var(--naimar-font-body, Arial, Helvetica, sans-serif);
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--naimar-on-dark, #f0f4f8);
}

.elementor-location-footer .elementor-section.naimar-e-footer--main > .elementor-container {
	max-width: 1380px;
	gap: 2.5rem;
}

.elementor-location-footer .elementor-section.naimar-e-footer--main {
	padding-top: 4rem !important;
	padding-bottom: 3.5rem !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.elementor-location-footer .elementor-section.naimar-e-footer--copy {
	padding-top: 1.5rem !important;
	padding-bottom: 1.5rem !important;
	border-top: none !important;
}

.elementor-location-footer .naimar-e-footer .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

/* Logo */
.elementor-location-footer .elementor-widget-theme-site-logo {
	margin-bottom: 0 !important;
}

.elementor-location-footer .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-theme-site-logo .elementor-widget-container img {
	max-height: 40px !important;
	width: auto !important;
	opacity: 0.9;
}

/* Tagline */
.elementor-location-footer .naimar-e-footer--main .elementor-widget-text-editor {
	margin-top: 1.5rem !important;
	max-width: 22rem;
}

.elementor-location-footer .naimar-e-footer .elementor-widget-text-editor p {
	margin: 0;
	font-family: var(--naimar-font-body, Arial, Helvetica, sans-serif);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.42) !important;
}

.elementor-location-footer .naimar-e-footer--copy .elementor-widget-text-editor p {
	font-size: 0.75rem;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.24) !important;
}

/* Redes — cajas 36×36 borde */
.elementor-location-footer .elementor-widget-social-icons {
	margin-top: 2rem !important;
}

.elementor-location-footer .elementor-social-icons-wrapper {
	gap: 0.625rem;
}

.elementor-location-footer .elementor-social-icon {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 4px !important;
	background-color: transparent !important;
	color: rgba(255, 255, 255, 0.7) !important;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.elementor-location-footer .elementor-social-icon i,
.elementor-location-footer .elementor-social-icon svg {
	font-size: 13px !important;
	width: 13px;
	height: 13px;
	fill: currentColor !important;
	color: inherit !important;
}

.elementor-location-footer .elementor-social-icon:hover,
.elementor-location-footer .elementor-social-icon:focus {
	border-color: rgba(219, 125, 42, 0.55) !important;
	background-color: transparent !important;
	color: var(--naimar-orange, #db7d2a) !important;
}

/* Headings de columna */
.elementor-location-footer .elementor-widget-heading .elementor-heading-title {
	margin: 0 0 1.25rem !important;
	font-family: var(--naimar-font-subtitle, "Agency FB", Arial, Helvetica, sans-serif) !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.28) !important;
}

/* Menús verticales */
.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu {
	margin: 0;
	padding: 0;
}

.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu > li {
	margin: 0;
}

.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu > li + li {
	margin-top: 0.75rem;
}

.elementor-location-footer .elementor-nav-menu--main .elementor-item {
	padding: 0 !important;
	font-family: var(--naimar-font-body, Arial, Helvetica, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: rgba(255, 255, 255, 0.48) !important;
	fill: rgba(255, 255, 255, 0.48) !important;
	background: none !important;
	border: 0 !important;
	transition: color 0.15s ease;
}

.elementor-location-footer .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-footer .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--naimar-orange, #db7d2a) !important;
	fill: var(--naimar-orange, #db7d2a) !important;
}

/* Contacto */
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-items {
	margin: 0;
	padding: 0;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item + .elementor-icon-list-item {
	margin-top: 0.875rem !important;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-icon {
	width: auto !important;
	padding-right: 0.625rem !important;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-icon svg {
	font-size: 13px !important;
	width: 13px;
	height: 13px;
	color: rgba(255, 255, 255, 0.48) !important;
	fill: rgba(255, 255, 255, 0.48) !important;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-text {
	font-family: var(--naimar-font-body, Arial, Helvetica, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: rgba(255, 255, 255, 0.48) !important;
}

.elementor-location-footer .elementor-widget-icon-list a:hover .elementor-icon-list-text,
.elementor-location-footer .elementor-widget-icon-list a:focus .elementor-icon-list-text {
	color: var(--naimar-orange, #db7d2a) !important;
}

/* Botón Maps — outline Figma */
.elementor-location-footer .elementor-widget-button {
	margin-top: 1.5rem !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button {
	display: inline-flex !important;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem !important;
	min-height: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 4px !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	font-family: var(--naimar-font-subtitle, "Agency FB", Arial, Helvetica, sans-serif) !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	color: rgba(255, 255, 255, 0.7) !important;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.elementor-location-footer .elementor-widget-button .elementor-button:hover,
.elementor-location-footer .elementor-widget-button .elementor-button:focus {
	border-color: rgba(219, 125, 42, 0.55) !important;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--naimar-orange, #db7d2a) !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button-icon {
	margin: 0 !important;
	font-size: 12px !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button-icon svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

@media (max-width: 1024px) {
	.elementor-location-footer .elementor-section.naimar-e-footer--main {
		padding-top: 3rem !important;
		padding-bottom: 2.5rem !important;
	}

	.elementor-location-footer .elementor-section.naimar-e-footer--main > .elementor-container {
		gap: 2rem 1.5rem;
	}

	.elementor-location-footer .naimar-e-footer--main .elementor-widget-text-editor {
		max-width: none;
	}
}

.naimar-footer a {
	color: rgba(255, 255, 255, 0.48);
	text-decoration: none;
	transition: color 0.15s ease;
}

.naimar-footer a:hover,
.naimar-footer a:focus {
	color: var(--naimar-orange, #db7d2a);
	text-decoration: none;
}

.naimar-footer__inner {
	width: min(1380px, calc(100% - 2.5rem));
	max-width: 1380px;
	margin: 0 auto;
	padding: 4rem 0 0;
	box-sizing: border-box;
}

.naimar-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.7fr) minmax(0, 0.7fr) minmax(0, 1fr);
	gap: 2.5rem 2.5rem;
	padding-bottom: 3.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.naimar-footer__heading {
	margin: 0;
	font-family: var(--naimar-font-subtitle, Arial, Helvetica, sans-serif);
	font-size: 0.625rem; /* 10px */
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
	line-height: 1.5;
}

.naimar-footer__sitename {
	margin: 0;
	font-family: var(--naimar-font-display, Arial, Helvetica, sans-serif);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
}

.naimar-footer__logo {
	margin: 0;
	opacity: 0.9;
}

.naimar-footer__logo .custom-logo-link {
	display: inline-block;
}

.naimar-footer__logo img {
	display: block;
	max-height: 40px;
	width: auto;
	filter: none;
}

.naimar-footer__tagline {
	margin: 1.5rem 0 0;
	max-width: 22rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.42);
}

.naimar-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

.naimar-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 4px;
	box-sizing: border-box;
	color: rgba(255, 255, 255, 0.7);
}

.naimar-footer__social-link:hover,
.naimar-footer__social-link:focus {
	border-color: rgba(219, 125, 42, 0.55);
	color: var(--naimar-orange, #db7d2a);
}

.naimar-footer__icon-img {
	display: block;
	width: 13px;
	height: 13px;
}

.naimar-footer__social-fallback {
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.naimar-footer__menu {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.naimar-footer__menu li {
	margin: 0;
}

.naimar-footer__menu li + li {
	margin-top: 0.75rem;
}

.naimar-footer__menu a {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.48);
}

.naimar-footer__contacto {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.naimar-footer__contacto-item {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.48);
}

.naimar-footer__contacto-item + .naimar-footer__contacto-item {
	margin-top: 0.875rem;
}

.naimar-footer__contacto-icon {
	flex: 0 0 auto;
	display: inline-flex;
	margin-top: 0.15rem;
	line-height: 0;
}

.naimar-footer__contacto-item a {
	color: inherit;
}

.naimar-footer__maps-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	padding: 0.625rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 4px;
	font-family: var(--naimar-font-subtitle, Arial, Helvetica, sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.7) !important;
	box-sizing: border-box;
}

.naimar-footer__maps-btn:hover,
.naimar-footer__maps-btn:focus {
	border-color: rgba(219, 125, 42, 0.55);
	color: var(--naimar-orange, #db7d2a) !important;
}

.naimar-footer__maps-btn .naimar-footer__icon-img {
	width: 12px;
	height: 12px;
}

.naimar-footer__bottom {
	padding: 1.5rem 0;
	background: transparent;
	border-top: none;
}

.naimar-footer__copy {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.24);
}

@media (max-width: 960px) {
	.naimar-footer__inner {
		padding-top: 3rem;
		width: min(1380px, calc(100% - 2rem));
	}

	.naimar-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem 1.5rem;
		padding-bottom: 2.5rem;
	}
}

@media (max-width: 560px) {
	.naimar-footer__grid {
		grid-template-columns: 1fr;
	}

	.naimar-footer__tagline {
		max-width: none;
	}
}
