/* ==================================================
   FOOTER: INICIO
================================================== */

.site-footer{
	width:100%;
	height:410px;
	background:var(--red);
	border-top:2px solid var(--white);
	color:var(--white);
	overflow:hidden;
}

.footer-container{
	position:relative;
	width:100%;
	max-width:1080px;
	height:100%;
	margin:0 auto;
	padding:58px 30px 20px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
}

.footer-main{
	width:100%;
	display:grid;
	grid-template-columns:170px 170px 1fr;
	column-gap:55px;
	align-items:start;
}

.footer-column h4{
	margin:0 0 18px;
	color:var(--white);
	font-size:11px;
	font-weight:700;
	letter-spacing:4px;
	line-height:1;
}

.footer-column ul{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:16px;
}

.footer-column li{
	margin:0;
	padding:0;
}

.footer-column a{
	color:var(--white);
	font-size:10px;
	font-weight:400;
	letter-spacing:4px;
	line-height:1;
	text-decoration:none;
	transition:opacity .3s ease;
}

.footer-column a:hover{
	opacity:.65;
}

.footer-contact{
	width:100%;
	max-width:430px;
	justify-self:end;
}

.footer-search{
	width:100%;
	margin:0 0 25px;
}

.footer-search input{
	width:100%;
	height:36px;
	padding:0 20px;
	box-sizing:border-box;
	background:var(--white);
	border:none;
	border-radius:12px;
	outline:none;
	color:#333333;
	font-family:inherit;
	font-size:12px;
}

.footer-search input::placeholder{
	color:#999999;
	opacity:1;
}

.footer-contact-list{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.footer-contact-item{
	display:flex;
	align-items:center;
	gap:15px;
	color:var(--white);
	font-size:13px;
	font-weight:500;
	line-height:1;
	text-decoration:none;
	transition:opacity .3s ease;
}

.footer-contact-item:hover{
	opacity:.7;
}

.footer-contact-icon{
	width:20px;
	height:20px;
	flex:0 0 20px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.footer-contact-icon img{
	width:18px;
	height:18px;
	display:block;
	object-fit:contain;
}

.footer-bottom{
	position:absolute;
	left:50%;
	bottom:20px;
	transform:translateX(-50%);
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
}

.footer-logo{
	display:block;
	margin-bottom:12px;
}

.footer-logo img{
	width:auto;
	height:32px;
	display:block;
}

.footer-location{
	margin:0 0 8px;
	color:var(--white);
	font-size:12px;
	line-height:1;
}

.footer-copyright{
	margin:0;
	color:var(--white);
	font-size:11px;
	line-height:1;
}

/* ================= CONSULTA RÁPIDA: INICIO ================= */

.footer-search{
	position:relative;
}

/* Botón invisible que permite enviar pulsando Enter */
.footer-search-submit{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0, 0, 0, 0);
	white-space:nowrap;
	border:0;
}

.footer-visually-hidden{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0, 0, 0, 0);
	white-space:nowrap;
	border:0;
}

/* Fondo oscuro del cuadro */
.footer-modal{
	position:fixed;
	inset:0;
	z-index:9999;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
	background:rgba(29, 49, 85, 0.72);
}

.footer-modal[hidden]{
	display:none;
}

/* Cuadro */
.footer-modal-dialog{
	position:relative;
	width:min(100%, 460px);
	padding:38px 34px 32px;
	box-sizing:border-box;
	border-radius:14px;
	background:var(--white);
	color:var(--blue);
	box-shadow:0 20px 60px rgba(0, 0, 0, 0.25);
}

.footer-modal-dialog h3{
	margin:0 30px 10px 0;
	color:var(--blue);
	font-size:22px;
	line-height:1.25;
}

.footer-modal-description{
	margin:0 0 24px;
	color:#5f6672;
	font-size:14px;
	line-height:1.5;
}

.footer-modal-close{
	position:absolute;
	top:12px;
	right:16px;
	padding:0;
	border:0;
	background:transparent;
	color:var(--blue);
	font-size:30px;
	line-height:1;
	cursor:pointer;
}

.footer-email-form label,
#footer-email-form label{
	display:block;
	margin-bottom:8px;
	color:var(--blue);
	font-size:13px;
	font-weight:700;
}

#footer-email-input{
	display:block;
	width:100%;
	height:46px;
	padding:0 14px;
	box-sizing:border-box;
	border:1px solid #ccd1da;
	border-radius:8px;
	outline:none;
	background:var(--white);
	color:var(--blue);
	font-size:14px;
}

#footer-email-input:focus{
	border-color:var(--red);
	box-shadow:0 0 0 3px rgba(182, 26, 39, 0.12);
}

.footer-modal-actions{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:22px;
}

.footer-modal-cancel,
.footer-modal-send{
	min-height:42px;
	padding:0 18px;
	border-radius:7px;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
}

.footer-modal-cancel{
	border:1px solid #ccd1da;
	background:var(--white);
	color:var(--blue);
}

.footer-modal-send{
	border:1px solid var(--red);
	background:var(--red);
	color:var(--white);
}

.footer-modal-send:disabled{
	cursor:wait;
	opacity:0.65;
}

.footer-modal-status{
	min-height:20px;
	margin:16px 0 0;
	font-size:13px;
	line-height:1.4;
}

.footer-modal-status.is-success{
	color:#18733b;
}

.footer-modal-status.is-error{
	color:var(--red);
}

body.footer-modal-open{
	overflow:hidden;
}

@media (max-width:600px){

	.footer-modal-dialog{
		padding:34px 22px 26px;
	}

	.footer-modal-actions{
		flex-direction:column-reverse;
	}

	.footer-modal-cancel,
	.footer-modal-send{
		width:100%;
	}

}

/* ================= CONSULTA RÁPIDA: FIN ================= */


/* ==================================================
   FOOTER: FIN
================================================== */