/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
/* =========================================================
   HERO FARMACOVIGILANCIA
   Página WordPress: ID 7101
   ========================================================= */

.page-id-7101 #page-content {
	margin-top: 140px !important;
}

.page-id-7101 #vigilanciaHero {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 318px !important;
	padding: 0;
	overflow: hidden;
	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.12),
			rgba(255, 255, 255, 0.12)
		),
		url("/wp-content/uploads/hero-farmacovigilancia.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	isolation: isolate;
}

/* Capa central para mejorar la legibilidad */
.page-id-7101 #vigilanciaHero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.08) 0%,
			rgba(255, 255, 255, 0.7) 30%,
			rgba(255, 255, 255, 0.82) 50%,
			rgba(255, 255, 255, 0.7) 70%,
			rgba(255, 255, 255, 0.08) 100%
		);
}

/* Contenedor principal generado por Impreza */
.page-id-7101 #vigilanciaHero > .l-section-h {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-height: 370px;
	padding: 40px 24px;
}

/* Estructura interna de WPBakery */
.page-id-7101 #vigilanciaHero .g-cols,
.page-id-7101 #vigilanciaHero .wpb_column,
.page-id-7101 #vigilanciaHero .vc_column-inner,
.page-id-7101 #vigilanciaHero .wpb_wrapper {
	width: 100%;
}

.page-id-7101 #vigilanciaHero .wpb_wrapper {
	height: 100%;
}

/* Contenedor de los textos */
.page-id-7101
#vigilanciaHero
.g-cols.vc_inner
> .vc_col-sm-12
> .vc_column-inner
> .wpb_wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 850px;
	margin: 0 auto !important;
	text-align: center;
}

/* Elimina paddings heredados únicamente dentro del Hero */
.page-id-7101
#vigilanciaHero
.g-cols.vc_inner
> .vc_col-sm-12
> .vc_column-inner {
	padding: 0 !important;
}

/* Evita paddings adicionales en columnas interiores del Hero */
.page-id-7101
#vigilanciaHero
.vc_inner
.vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.page-id-7101
#vigilanciaHero
.wpb_text_column
+ .wpb_text_column {
	margin-top: 9px;
}

/* Texto superior */
.page-id-7101
#vigilanciaHero
.wpb_text_column:first-child
p {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0;
	color: #e95095;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-shadow: 0 1px 12px rgba(255, 255, 255, 0.9);
}

.page-id-7101
#vigilanciaHero
.wpb_text_column:first-child
p::before,
.page-id-7101
#vigilanciaHero
.wpb_text_column:first-child
p::after {
	display: block;
	width: 32px;
	height: 2px;
	content: "";
	background: #e95095;
}

/* Título */
.page-id-7101 #vigilanciaHero h1 {
	margin: 8px 0 0;
	color: rgba(26, 26, 26, 0.92);
	font-size: clamp(42px, 5vw, 64px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.045em;
	text-shadow:
		0 2px 20px rgba(255, 255, 255, 0.95),
		0 1px 3px rgba(255, 255, 255, 0.9);
}

/* Descripción */
.page-id-7101
#vigilanciaHero
.wpb_text_column:last-child
p {
	max-width: 720px;
	margin: 7px auto 0;
	color: rgba(26, 26, 26, 0.78);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.55;
	text-shadow: 0 1px 14px rgba(255, 255, 255, 0.95);
}

.page-id-7101
#vigilanciaHero
.g-cols.vc_inner
> .vc_col-sm-12
> .vc_column-inner {
	margin: 0 auto !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
	.page-id-7101 #page-content {
		margin-top: 110px !important;
	}

	.page-id-7101 #vigilanciaHero {
		min-height: 340px !important;
		background-position: center center;
	}

	.page-id-7101 #vigilanciaHero > .l-section-h {
		min-height: 340px;
		padding: 36px 22px;
	}

	.page-id-7101 #vigilanciaHero::before {
		background: rgba(255, 255, 255, 0.7);
	}

	.page-id-7101 #vigilanciaHero h1 {
		font-size: clamp(40px, 7vw, 56px);
	}
	.page-id-7101
	#vigilanciaHero
	.g-cols.vc_inner
	> .vc_col-sm-12
	> .vc_column-inner {
		margin: 0 auto !important;
	}
}

