/*
 * Blascoaval — sistema visual (tema hijo de WoodMart).
 * Mezcla la identidad actual (marino + turquesa del logo) con la maqueta del cliente
 * (menta, fondos hielo, Sora, tarjetas). Contraste AA y texto de 18 px para público 45+.
 */

@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin-var.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Sora";
	src: url("../fonts/sora-latin-var.woff2") format("woff2");
	font-weight: 500 800;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens + variables de WoodMart ---------- */
:root:root {
	/* Colores del logotipo: marino #0A3047 y azul claro #229EBD. */
	--bav-navy: #0A3047;
	--bav-navy-900: #071F30;
	--bav-marino-hover: #123F5C;
	--bav-azul: #229EBD;            /* azul del logo: detalles, iconos, números y texto grande */
	--bav-azul-texto: #1C7A9C;      /* azul del logo oscurecido hacia el marino: enlaces y texto pequeño (AA 4,9:1) */
	--bav-azul-claro: #8FD3E6;      /* azul del logo sobre fondo marino */
	--bav-ice: #EFF8FB;
	--bav-ice-2: #E3F3F7;
	--bav-surface: #F6FAFC;
	--bav-text: #1E2A33;
	--bav-muted: #475866;
	--bav-stroke: #D3E4EB;
	--bav-focus: #FFCA5C;
	--bav-radius: 16px;
	--bav-shadow: 0 18px 48px rgb(10 48 71 / 9%);
	--bav-font-text: "Inter", "Segoe UI", Arial, sans-serif;
	--bav-font-title: "Sora", "Avenir Next", Arial, sans-serif;

	--wd-primary-color: var(--bav-azul-texto);
	--wd-alternative-color: var(--bav-navy);
	--wd-text-font: var(--bav-font-text);
	--wd-text-font-size: 18px;
	--wd-text-color: var(--bav-text);
	--wd-title-font: var(--bav-font-title);
	--wd-title-color: var(--bav-navy);
	--wd-entities-title-font: var(--bav-font-title);
	--wd-entities-title-color: var(--bav-navy);
	--wd-alternative-font: var(--bav-font-title);
	--wd-widget-title-font: var(--bav-font-title);
	--wd-widget-title-transform: none;
	--wd-header-el-font: var(--bav-font-text);
	--wd-header-el-font-size: 16px;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: none;
	--wd-link-color: var(--bav-azul-texto);
	--wd-link-color-hover: var(--bav-navy);
	--wd-brd-radius: 12px;
	--wd-form-brd-radius: 10px;
	--wd-form-brd-width: 1px;
	--wd-form-brd-color: #A9C1CC;
	--wd-form-brd-color-focus: var(--bav-azul);
	--wd-form-height: 52px;
	--wd-container-w: 1320px;
}

