/*
Theme Name: Hello Elementor Child — Riovera
Theme URI: https://lighthousemarketing.es/
Description: Child theme de Hello Elementor para el proyecto Riovera Pickleball.
Author: Lighthouse Marketing
Author URI: https://lighthousemarketing.es/
Template: hello-elementor
Version: 0.15.0
Text Domain: hello-elementor-child
*/

:root {
  --rv-bg: #0A0A0A; --rv-bg-section: #111111; --rv-surface: #161616;
  --rv-text: #FFFFFF; --rv-text-mid: #CCCCCC; --rv-text-dim: #888888;
  --rv-blue: #5BB8F5; --rv-lime: #C8F000; --rv-overlay: rgba(0, 0, 0, 0.22);
}

body { background: var(--rv-bg); color: var(--rv-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html { scroll-behavior: smooth; }

/* Pelota del hero */
.hero-ball { position: absolute; top: 14%; right: 10%; width: 220px; height: 220px; animation: rv-floatBall 4s ease-in-out infinite; z-index: 2; pointer-events: none; }
.hero-ball::after { content: ""; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); width: 140px; height: 20px; background: radial-gradient(rgba(200,240,0,0.25) 0%, transparent 70%); border-radius: 50%; }
.hero-ball-circle { width: 100%; height: 100%; border-radius: 50%; background: var(--rv-lime); position: relative; box-shadow: 0 0 60px rgba(200,240,0,0.5), 0 0 120px rgba(200,240,0,0.25), 0 0 200px rgba(200,240,0,0.15), 0 0 350px rgba(200,240,0,0.08), 0 0 500px rgba(200,240,0,0.04); animation: rv-pulseBall 4s ease-in-out infinite; }
.hero-ball-circle::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.5) 0%, transparent 55%); }
.hero-ball-holes { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(5, 1fr); padding: 32px; animation: rv-rotateBall 4s ease-in-out infinite; }
.hero-ball-holes .hole { width: 14px; height: 14px; border-radius: 50%; background: var(--rv-overlay); align-self: center; justify-self: center; }

@keyframes rv-floatBall { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-50px); } }
@keyframes rv-rotateBall { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(20deg); } }
@keyframes rv-pulseBall { 0%, 100% { box-shadow: 0 0 60px rgba(200,240,0,0.5), 0 0 120px rgba(200,240,0,0.25), 0 0 200px rgba(200,240,0,0.15), 0 0 350px rgba(200,240,0,0.08), 0 0 500px rgba(200,240,0,0.04); } 50% { box-shadow: 0 0 80px rgba(200,240,0,0.8), 0 0 160px rgba(200,240,0,0.4), 0 0 260px rgba(200,240,0,0.2), 0 0 400px rgba(200,240,0,0.12), 0 0 600px rgba(200,240,0,0.06); } }

@media (max-width: 767px) {
  .hero-ball { width: 140px; height: 140px; right: 5%; top: 10%; }
  .hero-ball-holes { padding: 20px; }
  .hero-ball-holes .hole { width: 10px; height: 10px; }
}

.hero-scroll {
  position: absolute !important;
  bottom: 220px !important;
  right: 48px !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  color: var(--rv-text-dim);
  font-family: "DM Sans", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 4px;
  writing-mode: horizontal-tb;
}
.hero-scroll-line {
  width: 1px !important;
  height: 50px !important;
  background: linear-gradient(to bottom, rgb(91, 184, 245), rgba(91, 184, 245, 0)) !important;
  animation: rv-scrollLine 2s ease-in-out infinite;
  align-self: flex-end;
}
@keyframes rv-scrollLine { 0% { transform: scaleY(0); transform-origin: center top; opacity: 0; } 50% { transform: scaleY(1); transform-origin: center top; opacity: 1; } 100% { transform: scaleY(0); transform-origin: center bottom; opacity: 0; } }

