/*
Theme Name: Prevende Child
Theme URI: https://prevende.es
Description: Tema hijo de Divi para Prevende — CRM de captación de leads para promotoras de obra nueva. Contiene los tokens de marca (color, tipografía, botones) y los ajustes propios del proyecto.
Author: CIS NET SOLUTIONS, S.L.
Author URI: https://prevende.es
Template: Divi
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prevende-child
*/

/* ==========================================================================
   1. Tokens de marca
   ========================================================================== */

:root {
	--pv-azul: #0f3a5f;          /* primario: azul cianotipo / plano */
	--pv-azul-oscuro: #0a2740;   /* titulares y fondos oscuros */
	--pv-azul-claro: #e7eef4;    /* fondos suaves, tablas */
	--pv-ambar: #f2a93b;         /* acento: la ventana encendida, CTA */
	--pv-ambar-oscuro: #dd9426;  /* hover del CTA */
	--pv-papel: #f5f7f9;         /* fondo de sección alterna */
	--pv-grafito: #52646f;       /* texto secundario */
	--pv-linea: #dce4ea;         /* bordes y separadores */
	--pv-blanco: #ffffff;

	--pv-fuente-titular: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
	--pv-fuente-texto: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;

	--pv-radio: 8px;
	--pv-radio-grande: 14px;
	--pv-sombra: 0 2px 10px rgba(10, 39, 64, 0.08);
	--pv-transicion: 0.18s ease;
}

/* ==========================================================================
   2. Tipografía
   ========================================================================== */

body,
.et_pb_module,
.et_pb_text {
	font-family: var(--pv-fuente-texto);
	color: var(--pv-azul-oscuro);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3,
.et_pb_module h4, .et_pb_module h5, .et_pb_module h6 {
	font-family: var(--pv-fuente-titular);
	color: var(--pv-azul-oscuro);
	letter-spacing: -0.015em;
	line-height: 1.15;
}

h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); font-weight: 700; }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.35rem); font-weight: 700; }
h3 { font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem); font-weight: 600; }

p {
	line-height: 1.65;
	max-width: 68ch; /* longitud de línea legible */
}

.pv-entradilla {
	font-size: 1.15rem;
	color: var(--pv-grafito);
	line-height: 1.6;
}

a {
	color: var(--pv-azul);
	text-underline-offset: 0.18em;
	transition: color var(--pv-transicion);
}

a:hover {
	color: var(--pv-ambar-oscuro);
}

/* ==========================================================================
   3. Botones
   ========================================================================== */

/* CTA principal: ámbar con texto azul oscuro (máximo contraste, sin azul sobre azul) */
.et_pb_button.pv-cta,
.et_pb_button.pv-cta:hover,
a.pv-cta {
	background-color: var(--pv-ambar) !important;
	border: 2px solid var(--pv-ambar) !important;
	color: var(--pv-azul-oscuro) !important;
	font-family: var(--pv-fuente-titular);
	font-weight: 600;
	border-radius: var(--pv-radio) !important;
	padding: 0.85em 1.6em !important;
	transition: background-color var(--pv-transicion), border-color var(--pv-transicion);
}

.et_pb_button.pv-cta:hover,
a.pv-cta:hover {
	background-color: var(--pv-ambar-oscuro) !important;
	border-color: var(--pv-ambar-oscuro) !important;
}

/* CTA secundario: contorno azul */
.et_pb_button.pv-cta-linea,
a.pv-cta-linea {
	background-color: transparent !important;
	border: 2px solid var(--pv-azul) !important;
	color: var(--pv-azul) !important;
	font-family: var(--pv-fuente-titular);
	font-weight: 600;
	border-radius: var(--pv-radio) !important;
	padding: 0.85em 1.6em !important;
}

.et_pb_button.pv-cta-linea:hover,
a.pv-cta-linea:hover {
	background-color: var(--pv-azul) !important;
	color: var(--pv-blanco) !important;
}

/* Divi añade una flecha en el hover de sus botones: la quitamos en los CTA de marca */
.et_pb_button.pv-cta:after,
.et_pb_button.pv-cta-linea:after {
	display: none !important;
}

/* ==========================================================================
   4. Bloques propios
   ========================================================================== */

/* Tarjeta de plan de precios */
.pv-plan {
	background: var(--pv-blanco);
	border: 1px solid var(--pv-linea);
	border-radius: var(--pv-radio-grande);
	padding: 2rem 1.75rem;
	height: 100%;
}

.pv-plan--destacado {
	border-color: var(--pv-azul);
	border-width: 2px;
	box-shadow: var(--pv-sombra);
}

.pv-plan .pv-precio {
	font-family: var(--pv-fuente-titular);
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--pv-azul);
	line-height: 1;
}

.pv-plan ul {
	list-style: none;
	padding: 0;
	margin: 1.25rem 0 0;
}

.pv-plan li {
	border-top: 1px solid var(--pv-linea);
	padding: 0.6rem 0;
	color: var(--pv-grafito);
}

/* Aviso / nota al pie de sección */
.pv-nota {
	font-size: 0.95rem;
	color: var(--pv-grafito);
	border-left: 3px solid var(--pv-ambar);
	padding-left: 0.9rem;
}

/* Sección con fondo alterno */
.pv-seccion-papel { background-color: var(--pv-papel); }
.pv-seccion-oscura { background-color: var(--pv-azul-oscuro); }
.pv-seccion-oscura,
.pv-seccion-oscura h1,
.pv-seccion-oscura h2,
.pv-seccion-oscura h3,
.pv-seccion-oscura p { color: var(--pv-blanco); }

/* ==========================================================================
   5. Formularios (captación: si falla el formulario, no hay negocio)
   ========================================================================== */

.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_contact_form select,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
	font-family: var(--pv-fuente-texto) !important;
	border: 1px solid var(--pv-linea) !important;
	border-radius: var(--pv-radio) !important;
	background: var(--pv-blanco) !important;
	color: var(--pv-azul-oscuro) !important;
	padding: 0.8em 0.9em !important;
}

.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border-color: var(--pv-azul) !important;
	outline: none;
}

/* Foco visible por teclado en todo el sitio (accesibilidad) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.et_pb_button:focus-visible {
	outline: 3px solid var(--pv-ambar);
	outline-offset: 2px;
}

/* ==========================================================================
   6. Cabecera y pie
   ========================================================================== */

#main-header {
	box-shadow: 0 1px 0 var(--pv-linea);
}

#main-footer {
	background-color: var(--pv-azul-oscuro);
}

#footer-bottom {
	background-color: rgba(0, 0, 0, 0.18);
}

/* ==========================================================================
   7. Utilidades y responsive
   ========================================================================== */

.pv-centrado { text-align: center; }
.pv-centrado p { margin-left: auto; margin-right: auto; }

@media (max-width: 980px) {
	.pv-plan { margin-bottom: 1.25rem; }
	p { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
