.entry-date {
	display: none;
}

,
.posted-on {
	display: none;
}

,
.meta-date {
	display: none;
}

,
.date {
	display: none;
}

,
.time {
	display: none;
/* Glow neón rojo en toda la web */
	text-shadow: 0 0 2px #ff2d55, 0 0 6px rgba(255, 45, 85, .7) !important;
}

h1, h2, h3, h4, h5, h6 {
/***********************
   LOTTA — NEON (limpio)
***********************/
}

/* ===== Enlaces ===== */
a {
	color: #ff2d55 !important;
	text-decoration: none;
	text-shadow: 0 0 4px #ff2d55, 0 0 12px rgba(255,45,85,.8) !important;
}

a:hover {
	text-shadow: 0 0 6px #ff2d55, 0 0 16px #ff2d55, 0 0 32px rgba(255,95,160,1), 0 0 64px rgba(255,143,208,1) !important;
}

/* ===== Botones (Gutenberg + nativos) ===== */
button,
.wp-block-button .wp-block-button__link,
a.wp-element-button,
input[type="submit"],
input[type="button"] {
	background: rgba(0,0,0,.2) !important;
	color: #ff2d55 !important;
	border: 2px solid #ff2d55 !important;
	border-radius: 12px !important;
	box-shadow: 0 0 6px #ff2d55, 0 0 16px #ff2d55, inset 0 0 8px rgba(255,45,85,.8) !important;
	transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

button:hover,
.wp-block-button .wp-block-button__link:hover,
a.wp-element-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
	transform: translateY(-2px);
	background: rgba(255,45,85,.1) !important;
	box-shadow: 0 0 12px #ff2d55, 0 0 24px #ff2d55, inset 0 0 12px rgba(255,45,85,1) !important;
}

/* ===== Glow ROJO solo a texto rojo ===== */
h1, h2, h3, h4, h5, h6,
a, strong, b,
.has-text-color[style*="color:#ff2d55"],
.has-text-color[style*="color: rgb(255, 45, 85)"] {
	color: #ff2d55 !important;
	text-shadow: 0 0 4px #ff2d55, 0 0 12px rgba(255,45,85,.8), 0 0 24px rgba(255,95,160,.6) !important;
}

/* ===== Glow BLANCO solo a texto blanco ===== */
p, li, span, small, blockquote, figcaption,
.has-text-color[style*="color:#ffffff"],
.has-text-color[style*="color: rgb(255, 255, 255)"] {
	color: #ffffff !important;
	text-shadow: 0 0 4px #ffffff, 0 0 12px rgba(255,255,255,.6), 0 0 24px rgba(255,255,255,.35) !important;
}

/* ===== Separador con glow y respiro ===== */
.wp-block-separator {
	border: 0 !important;
	height: 2px !important;
	background: var(--neon) !important;
	filter: drop-shadow(0 0 6px var(--neon)) drop-shadow(0 0 20px rgba(255,45,85,.7)) !important;
	opacity: 1 !important;
	margin: 32px auto !important;
}

/* ===== Imagen en CÍRCULO con aro + halo =====
   1) En el bloque de imagen pon la clase:  neon-circle
   2) Quita el estilo “Redondeada” (déjalo por defecto) */
figure.wp-block-image.neon-circle {
	position: relative !important;
	overflow: visible !important;
	aspect-ratio: 1 / 1 !important;
/* cuadrado perfecto */
	width: 100% !important;
	max-width: 560px;
	margin: 48px auto !important;
	border-radius: 50% !important;
}

/* Si WordPress envuelve con  o , abrimos también */
figure.wp-block-image.neon-circle > a,
figure.wp-block-image.neon-circle > picture {
	display: block !important;
	position: relative !important;
	border-radius: 50% !important;
	overflow: visible !important;
	z-index: 1;
}

/* La imagen recortada a círculo con aura real (drop-shadow no se corta) */
figure.wp-block-image.neon-circle img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	display: block !important;
	position: relative;
	z-index: 1;
	filter: drop-shadow(0 0 8px var(--neon)) drop-shadow(0 0 22px rgba(255,45,85,.75)) drop-shadow(0 0 40px rgba(255,95,160,.5)) !important;
}

/* Aro nítido pegado al borde (encima de la imagen) */
figure.wp-block-image.neon-circle::before {
	content: "";
	position: absolute;
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--neon), 0 0 12px var(--neon), 0 0 28px rgba(255,45,85,.65), inset 0 0 8px rgba(255,45,85,.35) !important;
	pointer-events: none;
	z-index: 2;
}

/* Halo exterior detrás */
figure.wp-block-image.neon-circle::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle,
    rgba(255,45,85,.22) 0%,
    rgba(255,45,85,.12) 50%,
    transparent 70%);
	filter: blur(6px);
	z-index: 0;
	pointer-events: none;
}