/* Móvil */
@media screen and (max-width: 600px) {
	.page-id-7101 #page-content {
		margin-top: 85px !important;
	}

	.page-id-7101 #vigilanciaHero {
		min-height: 320px !important;
		background-position: 10px 10px!important;
	}

	.page-id-7101 #vigilanciaHero > .l-section-h {
		min-height: 320px;
		padding: 42px 18px;
	}

	.page-id-7101 #vigilanciaHero::before {
		background: rgba(255, 255, 255, 0.78);
	}

	.page-id-7101
	#vigilanciaHero
	.us_custom_f1685795
	> .wpb_wrapper {
		max-width: 100%;
	}

	.page-id-7101
	#vigilanciaHero
	.wpb_text_column:first-child
	p {
		gap: 8px;
		font-size: 11px;
		letter-spacing: 0.13em;
	}

	.page-id-7101
	#vigilanciaHero
	.wpb_text_column:first-child
	p::before,
	.page-id-7101
	#vigilanciaHero
	.wpb_text_column:first-child
	p::after {
		width: 20px;
	}

	.page-id-7101 #vigilanciaHero h1 {
		margin-top: 10px;
		font-size: 36px;
		line-height: 1.05;
	}

	.page-id-7101
	#vigilanciaHero
	.wpb_text_column:last-child
	p {
		max-width: 380px;
		margin-top: 8px;
		font-size: 15px;
		line-height: 1.5;
	}
	.page-id-7101
	#vigilanciaHero
	.g-cols.vc_inner
	> .vc_col-sm-12
	> .vc_column-inner {
		margin: 0 auto !important;
	}
}

/* Móviles pequeños */
@media screen and (max-width: 380px) {
	.page-id-7101 #vigilanciaHero {
		min-height: 330px !important;
		background-position: 62% center;
	}

	.page-id-7101 #vigilanciaHero > .l-section-h {
		min-height: 330px;
	}

	.page-id-7101 #vigilanciaHero h1 {
		font-size: 32px;
	}

	.page-id-7101
	#vigilanciaHero
	.wpb_text_column:last-child
	p {
		font-size: 14px;
	}
	
	.page-id-7101
	#vigilanciaHero
	.g-cols.vc_inner
	> .vc_col-sm-12
	> .vc_column-inner {
		margin: 0 auto !important;
	}
}
/* =========================================================
   PRIMER BLOQUE DE FARMACOVIGILANCIA
   Página WordPress: ID 7101
   Sección: #vigRow1
   ========================================================= */

.page-id-7101 #vigRow1 {
	position: relative;
	padding: 72px 24px;
	background:
		radial-gradient(
			circle at 100% 0%,
			rgba(233, 80, 149, 0.08),
			transparent 32%
		),
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8f8f6 100%
		);
}

/* Contenedor principal de Impreza */
.page-id-7101 #vigRow1 > .l-section-h {
	width: min(1180px, 100%);
	max-width: 1180px;
	margin: 0 auto;
	padding: 0;
}

/* Fila de columnas */
.page-id-7101 #vigRow1 > .l-section-h > .g-cols {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 28px;
	align-items: stretch;
	margin: 0;
}

/* Neutraliza anchos y paddings heredados de WPBakery */
.page-id-7101 #vigRow1 .vc_col-sm-8,
.page-id-7101 #vigRow1 .vc_col-sm-4 {
	width: 100%;
	float: none;
	margin: 0;
}

.page-id-7101 #vigRow1 .vc_column-inner {
	height: 100%;
	padding: 0 !important;
}

.page-id-7101 #vigRow1 .wpb_wrapper {
	height: 100%;
}

/* Tarjetas de ambas columnas */
.page-id-7101 #vigRow1 .vc_col-sm-8 > .vc_column-inner,
.page-id-7101 #vigRow1 .vc_col-sm-4 > .vc_column-inner {
	padding: clamp(30px, 4vw, 52px) !important;
	border: 1px solid rgba(26, 26, 26, 0.14);
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(26, 26, 26, 0.08);
}

/* Tarjeta izquierda */
.page-id-7101 #vigRow1 .vc_col-sm-8 > .vc_column-inner {
	background: rgba(255, 255, 255, 0.92);
}

/* Tarjeta derecha */
.page-id-7101 #vigRow1 .vc_col-sm-4 > .vc_column-inner {
	display: flex;
	background:
		linear-gradient(
			145deg,
			rgba(26, 26, 26, 0.98),
			rgba(26, 26, 26, 0.88)
		);
}

/* Contenido vertical de la tarjeta derecha */
.page-id-7101
#vigRow1
.vc_col-sm-4
> .vc_column-inner
> .wpb_wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}

/* Elimina márgenes de WPBakery */
.page-id-7101 #vigRow1 .wpb_text_column {
	margin: 0;
}

.page-id-7101
#vigRow1
.vc_col-sm-8
.wpb_text_column
+ .wpb_text_column {
	margin-top: 22px;
}

.page-id-7101
#vigRow1
.vc_col-sm-4
.wpb_text_column
+ .wpb_text_column {
	margin-top: 20px;
}

/* Título principal */
.page-id-7101 #vigRow1 h2 {
	margin: 0;
	color: rgba(26, 26, 26, 0.92);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.035em;
}

/* Párrafos de la columna izquierda */
.page-id-7101 #vigRow1 .vc_col-sm-8 p {
	margin: 0;
	color: rgba(26, 26, 26, 0.66);
	font-size: 16px;
	line-height: 1.8;
}

.page-id-7101 #vigRow1 .vc_col-sm-8 p + p {
	margin-top: 18px;
}

/* Cita */
.page-id-7101 #vigRow1 #quote {
	display: block;
	padding: 26px 30px;
	border-left: 3px solid #e95095;
	border-radius: 0 18px 18px 0;
	color: rgba(26, 26, 26, 0.86);
	background: #fcf6f9;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.7;
}

