/* ============================================================
   SCA Dark Gold — Sistema de diseño y Estilo Peña-Anguera (v1.6.0)
   Paleta: #121212 / Oro #F1C40F / #C79D28 · Referencia: peña-anguera
   ============================================================ */

:root {
  /* Paleta oficial SCAcademy23 */
  --sca-bg: #121212;
  --sca-bg-alt: #1a1a1a;
  --sca-bg-card: #181818;
  --sca-text: #ffffff;
  --text-dark: #000000;
  --sca-oro: #f1c40f;
  --sca-oro-btn: #c79d28;
  --sca-oro-hover: #e6b800;
  --sca-oro-deep: #a67c00;
  --sca-font-display: 'Archivo Black', 'Josefin Sans', sans-serif;
  --sca-font-body: 'Comfortaa', 'Josefin Sans', sans-serif;
  --sca-ease-out: cubic-bezier(0.22, 1, 0.36, 1);

  /* Sobrescribir variables de Solace para garantizar modo oscuro */
  --sol-color-background: #121212;
  --sol-color-base-font: #ffffff;
  --sol-color-heading: #ffffff;
  --sol-color-link-button-initial: #c79d28;
  --sol-color-link-button-hover: #e6b800;
  --sol-color-button-initial: #c79d28;
  --sol-color-button-hover: #e6b800;
  --sol-color-border: rgba(255, 255, 255, 0.08);
  --sol-color-selection-initial: #121212;
  --sol-color-selection-high: #f1c40f;
  --sol-color-page-title-text: #ffffff;
  --sol-color-bg-menu-dropdown: #181818;
}

/* ============================================================
   1. Garantizar Fondo Oscuro Global (#121212) y Prevenir Scroll Horizontal
   ============================================================ */

html,
body {
  overflow-x: hidden !important;
  background-color: #121212 !important;
  color: #ffffff !important;
}

#solace_body,
#page,
.site-content,
#content,
main,
.main-page,
.container-page,
.wrapper,
.footer,
.site-footer,
.footer--row,
.boxes-content,
.the-content {
  background-color: #121212 !important;
  color: #ffffff !important;
}

/* Eliminar subrayados de enlaces globales */
a,
a:hover,
a:focus {
  text-decoration: none !important;
}

::selection {
  background: var(--sca-oro);
  color: #121212;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  color: #ffffff !important;
}

/* ============================================================
   2. ELIMINAR ELEMENTOS SOBRANTES
   ============================================================ */

/* Ocultar el botón 'Subir diseño / Subir tema' */
header.header .builder-item--button_base,
header.header .builder-item--button_base a,
.builder-item--button_base,
.builder-item--button_base2,
.builder-item--button_base3,
.builder-item--button_base4 {
  display: none !important;
}

/* ============================================================
   3. NAVBAR FLOTANTE EN CÁPSULA (Estilo exacto Peña-Anguera)
   ============================================================ */

header.header {
  position: fixed !important;
  top: 16px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  pointer-events: none;
  transition: top 0.35s ease, transform 0.35s ease;
}

body.admin-bar header.header {
  top: 48px !important;
}
@media (max-width: 782px) {
  body.admin-bar header.header {
    top: 62px !important;
  }
}

/* Limpieza total de bordes y fondos en todos los niveles de la cabecera */
header.header,
header.header .header--row,
header.header .header-main,
header.header .header-top,
header.header .header-bottom,
header.header .header--row-inner,
header.header .header-main-inner,
header.header .header-top-inner,
header.header .header-bottom-inner,
header.header .header-mobile-wrap,
header.header .row--wrapper,
header.header .row,
header.header .hfg-grid,
header.header .hfg-slot,
header.header .builder-item {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* La ÚNICA Cápsula / Pill flotante de navegación */
header.header .header--row.header-main .container {
  pointer-events: auto !important;
  max-width: 1180px !important;
  width: calc(100% - 24px) !important;
  margin: 0 auto !important;
  padding: 6px 18px !important;
  background: rgba(18, 18, 18, 0.94) !important;
  background-color: #121212 !important;
  backdrop-filter: blur(24px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(190%) !important;
  border: 1px solid rgba(241, 196, 15, 0.35) !important;
  border-radius: 9999px !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.8), 0 0 20px rgba(241, 196, 15, 0.12) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}

header.header .header--row.header-main .container:hover {
  border-color: rgba(241, 196, 15, 0.6) !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.9), 0 0 26px rgba(241, 196, 15, 0.25) !important;
}

/* Distribución interna de la cápsula */
header.header .header--row.header-main .container .row--wrapper,
header.header .header--row.header-main .container .row,
header.header .header--row.header-main .container .hfg-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Logo siempre a la IZQUIERDA */
header.header .builder-item--logo,
header.header .site-logo,
header.header [data-item-id="logo"],
header.header .hfg-slot.left {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  order: 1 !important;
  margin-right: auto !important;
}

/* ============================================================
   VISIBILIDAD Y LAYOUT ESCRITORIO VS MÓVIL (BIDIRECCIONAL)
   ============================================================ */

/* ESCRITORIO (>= 960px): Mostrar menú horizontal, ocultar botón hamburguesa y sidebar móvil */
@media screen and (min-width: 960px) {
  header.header .builder-item--nav-icon,
  header.header [data-item-id="nav-icon"],
  header.header .navbar-toggle-wrapper.builder-item--nav-icon,
  header.header .menu-mobile-toggle,
  header.header button.navbar-toggle:not(.header-menu-sidebar button),
  header.header .navbar-toggle:not(.header-menu-sidebar .navbar-toggle),
  #header-menu-sidebar,
  .header-menu-sidebar,
  #header-menu-sidebar-bg,
  .header-menu-sidebar-bg,
  .header-menu-sidebar-overlay {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  header.header .builder-item.has-nav,
  header.header .builder-item--primary-menu,
  header.header .nav-menu-primary,
  header.header .nv-nav-wrap {
    display: flex !important;
    align-items: center !important;
    order: 2 !important;
  }
}

/* MÓVIL Y TABLET (< 960px): Ocultar menú horizontal, mostrar botón hamburguesa a la DERECHA */
@media screen and (max-width: 959px) {
  header.header .builder-item.has-nav:not(.header-menu-sidebar .has-nav),
  header.header .builder-item--primary-menu:not(.header-menu-sidebar .builder-item--primary-menu),
  header.header .nav-menu-primary:not(.header-menu-sidebar .nav-menu-primary),
  header.header .nv-nav-wrap:not(.header-menu-sidebar .nv-nav-wrap) {
    display: none !important;
  }
  header.header .builder-item--nav-icon,
  header.header [data-item-id="nav-icon"],
  header.header .navbar-toggle-wrapper,
  header.header .menu-mobile-toggle,
  header.header .hfg-slot.right,
  header.header button.navbar-toggle,
  header.header .navbar-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    order: 10 !important;
    margin-left: auto !important;
  }
  header.header button.navbar-toggle {
    margin-left: auto !important;
  }
}

header.header .site-logo img {
  max-height: 36px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: transform 0.3s ease;
}
header.header .site-logo a:hover img {
  transform: scale(1.06);
}

/* Contenedor del menú principal */
header.header .builder-item.has-nav,
header.header .item--inner.builder-item--primary-menu,
header.header .nv-nav-wrap,
header.header .nav-menu-primary {
  display: flex !important;
  align-items: center !important;
}