/* Círculo: glow equilibrado */
figure.wp-block-image.neon-circle {
	filter: drop-shadow(0 0 6px #ff2d55) drop-shadow(0 0 14px rgba(255,45,85,.55)) !important;
}

figure.wp-block-image.neon-circle::before {
	box-shadow: 0 0 0 2px #ff2d55, 0 0 10px #ff2d55, 0 0 20px rgba(255,45,85,.55), inset 0 0 6px rgba(255,45,85,.35) !important;
}

figure.wp-block-image.neon-circle::after {
	filter: blur(6px);
	opacity: .55;
}

/* SEPARADOR NEÓN */
hr.wp-block-separator {
	border: none !important;
	height: 2px !important;
	background: #ff2d55 !important;
	box-shadow: 0 0 6px #ff2d55, 0 0 16px rgba(255,45,85,.8), 0 0 32px rgba(255,95,160,.6) !important;
	margin: 40px auto !important;
	max-width: 90%;
/* ajusta el ancho del separador */
}

/* HOVER en el círculo */
figure.wp-block-image.neon-circle:hover img {
	filter: drop-shadow(0 0 12px var(--neon)) drop-shadow(0 0 28px rgba(255,45,85,.9)) drop-shadow(0 0 48px rgba(255,95,160,.8)) !important;
	transition: filter .3s ease;
}

/* --- Hover más sutil --- */
figure.wp-block-image.neon-circle:hover,
figure.wp-block-image.neon-circle:hover img,
figure.wp-block-image.neon-circle:hover > a img,
figure.wp-block-image.neon-circle:hover > picture img {
	filter: drop-shadow(0 0 6px #ff2d55) drop-shadow(0 0 16px rgba(255,45,85,.6)) drop-shadow(0 0 28px rgba(255,95,160,.4)) !important;
}

figure.wp-block-image.neon-circle:hover::before {
	box-shadow: 0 0 0 2px #ff2d55, 0 0 10px #ff2d55, 0 0 20px rgba(255,45,85,.55), inset 0 0 8px rgba(255,45,85,.3) !important;
}

figure.wp-block-image.neon-circle:hover::after {
	filter: blur(8px);
	opacity: .75;
}

/* =========================
   RESPONSIVE / MÓVIL
   ========================= */
/* 1) Teléfonos y pantallas pequeñas */
@media (max-width: 780px) {
	/* Círculo: más pequeño y glow más suave */
	figure.wp-block-image.neon-circle {
		max-width: 86vw;
	/* tamaño del círculo en móvil */
		margin: 28px auto !important;
		filter: drop-shadow(0 0 5px #ff2d55) drop-shadow(0 0 12px rgba(255,45,85,.45)) !important;
	}
	
	figure.wp-block-image.neon-circle::before {
		box-shadow: 0 0 0 1.5px #ff2d55, 0 0 8px #ff2d55, 0 0 16px rgba(255,45,85,.45), inset 0 0 5px rgba(255,45,85,.25) !important;
	}
	
	figure.wp-block-image.neon-circle::after {
		filter: blur(6px);
		opacity: .5;
	}
	
	/* Quitamos “hover” en pantallas táctiles (no existe y puede fijarse) */
	figure.wp-block-image.neon-circle:hover,
							  figure.wp-block-image.neon-circle:hover img,
							  figure.wp-block-image.neon-circle:hover::before,
							  figure.wp-block-image.neon-circle:hover::after {
		filter: none;
		box-shadow: none;
		opacity: 1;
	}
	
	/* Títulos y textos: legibles y con glow suave */
	h1 {
		font-size: clamp(28px, 8vw, 44px);
	}
	
	h2 {
		font-size: clamp(22px, 6.5vw, 34px);
	}
	
	h3 {
		font-size: clamp(18px, 5.5vw, 28px);
	}
	
	/* Párrafos con menos brillo para no cansar */
	p, li, span, small {
		text-shadow: 0 0 1px rgba(255,45,85,.15), 0 0 4px rgba(255,45,85,.12) !important;
		line-height: 1.6;
	}
	
	/* Botones: cómodos para el pulgar */
	.wp-block-buttons {
		gap: 12px;
	}
	
	.wp-block-button .wp-block-button__link,
							  a.wp-element-button,
							  button {
		padding: 12px 16px !important;
		box-shadow: 0 0 4px #ff2d55, inset 0 0 6px rgba(255,45,85,.6) !important;
	}
	
	/* Separador visible en móvil */
	.wp-block-separator,
							  hr.wp-block-separator {
		width: 88vw !important;
		margin: 24px auto !important;
		filter: drop-shadow(0 0 4px #ff2d55) drop-shadow(0 0 12px rgba(255,45,85,.6)) !important;
	}
}

/* 2) Preferencia de menos animación (accesibilidad) */
@media (prefers-reduced-motion: reduce) {
	figure.wp-block-image.neon-circle,
							  figure.wp-block-image.neon-circle img {
		transition: none !important;
	}
}

/* 3) Evitar “hover” en dispositivos táctiles incluso en pantallas grandes */
@media (hover: none) {
	figure.wp-block-image.neon-circle:hover,
							  figure.wp-block-image.neon-circle:hover img,
							  figure.wp-block-image.neon-circle:hover::before,
							  figure.wp-block-image.neon-circle:hover::after {
		filter: none !important;
		box-shadow: none !important;
		opacity: 1 !important;
	}
}

/* ---- Evitar guiones y cortes raros en móvil ---- */
html, body, p, h1, h2, h3, h4, h5, h6,
.wp-block-button .wp-block-button__link,
a.wp-element-button {
	-webkit-hyphens: none !important;
	-ms-hyphens: none !important;
	hyphens: none !important;
	word-break: keep-all !important;
/* no romper dentro de palabras */
	overflow-wrap: normal !important;
/* solo salta por espacios */
	white-space: normal !important;
}

/* Botones: permitir salto por palabra (no partir letras) */
.wp-block-button .wp-block-button__link,
a.wp-element-button {
	white-space: normal !important;
/* puede pasar a 2 líneas si hace falta */
}

/* Ajustes de tamaño en botones/títulos para móvil */
@media (max-width: 480px) {
	.wp-block-button .wp-block-button__link,
							  a.wp-element-button {
		font-size: clamp(12px, 3.5vw, 16px) !important;
		letter-spacing: .5px;
		padding: 10px 14px !important;
	}
	
	h1 {
		font-size: clamp(26px, 8vw, 42px);
	}
	
	h2 {
		font-size: clamp(20px, 6.2vw, 32px);
	}
}

.app-slider {
	width: 100%;
	overflow: hidden;
	padding: 28px 0;
	background: transparent;
	mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.app-track {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 34px;
	width: max-content;
	animation: app-slide 22s linear infinite;
}

.app-icon-box {
	width: 58px;
	height: 58px;
	min-width: 58px;
	border-radius: 16px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.10);
	box-shadow: 0 0 18px rgba(255, 0, 140, 0.18), 0 0 30px rgba(130, 80, 255, 0.12);
	transition: transform .3s ease, box-shadow .3s ease;
}

.app-icon-box img {
	width: 30px !important;
	height: 30px !important;
	max-width: 30px !important;
	object-fit: contain;
	filter: invert(1);
	opacity: .9;
}

.app-icon-box:hover {
	transform: translateY(-4px) scale(1.08);
	box-shadow: 0 0 24px rgba(255, 0, 140, 0.38), 0 0 45px rgba(130, 80, 255, 0.28);
}

@keyframes app-slide {
	from {
		transform: translateX(0);
	}
	
	to {
		transform: translateX(-50%);
	}
}

.stats-section {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	text-align: center;
	padding: 80px 20px;
}

.stat-box {
	color: white;
}

.stat-icon {
	font-size: 28px;
	margin-bottom: 14px;
	color: #ffffff;
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.45);
	opacity: .95;
}

.stat-box h3 {
	font-size: 46px;
	font-weight: 800;
	margin: 0;
	color: #ffffff;
	text-shadow: 0 0 18px rgba(255, 255, 255, 0.35);
}

.stat-box p {
	margin-top: 8px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.55);
}

/* Responsive móvil */
@media (max-width: 768px) {
	.stats-section {
		grid-template-columns: repeat(2, 1fr);
		gap: 35px 20px;
		padding: 60px 20px;
	}
	
	.stat-box h3 {
		font-size: 36px;
	}
	
	.stat-box p {
		font-size: 15px;
	}
}

.lv-features {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 26px;
	max-width: 1300px;
	margin: 0 auto;
	padding: 40px 20px;
}

.lv-card {
	background: #030303;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 20px;
	padding: 34px 34px 28px;
	min-height: 150px;
	transition: all .3s ease;
}

.lv-card:hover {
	border-color: rgba(255, 0, 70, 0.45);
	box-shadow: 0 0 28px rgba(255, 0, 70, 0.16);
	transform: translateY(-3px);
}

.lv-icon {
	position: relative;
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 24px;
	color: #ff004c;
	filter: drop-shadow(0 0 9px rgba(255, 0, 76, 0.8));
}

/* RELOJ */
.lv-icon-clock {
	border: 3px solid #ff004c;
	border-radius: 50%;
}

.lv-icon-clock::before {
	content: "";
	position: absolute;
	width: 3px;
	height: 9px;
	background: #ff004c;
	left: 14px;
	top: 7px;
	border-radius: 20px;
}

.lv-icon-clock::after {
	content: "";
	position: absolute;
	width: 9px;
	height: 3px;
	background: #ff004c;
	left: 14px;
	top: 15px;
	border-radius: 20px;
}

/* PERSONAS MÁS MINIMAL */
.lv-icon-users::before {
	content: "";
	position: absolute;
	width: 11px;
	height: 11px;
	border: 3px solid #ff004c;
	border-radius: 50%;
	left: 2px;
	top: 3px;
	box-shadow: 14px 0 0 -1px #030303, 14px 0 0 2px #ff004c;
}

.lv-icon-users::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 11px;
	border: 3px solid #ff004c;
	border-bottom: none;
	border-radius: 18px 18px 0 0;
	left: -1px;
	top: 21px;
	box-shadow: 14px 0 0 -1px #030303, 14px 0 0 2px #ff004c;
}

/* SPARK / RESULTADOS CREATIVOS */
.lv-icon-spark::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	left: 2px;
	top: 2px;
	background: #ff004c;
	clip-path: polygon(50% 0%,
    60% 35%,
    100% 50%,
    60% 65%,
    50% 100%,
    40% 65%,
    0% 50%,
    40% 35%);
}

.lv-icon-spark::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	right: -4px;
	top: -3px;
	background: #ff004c;
	clip-path: polygon(50% 0%,
    60% 35%,
    100% 50%,
    60% 65%,
    50% 100%,
    40% 65%,
    0% 50%,
    40% 35%);
	opacity: .85;
}

/* RAYO */
.lv-icon-bolt {
	background: #ff004c;
	clip-path: polygon(58% 0, 18% 54%, 47% 54%, 36% 100%, 83% 40%, 53% 40%);
}

/* TEXTOS */
.lv-card h3 {
	color: #ff004c;
	font-size: 22px;
	font-weight: 800;
	margin: 0 0 8px;
	text-shadow: 0 0 12px rgba(255, 0, 76, 0.8);
}

.lv-card p {
	color: #ffffff;
	font-size: 18px;
	line-height: 1.4;
	margin: 0;
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.65);
}

/* MÓVIL */
@media (max-width: 700px) {
	.lv-features {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 30px 16px;
	}
	
	.lv-card {
		padding: 28px 26px 24px;
	}
}

.portfolio-pill-wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 35px;
}

.portfolio-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 24px;
	border-radius: 999px;
	color: #ff2b55;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	background: rgba(255, 43, 85, 0.08);
	border: 1px solid rgba(255, 43, 85, 0.35);
	box-shadow: 0 0 18px rgba(255, 43, 85, 0.15), inset 0 0 12px rgba(255, 43, 85, 0.08);
}

.lotta-services-section {
	width: 100%;
	max-width: 980px;
	margin: 60px auto;
	padding: 0 20px;
	font-family: inherit;
	color: #ffffff;
}

.lotta-services-header {
	text-align: center;
	margin-bottom: 34px;
}

.lotta-services-pill {
	display: inline-block;
	margin-bottom: 12px;
	padding: 6px 15px;
	border: 1px solid rgba(255, 0, 64, 0.35);
	border-radius: 999px;
	background: rgba(255, 0, 64, 0.08);
	color: #ff244f;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .2px;
}

.lotta-services-header h2 {
	margin: 0;
	font-size: clamp(34px, 5vw, 54px);
	line-height: 1;
	font-weight: 800;
	letter-spacing: -1.5px;
	color: #ffffff;
}