/* Oculta los saltos de línea manuales del span */
.page-id-7101 #vigRow1 #quote br {
	display: none;
}

/* Número decorativo */
.page-id-7101 #vigRow1 .vigNumber {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.2);
	font-size: 48px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.05em;
}

/* Título de la columna derecha */
.page-id-7101 #vigRow1 .vigNumberTitle {
	margin: 52px 0 0;
	color: #ffffff;
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.03em;
}

/* Texto de la columna derecha */
.page-id-7101 #vigRow1 .vigNumberContent {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.75;
}

/* Aviso */
.page-id-7101 #vigRow1 .vigNumberAlert {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 6px 0 0;
	padding: 10px 15px;
	border: 1px solid rgba(233, 80, 149, 0.72);
	border-radius: 999px;
	color: #ffffff;
	background: rgba(233, 80, 149, 0.14);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

/* Tablet */
@media screen and (max-width: 900px) {
	.page-id-7101 #vigRow1 {
		padding: 56px 20px;
	}

	.page-id-7101 #vigRow1 > .l-section-h > .g-cols {
		grid-template-columns: 1fr;
	}

	.page-id-7101 #vigRow1 .vigNumberTitle {
		margin-top: 34px;
	}
}

/* Móvil */
@media screen and (max-width: 600px) {
	.page-id-7101 #vigRow1 {
		padding: 42px 16px;
	}

	.page-id-7101 #vigRow1 .vc_col-sm-8 > .vc_column-inner,
	.page-id-7101 #vigRow1 .vc_col-sm-4 > .vc_column-inner {
		padding: 28px 22px !important;
		border-radius: 22px;
	}

	.page-id-7101 #vigRow1 h2 {
		font-size: 28px;
	}

	.page-id-7101 #vigRow1 .vc_col-sm-8 p {
		font-size: 15px;
		line-height: 1.7;
	}

	.page-id-7101 #vigRow1 #quote {
		padding: 22px;
		font-size: 15px;
		line-height: 1.65;
	}

	.page-id-7101 #vigRow1 .vigNumber {
		font-size: 42px;
	}

	.page-id-7101 #vigRow1 .vigNumberTitle {
		margin-top: 28px;
		font-size: 24px;
	}

	.page-id-7101 #vigRow1 .vigNumberContent {
		font-size: 15px;
	}
}