/* Lista de enlaces del menú desktop */
.nav-menu-primary ul.primary-menu-ul {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

.nav-menu-primary ul.primary-menu-ul > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

/* Botones Pill sin saltos de línea (white-space: nowrap) */
.nav-menu-primary ul.primary-menu-ul > li > a {
  border-radius: 9999px !important;
  padding: 5px 11px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* Botones especiales Acceder y Registro en Menú Desktop */
.nav-menu-primary ul.primary-menu-ul > li.menu-item-383 > a,
.nav-menu-primary ul.primary-menu-ul > li a[href*="/login/"] {
  border: 1px solid rgba(241, 196, 15, 0.5) !important;
  color: var(--sca-oro) !important;
  padding: 5px 12px !important;
  background: rgba(241, 196, 15, 0.08) !important;
}
.nav-menu-primary ul.primary-menu-ul > li.menu-item-383 > a:hover,
.nav-menu-primary ul.primary-menu-ul > li a[href*="/login/"]:hover {
  background: rgba(241, 196, 15, 0.22) !important;
  color: #ffffff !important;
  border-color: var(--sca-oro) !important;
}

.nav-menu-primary ul.primary-menu-ul > li.menu-item-384 > a,
.nav-menu-primary ul.primary-menu-ul > li a[href*="/register/"] {
  background: linear-gradient(135deg, #f1c40f 0%, #c79d28 100%) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  padding: 5px 14px !important;
  box-shadow: 0 2px 8px rgba(241, 196, 15, 0.3) !important;
}
.nav-menu-primary ul.primary-menu-ul > li.menu-item-384 > a:hover,
.nav-menu-primary ul.primary-menu-ul > li a[href*="/register/"]:hover {
  background: linear-gradient(135deg, #ffe066 0%, #dfb532 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(241, 196, 15, 0.45) !important;
}

/* Submenús Desplegables en Escritorio (Eventos, Blog, Más, etc.) */
header.header .header-main .primary-menu-ul .sub-menu,
header.header .header-main .nav-ul .sub-menu,
header.header .builder-item--primary-menu .sub-menu,
header.header .nv-nav-wrap .sub-menu,
header.header .nav-menu-primary ul.sub-menu,
header.header .primary-menu-ul ul.sub-menu,
header.header .primary-menu-ul .sub-menu,
header.header .nav-ul ul.sub-menu,
header.header .nav-ul .sub-menu,
header.header .sub-menu,
header.header ul.sub-menu,
.primary-menu-ul ul.sub-menu,
.primary-menu-ul .sub-menu,
.nav-menu-primary .sub-menu,
.nav-ul .sub-menu,
.nav-ul li.menu-item-has-children .sub-menu,
.nav-ul li.menu-item-has-children:hover > .sub-menu,
.primary-menu-ul li.menu-item-has-children .sub-menu,
.primary-menu-ul li.menu-item-has-children:hover > .sub-menu,
ul.sub-menu,
.sub-menu,
.sca-dropdown-menu {
  background: #141414 !important;
  background-color: #141414 !important;
  backdrop-filter: blur(24px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(190%) !important;
  border: 1px solid rgba(241, 196, 15, 0.45) !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 25px rgba(241, 196, 15, 0.15) !important;
  padding: 8px 6px !important;
  min-width: 220px !important;
  list-style: none !important;
  margin: 6px 0 0 0 !important;
  box-sizing: border-box !important;
  z-index: 999999 !important;
}

header.header .primary-menu-ul .sub-menu li,
header.header .nav-ul .sub-menu li,
header.header .sub-menu li,
.primary-menu-ul .sub-menu li,
.nav-ul .sub-menu li,
.sub-menu li,
ul.sub-menu li,
.sca-dropdown-menu li {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  list-style: none !important;
  margin: 3px 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
}

header.header .primary-menu-ul .sub-menu li a,
header.header .nav-ul .sub-menu li a,
header.header .sub-menu li a,
.primary-menu-ul .sub-menu li a,
.nav-ul .sub-menu li a,
.sub-menu li a,
ul.sub-menu li a,
.sca-dropdown-menu li a {
  display: block !important;
  width: 100% !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: var(--sca-font-body, 'Comfortaa', sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

header.header .primary-menu-ul .sub-menu li a:hover,
header.header .nav-ul .sub-menu li a:hover,
header.header .sub-menu li a:hover,
.primary-menu-ul .sub-menu li a:hover,
.nav-ul .sub-menu li a:hover,
.sub-menu li a:hover,
ul.sub-menu li a:hover,
.sca-dropdown-menu li a:hover {
  background: rgba(241, 196, 15, 0.18) !important;
  background-color: rgba(241, 196, 15, 0.18) !important;
  color: var(--sca-oro) !important;
  -webkit-text-fill-color: var(--sca-oro) !important;
  transform: translateX(4px) !important;
}

header.header .primary-menu-ul .sub-menu li.current-menu-item a,
header.header .nav-ul .sub-menu li.current-menu-item a,
.primary-menu-ul .sub-menu li.current-menu-item a,
.sub-menu li.current-menu-item a,
.sca-dropdown-menu li.current-menu-item a {
  background: var(--sca-oro-btn) !important;
  background-color: #c79d28 !important;
  color: #121212 !important;
  -webkit-text-fill-color: #121212 !important;
  font-weight: 700 !important;
}

/* Hover de enlaces */
.nav-menu-primary ul.primary-menu-ul > li > a:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

/* Enlace activo de la página actual */
.nav-menu-primary ul.primary-menu-ul > li.current-menu-item > a,
.nav-menu-primary ul.primary-menu-ul > li.current_page_item > a {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px rgba(199, 157, 40, 0.35) !important;
}
.nav-menu-primary ul.primary-menu-ul > li.current-menu-item > a:hover,
.nav-menu-primary ul.primary-menu-ul > li.current_page_item > a:hover {
  background: var(--sca-oro-hover) !important;
  color: #121212 !important;
}

/* ============================================================
   4. MENÚ DESPLEGABLE GLASS "MÁS ▾" (Para escritorio)
   ============================================================ */

.sca-dropdown-item {
  position: relative !important;
  display: inline-block !important;
}

.sca-dropdown-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border-radius: 9999px !important;
  padding: 6px 14px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: var(--sca-oro) !important;
  background: rgba(241, 196, 15, 0.12) !important;
  border: 1px solid rgba(241, 196, 15, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  outline: none !important;
}
.sca-dropdown-toggle:hover,
.sca-dropdown-item.is-open .sca-dropdown-toggle {
  background: var(--sca-oro) !important;
  color: #121212 !important;
  border-color: var(--sca-oro) !important;
  box-shadow: 0 0 15px rgba(241, 196, 15, 0.4) !important;
}

.sca-dropdown-toggle.has-active {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  border-color: var(--sca-oro-btn) !important;
}

.sca-dropdown-toggle svg {
  width: 12px;
  height: 12px;
  transition: transform 0.25s ease;
}
.sca-dropdown-item.is-open .sca-dropdown-toggle svg {
  transform: rotate(180deg);
}

.sca-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 14px) !important;
  right: 0 !important;
  min-width: 210px !important;
  background: #181818 !important;
  border: 1px solid rgba(241, 196, 15, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 25px rgba(241, 196, 15, 0.15) !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.22s var(--sca-ease-out), transform 0.22s var(--sca-ease-out), visibility 0.22s !important;
  z-index: 100000 !important;
  list-style: none !important;
  margin: 0 !important;
}

.sca-dropdown-item:hover .sca-dropdown-menu,
.sca-dropdown-item.is-open .sca-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.sca-dropdown-menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.sca-dropdown-menu li a {
  display: block !important;
  padding: 9px 15px !important;
  border-radius: 10px !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.sca-dropdown-menu li a:hover {
  background: rgba(241, 196, 15, 0.16) !important;
  color: var(--sca-oro) !important;
  padding-left: 20px !important;
}

.sca-dropdown-menu li.current-menu-item a {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

/* ============================================================
   5. MENÚ MÓVIL (100% Visible, Interactivo y Blindado)
   ============================================================ */

header.header .builder-item--nav-icon,
header.header .navbar-toggle,
header.header .header-menu-sidebar,
header.header .header-menu-sidebar-bg,
header.header .header-menu-sidebar-overlay {
  pointer-events: auto !important;
}

/* Botón hamburguesa */
header.header .builder-item--nav-icon button.navbar-toggle,
header.header button.navbar-toggle,
.close-sidebar-panel button.navbar-toggle,
.close-sidebar-panel button {
  background: rgba(199, 157, 40, 0.15) !important;
  border: 1px solid rgba(241, 196, 15, 0.45) !important;
  border-radius: 9999px !important;
  padding: 8px 12px !important;
  min-width: 44px !important;
  min-height: 40px !important;
  color: var(--sca-oro) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  position: relative !important;
}
header.header .builder-item--nav-icon button.navbar-toggle:hover,
header.header button.navbar-toggle:hover,
.close-sidebar-panel button:hover {
  background: var(--sca-oro) !important;
  color: #121212 !important;
  border-color: var(--sca-oro) !important;
  transform: scale(1.05) !important;
}
header.header button.navbar-toggle:hover .sca-hamburger-line,
header.header button.navbar-toggle:hover .icon-bar,
.close-sidebar-panel button:hover .icon-bar {
  background-color: #121212 !important;
}

/* Ocultar iconos SVG nativos para que manden las 3 barras animadas */
header.header button.navbar-toggle > svg:not(.sca-hamburger-svg),
.close-sidebar-panel button > svg {
  display: none !important;
}

/* Soporte de accesibilidad para screen-reader-text */
.screen-reader-text,
button.navbar-toggle .screen-reader-text,
header.header .screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

/* Contenedor Hamburguesa */
.sca-hamburger,
button.navbar-toggle .sca-hamburger,
.navbar-toggle .sca-hamburger {
  width: 24px !important;
  min-width: 24px !important;
  height: 18px !important;
  min-height: 18px !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Soporte para las 3 barras doradas */
header.header button.navbar-toggle .icon-bar,
.close-sidebar-panel button .icon-bar,
.sca-hamburger-line,
.sca-hamburger .sca-hamburger-line,
button.navbar-toggle .sca-hamburger-line {
  display: block !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 2.5px !important;
  min-height: 2.5px !important;
  background-color: #f1c40f !important;
  background: #f1c40f !important;
  border-radius: 2px !important;
  margin: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.25s ease,
              background-color 0.25s ease !important;
  transform-origin: center !important;
}

/* Animación fluida a 'X' cuando el menú está abierto */
body.sca-menu-open header.header button.navbar-toggle .icon-bar:nth-child(1),
header.header button.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(1),
header.header button.navbar-toggle.is-active .icon-bar:nth-child(1),
header.header button.navbar-toggle.active .icon-bar:nth-child(1),
.close-sidebar-panel button .icon-bar:nth-child(1),
.close-sidebar-panel button.is-active .icon-bar:nth-child(1),
body.sca-menu-open header.header button.navbar-toggle .sca-hamburger-line-1,
header.header button.navbar-toggle[aria-expanded="true"] .sca-hamburger-line-1 {
  transform: translateY(7.5px) rotate(45deg) !important;
}

body.sca-menu-open header.header button.navbar-toggle .icon-bar:nth-child(2),
header.header button.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(2),
header.header button.navbar-toggle.is-active .icon-bar:nth-child(2),
header.header button.navbar-toggle.active .icon-bar:nth-child(2),
.close-sidebar-panel button .icon-bar:nth-child(2),
.close-sidebar-panel button.is-active .icon-bar:nth-child(2),
body.sca-menu-open header.header button.navbar-toggle .sca-hamburger-line-2,
header.header button.navbar-toggle[aria-expanded="true"] .sca-hamburger-line-2 {
  opacity: 0 !important;
  transform: scaleX(0) !important;
}

body.sca-menu-open header.header button.navbar-toggle .icon-bar:nth-child(3),
header.header button.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(3),
header.header button.navbar-toggle.is-active .icon-bar:nth-child(3),
header.header button.navbar-toggle.active .icon-bar:nth-child(3),
.close-sidebar-panel button .icon-bar:nth-child(3),
.close-sidebar-panel button.is-active .icon-bar:nth-child(3),
body.sca-menu-open header.header button.navbar-toggle .sca-hamburger-line-3,
header.header button.navbar-toggle[aria-expanded="true"] .sca-hamburger-line-3 {
  transform: translateY(-7.5px) rotate(-45deg) !important;
}

/* Overlay difuminado detrás del sidebar */
.header-menu-sidebar-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  z-index: 999998 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  pointer-events: none;
  cursor: pointer;
}
body.sca-menu-open .header-menu-sidebar-overlay,
.header-menu-sidebar-overlay.active,
.header-menu-sidebar-overlay.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Panel Lateral Deslizable (Drawer) desde el lado DERECHO */
#header-menu-sidebar,
.header-menu-sidebar,
#header-menu-sidebar-bg,
.header-menu-sidebar-bg {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  right: 0 !important;
  width: 320px !important;
  max-width: 86vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: #141414 !important;
  background-color: #141414 !important;
  color: #ffffff !important;
  border-left: 1px solid rgba(241, 196, 15, 0.35) !important;
  border-right: none !important;
  box-shadow: -12px 0 60px rgba(0, 0, 0, 0.95) !important;
  z-index: 999999 !important;
  transform: translateX(100%) !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 24px 20px !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#header-menu-sidebar-inner,
.header-menu-sidebar-inner {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  width: 100% !important;
}

body.sca-menu-open #header-menu-sidebar,
body.sca-menu-open #header-menu-sidebar-bg,
body.sca-menu-open .header-menu-sidebar-bg,
#header-menu-sidebar.is-active,
#header-menu-sidebar.open,
#header-menu-sidebar.active,
#header-menu-sidebar-bg.is-active,
#header-menu-sidebar-bg.open,
#header-menu-sidebar-bg.active {
  transform: translateX(0) !important;
  visibility: visible !important;
}

/* Asegurar visibilidad de los contenedores internos del sidebar */
#header-menu-sidebar #header-menu-sidebar-bg,
#header-menu-sidebar #header-menu-sidebar-inner,
#header-menu-sidebar .nv-nav-wrap,
#header-menu-sidebar .nav-menu-primary,
#header-menu-sidebar ul.primary-menu-ul,
#header-menu-sidebar #nv-primary-navigation-sidebar,
#header-menu-sidebar-bg #header-menu-sidebar-inner,
#header-menu-sidebar-bg .nv-nav-wrap,
#header-menu-sidebar-bg .nav-menu-primary,
#header-menu-sidebar-bg ul.primary-menu-ul,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Lista de enlaces del menú móvil */
#header-menu-sidebar ul.primary-menu-ul,
#header-menu-sidebar #nv-primary-navigation-sidebar,
#header-menu-sidebar-bg ul.primary-menu-ul,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
}

#header-menu-sidebar ul.primary-menu-ul > li,
#header-menu-sidebar #nv-primary-navigation-sidebar > li,
#header-menu-sidebar-bg ul.primary-menu-ul > li,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar > li {
  width: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Botones píldora del menú móvil */
#header-menu-sidebar ul.primary-menu-ul > li > a,
#header-menu-sidebar #nv-primary-navigation-sidebar > li > a,
#header-menu-sidebar-bg ul.primary-menu-ul > li > a,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar > li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 12px 18px !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
}

#header-menu-sidebar ul.primary-menu-ul > li > a:hover,
#header-menu-sidebar #nv-primary-navigation-sidebar > li > a:hover,
#header-menu-sidebar-bg ul.primary-menu-ul > li > a:hover,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar > li > a:hover {
  color: var(--sca-oro) !important;
  background: rgba(241, 196, 15, 0.15) !important;
  border-color: rgba(241, 196, 15, 0.4) !important;
  padding-left: 24px !important;
}

#header-menu-sidebar ul.primary-menu-ul > li.current-menu-item > a,
#header-menu-sidebar #nv-primary-navigation-sidebar > li.current-menu-item > a,
#header-menu-sidebar ul.primary-menu-ul > li.current_page_item > a,
#header-menu-sidebar #nv-primary-navigation-sidebar > li.current_page_item > a,
#header-menu-sidebar-bg ul.primary-menu-ul > li.current-menu-item > a,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar > li.current-menu-item > a,
#header-menu-sidebar-bg ul.primary-menu-ul > li.current_page_item > a,
#header-menu-sidebar-bg #nv-primary-navigation-sidebar > li.current_page_item > a {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  border-color: var(--sca-oro-btn) !important;
}

/* Botón de cierre X del menú móvil */
.close-sidebar-panel,
.header-menu-sidebar .close-sidebar-panel,
#header-menu-sidebar-bg .close-sidebar-panel {
  display: flex !important;
  justify-content: flex-end !important;
  margin-bottom: 15px !important;
  width: 100% !important;
}
.close-sidebar-panel .navbar-toggle,
.close-sidebar-panel button,
.header-menu-sidebar .close-sidebar-panel .navbar-toggle,
.header-menu-sidebar .close-sidebar-panel button {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(241, 196, 15, 0.5) !important;
  background: rgba(18, 18, 18, 0.8) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--sca-oro) !important;
  transition: transform 0.35s var(--sca-ease-out), background 0.3s ease !important;
}
.close-sidebar-panel .navbar-toggle:hover,
.header-menu-sidebar .close-sidebar-panel .navbar-toggle:hover {
  transform: rotate(90deg) !important;
  background: rgba(241, 196, 15, 0.2) !important;
}

/* Bloqueo de scroll del body con el menú abierto */
body.sca-menu-open {
  overflow: hidden !important;
}

/* Item padre con hijos: enlace a la izquierda y flecha a la derecha */
#header-menu-sidebar ul.primary-menu-ul > li.menu-item-has-children > .wrap,
#header-menu-sidebar li.menu-item-has-children > .wrap {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 0 !important;
}

#header-menu-sidebar li.menu-item-has-children > .wrap > a {
  flex: 1 1 auto !important;
}