body {
	font-family: var(--bav-font-text);
	font-size: 18px;
	line-height: 1.65;
	color: var(--bav-text);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .title {
	font-family: var(--bav-font-title);
	color: var(--bav-navy);
	letter-spacing: -0.025em;
	line-height: 1.18;
}

:focus-visible {
	outline: 3px solid var(--bav-focus) !important;
	outline-offset: 3px;
}

.bav-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

mark.bav-pendiente {
	background: #FFF1C2;
	color: #6A4A00;
	padding: 0 .3em;
	border-radius: 4px;
}

/* ---------- Secciones (fondo a ancho completo sin JS) ---------- */
.bav-sec {
	--bav-sec-bg: #fff;
	position: relative;
	padding-block: clamp(56px, 7vw, 104px);
	background: var(--bav-sec-bg);
	box-shadow: 0 0 0 100vmax var(--bav-sec-bg);
	clip-path: inset(0 -100vmax);
}

.bav-sec--ice { --bav-sec-bg: var(--bav-ice); }
.bav-sec--surface { --bav-sec-bg: var(--bav-surface); }
.bav-sec--navy { --bav-sec-bg: var(--bav-navy); color: #E4EEF3; }
.bav-sec--navy h2, .bav-sec--navy h3 { color: #fff; }
.bav-sec--navy p { color: #C9D9E2; }

.bav-sec .wpb_content_element,
.bav-sec .wpb_text_column { margin-bottom: 0; }

.bav-cabecera-sec { padding-bottom: clamp(28px, 3.6vw, 44px); }
.bav-cabecera-sec--centro { margin-inline: auto; text-align: center; }
.bav-cabecera-sec h2 { margin: 14px 0 16px; font-size: clamp(1.9rem, 3.1vw, 2.65rem); }
.bav-cabecera-sec p { color: var(--bav-muted); font-size: 1.06rem; margin: 0; max-width: 72ch; }
.bav-cabecera-sec--centro p { margin-inline: auto; }

/* WordPress añade <br> tras elementos en línea seguidos de un bloque: fuera. */
.bav-num + br,
.bav-sec li > br:first-child { display: none; }
.bav-sec--navy .bav-cabecera-sec p { color: #C9D9E2; }

.bav-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bav-azul-texto);
}

.bav-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--bav-azul);
	box-shadow: 0 0 0 4px rgb(34 158 189 / 22%);
}

.bav-sec--navy .bav-eyebrow { color: var(--bav-azul-claro); }

/* ---------- Botones ---------- */
.bav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-family: var(--bav-font-text);
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none !important;
	text-align: center;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.bav-btn .bav-icono { width: 19px; height: 19px; flex: 0 0 auto; }
.bav-btn--primario { background: var(--bav-navy); color: #fff !important; box-shadow: 0 8px 20px rgb(10 48 71 / 20%); }
.bav-btn--primario .bav-icono { color: var(--bav-azul-claro); }
.bav-btn--primario:hover { background: var(--bav-marino-hover); }
.bav-btn--contorno { background: #fff; border-color: #9DBBC7; color: var(--bav-navy) !important; }
.bav-btn--contorno:hover { border-color: var(--bav-azul); background: var(--bav-ice); }
.bav-btn--blanco { background: #fff; color: var(--bav-navy) !important; }
.bav-btn--blanco:hover { background: var(--bav-ice); }
.bav-btn--fantasma { background: transparent; border-color: rgb(255 255 255 / 55%); color: #fff !important; }
.bav-btn--fantasma:hover { background: rgb(255 255 255 / 10%); }
.bav-btn--texto { min-height: 0; padding: 0; color: var(--bav-azul-texto) !important; text-decoration: underline !important; text-underline-offset: 4px; }

.bav-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 14px; }

/* ---------- Cabecera WoodMart ---------- */
:root:root { --wd-main-bgcolor: #fff; }
body,
.website-wrapper,
.wd-page-content { background-color: #fff !important; }
.wd-page-content { min-height: 0; }
.wd-content-layout { padding-block: 0; }

.whb-header .whb-top-bar { background-color: var(--bav-navy) !important; }
.whb-top-bar .info-box-content,
.whb-top-bar .info-box-inner,
.whb-top-bar a { color: #E4EEF3 !important; font-size: 14px; letter-spacing: .02em; }
.whb-top-bar strong { color: #fff; font-weight: 650; }
.whb-general-header { border-bottom: 1px solid var(--bav-stroke) !important; }
.whb-general-header .wd-nav-main { --nav-gap: 6px; --nav-pd: 5px 10px; flex-wrap: nowrap; }
.wd-nav-main > li > a,
.wd-nav.wd-style-default > li > a { font-size: 16px; font-weight: 600; color: var(--bav-navy); white-space: nowrap; }
.wd-nav-main > li.current-menu-item > a,
.wd-nav-main > li > a:hover { color: var(--bav-azul-texto); }

.whb-general-header .whb-space-element { display: none; }
.wd-header-html p { margin: 0; }
.bav-acciones-cabecera { display: flex; gap: 10px; align-items: center; }
.bav-acciones-cabecera .bav-btn { min-height: 46px; padding: 0 16px; font-size: .95rem; white-space: nowrap; }
.bav-acciones-cabecera .bav-btn--primario .bav-icono { display: none; }

@media (max-width: 1180px) {
	.whb-general-header .wd-nav-main { --nav-pd: 5px 5px; }
	.wd-nav-main > li > a { font-size: 14.5px !important; }
	.bav-acciones-cabecera .bav-btn { padding: 0 12px; font-size: .9rem; }
}

@media (max-width: 1320px) {
	.whb-general-header .wd-nav-main { --nav-pd: 5px 7px; }
	.wd-nav-main > li > a { font-size: 15px; }
	.bav-acciones-cabecera .bav-btn--contorno { display: none; }
}

/* ---------- Hero ---------- */
.bav-hero {
	--bav-sec-bg: #F2F8FA;
	padding-block: clamp(40px, 5.5vw, 80px);
}

.bav-hero .vc_column-inner { padding-top: 0 !important; }

.bav-hero h1 {
	margin: 20px 0 22px;
	font-size: clamp(2.35rem, 4.6vw, 3.9rem);
	letter-spacing: -0.045em;
	line-height: 1.08;
	max-width: 640px;
}

.bav-hero h1 em { font-style: normal; color: var(--bav-azul); }
.bav-hero__texto { font-size: 1.12rem; color: var(--bav-muted); max-width: 590px; }
.bav-hero__secundario { font-size: .98rem; color: var(--bav-muted); margin: 0; }
.bav-hero__secundario a { font-weight: 700; }

.bav-microtrust {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
	font-size: .95rem;
	font-weight: 600;
	color: #34495A;
}

.bav-microtrust li { display: flex; align-items: center; gap: 8px; margin: 0; }
.bav-microtrust li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bav-azul); }

/* ---------- Tarjeta de formulario ---------- */
.bav-form-card {
	background: #fff;
	border: 1px solid var(--bav-stroke);
	border-radius: 20px;
	padding: clamp(22px, 3vw, 34px);
	box-shadow: var(--bav-shadow);
}

.bav-form-card__titulo {
	margin: 0 0 4px;
	font-family: var(--bav-font-title);
	font-size: 1.45rem;
	font-weight: 700;
	color: var(--bav-navy);
	letter-spacing: -0.02em;
}

.bav-form-card__sub { margin: 0 0 20px; font-size: 1rem; color: var(--bav-muted); }

.bav-form-card__pie {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	list-style: none;
	margin: 18px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--bav-stroke);
	font-size: .9rem;
	color: var(--bav-muted);
}

.bav-form-card__pie li { margin: 0; display: flex; gap: 7px; align-items: center; }
.bav-form-card__pie li::before { content: "✓"; color: var(--bav-azul); font-weight: 800; }

/* ---------- Contact Form 7 ---------- */
.bav-cf7 p { margin: 0; }
.bav-cf7__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bav-cf7__campo { display: grid; gap: 6px; margin-bottom: 14px !important; }
.bav-cf7__campo label,
.bav-cf7__grupo-titulo { font-size: .95rem; font-weight: 650; color: var(--bav-navy); }
.bav-cf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.bav-cf7 select,
.bav-cf7 textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	font-size: 1rem;
	color: var(--bav-text);
	background-color: #FCFEFF;
	border: 1px solid #A9C1CC;
	border-radius: 10px;
}

.bav-cf7 textarea { min-height: 120px; }
.bav-cf7 input[type="number"] { text-align: left; }
.bav-cf7 ::placeholder { color: #6B7F8C; }
.bav-cf7__acepto { font-size: .92rem; line-height: 1.5; margin: 4px 0 16px !important; color: var(--bav-muted); }
.bav-cf7__acepto .wpcf7-list-item { margin: 0; }
.bav-cf7__acepto label { display: flex; gap: 10px; align-items: flex-start; }
.bav-cf7__acepto input[type="checkbox"] { width: 22px; height: 22px; margin-top: 1px; flex: 0 0 auto; accent-color: var(--bav-navy); }
.bav-cf7 .wpcf7-radio .wpcf7-list-item { margin: 0 18px 6px 0; }
.bav-cf7 .wpcf7-radio input { width: 20px; height: 20px; accent-color: var(--bav-navy); vertical-align: -4px; margin-right: 6px; }
.bav-cf7 input[type="submit"] {
	width: 100%;
	min-height: 56px;
	border-radius: 10px;
	background: var(--bav-navy) !important;
	color: #fff !important;
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.bav-cf7 input[type="submit"]:hover { background: var(--bav-marino-hover) !important; }
.wpcf7-not-valid-tip { font-size: .9rem; color: #A3261B; margin-top: 4px; }
.bav-cf7 input[type="submit"]:disabled { opacity: .55; }
.wpcf7 form .wpcf7-response-output { margin: 14px 0 0; padding: 12px 14px; border-radius: 10px; font-size: .95rem; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--bav-azul); background: var(--bav-ice); color: var(--bav-navy); }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: #C7473A; background: #FDF0EE; color: #7A2017; }

.bav-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Pasos ---------- */
.bav-pasos-lista {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: paso;
}

.bav-pasos-lista li {
	margin: 0;
	padding: 28px 26px 30px;
	background: #fff;
	border-radius: var(--bav-radius);
	border: 1px solid var(--bav-stroke);
}

.bav-pasos-lista .bav-num {
	display: block;
	font-family: var(--bav-font-title);
	font-size: 2rem;
	font-weight: 700;
	color: var(--bav-azul);
	letter-spacing: -0.04em;
	line-height: 1;
}

.bav-pasos-lista h3 { font-size: 1.2rem; margin: 16px 0 8px; }
.bav-pasos-lista .bav-num { margin: 0; }
.bav-pasos-lista p { margin: 0; font-size: 1rem; color: var(--bav-muted); }

/* ---------- Confianza (mini pitch) ---------- */
.bav-arte {
	position: relative;
	min-height: 420px;
	border-radius: 24px;
	background: var(--bav-navy) url("../img/arte-casa.svg") center 42% / 78% auto no-repeat;
	overflow: hidden;
	box-shadow: 0 28px 60px rgb(10 48 71 / 18%);
}

.bav-arte__etiqueta {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 16px 34px rgb(7 31 48 / 25%);
	font-family: var(--bav-font-title);
	font-weight: 700;
	font-size: 1rem;
	color: var(--bav-navy);
}

.bav-arte__etiqueta b {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--bav-ice);
	color: var(--bav-azul-texto);
	font-size: .8rem;
}

.bav-arte__etiqueta--1 { left: 20px; bottom: 96px; transform: rotate(-2deg); }
.bav-arte__etiqueta--2 { right: 20px; bottom: 28px; transform: rotate(2deg); }

.bav-confianza h2 { margin: 14px 0 16px; font-size: clamp(1.9rem, 3vw, 2.5rem); }
.bav-confianza p { color: var(--bav-muted); }

.bav-hechos { list-style: none; margin: 26px 0 0; padding: 0; border-top: 1px solid var(--bav-stroke); }
.bav-hechos li { display: flex; gap: 16px; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--bav-stroke); }
.bav-hechos .bav-num {
	display: grid;
	place-items: center;
	flex: 0 0 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--bav-ice);
	color: var(--bav-azul-texto);
	font-family: var(--bav-font-title);
	font-weight: 700;
	font-size: .85rem;
}

.bav-hechos strong { display: block; font-family: var(--bav-font-title); color: var(--bav-navy); font-size: 1.05rem; }
.bav-hechos span { display: block; color: var(--bav-muted); font-size: .98rem; }

/* ---------- Modalidades (comparativa) ---------- */
.bav-planes .vc_column-inner { height: 100%; }
.bav-planes .wpb_wrapper { height: 100%; }

.bav-plan {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--bav-stroke);
	border-radius: 22px;
	padding: clamp(24px, 3vw, 38px);
	box-shadow: 0 14px 44px rgb(10 48 71 / 6%);
}

.bav-plan > .wpb_wrapper { display: flex; flex-direction: column; height: 100%; }
.bav-plan--destacado { border: 2px solid var(--bav-azul); box-shadow: 0 18px 50px rgb(34 158 189 / 16%); }

.bav-plan__insignia {
	position: absolute;
	top: 22px;
	right: 22px;
	margin: 0;
	padding: 4px 12px;
	border-radius: 100px;
	background: var(--bav-azul);
	color: var(--bav-navy);
	font-size: .8rem;
	font-weight: 700;
}

.bav-plan__over { margin: 0 0 6px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bav-azul-texto); }
.bav-plan h3 { margin: 0; font-size: 1.6rem; }
.bav-plan__desc { margin: 10px 0 0; color: var(--bav-muted); }
.bav-plan__precio { margin: 18px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--bav-surface); font-weight: 700; color: var(--bav-navy); }
.bav-plan__lista-titulo { margin: 22px 0 8px; font-weight: 700; color: var(--bav-navy); }
.bav-plan .bav-btn { margin-top: auto; align-self: flex-start; }
.bav-plan ul { margin-bottom: 26px; }