/* ========================================================= FORMULARIO DE FARMACOVIGILANCIA Página WordPress: ID 7101 Sección WPBakery: #vigRow2 Contact Form 7 ========================================================= */ .page-id-7101 #vigRow2 { position: relative; padding: 0 24px 90px; background: radial-gradient( circle at 100% 0%, rgba(233, 80, 149, 0.06), transparent 32% ), linear-gradient( 180deg, #f8f8f6 0%, #ffffff 100% ); } /* Contenedor principal de Impreza */ .page-id-7101 #vigRow2 > .l-section-h { width: min(1180px, 100%); max-width: 1180px; margin: 0 auto; padding: 0; } /* Neutralización de WPBakery */ .page-id-7101 #vigRow2 > .l-section-h > .g-cols { margin: 0; } .page-id-7101 #vigRow2 .vc_col-sm-12 { width: 100%; margin: 0; } .page-id-7101 #vigRow2 .vc_column-inner { padding: 0 !important; } /* ========================================================= CONTENEDOR GENERAL ========================================================= */ .page-id-7101 #vigRow2 .wpcf7 { width: 100%; } .page-id-7101 #vigRow2 .wpcf7-form { margin: 0; } .page-id-7101 #vigRow2 .vig-form { overflow: hidden; border: 1px solid rgba(26, 26, 26, 0.14); border-radius: 28px; background: #ffffff; box-shadow: 0 24px 70px rgba(26, 26, 26, 0.08); } /* Elimina márgenes automáticos añadidos por WordPress */ .page-id-7101 #vigRow2 .vig-form p { margin-top: 0; } .page-id-7101 #vigRow2 .vig-form > p:empty, .page-id-7101 #vigRow2 .vig-form br { display: none; } /* ========================================================= SECCIONES ========================================================= */ .page-id-7101 #vigRow2 .vig-form__section { padding: clamp(34px, 5vw, 60px); } .page-id-7101 #vigRow2 .vig-form__section + .vig-form__section { border-top: 1px solid rgba(26, 26, 26, 0.14); } /* ========================================================= CABECERAS DE SECCIÓN ========================================================= */ .page-id-7101 #vigRow2 .vig-form__heading { display: grid; grid-template-columns: 55px minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom: 38px; } .page-id-7101 #vigRow2 .vig-form__heading > p { margin: 0; } .page-id-7101 #vigRow2 .vig-form__number { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid rgba(233, 80, 149, 0.38); border-radius: 50%; color: #e95095; background: rgba(233, 80, 149, 0.06); font-size: 13px; font-weight: 800; line-height: 1; } .page-id-7101 #vigRow2 .vig-form__heading h3 { margin: 0; color: rgba(26, 26, 26, 0.9); font-size: clamp(25px, 3vw, 34px); font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; } .page-id-7101 #vigRow2 .vig-form__heading div > p { margin: 8px 0 0; color: rgba(26, 26, 26, 0.62); font-size: 15px; line-height: 1.65; } /* ========================================================= GRID ========================================================= */ .page-id-7101 #vigRow2 .vig-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; } .page-id-7101 #vigRow2 .vig-form__field { min-width: 0; margin: 0; } .page-id-7101 #vigRow2 .vig-form__field--full { grid-column: 1 / -1; } /* Párrafos que Contact Form 7 genera dentro de cada campo */ .page-id-7101 #vigRow2 .vig-form__field > p { height: 100%; margin: 0; } .page-id-7101 #vigRow2 .vig-form__field label { display: block; margin: 0; color: rgba(26, 26, 26, 0.85); font-size: 14px; font-weight: 700; line-height: 1.5; } /* Wrapper interno generado por CF7 */ .page-id-7101 #vigRow2 .wpcf7-form-control-wrap { display: block; width: 100%; margin-top: 10px; } /* ========================================================= INPUTS, SELECTS Y TEXTAREAS ========================================================= */ .page-id-7101 #vigRow2 .vig-form input[type="text"], .page-id-7101 #vigRow2 .vig-form input[type="email"], .page-id-7101 #vigRow2 .vig-form input[type="tel"], .page-id-7101 #vigRow2 .vig-form input[type="number"], .page-id-7101 #vigRow2 .vig-form input[type="date"], .page-id-7101 #vigRow2 .vig-form select, .page-id-7101 #vigRow2 .vig-form textarea { display: block; width: 100%; margin: 0; border: 1px solid rgba(26, 26, 26, 0.24); border-radius: 10px; outline: none; color: rgba(26, 26, 26, 0.88); background: #ffffff; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.4; box-shadow: none; transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease; } .page-id-7101 #vigRow2 .vig-form input[type="text"], .page-id-7101 #vigRow2 .vig-form input[type="email"], .page-id-7101 #vigRow2 .vig-form input[type="tel"], .page-id-7101 #vigRow2 .vig-form input[type="number"], .page-id-7101 #vigRow2 .vig-form input[type="date"], .page-id-7101 #vigRow2 .vig-form select { min-height: 52px; padding: 12px 15px; } .page-id-7101 #vigRow2 .vig-form textarea { min-height: 120px; padding: 15px; line-height: 1.65; resize: vertical; } .page-id-7101 #vigRow2 .vig-form textarea[name="adverse-event-detail"] { min-height: 190px; } .page-id-7101 #vigRow2 .vig-form select { cursor: pointer; } .page-id-7101 #vigRow2 .vig-form input:hover, .page-id-7101 #vigRow2 .vig-form select:hover, .page-id-7101 #vigRow2 .vig-form textarea:hover { border-color: rgba(26, 26, 26, 0.42); } .page-id-7101 #vigRow2 .vig-form input:focus, .page-id-7101 #vigRow2 .vig-form select:focus, .page-id-7101 #vigRow2 .vig-form textarea:focus { border-color: #e95095; box-shadow: 0 0 0 4px rgba(233, 80, 149, 0.11); } .page-id-7101 #vigRow2 .vig-form input::placeholder, .page-id-7101 #vigRow2 .vig-form textarea::placeholder { color: rgba(26, 26, 26, 0.4); opacity: 1; } /* Autocompletado del navegador */ .page-id-7101 #vigRow2 .vig-form input:-webkit-autofill { -webkit-text-fill-color: rgba(26, 26, 26, 0.88); -webkit-box-shadow: 0 0 0 1000px #ffffff inset; transition: background-color 9999s ease-out; } /* ========================================================= FIELDSETS Y RADIO BUTTONS ========================================================= */ .page-id-7101 #vigRow2 .vig-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; } .page-id-7101 #vigRow2 .vig-form fieldset legend { display: block; margin: 0 0 12px; padding: 0; color: rgba(26, 26, 26, 0.85); font-size: 14px; font-weight: 700; line-height: 1.5; } .page-id-7101 #vigRow2 .vig-form fieldset > p { margin: 0; } .page-id-7101 #vigRow2 .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 12px; } .page-id-7101 #vigRow2 .wpcf7-radio .wpcf7-list-item { margin: 0; } .page-id-7101 #vigRow2 .wpcf7-radio label { position: relative; display: block; cursor: pointer; } .page-id-7101 #vigRow2 .wpcf7-radio input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; opacity: 0; pointer-events: none; } .page-id-7101 #vigRow2 .wpcf7-radio .wpcf7-list-item-label { display: flex; align-items: center; justify-content: center; min-width: 82px; min-height: 44px; padding: 9px 20px; border: 1px solid rgba(26, 26, 26, 0.24); border-radius: 999px; color: rgba(26, 26, 26, 0.84); background: #ffffff; font-size: 14px; font-weight: 700; line-height: 1; transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; } .page-id-7101 #vigRow2 .wpcf7-radio label:hover .wpcf7-list-item-label { border-color: #e95095; color: #e95095; } .page-id-7101 #vigRow2 .wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label { border-color: #e95095; color: #ffffff; background: #e95095; } .page-id-7101 #vigRow2 .wpcf7-radio input[type="radio"]:focus-visible + .wpcf7-list-item-label { box-shadow: 0 0 0 4px rgba(233, 80, 149, 0.14); } /* ========================================================= CONSENTIMIENTO ========================================================= */ .page-id-7101 #vigRow2 .vig-form__privacy { margin: 0 clamp(34px, 5vw, 60px); padding: 27px 28px; border: 1px solid rgba(233, 80, 149, 0.24); border-radius: 18px; background: #fcf6f9; } .page-id-7101 #vigRow2 .vig-form__privacy > p { margin: 0; } .page-id-7101 #vigRow2 .vig-form__privacy > p + p { margin-top: 14px; padding-left: 34px; color: rgba(26, 26, 26, 0.58); font-size: 13px; line-height: 1.6; } .page-id-7101 #vigRow2 .vig-form__privacy .wpcf7-form-control-wrap { margin-top: 0; } .page-id-7101 #vigRow2 .vig-form__privacy .wpcf7-list-item { margin: 0; } .page-id-7101 #vigRow2 .vig-form__privacy .wpcf7-acceptance label { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 13px; align-items: start; cursor: pointer; } .page-id-7101 #vigRow2 .vig-form__privacy input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; padding: 0; border: 1px solid rgba(26, 26, 26, 0.3); border-radius: 5px; accent-color: #e95095; cursor: pointer; } .page-id-7101 #vigRow2 .vig-form__privacy .wpcf7-list-item-label { color: rgba(26, 26, 26, 0.82); font-size: 14px; font-weight: 600; line-height: 1.6; } /* ========================================================= BOTÓN DE ENVÍO ========================================================= */ .page-id-7101 #vigRow2 .vig-form__actions { display: flex; justify-content: flex-end; padding: 34px clamp(34px, 5vw, 60px) clamp(44px, 5vw, 60px); } .page-id-7101 #vigRow2 .vig-form__actions > p { position: relative; display: flex; align-items: center; margin: 0; } .page-id-7101 #vigRow2 .vig-form__submit.wpcf7-submit { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 220px; min-height: 56px; margin: 0; padding: 13px 28px; border: 2px solid #e95095; border-radius: 999px; color: #e95095!important; background: transparent; font-family: inherit; font-size: 14px; font-weight: 800; line-height: 1.2; text-transform: none; letter-spacing: 0; cursor: pointer; box-shadow: none; transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; } .page-id-7101 #vigRow2 .vig-form__submit.wpcf7-submit:hover { color: #ffffff!important; background: #e95095; box-shadow: 0 14px 28px rgba(233, 80, 149, 0.22); transform: translateY(-2px); } .page-id-7101 #vigRow2 .vig-form__submit.wpcf7-submit:focus-visible { outline: none; box-shadow: 0 0 0 5px rgba(233, 80, 149, 0.16); } .page-id-7101 #vigRow2 .vig-form__submit.wpcf7-submit:disabled { border-color: rgba(233, 80, 149, 0.45); color: rgba(233, 80, 149, 0.55)!important; background: transparent; cursor: not-allowed; box-shadow: none; transform: none; } /* Spinner de Contact Form 7 */ .page-id-7101 #vigRow2 .wpcf7-spinner { position: absolute; top: 50%; right: -36px; margin: 0; transform: translateY(-50%); } /* ========================================================= VALIDACIÓN Y MENSAJES DE CONTACT FORM 7 ========================================================= */ .page-id-7101 #vigRow2 .wpcf7-not-valid { border-color: #b42318 !important; box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.08); } .page-id-7101 #vigRow2 .wpcf7-not-valid-tip { display: block; margin-top: 7px; color: #b42318; font-size: 12px; font-weight: 600; line-height: 1.4; } .page-id-7101 #vigRow2 .wpcf7-response-output { margin: 24px 0 0 !important; padding: 16px 20px !important; border: 1px solid rgba(26, 26, 26, 0.18) !important; border-radius: 12px; color: rgba(26, 26, 26, 0.82); background: #ffffff; font-size: 14px; line-height: 1.6; } .page-id-7101 #vigRow2 .wpcf7-form.sent .wpcf7-response-output { border-color: #3f8f5f !important; color: #24663e; background: #f2faf5; } .page-id-7101 #vigRow2 .wpcf7-form.invalid .wpcf7-response-output, .page-id-7101 #vigRow2 .wpcf7-form.unaccepted .wpcf7-response-output, .page-id-7101 #vigRow2 .wpcf7-form.payment-required .wpcf7-response-output { border-color: #d48a00 !important; color: #815500; background: #fff9eb; } .page-id-7101 #vigRow2 .wpcf7-form.failed .wpcf7-response-output, .page-id-7101 #vigRow2 .wpcf7-form.aborted .wpcf7-response-output, .page-id-7101 #vigRow2 .wpcf7-form.spam .wpcf7-response-output { border-color: #b42318 !important; color: #8b1a12; background: #fff4f2; } /* ========================================================= TABLET ========================================================= */ @media screen and (max-width: 900px) { .page-id-7101 #vigRow2 { padding: 0 20px 72px; } .page-id-7101 #vigRow2 .vig-form__section { padding: 42px 34px; } .page-id-7101 #vigRow2 .vig-form__privacy { margin-inline: 34px; } .page-id-7101 #vigRow2 .vig-form__actions { padding-inline: 34px; } } /* ========================================================= MÓVIL ========================================================= */ @media screen and (max-width: 700px) { .page-id-7101 #vigRow2 { padding: 0 16px 56px; } .page-id-7101 #vigRow2 .vig-form { border-radius: 22px; } .page-id-7101 #vigRow2 .vig-form__section { padding: 34px 22px; } .page-id-7101 #vigRow2 .vig-form__heading { grid-template-columns: 1fr; gap: 14px; margin-bottom: 30px; } .page-id-7101 #vigRow2 .vig-form__number { width: 42px; height: 42px; } .page-id-7101 #vigRow2 .vig-form__heading h3 { font-size: 26px; } .page-id-7101 #vigRow2 .vig-form__grid { grid-template-columns: 1fr; gap: 22px; } .page-id-7101 #vigRow2 .vig-form__field, .page-id-7101 #vigRow2 .vig-form__field--full { grid-column: auto; } .page-id-7101 #vigRow2 .vig-form__privacy { margin-inline: 22px; padding: 22px; } .page-id-7101 #vigRow2 .vig-form__privacy > p + p { padding-left: 0; } .page-id-7101 #vigRow2 .vig-form__actions { padding: 28px 22px 38px; } .page-id-7101 #vigRow2 .vig-form__actions > p { width: 100%; } .page-id-7101 #vigRow2 .vig-form__submit.wpcf7-submit { width: 100%; min-width: 0; } .page-id-7101 #vigRow2 .wpcf7-spinner { right: 16px; } } /* ========================================================= MÓVILES PEQUEÑOS ========================================================= */ @media screen and (max-width: 380px) { .page-id-7101 #vigRow2 { padding-inline: 12px; } .page-id-7101 #vigRow2 .vig-form__section { padding-inline: 18px; } .page-id-7101 #vigRow2 .vig-form__privacy { margin-inline: 18px; } .page-id-7101 #vigRow2 .vig-form__actions { padding-inline: 18px; } .page-id-7101 #vigRow2 .wpcf7-radio .wpcf7-list-item-label { min-width: 74px; padding-inline: 17px; } } /* ========================================================= ACCESIBILIDAD ========================================================= */ @media (prefers-reduced-motion: reduce) { .page-id-7101 #vigRow2 *, .page-id-7101 #vigRow2 *::before, .page-id-7101 #vigRow2 *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } }

/* =========================================================
   CF7: mostrar errores únicamente después del envío
   ========================================================= */

/* Durante la validación interactiva, oculta los mensajes */
.page-id-7101
#vigRow2
.wpcf7-form:not(.invalid):not(.unaccepted):not(.failed):not(.aborted):not(.spam)
.wpcf7-not-valid-tip {
	display: none !important;
}

/* Durante la validación interactiva, mantiene el borde normal */
.page-id-7101
#vigRow2
.wpcf7-form:not(.invalid):not(.unaccepted):not(.failed):not(.aborted):not(.spam)
.wpcf7-not-valid {
	border-color: rgba(26, 26, 26, 0.24) !important;
	box-shadow: none !important;
}

/* Conserva el foco rosa aunque CF7 haya marcado el campo */
.page-id-7101
#vigRow2
.wpcf7-form:not(.invalid):not(.unaccepted):not(.failed):not(.aborted):not(.spam)
.wpcf7-not-valid:focus {
	border-color: #e95095 !important;
	box-shadow: 0 0 0 4px rgba(233, 80, 149, 0.11) !important;
}

/* Muestra el error tras intentar enviar el formulario */
.page-id-7101
#vigRow2
.wpcf7-form.invalid
.wpcf7-not-valid,
.page-id-7101
#vigRow2
.wpcf7-form.unaccepted
.wpcf7-not-valid {
	border-color: #b42318 !important;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.08) !important;
}