.lotta-services-header p {
	max-width: 680px;
	margin: 16px auto 0;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.62);
}

.lotta-services-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.lotta-service-card {
	position: relative;
	overflow: hidden;
	min-height: 250px;
	padding: 28px;
	border-radius: 18px;
	background: radial-gradient(circle at top right, rgba(255, 0, 64, 0.12), transparent 34%), rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 0 0 1px rgba(255, 0, 64, 0.04), 0 18px 50px rgba(0, 0, 0, 0.28);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
	display: flex;
	flex-direction: column;
}

.lotta-service-card:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 0, 64, 0.35);
	box-shadow: 0 0 25px rgba(255, 0, 64, 0.12), 0 22px 60px rgba(0, 0, 0, 0.34);
}

.lotta-service-icon {
	width: 46px;
	height: 46px;
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(255, 0, 64, 0.12);
	color: #ff244f;
	flex-shrink: 0;
	font-size: 23px;
	font-weight: 700;
	line-height: 1;
	text-shadow: 0 0 12px rgba(255, 0, 64, 0.75);
}

.lotta-icon-edit::before {
	content: "✂";
}

.lotta-icon-motion::before {
	content: "✦";
}

.lotta-icon-brand::before {
	content: "▣";
}

.lotta-icon-film::before {
	content: "◉";
}

.lotta-service-card h3 {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.15;
	font-weight: 800;
	color: #ff244f;
	letter-spacing: -.5px;
	text-shadow: 0 0 14px rgba(255, 0, 64, 0.7);
}

.lotta-service-card p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.32);
}

.lotta-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 22px;
}

.lotta-tags span {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.075);
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	line-height: 1;
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.45);
	box-shadow: 0 0 14px rgba(255, 255, 255, 0.08);
}

@media (max-width: 780px) {
	.lotta-services-section {
		margin: 46px auto;
		padding: 0 16px;
	}
	
	.lotta-services-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	
	.lotta-service-card {
		min-height: 250px;
		padding: 24px;
	}
	
	.lotta-services-header {
		margin-bottom: 28px;
	}
	
	.lotta-services-header h2 {
		font-size: 38px;
	}
	
	.lotta-services-header p {
		font-size: 15px;
	}
}

.lotta-icon-brand::before {
	content: "◆";
}

.portfolio-pill-wrap {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	margin-bottom: 35px !important;
}

.portfolio-pill {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	padding: 10px 24px !important;
	border-radius: 999px !important;
	color: #ff2b55 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	background: rgba(255, 43, 85, 0.08) !important;
	border: 1px solid rgba(255, 43, 85, 0.35) !important;
	box-shadow: 0 0 18px rgba(255, 43, 85, 0.15), inset 0 0 12px rgba(255, 43, 85, 0.08) !important;
}

.portfolio-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	background: #ffffff !important;
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 0 0 14px rgba(255, 43, 85, 0.45) !important;
}

.portfolio-pill {
	color: #c9c9c9 !important;
	background: rgba(3, 10, 25, 0.75) !important;
	border: 1px solid rgba(42, 87, 190, 0.55) !important;
	box-shadow: 0 0 18px rgba(30, 80, 180, 0.18), inset 0 0 12px rgba(20, 60, 150, 0.12) !important;
}

.portfolio-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	background: #ffffff !important;
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.85), 0 0 14px rgba(255, 255, 255, 0.35) !important;
}

.portfolio-pill {
	color: #ff2b5f !important;
	background: rgba(255, 43, 95, 0.08) !important;
	border: 1px solid rgba(255, 43, 95, 0.45) !important;
	box-shadow: 0 0 18px rgba(255, 43, 95, 0.22), inset 0 0 12px rgba(255, 43, 95, 0.10) !important;
}

.portfolio-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.9), 0 0 14px rgba(255, 43, 95, 0.55) !important;
}

.portfolio-pill {
	color: #ff2b5f !important;
	background: rgba(0, 0, 0, 0.55) !important;
	border: 1px solid rgba(255, 43, 95, 0.45) !important;
	text-shadow: 0 0 6px rgba(255, 43, 95, 0.75), 0 0 14px rgba(255, 43, 95, 0.45) !important;
	box-shadow: 0 0 14px rgba(255, 43, 95, 0.22), inset 0 0 10px rgba(255, 43, 95, 0.08) !important;
}

.portfolio-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
}

.lotta-process-section {
	background: #030303;
	padding: 90px 20px;
	color: #ffffff;
	font-family: inherit;
	position: relative;
	overflow: hidden;
}

.lotta-process-section::before {
	content: "";
	position: absolute;
	top: -120px;
	left: 50%;
	transform: translateX(-50%);
	width: 650px;
	height: 280px;
	background: radial-gradient(circle, rgba(255, 38, 96, 0.22), transparent 65%);
	pointer-events: none;
}

.lotta-process-inner {
	max-width: 980px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.lotta-process-kicker {
	text-align: center;
	color: #ff3b6f;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 14px;
	font-weight: 700;
}

.lotta-process-title {
	text-align: center;
	font-size: clamp(38px, 6vw, 76px);
	line-height: .95;
	margin: 0 0 70px;
	text-transform: uppercase;
	color: #ff2f68;
	text-shadow: 0 0 12px rgba(255, 47, 104, 0.9), 0 0 34px rgba(255, 47, 104, 0.45);
}

.lotta-process-timeline {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.lotta-process-timeline::before {
	content: "";
	position: absolute;
	left: 48px;
	top: 12px;
	bottom: 12px;
	width: 2px;
	background: linear-gradient(to bottom,
    transparent,
    rgba(255, 47, 104, 0.95),
    transparent);
	box-shadow: 0 0 18px rgba(255, 47, 104, 0.9);
}

.lotta-process-item {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 26px;
	align-items: stretch;
	position: relative;
}

.lotta-process-number {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ff3b6f;
	font-size: 24px;
	font-weight: 900;
	background: rgba(255, 47, 104, 0.08);
	border: 1px solid rgba(255, 47, 104, 0.5);
	box-shadow: 0 0 18px rgba(255, 47, 104, 0.38), inset 0 0 16px rgba(255, 47, 104, 0.12);
	z-index: 2;
}

.lotta-process-card {
	padding: 28px 32px;
	border-radius: 24px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.lotta-process-card:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 47, 104, 0.55);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.45), 0 0 28px rgba(255, 47, 104, 0.16);
}

.lotta-process-card h3 {
	margin: 0 0 10px;
	color: #ff3b6f;
	font-size: clamp(21px, 2.4vw, 30px);
	line-height: 1.1;
	text-shadow: 0 0 12px rgba(255, 47, 104, 0.45);
}

.lotta-process-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(15px, 1.5vw, 18px);
	line-height: 1.65;
	max-width: 720px;
}

@media (max-width: 700px) {
	.lotta-process-section {
		padding: 70px 16px;
	}
	
	.lotta-process-title {
		margin-bottom: 46px;
	}
	
	.lotta-process-timeline {
		gap: 22px;
	}
	
	.lotta-process-timeline::before {
		left: 30px;
	}
	
	.lotta-process-item {
		grid-template-columns: 62px 1fr;
		gap: 16px;
	}
	
	.lotta-process-number {
		width: 62px;
		height: 62px;
		font-size: 16px;
	}
	
	.lotta-process-card {
		padding: 22px 20px;
		border-radius: 20px;
	}
}

.lotta-process-timeline::before {
	left: 48px;
	width: 1px;
	background: linear-gradient(to bottom,
    transparent 0%,
    rgba(255, 47, 104, 0.35) 12%,
    rgba(255, 47, 104, 0.35) 88%,
    transparent 100%);
	box-shadow: 0 0 10px rgba(255, 47, 104, 0.35);
	z-index: 0;
}

.lotta-process-number {
	position: relative;
	z-index: 3;
	background: #080808;
}

.lotta-process-number::before {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: #030303;
	z-index: -1;
}

.lotta-language-switcher {
	position: fixed;
	top: 24px;
	left: 24px;
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(18, 18, 20, 0.58);
	border: 1px solid rgba(214, 31, 58, 0.45);
	box-shadow: 0 0 18px rgba(214, 31, 58, 0.16), inset 0 0 18px rgba(214, 31, 58, 0.05);
	font-family: inherit;
}

.lotta-language-switcher .lang-option {
	color: rgba(255, 255, 255, 0.45);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
	transition: all .25s ease;
}

.lotta-language-switcher .lang-option:hover {
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 0 10px rgba(214, 31, 58, 0.45);
}

.lotta-language-switcher .lang-option.active {
	color: rgba(255, 255, 255, 0.92);
}

