/**
 * Admicomu - Base CSS (igual diseño original)
 * Header, footer, componentes comunes. Imágenes en assets/img/ (url relativa ../img/)
 */
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap");

:root {
	--color-bg-dark: #091632;
	--color-bg-header: #0f1d48;
	--color-accent: #c3ef0f;
	--color-text: #444;
	--font-main: "Barlow", sans-serif;
	--max-width: 1055px;
	--header-height-desk: 100px;
	--header-height-mob: 80px;
	--header-height-sm: 63px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	outline: none;
	font-weight: 400;
}

section {
	display: block;
	unicode-bidi: isolate;
}

body {
	font-family: var(--font-main);
	color: var(--color-text);
	overflow-x: hidden;
	line-height: 1.3;
}

a {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

a:hover {
	text-decoration: underline;
}

button,
input,
textarea {
	font-family: inherit;
}

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

.wrapper {
	width: calc(100% - 30px);
	max-width: var(--max-width);
	margin-left: auto;
	margin-right: auto;
}

#spacing-header {
	height: var(--header-height-desk);
}

/* ========== HEADER ========== */
header,
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.top-desk {
	height: 32px;
	background: var(--color-bg-dark);
}

.top-desk .wrapper {
	display: flex;
	align-items: center;
	height: 100%;
	margin: auto;
}

.top-desk span {
	font: 12px var(--font-main);
	color: #fff;
	display: flex;
	align-items: center;
	margin-right: 50px;
}

.top-desk span a {
	color: #fff;
}

.top-desk span:nth-child(1)::before {
	content: "";
	background: url(../img/mobile-green.svg) no-repeat;
	width: 16px;
	height: 22px;
	margin-right: 10px;
	flex-shrink: 0;
}

.top-desk span:nth-child(2)::before {
	content: "";
	background: url(../img/email-green.svg) no-repeat;
	width: 28px;
	height: 20px;
	margin-right: 10px;
	flex-shrink: 0;
}

.top-desk span:nth-child(3) {
	flex: 1;
}

.top-desk span:nth-child(3)::before {
	content: "";
	background: url(../img/pin-green.svg) no-repeat;
	width: 22px;
	height: 30px;
	margin-right: 10px;
	flex-shrink: 0;
}

.top-desk span:nth-child(4) {
	margin-right: 0;
}

.top-desk span:nth-child(4)::after {
	content: "";
	background: url(../img/facebook-green.svg) no-repeat;
	width: 26px;
	height: 26px;
	margin-left: 10px;
	flex-shrink: 0;
}

.main-header {
	height: 98px;
	background: var(--color-bg-header);
}

.main-header .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	margin: auto;
}

.site-title,
.main-header h1 {
	height: 100%;
	display: flex;
	align-items: center;
	margin: 0;
}

.site-title a,
.main-header h1 a {
	display: block;
	text-indent: -9999px;
	background: url(../img/logo-admicomu.svg) no-repeat left center;
	background-size: contain;
	width: 183px;
	height: 65px;
}

.main-nav {
	position: relative;
	z-index: 1;
	height: 100%;
}

.main-nav .nav-list {
	list-style: none;
	display: flex;
	height: 100%;
	margin: 0;
	padding: 0;
}

.main-nav .nav-list > li {
	margin-left: 35px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	height: 100%;
}

.main-nav .nav-list > li > a {
	height: 100%;
	font: 14px var(--font-main);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	position: relative;
}

.main-nav .nav-list > li > a:hover {
	color: var(--color-accent);
	text-decoration: none;
}

/* Ítem activo: línea verde debajo (como en admicomu.cl) */
.main-nav .nav-list > li.current-menu-item:not(.btn-contacto) > a {
	color: var(--color-accent);
	text-decoration: none;
}

.main-nav .nav-list > li.current-menu-item:not(.btn-contacto) > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--color-accent);
}

/* Padre del submenú activo (ej. Servicios cuando estás en Administración o Corretaje) */
.main-nav .nav-list .has-submenu.current-menu-ancestor > a {
	color: var(--color-accent);
	font-weight: 700;
}