/* Mensaje de error tras intentar enviar */
.page-id-7101
#vigRow2
.wpcf7-form.invalid
.wpcf7-not-valid-tip,
.page-id-7101
#vigRow2
.wpcf7-form.unaccepted
.wpcf7-not-valid-tip {
	display: block !important;
	margin-top: 7px;
	color: #b42318;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* =========================================================
   MEDIOS DE CONTACTO
   Página: .page-id-7101
   Sección: #vigRow3
   HTML interno insertado mediante Raw HTML
   ========================================================= */

.page-id-7101 #vigRow3 {
	position: relative;
	padding: 0 24px 90px;
	background: #ffffff;
}

/* Contenedor general de Impreza */
.page-id-7101 #vigRow3 > .l-section-h {
	width: min(1180px, 100%);
	max-width: 1180px;
	margin: 0 auto;
	padding: 0;
}

/* Tarjeta oscura */
.page-id-7101 #vigRow3 > .l-section-h > .g-cols {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 72px);
	align-items: center;
	width: 100%;
	margin: 0 !important;
	padding: clamp(44px, 6vw, 72px);
	border-radius: 28px;
	background:
		linear-gradient(
			135deg,
			#1d1d1d 0%,
			#292929 100%
		);
	box-shadow: 0 24px 70px rgba(26, 26, 26, 0.14);
	overflow: hidden;
}