.lotta-language-switcher .lang-toggle {
	width: 56px;
	height: 30px;
	border-radius: 999px;
	position: relative;
	flex-shrink: 0;
	background: rgba(214, 31, 58, 0.14);
	border: 1px solid rgba(214, 31, 58, 0.65);
	box-shadow: 0 0 14px rgba(214, 31, 58, 0.22), inset 0 0 12px rgba(214, 31, 58, 0.12);
}

.lotta-language-switcher .toggle-dot {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	position: absolute;
	top: 3px;
	left: 4px;
	background: rgba(255, 235, 238, 0.95);
	box-shadow: 0 0 12px rgba(255, 255, 255, 0.35), 0 0 18px rgba(214, 31, 58, 0.25);
}

@media (max-width: 768px) {
	.lotta-language-switcher {
		top: 16px;
		left: 16px;
		padding: 8px 12px;
		gap: 9px;
	}
	
	.lotta-language-switcher .lang-option {
		font-size: 12px;
	}
	
	.lotta-language-switcher .lang-toggle {
		width: 48px;
		height: 26px;
	}
	
	.lotta-language-switcher .toggle-dot {
		width: 18px;
		height: 18px;
		top: 3px;
		left: 4px;
	}
}

.hv-reviews-section {
	position: relative;
	overflow: hidden;
	background: #030303;
	color: #fff;
	padding: clamp(80px, 10vw, 140px) 24px;
	font-family: inherit;
/* Esto fuerza que ocupe todo el ancho de la pantalla */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.hv-reviews-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 2px;
	width: 100%;
	background: linear-gradient(90deg,
    transparent,
    #ff2f68,
    #ff7aa2,
    #ff2f68,
    transparent);
	box-shadow: 0 0 18px #ff2f68;
}

.hv-reviews-bg {
	position: absolute;
	background: radial-gradient(circle at 10% 25%, rgba(255, 47, 104, 0.16), transparent 28%), radial-gradient(circle at 90% 80%, rgba(255, 47, 104, 0.12), transparent 30%);
	pointer-events: none;
}

.hv-reviews-wrap {
	position: relative;
	z-index: 1;
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(320px, 430px) minmax(620px, 1fr);
	gap: clamp(50px, 7vw, 100px);
	align-items: start;
}

.hv-reviews-heading {
	position: sticky;
	top: 90px;
}

.hv-kicker {
	display: inline-block;
	margin-bottom: 16px;
	font-size: 12px;
	letter-spacing: .24em;
	color: rgba(255, 255, 255, 0.88);
	text-transform: uppercase;
	text-shadow: 0 0 10px rgba(255,255,255,0.55);
}

.hv-reviews-heading h2 {
	margin: 0;
	font-size: clamp(58px, 7vw, 108px);
	line-height: .9;
	font-weight: 900;
	letter-spacing: -.065em;
	color: #ff2f68;
	text-shadow: 0 0 12px rgba(255, 47, 104, 0.85), 0 0 35px rgba(255, 47, 104, 0.45);
}

.hv-reviews-heading p {
	max-width: 460px;
	margin-top: 34px;
	color: rgba(255,255,255,0.82);
	font-size: 18px;
	line-height: 1.7;
	text-shadow: 0 0 12px rgba(255,255,255,0.22);
}

.hv-reviews-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	gap: 24px;
}

.hv-review-card {
	position: relative;
	min-height: 250px;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 28px;
	background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)), rgba(255,255,255,0.025);
	box-shadow: 0 20px 60px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.08);
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.hv-review-card::before {
	content: "";
	position: absolute;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(135deg,
    rgba(255, 47, 104, 0.75),
    transparent 38%,
    rgba(255,255,255,0.12));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: .45;
	pointer-events: none;
}

.hv-review-card:hover {
	transform: translateY(-8px);
	border-color: rgba(255, 47, 104, 0.48);
	box-shadow: 0 25px 80px rgba(255, 47, 104, 0.13), 0 20px 60px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12);
}

.hv-stars {
	margin-bottom: 20px;
	color: #fff;
	font-size: 18px;
	letter-spacing: .18em;
	white-space: nowrap;
	text-shadow: 0 0 8px rgba(255,255,255,0.85), 0 0 18px rgba(255, 47, 104, 0.35);
}

.hv-review-text {
	margin: 0;
	color: rgba(255,255,255,0.88);
	font-size: 18px;
	line-height: 1.6;
	text-shadow: 0 0 12px rgba(255,255,255,0.18);
}

.hv-review-person {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
}

.hv-review-person span {
	width: 28px;
	height: 2px;
	flex: 0 0 28px;
	border-radius: 99px;
	background: #ff2f68;
	box-shadow: 0 0 12px rgba(255, 47, 104, 0.9);
}

.hv-review-person strong {
	color: #ff3f76;
	font-size: 17px;
	font-style: italic;
	text-shadow: 0 0 14px rgba(255, 47, 104, 0.55);
}

/* Tablet */
@media (max-width: 1100px) {
	.hv-reviews-wrap {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	
	.hv-reviews-heading {
		position: relative;
		top: auto;
	}
	
	.hv-reviews-heading p {
		max-width: 620px;
	}
	
	.hv-reviews-grid {
		grid-template-columns: repeat(2, minmax(260px, 1fr));
	}
}

/* Móvil */
@media (max-width: 720px) {
	.hv-reviews-section {
		padding: 70px 18px;
	}
	
	.hv-reviews-grid {
		grid-template-columns: 1fr;
	}
	
	.hv-review-card {
		min-height: auto;
		padding: 24px;
		border-radius: 24px;
	}
	
	.hv-reviews-heading h2 {
		font-size: clamp(56px, 18vw, 78px);
	}
	
	.hv-reviews-heading p {
		font-size: 16px;
	}
	
	.hv-review-text {
		font-size: 16px;
	}
}

.hv-neon-line {
	width: 100%;
	height: 2px;
	margin: 0 auto;
	background: linear-gradient(90deg,
    transparent,
    #ff2f68,
    #ff7aa2,
    #ff2f68,
    transparent);
	box-shadow: 0 0 12px rgba(255, 47, 104, 0.9), 0 0 28px rgba(255, 47, 104, 0.45);
}

.hope-about-section {
	position: relative;
	overflow: hidden;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(70px, 7vw, 110px) 22px;
	background: radial-gradient(circle at 18% 20%, rgba(255, 0, 85, 0.20), transparent 34%), radial-gradient(circle at 82% 70%, rgba(255, 70, 0, 0.12), transparent 36%), linear-gradient(135deg, #030303 0%, #090005 48%, #030303 100%);
	color: #fff;
}

.hope-about-section * {
	box-sizing: border-box;
}

.hope-about-glow {
	position: absolute;
	width: 520px;
	height: 520px;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%);
	background: rgba(255, 0, 85, 0.15);
	filter: blur(100px);
	border-radius: 999px;
	pointer-events: none;
}

.hope-about-wrapper {
	position: relative;
	z-index: 2;
	width: min(1240px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
	gap: clamp(34px, 5vw, 72px);
	align-items: center;
}

/* FOTO */
.hope-about-image-card {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	background: #111;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.10), 0 0 42px rgba(255, 0, 85, 0.25), 0 34px 90px rgba(0, 0, 0, 0.75);
}

.hope-about-image-card::before {
	content: "";
	position: absolute;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.78)), linear-gradient(135deg, rgba(255, 0, 85, 0.10), transparent 45%);
}

.hope-about-image-card::after {
	content: "";
	position: absolute;
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	pointer-events: none;
}

.hope-about-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/* Texto sobre foto */
.hope-about-image-label {
	position: absolute;
	z-index: 4;
	left: 30px;
	right: 30px;
	bottom: 28px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
}

.hope-about-image-label span {
	font-size: 12px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #ffffff;
	font-weight: 900;
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 18px rgba(255, 0, 85, 0.9);
}

.hope-about-image-label strong {
	max-width: 280px;
	text-align: right;
	font-size: 15px;
	line-height: 1.35;
	color: #ff2b74;
	text-shadow: 0 0 18px rgba(255, 0, 85, 0.85);
}

/* CAJA TEXTO */
.hope-about-content {
	position: relative;
	padding: clamp(30px, 3.4vw, 48px);
	border-radius: 32px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.035));
	border: 1px solid rgba(255, 255, 255, 0.13);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035), 0 28px 80px rgba(0, 0, 0, 0.48);
}

.hope-about-content::before {
	content: "";
	position: absolute;
	width: 86px;
	height: 4px;
	top: 0;
	left: 38px;
	background: linear-gradient(90deg, #ff005d, #ff4d00);
	border-radius: 999px;
	box-shadow: 0 0 28px rgba(255, 0, 85, 0.9);
}

.hope-about-kicker {
	margin: 0 0 16px;
	font-size: 12px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #ffffff;
	font-weight: 900;
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.65), 0 0 18px rgba(255, 0, 85, 0.75);
}