/* Servicios: flecha abajo / arriba según estado del submenú */
.main-nav .nav-list .has-submenu > a {
	padding-right: 8px;
}

/* Flecha: cerrado = abajo, desplegado = arriba (el SVG apunta arriba, rotamos 180° por defecto) */
.main-nav .nav-list .has-submenu > a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	min-width: 10px;
	margin-left: 6px;
	background: url(../img/arrow-submenu.svg) no-repeat center/contain;
	transition: transform 0.3s ease;
	vertical-align: middle;
	flex-shrink: 0;
	transform: rotate(180deg);
}

.main-nav .nav-list .has-submenu:hover > a::after,
.main-nav .nav-list .has-submenu.open > a::after {
	transform: rotate(0deg);
}

/* Submenú: despliegue suave (max-height + opacity) */
.main-nav .nav-list .has-submenu ul {
	list-style: none;
	position: absolute;
	top: 68px;
	left: 0;
	background: var(--color-bg-dark);
	min-width: 180px;
	padding: 0 15px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.35s ease, opacity 0.35s ease, padding 0.35s ease;
}

.main-nav .nav-list .has-submenu:hover ul,
.main-nav .nav-list .has-submenu.open ul {
	max-height: 160px;
	opacity: 1;
	padding: 15px;
}

.main-nav .nav-list .has-submenu ul li {
	margin-bottom: 15px;
}

.main-nav .nav-list .has-submenu ul li:last-child {
	margin-bottom: 0;
}

.main-nav .nav-list .has-submenu ul li a {
	font: 14px var(--font-main);
	color: #fff;
	transition: all 0.3s;
}

.main-nav .nav-list .has-submenu ul li a:hover {
	color: var(--color-accent);
	text-decoration: none;
}

/* Ítem activo del submenú (ej. Administración cuando estás en esa página) */
.main-nav .nav-list .has-submenu ul li.current-menu-item a {
	color: var(--color-accent);
	font-weight: 700;
}

/* Botón Contacto */
.main-nav .nav-list > li.btn-contacto a {
	border: 1px solid var(--color-accent);
	width: 130px;
	height: 26px;
	background: var(--color-accent);
	font-weight: 600;
	font-size: 16px;
	color: #0a193a;
	justify-content: center;
}

.main-nav .nav-list > li.btn-contacto a:hover {
	background: transparent;
	color: var(--color-accent);
	text-decoration: none;
}

.main-nav .nav-list > li.btn-contacto.current-menu-item a {
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: #0a193a;
}

.main-nav .nav-list > li.btn-contacto.current-menu-item a::after {
	display: none;
}

.hamburger {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	margin-top: 5px;
}

.hamburger-box {
	display: block;
	width: 24px;
	height: 18px;
	position: relative;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	background: var(--color-accent) !important;
	border-radius: 0;
}

.hamburger-inner {
	display: block;
	width: 24px;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.hamburger-inner::before,
.hamburger-inner::after {
	content: "";
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
}

.hamburger-inner::before {
	top: -6px;
}

.hamburger-inner::after {
	top: 6px;
}

.hamburger.is-active .hamburger-inner {
	background: transparent !important;
}

.hamburger.is-active .hamburger-inner::before {
	top: 0;
	transform: rotate(45deg);
}

.hamburger.is-active .hamburger-inner::after {
	top: 0;
	transform: rotate(-45deg);
}

.top-mob {
	display: none;
}

.overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	z-index: 50;
}

/* Botón genérico (estilo border para algunas páginas) */
.btn {
	font-weight: 700;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* ========== FOOTER (diseño original) ========== */
.site-footer,
footer {
	background: #0d1a45;
	color: #fff;
}

footer .wrapper {
	display: flex;
	justify-content: space-between;
	padding: 24px 0;
	max-width: 975px;
	margin: auto;
	width: calc(100% - 40px);
}

footer h2 {
	font: 20px var(--font-main);
	font-weight: 700;
	color: #c1f306;
	margin: 0 0 20px;
	letter-spacing: -0.06px;
}

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

footer #contactanos ul li {
	list-style: none;
	padding-left: 53px;
	height: 42px;
	display: flex;
	align-items: center;
}