/* =========================================================
   RESET DE COLUMNAS WPBAKERY
   ========================================================= */

.page-id-7101 #vigRow3 .vc_col-sm-6 {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.page-id-7101 #vigRow3 .vc_column-inner {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
}

.page-id-7101 #vigRow3 .wpb_wrapper {
	width: 100%;
	min-width: 0;
}

.page-id-7101 #vigRow3 .wpb_text_column,
.page-id-7101 #vigRow3 .wpb_raw_code {
	margin: 0 !important;
}

.page-id-7101 #vigRow3 p {
	margin: 0;
}

/* =========================================================
   COLUMNA IZQUIERDA
   ========================================================= */

.page-id-7101
#vigRow3
.vc_col-sm-6:first-child
> .vc_column-inner
> .wpb_wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

/* Espaciado entre bloques */
.page-id-7101
#vigRow3
.vc_col-sm-6:first-child
.wpb_text_column
+ .wpb_text_column {
	margin-top: 18px !important;
}

/* Subtítulo */
.page-id-7101 #vigRow3 .row3Subtitle {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: #e95095;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.page-id-7101 #vigRow3 .row3Subtitle::before {
	display: block;
	flex: 0 0 34px;
	width: 34px;
	height: 2px;
	content: "";
	background: #e95095;
}

/* Título */
.page-id-7101 #vigRow3 h2 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(38px, 4vw, 52px);
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.045em;
}

/* Descripción */
.page-id-7101
#vigRow3
.vc_col-sm-6:first-child
.wpb_text_column:last-child
p {
	max-width: 510px;
	margin: 0;
	color: rgba(255, 255, 255, 0.64);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
}

/* =========================================================
   COLUMNA DERECHA
   ========================================================= */

.page-id-7101
#vigRow3
.vc_col-sm-6:last-child
> .vc_column-inner
> .wpb_wrapper {
	display: block;
	width: 100%;
	min-width: 0;
}

/* Reset específico de Raw HTML */
.page-id-7101 #vigRow3 .wpb_raw_code,
.page-id-7101 #vigRow3 .wpb_raw_html,
.page-id-7101 #vigRow3 .wpb_raw_code > .wpb_wrapper {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   LISTA DE CONTACTOS
   ========================================================= */

.page-id-7101 #vigRow3 .vig-contact-list {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	gap: 14px;
}

/* Tarjeta individual */
.page-id-7101 #vigRow3 .vig-contact-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 82px;
	margin: 0;
	padding: 16px 20px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.015);
	box-shadow: none;
	transition:
		border-color 180ms ease,
		background-color 180ms ease,
		transform 180ms ease;
}

/* Hover sobre toda la tarjeta */
.page-id-7101 #vigRow3 .vig-contact-card:hover {
	border-color: #e95095;
	background: rgba(233, 80, 149, 0.08);
	transform: translateX(4px);
}

/* =========================================================
   ICONOS
   ========================================================= */

.page-id-7101 #vigRow3 .vig-contact-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	color: #e95095;
	background: rgba(233, 80, 149, 0.14);
	transition:
		color 180ms ease,
		background-color 180ms ease,
		transform 180ms ease;
}

.page-id-7101 #vigRow3 .vig-contact-card__icon svg {
	display: block;
	width: 21px;
	height: 21px;
	margin: 0;
	padding: 0;
	fill: currentColor;
}

.page-id-7101
#vigRow3
.vig-contact-card:hover
.vig-contact-card__icon {
	color: #ffffff;
	background: #e95095;
	transform: scale(1.05);
}

/* =========================================================
   CONTENIDO DE CADA TARJETA
   ========================================================= */

.page-id-7101 #vigRow3 .vig-contact-card__content {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

/* Etiqueta */
.page-id-7101 #vigRow3 .vig-contact-card__label {
	display: block;
	margin: 0 0 5px;
	padding: 0;
	color: rgba(255, 255, 255, 0.48);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/* Valor/enlace */
.page-id-7101 #vigRow3 .vig-contact-card__value {
	display: inline-block;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none !important;
	overflow-wrap: anywhere;
	word-break: normal;
	transition: color 180ms ease;
}

.page-id-7101 #vigRow3 .vig-contact-card__value:visited {
	color: #ffffff !important;
}