.bav-check { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.bav-check li {
	position: relative;
	margin: 0;
	padding-left: 32px;
	font-size: 1rem;
	line-height: 1.5;
	color: #2B3E4C;
}

.bav-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--bav-ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23229EBD' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat;
}

.bav-check li.bav-check__mas { font-weight: 650; color: var(--bav-navy); }
.bav-nota { margin: 22px 0 0; font-size: .92rem; color: var(--bav-muted); }
.bav-cta-centro { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }

/* ---------- Caminos (con / sin inquilino) ---------- */
.bav-camino {
	height: 100%;
	padding: 30px 32px;
	border-radius: 18px;
	border: 1px solid rgb(143 211 230 / 35%);
	background: rgb(255 255 255 / 6%);
}

.bav-camino .bav-num { display: block; margin-bottom: 18px; font-family: var(--bav-font-title); font-size: .85rem; font-weight: 700; letter-spacing: .1em; color: var(--bav-azul-claro); }
.bav-camino h3 { margin: 0 0 12px; font-size: 1.45rem; color: #fff; }
.bav-camino p { margin: 0 0 18px; color: #C9D9E2; }
.bav-camino a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Calculadora ---------- */
.bav-calc {
	background: #fff;
	border: 1px solid var(--bav-stroke);
	border-radius: 20px;
	padding: clamp(22px, 3vw, 32px);
	box-shadow: var(--bav-shadow);
}

.bav-calc__form { display: grid; gap: 14px; }
.bav-calc--completa .bav-calc__form { grid-template-columns: repeat(3, 1fr); }
.bav-campo label { display: block; margin-bottom: 6px; font-weight: 650; font-size: .95rem; color: var(--bav-navy); }
.bav-campo small { font-weight: 400; color: var(--bav-muted); }
.bav-campo__euro { position: relative; }
.bav-campo__euro input { text-align: left; width: 100%; min-height: 54px; padding: 12px 74px 12px 14px; font-size: 1.1rem; border: 1px solid #A9C1CC; border-radius: 10px; }
.bav-campo__euro span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: .9rem; color: var(--bav-muted); }

.bav-calc__resultado { display: grid; gap: 0; margin: 20px 0 0; }
.bav-calc__resultado > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--bav-stroke); }
.bav-calc__resultado dt { font-weight: 500; color: var(--bav-muted); }
.bav-calc__resultado dd { margin: 0; font-weight: 700; color: var(--bav-navy); text-align: right; white-space: nowrap; }
.bav-calc__destacado { background: var(--bav-ice); border-radius: 10px; border: 0 !important; padding: 14px !important; margin-block: 6px; }
.bav-calc__destacado dt { color: var(--bav-navy); font-weight: 700; }
.bav-calc__destacado dd { font-size: 1.3rem; color: var(--bav-navy); }
.bav-calc__nota { margin: 14px 0 0; font-size: .88rem; color: var(--bav-muted); }