/* Hero utilidades */
.rv-deco-watermark .elementor-heading-title, .rv-deco-watermark.elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: clamp(120px, 18vw, 260px) !important; font-weight: 400 !important; letter-spacing: 20px !important; color: rgba(255,255,255,0.05) !important; line-height: 1 !important; pointer-events: none; user-select: none; white-space: nowrap; }
.rv-headline em, .rv-headline .elementor-heading-title em { color: var(--rv-lime); font-style: normal; }
.rv-hero { position: relative !important; overflow: hidden; }
.rv-stat-number .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 44px !important; letter-spacing: 2px !important; color: var(--rv-lime) !important; line-height: 1 !important; }
.rv-stat-label .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 400 !important; letter-spacing: 3px !important; color: var(--rv-text-dim) !important; text-transform: uppercase !important; line-height: 1.4 !important; }

.elementor-widget-shortcode:has(.hero-ball) { position: absolute !important; inset: 0; pointer-events: none; z-index: 2; }
.elementor-widget-shortcode:has(.hero-scroll) { position: absolute !important; inset: 0; pointer-events: none; z-index: 3; }
.elementor-widget-shortcode:has(.hero-ball) .elementor-shortcode, .elementor-widget-shortcode:has(.hero-scroll) .elementor-shortcode { position: absolute; inset: 0; }

/* Tipografía secciones 2-10 */
.rv-eyebrow .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 4px !important; text-transform: uppercase !important; line-height: 1.4 !important; }
.rv-eyebrow-lime .elementor-heading-title { color: var(--rv-lime) !important; }
.rv-eyebrow-blue .elementor-heading-title { color: var(--rv-blue) !important; }
.rv-h2 .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 72px !important; font-weight: 400 !important; letter-spacing: 1px !important; line-height: 1.05 !important; color: var(--rv-text) !important; }
.rv-h2 em, .rv-h2 .elementor-heading-title em { color: var(--rv-lime); font-style: normal; }
.rv-lead p, .rv-lead .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 16px !important; font-weight: 300 !important; line-height: 1.65 !important; color: var(--rv-text-mid) !important; }

/* Pilares */
.rv-pillar { background: var(--rv-surface) !important; border: 1px solid #222 !important; border-radius: 2px !important; padding: 18px 20px !important; }
.rv-pillar-num .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 28px !important; font-weight: 400 !important; letter-spacing: 1px !important; color: var(--rv-blue) !important; line-height: 1 !important; min-width: 40px !important; }
.rv-pillar-title .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 2px !important; color: var(--rv-text) !important; text-transform: uppercase !important; }
.rv-pillar-desc p, .rv-pillar-desc .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 13px !important; font-weight: 300 !important; color: var(--rv-text-dim) !important; line-height: 1.55 !important; }

/* Cards genéricas */
.rv-card { background: var(--rv-surface) !important; border: 1px solid #222 !important; border-radius: 4px !important; padding: 24px !important; transition: border-color 0.2s, transform 0.2s; }
.rv-card:hover { border-color: #3a3a3a !important; transform: translateY(-2px); }
.rv-badge .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 3px !important; text-transform: uppercase !important; color: var(--rv-text-dim) !important; }
.rv-card-title .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 16px !important; font-weight: 600 !important; color: var(--rv-text) !important; line-height: 1.35 !important; }
.rv-card-meta .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 12px !important; color: var(--rv-text-dim) !important; letter-spacing: 1px !important; }
.rv-card-link .elementor-button { background: transparent !important; border: 1px solid #333 !important; color: var(--rv-text) !important; font-family: "DM Sans", sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 10px 16px !important; }
.rv-card-link .elementor-button:hover { border-color: var(--rv-blue) !important; color: var(--rv-blue) !important; }

/* Planes Comunidad */
.rv-plan { background: var(--rv-surface) !important; border: 1px solid #222 !important; border-radius: 4px !important; padding: 32px !important; }
.rv-plan-premium { border-color: var(--rv-lime) !important; }
.rv-plan-badge .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important; color: var(--rv-lime) !important; }
.rv-plan-name .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 36px !important; font-weight: 400 !important; letter-spacing: 1px !important; color: var(--rv-text) !important; }

/* Stats grandes (manifesto) */
.rv-bigstat-num .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 48px !important; font-weight: 400 !important; color: var(--rv-text) !important; line-height: 1 !important; letter-spacing: 1px !important; }
.rv-bigstat-label .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 2px !important; color: var(--rv-blue) !important; text-transform: uppercase !important; }
.rv-bigstat-desc p, .rv-bigstat-desc .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 13px !important; font-weight: 300 !important; color: var(--rv-text-dim) !important; }