/* Flecha (caret): override de la píldora dorada del hamburguesa */
#header-menu-sidebar button.caret-wrap,
#header-menu-sidebar button.caret-wrap.navbar-toggle,
#header-menu-sidebar .caret-wrap button,
header.header #header-menu-sidebar button.caret-wrap {
  flex: 0 0 auto !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  margin: 0 0 0 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(241, 196, 15, 0.08) !important;
  border: 1px solid rgba(241, 196, 15, 0.3) !important;
  border-radius: 10px !important;
  color: var(--sca-oro) !important;
  cursor: pointer !important;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
}

#header-menu-sidebar button.caret-wrap:hover {
  background: rgba(241, 196, 15, 0.2) !important;
  border-color: rgba(241, 196, 15, 0.55) !important;
  transform: none !important;
}

#header-menu-sidebar button.caret-wrap .caret,
#header-menu-sidebar button.caret-wrap svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  display: block !important;
}

#header-menu-sidebar button.caret-wrap svg {
  transition: transform 0.3s var(--sca-ease-out) !important;
}

/* Rotar la flecha con el submenú abierto */
#header-menu-sidebar li.sca-open > .wrap button.caret-wrap svg {
  transform: rotate(180deg) !important;
}

/* Submenús: colapsados por defecto con apertura animada */
#header-menu-sidebar ul.sub-menu {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0 14px !important;
  border-left: 2px solid rgba(241, 196, 15, 0.25) !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transition: max-height 0.35s var(--sca-ease-out), opacity 0.25s ease, padding 0.35s var(--sca-ease-out) !important;
}

#header-menu-sidebar li.sca-open > ul.sub-menu {
  max-height: 600px !important;
  opacity: 1 !important;
  padding: 6px 0 6px 14px !important;
}

#header-menu-sidebar ul.sub-menu > li {
  list-style: none !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

#header-menu-sidebar ul.sub-menu > li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

#header-menu-sidebar ul.sub-menu > li > a:hover {
  color: var(--sca-oro) !important;
  background: rgba(241, 196, 15, 0.12) !important;
  border-color: rgba(241, 196, 15, 0.35) !important;
}

#header-menu-sidebar ul.sub-menu > li.current-menu-item > a,
#header-menu-sidebar ul.sub-menu > li.current_page_item > a {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

/* Editor de Elementor */
body.elementor-editor-active header.header {
  position: static !important;
  pointer-events: auto !important;
}
body.elementor-editor-active header.header .header--row.header-main .container {
  border-radius: 0 !important;
  max-width: 100vw !important;
}