footer #contactanos ul li:nth-child(1) {
	background: url(../img/footer/direccion.svg) left center no-repeat;
}

footer #contactanos ul li:nth-child(2) {
	background: url(../img/footer/celular.svg) left center no-repeat;
	margin: 27px 0;
}

footer #contactanos ul li:nth-child(3) {
	background: url(../img/footer/email.svg) left center no-repeat;
}

footer #contactanos ul li a {
	color: #fff;
	padding: 10px 0;
	display: block;
}

footer #documentos .logo {
	display: block;
	margin-bottom: 20px;
}

footer #documentos .logo h2 {
	margin: 0;
}

footer #documentos .logo h2 a {
	display: block;
	text-align: center;
}

footer #documentos .logo img {
	max-width: 211px;
	margin: 0 auto;
}

footer #documentos ul li {
	margin: 5px 0;
}

footer #documentos ul li p {
	font-size: 18px;
	font-weight: 500;
}

footer #documentos ul li a {
	color: #fff;
	padding: 0 0 0 14px;
}

footer .footer-block h2 {
	font-size: 20px;
}

.bottom-footer {
	background: #000;
}

.bottom-footer .wrapper {
	display: flex;
	justify-content: space-between;
	padding: 15px 0;
	max-width: 975px;
	margin: auto;
	width: calc(100% - 40px);
}

.bottom-footer .wrapper span {
	font: 14px var(--font-main);
	color: #f6f6f6;
	font-weight: 500;
	display: flex;
	align-items: center;
}

.bottom-footer .wrapper span a {
	color: #f6f6f6;
	text-decoration: underline;
	margin-left: 7px;
}

.bottom-footer .wrapper span a img {
	width: 100px;
	display: inline-block;
}

/* Footer: estructura actual (footer-wrapper, footer-col, etc.) */
footer .footer-wrapper,
.site-footer .footer-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 40px 20px;
	max-width: 1055px;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
}

footer .footer-col {
	flex: 0 1 auto;
}

footer .footer-title {
	font: 700 18px var(--font-main);
	color: #adff00;
	margin: 0 0 20px;
	letter-spacing: 0.02em;
}

footer .footer-contact ul,
footer .footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer-contact-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-left: 44px;
	min-height: 40px;
	justify-content: center;
	margin-bottom: 16px;
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
}

footer .footer-contact-item:last-child {
	margin-bottom: 0;
}

footer .footer-contact-address {
	background: url(../img/footer/direccion.svg) left center no-repeat;
	background-size: 24px 34px;
}

footer .footer-contact-phone {
	background: url(../img/footer/celular.svg) left center no-repeat;
	background-size: 24px 34px;
}

footer .footer-contact-phone span {
	display: block;
}

footer .footer-contact-email {
	background: url(../img/footer/email.svg) left center no-repeat;
	background-size: 24px 34px;
}

footer .footer-contact-email a {
	color: #fff;
	text-decoration: none;
}

footer .footer-contact-email a:hover {
	text-decoration: underline;
}

footer .footer-brand {
	text-align: center;
	flex: 0 0 auto;
	max-width: 280px;
	padding: 0 20px;
}

footer .footer-brand-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	color: #fff;
	margin: 0 0 8px;
	text-transform: uppercase;
}

footer .footer-brand-logo {
	margin-bottom: 10px;
}

footer .footer-brand-logo a {
	display: inline-block;
}

footer .footer-brand-logo img {
	width: 211px;
	height: auto;
	max-width: 100%;
	display: block;
}

footer .footer-brand-tagline {
	font-size: 13px;
	color: #fff;
	margin: 0;
	line-height: 1.35;
}

footer .footer-links {
	display: flex;
	gap: 48px;
	flex: 0 1 auto;
}

footer .footer-links .footer-block {
	flex: 0 1 auto;
	min-width: 0;
}

footer .footer-links .footer-title {
	font: 700 18px var(--font-main);
	color: #adff00;
	margin: 0 0 16px;
}

footer .footer-links ul li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	font-size: 14px;
	color: #fff;
	line-height: 1.3;
}

footer .footer-links ul li span {
	flex: 1;
	min-width: 0;
}

