/* =====================================================================
   Winahost — hoja de estilos del tema (fase F0)
   Tokens de diseño replicados de winahost-react-web (tailwind + index.css)
   ===================================================================== */

:root {
	--wh-primary: #367e7f;
	--wh-accent: #a4dddd;
	--wh-vivid: #6fc5c6;
	--wh-dark: #265c5d;
	--wh-darkest: #1b4142;
	--wh-black: #141414;
	--wh-gray: #eaeaea;
	--wh-muted: #595959;
	--wh-slate-900: #0f172a;
	--wh-slate-800: #1e293b;
	--wh-radius: 0.75rem;
	--wh-card-shadow: 0 4px 20px -4px rgba(54, 126, 127, 0.08);
	--wh-card-shadow-hover: 0 8px 30px -4px rgba(54, 126, 127, 0.12);
}

body {
	font-family: 'Poppins', sans-serif;
	color: var(--wh-black);
	margin: 0;
}

/* ---------- utilidades ---------- */
.wh-primary-text { color: var(--wh-primary); }

.wh-gradient-text {
	background: linear-gradient(135deg, #a4dddd 0%, #367e7f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.wh-gradient-text-dark {
	background: linear-gradient(120deg, #141414 0%, #367e7f 50%, #6fc5c6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.wh-pill {
	display: table;
	margin: 2.5rem auto 0;
	padding: 0.75rem 1.5rem;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.95rem;
}
.wh-pill-accent { background: rgba(164, 221, 221, 0.25); color: var(--wh-dark); }
.wh-pill-primary { background: rgba(54, 126, 127, 0.1); color: var(--wh-primary); }
.wh-pill-success { background: var(--wh-vivid); color: #fff; margin-top: 0; margin-bottom: 1.25rem; }
.wh-pill-outline {
	background: linear-gradient(90deg, rgba(54, 126, 127, 0.08), rgba(164, 221, 221, 0.12));
	border: 1px solid rgba(54, 126, 127, 0.2);
	color: var(--wh-primary);
	margin-top: 0;
}
.wh-pill-gradient {
	background: linear-gradient(90deg, var(--wh-primary), var(--wh-accent));
	color: #fff;
	font-size: 0.85rem;
	padding: 0.5rem 1.1rem;
}

.wh-section-title {
	font-size: clamp(1.9rem, 4vw, 2.8rem);
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}
.wh-section-desc {
	color: var(--wh-muted);
	font-size: 1.15rem;
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.5rem;
}

/* ---------- formularios mock ---------- */
.wh-mock-form input,
.wh-mock-form select {
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	color: var(--wh-black);
	width: 100%;
	box-sizing: border-box;
}
.wh-demo-notice {
	margin-top: 0.9rem;
	padding: 0.6rem 1rem;
	background: rgba(164, 221, 221, 0.25);
	border: 1px solid var(--wh-vivid);
	border-radius: 0.75rem;
	color: var(--wh-dark);
	font-size: 0.85rem;
	text-align: center;
}

/* =====================================================================
   Cabecera
   ===================================================================== */
.wh-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.75);
	-webkit-backdrop-filter: blur(24px) saturate(1.5);
	backdrop-filter: blur(24px) saturate(1.5);
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	box-shadow: 0 8px 32px rgba(54, 126, 127, 0.08);
	padding: 0.65rem 2rem;
}
.wh-header-inner { width: 100%; }
.wh-header-logo img { height: 52px; width: auto; }
.wh-header-nav { gap: 0.25rem; }
.wh-nav-link { margin: 0; }
.wh-nav-link a {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-weight: 600;
	font-size: 1rem;
	color: var(--wh-black);
	text-decoration: none;
	border-radius: 0.5rem;
	white-space: nowrap;
	transition: color 0.3s, background 0.3s;
}
.wh-nav-link a:hover { color: var(--wh-primary); background: rgba(54, 126, 127, 0.05); }
.wh-lang { margin: 0; font-size: 0.9rem; color: var(--wh-black); white-space: nowrap; }
.wh-btn-contact .wp-block-button__link {
	padding: 0.6rem 1.25rem;
	font-size: 0.9rem;
	border-radius: 0.5rem;
}

body.admin-bar .wh-header { top: 32px; }

@media (max-width: 1023px) {
	.wh-header { padding: 0.5rem 1rem; }
	.wh-header-nav { display: none; }
	.wh-lang { display: none; }
	.wh-header-logo img { height: 40px; }
}

/* =====================================================================
   Hero
   ===================================================================== */
.wh-hero {
	position: relative;
	overflow: hidden;
	padding: 7.5rem 2rem 5rem;
	background:
		radial-gradient(ellipse 90% 55% at 50% 118%, rgba(0, 255, 204, 0.55) 0%, rgba(30, 191, 192, 0.5) 30%, rgba(111, 197, 198, 0.28) 55%, rgba(164, 221, 221, 0.1) 75%, transparent 100%),
		linear-gradient(180deg, #ffffff 0%, #ffffff 55%, rgba(164, 221, 221, 0.18) 100%);
}
.wh-hero::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46%;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 400' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%231EBFC0'/%3E%3Cstop offset='0.5' stop-color='%235EFFD4'/%3E%3Cstop offset='1' stop-color='%231EBFC0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g2' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%2300F5F0'/%3E%3Cstop offset='1' stop-color='%232DFFE0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g1)' opacity='0.55' d='M0,120 C320,220 420,70 720,120 C1020,170 1120,20 1440,120 L1440,400 L0,400 Z'/%3E%3Cpath fill='url(%23g2)' opacity='0.45' d='M0,190 C360,90 480,240 840,190 C1200,140 1320,290 1440,240 L1440,400 L0,400 Z'/%3E%3Cpath fill='%23A0FFEB' opacity='0.35' d='M0,250 C280,200 560,300 840,250 C1120,200 1280,330 1440,280 L1440,400 L0,400 Z'/%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.wh-hero > * { position: relative; z-index: 1; }
.wh-hero-cols { gap: 2.5rem; }
.wh-hero-title {
	font-size: clamp(2.1rem, 4.5vw, 3.1rem);
	line-height: 1.15;
	margin-bottom: 1.25rem;
}
.wh-hero-sub {
	font-size: 1.15rem;
	color: var(--wh-muted);
	max-width: 36rem;
	margin: 0 auto 1.75rem;
	line-height: 1.6;
}
.wh-hero-highlight { color: var(--wh-primary); display: inline-block; margin-top: 0.5rem; }

/* tarjeta glass del formulario */
.wh-lead-card {
	background: rgba(255, 255, 255, 0.45);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: 1.5rem;
	padding: 1.75rem 1.75rem 1.5rem;
	box-shadow: 0 25px 50px -12px rgba(54, 126, 127, 0.2);
	max-width: 640px;
	margin: 0 auto;
}
.wh-lead-title { font-size: 1.25rem; margin: 0 0 0.4rem; }
.wh-lead-sub { color: var(--wh-muted); font-size: 0.95rem; margin: 0 0 1.4rem; }
.wh-lead-form .wh-input-wrap { position: relative; margin-bottom: 1.1rem; }
.wh-input-icon {
	position: absolute;
	left: 0.8rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.1rem;
	height: 2.1rem;
	background: rgba(54, 126, 127, 0.1);
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
}
.wh-lead-form input {
	height: 3rem;
	padding-left: 3.4rem;
	background: rgba(255, 255, 255, 0.4);
	border: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: 1rem;
	outline: none;
	transition: border-color 0.3s;
}
.wh-lead-form input::placeholder { color: rgba(89, 89, 89, 0.7); }
.wh-lead-form input:focus { border-color: var(--wh-primary); }
.wh-input-phone .wh-phone-prefix {
	position: absolute;
	left: 3.4rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.9rem;
	color: var(--wh-muted);
	white-space: nowrap;
}
.wh-lead-form .wh-input-phone input { padding-left: 7rem; }
.wh-mock-submit {
	width: 100%;
	height: 3rem;
	border: none;
	border-radius: 1rem;
	background: linear-gradient(135deg, var(--wh-primary) 0%, var(--wh-dark) 100%);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
	transition: transform 0.3s, box-shadow 0.3s;
}
.wh-mock-submit:hover { transform: scale(1.02); box-shadow: 0 12px 30px rgba(54, 126, 127, 0.35); }
.wh-lead-badge {
	display: table;
	margin: 1.25rem auto 0;
	padding: 0.45rem 0.9rem;
	background: rgba(54, 126, 127, 0.1);
	border: 2px solid rgba(54, 126, 127, 0.2);
	border-radius: 9999px;
	color: var(--wh-primary);
	font-size: 0.75rem;
	font-weight: 600;
}

/* columna derecha del hero */
.wh-kpi-row { gap: 1rem; margin: 0.75rem 0; }
.wh-kpi-card {
	margin: 0;
	padding: 0.7rem 1rem;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(54, 126, 127, 0.15);
	border-radius: var(--wh-radius);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
	font-size: 0.65rem;
	color: var(--wh-muted);
	line-height: 1.3;
}
.wh-kpi-card strong { font-size: 1rem; color: var(--wh-black); }
.wh-hero-imagewrap { position: relative; margin: 0.5rem 0; }
.wh-hero-image { margin: 0; }
.wh-hero-image img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 1rem;
	opacity: 0.4;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.wh-float-card {
	position: absolute;
	margin: 0;
	padding: 0.9rem 1.1rem;
	background: rgba(255, 255, 255, 0.95);
	border: 2px solid rgba(54, 126, 127, 0.2);
	border-radius: var(--wh-radius);
	box-shadow: 0 10px 25px rgba(54, 126, 127, 0.12);
	font-size: 0.75rem;
	color: var(--wh-muted);
	line-height: 1.35;
}
.wh-float-card strong { font-size: 1.35rem; color: var(--wh-black); }
.wh-float-1 { top: 2rem; right: 2rem; }
.wh-float-2 { top: 10rem; left: 2rem; }
.wh-float-3 { bottom: 4rem; right: 4rem; }
.wh-scroll-indicator { margin-top: 2rem; }
.wh-scroll-indicator a {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	background: rgba(54, 126, 127, 0.1);
	border-radius: 9999px;
	color: var(--wh-primary);
	font-size: 1.5rem;
	text-decoration: none;
	animation: wh-bounce 1.5s infinite;
}
@keyframes wh-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

@media (max-width: 781px) {
	.wh-hero { padding: 6rem 1rem 3.5rem; }
	.wh-hero-right { display: none; }
}

/* =====================================================================
   Calculadora (mock)
   ===================================================================== */
.wh-calculator {
	padding: 4.5rem 2rem;
	background: linear-gradient(135deg, rgba(164, 221, 221, 0.12) 0%, #ffffff 30%, rgba(164, 221, 221, 0.06) 100%);
}
.wh-calc-title {
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	margin-bottom: 3rem;
}
.wh-calc-cols { gap: 3.5rem; }
.wh-calc-subtitle { font-size: 1.6rem; margin-bottom: 1.25rem; }
.wh-calc-desc { color: var(--wh-muted); font-size: 1.05rem; line-height: 1.65; margin-bottom: 2rem; }
.wh-calc-features { margin-bottom: 2rem; }
.wh-calc-feature { color: var(--wh-dark); font-size: 0.9rem; }
.wh-calc-feature strong { font-size: 1.25rem; }
.wh-calc-metrics-title { font-size: 1.15rem; margin-bottom: 1.5rem; }
.wh-metric-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 2.25rem;
}
.wh-metric-chip {
	margin: 0;
	padding: 1rem;
	border-radius: 0.6rem;
	border: 1px solid rgba(164, 221, 221, 0.5);
	background: linear-gradient(135deg, rgba(164, 221, 221, 0.1), rgba(164, 221, 221, 0.25));
	color: var(--wh-dark);
	font-weight: 600;
	font-size: 0.9rem;
}
.wh-highlight-box {
	background: #fff;
	border-left: 4px solid var(--wh-vivid);
	border-radius: 0 0.75rem 0.75rem 0;
	box-shadow: 0 4px 12px -2px rgba(111, 197, 198, 0.15);
	padding: 1.4rem;
	color: var(--wh-vivid);
	font-weight: 600;
	font-size: 1.1rem;
}

/* widget oscuro */
.wh-widget {
	background: linear-gradient(135deg, rgba(15, 23, 42, 0.97) 0%, rgba(30, 41, 59, 0.94) 50%, rgba(15, 23, 42, 0.97) 100%);
	border: 1px solid rgba(54, 126, 127, 0.25);
	border-radius: 1.75rem;
	padding: 2.5rem;
	box-shadow: 0 25px 60px -10px rgba(54, 126, 127, 0.3);
}
.wh-widget-header { margin-bottom: 2rem; }
.wh-widget-brand { gap: 1rem; }
.wh-widget-logo { margin: 0; }
.wh-widget-logo img {
	width: 3.4rem;
	height: 3.4rem;
	object-fit: contain;
	background: var(--wh-primary);
	border-radius: 9999px;
	padding: 0.5rem;
	box-sizing: border-box;
}
.wh-widget-title { margin: 0; color: #fff; font-size: 1.25rem; line-height: 1.3; }
.wh-widget-subtitle { color: var(--wh-accent); font-size: 0.85rem; font-weight: 600; }
.wh-widget-dots { margin: 0; display: flex; gap: 0.5rem; }
.wh-dot { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 9999px; }
.wh-dot-gray { background: #9ca3af; }
.wh-dot-accent { background: var(--wh-accent); }
.wh-dot-primary { background: var(--wh-primary); }

.wh-widget-form .wh-widget-label {
	display: block;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	margin-bottom: 0.9rem;
}
.wh-widget-input {
	background: rgba(30, 41, 59, 0.5);
	border: 1px solid rgba(54, 126, 127, 0.3);
	border-radius: 0.75rem;
	color: #fff !important;
	padding: 1rem;
	font-size: 1.05rem;
	outline: none;
	margin-bottom: 1.5rem;
}
.wh-widget-input::placeholder { color: #9ca3af; }
.wh-widget-input:focus { border-color: var(--wh-primary); }
.wh-widget-specs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-bottom: 1.75rem;
}
.wh-widget-spec {
	background: rgba(30, 41, 59, 0.4);
	border: 1px solid rgba(51, 65, 85, 0.5);
	border-radius: 0.75rem;
	padding: 1.25rem 1rem;
	text-align: center;
}
.wh-widget-spec span {
	display: block;
	color: #d1d5db;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0.75rem;
}
.wh-widget-spec select {
	background: transparent;
	border: none;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 1.75rem;
	text-align: center;
	width: auto;
	cursor: pointer;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.wh-widget-spec select option { color: #141414; }
.wh-widget-submit {
	width: 100%;
	border: none;
	border-radius: 0.75rem;
	padding: 1.4rem;
	background: linear-gradient(90deg, var(--wh-accent) 0%, var(--wh-primary) 100%);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	cursor: pointer;
	transition: transform 0.3s, box-shadow 0.3s;
}
.wh-widget-submit:hover { transform: scale(1.02); box-shadow: 0 12px 30px rgba(54, 126, 127, 0.4); }

@media (max-width: 781px) {
	.wh-calculator { padding: 3rem 1rem; }
	.wh-widget { padding: 1.5rem; }
	.wh-widget-specs { grid-template-columns: 1fr; }
	.wh-metric-grid { grid-template-columns: 1fr 1fr; }
}

/* =====================================================================
   Logos OTAs
   ===================================================================== */
.wh-sponsors { padding: 2rem 1rem 2.5rem; background: #fff; }
.wh-sponsors-row { gap: 3rem; }
.wh-sponsor-logo { margin: 0; }
.wh-sponsor-logo img { height: 44px; width: auto; object-fit: contain; }

/* =====================================================================
   Servicios
   ===================================================================== */
.wh-services { padding: 4.5rem 2rem; background: #fff; }
.wh-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.wh-service-card {
	background: #fff;
	border: 1px solid rgba(234, 234, 234, 0.7);
	border-radius: 0.9rem;
	padding: 1.5rem;
	box-shadow: var(--wh-card-shadow);
	transition: transform 0.3s, box-shadow 0.3s;
}
.wh-service-card:hover { transform: translateY(-6px); box-shadow: var(--wh-card-shadow-hover); }
.wh-service-icon {
	margin: 0 0 1rem;
	font-size: 1.6rem;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(164, 221, 221, 0.25);
	border-radius: 9999px;
	color: var(--wh-primary);
}
.wh-service-title { font-size: 1.1rem; font-weight: 600; margin: 0 0 0.7rem; line-height: 1.35; }
.wh-service-desc { color: var(--wh-muted); font-size: 0.92rem; line-height: 1.55; margin: 0; }

@media (max-width: 1023px) {
	.wh-services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
	.wh-services { padding: 3rem 1rem; }
	.wh-services-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* =====================================================================
   Tecnología / App
   ===================================================================== */
.wh-technology { padding: 4.5rem 2rem; background: rgba(234, 234, 234, 0.3); }
.wh-tech-image img { max-width: 75%; border-radius: 0.75rem; }
.wh-tech-title { font-size: clamp(1.8rem, 3.5vw, 2.4rem); margin-bottom: 1.4rem; }
.wh-tech-desc { color: var(--wh-muted); font-size: 1.05rem; line-height: 1.65; margin-bottom: 2rem; }
.wh-stat { color: var(--wh-muted); font-size: 0.85rem; }
.wh-stat-number { display: inline-block; color: var(--wh-primary); font-size: 1.75rem; font-weight: 700; }

/* =====================================================================
   Rejilla de ventajas
   ===================================================================== */
.wh-features {
	padding: 4.5rem 2rem;
	background: linear-gradient(135deg, rgba(164, 221, 221, 0.25) 0%, rgba(234, 234, 234, 0.4) 100%);
}
.wh-features-top, .wh-features-bottom { gap: 2rem; }
.wh-features-bottom { margin-top: 2rem; }
.wh-feature-card {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--wh-gray);
	border-radius: 1rem;
	padding: 1.75rem;
	box-shadow: var(--wh-card-shadow);
	margin-bottom: 1.5rem;
	height: auto;
}
.wh-feature-main { padding: 2rem; }
.wh-feature-bigicon { font-size: 4.5rem; margin: 0 0 1rem; text-align: center; }
.wh-feature-title { font-size: 1.5rem; margin: 0 0 1rem; }
.wh-feature-title-sm { font-size: 1.15rem; margin: 0 0 0.7rem; }
.wh-feature-desc { color: var(--wh-muted); line-height: 1.6; margin-bottom: 1.5rem; }
.wh-feature-desc-sm { color: var(--wh-muted); font-size: 0.92rem; line-height: 1.55; margin-bottom: 1rem; }
.wh-feature-tags { margin: 0; }
.wh-tag {
	display: inline-block;
	background: rgba(54, 126, 127, 0.15);
	border: 1px solid rgba(54, 126, 127, 0.3);
	color: var(--wh-primary);
	border-radius: 9999px;
	padding: 0.45rem 1rem;
	font-size: 0.85rem;
	font-weight: 500;
	margin: 0.2rem 0.15rem;
}
.wh-check-list { list-style: none; padding-left: 0; margin: 0; color: var(--wh-muted); font-size: 0.9rem; }
.wh-check-list li { padding-left: 1.6rem; position: relative; margin-bottom: 0.45rem; }
.wh-check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--wh-vivid); font-weight: 700; }
.wh-feature-metrics { margin: 0; }
.wh-feature-minis { color: var(--wh-muted); font-size: 0.9rem; line-height: 2; margin: 0; }

/* =====================================================================
   Medios
   ===================================================================== */
.wh-media { padding: 4.5rem 2rem 3.5rem; background: #fff; }
.wh-media-title { font-size: clamp(1.7rem, 3.5vw, 2.3rem); }
.wh-media-row { gap: 3rem; }
.wh-media-logo { margin: 0; }
.wh-media-logo img {
	height: 56px;
	width: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.85;
	transition: filter 0.3s, opacity 0.3s;
}
.wh-media-logo img:hover { filter: grayscale(0); opacity: 1; }

/* =====================================================================
   Testimonios
   ===================================================================== */
.wh-testimonials {
	padding: 4rem 2rem;
	background: linear-gradient(135deg, rgba(54, 126, 127, 0.05) 0%, rgba(111, 197, 198, 0.05) 100%);
}
.wh-testimonial-cols { gap: 2rem; }
.wh-testimonial-card {
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(234, 234, 234, 0.6);
	border-radius: 0.9rem;
	padding: 2rem;
	box-shadow: var(--wh-card-shadow);
	height: 100%;
	transition: transform 0.3s, box-shadow 0.3s;
}
.wh-testimonial-card:hover { transform: translateY(-4px); box-shadow: var(--wh-card-shadow-hover); }
.wh-stars { color: var(--wh-primary); font-size: 1.25rem; letter-spacing: 0.2rem; margin: 0 0 1rem; }
.wh-testimonial-text { color: var(--wh-black); line-height: 1.6; margin-bottom: 1.5rem; }
.wh-testimonial-author { margin: 0; color: var(--wh-muted); font-size: 0.9rem; }
.wh-testimonial-author strong { color: var(--wh-black); font-size: 1rem; }

/* =====================================================================
   Contacto final
   ===================================================================== */
.wh-contact {
	padding: 4rem 2rem;
	background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.95) 60%, rgba(234, 234, 234, 0.35) 100%);
}
.wh-contact-title {
	background: linear-gradient(90deg, #141414 0%, #367e7f 50%, #141414 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	margin-top: 1.5rem;
}
.wh-contact-cols { gap: 3rem; margin-top: 2.5rem; }
.wh-contact-stats { gap: 1rem; margin-bottom: 1.5rem; }
.wh-stat-card {
	margin: 0;
	background: linear-gradient(135deg, rgba(54, 126, 127, 0.05), rgba(54, 126, 127, 0.1));
	border: 1px solid rgba(54, 126, 127, 0.2);
	border-radius: 0.9rem;
	padding: 1.5rem;
	color: var(--wh-muted);
	font-size: 0.85rem;
}
.wh-stat-card .wh-stat-number { font-size: 1.85rem; }
.wh-trust-badge {
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid rgba(234, 234, 234, 0.5);
	border-radius: 1rem;
	padding: 1rem 1.25rem;
	margin: 0 0 1rem;
	color: var(--wh-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}
.wh-trust-badge strong { color: var(--wh-black); font-size: 1rem; }
.wh-contact-formcard {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.8));
	border-radius: 1.5rem;
	padding: 2rem;
	box-shadow: 0 20px 50px rgba(54, 126, 127, 0.15);
	height: 100%;
}
.wh-contact-form-title {
	font-size: 1.6rem;
	background: linear-gradient(90deg, #141414, #367e7f);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	margin-bottom: 1.5rem;
}
.wh-contact-form label {
	display: block;
	font-size: 0.88rem;
	font-weight: 600;
	margin-bottom: 0.6rem;
	color: var(--wh-black);
}
.wh-contact-form input {
	height: 3.6rem;
	background: rgba(255, 255, 255, 0.8);
	border: 2px solid rgba(234, 234, 234, 0.7);
	border-radius: 1rem;
	padding: 0 1.4rem;
	font-size: 1.05rem;
	outline: none;
	margin-bottom: 1.25rem;
	transition: border-color 0.3s;
}
.wh-contact-form input:focus { border-color: var(--wh-primary); }
.wh-contact-form .wh-input-phone { position: relative; }
.wh-contact-form .wh-input-phone .wh-phone-prefix {
	position: absolute;
	left: 1.2rem;
	top: 1.05rem;
	transform: none;
	font-size: 0.95rem;
	color: var(--wh-muted);
}
.wh-contact-form .wh-input-phone input { padding-left: 5.8rem; }
.wh-contact-cta { text-align: center; margin-top: 2.5rem; }
.wh-cta-button {
	border: none;
	border-radius: 1rem;
	padding: 1.5rem 4rem;
	background: linear-gradient(90deg, var(--wh-primary) 0%, rgba(54, 126, 127, 0.9) 55%, var(--wh-accent) 100%);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	cursor: pointer;
	transition: transform 0.4s, box-shadow 0.4s;
}
.wh-cta-button:hover { transform: scale(1.02); box-shadow: 0 20px 45px rgba(54, 126, 127, 0.3); }
.wh-contact-badges { margin-top: 1.5rem; }
.wh-badge-outline {
	display: inline-block;
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid rgba(234, 234, 234, 0.6);
	border-radius: 9999px;
	padding: 0.5rem 1.1rem;
	font-size: 0.85rem;
	color: var(--wh-muted);
	margin: 0.25rem;
}

/* =====================================================================
   Footer
   ===================================================================== */
.wh-footer { padding: 3rem 2rem 2.5rem; }
.wh-footer-cols { gap: 3rem; }
.wh-footer-logo img { height: 76px; width: auto; }
.wh-footer-desc { font-weight: 300; font-size: 1.1rem; line-height: 1.6; }
.wh-footer-social a {
	display: inline-flex;
	width: 2.5rem;
	height: 2.5rem;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 0.5rem;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	margin-right: 0.75rem;
	transition: background 0.3s, transform 0.3s;
}
.wh-footer-social a:hover { background: var(--wh-accent); color: var(--wh-black); transform: scale(1.1); }
.wh-footer-title { color: #fff; font-size: 1.25rem; font-weight: 600; margin-bottom: 1.25rem; }
.wh-footer-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.7rem 1.5rem;
}
.wh-footer-links p { margin: 0; }
.wh-footer-links a { color: rgba(255, 255, 255, 0.9); font-weight: 300; text-decoration: none; transition: color 0.3s; }
.wh-footer-links a:hover { color: var(--wh-accent); }
.wh-btn-whatsapp .wp-block-button__link {
	width: 100%;
	background: var(--wh-accent);
	color: var(--wh-black);
	border-radius: 9999px;
	font-weight: 500;
	text-align: center;
}
.wh-btn-whatsapp { width: 100%; }
.wh-footer .wp-block-buttons { margin-bottom: 1.25rem; }
.wh-footer-contact-line { font-weight: 300; margin: 0 0 0.9rem; }
.wh-footer-bottom { background: #fff; padding: 0.75rem 1rem 0.9rem; }
.wh-footer-sponsors { margin: 0 auto 0.4rem; }
.wh-footer-sponsors img { max-height: 64px; width: auto; }
.wh-footer-copy { color: rgba(20, 20, 20, 0.7); font-size: 0.85rem; font-weight: 300; margin: 0; }

@media (max-width: 781px) {
	.wh-footer { padding: 2.5rem 1.25rem 2rem; }
	.wh-footer-cols { gap: 1.5rem; }
}

/* =====================================================================
   Ajustes del editor (Gutenberg)
   ===================================================================== */
.editor-styles-wrapper .wh-header { position: static; }
.editor-styles-wrapper .wh-hero-right { display: block; }