/* Compensación de margen en páginas normales para evitar solapes con la cabecera flotante */
body:not(.sca-has-hero):not(.elementor-editor-active) #page,
body:not(.sca-has-hero):not(.elementor-editor-active) .main-page1 {
  padding-top: 110px !important;
}
body:not(.sca-has-hero):not(.elementor-editor-active) .wrapper,
body:not(.sca-has-hero):not(.elementor-editor-active) .site-content,
body:not(.sca-has-hero):not(.elementor-editor-active) #content,
body:not(.sca-has-hero):not(.elementor-editor-active) main {
  padding-top: 0 !important;
}
@media (max-width: 768px) {
  body:not(.sca-has-hero):not(.elementor-editor-active) #page,
  body:not(.sca-has-hero):not(.elementor-editor-active) .main-page1 {
    padding-top: 90px !important;
  }
}
body.admin-bar:not(.sca-has-hero):not(.elementor-editor-active) #page,
body.admin-bar:not(.sca-has-hero):not(.elementor-editor-active) .main-page1 {
  padding-top: 140px !important;
}
@media (max-width: 782px) {
  body.admin-bar:not(.sca-has-hero):not(.elementor-editor-active) #page,
  body.admin-bar:not(.sca-has-hero):not(.elementor-editor-active) .main-page1 {
    padding-top: 130px !important;
  }
}

/* Margen de scroll para anclas de sección */
#scacademySection,
#sca-hero-anchor {
  scroll-margin-top: 30px;
}

/* ============================================================
   6. HERO — [sca_hero] PANTALLA COMPLETA REAL CON MARGEN INFERIOR
   ============================================================ */

.sca-hero {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  height: 100vh !important;
  height: 100svh !important;
  overflow: hidden !important;
  background: var(--sca-bg) !important;
  color: var(--sca-text) !important;
  isolation: isolate !important;
  margin-top: 0 !important;
  margin-bottom: 40px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* En móviles: margen inferior generoso y altura adaptable para evitar solapes */
@media (max-width: 768px) {
  .sca-hero {
    margin-bottom: 55px !important;
    min-height: max(100svh, 640px) !important;
    height: auto !important;
  }
}

/* Anular encajonamiento de Elementor en el Hero */
.elementor-section:has(.sca-hero),
.elementor-container:has(.sca-hero),
.e-con:has(.sca-hero),
.e-con-inner:has(.sca-hero),
.elementor-widget-shortcode:has(.sca-hero),
.elementor-widget:has(.sca-hero),
.elementor-widget-container:has(.sca-hero) {
  max-width: 100vw !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sca-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.sca-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: sca-ken-burns 26s ease-in-out infinite alternate;
}

/* Overlays multicapa */
.sca-hero__overlay-base {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--sca-bg) 0%, rgba(18, 18, 18, 0.45) 50%, transparent 100%);
  pointer-events: none;
}

.sca-hero__overlay-top {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 0;
  background: none;
  pointer-events: none;
  z-index: 1;
  display: none;
}

.sca-hero__overlay-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(166, 124, 0, 0.28), transparent 40%, transparent 60%, rgba(18, 18, 18, 0.45));
  mix-blend-mode: multiply;
  pointer-events: none;
}

.sca-hero__overlay-bottom {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 12rem;
  background: linear-gradient(to top, var(--sca-bg) 0%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}

.sca-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 76rem;
  margin-inline: auto;
  padding: 8rem 1.5rem 6.5rem;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .sca-hero__content {
    padding: 7rem 1.25rem 5.5rem;
  }
}

.sca-hero__kicker {
  margin: 0 0 1rem;
  font-family: var(--sca-font-body);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--sca-oro);
  animation: sca-fade-up 0.9s var(--sca-ease-out) 0.2s both;
}

.sca-hero__title {
  margin: 0;
  font-family: var(--sca-font-display);
  font-size: clamp(2.5rem, 8vw, 7.5rem);
  line-height: 0.96;
  text-transform: uppercase;
  color: var(--sca-text);
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.7);
  animation: sca-fade-up 0.9s var(--sca-ease-out) 0.4s both;
}

.sca-hero__subtitle {
  margin: 1.5rem 0 0;
  max-width: 38rem;
  font-family: var(--sca-font-body);
  font-size: clamp(0.95rem, 2vw, 1.25rem);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  animation: sca-fade-up 0.9s var(--sca-ease-out) 0.6s both;
}

.sca-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
  animation: sca-fade-up 0.9s var(--sca-ease-out) 0.8s both;
}

/* Botones Pill estilo Peña-Anguera */
.sca-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.9rem 2.2rem;
  border-radius: 999px;
  font-family: var(--sca-font-display);
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.sca-btn--primary {
  background: var(--sca-oro-btn);
  color: #121212 !important;
  border: 1px solid var(--sca-oro-btn);
  box-shadow: 0 8px 25px rgba(199, 157, 40, 0.45);
}
.sca-btn--primary:hover {
  background: var(--sca-oro-hover);
  border-color: var(--sca-oro-hover);
  color: #121212 !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 12px 32px rgba(241, 196, 15, 0.55);
}

.sca-btn--ghost {
  background: rgba(18, 18, 18, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--sca-text) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.sca-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: var(--sca-oro);
  color: var(--sca-oro) !important;
  transform: translateY(-2px) scale(1.03);
}

/* Indicador de scroll animado */
button.sca-hero__scroll-hint,
.sca-hero__scroll-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  background: transparent;
  border: none;
  padding: 0.5rem;
  margin: 0;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.75);
  outline: none;
  transition: color 0.3s ease, transform 0.3s ease;
}
button.sca-hero__scroll-hint:hover,
.sca-hero__scroll-hint:hover {
  color: var(--sca-oro);
  transform: translateX(-50%) scale(1.15);
}
.sca-hero__scroll-hint svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  animation: sca-scroll-hint 2s ease-in-out infinite;
}

@media (min-width: 768px) {
  .sca-hero__content { padding-bottom: 7.5rem; }
  .sca-hero__kicker  { font-size: 1rem; }
}

/* ============================================================
   6.2. HERO 2 — [sca_hero2] EXPERIENCIA INTERACTIVA ESTILO APPLE (CANVAS + GSAP)
   ============================================================ */

.sca-hero2-container {
  position: relative !important;
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  height: var(--sca-hero2-scroll-height, 400vh) !important;
  background-color: var(--sca-bg) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body {
  overflow-x: hidden !important; /* Evitar scroll horizontal extra en Windows por 100vw */
}

@media (max-width: 768px) {
  .sca-hero2-container {
    height: var(--sca-hero2-scroll-height, 350vh) !important;
  }
}

/* Anular encajonamiento y margenes de Elementor en Hero 2 para ocupar el 100% real */
.elementor-section:has(.sca-hero2-container),
.elementor-container:has(.sca-hero2-container),
.elementor-row:has(.sca-hero2-container),
.elementor-column:has(.sca-hero2-container),
.elementor-column-wrap:has(.sca-hero2-container),
.elementor-widget-wrap:has(.sca-hero2-container),
.elementor-element-populated:has(.sca-hero2-container),
.elementor-element:has(.sca-hero2-container),
.e-con:has(.sca-hero2-container),
.e-con-inner:has(.sca-hero2-container),
.elementor-widget-shortcode:has(.sca-hero2-container),
.elementor-widget:has(.sca-hero2-container),
.elementor-widget-container:has(.sca-hero2-container),
.elementor-shortcode:has(.sca-hero2-container) {
  max-width: 100vw !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Neutralizar transforms/animaciones/filtros en todos los ancestros (p. ej. la animacion
   de entrada fadeInRight de Elementor, que deja un transform permanente por
   animation-fill-mode: both). Un transform en un ancestro convierte el
   position: fixed del pin de ScrollTrigger en relativo a ese ancestro y rompe
   toda la experiencia de scroll del Hero 2. */
.elementor-section:has(.sca-hero2-container),
.elementor-container:has(.sca-hero2-container),
.elementor-row:has(.sca-hero2-container),
.elementor-column:has(.sca-hero2-container),
.elementor-column-wrap:has(.sca-hero2-container),
.elementor-widget-wrap:has(.sca-hero2-container),
.elementor-element-populated:has(.sca-hero2-container),
.elementor-element:has(.sca-hero2-container),
.e-con:has(.sca-hero2-container),
.e-con-inner:has(.sca-hero2-container),
.elementor-widget:has(.sca-hero2-container),
.elementor-widget-container:has(.sca-hero2-container),
.elementor-shortcode:has(.sca-hero2-container) {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
  will-change: auto !important;
}

/* Eliminar márgenes/padding de los wrappers del tema Solace para que el
   Hero 2 ocupe el 100% real de la ventana, sin huecos arriba ni abajo */
main.main-page:has(.sca-hero2-container),
section.container-page:has(.sca-hero2-container),
.myrow:has(.sca-hero2-container),
.content:has(.sca-hero2-container),
article:has(.sca-hero2-container),
.boxes-content:has(.sca-hero2-container),
.the-content:has(.sca-hero2-container),
.elementor:has(.sca-hero2-container),
main.main-page:has(.sca-hero3-container),
section.container-page:has(.sca-hero3-container),
.myrow:has(.sca-hero3-container),
.content:has(.sca-hero3-container),
article:has(.sca-hero3-container),
.boxes-content:has(.sca-hero3-container),
.the-content:has(.sca-hero3-container),
.elementor:has(.sca-hero3-container),
main.main-page:has(.sca-hero3),
section.container-page:has(.sca-hero3),
.myrow:has(.sca-hero3),
.content:has(.sca-hero3),
article:has(.sca-hero3),
.boxes-content:has(.sca-hero3),
.the-content:has(.sca-hero3),
.elementor:has(.sca-hero3) {
  max-width: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.sca-hero2 {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: var(--sca-bg);
  color: var(--sca-text);
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.sca-hero2__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.sca-hero2__canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

/* Overlays multicapa para Hero 2 */
.sca-hero2__overlay-base {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(18, 18, 18, 0.25) 0%, rgba(18, 18, 18, 0.65) 100%);
  pointer-events: none;
  z-index: 1;
}

.sca-hero2__overlay-top {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 0;
  background: none;
  pointer-events: none;
  z-index: 1;
  display: none;
}

.sca-hero2__overlay-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(166, 124, 0, 0.25) 0%, transparent 40%, rgba(18, 18, 18, 0.5) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.sca-hero2__overlay-bottom {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 14rem;
  background: linear-gradient(to top, var(--sca-bg) 0%, rgba(18, 18, 18, 0.5) 50%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}

/* Barra de carga de fotogramas sutil */
.sca-hero2__loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
  z-index: 10;
  pointer-events: none;
}

.sca-hero2__loader-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--sca-oro-deep), var(--sca-oro), var(--sca-oro-hover));
  box-shadow: 0 0 10px rgba(241, 196, 15, 0.6);
  transition: width 0.15s ease-out;
}