/* Fixes pixel-perfect hero (v0.5.0) */
/* 1. Ocultar el page header "Inicio" de Hello Elementor en cualquier página con Elementor */
.elementor-page .page-header { display: none !important; }

/* 2. Watermark RIOVERA centrado dead-center del hero (en lugar de top:28%) */
.rv-hero .rv-deco-watermark,
.e-parent:has(.rv-deco-watermark) .rv-deco-watermark.elementor-element {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  z-index: 1 !important;
}
/* Asegurar que el inner heading title respeta la posición y no se desborda */
.rv-deco-watermark .elementor-widget-container { line-height: 1 !important; }



/* 4. Asegurar que el hero ocupa 100vh real (a veces queda como 1200px fijo, queremos viewport) */
.e-parent:has(.hero-ball) { min-height: 100vh !important; }

/* 5. Asegurar que TODOS los elementos por encima del watermark (z) se ven encima */
.e-parent:has(.hero-ball) > .e-con:not(:has(.hero-ball)):not(:has(.hero-scroll)) { position: relative; z-index: 2; }


/* 3-bis. Línea separadora stats hero — selector más robusto */
/* Target the stats row container: cualquier .e-con cuyo único hijo .e-con-inner contenga .rv-stat-number directa o indirectamente, dentro del hero */
.elementor-page .e-parent .e-child.e-con:has(.rv-stat-number):not(:has(.hero-ball)):not(:has(.hero-scroll)):not(:has(.rv-headline)) {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.elementor-page .e-parent .e-child.e-con:has(.rv-stat-number):not(:has(.hero-ball)):not(:has(.hero-scroll)):not(:has(.rv-headline)) > .e-con-inner {
  padding-top: 32px !important;
}


/* === HERO v0.6: contenido en bottom-left, headline 3 lineas, scroll vertical === */
.elementor-page .e-parent:has(.hero-ball) > .e-child.e-con:has(.rv-headline) {
  margin-top: auto !important;
  padding-top: 0 !important;
}
.elementor-page .e-parent:has(.hero-ball) > .e-child.e-con:has(.rv-headline) > .e-con-inner {
  padding-top: 0 !important;
}
.rv-headline { max-width: 720px !important; }
.rv-headline .elementor-widget-container { max-width: 720px; }
/* [old hero-scroll column rule removed] */
/* [old line rule removed] */


/* === v0.8: container más amplio + línea antes de eyebrows === */

/* 1. Container boxed más amplio para que el contenido use más viewport (Figma usa ~1440-1500) */
.elementor-page .e-con-boxed > .e-con-inner { max-width: 1440px !important; }

/* 2. Línea decorativa antes del texto eyebrow */
.rv-eyebrow .elementor-heading-title::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; vertical-align: middle; margin-right: 10px; position: relative; top: -2px; }


/* v0.9: Línea decorativa también al eyebrow del hero (que no tiene .rv-eyebrow class) */
.elementor-page .e-parent:has(.hero-ball) h6.elementor-heading-title::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background: currentColor;
  vertical-align: middle;
  margin-right: 14px;
  position: relative;
  top: -2px;
}


/* v0.10: stats con separadores verticales + contenido centrado */
/* Centrar cada columna de stat (number + label) */
.elementor-page .e-parent:has(.hero-ball) .e-con-inner > .e-con:has(.rv-stat-number) > .e-con-inner {
  align-items: center !important;
}
.rv-stat-number .elementor-heading-title,
.rv-stat-label .elementor-heading-title {
  text-align: center !important;
}
/* Border-right separador entre columnas de stats (excepto la última) */
.elementor-page .e-parent:has(.hero-ball) .e-con-inner > .e-con:has(.rv-stat-number):not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}


/* v0.11: Alternar colores de stats hero — lima/azul/lima/azul */
.elementor-page .e-parent:has(.hero-ball) .e-con-inner > .e-con:has(.rv-stat-number):nth-child(odd) .rv-stat-number .elementor-heading-title {
  color: var(--rv-lime) !important;
}
.elementor-page .e-parent:has(.hero-ball) .e-con-inner > .e-con:has(.rv-stat-number):nth-child(even) .rv-stat-number .elementor-heading-title {
  color: var(--rv-blue) !important;
}