.hope-about-title {
	margin: 0 0 26px;
	max-width: 600px;
	font-size: clamp(40px, 4.2vw, 66px);
	line-height: .96;
	letter-spacing: -.06em;
	color: #ff2b74;
	text-shadow: 0 0 16px rgba(255, 0, 85, 0.75), 0 0 34px rgba(255, 0, 85, 0.45);
}

.hope-about-text {
	margin: 0 0 18px;
	max-width: 560px;
	font-size: clamp(16px, 1.12vw, 18px);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.84);
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.18);
}

.hope-about-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
}

.hope-about-tags span {
	padding: 10px 15px;
	border-radius: 999px;
	background: rgba(255, 0, 85, 0.09);
	border: 1px solid rgba(255, 0, 85, 0.38);
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 0 18px rgba(255, 0, 85, 0.16), inset 0 0 14px rgba(255, 255, 255, 0.035);
}

/* TABLET */
@media (max-width: 1050px) {
	.hope-about-wrapper {
		grid-template-columns: 1fr;
		max-width: 820px;
	}
	
	.hope-about-image {
		aspect-ratio: 16 / 9;
	}
	
	.hope-about-content {
		width: 100%;
	}
	
	.hope-about-title {
		font-size: clamp(38px, 8vw, 58px);
	}
}

/* MÓVIL */
@media (max-width: 600px) {
	.hope-about-section {
		padding: 54px 14px;
	}
	
	.hope-about-wrapper {
		gap: 24px;
	}
	
	.hope-about-image-card,
					  .hope-about-content {
		border-radius: 24px;
	}
	
	.hope-about-image-card::after {
		border-radius: 17px;
	}
	
	.hope-about-image {
		aspect-ratio: 4 / 5;
		object-position: center;
	}
	
	.hope-about-image-label {
		left: 20px;
		right: 20px;
		bottom: 20px;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.hope-about-image-label strong {
		text-align: left;
		max-width: 100%;
	}
	
	.hope-about-content {
		padding: 28px 22px;
	}
	
	.hope-about-title {
		font-size: clamp(34px, 12vw, 46px);
	}
	
	.hope-about-text {
		font-size: 15.5px;
		line-height: 1.7;
	}
	
	.hope-about-tags span {
		font-size: 12px;
		padding: 9px 13px;
	}
}

/* ARREGLO WORDPRESS: sacar esta sección del bloque estrecho */
body .wp-block-html:has(.hope-about-section),
body .wp-block-group:has(.hope-about-section),
body .entry-content:has(.hope-about-section),
body .wp-block-post-content:has(.hope-about-section) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* SECCIÓN FULL WIDTH REAL */
.hope-about-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}

/* CONTENEDOR INTERIOR MÁS ANCHO */
.hope-about-wrapper {
	width: min(1320px, 100%) !important;
	max-width: 1320px !important;
	grid-template-columns: 1.25fr 0.75fr !important;
}

/* FOTO MÁS GRANDE Y MENOS APLASTADA */
.hope-about-image {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	object-fit: cover !important;
}

/* TEXTO MENOS GIGANTE */
.hope-about-title {
	font-size: clamp(38px, 3.8vw, 58px) !important;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
	.hope-about-wrapper {
		grid-template-columns: 1fr !important;
		max-width: 850px !important;
	}
}

/* SUAVIZAR CORTE ARRIBA Y ABAJO DE LA SECCIÓN */
.hope-about-section::before,
.hope-about-section::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 130px;
	z-index: 3;
	pointer-events: none;
}

.hope-about-section::before {
	top: 0;
	background: linear-gradient(to bottom,
    #000000 0%,
    rgba(0, 0, 0, 0.85) 25%,
    rgba(0, 0, 0, 0.35) 65%,
    rgba(0, 0, 0, 0) 100%);
}

.hope-about-section::after {
	bottom: 0;
	background: linear-gradient(to top,
    #000000 0%,
    rgba(0, 0, 0, 0.85) 25%,
    rgba(0, 0, 0, 0.35) 65%,
    rgba(0, 0, 0, 0) 100%);
}

/* Para que el contenido quede por encima del fondo, pero debajo del fade si hace falta */
.hope-about-wrapper {
	position: relative;
	z-index: 4;
}

.hope-about-glow {
	z-index: 1;
}

/* ========================================
   INSTAGRAM — HOPE VISUALS
======================================== */
.hope-instagram {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	font-family: inherit;
}

/* CABECERA */
.hope-instagram-profile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

/* PARTE IZQUIERDA */
.hope-profile-left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

/* FOTO / ICONO */
.hope-profile-img {
	width: 58px;
	height: 58px;
	min-width: 58px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #111111;
	border: 1px solid rgba(255,255,255,0.15);
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
}

/* TEXTOS */
.hope-profile-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.hope-profile-user {
	margin: 0;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 700;
	color: #ff255a;
}

.hope-profile-job {
	margin: 0;
	font-size: 13px;
	line-height: 1.3;
	color: #ffffff;
	opacity: .9;
}

/* BOTÓN */
.hope-instagram-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 100px;
	background: #ffffff;
	color: #000000 !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: transform .2s ease, opacity .2s ease;
}

.hope-instagram-button:hover {
	transform: translateY(-2px);
	opacity: .88;
}

/* FEED */
.hope-instagram-feed {
	width: 100%;
	overflow: hidden;
}

.hope-instagram-feed iframe {
	display: block;
	width: 100% !important;
	max-width: 100%;
	border: 0 !important;
	margin: 0;
	padding: 0;
}

/* MÓVIL */
@media (max-width: 600px) {
	.hope-instagram-profile {
		gap: 12px;
	}
	
	.hope-profile-img {
		width: 48px;
		height: 48px;
		min-width: 48px;
		font-size: 12px;
	}
	
	.hope-profile-user {
		font-size: 14px;
	}
	
	.hope-profile-job {
		font-size: 12px;
	}
	
	.hope-instagram-button {
		padding: 8px 12px;
		font-size: 12px;
	}
}

/* ALINEAR CABECERA CON EL FEED DE INSTAGRAM */
.hope-instagram {
	max-width: 800px;
}

.hope-instagram-profile {
	margin-bottom: 5px;
}

/* ICONO INSTAGRAM */
.hope-instagram-icon {
	width: 24px;
	height: 24px;
	min-width: 24px;
	border: 2px solid #ff255a;
	border-radius: 7px;
	position: relative;
	box-sizing: border-box;
}

.hope-instagram-icon::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border: 2px solid #ff255a;
	border-radius: 50%;
	top: 6px;
	left: 6px;
	box-sizing: border-box;
}

.hope-instagram-icon::after {
	content: "";
	position: absolute;
	width: 3px;
	height: 3px;
	background: #ff255a;
	border-radius: 50%;
	top: 4px;
	right: 4px;
}

/* DESPLEGABLES DEL FORMULARIO */
select {
	background-color: #111111 !important;
	color: #ffffff !important;
	border: 1px solid #666666 !important;
}

select option {
	background-color: #111111 !important;
	color: #ffffff !important;
}

/* ===== DESPLEGABLE FORMULARIO ===== */
html body select,
html body form select,
html body .wp-block-jetpack-contact-form select {
	background: #111111 !important;
	background-color: #111111 !important;
	color: #ffffff !important;
	border: 1px solid #555555 !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
/* Mantiene la flecha nativa pero en modo oscuro */
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	-moz-appearance: auto !important;
}

/* CUANDO ESTÁ SELECCIONADO O ACTIVO */
html body select:focus,
html body select:active {
	background: #111111 !important;
	background-color: #111111 !important;
	color: #ffffff !important;
}

/* OPCIONES */
html body select option {
	background: #111111 !important;
	color: #ffffff !important;
}

.app-slider .app-icon-box {
	border: 1px solid rgba(255, 30, 77, 0.40) !important;
	box-shadow: 0 0 6px rgba(255, 30, 77, 0.45), 0 0 14px rgba(255, 30, 77, 0.30), 0 0 28px rgba(255, 30, 77, 0.18) !important;
}

/* FIX - Mi proceso creativo sin cortes */
.lotta-process-section {
	height: auto !important;
	min-height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	padding-top: 70px !important;
	padding-bottom: 90px !important;
}