/* Diapositivas de Mensajes */
.sca-hero2__messages {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sca-hero2__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
  padding: 2rem 1.5rem;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
}

.sca-hero2__slide--1 {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sca-hero2__slide .sca-hero2__content {
  position: relative;
  max-width: 58rem;
  width: 100%;
  margin: 0 auto;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 3;
}

.sca-hero2__slide .sca-hero__title {
  text-align: center;
  font-size: clamp(2.4rem, 6.5vw, 5.2rem);
  line-height: 1.02;
  letter-spacing: -0.01em;
  animation: none !important;
  color: #ffffff;
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.8);
}

.sca-hero2__slide .sca-hero__kicker {
  text-align: center;
  margin-bottom: 0.85rem;
  animation: none !important;
  color: var(--sca-oro);
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-weight: 700;
  font-size: 0.9rem;
}

.sca-hero2__slide .sca-hero__subtitle {
  text-align: center;
  max-width: 42rem;
  margin: 1.25rem auto 0;
  font-size: clamp(1rem, 2.2vw, 1.35rem);
  line-height: 1.65;
  animation: none !important;
  color: rgba(255,255,255,0.9);
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

.sca-hero2__slide .sca-hero__ctas {
  justify-content: center;
  margin-top: 2rem;
  animation: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Indicador de scroll de Hero 2 */
.sca-hero2__scroll-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: auto;
  background: transparent;
  border: none;
  cursor: pointer;
}

.sca-hero2__scroll-text {
  font-family: var(--sca-font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  transition: color 0.3s;
}

.sca-hero2__scroll-hint svg {
  width: 1.75rem;
  height: 1.75rem;
  color: rgba(255,255,255,0.75);
  animation: sca-scroll-hint 2s ease-in-out infinite;
  transition: color 0.3s;
}

.sca-hero2__scroll-hint:hover .sca-hero2__scroll-text,
.sca-hero2__scroll-hint:hover svg {
  color: var(--sca-oro);
}

@media (max-width: 768px) {
  .sca-hero2__slide .sca-hero2__content {
    padding: 1rem 0.5rem;
  }
  .sca-hero2__slide .sca-hero__title {
    font-size: clamp(1.95rem, 8vw, 2.85rem);
  }
  .sca-hero2__slide .sca-hero__subtitle {
    font-size: 0.95rem;
    margin-top: 1rem;
  }
  .sca-hero2__scroll-hint {
    bottom: 1.25rem;
  }
}

/* ============================================================
   7. KEYFRAMES
   ============================================================ */

@keyframes sca-ken-burns {
  0%   { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.12) translate(-1.5%, 1.5%); }
}

@keyframes sca-fade-up {
  0%   { opacity: 0; transform: translateY(35px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes sca-scroll-hint {
  0%, 100% { transform: translateY(0); opacity: 0.9; }
  50%      { transform: translateY(8px); opacity: 0.35; }
}

/* Barra de progreso de scroll superior dorada */
#sca-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  height: 2.5px;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--sca-oro-deep), var(--sca-oro), var(--sca-oro-hover));
  pointer-events: none;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .sca-hero__video,
  .sca-hero__kicker,
  .sca-hero__title,
  .sca-hero__subtitle,
  .sca-hero__ctas,
  .sca-hero__scroll-hint svg {
    animation: none !important;
  }
}

/* ============================================================
   8. FOOTER PERSONALIZADO (Estilo scacademy23.com + Logo SVG animado)
   ============================================================ */

/* Ocultar el footer por defecto de Solace */
footer.site-footer,
#site-footer {
  display: none !important;
}

.sca-footer {
  position: relative;
  width: 100%;
  background: #0d0d0d;
  color: #ffffff;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, var(--sca-oro) 30%, var(--sca-oro) 70%, transparent) 1;
  font-family: var(--sca-font-body);
  box-sizing: border-box;
}

.sca-footer__main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2.5rem;
  max-width: 1280px;
  margin-inline: auto;
  padding: 3rem 1.5rem 2.5rem;
  box-sizing: border-box;
}

/* --- Columna marca: logo SVG animado + textos --- */
.sca-footer__col--brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.sca-footer__logo {
  display: inline-block;
  line-height: 0;
}

.sca-footer__logo-svg {
  width: 110px;
  height: auto;
}

/* Estado base: trazo sin dibujar y sin relleno */
.sca-footer__path {
  fill: transparent;
  stroke: #d9bb67;
  stroke-width: 4;
  stroke-dasharray: 5000;
  stroke-dashoffset: 5000;
}

/* Estado base: textos ocultos hasta que el logo termina */
.sca-footer__brand-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  opacity: 0;
}

.sca-footer__brand-title {
  font-family: 'Michroma', sans-serif;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #d9bb67;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.sca-footer__brand-subtitle {
  font-family: 'Rajdhani', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #c5a85a;
}

/* Al entrar en viewport: dibujar trazo → rellenar dorado → aparecer textos */
.sca-footer.in-view .sca-footer__path {
  animation:
    sca-logo-draw 3s ease-in-out forwards,
    sca-logo-fill 1s 2.5s ease-in-out forwards;
}

.sca-footer.in-view .sca-footer__brand-text {
  animation: sca-logo-text-in 1s 3.2s ease-in forwards;
}

@keyframes sca-logo-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes sca-logo-fill {
  to {
    fill: #d9bb67;
    stroke-width: 0;
  }
}

@keyframes sca-logo-text-in {
  to { opacity: 1; }
}

/* --- Columna menú legal --- */
.sca-footer__col--menu {
  display: flex;
  justify-content: center;
}

.sca-footer__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sca-footer__menu a {
  position: relative;
  display: inline-block;
  padding: 0.35rem 0;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--sca-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.25s ease;
}

.sca-footer__menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--sca-oro);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--sca-ease-out);
}

.sca-footer__menu a:hover {
  color: var(--sca-oro);
}

.sca-footer__menu a:hover::after {
  transform: scaleX(1);
}

/* --- Columna social --- */
.sca-footer__col--social {
  display: flex;
  justify-content: flex-end;
}

.sca-footer__social {
  display: flex;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sca-footer__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(241, 196, 15, 0.4);
  background: rgba(255, 255, 255, 0.05);
  transition: transform 0.3s var(--sca-ease-out), background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.sca-footer__social svg {
  width: 22px;
  height: 22px;
  fill: #d9bb67;
  transition: fill 0.3s ease;
}

.sca-footer__social a:hover {
  transform: translateY(-3px) scale(1.06);
  background: rgba(241, 196, 15, 0.15);
  border-color: var(--sca-oro);
  box-shadow: 0 8px 20px rgba(241, 196, 15, 0.25);
}

.sca-footer__social a:hover svg {
  fill: var(--sca-oro);
}

/* --- Barra inferior --- */
.sca-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 1.1rem 1.5rem;
  text-align: center;
}

.sca-footer__copyright {
  margin: 0;
  font-family: var(--sca-font-body);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.65);
}

.sca-footer__copyright a {
  color: rgba(255, 255, 255, 0.85);
  transition: color 0.25s ease;
}

.sca-footer__copyright a:hover {
  color: var(--sca-oro);
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .sca-footer__main {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.5rem 1.25rem 2rem;
    text-align: center;
  }

  .sca-footer__col--brand {
    align-items: center;
  }

  .sca-footer__col--social {
    justify-content: center;
  }
}

/* ============================================================
   9. LOGO SVG EN LA BARRA DE NAVEGACIÓN (símbolo estático, sin letras)
   ============================================================ */

header.header .site-logo a.brand {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

header.header .sca-navbar-logo-svg {
  width: auto;
  height: 40px;
  transition: transform 0.3s var(--sca-ease-out), filter 0.3s ease;
}

header.header .sca-navbar-logo-svg path {
  fill: #d9bb67;
}

header.header .site-logo a.brand:hover .sca-navbar-logo-svg {
  transform: scale(1.06);
  filter: drop-shadow(0 0 6px rgba(217, 187, 103, 0.55));
}

@media (max-width: 768px) {
  header.header .sca-navbar-logo-svg {
    height: 34px;
  }
}

/* Accesibilidad footer/navbar: estado final sin animación */
@media (prefers-reduced-motion: reduce) {
  .sca-footer__path {
    stroke-dashoffset: 0;
    fill: #d9bb67;
    stroke-width: 0;
    animation: none !important;
  }
  .sca-footer.in-view .sca-footer__path,
  .sca-footer.in-view .sca-footer__brand-text {
    animation: none !important;
  }
  .sca-footer__brand-text {
    opacity: 1;
  }
}

/* ============================================================
   10. ESTILOS DE ALTO CONTRASTE PARA SWEETALERT2 Y MODALES
   Evita textos invisibles o blancos sobre blanco en inscripciones
   ============================================================ */

/* Contenedor y Popups de SweetAlert2 */
body .swal2-container,
.swal2-container {
  z-index: 99999999 !important;
}

body .swal2-popup,
.swal2-popup,
.swal2-modal {
  background: #181818 !important;
  background-color: #181818 !important;
  color: #ffffff !important;
  border: 1px solid rgba(241, 196, 15, 0.45) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85), 0 0 25px rgba(241, 196, 15, 0.15) !important;
  padding: 26px 24px 22px 24px !important;
}