/* v0.12: Span "SCROLL" rotado vertical (writing-mode), línea a la derecha azul */
.hero-scroll span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(0deg);
  letter-spacing: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--rv-text-dim);
}


/* v0.14: separar el contenido del hero de los stats para que SCROLL quepa en el gap */
.elementor-page .e-parent:has(.hero-ball) > .e-child.e-con:has(.rv-headline) {
  margin-bottom: 100px !important;
}


/* === SECCIÓN EXPERIENCE (v0.15): foto izquierda + stops list derecha === */

/* Outer row: full width 2-col, sin padding lateral */
.rv-exp-row { padding: 0 !important; max-width: none !important; }
.rv-exp-row > .e-con-inner { max-width: none !important; padding: 0 !important; }

/* Columna izquierda: foto del jugador como background */
.rv-exp-left {
  position: relative !important;
  background-image: url('http://rafa.lighthouse-marketing.es/wp-content/uploads/2026/06/RIOVERA-PICKLEBALL-15-scaled-1.jpeg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: var(--rv-surface) !important;
  min-height: 700px;
}
.rv-exp-left::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,0) 50%, rgba(10,10,10,0.6) 100%);
  pointer-events: none;
}

/* Overlay del eyebrow + tags sobre la foto */
.rv-exp-overlay {
  position: absolute !important;
  bottom: 80px !important;
  left: 60px !important;
  right: 60px !important;
  z-index: 2;
}



/* Columna derecha: contenido */
.rv-exp-right {
  background: var(--rv-bg) !important;
  padding: 80px 60px !important;
}

/* Lista de stops */
.rv-stop {
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.rv-stop:last-child { border-bottom: none !important; }
.rv-stop > .e-con-inner {
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
}

/* Dot lima a la izquierda del stop */




/* City + venue stack */
.rv-stop-info { flex: 1; }
.rv-stop-city .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: var(--rv-text) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.rv-stop-venue .elementor-heading-title,
.rv-stop-venue p, .rv-stop-venue .elementor-widget-container p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--rv-text-dim) !important;
  margin: 2px 0 0 !important;
}

/* Date */
.rv-stop-date .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--rv-text-dim) !important;
  letter-spacing: 1px !important;
  white-space: nowrap;
}

/* Status badge */
.rv-stop-status .elementor-heading-title {
  display: inline-block !important;
  padding: 4px 10px !important;
  background: rgba(200,240,0,0.12) !important;
  color: var(--rv-lime) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  white-space: nowrap;
}


/* v0.17: pillar hover state */



/* v0.18: hover SOLO en pillars individuales, no en toda la sección */
.rv-pillar { transition: border-color 0.2s ease, background-color 0.2s ease; cursor: default; }
.rv-pillar:hover { border-color: var(--rv-blue) !important; background-color: rgba(91, 184, 245, 0.04) !important; }


/* v0.19: alternar color pillar-num — modifier lime */
.rv-pillar-num-lime .elementor-heading-title { color: var(--rv-lime) !important; }


/* ============================================
   v0.20 — Secciones Features / Manifesto / Comunidad CTA / Confían
   ============================================ */

/* Features card icon (emoji 32px) */
.rv-feat-icon .elementor-heading-title { font-size: 32px !important; line-height: 1 !important; }

/* Features title */
.rv-feat-title .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 28px !important; font-weight: 400 !important; letter-spacing: 1px !important; color: var(--rv-text) !important; line-height: 1.2 !important; }

/* Features descripción */
.rv-feat-desc p, .rv-feat-desc .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 14px !important; font-weight: 300 !important; color: var(--rv-text-dim) !important; line-height: 1.55 !important; }

/* Features link "SABER MÁS" */
.rv-feat-link .elementor-button { background: transparent !important; padding: 0 !important; color: var(--rv-blue) !important; font-family: "DM Sans", sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 3px !important; text-transform: uppercase !important; border: none !important; }

/* Features número watermark al fondo de cada card */
.rv-feat-num .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 80px !important; font-weight: 400 !important; color: rgba(91, 184, 245, 0.05) !important; line-height: 1 !important; pointer-events: none; user-select: none; }

