/*
Theme Name: Quinta
Description: Tema chico para Libreta de Finca. Los colores y tamaños de cada bloque están en uploads/elementor/css.
Version: 1.3
*/

:root {
	--azul-noche: #021F43;
	--azul: #006FBA;
	--turquesa: #0096BA;
	--amarillo-claro: #FFF799;
	--texto-claro: #E9F8FF;
	--gris-pie: #151515;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--azul-noche);
	color: var(--texto-claro);
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	line-height: 1.85;
}

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

a { color: var(--amarillo-claro); }

[hidden] { display: none !important; }

h1, h2, h3 { margin: 0 0 .5em; }

.elementor-heading-title { font-family: "Poppins", sans-serif; font-weight: 800; color: #fff; line-height: 1.15; }

.elementor-button {
	display: inline-block;
	background: var(--azul-noche);
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 3px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 14px;
	padding: 16px 36px;
	border: 1px solid #fff;
	cursor: pointer;
	-webkit-transition: background .3s, color .3s;
	transition: background .3s, color .3s;
}

.elementor-button:hover { background: #fff; color: var(--azul-noche); }

.btn-borde { background: transparent; }

/* cabecera */
.zona-cabeza {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 30px;
	background: #EFEFEF;
	min-height: 95px;
	padding-right: 6%;
}

.zona-cabeza__logo {
	align-self: stretch;
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--azul-noche);
	padding: 0 70px 0 40px;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
	text-decoration: none;
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-weight: 800;
	font-size: 16px;
	line-height: 1.05;
	letter-spacing: .5px;
}

.zona-cabeza__logo img { width: 52px; height: 52px; border-radius: 10px; }

.zona-cabeza__menu ul { list-style: none; margin: 0; padding: 0; display: none; }

.zona-cabeza__menu a {
	color: var(--azul-noche);
	text-decoration: none;
	text-transform: uppercase;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 15px;
}

.zona-cabeza__menu a:hover { color: var(--azul); }

.zona-cabeza__boton { margin-left: auto; display: none; }

.zona-cabeza__hamburguesa {
	margin-left: auto;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
}

.zona-cabeza__hamburguesa span { display: block; width: 26px; height: 3px; background: var(--azul-noche); margin: 5px 0; }

.zona-cabeza__menu.abierto ul {
	display: block;
	position: absolute;
	top: 95px;
	left: 0;
	right: 0;
	background: #EFEFEF;
	padding: 10px 30px 20px;
}

.zona-cabeza__menu.abierto li { padding: 10px 0; border-top: 1px solid #d8d8d8; }

/* pie */
.zona-pie { background: var(--azul-noche); text-align: center; padding-top: 0; position: relative; }

.zona-pie__pestana {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--azul-noche);
	padding: 18px 60px 0;
	margin-top: -28px;
	position: relative;
	color: #fff;
	font-weight: 800;
	letter-spacing: 1px;
}

.zona-pie__pestana img { border-radius: 8px; }

.zona-pie__linea {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin: 30px auto 10px;
	max-width: 420px;
	font-size: 14px;
}

.zona-pie__linea::before, .zona-pie__linea::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, .5); }

.zona-pie__nav { list-style: none; margin: 40px 0 20px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 48px; }

.zona-pie__nav a { color: #fff; text-decoration: none; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 22px; }

.zona-pie__datos, .zona-pie__legales { font-size: 13px; margin: 6px 20px; }

.zona-pie__datos a, .zona-pie__legales a { color: var(--texto-claro); }

.zona-pie__legales button { background: none; border: 0; padding: 0; color: var(--texto-claro); font: inherit; text-decoration: underline; cursor: pointer; }

.zona-pie__copy { background: var(--gris-pie); padding: 22px 20px; margin-top: 40px; font-size: 13px; }

/* barra de cookies */
.cookies-barra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	background: #011638;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 20px;
	padding: 14px 20px;
	font-size: 15px;
}

.cookies-barra p { margin: 0; }

.cookies-barra__ajustes label { margin-right: 14px; }

.cookies-barra__botones { display: flex; gap: 8px; }

.cookies-barra__botones button { background: #fff; color: #111; border: 0; padding: 7px 12px; font-family: Arial, sans-serif; font-size: 14px; cursor: pointer; }

.cookies-barra__botones .cookies-barra__si { background: #F9C300; }

/* respuestas del formulario sin JS */
.caja-respuesta { max-width: 520px; margin: 90px auto; padding: 30px; border: 1px solid rgba(255, 255, 255, .3); }

/* legales */
.legal-cabeza { background: linear-gradient(180deg, #021F43 0%, #0096BA 100%); padding: 70px 20px 60px; text-align: center; }

.legal-cabeza h1 { font-size: 40px; }

.legal-cuerpo { max-width: 820px; margin: 0 auto; padding: 50px 20px 70px; }

.legal-cuerpo h2 { font-family: "Montserrat", sans-serif; font-size: 20px; color: var(--amarillo-claro); margin-top: 32px; }

@media (min-width: 1025px) {
	.zona-cabeza__menu ul { display: flex; gap: 22px; }
	.zona-cabeza__menu a { font-size: 14px; white-space: nowrap; }
	.zona-cabeza__boton { white-space: nowrap; padding: 16px 26px; }
	.zona-cabeza__logo { white-space: nowrap; }
	.zona-cabeza__boton { display: inline-block; }
	.zona-cabeza__hamburguesa { display: none; }
}

@media (max-width: 767px) {
	.zona-cabeza { min-height: 76px; }
	.zona-cabeza__logo { padding: 0 44px 0 16px; font-size: 13px; }
	.zona-cabeza__logo img { width: 40px; height: 40px; }
	.zona-cabeza__menu.abierto ul { top: 76px; }
	.zona-pie__nav a { font-size: 18px; }
}

/* clases que deja el maquetador en body y contenedores */
.page-template-default, .page, .page-id-147, .elementor-default, .elementor-page, .elementor-page-147 { overflow-x: hidden; }
.e-con { position: relative; }
.e-con-full, .e-con-boxed { width: 100%; }
.e-flex { flex-wrap: nowrap; }
.elementor-size-default { margin-top: 0; }
.size-large { max-width: 100%; }
.wp-image-2214, .wp-image-2216, .wp-image-2217, .wp-image-2218, .wp-image-2219, .wp-image-2231, .wp-image-2233 { height: auto; }

/* entrada de tarjetas */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 24px, 0); } to { opacity: 1; transform: none; } }
.animated { animation-duration: .6s; animation-fill-mode: both; }
.fadeInUp { animation-name: fadeInUp; }

/* foco de teclado visible en todo el tema */
:focus-visible { outline: 2px solid var(--amarillo-claro); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.animated { animation: none; }
	.elementor-button { transition: none; }
}