/* ---------- Testimonios en vídeo ---------- */
.bav-video {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 300px;
	padding: 26px;
	border-radius: 20px;
	background: linear-gradient(135deg, #154566, var(--bav-navy));
	color: #fff;
	overflow: hidden;
}

.bav-video__play {
	position: absolute;
	top: 24px;
	left: 24px;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid rgb(255 255 255 / 70%);
	font-size: 1.2rem;
}

.bav-video strong { font-family: var(--bav-font-title); font-size: 1.2rem; color: #fff; }
.bav-video span { color: #C9D9E2; font-size: .95rem; }

/* ---------- Preguntas frecuentes (acordeón WoodMart) ---------- */
.bav-sec .wd-accordion { border-top: 1px solid var(--bav-stroke); }
.bav-sec .wd-accordion .wd-accordion-item { border-bottom: 1px solid var(--bav-stroke); }
.bav-sec .wd-accordion .wd-accordion-title { padding: 20px 0 !important; }
.bav-sec .wd-accordion .wd-accordion-title-text,
.bav-sec .wd-accordion .wd-accordion-title-text span { font-family: var(--bav-font-title) !important; font-size: 1.1rem !important; font-weight: 650 !important; color: var(--bav-navy) !important; text-transform: none !important; }
.bav-sec .wd-accordion .wd-accordion-content { padding: 0 0 22px !important; font-size: 1.02rem; color: var(--bav-muted); max-width: 70ch; }
.bav-sec .wd-accordion .wd-accordion-opener { color: var(--bav-azul-texto); }

/* ---------- CTA final ---------- */
.bav-cta-final h2 { margin: 12px 0; font-size: clamp(2rem, 3.4vw, 2.9rem); }
.bav-cta-final .bav-ctas { justify-content: flex-end; margin: 0; }

/* ---------- Páginas interiores ---------- */
.bav-cabecera-pagina {
	--bav-sec-bg: var(--bav-ice);
	padding-block: clamp(44px, 6vw, 80px);
}

.bav-cabecera-pagina h1 { margin: 16px 0 18px; font-size: clamp(2.1rem, 4vw, 3.3rem); letter-spacing: -0.04em; max-width: 900px; }
.bav-cabecera-pagina .bav-hero__texto { max-width: 720px; }
.bav-cabecera-pagina .bav-ctas { margin-bottom: 0; }

.bav-prosa { max-width: 780px; }
.bav-prosa h2 { margin: 44px 0 14px; font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.bav-prosa h2:first-child { margin-top: 0; }
.bav-prosa h3 { margin: 28px 0 10px; font-size: 1.25rem; }
.bav-prosa p, .bav-prosa li { color: #2B3E4C; }
.bav-prosa ul:not(.bav-check), .bav-prosa ol { padding-left: 1.2em; }
.bav-prosa .bav-check { margin-bottom: 20px; }

/* Páginas con columna lateral fija de contacto */
.vc_row.bav-con-lateral { display: flex; flex-wrap: wrap; }
.bav-con-lateral > .wpb_column:last-child > .vc_column-inner,
.bav-con-lateral > .wpb_column:last-child .wpb_wrapper { height: 100%; }
.bav-aside {
	position: sticky;
	top: 110px;
	padding: 28px;
	background: var(--bav-ice);
	border-radius: 20px;
}
.bav-aside .bav-form-card__sub { margin-bottom: 16px; }
.bav-aside .bav-microtrust { margin-top: 18px; flex-direction: column; gap: 8px; font-size: .92rem; }
.bav-prosa li { margin-bottom: 8px; }

.bav-tarjeta {
	height: 100%;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--bav-stroke);
	border-radius: var(--bav-radius);
}

.bav-tarjeta h3 { margin: 0 0 10px; font-size: 1.25rem; }
.bav-tarjeta p { margin: 0; color: var(--bav-muted); }

.bav-legal { max-width: 820px; }
.bav-legal h2 { margin: 36px 0 12px; font-size: 1.5rem; }
.bav-legal p, .bav-legal li { font-size: 1rem; }
.bav-aviso-borrador { padding: 14px 18px; border-radius: 10px; background: #FFF6DB; color: #5C4300; font-size: .95rem; }

.bav-contacto-datos { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.bav-contacto-datos li { margin: 0; padding: 18px 20px; background: #fff; border: 1px solid var(--bav-stroke); border-radius: 14px; }
.bav-contacto-datos strong { display: block; font-family: var(--bav-font-title); color: var(--bav-navy); }

/* ---------- Pie ---------- */
.bav-pie { padding-block: 56px 36px; color: #C9D9E2; font-size: .98rem; }
.bav-pie p { color: #C9D9E2; }
.bav-pie h3 { margin: 0 0 14px; font-size: 1rem; color: #fff; letter-spacing: 0; }
.bav-pie ul { list-style: none; margin: 0; padding: 0; }
.bav-pie li { margin: 0 0 10px; }
.bav-pie a { color: #E4EEF3; text-decoration: none; }
.bav-pie a:hover { color: #fff; text-decoration: underline; }
.bav-pie__logo { display: inline-block; padding: 10px 14px; background: #fff; border-radius: 10px; }
.bav-pie__logo img { display: block; width: 170px; height: auto; }
.footer-container, .main-footer { background-color: var(--bav-navy-900) !important; }
.copyrights-wrapper { background-color: #05182A !important; color: #A9BDCA; font-size: .92rem; }
.copyrights-wrapper a { color: #E4EEF3; }

/* ---------- Barra fija móvil ---------- */
.bav-barra-movil { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.bav-pasos-lista { grid-template-columns: 1fr 1fr; }
	.bav-calc--completa .bav-calc__form { grid-template-columns: 1fr; }
	.bav-acciones-cabecera .bav-btn--contorno { display: none; }
}

@media (max-width: 768px) {
	body { font-size: 17px; }
	.bav-cf7__fila { grid-template-columns: 1fr; gap: 0; }
	.bav-pasos-lista { grid-template-columns: 1fr; }
	.bav-arte { min-height: 320px; margin-bottom: 28px; }
	.bav-cta-final .bav-ctas { justify-content: flex-start; margin-top: 18px; }
	.bav-hero .wpb_column + .wpb_column { margin-top: 34px; }
	.bav-ctas .bav-btn { flex: 1 1 100%; }
	.bav-planes .wpb_column + .wpb_column,
	.bav-caminos .wpb_column + .wpb_column { margin-top: 18px; }

	.bav-barra-movil {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 400;
		display: flex;
		gap: 8px;
		padding: 10px 12px max(10px, env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid var(--bav-stroke);
		box-shadow: 0 -6px 18px rgb(10 48 71 / 12%);
	}

	.bav-barra-movil .bav-btn { flex: 1 1 0; min-width: 0; min-height: 50px; padding: 0 6px; gap: 6px; font-size: .86rem; white-space: nowrap; }
	.bav-barra-movil .bav-btn .bav-icono { width: 17px; height: 17px; }
	.bav-barra-movil .bav-btn--primario .bav-icono { display: none; }
	body { padding-bottom: 76px; }
	.scrollToTop { bottom: 92px !important; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Barra superior: texto secundario solo en pantallas amplias. */
@media (max-width: 1200px) {
	.bav-tb-extra { display: none; }
}

@media (max-width: 768px) {
	.bav-aside { position: static; margin-top: 32px; }
}

/* =========================================================
   Imágenes
   ========================================================= */
.website-wrapper { overflow-x: clip; }
.bav-img { display: block; max-width: 100%; height: auto; }

/* Hero: foto a sangre por la derecha con el formulario encima */
.bav-hero { --bav-sangrado: max(15px, calc((100vw - 1320px) / 2 + 15px)); }
.bav-hero__media { position: relative; padding: 72px 0 56px; }
.bav-hero__foto {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22%;
	right: calc(-1 * var(--bav-sangrado));
	width: auto;
	max-width: none;
	height: 100%;
	object-fit: cover;
	border-radius: 28px 0 0 28px;
	animation: bav-acercar 1.8s cubic-bezier(.2, .7, .2, 1) both;
}
.bav-hero__media::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 12%;
	bottom: 18px;
	width: 110px;
	height: 110px;
	background: radial-gradient(var(--bav-azul) 1.6px, transparent 1.7px) 0 0 / 14px 14px;
	opacity: .6;
}
.bav-hero__media .bav-form-card { position: relative; z-index: 2; width: 88%; }

/* Confianza: foto con etiquetas flotantes */
.bav-arte--foto { background: var(--bav-navy); }
.bav-arte__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bav-arte--foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgb(10 48 71 / 55%)); }
.bav-arte__etiqueta { z-index: 1; animation: bav-flotar 6s ease-in-out infinite alternate; }
.bav-arte__etiqueta--2 { animation-delay: -3s; }

/* Con / sin inquilino: foto en la tarjeta */
.bav-camino { overflow: hidden; }
.bav-camino__img { width: calc(100% + 64px); max-width: none; height: 210px; margin: -30px -32px 24px; object-fit: cover; }

/* CTA final: foto de Madrid de fondo, muy tenue */
.bav-cta-final { isolation: isolate; }
.bav-cta-final .wpb_column,
.bav-cta-final .vc_column-inner,
.bav-cta-final .wpb_wrapper,
.bav-cta-final .wpb_text_column { position: static; }
.bav-fondo { position: absolute; top: 0; bottom: 0; left: 50%; z-index: -1; width: 100vw; transform: translateX(-50%); overflow: hidden; }
.bav-fondo__img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: .3; }
.bav-fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bav-navy) 30%, rgb(10 48 71 / 72%) 100%); }

/* Cabecera de páginas interiores con foto */
.vc_row.bav-cabecera-pagina--foto { display: flex; flex-wrap: wrap; align-items: center; }
.bav-cabecera-pagina__foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; box-shadow: 0 24px 60px rgb(10 48 71 / 16%); }

/* =========================================================
   Animaciones (suaves; desactivadas con «reducir movimiento»)
   ========================================================= */
@keyframes bav-acercar { from { transform: scale(1.06); } to { transform: none; } }
@keyframes bav-flotar { from { translate: 0 0; } to { translate: 0 -8px; } }

.bav-anim .bav-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
	transition-delay: var(--bav-retardo, 0ms);
}
.bav-anim .bav-reveal.bav-visible { opacity: 1; transform: none; }

.bav-pasos-lista li,
.bav-plan,
.bav-camino,
.bav-tarjeta,
.bav-contacto-datos li { transition: translate .25s ease, box-shadow .25s ease, opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.bav-pasos-lista li:hover,
.bav-plan:hover,
.bav-camino:hover,
.bav-tarjeta:hover { translate: 0 -4px; box-shadow: 0 22px 50px rgb(10 48 71 / 12%); }

.bav-btn .bav-icono { transition: translate .2s ease; }
.bav-btn:hover .bav-icono { translate: 2px -2px; }
.bav-btn--llamar:hover .bav-icono,
a[data-bav-evento] .bav-icono { translate: none; }

@media (max-width: 768px) {
	.bav-hero__media { padding: 0; }
	.bav-hero__media::before { display: none; }
	.bav-hero__foto { position: static; width: 100%; height: 220px; margin-bottom: -48px; border-radius: 20px; }
	.bav-hero__media .bav-form-card { width: auto; margin-inline: 12px; }
	.bav-cabecera-pagina--foto .wpb_column + .wpb_column { margin-top: 28px; }
	.bav-camino__img { height: 180px; }
}

/* =========================================================
   Menú desplegable
   ========================================================= */
.whb-general-header .wd-dropdown-menu.wd-design-default {
	min-width: 280px;
	padding: 10px;
	border: 1px solid var(--bav-stroke);
	border-radius: 16px;
	box-shadow: 0 22px 48px rgb(10 48 71 / 14%);
}
.whb-general-header .wd-dropdown-menu .container { padding: 0; }
.whb-general-header .wd-sub-menu li > a.woodmart-nav-link {
	display: block;
	padding: 11px 14px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 600;
	color: var(--bav-navy);
}
.whb-general-header .wd-sub-menu li > a.woodmart-nav-link:hover,
.whb-general-header .wd-sub-menu li.current-menu-item > a.woodmart-nav-link {
	background: var(--bav-ice);
	color: var(--bav-azul-texto);
}
.wd-nav-main > li.menu-item-has-children > a .nav-link-text::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 0 3px 8px;
	border-right: 2px solid var(--bav-azul);
	border-bottom: 2px solid var(--bav-azul);
	transform: rotate(45deg);
}
.wd-nav-main > li.menu-item-has-children > a::after { display: none !important; }

/* =========================================================
   Ventana «Te llamamos»
   ========================================================= */
.bav-modal {
	width: min(460px, calc(100% - 32px));
	padding: 0;
	border: 0;
	border-radius: 22px;
	box-shadow: 0 30px 90px rgb(7 31 48 / 35%);
	color: var(--bav-text);
}
.bav-modal::backdrop { background: rgb(7 31 48 / 62%); backdrop-filter: blur(3px); }
.bav-modal[open] { animation: bav-modal-entrar .25s ease-out; }
@keyframes bav-modal-entrar { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.bav-modal__caja { position: relative; padding: 34px 32px 28px; }
.bav-modal__titulo { margin: 10px 0 8px; font-family: var(--bav-font-title); font-size: 1.6rem; font-weight: 700; color: var(--bav-navy); letter-spacing: -0.02em; }
.bav-modal__texto { margin: 0 0 20px; color: var(--bav-muted); font-size: 1rem; }
.bav-modal__cerrar {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--bav-ice);
	color: var(--bav-navy);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}
.bav-modal__cerrar:hover { background: var(--bav-ice-2); }

/* =========================================================
   Aviso de cookies
   ========================================================= */
.bav-cookies {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 500;
	display: flex;
	justify-content: center;
	pointer-events: none;
}
.bav-cookies[hidden] { display: none; }
.bav-cookies__caja {
	width: min(760px, 100%);
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--bav-stroke);
	border-radius: 18px;
	box-shadow: 0 24px 70px rgb(7 31 48 / 28%);
	pointer-events: auto;
}
.bav-cookies__titulo { margin: 0 0 6px; font-family: var(--bav-font-title); font-weight: 700; font-size: 1.15rem; color: var(--bav-navy); }
.bav-cookies__texto { margin: 0; font-size: .98rem; color: var(--bav-muted); }
.bav-cookies__opciones { display: grid; gap: 10px; margin: 16px 0 4px; }
.bav-cookies__opciones label { display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; color: var(--bav-text); }
.bav-cookies__opciones input { width: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; accent-color: var(--bav-navy); }
.bav-cookies__botones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.bav-cookies__botones .bav-btn { min-height: 48px; padding: 0 22px; }
.bav-cookies__botones .bav-btn[hidden] { display: none; }

/* Pie: logotipo en blanco */
.bav-pie__logo { padding: 0; background: none; border-radius: 0; }
.bav-logo-blanco { display: block; width: 190px; height: auto; }

@media (max-width: 768px) {
	.bav-cookies { left: 10px; right: 10px; bottom: 86px; }
	.bav-cookies__caja { padding: 18px; }
	.bav-cookies__botones .bav-btn--primario { flex: 1 1 40%; }
	.bav-modal__caja { padding: 30px 22px 22px; }
}
.bav-cookies__opciones[hidden] { display: none; }
button.bav-btn { text-transform: none; letter-spacing: 0; font-family: var(--bav-font-text); }
button.bav-btn--texto { background: transparent !important; box-shadow: none !important; border: 0; padding: 0 6px; min-height: 48px; }

/* Menú móvil (panel lateral de WoodMart): sin mayúsculas forzadas y con letra grande */
.mobile-nav .wd-nav-mobile > li > a,
.mobile-nav .wd-nav-mobile .wd-sub-menu li > a { text-transform: none; letter-spacing: 0; color: var(--bav-navy); }
.mobile-nav .wd-nav-mobile > li > a { min-height: 56px; font-size: 17px; font-weight: 650; }
.mobile-nav .wd-nav-mobile .wd-sub-menu li > a { font-size: 16px; font-weight: 500; }
.mobile-nav .wd-nav-mobile li.current-menu-item > a { color: var(--bav-azul-texto); }

/* Logotipo SVG en la cabecera: el SVG no trae tamaño propio; el max-width que pone WoodMart lo limita. */
.wd-logo img[src$=".svg"] { width: 999px; height: auto; }

/* Filas de dos campos: las cajas siempre alineadas aunque una etiqueta ocupe dos líneas. */
.bav-cf7__fila { align-items: stretch; }
.bav-cf7__fila > .bav-cf7__campo { grid-template-rows: 1fr auto; }
.bav-cf7__fila > .bav-cf7__campo > label { align-self: end; }