/* Títulos de SweetAlert2 */
body .swal2-title,
.swal2-title,
.swal2-popup h2.swal2-title,
.swal2-popup .swal2-title,
.swal2-popup h2 {
  color: #f1c40f !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  font-family: var(--sca-font-display, 'Archivo Black', 'Josefin Sans', sans-serif) !important;
  text-align: center !important;
  margin-bottom: 14px !important;
  line-height: 1.3 !important;
}

/* Textos y contenido HTML de SweetAlert2 */
body .swal2-html-container,
.swal2-html-container,
body .swal2-content,
.swal2-content,
.swal2-popup p,
.swal2-popup div,
.swal2-popup span,
.swal2-popup li {
  color: #e6e6e6 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  font-family: var(--sca-font-body, 'Comfortaa', 'Josefin Sans', sans-serif) !important;
}

.swal2-popup a {
  color: #f1c40f !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.swal2-popup a:hover {
  color: #ffffff !important;
}

/* Botones en SweetAlert2 */
.swal2-popup .swal2-actions {
  margin-top: 22px !important;
  gap: 12px !important;
}

.swal2-popup .swal2-confirm,
body .swal2-confirm {
  background: linear-gradient(135deg, #f1c40f 0%, #c79d28 100%) !important;
  background-color: #c79d28 !important;
  color: #121212 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(241, 196, 15, 0.3) !important;
  transition: all 0.25s ease !important;
}

.swal2-popup .swal2-confirm:hover,
body .swal2-confirm:hover {
  background: linear-gradient(135deg, #ffe066 0%, #f1c40f 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(241, 196, 15, 0.5) !important;
}

.swal2-popup .swal2-cancel,
body .swal2-cancel,
.sca-btn-cancel {
  background: #282828 !important;
  background-color: #282828 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.swal2-popup .swal2-cancel:hover,
body .swal2-cancel:hover,
.sca-btn-cancel:hover {
  background: #383838 !important;
  color: #f1c40f !important;
}

.sca-btn-whatsapp {
  background-color: #25D366 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
}

/* Iconos de SweetAlert2 */
.swal2-popup .swal2-icon.swal2-warning {
  border-color: #f1c40f !important;
  color: #f1c40f !important;
}
.swal2-popup .swal2-icon.swal2-error {
  border-color: #ff4d4d !important;
  color: #ff4d4d !important;
}
.swal2-popup .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: #ff4d4d !important;
}
.swal2-popup .swal2-icon.swal2-success {
  border-color: #2ecc71 !important;
  color: #2ecc71 !important;
}
.swal2-popup .swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #2ecc71 !important;
}
.swal2-popup .swal2-icon.swal2-success .swal2-success-ring {
  border: 0.25em solid rgba(46, 204, 113, 0.3) !important;
}
.swal2-popup .swal2-icon.swal2-info {
  border-color: #3498db !important;
  color: #3498db !important;
}

/* Botón cerrar X */
.swal2-popup .swal2-close {
  color: #f1c40f !important;
  font-size: 28px !important;
}
.swal2-popup .swal2-close:hover {
  color: #ffffff !important;
}

/* 2. Modales de Inscripción nativos (<dialog class="modal">, .modal-content) */
dialog.modal,
.modal {
  z-index: 9999999 !important;
}

dialog.modal .modal-content,
.modal .modal-content {
  background: #181818 !important;
  background-color: #181818 !important;
  color: #ffffff !important;
  border: 1px solid rgba(241, 196, 15, 0.45) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85), 0 0 25px rgba(241, 196, 15, 0.15) !important;
}

dialog.modal .modal-content h3,
.modal .modal-content h3 {
  color: #f1c40f !important;
  border-bottom: 2px solid rgba(241, 196, 15, 0.4) !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
}

dialog.modal .modal-content p,
.modal .modal-content p,
dialog.modal .modal-content label,
.modal .modal-content label {
  color: #e0e0e0 !important;
}

dialog.modal .modal-content strong,
.modal .modal-content strong {
  color: #f1c40f !important;
}