.lotta-process-inner,
.lotta-process-timeline {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

/* Difuminar laterales de "Mi proceso creativo" */
.lotta-process-section {
	background: linear-gradient(to right,
        transparent 0%,
        rgba(0, 0, 0, 0.45) 7%,
        #000 16%,
        #000 84%,
        rgba(0, 0, 0, 0.45) 93%,
        transparent 100%) !important;
}

/* Difuminar laterales de Reseñas */
.hv-reviews-section {
	background: linear-gradient(to right,
        transparent 0%,
        rgba(0, 0, 0, 0.45) 7%,
        #000 16%,
        #000 84%,
        rgba(0, 0, 0, 0.45) 93%,
        transparent 100%) !important;
}

.hv-reviews-bg {
	background: transparent !important;
}





/* =========================================
   SWITCH ES / EN - HOPE VISUALS
========================================= */

.trp-language-switcher {
    position: relative !important;
    display: block !important;

    width: 116px !important;
    min-width: 116px !important;
    height: 42px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #080808 !important;
    border: 1px solid rgba(255, 30, 77, 0.65) !important;
    border-radius: 30px !important;

    overflow: hidden !important;

    box-shadow:
        0 0 7px rgba(255, 30, 77, 0.50),
        0 0 17px rgba(255, 30, 77, 0.25) !important;
}


/* Quitamos cualquier caja blanca interna */
.trp-language-switcher > div,
.trp-language-switcher-inner {
    position: static !important;
    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* PIEZA ROJA QUE SE MUEVE */
.trp-language-switcher::before {
    content: "";

    position: absolute;
    top: 4px;
    left: 4px;

    width: 52px;
    height: 32px;

    background: #ff1e4d;
    border-radius: 20px;

    box-shadow:
        0 0 8px rgba(255, 30, 77, 0.75),
        0 0 15px rgba(255, 30, 77, 0.40);

    z-index: 1;

    transition: transform .3s ease;
}


/* ENLACE REAL DE TRANSLATEPRESS */
.trp-language-switcher a,
.trp-language-switcher .trp-language-item {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    font-size: 0 !important;
    color: transparent !important;

    z-index: 10 !important;
    cursor: pointer !important;
}


/* TEXTO ES */
.trp-language-switcher a::before {
    content: "ES";

    position: absolute;
    left: 0;
    top: 0;

    width: 57px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 12px !important;
    font-weight: 800;

    z-index: 12;
}


/* TEXTO EN */
.trp-language-switcher a::after {
    content: "EN";

    position: absolute;
    right: 0;
    top: 0;

    width: 57px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 12px !important;
    font-weight: 800;

    z-index: 12;
}


/* ===== ESPAÑOL ACTIVO ===== */

html[lang^="es"] .trp-language-switcher::before {
    transform: translateX(0);
}

html[lang^="es"] .trp-language-switcher a::before {
    color: #ffffff !important;
}

html[lang^="es"] .trp-language-switcher a::after {
    color: #ff1e4d !important;
}


/* ===== INGLÉS ACTIVO ===== */

html[lang^="en"] .trp-language-switcher::before {
    transform: translateX(54px);
}

html[lang^="en"] .trp-language-switcher a::before {
    color: #ff1e4d !important;
}

html[lang^="en"] .trp-language-switcher a::after {
    color: #ffffff !important;
}


/* SIN BANDERAS */
.trp-language-switcher img,
.trp-flag-image {
    display: none !important;
}


/* Ocultar texto original de TranslatePress */
.trp-language-switcher *,
.trp-language-switcher span {
    font-size: 0 !important;
    color: transparent !important;
    text-shadow: none !important;
}

/* HACER FUNCIONAL EL SWITCH ES / EN */
.trp-language-switcher,
.trp-language-switcher * {
    pointer-events: none !important;
}

.trp-language-switcher a {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 9999 !important;
}




/* Centrar SOLO el título "SOBRE MÍ" generado por CSS */
.sobre-mi-bloque::before {
    display: block !important;
    width: 100% !important;
    text-align: center !important;

    left: auto !important;
    right: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.home .wp-block-post-title {
    text-align: center !important;
}




/* Integrar foto de "Mi equipo" con el fondo */
img[src*="mi-equipo-de-grabacion-1.png"] {
    display: block !important;
    width: 100% !important;
    height: auto !important;

    /* Difumina suavemente los bordes */
    -webkit-mask-image: radial-gradient(
        ellipse at center,
        #000 55%,
        rgba(0,0,0,.95) 67%,
        rgba(0,0,0,.55) 82%,
        transparent 100%
    );

    mask-image: radial-gradient(
        ellipse at center,
        #000 55%,
        rgba(0,0,0,.95) 67%,
        rgba(0,0,0,.55) 82%,
        transparent 100%
    );

    /* Integra la imagen con la estética oscura */
    filter:
        brightness(.90)
        contrast(1.03)
        saturate(.92)
        drop-shadow(0 0 14px rgba(255,30,77,.07));
}




/* =====================================
   PORTFOLIO DISEÑO GRÁFICO
===================================== */

.hv-design-grid {
    gap: 20px !important;
}

/* Cada póster */
.hv-design-grid figure {
    position: relative !important;
    overflow: hidden !important;

    border-radius: 16px !important;

    background: #080808 !important;

    border: 1px solid rgba(255,255,255,.10) !important;

    box-shadow:
        0 10px 30px rgba(0,0,0,.35);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

/* Imagen */
.hv-design-grid figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;

    border-radius: 16px !important;

    transition:
        transform .5s ease,
        filter .4s ease;
}

/* Ligera integración roja, casi invisible */
.hv-design-grid figure::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            to top,
            rgba(255,30,77,.08) 0%,
            transparent 35%
        );

    opacity: .45;

    transition: opacity .35s ease;
}


/* HOVER EN PC */
@media (hover: hover) {

    .hv-design-grid figure:hover {
        transform: translateY(-6px);

        border-color: rgba(255,30,77,.60) !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.28),
            0 0 24px rgba(255,30,77,.10),
            0 14px 35px rgba(0,0,0,.45);
    }

    .hv-design-grid figure:hover img {
        transform: scale(1.025);

        filter:
            brightness(.92)
            contrast(1.03);
    }

    .hv-design-grid figure:hover::after {
        opacity: 1;
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-design-grid {
        gap: 14px !important;
    }

    .hv-design-grid figure,
    .hv-design-grid figure img {
        border-radius: 12px !important;
    }
}


/* =====================================
   PORTFOLIO DISEÑO GRÁFICO
   HOPE VISUALS
===================================== */

/* Cada cartel */
.hv-design-grid .wp-block-image {
    position: relative !important;
    overflow: hidden !important;

    border-radius: 16px !important;

    background: #080808 !important;

    border: 1px solid rgba(255,255,255,.10) !important;

    box-shadow:
        0 8px 24px rgba(0,0,0,.35);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* Imagen */
.hv-design-grid .wp-block-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    border-radius: 15px !important;

    transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        filter .4s ease;
}


/* Capa muy sutil para integrarlos */
.hv-design-grid .wp-block-image::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    border-radius: 16px;

    background:
        linear-gradient(
            to top,
            rgba(255,30,77,.10) 0%,
            transparent 32%
        );

    opacity: .25;

    transition: opacity .35s ease;
}