footer .footer-link-icon {
	width: 14px;
	height: 18px;
	flex-shrink: 0;
	background: url(../img/footer/descargar.svg) center no-repeat;
	background-size: 12px 17px;
	text-indent: -9999px;
	overflow: hidden;
	display: inline-block;
}

.bottom-footer .footer-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 20px;
	max-width: 1055px;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
}

.bottom-footer-left,
.bottom-footer-right {
	font: 500 14px var(--font-main);
	color: #fff;
}

.bottom-footer-left a {
	color: #fff;
	text-decoration: underline;
}

/* Responsive header/footer */
@media (max-width: 768px) {
	#spacing-header {
		height: var(--header-height-mob);
	}

	.top-desk {
		display: none;
	}

	.main-header {
		height: 63px;
	}

	.site-title a,
	.main-header h1 a {
		width: 113px;
		height: 39px;
	}

	.hamburger {
		display: inline-block;
	}

	.main-nav {
		position: fixed;
		top: 63px; /* = .main-header height en mobile */
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--color-bg-header);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease;
		z-index: 100;
	}

	.main-nav.open {
		max-height: calc(100vh - 63px);
		min-height: calc(100vh - 63px);
		overflow-y: auto;
	}

	.main-nav .nav-list {
		flex-direction: column;
		height: auto;
		padding: 0 20px;
	}

	.main-nav .nav-list > li {
		margin-left: 0;
		height: auto;
		padding: 13px 0;
		border-bottom: 1px solid #fff;
		justify-content: space-between;
	}

	.main-nav .nav-list > li:last-child a {
		margin: 10px auto 30px;
		justify-content: center;
	}

	.main-nav .nav-list .has-submenu ul {
		position: static;
		background: transparent;
		padding: 15px 0 0;
	}

	.top-mob {
		display: flex;
		flex-wrap: wrap;
		padding-top: 15px;
		margin-top: 15px;
		border-top: 1px solid var(--color-accent);
		width: calc(100% - 40px);
		margin-left: 20px;
		margin-right: 20px;
	}

	.top-mob span {
		width: 100%;
		margin-bottom: 24px;
		font-size: 14px;
		color: #fff;
	}

	.top-mob span:last-child {
		margin-bottom: 0;
	}

	.top-mob span a {
		color: #fff;
	}

	.top-mob span:nth-child(1)::before {
		background-size: contain;
		width: 13px;
		height: 17px;
		margin-right: 3px;
	}

	.top-mob span:nth-child(2)::before {
		background-size: contain;
		width: 23px;
		height: 16px;
		margin-right: 3px;
	}

	.top-mob span:nth-child(3)::before {
		background-size: contain;
		width: 18px;
		height: 24px;
		margin-right: 3px;
	}

	.top-mob span:nth-child(4)::after {
		background-size: contain;
		width: 25px;
		height: 25px;
		margin-left: 3px;
	}

	footer .footer-wrapper {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 32px 20px;
	}

	footer .footer-contact {
		order: 2;
		margin-bottom: 36px;
	}

	footer .footer-contact .footer-contact-item {
		align-items: center;
		margin-left: auto;
		margin-right: auto;
	}

	footer .footer-brand {
		order: 1;
		margin-bottom: 24px;
		padding: 0;
	}

	footer .footer-links {
		order: 3;
		flex-direction: column;
		gap: 32px;
		align-items: center;
		width: 100%;
		max-width: 320px;
	}

	footer .footer-links .footer-block {
		width: 100%;
	}

	footer .footer-links ul li {
		justify-content: center;
		text-align: left;
	}

	.bottom-footer .footer-wrapper {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
}

@media (max-width: 650px) {
	#spacing-header {
		height: 20px
	}

	.hamburger {
		transform: scale(0.6);
	}
}

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

/* Modal de imágenes (lightbox): cerrado no debe dejar espacio tras el footer */
.img-modal {
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

.img-modal__inner {
	height: 0;
	overflow: hidden;
}

.img-modal.is-open {
	height: auto;
	visibility: visible;
	overflow: visible;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
}

.img-modal.is-open .img-modal__inner {
	height: auto;
	overflow: visible;
	position: relative;
}