.page-id-7101 #vigRow3 .vig-contact-card__value:hover {
	color: #e95095 !important;
	text-decoration: none !important;
}

.page-id-7101 #vigRow3 .vig-contact-card__value:focus-visible {
	outline: 2px solid #e95095;
	outline-offset: 4px;
	border-radius: 2px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 900px) {
	.page-id-7101 #vigRow3 {
		padding: 0 20px 72px;
	}

	.page-id-7101 #vigRow3 > .l-section-h > .g-cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		padding: 46px 36px;
	}

	.page-id-7101
	#vigRow3
	.vc_col-sm-6:first-child
	.wpb_text_column:last-child
	p {
		max-width: 640px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card {
		min-height: 78px;
	}
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media screen and (max-width: 600px) {
	.page-id-7101 #vigRow3 {
		padding: 0 16px 56px;
	}

	.page-id-7101 #vigRow3 > .l-section-h > .g-cols {
		gap: 32px;
		padding: 36px 22px;
		border-radius: 22px;
	}

	.page-id-7101
	#vigRow3
	.vc_col-sm-6:first-child
	.wpb_text_column
	+ .wpb_text_column {
		margin-top: 14px !important;
	}

	.page-id-7101 #vigRow3 .row3Subtitle {
		gap: 8px;
		font-size: 11px;
		letter-spacing: 0.13em;
	}

	.page-id-7101 #vigRow3 .row3Subtitle::before {
		flex-basis: 24px;
		width: 24px;
	}

	.page-id-7101 #vigRow3 h2 {
		font-size: 34px;
		line-height: 1.1;
	}

	.page-id-7101
	#vigRow3
	.vc_col-sm-6:first-child
	.wpb_text_column:last-child
	p {
		font-size: 15px;
		line-height: 1.7;
	}

	.page-id-7101 #vigRow3 .vig-contact-list {
		gap: 12px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 13px;
		min-height: 74px;
		padding: 14px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card:hover {
		transform: none;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__icon {
		width: 42px;
		height: 42px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__icon svg {
		width: 19px;
		height: 19px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__label {
		font-size: 10px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__value {
		font-size: 13px;
		line-height: 1.4;
	}
}

/* =========================================================
   MÓVILES PEQUEÑOS
   ========================================================= */

@media screen and (max-width: 380px) {
	.page-id-7101 #vigRow3 {
		padding-inline: 12px;
	}

	.page-id-7101 #vigRow3 > .l-section-h > .g-cols {
		padding: 32px 18px;
	}

	.page-id-7101 #vigRow3 h2 {
		font-size: 30px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 11px;
		padding: 13px 12px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__icon {
		width: 38px;
		height: 38px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__icon svg {
		width: 18px;
		height: 18px;
	}

	.page-id-7101 #vigRow3 .vig-contact-card__value {
		font-size: 12px;
	}
}

/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.page-id-7101 #vigRow3 *,
	.page-id-7101 #vigRow3 *::before,
	.page-id-7101 #vigRow3 *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

#bannerVigilancia {
	max-width: 1208px!important;
	min-height: 350px;
	padding-top: 0px!important;
}

#bannerVigilancia > .l-section-h {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 350px;
}

#bannerVigilancia > .l-section-h > .g-cols {
	width: 100%;
}

#bannerVigilancia .vc_col-sm-12,
#bannerVigilancia .vc_column-inner,
#bannerVigilancia .vc_column-inner > .wpb_wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 350px;
}

#bannerVigilancia .wpb_text_column {
	width: 100%;
	margin: 0;
}

#bannerVigilancia .wpb_text_column p {
	margin: 0;
	text-align: center;
}

#bannerVigilancia .wpb_text_column a {
	display: inline-block;
	padding: 12px 24px;
	color: #e95095;
	font-size: clamp(24px, 3vw, 42px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.03em;
	text-decoration: none;
	text-shadow:
		0 1px 2px rgba(255, 255, 255, 0.95),
		0 3px 18px rgba(255, 255, 255, 0.9);
	transition:
		color 180ms ease,
		transform 180ms ease,
		text-shadow 180ms ease;
}

#bannerVigilancia .wpb_text_column a:hover {
	color: #d83f83;
	transform: translateY(-1px);
	text-decoration: none;
}

@media screen and (max-width: 600px) {
	#bannerVigilancia .l-section-img {
		background-size: cover!important;
    	background-position: right!important;
		opacity: 44%!important;
	}
	#bannerVigilancia,
	#bannerVigilancia > .l-section-h,
	#bannerVigilancia .vc_col-sm-12,
	#bannerVigilancia .vc_column-inner,
	#bannerVigilancia .vc_column-inner > .wpb_wrapper {
		min-height: 250px;
	}

	#bannerVigilancia .wpb_text_column a {
		padding: 10px 16px;
		font-size: 28px;
		color: #FFF !important;
		border: solid 2px #000;
		margin-top: 70px;
		background-color: #000;
		text-shadow: none !important;
	}
}

#formTitle {
	font-size: clamp(25px, 3vw, 34px);
	line-height: 39px;
}