/* Make player-name headings readable with dark text */
body .modal .modal-content h3.player-name,
body .modal .modal-content .player-name,
body h3.player-name,
body .player-name {
  color: var(--text-dark, #000000) !important;
  text-shadow: none !important;
}

/* Ensure heading in player list is visible with higher specificity */
.modal .modal-content .jugadores-inscritos-lista strong {
    color: #f1c40f !important;
}

/* Ensure heading in player list is visible */
.jugadores-inscritos-lista strong {
    color: #f1c40f !important;
}

dialog.modal .modal-content select,
.modal .modal-content select,
dialog.modal .modal-content input[type="text"],
.modal .modal-content input[type="text"] {
  background-color: #222222 !important;
  color: #ffffff !important;
  border: 1px solid #c79d28 !important;
}

dialog.modal .modal-content select option,
.modal .modal-content select option {
  background-color: #222222 !important;
  color: #ffffff !important;
}

/* Cajas informativas y alertas dentro de modales */
.info-restricciones {
  background: rgba(241, 196, 15, 0.12) !important;
  border-left: 4px solid #f1c40f !important;
  border-radius: 8px !important;
}
.info-restricciones h4 {
  color: #f1c40f !important;
}
.info-restricciones li {
  color: #e0e0e0 !important;
  border-bottom-color: rgba(241, 196, 15, 0.15) !important;
}

.alerta-modal {
  background: rgba(231, 76, 60, 0.15) !important;
  color: #ff6b6b !important;
  border: 1px solid rgba(231, 76, 60, 0.4) !important;
  border-radius: 8px !important;
}
.alerta-modal a {
  color: #f1c40f !important;
  text-decoration: underline !important;
}


/* Ajustes para la barra de administración de WordPress */
body.admin-bar .sca-hero2 {
  height: calc(100vh - 32px) !important;
  min-height: calc(100vh - 32px) !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar .sca-hero2 {
    height: calc(100vh - 46px) !important;
    min-height: calc(100vh - 46px) !important;
  }
}

/* ============================================================
   11. SISTEMA DE DISEÑO DARK GOLD PARA FORMULARIOS
   (Ultimate Member, Registro, Login, Recuperar Contraseña y Globales)
   Garantiza 100% de contraste, visibilidad y elegancia visual
   ============================================================ */

/* Contenedor y Tarjeta del Formulario */
.um,
.um-form,
.um-login,
.um-register,
.um-password-reset,
.um-account,
.um-profile,
.um-directory,
form.login,
form.register,
.elementor-form,
.wp-block-search {
  color: #ffffff !important;
  box-sizing: border-box !important;
}

.um-form,
.um-login,
.um-register,
.um-password-reset {
  background: #181818 !important;
  background-color: #181818 !important;
  border: 1px solid rgba(241, 196, 15, 0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85), 0 0 25px rgba(241, 196, 15, 0.1) !important;
  padding: 32px 28px !important;
  margin: 0 auto 40px auto !important;
  max-width: 580px !important;
}

@media (max-width: 600px) {
  .um-form,
  .um-login,
  .um-register,
  .um-password-reset {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
}

/* Evitar la "doble caja": Ultimate Member anida .um-form DENTRO de
   .um-login/.um-register/.um-password-reset, y la tarjeta se estaba aplicando
   a ambos niveles (borde + fondo + padding duplicados). La tarjeta queda solo
   en el contenedor exterior; el interior se resetea. */
.um-login .um-form,
.um-register .um-form,
.um-password-reset .um-form {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

/* Encabezados y títulos de formularios */
.um-header,
.um-form h2,
.um-form h3 {
  color: #f1c40f !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  border-bottom: 2px solid rgba(241, 196, 15, 0.3) !important;
  padding-bottom: 12px !important;
  margin-bottom: 22px !important;
}

/* Labels y Textos de Campo (Solo en Frontend / Ultimate Member) */
body:not(.wp-admin) .um-field-label,
body:not(.wp-admin) .um-field-label label,
body:not(.wp-admin) .um label {
  color: #ffffff !important;
  font-family: var(--sca-font-body, 'Comfortaa', sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Asterisco de campo obligatorio */
body:not(.wp-admin) .um .um-req,
body:not(.wp-admin) .um span.required {
  color: #f1c40f !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}

/* Campos de Entrada (Inputs, Passwords, Textareas, Selects) en Frontend */
body:not(.wp-admin) .um .um-form input.um-form-field,
body:not(.wp-admin) .um .um-form input[type="text"],
body:not(.wp-admin) .um .um-form input[type="password"],
body:not(.wp-admin) .um .um-form input[type="email"],
body:not(.wp-admin) .um .um-form input[type="tel"],
body:not(.wp-admin) .um .um-form input[type="number"],
body:not(.wp-admin) .um .um-form textarea,
body:not(.wp-admin) .um .um-form select,
body:not(.wp-admin) div.um-field-area input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body:not(.wp-admin) div.um-field-area input.um-form-field,
body:not(.wp-admin) div.um-field-area textarea,
body:not(.wp-admin) div.um-field-area select,
body:not(.wp-admin) .um-field-area-password input,
body:not(.wp-admin) input.um-form-field:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body:not(.wp-admin) .um-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body:not(.wp-admin) .um input[type=text],
body:not(.wp-admin) .um input[type=password],
body:not(.wp-admin) .um input[type=email],
body:not(.wp-admin) .um input[type=tel],
body:not(.wp-admin) .um input[type=number],
body:not(.wp-admin) .um input[type=url],
body:not(.wp-admin) .um input[type=search],
body:not(.wp-admin) .um textarea,
body:not(.wp-admin) .um select {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #202020 !important;
  background-color: #202020 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #f1c40f !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 16px !important;
  font-family: var(--sca-font-body, 'Comfortaa', sans-serif) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 52px !important;
  min-height: 52px !important;
  line-height: 1.4 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4), inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
  outline: none !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
}

body:not(.wp-admin) .um textarea,
body:not(.wp-admin) .um .um-form textarea,
body:not(.wp-admin) div.um-field-area textarea {
  min-height: 120px !important;
  height: auto !important;
  line-height: 1.5 !important;
}

/* Estado Focus con resplandor dorado */
body:not(.wp-admin) .um .um-form input.um-form-field:focus,
body:not(.wp-admin) .um .um-form input[type="text"]:focus,
body:not(.wp-admin) .um .um-form input[type="password"]:focus,
body:not(.wp-admin) .um .um-form input[type="email"]:focus,
body:not(.wp-admin) .um .um-form input[type="tel"]:focus,
body:not(.wp-admin) div.um-field-area input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
body:not(.wp-admin) input.um-form-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
body:not(.wp-admin) .um input[type=text]:focus,
body:not(.wp-admin) .um input[type=password]:focus,
body:not(.wp-admin) .um input[type=email]:focus,
body:not(.wp-admin) .um input[type=tel]:focus,
body:not(.wp-admin) .um input[type=number]:focus,
body:not(.wp-admin) .um input[type=url]:focus,
body:not(.wp-admin) .um textarea:focus,
body:not(.wp-admin) .um select:focus {
  border-color: #f1c40f !important;
  background: #2a2a2a !important;
  background-color: #2a2a2a !important;
  box-shadow: 0 0 16px rgba(241, 196, 15, 0.55), inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
  outline: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Placeholders visibles con contraste */
body:not(.wp-admin) .um ::placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.55) !important;
  opacity: 1 !important;
}
body:not(.wp-admin) .um ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.55) !important;
}

/* Opciones de Dropdowns / Selects */
body:not(.wp-admin) .um select option {
  background: #222222 !important;
  background-color: #222222 !important;
  color: #ffffff !important;
  padding: 10px !important;
}

/* Iconos de Campo (Usuario, Candado, Correo) y Mostrar Contraseña */
.um-field-icon,
.um-field-icon i,
.um-icon-clear,
.um-toggle-password,
.um-faicon-eye,
.um-faicon-eye-slash {
  color: #f1c40f !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}
.um-toggle-password:hover {
  transform: scale(1.15) !important;
  color: #ffe066 !important;
}

/* Checkboxes y Radios */
.um-field-checkbox,
.um-field-radio {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 12px 0 !important;
  cursor: pointer !important;
}

.um-field-checkbox input[type="checkbox"],
.um-field-radio input[type="radio"] {
  accent-color: #f1c40f !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

.um-field-checkbox-option,
.um-field-radio-option {
  color: #e6e6e6 !important;
  font-size: 0.92rem !important;
  cursor: pointer !important;
}

.um-field-checkbox-state i,
.um-field-radio-state i {
  color: #f1c40f !important;
}

/* Botón Principal de Envío (Registrarse, Iniciar Sesión) */
body:not(.wp-admin) .um .um-button,
body:not(.wp-admin) .um .um-button.um-btn-submit,
body:not(.wp-admin) .um input.um-button,
body:not(.wp-admin) .um input.um-btn-submit,
body:not(.wp-admin) .um input[type="submit"] {
  background: linear-gradient(135deg, #f1c40f 0%, #c79d28 100%) !important;
  background-color: #c79d28 !important;
  color: #121212 !important;
  -webkit-text-fill-color: #121212 !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 13px 34px !important;
  min-height: 48px !important;
  box-shadow: 0 4px 16px rgba(241, 196, 15, 0.35) !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  touch-action: manipulation !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  width: auto !important;
}

/* Ocultar botón flotante de WhatsApp en páginas de autenticación para evitar que tape botones en móvil */
body.um-page .whatsapp-container,
body.page-id-342 .whatsapp-container,
body.page-id-343 .whatsapp-container {
  display: none !important;
}

body:not(.wp-admin) .um .um-button:hover,
body:not(.wp-admin) .um .um-button.um-btn-submit:hover,
body:not(.wp-admin) .um input.um-button:hover,
body:not(.wp-admin) .um input.um-btn-submit:hover,
body:not(.wp-admin) .um input[type="submit"]:hover {
  background: linear-gradient(135deg, #ffe066 0%, #f1c40f 100%) !important;
  color: #121212 !important;
  -webkit-text-fill-color: #121212 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(241, 196, 15, 0.55) !important;
}

/* Botón Secundario (Olvidé Contraseña, Iniciar Sesión en Registro) */
.um-button.um-alt,
a.um-button.um-alt,
.um-col-alt a.um-button {
  background: #282828 !important;
  background-color: #282828 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(241, 196, 15, 0.4) !important;
  border-radius: 9999px !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

.um-button.um-alt:hover,
a.um-button.um-alt:hover,
.um-col-alt a.um-button:hover {
  background: #343434 !important;
  border-color: #f1c40f !important;
  color: #f1c40f !important;
  -webkit-text-fill-color: #f1c40f !important;
  transform: translateY(-2px) !important;
}

/* Enlaces dentro del formulario */
.um-link,
.um a,
.um-col-alt a {
  color: #f1c40f !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}
.um-link:hover,
.um a:hover,
.um-col-alt a:hover {
  color: #ffffff !important;
}

/* Avisos de Error y Validación */
.um-field-error,
.um-error-block,
.um-notice.err,
.um-field-error-icon {
  background: rgba(231, 76, 60, 0.18) !important;
  color: #ff6b6b !important;
  border: 1px solid rgba(231, 76, 60, 0.5) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  margin-top: 6px !important;
  display: block !important;
}

/* Avisos de Éxito */
.um-notice.success,
.um-notice.um-notice-success {
  background: rgba(46, 204, 113, 0.18) !important;
  color: #2ecc71 !important;
  border: 1px solid rgba(46, 204, 113, 0.5) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  margin-bottom: 16px !important;
}

/* Navegación de Cuenta / Perfil Ultimate Member */
.um-account-nav,
.um-profile-nav {
  background: #1c1c1c !important;
  border-radius: 12px !important;
  padding: 6px !important;
  border: 1px solid rgba(241, 196, 15, 0.25) !important;
}

.um-account-nav a,
.um-profile-nav a {
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  transition: all 0.2s ease !important;
}

.um-account-nav a.current,
.um-profile-nav a.active {
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

/* Términos y Condiciones / GDPR en Registro */
.um-field-type_terms_conditions {
  margin-top: 15px !important;
}
.um-field-type_terms_conditions label {
  color: #e6e6e6 !important;
  font-size: 0.92rem !important;
  display: inline !important;
}
.um-field-type_terms_conditions a {
  color: #f1c40f !important;
  text-decoration: underline !important;
}

/* Tooltips y Ayudas de Campo */
.um-tip,
.um-tip i {
  color: var(--sca-oro) !important;
}

/* ============================================================
   9. CARRUSEL Y SCROLL LATERAL DE CATÁLOGOS (Eventos, Sesiones, Bonos)
   ============================================================ */

/* Permitir que los contenedores y widgets de Elementor respeten el ancho y permitan el scroll interno */
.elementor-element-5b2f35b,
.elementor-widget-shortcode:has(.eventos-container),
.elementor-widget-shortcode:has(.cartas-container),
.elementor-widget-shortcode:has(.sesiones-por-categoria-wrapper),
.elementor-widget:has(.eventos-container),
.elementor-widget:has(.cartas-container),
.elementor-widget:has(.sesiones-por-categoria-wrapper),
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-shortcode,
.sesiones-por-categoria-wrapper {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.sesiones-por-categoria-wrapper {
  padding: 20px 0 !important;
  margin: 0 auto !important;
}

.eventos-container,
.cartas-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x pan-y !important;
  scroll-behavior: smooth !important;
  overscroll-behavior-x: contain !important;
  gap: 24px !important;
  padding: 20px 15px 25px 15px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--sca-oro, #D4AF37) rgba(255, 255, 255, 0.08) !important;
  cursor: grab;
}

.eventos-container.is-dragging,
.cartas-container.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

/* Scrollbar dorada elegante y visible en escritorio para arrastrar fácilmente */
.eventos-container::-webkit-scrollbar,
.cartas-container::-webkit-scrollbar {
  height: 8px !important;
  display: block !important;
}

.eventos-container::-webkit-scrollbar-track,
.cartas-container::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 9999px !important;
  margin: 0 40px !important;
}

.eventos-container::-webkit-scrollbar-thumb,
.cartas-container::-webkit-scrollbar-thumb {
  background: var(--sca-oro, #D4AF37) !important;
  border-radius: 9999px !important;
}

.eventos-container::-webkit-scrollbar-thumb:hover,
.cartas-container::-webkit-scrollbar-thumb:hover {
  background: #ffe066 !important;
}

/* Tarjetas de eventos y sesiones */
.evento-card-container,
.card-container {
  flex: 0 0 340px !important;
  max-width: 340px !important;
  min-width: 340px !important;
  scroll-snap-align: start !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  /* Desactivar animaciones de desplazamiento que desbordan o rompen el carrusel en móvil */
  .elementor-widget-shortcode:has(.cartas-container),
  .elementor-widget-shortcode:has(.eventos-container),
  .elementor-element-e23875b,
  .elementor-element-9fa7d99 {
    animation-name: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .eventos-container,
  .cartas-container {
    gap: 16px !important;
    padding: 15px 16px 20px 16px !important;
  }
  .evento-card-container,
  .card-container {
    flex: 0 0 82vw !important;
    max-width: 320px !important;
    min-width: 270px !important;
    scroll-snap-align: center !important;
  }
}

/* ============================================================
   10. SECCIÓN "ACERCA DE NOSOTROS" (Diseño Desktop y Móvil Pulido)
   ============================================================ */

/* Contenedor principal de la sección */
.elementor-element.elementor-element-3cd262ff {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: visible !important;
}

.elementor-element.elementor-element-3cd262ff > .e-con-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* --- DESKTOP (>= 1025px) --- */
@media (min-width: 1025px) {
  .elementor-element.elementor-element-3cd262ff > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 48px !important;
    height: auto !important;
    padding-bottom: 0 !important;
  }

  /* Columna izquierda (52%) */
  .elementor-element.elementor-element-17461248 {
    flex: 0 0 52% !important;
    max-width: 52% !important;
    width: 52% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    height: auto !important;
  }

  /* Columna derecha (44%) */
  .elementor-element.elementor-element-4965f1a8 {
    flex: 0 0 44% !important;
    max-width: 44% !important;
    width: 44% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-self: flex-start !important;
    justify-content: space-between !important;
    gap: 20px 16px !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 30px !important;
  }

  /* Stat cards en desktop: 2 columnas una al lado de la otra */
  .elementor-element.elementor-element-7d1e95cc,
  .elementor-element.elementor-element-31a28189 {
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 24px 16px !important;
    gap: 12px !important;
    height: auto !important;
    min-height: 220px !important;
    justify-content: flex-start !important;
  }

  .elementor-element.elementor-element-5c90a546 img {
    height: 420px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  .elementor-element.elementor-element-1b3f62f0 {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    margin-top: 10px !important;
  }
}

/* --- TABLET (768px - 1024px) --- */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element.elementor-element-3cd262ff > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
  }
  .elementor-element.elementor-element-17461248,
  .elementor-element.elementor-element-4965f1a8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .elementor-element.elementor-element-4965f1a8 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }
  .elementor-element.elementor-element-7d1e95cc,
  .elementor-element.elementor-element-31a28189 {
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 20px 16px !important;
    gap: 10px !important;
  }
}

/* --- MÓVIL (<= 767px) --- */
@media (max-width: 767px) {
  .elementor-element.elementor-element-3cd262ff {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .elementor-element.elementor-element-3cd262ff > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .elementor-element.elementor-element-17461248,
  .elementor-element.elementor-element-4965f1a8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .elementor-element.elementor-element-4965f1a8 {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .elementor-element.elementor-element-5c90a546 img {
    height: 280px !important;
    width: 100% !important;
    object-fit: cover !important;
  }
  .elementor-element.elementor-element-7d1e95cc,
  .elementor-element.elementor-element-31a28189 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 20px 16px !important;
    gap: 10px !important;
  }
  .elementor-element.elementor-element-1b3f62f0 {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 8px !important;
  }
}

/* --- ESTILOS COMPARTIDOS DE TIPOGRAFÍA Y STAT CARDS --- */
.elementor-element.elementor-element-5a9b8940 h5 {
  color: var(--sca-oro) !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0 !important;
}

.elementor-element.elementor-element-3639f64a h2 {
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: clamp(1.7rem, 2.3vw, 2.3rem) !important;
  line-height: 1.25 !important;
  margin-top: 4px !important;
  margin-bottom: 12px !important;
  color: #ffffff !important;
}

.elementor-element.elementor-element-5c90a546 img {
  border-radius: 20px !important;
  border: 1px solid rgba(241, 196, 15, 0.3) !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.7), 0 0 20px rgba(241, 196, 15, 0.1) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease !important;
}

.elementor-element.elementor-element-5c90a546 img:hover {
  transform: scale(1.02) !important;
  border-color: rgba(241, 196, 15, 0.6) !important;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.85), 0 0 30px rgba(241, 196, 15, 0.22) !important;
}

.elementor-element.elementor-element-675a0f4f {
  width: 100% !important;
  flex: 0 0 100% !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}

.elementor-element.elementor-element-22ca93db h6 {
  color: var(--sca-oro) !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: 1.25rem !important;
  margin: 0 0 6px 0 !important;
  text-align: left !important;
}

.elementor-element.elementor-element-74331597 p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: var(--sca-font-body, 'Comfortaa', sans-serif) !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Stat Cards */
.elementor-element.elementor-element-7d1e95cc,
.elementor-element.elementor-element-31a28189 {
  background: linear-gradient(135deg, rgba(26, 26, 26, 0.92) 0%, rgba(16, 16, 16, 0.98) 100%) !important;
  border: 1px solid rgba(241, 196, 15, 0.25) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  transition: all 0.35s ease !important;
}

.elementor-element.elementor-element-7d1e95cc:hover,
.elementor-element.elementor-element-31a28189:hover {
  border-color: rgba(241, 196, 15, 0.6) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.7), 0 0 20px rgba(241, 196, 15, 0.18) !important;
}

/* Iconos de las Stat Cards */
.elementor-element.elementor-element-7d1e95cc .elementor-widget-image,
.elementor-element.elementor-element-31a28189 .elementor-widget-image {
  flex-shrink: 0 !important;
  margin: 0 !important;
  width: auto !important;
  text-align: center !important;
}

.elementor-element.elementor-element-7d1e95cc .elementor-widget-image img,
.elementor-element.elementor-element-31a28189 .elementor-widget-image img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  filter: drop-shadow(0 2px 8px rgba(241, 196, 15, 0.35)) !important;
}

/* Números y texto de los contadores */
.elementor-element.elementor-element-7d1e95cc .elementor-widget-counter,
.elementor-element.elementor-element-31a28189 .elementor-widget-counter {
  flex-shrink: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

.elementor-element.elementor-element-7d1e95cc .elementor-counter-number-wrapper,
.elementor-element.elementor-element-31a28189 .elementor-counter-number-wrapper {
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: 2.1rem !important;
  font-weight: 800 !important;
  color: var(--sca-oro) !important;
  line-height: 1 !important;
}

.elementor-element.elementor-element-7d1e95cc .elementor-counter-number,
.elementor-element.elementor-element-7d1e95cc .elementor-counter-number-suffix,
.elementor-element.elementor-element-31a28189 .elementor-counter-number,
.elementor-element.elementor-element-31a28189 .elementor-counter-number-suffix {
  color: var(--sca-oro) !important;
  font-size: 2.1rem !important;
}

/* Texto de descripción de los contadores */
.elementor-element.elementor-element-4df2f7a,
.elementor-element.elementor-element-70b88bab {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.elementor-element.elementor-element-4df2f7a h6,
.elementor-element.elementor-element-70b88bab h6 {
  font-family: var(--sca-font-body, 'Comfortaa', sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* Botón Saber más */
.elementor-element.elementor-element-1b3f62f0 a.elementor-button {
  background: linear-gradient(135deg, #f1c40f 0%, #c79d28 100%) !important;
  background-color: #c79d28 !important;
  color: #121212 !important;
  -webkit-text-fill-color: #121212 !important;
  font-family: var(--sca-font-display, 'Archivo Black', sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 12px 28px !important;
  box-shadow: 0 4px 16px rgba(241, 196, 15, 0.35) !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-element.elementor-element-1b3f62f0 a.elementor-button:hover {
  background: linear-gradient(135deg, #ffe066 0%, #dfb532 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(241, 196, 15, 0.55) !important;
}

/* ============================================================
   11. MODERNIZACIÓN GLOBAL DE IMÁGENES (Bordes Redondeados y Sombras)
   ============================================================ */

/* Redondear esquinas en imágenes de contenido de Elementor */
.elementor-widget-image:not(.site-logo):not(.builder-item--logo) img:not(.um-avatar img):not(.avatar):not(.elementor-counter img):not(.elementor-element-7d1e95cc img):not(.elementor-element-31a28189 img) {
  border-radius: 18px !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease !important;
}

.elementor-widget-image:not(.site-logo):not(.builder-item--logo) img:not(.um-avatar img):not(.avatar):not(.elementor-counter img):not(.elementor-element-7d1e95cc img):not(.elementor-element-31a28189 img):hover {
  transform: scale(1.015);
  border-color: rgba(241, 196, 15, 0.35) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.7), 0 0 20px rgba(241, 196, 15, 0.15) !important;
}

/* Miniaturas y Cards de Noticias / Blog */
.elementor-post__thumbnail {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.elementor-post__thumbnail img {
  border-radius: 16px !important;
  transition: transform 0.5s ease !important;
}

.elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.05) !important;
}

/* Badges / Etiquetas de posts en blog */
.elementor-post__badge {
  border-radius: 9999px !important;
  background: var(--sca-oro-btn) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  font-size: 0.75rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