/* Manifesto bg cream — eyebrow y h2 dark */

.rv-manifesto-h2 .elementor-heading-title { color: #0A0A0A !important; }
.rv-manifesto-h2 em, .rv-manifesto-h2 .elementor-heading-title em { color: var(--rv-lime) !important; font-style: normal; }
.rv-manifesto-lead p, .rv-manifesto-lead .elementor-widget-container p { color: rgba(0, 0, 0, 0.75) !important; }

/* Manifesto stats stacked */
.rv-mstat-num .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 48px !important; font-weight: 400 !important; color: #FFFFFF !important; line-height: 1 !important; letter-spacing: 1px !important; }
.rv-mstat-label .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 3px !important; color: #FFFFFF !important; text-transform: uppercase !important; }
.rv-mstat-desc p, .rv-mstat-desc .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 13px !important; font-weight: 300 !important; color: rgba(255, 255, 255, 0.7) !important; }

/* Comunidad CTA lima */
.rv-cta-title .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 36px !important; font-weight: 400 !important; color: #0A0A0A !important; line-height: 1 !important; }
.rv-cta-sub p, .rv-cta-sub .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 14px !important; color: rgba(0, 0, 0, 0.65) !important; }


/* v0.21: Experience fixes — overlay centrado + h2 sub azul + stop active vs tbd */

/* Overlay badge pill AZUL (BY PICKLEBALL INDOOR · 2026) */
.rv-exp-overlay-eyebrow .elementor-heading-title { display: inline-block !important; padding: 8px 20px !important; background: var(--rv-blue) !important; color: #0A0A0A !important; font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 4px !important; text-transform: uppercase !important; border-radius: 2px !important; }

/* Tags texto blanco centrado */
.rv-exp-tags p, .rv-exp-tags .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 16px !important; font-weight: 500 !important; color: #FFFFFF !important; line-height: 1.5 !important; text-align: center !important; letter-spacing: 1px !important; margin: 0 !important; }

/* H2 sub "by Pickleball Indoor" azul + pequeño */
.rv-h2 .rv-h2-sub, .rv-h2 span.rv-h2-sub { color: var(--rv-blue) !important; font-style: normal !important; font-size: 40px !important; display: inline-block; line-height: 1; }

/* Stop active (1st): dot lima con glow + badge lima translúcido */

/* Stop tbd (2,3,4): dot gris #222 sin glow + badge gris */


/* v0.22: stop dot perfectly round + active/tbd via widget classes */
.rv-stop-dot { width: 10px !important; min-width: 10px !important; max-width: 10px !important; flex-shrink: 0 !important; }
.rv-stop-dot .elementor-widget-container { width: 10px !important; height: 10px !important; display: flex; align-items: center; justify-content: center; }
.rv-stop-dot .elementor-heading-title { display: none !important; }
.rv-stop-dot::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #222;
  flex-shrink: 0;
}
/* Active (1st stop): lime con glow */
.rv-stop-dot-active::before {
  background: var(--rv-lime) !important;
  box-shadow: 0 0 12px rgba(200, 240, 0, 0.5) !important;
}
/* TBD (rest): gray */
.rv-stop-dot-tbd::before {
  background: #222 !important;
  box-shadow: none !important;
}

/* Status badge — active y tbd */
.rv-stop-status-active .elementor-heading-title { background: rgba(200, 240, 0, 0.12) !important; color: var(--rv-lime) !important; }
.rv-stop-status-tbd .elementor-heading-title { background: rgba(255, 255, 255, 0.05) !important; color: var(--rv-text-dim) !important; }

/* Margin entre date y status */
.rv-stop-date { margin-right: 12px !important; }


.elementor-page .e-con:has(> .e-con-inner > .e-con .rv-mstat-num) > .e-con-inner > .e-con.e-child:nth-child(2) {
  margin-left: 24px !important;
  width: calc(100% - 24px) !important;
  align-self: flex-end !important;
}
.elementor-page .e-con:has(> .e-con-inner > .e-con .rv-mstat-num) > .e-con-inner > .e-con.e-child:nth-child(3) {
  margin-left: 48px !important;
  width: calc(100% - 48px) !important;
  align-self: flex-end !important;
}