/* HOVER EN ORDENADOR */
@media (hover: hover) {

    .hv-design-grid .wp-block-image:hover {
        transform: translateY(-6px);

        border-color: rgba(255,30,77,.65) !important;

        box-shadow:
            0 0 7px rgba(255,30,77,.35),
            0 0 22px rgba(255,30,77,.12),
            0 14px 32px rgba(0,0,0,.50);
    }

    .hv-design-grid .wp-block-image:hover img {
        transform: scale(1.025);

        filter:
            brightness(.92)
            contrast(1.03);
    }

    .hv-design-grid .wp-block-image:hover::after {
        opacity: 1;
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-design-grid .wp-block-image,
    .hv-design-grid .wp-block-image::after {
        border-radius: 12px !important;
    }

    .hv-design-grid .wp-block-image img {
        border-radius: 11px !important;
    }
}



/* ==========================================
   MI PROCESO DE COLOR · HOPE VISUALS
========================================== */

.hv-color-process {
    max-width: 900px !important;
    margin: 70px auto !important;
    padding: 0 20px !important;

    counter-reset: color-step;
}


/* TÍTULO "MI PROCESO DE COLOR" */
.hv-color-process h1,
.hv-color-process h2,
.hv-color-process h3 {
    text-align: center !important;

    margin: 0 0 50px !important;

    color: #ff1e4d !important;

    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-transform: uppercase;

    text-shadow:
        0 0 7px rgba(255,30,77,.65),
        0 0 20px rgba(255,30,77,.25);
}


/* CADA UNO DE LOS 8 PASOS */
.hv-color-process > p,
.hv-color-process > .wp-block-group__inner-container > p {
    position: relative !important;

    counter-increment: color-step;

    margin: 0 0 22px !important;
    padding: 28px 30px 28px 92px !important;

    color: #fff !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        ) !important;

    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 18px !important;

    box-shadow:
        0 12px 35px rgba(0,0,0,.25);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* NÚMERO 01 - 08 */
.hv-color-process > p::before,
.hv-color-process > .wp-block-group__inner-container > p::before {
    content: counter(color-step, decimal-leading-zero);

    position: absolute;

    left: 24px;
    top: 50%;

    transform: translateY(-50%);

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ff1e4d;

    font-size: 15px;
    font-weight: 800;

    background: #090909;

    border: 1px solid rgba(255,30,77,.65);
    border-radius: 50%;

    box-shadow:
        0 0 7px rgba(255,30,77,.32),
        0 0 18px rgba(255,30,77,.12);
}


/* PALABRAS ROJAS QUE YA TIENES */
.hv-color-process strong {
    color: #ff1e4d !important;
}


/* HOVER */
@media (hover: hover) {

    .hv-color-process > p:hover,
    .hv-color-process > .wp-block-group__inner-container > p:hover {
        transform: translateY(-4px);

        border-color: rgba(255,30,77,.55) !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.20),
            0 0 24px rgba(255,30,77,.07),
            0 16px 35px rgba(0,0,0,.32);
    }

    .hv-color-process > p:hover::before,
    .hv-color-process > .wp-block-group__inner-container > p:hover::before {
        background: #ff1e4d;
        color: #fff;

        box-shadow:
            0 0 8px rgba(255,30,77,.70),
            0 0 20px rgba(255,30,77,.28);
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-color-process {
        margin: 45px auto !important;
        padding: 0 12px !important;
    }

    .hv-color-process h1,
    .hv-color-process h2,
    .hv-color-process h3 {
        margin-bottom: 32px !important;
    }

    .hv-color-process > p,
    .hv-color-process > .wp-block-group__inner-container > p {
        padding: 68px 20px 22px !important;

        border-radius: 15px !important;

        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .hv-color-process > p::before,
    .hv-color-process > .wp-block-group__inner-container > p::before {
        top: 17px;
        left: 18px;

        transform: none;

        width: 40px;
        height: 40px;

        font-size: 13px;
    }
}

/* ==========================================
   CORRECCIÓN PROCESO DE COLOR
========================================== */

/* EL TÍTULO NO ES UN PASO */
.hv-color-process > p:first-of-type,
.hv-color-process > .wp-block-group__inner-container > p:first-of-type {
    counter-increment: none !important;

    padding: 0 !important;
    margin: 0 0 45px !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    text-align: center !important;

    color: #ff1e4d !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-transform: uppercase;

    text-shadow:
        0 0 7px rgba(255,30,77,.55),
        0 0 18px rgba(255,30,77,.22) !important;
}


/* QUITAR EL 01 DEL TÍTULO */
.hv-color-process > p:first-of-type::before,
.hv-color-process > .wp-block-group__inner-container > p:first-of-type::before {
    display: none !important;
}


/* NÚMEROS 01–08: SOLO NEÓN ROJO */
.hv-color-process > p:not(:first-of-type)::before,
.hv-color-process > .wp-block-group__inner-container > p:not(:first-of-type)::before {
    color: #ff1e4d !important;

    background: #080808 !important;

    border: 1px solid rgba(255,30,77,.55) !important;

    text-shadow: none !important;

    box-shadow:
        0 0 6px rgba(255,30,77,.28),
        0 0 14px rgba(255,30,77,.10) !important;
}


/* HOVER MÁS LIMPIO */
@media (hover: hover) {

    .hv-color-process > p:not(:first-of-type):hover::before,
    .hv-color-process > .wp-block-group__inner-container > p:not(:first-of-type):hover::before {
        background: #ff1e4d !important;
        color: #fff !important;

        text-shadow: none !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.60),
            0 0 18px rgba(255,30,77,.22) !important;
    }
}



/* Ajuste fino del proceso de color */
.hv-color-process > p:not(:first-of-type),
.hv-color-process > .wp-block-group__inner-container > p:not(:first-of-type) {
    margin-bottom: 16px !important;

    border-color: rgba(255,255,255,.16) !important;
}






/* ==========================================
   BEFORE / AFTER · COLOR GRADING
   HOPE VISUALS
========================================== */

.hv-color-compare {
    position: relative !important;
    overflow: hidden !important;

    border-radius: 22px !important;

    border: 1px solid rgba(255,255,255,.13) !important;

    box-shadow:
        0 12px 35px rgba(0,0,0,.40),
        inset 0 0 0 1px rgba(255,255,255,.025);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* Redondear las imágenes también */
.hv-color-compare img {
    border-radius: 20px !important;
}


/* HOVER */
@media (hover: hover) {

    .hv-color-compare:hover {
        transform: translateY(-4px);

        border-color: rgba(255,30,77,.65) !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.30),
            0 0 26px rgba(255,30,77,.10),
            0 16px 38px rgba(0,0,0,.45);
    }
}


/* ==========================================
   TIRADOR CENTRAL
========================================== */

/* Jetpack / TwentyTwenty / comparadores similares */
.hv-color-compare .twentytwenty-handle,
.hv-color-compare [class*="compare"][class*="handle"],
.hv-color-compare [class*="image"][class*="handle"] {
    background: #080808 !important;

    border: 1px solid #ff1e4d !important;

    box-shadow:
        0 0 7px rgba(255,30,77,.55),
        0 0 18px rgba(255,30,77,.20) !important;
}


/* Línea divisoria */
.hv-color-compare .twentytwenty-handle::before,
.hv-color-compare .twentytwenty-handle::after,
.hv-color-compare [class*="separator"],
.hv-color-compare [class*="divider"] {
    background: #ff1e4d !important;

    box-shadow:
        0 0 6px rgba(255,30,77,.35) !important;
}


/* Flechas del tirador */
.hv-color-compare .twentytwenty-left-arrow {
    border-right-color: #ff1e4d !important;
}

.hv-color-compare .twentytwenty-right-arrow {
    border-left-color: #ff1e4d !important;
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-color-compare {
        border-radius: 16px !important;
    }

    .hv-color-compare img {
        border-radius: 15px !important;
    }
}


/* Protección básica de la foto Sobre mí */
.hope-about-image {
    -webkit-user-drag: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}



/* Centrar títulos automáticos de TODAS las páginas */
body.page .wp-block-post-title {
    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}






/* ==========================================
   SECCIÓN TV · HOPE VISUALS
========================================== */

.hv-tv-info {
    position: relative !important;

    max-width: 900px !important;
    margin: 40px auto 35px !important;
    padding: 34px 36px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        ) !important;

    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 20px !important;

    box-shadow:
        0 12px 35px rgba(0,0,0,.30);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* ETIQUETA SUPERIOR */
.hv-tv-info::before {
    content: "BROADCAST · LIVE GRAPHICS";

    display: inline-block;

    margin-bottom: 20px;

    color: #ff1e4d;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.4px;

    text-transform: uppercase;
}


/* PÁRRAFOS */
.hv-tv-info p {
    margin-top: 0 !important;
    margin-bottom: 22px !important;

    line-height: 1.65 !important;
}


/* LISTA DE PROGRAMAS */
.hv-tv-info ul {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 10px !important;

    margin: 8px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* CADA PROGRAMA */
.hv-tv-info li {
    margin: 0 !important;
    padding: 8px 14px !important;

    color: #fff !important;

    background: rgba(255,30,77,.055) !important;

    border: 1px solid rgba(255,30,77,.38) !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    box-shadow:
        0 0 7px rgba(255,30,77,.10);

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}


/* QUITAR PUNTOS DE LISTA */
.hv-tv-info li::marker {
    content: "";
}


/* HOVER TARJETA */
@media (hover: hover) {

    .hv-tv-info:hover {
        transform: translateY(-4px);

        border-color: rgba(255,30,77,.55) !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.18),
            0 0 24px rgba(255,30,77,.07),
            0 16px 35px rgba(0,0,0,.34);
    }

    .hv-tv-info li:hover {
        transform: translateY(-2px);

        background: rgba(255,30,77,.14) !important;
        border-color: rgba(255,30,77,.72) !important;

        box-shadow:
            0 0 7px rgba(255,30,77,.30),
            0 0 15px rgba(255,30,77,.10);
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-tv-info {
        padding: 25px 20px !important;
        border-radius: 16px !important;
    }

    .hv-tv-info p {
        font-size: 15px !important;
    }

    .hv-tv-info ul {
        gap: 8px !important;
    }

    .hv-tv-info li {
        padding: 7px 11px !important;
        font-size: 12px !important;
    }
}




/* ==========================================
   GALERÍA TV · HOPE VISUALS
========================================== */

.hv-tv-gallery {
    width: 100% !important;
}


/* CADA FOTO */
.hv-tv-gallery .wp-block-image {
    position: relative !important;
    overflow: hidden !important;

    border-radius: 18px !important;

    border: 1px solid rgba(255,255,255,.12) !important;

    background: #080808 !important;

    box-shadow:
        0 10px 30px rgba(0,0,0,.35);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* IMAGEN */
.hv-tv-gallery .wp-block-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    border-radius: 17px !important;

    transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        filter .4s ease;
}


/* PEQUEÑO TONO ROJO EN LA PARTE INFERIOR */
.hv-tv-gallery .wp-block-image::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    border-radius: 18px;

    background:
        linear-gradient(
            to top,
            rgba(255,30,77,.07) 0%,
            transparent 30%
        );

    opacity: .35;

    transition: opacity .35s ease;
}


/* HOVER EN PC */
@media (hover: hover) {

    .hv-tv-gallery .wp-block-image:hover {
        transform: translateY(-5px);

        border-color: rgba(255,30,77,.60) !important;

        box-shadow:
            0 0 7px rgba(255,30,77,.30),
            0 0 22px rgba(255,30,77,.10),
            0 15px 35px rgba(0,0,0,.45);
    }

    .hv-tv-gallery .wp-block-image:hover img {
        transform: scale(1.025);

        filter:
            brightness(.92)
            contrast(1.03);
    }

    .hv-tv-gallery .wp-block-image:hover::after {
        opacity: 1;
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-tv-gallery .wp-block-image,
    .hv-tv-gallery .wp-block-image::after {
        border-radius: 13px !important;
    }

    .hv-tv-gallery .wp-block-image img {
        border-radius: 12px !important;
    }
}




/* ==========================================
   THUMBNAILS · HOPE VISUALS
========================================== */

.hv-thumbnails-grid {
    width: 100% !important;
}


/* CADA MINIATURA */
.hv-thumbnails-grid .wp-block-image {
    position: relative !important;
    overflow: hidden !important;

    border-radius: 16px !important;

    border: 1px solid rgba(255,255,255,.10) !important;

    background: #080808 !important;

    box-shadow:
        0 10px 28px rgba(0,0,0,.32);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* IMAGEN */
.hv-thumbnails-grid .wp-block-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    border-radius: 15px !important;

    transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        filter .4s ease;
}


/* CAPA ROJA MUY SUTIL */
.hv-thumbnails-grid .wp-block-image::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    border-radius: 16px;

    background:
        linear-gradient(
            to top,
            rgba(255,30,77,.09) 0%,
            transparent 32%
        );

    opacity: .20;

    transition: opacity .35s ease;
}


/* HOVER */
@media (hover: hover) {

    .hv-thumbnails-grid .wp-block-image:hover {
        transform: translateY(-5px);

        border-color: rgba(255,30,77,.65) !important;

        box-shadow:
            0 0 7px rgba(255,30,77,.30),
            0 0 22px rgba(255,30,77,.10),
            0 15px 35px rgba(0,0,0,.45);
    }

    .hv-thumbnails-grid .wp-block-image:hover img {
        transform: scale(1.03);

        filter:
            brightness(.94)
            contrast(1.035);
    }

    .hv-thumbnails-grid .wp-block-image:hover::after {
        opacity: 1;
    }
}


/* LA ÚLTIMA MINIATURA GRANDE */
.hv-thumbnails-grid .wp-block-image:last-child {
    border-color: rgba(255,30,77,.20) !important;

    box-shadow:
        0 12px 34px rgba(0,0,0,.38),
        0 0 16px rgba(255,30,77,.05);
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-thumbnails-grid .wp-block-image,
    .hv-thumbnails-grid .wp-block-image::after {
        border-radius: 12px !important;
    }

    .hv-thumbnails-grid .wp-block-image img {
        border-radius: 11px !important;
    }
}




/* ==========================================
   BRANDING CASE STUDY · HOPE VISUALS
========================================== */

.hv-brand-case {
    position: relative !important;

    max-width: 1000px !important;
    margin: 55px auto !important;
    padding: 38px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.012)
        ) !important;

    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 22px !important;

    box-shadow:
        0 14px 40px rgba(0,0,0,.30);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* TÍTULOS DEL CASE STUDY */
.hv-brand-case h2,
.hv-brand-case h3,
.hv-brand-case h4 {
    color: #ff1e4d !important;

    margin-top: 28px !important;
    margin-bottom: 12px !important;

    font-weight: 800 !important;

    text-shadow:
        0 0 7px rgba(255,30,77,.35);
}


/* PRIMER TÍTULO */
.hv-brand-case h2:first-child,
.hv-brand-case h3:first-child {
    margin-top: 0 !important;
}


/* TEXTO */
.hv-brand-case p {
    color: #fff !important;

    line-height: 1.7 !important;

    margin-bottom: 18px !important;
}


/* LISTAS */
.hv-brand-case ul {
    margin: 18px 0 25px !important;
    padding-left: 0 !important;

    list-style: none !important;
}

.hv-brand-case li {
    position: relative;

    margin-bottom: 10px !important;
    padding-left: 22px !important;

    color: #fff !important;
}

.hv-brand-case li::before {
    content: "";

    position: absolute;
    left: 0;
    top: .7em;

    width: 6px;
    height: 6px;

    background: #ff1e4d;
    border-radius: 50%;

    box-shadow:
        0 0 7px rgba(255,30,77,.65);
}


/* IMÁGENES / MOCKUPS */
.hv-brand-case .wp-block-image {
    overflow: hidden !important;

    margin-top: 28px !important;
    margin-bottom: 28px !important;

    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 16px !important;

    background: #080808;

    box-shadow:
        0 10px 28px rgba(0,0,0,.30);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.hv-brand-case .wp-block-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    border-radius: 15px !important;

    transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        filter .4s ease;
}


/* HOVER */
@media (hover: hover) {

    .hv-brand-case:hover {
        border-color: rgba(255,30,77,.42) !important;

        box-shadow:
            0 0 8px rgba(255,30,77,.13),
            0 0 28px rgba(255,30,77,.05),
            0 18px 42px rgba(0,0,0,.35);
    }

    .hv-brand-case .wp-block-image:hover {
        transform: translateY(-4px);

        border-color: rgba(255,30,77,.60) !important;

        box-shadow:
            0 0 7px rgba(255,30,77,.25),
            0 0 20px rgba(255,30,77,.08),
            0 14px 30px rgba(0,0,0,.38);
    }

    .hv-brand-case .wp-block-image:hover img {
        transform: scale(1.02);
        filter: brightness(.94);
    }
}


/* MÓVIL */
@media (max-width: 700px) {

    .hv-brand-case {
        margin: 35px auto !important;
        padding: 24px 18px !important;

        border-radius: 16px !important;
    }

    .hv-brand-case p,
    .hv-brand-case li {
        font-size: 15px !important;
    }

    .hv-brand-case .wp-block-image,
    .hv-brand-case .wp-block-image img {
        border-radius: 12px !important;
    }
}

/* Limpiar texto del case study de branding */
.hv-brand-case p,
.hv-brand-case li {
    text-shadow: none !important;
}

/* Mantener glow solo en destacados */
.hv-brand-case strong,
.hv-brand-case h2,
.hv-brand-case h3,
.hv-brand-case h4 {
    text-shadow:
        0 0 6px rgba(255,30,77,.35) !important;
}

/* Recuperar neón SOLO en textos rojos del branding */
.hv-brand-case .has-inline-color,
.hv-brand-case mark,
.hv-brand-case span[style*="color"],
.hv-brand-case strong {
    text-shadow:
        0 0 5px rgba(255,30,77,.65),
        0 0 12px rgba(255,30,77,.28) !important;
}

/* Títulos con un poco más de presencia */
.hv-brand-case h2,
.hv-brand-case h3,
.hv-brand-case h4 {
    text-shadow:
        0 0 6px rgba(255,30,77,.70),
        0 0 18px rgba(255,30,77,.30) !important;
}



.contact-note-clean {
    text-shadow: none !important;
    color: rgba(255,255,255,.65) !important;
    font-size: 14px !important;
    text-align: center !important;
}




/* Confirmación del formulario */
.wp-block-jetpack-contact-form .contact-form-submission p,
.wp-block-jetpack-contact-form .wp-block-jetpack-contact-form-success-message {
    color: rgba(255,255,255,.78) !important;
    text-shadow: none !important;
    line-height: 1.6 !important;
}

/* Enlace volver */
.wp-block-jetpack-contact-form a {
    color: #ff1e4d !important;
}


/* Mensaje personalizado después de enviar el formulario */
.jetpack_forms_contact-form-custom-success-message,
.jetpack_forms_contact-form-custom-success-message * {
    color: rgba(255,255,255,.82) !important;
    text-shadow: none !important;
}

.jetpack_forms_contact-form-custom-success-message {
    margin-top: 24px !important;
    max-width: 620px !important;
}