/* v0.26: Manifesto stats staircase — target SOLO las cards (que tienen .rv-mstat-num como direct-grandchild) */




/* v0.28: Manifesto stats staircase via ID-específico */


/* === v0.29: Secciones finales — Contenido + Clases + CTA Final === */

/* Contenido cards (YT/Podcast) */
.rv-content-card { background: var(--rv-surface) !important; border: 1px solid #222 !important; border-radius: 0 !important; overflow: hidden; transition: border-color 0.2s, transform 0.2s; }
.rv-content-card:hover { border-color: var(--rv-blue) !important; transform: translateY(-2px); }

/* CTA final lima grande "¿Te unes a Riovera?" */
.rv-cta-final-h2 .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 88px !important; font-weight: 400 !important; color: #0A0A0A !important; line-height: 1 !important; letter-spacing: 2px !important; text-align: center !important; }
.rv-cta-final-h2 em, .rv-cta-final-h2 .elementor-heading-title em { color: #FFFFFF !important; font-style: normal; }
.rv-cta-final-lead p, .rv-cta-final-lead .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 16px !important; color: rgba(0,0,0,0.75) !important; text-align: center !important; }

/* Clases niveles cards */
.rv-level-eyebrow .elementor-heading-title { font-family: "DM Sans", sans-serif !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 4px !important; color: var(--rv-blue) !important; text-transform: uppercase !important; }
.rv-level-name .elementor-heading-title { font-family: "Bebas Neue", sans-serif !important; font-size: 44px !important; font-weight: 400 !important; color: var(--rv-text) !important; line-height: 1 !important; letter-spacing: 1px !important; }
.rv-level-desc p, .rv-level-desc .elementor-widget-container p { font-family: "DM Sans", sans-serif !important; font-size: 14px !important; font-weight: 300 !important; color: var(--rv-text-dim) !important; line-height: 1.55 !important; }


/* v0.31: forzar layout Manifesto via ID-específico (Elementor no aplica width al col 2) */
.elementor-element-rvMfnqfa4 > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 80px !important; }
.elementor-element-rvMfL26ca { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; }
.elementor-element-rvMfR7arl { width: 42% !important; flex: 0 0 42% !important; max-width: 42% !important; }
@media (max-width: 768px) {
  .elementor-element-rvMfnqfa4 > .e-con-inner { flex-direction: column !important; }
  .elementor-element-rvMfL26ca, .elementor-element-rvMfR7arl { width: 100% !important; flex: 1 1 100% !important; max-width: 100% !important; }
}


/* v0.32: forzar layout Comunidad 2 cols via ID-específico */
.elementor-element-rvCm2Lnj8t { width: 47% !important; flex: 0 0 47% !important; max-width: 47% !important; }
.elementor-element-rvCm2Rioiv { width: 47% !important; flex: 0 0 47% !important; max-width: 47% !important; }
@media (max-width: 768px) {
  .elementor-element-rvCm2Lnj8t, .elementor-element-rvCm2Rioiv { width: 100% !important; flex: 1 1 100% !important; max-width: 100% !important; }
}


/* v0.33: forzar layout Clases 2 cols (30/63) via ID-específico */
.elementor-element-rvCl2Lsmbk { width: 30% !important; flex: 0 0 30% !important; max-width: 30% !important; }
.elementor-element-rvCl2Rwsp1 { width: 63% !important; flex: 0 0 63% !important; max-width: 63% !important; }
@media (max-width: 768px) {
  .elementor-element-rvCl2Lsmbk, .elementor-element-rvCl2Rwsp1 { width: 100% !important; flex: 1 1 100% !important; max-width: 100% !important; }
}


/* v0.34: Logos partners de Confían en Riovera — todos en blanco */
img[src*="/2026/06/1.png"],
img[src*="/2026/06/2-1.png"],
img[src*="/2026/06/3.png"] {
  filter: brightness(0) invert(1) !important;
  opacity: 0.9;
  transition: opacity 0.2s, filter 0.2s;
}
img[src*="/2026/06/1.png"]:hover,
img[src*="/2026/06/2-1.png"]:hover,
img[src*="/2026/06/3.png"]:hover {
  opacity: 1;
}
