
/* ============================================
   VANTIS PRO THEME v5.1
   ============================================ */

/* ── DARK TOKENS ── */
:root,
html[data-vtp="dark"],
html[data-vtp="dark"] body {
  --vk-bg:        #07070c;
  --vk-bg2:       #0d0d18;
  --vk-card:      #111122;
  --vk-card2:     #14142a;
  --vk-border:    rgba(255,255,255,0.07);
  --vk-border2:   rgba(255,255,255,0.13);
  --vk-border3:   rgba(255,255,255,0.20);
  --vk-text:      #d0d0e8;
  --vk-muted:     #9090b8;
  --vk-faint:     #55557a;
  --vk-heading:   #ffffff;
  --vk-nav-text:  #ccccee;
  --vk-nav-bg:    rgba(7,7,12,0.88);
  --vk-sub-bg:    #1a2060;
  --vk-sub-text:  #c7d2fe;
  --vk-blue:      #3b82f6;
  --vk-blue-l:    #60a5fa;
  --vk-indigo:    #6366f1;
  --vk-violet:    #8b5cf6;
  --vk-violet-l:  #a78bfa;
  --vk-teal-l:    #2dd4bf;
  --vk-grad:      linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);
  --vk-grad-text: linear-gradient(135deg,#ffffff 20%,#93c5fd 60%,#c4b5fd 100%);
  --vk-grad-card: linear-gradient(145deg,#111122 0%,#0d0d1a 100%);
  --vk-glow-btn:  0 4px 24px rgba(99,102,241,.4),0 1px 0 rgba(255,255,255,.15) inset;
  --vk-glow-card: 0 8px 32px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.05) inset;
  --vk-grain-op:  0.025;
  --vk-orb1:      rgba(99,102,241,.13);
  --vk-orb2:      rgba(139,92,246,.10);
  --vk-orb3:      rgba(20,184,166,.08);
}

/* ── LIGHT TOKENS ── */
html[data-vtp="light"],
html[data-vtp="light"] body {
  --vk-bg:        #f5f5fa;
  --vk-bg2:       #ededf5;
  --vk-card:      #ffffff;
  --vk-card2:     #f0f0f8;
  --vk-border:    rgba(0,0,0,0.08);
  --vk-border2:   rgba(0,0,0,0.13);
  --vk-border3:   rgba(0,0,0,0.20);
  --vk-text:      #2a2a4a;
  --vk-muted:     #6060a0;
  --vk-faint:     #a0a0c0;
  --vk-heading:   #0a0a1a;
  --vk-nav-text:  #1a1a3a;
  --vk-nav-bg:    rgba(245,245,250,0.92);
  --vk-sub-bg:    #1e2a6e;
  --vk-sub-text:  #e0e7ff;
  --vk-blue:      #2563eb;
  --vk-blue-l:    #3b82f6;
  --vk-indigo:    #4f46e5;
  --vk-violet:    #7c3aed;
  --vk-violet-l:  #8b5cf6;
  --vk-teal-l:    #14b8a6;
  --vk-grad:      linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);
  --vk-grad-text: linear-gradient(135deg,#0a0a1a 0%,#1d4ed8 50%,#6d28d9 100%);
  --vk-grad-card: linear-gradient(145deg,#ffffff 0%,#f5f5fa 100%);
  --vk-glow-btn:  0 4px 20px rgba(79,70,229,.3),0 1px 0 rgba(255,255,255,.4) inset;
  --vk-glow-card: 0 4px 20px rgba(0,0,0,.08),0 1px 0 rgba(255,255,255,.9) inset;
  --vk-grain-op:  0.010;
  --vk-orb1:      rgba(99,102,241,.06);
  --vk-orb2:      rgba(139,92,246,.04);
  --vk-orb3:      rgba(20,184,166,.03);
}

/* ── SCROLLBAR ── */
html { scrollbar-color: var(--vk-border3) var(--vk-bg); scrollbar-width:thin; scroll-behavior:smooth; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--vk-bg); }
::-webkit-scrollbar-thumb { background:var(--vk-border3); border-radius:10px; }
::selection { background:rgba(99,102,241,.3); color:var(--vk-heading); }

/* ── BODY ── */
html, body, body.ct-body,
.ct-main-content-area, .site-wrapper, #page, .entry-content {
  background-color: var(--vk-bg) !important;
  color: var(--vk-text) !important;
  font-family: var(--vt-font, 'Montserrat', -apple-system, sans-serif) !important;
  -webkit-font-smoothing: antialiased;
  transition: background-color .4s ease, color .4s ease;
}
body::before {
  content:''; position:fixed; top:0; left:0; right:0; height:100vh;
  background: radial-gradient(ellipse 120% 80% at 50% -10%, var(--vk-orb1) 0%, var(--vk-orb2) 40%, transparent 70%);
  pointer-events:none; z-index:0; transition: background .4s;
}
body::after {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity: var(--vk-grain-op);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:300px; transition:opacity .4s;
}
.ct-main-content-area, .site-wrapper, #page, #content {
  position:relative; z-index:1; background:transparent !important;
}

/* ── HEADER & NAV ── */
header, .site-header, .ct-header, .ct-header-wrap,
[data-elementor-type="header"] {
  background-color: var(--vk-nav-bg) !important;
  backdrop-filter: blur(24px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.8) !important;
  border-bottom: 1px solid var(--vk-border) !important;
  position: sticky !important; top: 0 !important; z-index: 9999 !important;
  transition: background-color .4s, border-color .4s, transform .4s ease !important;
}

/* LOGO */
.ct-header .site-title,
.ct-header .site-title a,
.ct-header .ct-logo,
.ct-header [class*="logo"],
.ct-header img,
.site-branding img,
.site-branding a,
header .custom-logo,
header .custom-logo-link,
header [class*="logo"] img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 200px !important;
  height: auto !important;
}
.site-title a,
.ct-logo a,
header [class*="logo"] a {
  color: var(--vk-heading) !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  text-decoration: none !important;
  transition: color .3s !important;
}

/* ── NAV LINKS ── */
.ct-menu li a,
.ct-menu > li > a,
nav.ct-menu li a,
.primary-menu li a,
.main-navigation li a,
.elementor-nav-menu li a,
ul.ct-menu li a,
#menu-primary-menu li a,
[class*="nav-menu"] li a,
[class*="main-menu"] li a {
  color: var(--vk-nav-text) !important;
  font-family: var(--vt-font, 'Montserrat', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  transition: color .2s !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.ct-menu li a:hover,
.primary-menu li a:hover,
.main-navigation li a:hover {
  color: var(--vk-blue-l) !important;
}

/* ── ÍTEM ACTIVO — siempre visible (FIX #2) ── */
.ct-menu li.current-menu-item > a,
.ct-menu li.current-menu-ancestor > a,
.ct-menu li.current-page-item > a,
.main-navigation li.current-menu-item > a,
.primary-menu li.current-menu-item > a,
#site-header li.current-menu-item > a,
#site-header li.current-menu-ancestor > a,
[class*="nav-menu"] li.current-menu-item > a,
[class*="main-menu"] li.current-menu-item > a,
.elementor-nav-menu li.current-menu-item > a,
.wp-default-primary-menu li.current-menu-item > a,
.site-navigation li.current-menu-item > a {
  color: var(--vk-violet-l) !important;
  font-weight: 700 !important;
  text-shadow: 0 0 12px rgba(99,102,241,.4) !important;
}

/* ── FONDO DEL MENÚ SPEXO (el tema usa --theme-global-color-3:#fff fijo) ── */
body .tmpcoder-site-header nav.site-navigation > ul.menu,
body .tmpcoder-site-header nav.site-navigation > div.menu,
body .tmpcoder-site-header nav.site-navigation > div.menu > ul,
.tmpcoder-site-header nav.site-navigation > ul.menu ul,
.tmpcoder-site-header nav.site-navigation > div.menu > ul ul {
  background-color: var(--vk-nav-bg) !important;
  background: var(--vk-nav-bg) !important;
  backdrop-filter: blur(20px) !important;
}
/* Texto legible dentro del menú del tema */
body .tmpcoder-site-header nav.site-navigation ul.menu li > a {
  color: var(--vk-nav-text) !important;
}
body .tmpcoder-site-header nav.site-navigation ul.menu li:hover > a,
body .tmpcoder-site-header nav.site-navigation ul.menu li.current-menu-item > a {
  color: var(--vk-violet-l) !important;
}

/* ── Hamburguesa móvil (Spexo) ──
   Las barras usan --theme-global-color-1 (#010101): invisibles sobre la
   cabecera oscura → el menú no se veía en móvil. Forzar color de nav. */
.wp-mobile-toggle:before,
.wp-mobile-toggle:after,
.wp-mobile-toggle .wp-mobile-toggle-line:first-child {
  background: var(--vk-nav-text) !important;
}
/* Mantener la animación de "X": al abrir, la barra central desaparece */
.wp-mobile-toggle-open .wp-mobile-toggle .wp-mobile-toggle-line:first-child {
  background: transparent !important;
}

/* ── SUBMENÚ — fondo azul oscuro (FIX #1) ── */
/* Selectores genéricos: cualquier dropdown anidado dentro del header/nav */
header ul ul,
header nav ul ul,
#site-header ul ul,
[data-elementor-type="header"] ul ul,
.tmpcoder-site-header ul ul,
nav.ct-menu ul ul,
.ct-menu .sub-menu,
.main-navigation .sub-menu,
nav .sub-menu,
ul.sub-menu,
.dropdown-menu,
#site-header .sub-menu,
#site-header ul.sub-menu,
.tmpcoder-site-header .sub-menu,
.wp-default-primary-menu .sub-menu {
  background-color: var(--vk-sub-bg) !important;
  background:       var(--vk-sub-bg) !important;
  border: 1px solid rgba(99,102,241,.35) !important;
  border-radius: 12px !important;
  padding: 8px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.4) !important;
  backdrop-filter: blur(20px) !important;
  transition: background .4s, border-color .4s !important;
}

/* Texto en submenú */
header ul ul li a,
header nav ul ul li a,
#site-header ul ul li a,
[data-elementor-type="header"] ul ul li a,
.tmpcoder-site-header ul ul li a,
.ct-menu .sub-menu li a,
.main-navigation .sub-menu li a,
ul.sub-menu li a,
#site-header .sub-menu a,
#site-header .sub-menu li a,
.tmpcoder-site-header .sub-menu a,
.wp-default-primary-menu .sub-menu a {
  color: var(--vk-sub-text) !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  display: block !important;
  background: transparent !important;
  transition: background .2s, color .2s !important;
}

/* Ítem activo dentro del submenú — legible sobre fondo oscuro */
header ul ul li.current-menu-item > a,
#site-header ul ul li.current-menu-item > a,
.tmpcoder-site-header ul ul li.current-menu-item > a,
ul.sub-menu li.current-menu-item > a {
  color: #ffffff !important;
  background: rgba(99,102,241,.25) !important;
  text-shadow: none !important;
}

/* Hover en submenú */
header ul ul li a:hover,
#site-header ul ul li a:hover,
.tmpcoder-site-header ul ul li a:hover,
[data-elementor-type="header"] ul ul li a:hover,
.ct-menu .sub-menu li a:hover,
ul.sub-menu li a:hover,
#site-header .sub-menu li a:hover,
.tmpcoder-site-header .sub-menu li a:hover {
  background: rgba(99,102,241,.18) !important;
  color: #ffffff !important;
}

/* ── MENÚ MÓVIL ── */
@media (max-width: 1024px) {
  .ct-header .ct-toggle-dropdown-mobile,
  .ct-header [data-toggle="menu"],
  .menu-toggle, .hamburger,
  button[aria-controls*="menu"],
  button[class*="menu-toggle"] {
    color: var(--vk-heading) !important;
    background: transparent !important;
    border: 1px solid var(--vk-border2) !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
  }
  .ct-drawer, .ct-mobile-menu,
  [class*="mobile-menu"],
  [class*="mobile-nav"],
  .ct-header .ct-panel {
    background-color: var(--vk-bg2) !important;
    border-left: 1px solid var(--vk-border) !important;
  }
  .ct-drawer li a,
  .ct-mobile-menu li a,
  [class*="mobile-menu"] li a {
    color: var(--vk-nav-text) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--vk-border) !important;
  }
  .ct-drawer li a:hover,
  [class*="mobile-menu"] li a:hover {
    color: var(--vk-blue-l) !important;
    background: rgba(99,102,241,.08) !important;
  }
  .ct-drawer .sub-menu,
  [class*="mobile-menu"] .sub-menu {
    background: rgba(99,102,241,.05) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
}

/* ── HEADINGS ── */
h1,h2,h3,h4,h5,h6,.elementor-heading-title {
  font-family: var(--vt-font, 'Montserrat', sans-serif) !important;
  color: var(--vk-heading) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.12 !important;
  transition: color .4s !important;
}
h1, .elementor-size-xxl, .elementor-size-xl {
  background: var(--vk-grad-text) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: clamp(1.9rem,3.2vw,3rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}
/* Degradado también en titulares H2 (los titulares de este sitio son h2.size-default) */
h2, .elementor-widget-heading h2.elementor-heading-title {
  background: var(--vk-grad-text) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
h2 { font-size: clamp(1.5rem,2.6vw,2.1rem) !important; font-weight:700 !important; }
h3 { font-size: clamp(1.15rem,1.8vw,1.4rem) !important; font-weight:700 !important; }
h4,h5,h6 { font-weight:600 !important; }

/* ── BODY TEXT ── */
p, li, .elementor-text-editor p {
  color: var(--vk-text) !important;
  font-family: var(--vt-font, 'Montserrat', sans-serif) !important;
  line-height: 1.75 !important;
  transition: color .4s !important;
}
strong, b { color: var(--vk-heading) !important; font-weight:700 !important; }

/* ── BUTTONS ── */
.elementor-button, a.elementor-button, .ct-button {
  font-family: var(--vt-font, 'Montserrat', sans-serif) !important;
  font-weight: 600 !important; border-radius: 10px !important;
  padding: 13px 28px !important; cursor: pointer !important;
  position: relative !important; overflow: hidden !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
  border: none !important;
  background: var(--vk-grad) !important;
  color: #fff !important;
  box-shadow: var(--vk-glow-btn) !important;
}
.elementor-button:hover, a.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 40px rgba(99,102,241,.5) !important;
}
.elementor-button::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transition: left .5s !important;
}
.elementor-button:hover::before { left:100% !important; }

/* ── CARDS ── */
.elementor-icon-box-wrapper, .elementor-image-box-wrapper {
  background: var(--vk-grad-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important; padding: 32px !important;
  box-shadow: var(--vk-glow-card) !important;
  transition: border-color .3s, transform .35s ease, box-shadow .35s, background .4s !important;
}
.elementor-icon-box-wrapper:hover, .elementor-image-box-wrapper:hover {
  border-color: var(--vk-border2) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.2), 0 0 40px rgba(139,92,246,.1) !important;
}
.elementor-icon-box-title, .elementor-image-box-title {
  color: var(--vk-heading) !important; font-weight:700 !important; transition:color .4s !important;
}
.elementor-icon-box-description, .elementor-image-box-description {
  color: var(--vk-muted) !important; transition:color .4s !important;
}

/* ── PRICING ── */
.e-container>.e-container {
  background: var(--vk-card) !important;
  border-color: var(--vk-border2) !important;
  transition: background .4s, border-color .3s, transform .3s !important;
}
.e-container>.e-container:hover {
  border-color: rgba(99,102,241,.4) !important;
  transform: translateY(-4px) !important;
}

/* ── PRICING CARDS MÓVIL (FIX #3) ── */
@media (max-width: 767px) {

  /* Wrap del contenedor de precios (incluye contenedores flex e-con-full) */
  .elementor-section .elementor-row,
  .e-con,
  .e-con > .e-con-inner,
  .e-con.e-flex,
  .e-con-full.e-flex,
  .elementor-container.elementor-column-gap-default,
  .elementor-section-content {
    flex-wrap: wrap !important;
  }

  /* Cada tarjeta a ancho completo y SIN transformaciones (la "recomendada"
     lleva e-transform/scale que provoca el solapamiento) */
  .elementor-section .elementor-column,
  .e-con > .e-con-inner > .e-con,
  .e-con.e-flex > .e-con,
  .e-con-full.e-flex > .e-con,
  .e-con > .e-con-inner > [class*="elementor-col"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    /* Reset de transformaciones/posición que provocan solapamiento
       (p.ej. la tarjeta "RECOMENDADO" suele tener scale o z-index) */
    transform: none !important;
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    float: none !important;
  }

  /* La primera tarjeta no necesita separación superior */
  .e-con > .e-con-inner > .e-con:first-child,
  .elementor-section .elementor-column:first-child {
    margin-top: 0 !important;
  }

  /* Separación entre tarjetas (refuerzo) */
  .elementor-section .elementor-column + .elementor-column,
  .e-con > .e-con-inner > .e-con + .e-con {
    margin-top: 24px !important;
  }

  /* Ancho seguro para contenido interno */
  .e-container > .e-container,
  .elementor-column > .elementor-widget-wrap,
  .elementor-column-wrap {
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* Evitar recortes */
  .elementor-section[data-element_type="section"],
  .e-con[data-element_type="container"] {
    overflow: visible !important;
  }

  /* Texto de las tarjetas: sin cortes */
  .e-container > .e-container h2,
  .e-container > .e-container h3,
  .e-container > .e-container p,
  .e-container > .e-container .elementor-heading-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
}

/* Tablet (768-1024) — 2 columnas */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-section .elementor-row,
  .e-con > .e-con-inner {
    flex-wrap: wrap !important;
  }
  .elementor-section .elementor-column,
  .e-con > .e-con-inner > .e-con {
    width: 48% !important;
    max-width: 48% !important;
    flex: 0 0 48% !important;
  }
  .elementor-section .elementor-column + .elementor-column,
  .e-con > .e-con-inner > .e-con + .e-con {
    margin-top: 16px !important;
  }
}

/* ── TESTIMONIALS ── */
.elementor-testimonial, [class*="testimonial"] .elementor-widget-container {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important; padding: 32px !important;
  transition: background .4s, border-color .3s !important;
}
.elementor-testimonial__content { color: var(--vk-text) !important; font-style:italic !important; }
.elementor-testimonial__name   { color: var(--vk-heading) !important; font-weight:600 !important; }

/* ── ICON LIST ── */
.elementor-icon-list-item-text { color: var(--vk-text) !important; transition:color .4s !important; }
.elementor-icon-list-icon i, .elementor-icon-list-icon svg { color: var(--vk-teal-l) !important; fill:var(--vk-teal-l) !important; }

/* ── FORMS ── */
input:not([type="submit"]):not([type="checkbox"]), textarea, select {
  background: rgba(99,102,241,.05) !important;
  border: 1px solid var(--vk-border2) !important;
  border-radius: 10px !important;
  color: var(--vk-heading) !important;
  padding: 13px 18px !important;
  transition: border-color .2s, background .4s !important;
}
input:focus, textarea:focus { border-color: var(--vk-indigo) !important; box-shadow:0 0 0 4px rgba(99,102,241,.12) !important; }
::placeholder { color: var(--vk-faint) !important; }

/* ── FOOTER ── */
footer, .site-footer, .ct-footer {
  background: var(--vk-bg2) !important;
  border-top: 1px solid var(--vk-border) !important;
  transition: background .4s, border-color .4s !important;
}
footer p, footer a, .site-footer p, .site-footer a { color: var(--vk-muted) !important; }
footer a:hover, .site-footer a:hover { color: var(--vk-heading) !important; }

/* ── DIVIDER ── */
.elementor-divider-separator {
  border:none !important; height:1px !important;
  background: linear-gradient(90deg,transparent,var(--vk-border3),transparent) !important;
}

/* ── IMAGES ── */
.elementor-widget-image img { border-radius:14px !important; transition:transform .4s !important; }
.elementor-widget-image img:hover { transform:scale(1.02) !important; }

/* ── SECTIONS ── */
.elementor-section, .e-container, .elementor-container {
  background-color: transparent !important;
  position: relative; z-index:1;
}

/* ── ANIMATIONS ── */
@keyframes vtp-fade-up { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes vtp-fade-in { from{opacity:0} to{opacity:1} }
@keyframes vtp-pulse   { 0%,100%{opacity:.5;transform:scale(1)} 50%{opacity:.9;transform:scale(1.06)} }
@keyframes vtp-ripple  { to{transform:scale(1);opacity:0} }

.vtp-reveal { opacity:0; transform:translateY(26px); transition:opacity .65s cubic-bezier(.23,1,.32,1), transform .65s cubic-bezier(.23,1,.32,1); }
.vtp-reveal.vtp-in { opacity:1; transform:translateY(0); }
.vtp-d1{transition-delay:.1s!important} .vtp-d2{transition-delay:.2s!important}
.vtp-d3{transition-delay:.3s!important} .vtp-d4{transition-delay:.4s!important}

/* ── AMBIENT ORBS ── */
.vtp-orb { position:fixed; border-radius:50%; pointer-events:none; filter:blur(80px); z-index:0; animation:vtp-pulse 8s ease infinite; }
.vtp-orb-1 { width:600px;height:600px;top:-200px;left:-100px; background:radial-gradient(circle,var(--vk-orb1) 0%,transparent 70%); }
.vtp-orb-2 { width:500px;height:500px;top:30vh;right:-150px; background:radial-gradient(circle,var(--vk-orb2) 0%,transparent 70%); animation-delay:-3s; }
.vtp-orb-3 { width:400px;height:400px;bottom:10vh;left:20%; background:radial-gradient(circle,var(--vk-orb3) 0%,transparent 70%); animation-delay:-6s; }

/* ── TOGGLE BUTTON ── */
#vtp-toggle-btn {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 2147483647 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: var(--vk-card) !important;
  border: 1.5px solid var(--vk-border2) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.08) inset !important;
  transition: transform .2s ease, box-shadow .2s ease, background .4s !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#vtp-toggle-btn:hover {
  transform: scale(1.12) !important;
  box-shadow: 0 6px 32px rgba(99,102,241,.4) !important;
}
#vtp-toggle-btn:active { transform: scale(.95) !important; }
#vtp-toggle-btn svg {
  width: 22px !important; height: 22px !important;
  pointer-events: none !important;
  transition: opacity .35s, transform .35s cubic-bezier(.23,1,.32,1) !important;
}
#vtp-toggle-btn .ico-sun  { position:absolute !important; }
#vtp-toggle-btn .ico-moon { position:absolute !important; }

/* Tooltip */
#vtp-toggle-btn::after {
  content: attr(data-tip);
  position: absolute !important;
  right: 60px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  background: var(--vk-card2) !important;
  color: var(--vk-text) !important;
  font-family: var(--vt-font, 'Montserrat', sans-serif) !important;
  font-size: 12px !important; font-weight:500 !important;
  white-space: nowrap !important;
  padding: 5px 11px !important;
  border-radius: 7px !important;
  border: 1px solid var(--vk-border2) !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transition: opacity .2s !important;
}
#vtp-toggle-btn:hover::after { opacity: 1 !important; }

@media (max-width: 768px) {
  #vtp-toggle-btn { bottom:20px !important; right:20px !important; width:46px !important; height:46px !important; }
  #vtp-toggle-btn::after { display:none !important; }
}

/* ── HEADER FIXES — logo y submenús Spexo ── */
.site-branding { overflow: visible !important; }
.site-branding h1.site-title-option::before,
.site-branding .site-title-option::before {
  content: "";
  display: inline-block;
  width: 36px; height: 36px;
  margin-right: 12px;
  vertical-align: middle;
  background: url("../img/vantis-square-256.png") center/contain no-repeat;
}
.site-branding h1, h1.site-title-option, .site-title-option,
#site-header h1.site-title-option, .tmpcoder-site-header h1, .site-branding a h1 {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  background: none !important;
  -webkit-text-fill-color: var(--vk-heading) !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: var(--vk-heading) !important;
}

/* ── FIX FONDO (modo claro) ── */
html body, html[data-vtp] body, html body.ct-body {
  background-color: var(--vk-bg) !important;
  color: var(--vk-text) !important;
}
html .ct-main-content-area, html #main, html .ct-container,
html .site-main, html .entry-content, html #content {
  background-color: transparent !important;
}
:root, html[data-vtp="dark"], html[data-vtp="light"] {
  --theme-background-color: var(--vk-bg);
  --theme-text-color: var(--vk-text);
}

/* ── Fondo secciones app (página 2735 y 1444) ── */
body.elementor-page-2735 .elementor-section,
body.elementor-page-2735 .elementor-top-section,
body.elementor-page-2735 .elementor-inner-section,
body.elementor-page-2735 .e-con,
body.elementor-page-2735 .e-con-inner,
body.elementor-page-2735 .elementor-column,
body.elementor-page-2735 .elementor-element-populated,
body.elementor-page-2735 .elementor-widget-wrap,
body.elementor-page-1444 .elementor-section,
body.elementor-page-1444 .e-con,
body.elementor-page-1444 .e-con-inner,
body.elementor-page-1444 .elementor-column,
body.elementor-page-1444 .elementor-element-populated,
body.elementor-page-1444 .elementor-widget-wrap {
  background-image: none !important;
  background-color: transparent !important;
}

/* ── LinkedGroups app ── */
.lg-sidebar { background: var(--vk-card) !important; border-color: var(--vk-border) !important; }
.lg-menu a { color: var(--vk-text) !important; }
.lg-menu a:hover { background: var(--vk-card2) !important; }
.lg-menu a.activo { background: var(--vk-grad) !important; color:#fff !important; }

.tarjeta-idea, .post-card, .kpi-card, .published-post-card,
.admin-table-wrapper, .db-manager-container, .visual-editor, .db-modal-box,
.lg-modal-content {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
  color: var(--vk-text) !important;
  box-shadow: var(--vk-glow-card) !important;
}
.lg-modal, .db-modal-overlay { background: rgba(0,0,0,.6) !important; }
.close-modal, .lg-modal-close { color: var(--vk-muted) !important; }
.close-modal:hover, .lg-modal-close:hover { color: var(--vk-heading) !important; }

.lg-admin-table th, .db-table-ui th {
  background: var(--vk-card2) !important;
  color: var(--vk-heading) !important;
  border-bottom-color: var(--vk-border3) !important;
}
.lg-admin-table td, .db-table-ui td {
  color: var(--vk-text) !important;
  border-bottom-color: var(--vk-border) !important;
}

#main-app-container input:not([type=submit]):not([type=checkbox]):not([type=radio]),
#main-app-container textarea, #main-app-container select,
.lg-modal input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.lg-modal textarea, .lg-modal select {
  background: var(--vk-card2) !important;
  border: 1px solid var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}
#main-app-container ::placeholder, .lg-modal ::placeholder { color: var(--vk-faint) !important; }

.platform-selector-container { background: var(--vk-card2) !important; border-color: var(--vk-border) !important; }
.platform-option { background: var(--vk-card) !important; border-color: var(--vk-border2) !important; color: var(--vk-text) !important; }
.platform-selector-label, .platform-name { color: var(--vk-text) !important; }
.sch-days-grid label { background: var(--vk-card2) !important; border-color: var(--vk-border) !important; color: var(--vk-text) !important; }

#main-app-container [style*="background:#fff"], #main-app-container [style*="background: #fff"],
#main-app-container [style*="background:#ffffff"], #main-app-container [style*="background:white"],
#main-app-container [style*="background: white"], #main-app-container [style*="background:#fdfdfd"],
.lg-modal [style*="background:#fff"], .lg-modal [style*="background: #fff"],
.lg-modal [style*="background:#ffffff"], .lg-modal [style*="background:white"],
.lg-modal [style*="background: white"], .lg-modal [style*="background:#fdfdfd"],
#main-app-container [style*="background-color:#fff"], #main-app-container [style*="background-color: #fff"],
#main-app-container [style*="background-color:white"], #main-app-container [style*="background-color: white"],
.lg-modal [style*="background-color:#fff"], .lg-modal [style*="background-color:white"] {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
  color: var(--vk-text) !important;
}
/* El texto interior (p, span, div sin fondo propio) de los contenedores con
   fondo claro inline (p.ej. tarjetas de ideas generadas con background:#fdfdfd)
   debe heredar el color claro del tema, no el negro por defecto. */
#main-app-container [style*="background:#fdfdfd"] p, #main-app-container [style*="background:#fdfdfd"] span,
#main-app-container [style*="background:#fff"] p, #main-app-container [style*="background:#ffffff"] p,
#main-app-container [style*="background:white"] p, #main-app-container [style*="background: white"] p,
.lg-modal [style*="background:#fdfdfd"] p, .lg-modal [style*="background:#fff"] p,
.lg-modal [style*="background:#ffffff"] p, .lg-modal [style*="background:white"] p {
  color: var(--vk-text) !important;
}

.post-card, .published-post-card, .tarjeta-idea,
.post-card p, .published-post-card p, .tarjeta-idea p,
.post-card div, .published-post-card div {
  border-color: var(--vk-border) !important;
}
.post-card p, .published-post-card p, .tarjeta-idea p {
  background-color: transparent !important;
  color: var(--vk-text) !important;
}
/* Editor enriquecido de «Contexto para la IA» (#context-editor) y su barra */
#context-editor {
  background: var(--vk-card2) !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border) !important;
}
#context-editor * { color: var(--vk-text) !important; }
#context-editor:empty:before {
  content: attr(data-placeholder);
  color: var(--vk-muted) !important;
}
.lg-context-toolbar button, .lg-context-toolbar label {
  background: var(--vk-card) !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border) !important;
}
#main-app-container [style*="background:#f9f9f9"], #main-app-container [style*="background: #f9f9f9"],
#main-app-container [style*="background:#f8f9fa"], #main-app-container [style*="background: #f8f9fa"],
#main-app-container [style*="background:#f0f8ff"], #main-app-container [style*="background:#f0f0f0"],
#main-app-container [style*="background:#eee"],
.lg-modal [style*="background:#f9f9f9"], .lg-modal [style*="background: #f9f9f9"],
.lg-modal [style*="background:#f8f9fa"], .lg-modal [style*="background: #f8f9fa"],
.lg-modal [style*="background:#f0f0f0"], .lg-modal [style*="background:#e8f4f8"],
.lg-modal [style*="background:#eee"] {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border) !important;
}
#main-app-container [style*="color:#2c3e50"], #main-app-container [style*="color: #2c3e50"],
#main-app-container [style*="color:#333"],
.lg-modal [style*="color:#2c3e50"], .lg-modal [style*="color: #2c3e50"], .lg-modal [style*="color:#333"] {
  color: var(--vk-heading) !important;
}
#main-app-container [style*="color:#555"], #main-app-container [style*="color:#666"],
#main-app-container [style*="color:#777"], #main-app-container [style*="color:#888"],
#main-app-container [style*="color:#999"], #main-app-container [style*="color:#7f8c8d"],
.lg-modal [style*="color:#666"], .lg-modal [style*="color:#777"], .lg-modal [style*="color:#999"] {
  color: var(--vk-muted) !important;
}

/* ── UsersWP (login / registro / forgot / change / profile / users) ──
   Formularios AyeCode UI (Bootstrap 5, body.uwp_page). Re-mapeamos las
   variables --bs-* y las superficies al tema para que NO queden blancas y
   sigan el modo claro/oscuro. Scope acotado a .uwp_page para no tocar otros
   componentes Bootstrap del sitio. */
body.uwp_page {
  --bs-body-bg: var(--vk-bg);
  --bs-body-color: var(--vk-text);
  --bs-card-bg: var(--vk-card);
  --bs-card-color: var(--vk-text);
  --bs-border-color: var(--vk-border);
  --bs-secondary-bg: var(--vk-card2);
  --bs-tertiary-bg: var(--vk-card2);
  --bs-emphasis-color: var(--vk-heading);
}
.uwp_page .card, .uwp_page .card-body, .uwp_page .uwp_form,
.uwp_page .uwp-users-list-user {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
  color: var(--vk-text) !important;
}
.uwp_page .card-title, .uwp_page label, .uwp_page h1, .uwp_page h2,
.uwp_page h3, .uwp_page p, .uwp_page .uwp-profile-title,
.uwp_page .list-group-item, .uwp_page .uwp_page_title {
  color: var(--vk-text) !important;
}
.uwp_page .list-group-item { background: transparent !important; }
.uwp_page .form-control, .uwp_page .form-select,
.uwp_page input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.uwp_page textarea {
  background-color: var(--vk-card2) !important;
  color: var(--vk-heading) !important;
  border-color: var(--vk-border2) !important;
}
.uwp_page .form-control::placeholder { color: var(--vk-faint) !important; }
.uwp_page .text-muted, .uwp_page small, .uwp_page .small { color: var(--vk-muted) !important; }
.uwp_page a, .uwp_page .uwp-footer-link, .uwp_page .uwp-forgot-password-link,
.uwp_page .uwp-register-link, .uwp_page .uwp-login-link { color: var(--vk-blue-l) !important; }

/* Salvaguarda: contenedor de la sección Usuarios de la app (inline background:#fff) */
#main-app-container #seccion-users { background: var(--vk-card) !important; }

/* ── Página "Users" (#1811, /users-2/) — gestión de licencias con estilos
   inline fijos (paneles blancos + texto oscuro). La tematizamos por scope de
   página. Se conservan los colores de marca (azul #0073aa, verde, rojo). */
body.page-id-1811 #panel-admin-v28,
body.page-id-1811 [style*="background:#fff"], body.page-id-1811 [style*="background: #fff"],
body.page-id-1811 [style*="background:#ffffff"] {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
}
body.page-id-1811 [style*="background:#f9f9f9"], body.page-id-1811 [style*="background:#f8f9fa"],
body.page-id-1811 [style*="background:#f0f0f0"], body.page-id-1811 [style*="background:#eee"],
body.page-id-1811 [style*="background:#e8f5e8"] {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border) !important;
}
body.page-id-1811 td, body.page-id-1811 p, body.page-id-1811 label,
body.page-id-1811 h4, body.page-id-1811 li, body.page-id-1811 strong,
body.page-id-1811 [style*="color:#444"], body.page-id-1811 [style*="color:#333"],
body.page-id-1811 [style*="color:#222"], body.page-id-1811 [style*="color: #333"] {
  color: var(--vk-text) !important;
}
body.page-id-1811 [style*="color:#666"], body.page-id-1811 [style*="color:#777"],
body.page-id-1811 [style*="color:#999"], body.page-id-1811 [style*="color:#888"] {
  color: var(--vk-muted) !important;
}
body.page-id-1811 input, body.page-id-1811 select, body.page-id-1811 textarea {
  background: var(--vk-card2) !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border2) !important;
}
/* Cabeceras de tabla con fondo azul de marca: texto blanco; resto legible */
body.page-id-1811 th { color: var(--vk-text) !important; }
body.page-id-1811 th[style*="background:#0073aa"], body.page-id-1811 th[style*="background: #0073aa"] { color:#fff !important; }
body.page-id-1811 #modal_v28 > div { background: var(--vk-card) !important; }

/* ── WooCommerce «Mi cuenta» (navegación + contenido) ──
   Blocksy envuelve la navegación en .ct-acount-nav (sic) cuyo fondo es
   --theme-palette-color-8 (blanco). Hay que sobrescribir ESE contenedor,
   no solo el <nav> .woocommerce-MyAccount-navigation interior. */
.woocommerce-account .ct-acount-nav {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  box-shadow: var(--vk-glow-card) !important;
}
.woocommerce-account .ct-acount-nav,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation li {
  --account-nav-background-initial-color: var(--vk-card);
  --account-nav-text-initial-color: var(--vk-text);
  --account-nav-text-active-color: #ffffff;
  --account-nav-background-active-color: var(--vk-indigo);
  --account-nav-divider-color: var(--vk-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation li {
  background: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(:last-child) a {
  border-bottom: 1px solid var(--vk-border) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  color: var(--vk-text) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:hover a {
  background: var(--vk-card2) !important;
  color: var(--vk-heading) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--vk-indigo) !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* Texto y enlaces del contenido de la cuenta */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content td,
.woocommerce-account .woocommerce-MyAccount-content th,
.woocommerce-account .woocommerce-MyAccount-content li {
  color: var(--vk-text) !important;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: var(--vk-blue-l) !important;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {
  color: var(--vk-violet-l) !important;
}

/* Tablas WooCommerce (Pedidos, Descargas, Licencias) */
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-downloads,
.woocommerce-account table.shop_table tbody,
.woocommerce-account table.shop_table tr {
  background: transparent !important;
  border-color: var(--vk-border2) !important;
  color: var(--vk-text) !important;
}
.woocommerce-account table.shop_table th {
  background: var(--vk-card2) !important;
  color: var(--vk-heading) !important;
  border-color: var(--vk-border2) !important;
}
.woocommerce-account table.shop_table td {
  background: var(--vk-card) !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border2) !important;
}
/* Chips de clave de licencia (<code> con estilos inline #f9f9f9/#ddd) */
.woocommerce-account .woocommerce-MyAccount-content code {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}

/* ── WooCommerce: checkout y «Pedido recibido» (order-received) ── */
/* Enlaces de producto y celdas en tablas de pedido/descargas */
.woocommerce-order-received .woocommerce a:not(.button),
.woocommerce-checkout .woocommerce a:not(.button),
.woocommerce table.shop_table a:not(.button),
.woocommerce table.woocommerce-table a:not(.button) {
  color: var(--vk-blue-l) !important;
}
.woocommerce-order-received .woocommerce a:not(.button):hover,
.woocommerce-checkout .woocommerce a:not(.button):hover {
  color: var(--vk-violet-l) !important;
}
.woocommerce table.shop_table,
.woocommerce table.woocommerce-table,
.woocommerce table.shop_table tr,
.woocommerce table.woocommerce-table tr {
  background: transparent !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border2) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.woocommerce-table th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
  background: var(--vk-card2) !important;
  color: var(--vk-heading) !important;
  border-color: var(--vk-border2) !important;
}
.woocommerce table.shop_table td,
.woocommerce table.woocommerce-table td {
  background: var(--vk-card) !important;
  color: var(--vk-text) !important;
  border-color: var(--vk-border2) !important;
}
.woocommerce table.shop_table code,
.woocommerce table.woocommerce-table code {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}

/* Caja «¡Tu Licencia de LinkedGroups!» (snippet WPCode con estilos inline:
   border:2px dashed #4CAF50; background-color:#f9f9f9; texto en #333/#666) */
[style*="dashed #4CAF50"] {
  background-color: var(--vk-card) !important;
  border-color: #4CAF50 !important;
  border-radius: 10px;
}
[style*="dashed #4CAF50"] h3,
[style*="dashed #4CAF50"] p,
[style*="dashed #4CAF50"] code,
[style*="dashed #4CAF50"] [style*="color: #333"],
[style*="dashed #4CAF50"] [style*="color:#333"],
[style*="dashed #4CAF50"] [style*="color: #666"],
[style*="dashed #4CAF50"] [style*="color:#666"] {
  color: var(--vk-text) !important;
}
[style*="dashed #4CAF50"] h3 { color: #5fd07f !important; }
[style*="dashed #4CAF50"] code {
  background: var(--vk-bg2) !important;
  color: var(--vk-heading) !important;
  padding: 4px 8px;
  border-radius: 6px;
}

/* ── Pestaña «Holded MCP» de Mi cuenta (plugin holded-mcp-license, .hmcp-*) ── */
.hmcp-wrap { color: var(--vk-text) !important; }
.hmcp-wrap .hmcp-card {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
  box-shadow: var(--vk-glow-card) !important;
}
.hmcp-wrap .hmcp-card h3 { color: var(--vk-heading) !important; }
.hmcp-wrap h2 { color: var(--vk-heading) !important; }
/* Párrafos/labels con color inline #555 o #636e7b → texto legible */
.hmcp-wrap [style*="color:#555"],
.hmcp-wrap [style*="color: #555"],
.hmcp-wrap [style*="color:#636e7b"],
.hmcp-wrap label[style*="color:#555"] {
  color: var(--vk-muted) !important;
}
.hmcp-wrap .hmcp-input {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}
.hmcp-wrap .hmcp-input::placeholder { color: var(--vk-faint) !important; }
.hmcp-wrap details summary[style*="color:#1a2980"],
.hmcp-wrap a[style*="color:#1a2980"] { color: var(--vk-blue-l) !important; }

/* ── WooCommerce checkout: campos de formulario ── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .form-row .input-text {
  background: var(--vk-card2) !important;
  border: 1px solid var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}
.woocommerce-checkout ::placeholder { color: var(--vk-faint) !important; }
.woocommerce-checkout .form-row label,
.woocommerce-checkout label { color: var(--vk-text) !important; }

/* select2 (País/Región, Provincia) */
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple {
  background: var(--vk-card2) !important;
  border: 1px solid var(--vk-border2) !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--vk-heading) !important;
}
.select2-dropdown,
.select2-container--default .select2-results__option {
  background: var(--vk-card) !important;
  color: var(--vk-text) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
  background: var(--vk-indigo) !important;
  color: #ffffff !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--vk-card2) !important;
  border-color: var(--vk-border2) !important;
  color: var(--vk-heading) !important;
}

/* Barra «¿Tienes un cupón?» y avisos info */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce .woocommerce-info {
  background: var(--vk-card) !important;
  border-top-color: var(--vk-indigo) !important;
  color: var(--vk-text) !important;
}
.woocommerce-checkout .woocommerce-info a,
.woocommerce .woocommerce-info a { color: var(--vk-blue-l) !important; }
/* Fix hamburguesa — fuerza visibilidad con máxima especificidad */
html body .elementor-hidden-mobile.elementor-widget-nav-menu,
html body .elementor-hidden-tablet.elementor-widget-nav-menu {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body .elementor-hidden-mobile.elementor-widget-nav-menu .elementor-menu-toggle,
html body .elementor-hidden-tablet.elementor-widget-nav-menu .elementor-menu-toggle {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 999999 !important;
}
/* Bajar admin bar para que no tape el header en móvil */
@media (max-width: 1024px) {
  html.wp-toolbar {
    padding-top: 0 !important;
  }
  #wpadminbar {
    display: none !important;
  }
}

/* ============================================================
   SISTEMA DE DISEÑO ADICIONAL (Estructuralmente Refactorizado y Responsivo)
   ============================================================ */

/* Montserrat: autoalojada en assets/fonts (vt-tokens.css). Sin @import remoto (RGPD). */

/* ============================================================
   1. TIPOGRAFÍA Y CONFIGURACIÓN GLOBAL
   ============================================================ */

body,
body :not([class*="eicon-"]):not([class*="fa-"]):not([class*="dashicons"]):not(i):not([class*="icon"]) {
  font-family: var(--vt-font, "Montserrat", sans-serif) !important;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title {
  letter-spacing: 0 !important;
}

.elementor-widget-image img,
.elementor-widget-image .elementor-widget-container,
.elementor-widget-image {
  max-width: 100% !important;
  height: auto !important;
}

.e-con {
  min-width: 0 !important;
}

.e-con > .e-con,
.e-con > .elementor-widget-image {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-element {
  --padding-top: 60px !important;
  --padding-bottom: 60px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-element {
    --padding-top: 36px !important;
    --padding-bottom: 36px !important;
  }
}

body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-element:first-child {
  --padding-top: 80px !important;
  --padding-bottom: 60px !important;
  min-height: 420px;
}

@media (max-width: 767px) {
  body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-element:first-child {
    --padding-top: 48px !important;
    min-height: 0;
  }
}

body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-text-editor p {
  line-height: 1.6 !important;
  margin-bottom: 0.6em;
}

body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-heading {
  margin-top: 4px;
}


/* ============================================================
   2. CLASES DE UTILIDAD Y COMPONENTES PERSONALIZADOS
   ============================================================ */

.uc-card {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.uc-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  border: 1px solid var(--vk-border2) !important;
  background: var(--vk-orb3) !important;
  color: var(--vk-teal-l) !important;
}

.uc-pill.uc-pill-solid {
  background: #2FCCB0 !important;
  color: #06261F !important;
  border-color: #2FCCB0 !important;
}

.uc-check-item {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.uc-check-circle {
  flex: none !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #2FCCB0 !important;
  color: #06261F !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.uc-btn-mint {
  background: #2FCCB0 !important;
  color: #06261F !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  display: inline-block !important;
  text-decoration: none !important;
}


/* ============================================================
   3. HEADER, MENÚ DE NAVEGACIÓN Y MENÚ MÓVIL
   ============================================================ */

/* --- Contenedor del menú principal (Alineación y Flexibilidad) --- */
.elementor-element-4839641 .elementor-widget-container {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

.elementor-element-4839641 .elementor-nav-menu--main {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* --- Botón del menú móvil (Hamburguesa) --- */
.elementor-hidden-mobile .elementor-menu-toggle,
.elementor-hidden-tablet .elementor-menu-toggle,
.elementor-hidden-mobile.elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-hidden-tablet.elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-element-4839641 .elementor-menu-toggle {
  display: inline-flex !important;
  position: static !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  margin-left: auto !important;
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--vk-glow-card) !important;
  cursor: pointer !important;
  z-index: auto !important;
}

/* --- Icono de hamburguesa móvil (SVG / Ícono) --- */
.elementor-hidden-mobile .elementor-menu-toggle svg,
.elementor-hidden-tablet .elementor-menu-toggle svg,
.elementor-hidden-mobile .elementor-menu-toggle i,
.elementor-hidden-tablet .elementor-menu-toggle i {
  fill: var(--vk-teal-l) !important;
  color: var(--vk-teal-l) !important;
  width: 20px !important;
  height: 20px !important;
}

/* --- Ocultar hamburguesa en escritorio --- */
.elementor-widget-nav-menu:not(.elementor-hidden-mobile):not(.elementor-hidden-tablet) .elementor-menu-toggle {
  display: none !important;
}

/* --- Enlaces del menú principal (Espaciados y Ajustes de Ancho) --- */
.elementor-element-4839641 .elementor-nav-menu--main .elementor-nav-menu a {
  padding: 13px 10px !important;
}

@media (max-width: 1366px) {
  .elementor-element-4839641 .elementor-nav-menu--main .elementor-nav-menu a {
    padding: 12px 7px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 1024px) {
  .elementor-element-4839641 .elementor-nav-menu--main .elementor-nav-menu a {
    padding: 10px 5px !important;
    font-size: 14px !important;
  }
}

/* --- Colores y estados hover en el menú principal --- */
.elementor-element-4839641 .elementor-nav-menu--main .elementor-item {
  color: var(--vk-text) !important;
}

.elementor-element-4839641 .elementor-nav-menu--main .elementor-item:hover,
.elementor-element-4839641 .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--vk-teal-l) !important;
}

/* --- Menú desplegable móvil / Dropdown --- */
body .elementor-nav-menu--dropdown,
body [class*="elementor-nav-menu"][class*="dropdown"] {
  background-color: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--vk-glow-card) !important;
}

body .elementor-nav-menu--dropdown .elementor-item,
body .elementor-nav-menu__container .elementor-item,
body [class*="elementor-nav-menu"][class*="dropdown"] a,
body [class*="elementor-nav-menu"][class*="dropdown"] .elementor-item {
  color: var(--vk-text) !important;
}

body .elementor-nav-menu--dropdown .elementor-item:hover,
body .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
body [class*="elementor-nav-menu"][class*="dropdown"] a:hover {
  color: var(--vk-teal-l) !important;
}


/* --- Cabecera en móvil (≤767px): logo + hamburguesa (+ botón de contacto si se muestra) en UNA sola fila ---
   Elementor da a los contenedores hijos de la cabecera (post 144: logo 1b5c79c, menú 66e7394, botón 18670c3)
   ancho 100 % en móvil y los apila; además, más arriba, este archivo añade margin-top:24px !important a todo
   contenedor hijo en móvil. Aquí se quedan en fila, con la hamburguesa a la derecha del logo. */
@media (max-width: 767px) {
  html body .elementor-element-46c1824 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  html body .elementor-element-46c1824 > .e-con.e-con {
    width: auto !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-top: 0 !important;
  }
  html body .elementor-element-46c1824 > .elementor-element-1b5c79c.e-con { flex: 0 1 auto !important; }
  html body .elementor-element-46c1824 > .elementor-element-66e7394.e-con { margin-left: auto !important; }
  html body .elementor-element-1b5c79c .elementor-widget-theme-site-logo { width: auto !important; }
  /* el widget del menú deja de ser una barra blanca a todo el ancho: solo se ve el botón de hamburguesa */
  html body .elementor-element-4839641 {
    width: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
}


/* ============================================================
   4. WIDGETS: FORMULARIOS DE ELEMENTOR
   ============================================================ */

.elementor-widget-form .elementor-field-label,
.elementor-widget-form label {
  color: var(--vk-heading) !important;
}

.elementor-widget-form input.elementor-field-textual,
.elementor-widget-form select.elementor-field-textual,
.elementor-widget-form textarea.elementor-field-textual {
  color: var(--vk-text) !important;
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border2) !important;
}

.elementor-widget-form input.elementor-field-textual::placeholder,
.elementor-widget-form textarea.elementor-field-textual::placeholder {
  color: var(--vk-faint) !important;
  opacity: 1 !important;
}

.elementor-widget-form .elementor-field-type-acceptance label,
.elementor-widget-form .elementor-field-subgroup label {
  color: var(--vk-muted) !important;
}

.elementor-widget-form .elementor-field-type-acceptance a {
  color: var(--vk-blue-l) !important;
}


/* ============================================================
   5. WIDGETS: ACORDEONES, TOGGLES Y FAQS
   ============================================================ */

/* --- Estilo de Tarjeta para Acordeones y Toggles --- */
.elementor-accordion .elementor-accordion-item,
.elementor-widget-toggle .elementor-toggle .elementor-tab-title,
.elementor-element-938661e [class*="tab-title"],
.elementor-element-938661e [class*="accordion-title"],
.elementor-element-938661e [class*="accordion-item"] {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  overflow: hidden;
  box-shadow: var(--vk-glow-card) !important;
}

/* --- Título de Acordeón en estado Plegado/General --- */
.elementor-widget-accordion .elementor-accordion-title,
.elementor-widget-accordion .elementor-accordion-title *,
.elementor-widget-accordion .elementor-tab-title,
.elementor-widget-accordion .elementor-tab-title *,
.elementor-widget-n-accordion .elementor-accordion-title,
.elementor-widget-n-accordion .elementor-accordion-title *,
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-title *,
.elementor-accordion .elementor-tab-title a,
.elementor-accordion .elementor-tab-title a *,
.elementor-widget-toggle .elementor-tab-title,
.elementor-widget-toggle .elementor-tab-title * {
  color: var(--vk-heading) !important;
  font-weight: 700 !important;
  padding: 16px 20px !important;
  border: none !important;
}

/* --- Título de Acordeón en estado Abierto/Activo --- */
.elementor-widget-accordion .elementor-active .elementor-accordion-title,
.elementor-widget-accordion .elementor-active .elementor-accordion-title *,
.elementor-widget-accordion .elementor-active .elementor-tab-title,
.elementor-widget-accordion .elementor-active .elementor-tab-title *,
.elementor-widget-n-accordion .elementor-active .elementor-accordion-title,
.elementor-widget-n-accordion .elementor-active .elementor-accordion-title * {
  color: var(--vk-teal-l) !important;
}

/* --- Iconos e Indicadores de Acordeón --- */
.elementor-accordion .elementor-accordion-icon i,
.elementor-widget-toggle .elementor-toggle-icon i,
.elementor-element-938661e i,
.elementor-widget-accordion .elementor-accordion-icon,
.elementor-widget-accordion .elementor-accordion-icon i,
.elementor-widget-accordion .elementor-accordion-icon svg,
.elementor-widget-n-accordion .elementor-accordion-icon,
.elementor-widget-n-accordion .elementor-accordion-icon svg {
  color: var(--vk-teal-l) !important;
  fill: var(--vk-teal-l) !important;
}

.elementor-accordion .elementor-accordion-icon .elementor-active i,
.elementor-widget-accordion .elementor-active .elementor-accordion-icon i {
  color: #2FCCB0 !important;
}

/* --- Contenido de Acordeón --- */
.elementor-accordion .elementor-tab-content,
.elementor-widget-toggle .elementor-tab-content,
.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-n-accordion .elementor-tab-content {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--vk-border) !important;
  padding: 4px 20px 18px !important;
}
.elementor-accordion .elementor-tab-content,
.elementor-accordion .elementor-tab-content *,
.elementor-widget-toggle .elementor-tab-content,
.elementor-widget-toggle .elementor-tab-content *,
.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-accordion .elementor-tab-content *,
.elementor-widget-n-accordion .elementor-tab-content,
.elementor-widget-n-accordion .elementor-tab-content * {
  color: var(--vk-text) !important;
}

/* --- Refuerzo de color específico para la sección FAQ de Foto Fija (post 3230) --- */
.elementor-element-687e2b4,
.elementor-element-687e2b4 *,
.elementor-element-938661e,
.elementor-element-938661e * {
  color: var(--vk-heading) !important;
}


/* ============================================================
   6. WIDGETS: ELEMENTOS COMUNES DE ELEMENTOR (ICON BOX, TESTIMONIAL, ETC)
   ============================================================ */

/* --- Widget nativo "Icon Box" -> tarjeta de característica --- */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: var(--vk-card);
  border: 1px solid var(--vk-border);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--vk-glow-card);
  transition: border-color 0.2s ease;
}

.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  border-color: var(--vk-teal-l);
}

.elementor-widget-icon-box .elementor-icon-box-icon i,
.elementor-widget-icon-box .elementor-icon-box-icon svg {
  color: var(--vk-teal-l) !important;
  fill: var(--vk-teal-l) !important;
}

.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a {
  color: var(--vk-heading) !important;
  font-weight: 700 !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
  color: var(--vk-text) !important;
}

/* --- Widget nativo "Icon List" -> checklist con tarjetas (global) --- */
.elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.elementor-icon-list-item {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.elementor-icon-list-item .elementor-icon-list-icon i {
  color: var(--vk-teal-l) !important;
}

.elementor-icon-list-item .elementor-icon-list-text {
  color: var(--vk-heading) !important;
}

/* --- Widget nativo "Testimonial" -> tarjeta (global) --- */
.elementor-widget-testimonial .elementor-testimonial-wrapper {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.elementor-widget-testimonial .elementor-testimonial-content {
  color: var(--vk-text) !important;
}

.elementor-widget-testimonial .elementor-testimonial-name {
  color: var(--vk-heading) !important;
}

/* --- Widget nativo "Counter" -> tarjeta de estadística (global) --- */
.elementor-widget-counter .elementor-counter {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  text-align: center !important;
  box-shadow: var(--vk-glow-card) !important;
}

.elementor-widget-counter .elementor-counter-number-wrapper .elementor-counter-number,
.elementor-widget-counter .elementor-counter-number-wrapper .elementor-counter-number-prefix,
.elementor-widget-counter .elementor-counter-number-wrapper .elementor-counter-number-suffix {
  color: var(--vk-teal-l) !important;
}


/* ============================================================
   7. WIDGETS: BOTONES (TEXTO BLANCO REFUERZO)
   ============================================================ */

.elementor-element-b3bed47 .elementor-button,
.elementor-element-b3bed47 .elementor-button *,
.elementor-element-1743886 .elementor-button,
.elementor-element-1743886 .elementor-button *,
.elementor-element-acf21a7 .elementor-button,
.elementor-element-acf21a7 .elementor-button *,
.elementor-element-fa02efc .elementor-button,
.elementor-element-fa02efc .elementor-button *,
/* Ronda 7: Anclajes de ID específicos de botones de Elementor */
.elementor-element-49f28a7, .elementor-element-49f28a7 *,
.elementor-element-49969bd, .elementor-element-49969bd *,
.elementor-element-e66da0e, .elementor-element-e66da0e *,
.elementor-element-29fb3ca, .elementor-element-29fb3ca *,
.elementor-element-3621a47, .elementor-element-3621a47 *,
.elementor-element-e6d4f7f, .elementor-element-e6d4f7f *,
.elementor-element-1e3a3267, .elementor-element-1e3a3267 *,
.elementor-element-9d62e7a3, .elementor-element-9d62e7a3 * {
  color: #FFFFFF !important;
}


/* ============================================================
   8. ESTILOS ESPECÍFICOS DE PÁGINAS (POR ID DE SECCIÓN)
   ============================================================ */

/* --- HOME (Inicio, post 9) --- */

/* 4 tarjetas de servicio (imagen + texto + botones) */
.elementor-element-b3bed47,
.elementor-element-1743886,
.elementor-element-acf21a7,
.elementor-element-fa02efc {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* 4 tarjetas "Lo que cambia cuando trabajas con nosotros" */
.elementor-element-b2b997e,
.elementor-element-dcf2fe6,
.elementor-element-e34fec6,
.elementor-element-56115c1 {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* 6 filas "problema" (icono + texto) -> estilo checklist */
.elementor-element-e1e041a,
.elementor-element-7fae440,
.elementor-element-bee8dfd,
.elementor-element-80d5a14,
.elementor-element-1fa0fbe,
.elementor-element-a540f53 {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-bottom: 10px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* Grid de 4 servicios (icono + título) */
.elementor-element-de719cd,
.elementor-element-cc31ea2,
.elementor-element-be3982c,
.elementor-element-0995f2d {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* "Perfecto para Startups" / "Ideal para Empresas" */
.elementor-element-f83729b,
.elementor-element-dc8d4e1 {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* Forzar ancho del titular principal para que coincida con el ancho de página */
.elementor-element-ef7384c {
  --content-width: 900px !important;
  --width: 900px !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- QUIÉNES SOMOS (Post 12) --- */

.elementor-element-df4ed86,
.elementor-element-2a5ef35,
.elementor-element-0b7a7fc,
.elementor-element-8dd9950 {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.elementor-element-7cd4e490,
.elementor-element-80cca5b1,
.elementor-element-ecc652cc {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  margin-bottom: 14px !important;
  display: block !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* Recuadros/Cajas de LinkedIn (Garantizar ancho máximo correcto para evitar desborde) */
.elementor-element-39e59ab,
.elementor-element-31d6007 {
  --width: 420px !important;
  width: 100% !important;
  max-width: 420px !important;
  flex-wrap: wrap !important;
}

/* Filas de la biografía del equipo (Permitir apilado vertical en móvil) */
@media (max-width: 767px) {
  .elementor-element-35ea23e,
  .elementor-element-e999e5f,
  .elementor-element-2e96f4c,
  .elementor-element-d4f53d4 {
    flex-wrap: wrap !important;
  }
  .elementor-element-35ea23e > .e-con,
  .elementor-element-e999e5f > .e-con,
  .elementor-element-2e96f4c > .e-con,
  .elementor-element-d4f53d4 > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* --- CFO EXTERNALIZADO (Post 350) --- */
.elementor-element-cfo_mod2_inner,
.elementor-element-cfo_mod3_inner {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  margin-top: 14px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* --- ORGANIZACIÓN Y GESTIÓN DEL CAMBIO (Post 2427) --- */
.elementor-element-06de9efb,
.elementor-element-b8178adf {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  margin-top: 14px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* --- AGENTES DIGITALES (Post 2405) --- */
.elementor-element-pq_text,
.elementor-element-1651e3ad {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* --- FOTO FIJA IA (Post 3230) --- */

.elementor-element-09d11baa,
.elementor-element-5a06a09c {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* Cita de testimonios "Sobre la consultora" */
.elementor-element-8242b2a6 {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: var(--vk-glow-card) !important;
}

/* Recuadros LinkedIn */
.elementor-element-60d8de8d,
.elementor-element-60d8de8d :not(svg):not(path):not(i),
.elementor-element-06731bb2,
.elementor-element-06731bb2 :not(svg):not(path):not(i) {
  color: var(--vk-heading) !important;
}

/* Grid de cifras "El problema no es la tecnología" */
.elementor-element-dbe5ab6c > div > div {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--vk-glow-card) !important;
}

.elementor-element-dbe5ab6c > div > div > div:first-child {
  color: var(--vk-blue-l) !important;
}

.elementor-element-dbe5ab6c > div > div:first-child > div:first-child {
  color: var(--vk-teal-l) !important;
}

.elementor-element-dbe5ab6c > div > div > div:nth-child(2) {
  color: var(--vk-text) !important;
}

.elementor-element-dbe5ab6c > div > div > div:last-child {
  color: var(--vk-muted) !important;
}

/* --- LANDING META ADS (Post 3248) --- */

/* Bloque "Cómo funciona" (Texto) + Vídeo Vertical */
@media (min-width: 768px) {
  .elementor-element-7b03013d {
    --e-con-grid-template-columns: 65fr 35fr !important;
  }
}

.elementor-element-db304c08 {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-element-a10a520 {
  --container-widget-width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}


/* ============================================================
   9. ELEMENTOS AUXILIARES Y SOPORTE DE MARCA
   ============================================================ */

/* --- SVG inline naranja heredado dentro de Icon List -> Mentas --- */
.elementor-icon-list-icon svg path[stroke="#F66B1C"] {
  stroke: #2FCCB0 !important;
}

/* --- Plantilla global de footer (Post 241): Tarjetas CTA --- */
.elementor-element-5bfe6c84,
.elementor-element-2af654d1,
.elementor-element-74a690e5 {
  background: var(--vk-card) !important;
  border-color: var(--vk-border) !important;
  --border-color: var(--vk-border) !important;
  box-shadow: var(--vk-glow-card) !important;
}


/* ============================================================
   10. FORZADO DE COLOR DE TEXTO DE MARCA (REFUERZO GENERAL)
   ============================================================ */

.elementor-element-b3bed47 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-1743886 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-acf21a7 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-fa02efc :is(h1,h2,h3,h4,h5,h6),
.elementor-element-b2b997e :is(h1,h2,h3,h4,h5,h6),
.elementor-element-dcf2fe6 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-e34fec6 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-56115c1 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-e1e041a :is(h1,h2,h3,h4,h5,h6),
.elementor-element-7fae440 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-bee8dfd :is(h1,h2,h3,h4,h5,h6),
.elementor-element-80d5a14 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-1fa0fbe :is(h1,h2,h3,h4,h5,h6),
.elementor-element-a540f53 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-pq_text :is(h1,h2,h3,h4,h5,h6),
.elementor-element-1651e3ad :is(h1,h2,h3,h4,h5,h6),
.elementor-element-df4ed86 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-2a5ef35 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-0b7a7fc :is(h1,h2,h3,h4,h5,h6),
.elementor-element-8dd9950 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-7cd4e490 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-80cca5b1 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-ecc652cc :is(h1,h2,h3,h4,h5,h6),
.elementor-element-cfo_mod2_inner :is(h1,h2,h3,h4,h5,h6),
.elementor-element-cfo_mod3_inner :is(h1,h2,h3,h4,h5,h6),
.elementor-element-06de9efb :is(h1,h2,h3,h4,h5,h6),
.elementor-element-b8178adf :is(h1,h2,h3,h4,h5,h6),
.elementor-element-09d11baa :is(h1,h2,h3,h4,h5,h6),
.elementor-element-5a06a09c :is(h1,h2,h3,h4,h5,h6),
.elementor-element-8242b2a6 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-de719cd :is(h1,h2,h3,h4,h5,h6),
.elementor-element-cc31ea2 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-be3982c :is(h1,h2,h3,h4,h5,h6),
.elementor-element-0995f2d :is(h1,h2,h3,h4,h5,h6),
.elementor-element-5bfe6c84 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-2af654d1 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-74a690e5 :is(h1,h2,h3,h4,h5,h6),
.elementor-element-f83729b :is(h1,h2,h3,h4,h5,h6),
.elementor-element-dc8d4e1 :is(h1,h2,h3,h4,h5,h6) {
  color: var(--vk-heading) !important;
}

.elementor-element-b3bed47 :is(p,li,span:not([class*="uc-pill"])),
.elementor-element-1743886 :is(p,li),
.elementor-element-acf21a7 :is(p,li),
.elementor-element-fa02efc :is(p,li),
.elementor-element-b2b997e :is(p,li),
.elementor-element-dcf2fe6 :is(p,li),
.elementor-element-e34fec6 :is(p,li),
.elementor-element-56115c1 :is(p,li),
.elementor-element-e1e041a :is(p,li),
.elementor-element-7fae440 :is(p,li),
.elementor-element-bee8dfd :is(p,li),
.elementor-element-80d5a14 :is(p,li),
.elementor-element-1fa0fbe :is(p,li),
.elementor-element-a540f53 :is(p,li),
.elementor-element-pq_text :is(p,li),
.elementor-element-1651e3ad :is(p,li),
.elementor-element-df4ed86 :is(p,li),
.elementor-element-2a5ef35 :is(p,li),
.elementor-element-0b7a7fc :is(p,li),
.elementor-element-8dd9950 :is(p,li),
.elementor-element-7cd4e490 :is(p,li),
.elementor-element-80cca5b1 :is(p,li),
.elementor-element-ecc652cc :is(p,li),
.elementor-element-cfo_mod2_inner :is(p,li),
.elementor-element-cfo_mod3_inner :is(p,li),
.elementor-element-06de9efb :is(p,li),
.elementor-element-b8178adf :is(p,li),
.elementor-element-09d11baa :is(p,li),
.elementor-element-5a06a09c :is(p,li),
.elementor-element-8242b2a6 :is(p,li),
.elementor-element-de719cd :is(p,li),
.elementor-element-cc31ea2 :is(p,li),
.elementor-element-be3982c :is(p,li),
.elementor-element-0995f2d :is(p,li),
.elementor-element-5bfe6c84 :is(p,li),
.elementor-element-2af654d1 :is(p,li),
.elementor-element-74a690e5 :is(p,li),
.elementor-element-f83729b :is(p,li),
.elementor-element-dc8d4e1 :is(p,li) {
  color: var(--vk-text) !important;
}


/* ============================================================
   11. RED DE SEGURIDAD (GLOBAL WIDTH / OVERFLOW SAFETY)
   ============================================================ */

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.e-con,
.e-con > .e-con-inner {
  max-width: 100% !important;
}


/* ==========================================================================
   12. INTEGRACIÓN DIRECTA DE ESTILOS DEL BLOG Y ENTRADAS (SISTEMA DE DISEÑO)
   ========================================================================== */

/* El CSS de personalizacion ha sido consolidado de forma limpia en el archivo style.css del tema hijo para un mejor rendimiento, organizacion y velocidad de carga. */

/* ==========================================================================
   BLOG (plantilla archivo 396 + loops 405 / 411) — ancho 900 px, estética vt/uc
   Aplica al listado del blog, categorías, etiquetas y búsqueda.
   ========================================================================== */

/* 1. Contenedor principal: 900 px centrado, listado + barra lateral */
html:not(#vt) body .elementor-396 .elementor-element-8ece28d{
  width:100%!important;max-width:948px!important;margin:0 auto!important;
  padding:0 24px 88px!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start;
}
html:not(#vt) body .elementor-396 .elementor-element-8ece28d > .e-con-inner{display:contents}
html:not(#vt) body .elementor-396 :is(.elementor-element-8a99798,.elementor-element-7d60769){
  width:100%!important;max-width:none!important;padding:0!important;min-width:0;
}
html:not(#vt) body .elementor-396 .elementor-element-7d60769{position:sticky;top:110px;gap:14px}

/* 2. Cabecera del blog */
html:not(#vt) body .elementor-396 .vt-blog-hero{
  width:calc(100% - 48px)!important;max-width:900px!important;margin:32px auto 32px!important;
  padding:48px 40px!important;text-align:center;box-sizing:border-box;
  display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;
}
html:not(#vt) body .elementor-396 .vt-blog-hero > .elementor-widget{width:100%!important;max-width:100%!important}
html:not(#vt) body .elementor-396 .vt-blog-hero .vt-eyebrow{display:flex!important;justify-content:center;margin:0 0 6px!important}
html:not(#vt) body .elementor-396 .vt-blog-hero .vt-eyebrow .elementor-heading-title{
  font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase;
  color:var(--vt-blue,#1E4FD6)!important;-webkit-text-fill-color:var(--vt-blue,#1E4FD6)!important;background-image:none!important;margin:0!important}
html:not(#vt) body .elementor-396 .vt-blog-hero .vt-h1 .elementor-heading-title{text-align:center;margin:0 0 14px!important;font-size:clamp(30px,4vw,44px)!important}
html:not(#vt) body .elementor-396 .vt-blog-hero .vt-lead{max-width:640px!important;margin:0 auto!important;text-align:center}
html:not(#vt) body .elementor-396 .vt-blog-hero .vt-lead p{margin:0!important;color:var(--vk-text,#4A5568)!important}

/* 3. Tarjeta de cada artículo */
html:not(#vt) body .elementor-396 .elementor-element-faa56f4 .elementor-loop-container{gap:20px!important}
html:not(#vt) body .elementor-405 .elementor-element-30f9ce6{
  background:var(--vk-card)!important;border:1px solid var(--vk-border)!important;
  border-radius:16px!important;box-shadow:var(--vk-glow-card)!important;
  padding:26px 28px!important;gap:10px!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
html:not(#vt) body .elementor-405 .elementor-element-30f9ce6:hover{transform:translateY(-2px)}
/* cabecera de la tarjeta: fecha + categoría en una línea */
html:not(#vt) body .elementor-405 .elementor-element-30f9ce6{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important}
html:not(#vt) body .elementor-405 .elementor-element-30f9ce6 > .elementor-widget{width:100%}
html:not(#vt) body .elementor-405 :is(.elementor-element-6adbf76,.elementor-element-5dbe794){width:auto!important;margin:0!important}
/* fecha: sin caja, texto discreto */
html:not(#vt) body .elementor-405 .elementor-element-6adbf76 :is(ul,li,.elementor-widget-container){
  background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;
}
html:not(#vt) body .elementor-405 .elementor-element-6adbf76 :is(time,.elementor-icon-list-text){
  font-size:12px!important;font-weight:600!important;color:var(--vk-muted,#5B6779)!important;letter-spacing:.02em;
}
html:not(#vt) body .elementor-405 .elementor-element-6adbf76 svg{width:12px!important;height:12px!important;fill:var(--vt-green,#4CC77A)!important}
/* categoría: píldora */
html:not(#vt) body .elementor-405 .elementor-element-5dbe794 .elementor-heading-title{
  display:inline-flex!important;padding:4px 12px!important;border-radius:999px!important;
  background:rgba(76,199,122,.12)!important;border:1px solid rgba(76,199,122,.28)!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase;
  color:#1B9A83!important;-webkit-text-fill-color:#1B9A83!important;background-image:none!important;line-height:1.4!important;
}
html:not(#vt) body .elementor-405 .elementor-element-5dbe794 .elementor-heading-title span{color:inherit!important;-webkit-text-fill-color:inherit!important}
/* título */
html:not(#vt) body .elementor-405 .elementor-element-14235fa{margin-top:4px!important}
html:not(#vt) body .elementor-405 .elementor-element-14235fa .elementor-heading-title,
html:not(#vt) body .elementor-405 .elementor-element-14235fa .elementor-heading-title a{
  font-family:var(--vt-font)!important;font-size:21px!important;line-height:1.3!important;font-weight:800!important;
  letter-spacing:-.01em!important;color:var(--vk-heading,#0F1B2D)!important;
  -webkit-text-fill-color:var(--vk-heading,#0F1B2D)!important;background-image:none!important;text-decoration:none!important;
}
html:not(#vt) body .elementor-405 .elementor-element-14235fa a:hover{color:var(--vt-blue,#1E4FD6)!important;-webkit-text-fill-color:var(--vt-blue,#1E4FD6)!important}
/* extracto */
html:not(#vt) body .elementor-405 .elementor-element-9e5d54b,
html:not(#vt) body .elementor-405 .elementor-element-9e5d54b *{
  font-family:var(--vt-font)!important;font-size:15px!important;line-height:1.6!important;color:var(--vk-text,#4A5568)!important;
}
/* botón «Leer más»: enlace de texto, siempre visible (sin animación de entrada) */
html:not(#vt) body .elementor-405 .elementor-element-777ffcb{margin-top:4px!important}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb.elementor-invisible{visibility:visible!important;opacity:1!important}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb .elementor-button{
  background:none!important;background-image:none!important;box-shadow:none!important;border:0!important;
  padding:0!important;font-family:var(--vt-font)!important;font-size:14px!important;font-weight:700!important;
  color:var(--vt-blue,#1E4FD6)!important;
}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb .elementor-button :is(span,svg){color:var(--vt-blue,#1E4FD6)!important;fill:var(--vt-blue,#1E4FD6)!important}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb .elementor-button-content-wrapper{flex-direction:row-reverse;gap:6px}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb .elementor-button-icon svg{width:10px!important;height:10px!important;transition:transform .2s}
html:not(#vt) body .elementor-405 .elementor-element-777ffcb .elementor-button:hover .elementor-button-icon svg{transform:translateX(3px)}

/* 4. Barra lateral: títulos, buscador y post recientes */
html:not(#vt) body .elementor-396 :is(.elementor-element-745c901,.elementor-element-f38fb63) .elementor-heading-title,
html:not(#vt) body .elementor-396 :is(.elementor-element-745c901,.elementor-element-f38fb63) .elementor-heading-title *{
  font-family:var(--vt-font)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;
  text-transform:uppercase;line-height:1.3!important;background-image:none!important;
  color:var(--vt-blue,#1E4FD6)!important;-webkit-text-fill-color:var(--vt-blue,#1E4FD6)!important;
}
html:not(#vt) body .elementor-396 .elementor-element-f38fb63{margin-top:14px!important}
html:not(#vt) body .elementor-396 .elementor-element-0d13edb{
  background:var(--vk-card)!important;border:1px solid var(--vk-border)!important;border-radius:14px!important;
  box-shadow:var(--vk-glow-card)!important;padding:10px!important;
}
html:not(#vt) body .elementor-396 .elementor-element-5a9a46e{--e-search-submit-padding:8px 14px;--e-search-submit-border-radius:10px}
html:not(#vt) body .elementor-396 .elementor-element-5a9a46e .e-search-input{
  font-family:var(--vt-font)!important;font-size:14px!important;border-radius:10px!important;padding:8px 12px!important;
  border:1px solid var(--vk-border)!important;background:var(--vk-bg,#F5F5FA)!important;color:var(--vk-heading,#0F1B2D)!important;
}
html:not(#vt) body .elementor-396 .elementor-element-5a9a46e .e-search-submit,
html:not(#vt) body .elementor-396 .elementor-element-5a9a46e .e-search-submit span{font-family:var(--vt-font)!important;font-size:13px!important;font-weight:700!important}
html:not(#vt) body .elementor-396 .elementor-element-037bdc3 .elementor-loop-container{gap:10px!important}
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff{
  background:var(--vk-card)!important;border:1px solid var(--vk-border)!important;border-radius:12px!important;
  box-shadow:none!important;padding:12px 14px!important;gap:10px!important;flex-wrap:nowrap!important;align-items:center!important;
  transition:border-color .2s;
}
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff:hover{border-color:var(--vt-blue,#1E4FD6)!important}
html:not(#vt) body .elementor-411 .elementor-element-513c079{flex:1 1 auto;min-width:0}
html:not(#vt) body .elementor-411 .elementor-element-513c079 .elementor-heading-title,
html:not(#vt) body .elementor-411 .elementor-element-513c079 .elementor-heading-title a{
  font-family:var(--vt-font)!important;font-size:13.5px!important;line-height:1.4!important;font-weight:600!important;
  color:var(--vk-heading,#0F1B2D)!important;-webkit-text-fill-color:var(--vk-heading,#0F1B2D)!important;background-image:none!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
html:not(#vt) body .elementor-411 .elementor-element-1c7db5f{flex:0 0 auto;width:auto!important}
html:not(#vt) body .elementor-411 .elementor-element-1c7db5f :is(.elementor-icon,svg){font-size:10px!important;width:10px!important;height:10px!important;color:var(--vt-blue,#1E4FD6)!important;fill:var(--vt-blue,#1E4FD6)!important}

/* 5. Paginación */
html:not(#vt) body .elementor-396 .elementor-element-faa56f4 .elementor-pagination{margin-top:28px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
html:not(#vt) body .elementor-396 .elementor-element-faa56f4 .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;margin:0!important;
  border-radius:10px;border:1px solid var(--vk-border);background:var(--vk-card);font-family:var(--vt-font);font-size:14px;font-weight:600;
  color:var(--vk-heading,#0F1B2D)!important;text-decoration:none;
}
html:not(#vt) body .elementor-396 .elementor-element-faa56f4 .page-numbers.current{background:var(--vt-blue,#1E4FD6);border-color:var(--vt-blue,#1E4FD6);color:#fff!important}

/* 6. Responsive: una columna, barra lateral debajo del listado */
@media (max-width:1024px){
  html:not(#vt) body .elementor-396 .elementor-element-8ece28d{grid-template-columns:minmax(0,1fr);padding:0 18px 56px!important;gap:36px}
  html:not(#vt) body .elementor-396 .elementor-element-7d60769{position:static;order:2}
  html:not(#vt) body .elementor-396 .elementor-element-8a99798{order:1}
  html:not(#vt) body .elementor-396 .vt-blog-hero{margin:20px auto 24px!important;padding:32px 22px!important;width:calc(100% - 36px)!important}
}
@media (max-width:767px){
  html:not(#vt) body .elementor-405 .elementor-element-30f9ce6{padding:20px!important}
  html:not(#vt) body .elementor-405 .elementor-element-14235fa .elementor-heading-title,
  html:not(#vt) body .elementor-405 .elementor-element-14235fa .elementor-heading-title a{font-size:18px!important}
}

/* 7. Ajustes finos: halo de la píldora y altura de «Post recientes» */
html:not(#vt) body .elementor-405 .elementor-element-5dbe794,
html:not(#vt) body .elementor-405 .elementor-element-5dbe794 > .elementor-widget-container{
  background:none!important;border:0!important;box-shadow:none!important;padding:0!important;
}
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff{min-height:0!important;--min-height:0px}
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff > .elementor-widget,
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff .elementor-widget-container{margin:0!important;padding:0!important}
html:not(#vt) body .elementor-411 .elementor-element-e5dd2ff{--padding-top:12px!important;--padding-bottom:12px!important;--padding-left:14px!important;--padding-right:14px!important}

/* ==========================================================================
   ENTRADA DEL BLOG (plantilla single 422) — ancho 900 px, estética vt/uc
   Reutiliza las tarjetas 405 (relacionados) y 411 (post recientes) del bloque BLOG.
   ========================================================================== */

/* 1. Cabecera: tarjeta de 900 px con el título (sin la franja vacía de 700 px) */
html:not(#vt) body .elementor-422 .elementor-element-7e82e68{
  --min-height:0px!important;min-height:0!important;background:var(--vk-card)!important;background-image:none!important;
  border:1px solid var(--vk-border)!important;border-radius:16px!important;box-shadow:var(--vk-glow-card)!important;
  width:calc(100% - 48px)!important;max-width:900px!important;margin:32px auto 32px!important;
  padding:44px 40px!important;box-sizing:border-box!important;
  --padding-top:44px!important;--padding-bottom:44px!important;--padding-left:40px!important;--padding-right:40px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-7e82e68 > .e-con-inner,
html:not(#vt) body .elementor-422 .elementor-element-57003b0,
html:not(#vt) body .elementor-422 .elementor-element-57003b0 > .e-con-inner{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}
html:not(#vt) body .elementor-422 .elementor-element-bcad592 .elementor-heading-title{
  font-family:var(--vt-font)!important;font-size:clamp(28px,3.6vw,40px)!important;line-height:1.15!important;
  font-weight:800!important;letter-spacing:-.02em!important;text-align:center;margin:0!important;
}
html:not(#vt) body .elementor-422 .elementor-element-bcad592.elementor-invisible{visibility:visible!important;opacity:1!important}

/* 2. Cuerpo: artículo + barra lateral dentro de 900 px */
html:not(#vt) body .elementor-422 .elementor-element-2adc543{
  width:100%!important;max-width:948px!important;margin:0 auto!important;padding:0 24px 56px!important;box-sizing:border-box!important;
  --padding-top:0px!important;--padding-bottom:56px!important;--padding-left:24px!important;--padding-right:24px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-2adc543 > .e-con-inner{
  display:grid!important;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start;
  max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;
}
html:not(#vt) body .elementor-422 :is(.elementor-element-ca0ef9a,.elementor-element-e735278){width:100%!important;max-width:none!important;min-width:0}
html:not(#vt) body .elementor-422 .elementor-element-e735278{position:sticky;top:110px;gap:14px;padding:0!important}

/* 3. Artículo en tarjeta */
html:not(#vt) body .elementor-422 .elementor-element-ca0ef9a{
  background:var(--vk-card)!important;border:1px solid var(--vk-border)!important;border-radius:16px!important;
  box-shadow:var(--vk-glow-card)!important;padding:36px 40px!important;gap:18px!important;
  --padding-top:36px!important;--padding-bottom:36px!important;--padding-left:40px!important;--padding-right:40px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-4bfa4a0 img{border-radius:12px;width:100%;height:auto}
/* fecha sin caja */
html:not(#vt) body .elementor-422 .elementor-element-84395b5,
html:not(#vt) body .elementor-422 .elementor-element-84395b5 :is(ul,li,.elementor-widget-container){
  background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;
}
html:not(#vt) body .elementor-422 .elementor-element-84395b5 :is(time,.elementor-icon-list-text){font-family:var(--vt-font)!important;font-size:13px!important;font-weight:600!important;color:var(--vk-muted,#5B6779)!important}
html:not(#vt) body .elementor-422 .elementor-element-84395b5 svg{width:12px!important;height:12px!important;fill:var(--vt-green,#4CC77A)!important}
/* tipografía de lectura */
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0{font-family:var(--vt-font)!important;color:var(--vk-text,#4A5568)!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(p,li,td,th,blockquote){
  font-family:var(--vt-font)!important;font-size:16px!important;line-height:1.75!important;color:var(--vk-text,#4A5568)!important;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 p{margin:0 0 18px!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(strong,b){color:var(--vk-heading,#0F1B2D)!important;font-weight:700}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 h2{
  font-family:var(--vt-font)!important;font-size:25px!important;line-height:1.25!important;font-weight:800!important;
  letter-spacing:-.01em!important;margin:40px 0 14px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 h3{
  font-family:var(--vt-font)!important;font-size:19px!important;line-height:1.35!important;font-weight:700!important;
  margin:28px 0 10px!important;color:var(--vk-heading,#0F1B2D)!important;-webkit-text-fill-color:var(--vk-heading,#0F1B2D)!important;background-image:none!important;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 > .elementor-widget-container > :first-child,
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 > :first-child{margin-top:0!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(ul,ol){margin:0 0 20px!important;padding-left:22px!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 li{margin:0 0 8px!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 li::marker{color:var(--vt-blue,#1E4FD6);font-weight:700}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 a{color:var(--vt-blue,#1E4FD6)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* tablas */
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(figure.wp-block-table,.wp-block-table){margin:8px 0 24px!important;overflow-x:auto}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 table{
  width:100%;border-collapse:separate!important;border-spacing:0;margin:8px 0 24px!important;
  border:1px solid var(--vk-border)!important;border-radius:12px;overflow:hidden;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(th,td){
  font-size:14px!important;line-height:1.5!important;padding:12px 14px!important;text-align:left;vertical-align:top;
  border:0!important;border-bottom:1px solid var(--vk-border)!important;background:transparent!important;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 th,
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 thead td{
  background:var(--vk-bg,#F5F5FA)!important;color:var(--vk-heading,#0F1B2D)!important;font-weight:700!important;font-size:12.5px!important;
  text-transform:uppercase;letter-spacing:.06em;
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 tr:last-child td{border-bottom:0!important}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 blockquote{
  border-left:3px solid var(--vt-green,#4CC77A)!important;margin:24px 0!important;padding:4px 0 4px 18px!important;font-style:normal
}
html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 img{max-width:100%;height:auto;border-radius:12px}

/* 4. Barra lateral (mismo aspecto que en el listado) */
html:not(#vt) body .elementor-422 :is(.elementor-element-42e4009,.elementor-element-7b141be) .elementor-heading-title,
html:not(#vt) body .elementor-422 :is(.elementor-element-42e4009,.elementor-element-7b141be) .elementor-heading-title *{
  font-family:var(--vt-font)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;
  text-transform:uppercase;line-height:1.3!important;background-image:none!important;
  color:var(--vt-blue,#1E4FD6)!important;-webkit-text-fill-color:var(--vt-blue,#1E4FD6)!important;
}
html:not(#vt) body .elementor-422 .elementor-element-7b141be{margin-top:14px!important}
html:not(#vt) body .elementor-422 .elementor-element-b446a02{
  background:var(--vk-card)!important;border:1px solid var(--vk-border)!important;border-radius:14px!important;
  box-shadow:var(--vk-glow-card)!important;padding:10px!important;
  --padding-top:10px!important;--padding-bottom:10px!important;--padding-left:10px!important;--padding-right:10px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-3c368d9{--e-search-submit-padding:8px 14px;--e-search-submit-border-radius:10px}
html:not(#vt) body .elementor-422 .elementor-element-3c368d9 .e-search-input{
  font-family:var(--vt-font)!important;font-size:14px!important;border-radius:10px!important;padding:8px 12px!important;
  border:1px solid var(--vk-border)!important;background:var(--vk-bg,#F5F5FA)!important;color:var(--vk-heading,#0F1B2D)!important;
}
html:not(#vt) body .elementor-422 .elementor-element-3c368d9 :is(.e-search-submit,.e-search-submit span){font-family:var(--vt-font)!important;font-size:13px!important;font-weight:700!important}
html:not(#vt) body .elementor-422 .elementor-element-93652da .elementor-loop-container{gap:10px!important;grid-template-columns:1fr!important}

/* 5. Artículos relacionados: 900 px, 3 tarjetas compactas */
html:not(#vt) body .elementor-422 .elementor-element-535eb39{
  width:100%!important;max-width:948px!important;margin:0 auto!important;padding:0 24px 88px!important;box-sizing:border-box!important;
  --padding-top:0px!important;--padding-bottom:88px!important;--padding-left:24px!important;--padding-right:24px!important;
}
html:not(#vt) body .elementor-422 .elementor-element-535eb39 > .e-con-inner{max-width:100%!important;width:100%!important;padding:0!important;gap:18px}
html:not(#vt) body .elementor-422 .elementor-element-5810fc6 .elementor-heading-title{
  font-family:var(--vt-font)!important;font-size:clamp(22px,2.4vw,28px)!important;font-weight:800!important;line-height:1.2!important;text-align:left;
}
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-loop-container{gap:16px!important}
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-405 .elementor-element-30f9ce6{padding:20px!important;height:100%;align-content:flex-start}
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-405 .elementor-element-14235fa .elementor-heading-title,
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-405 .elementor-element-14235fa .elementor-heading-title a{font-size:16px!important;line-height:1.35!important}
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-405 .elementor-element-9e5d54b{display:none!important}
html:not(#vt) body .elementor-422 .elementor-element-b7d71a8 .elementor-405 .elementor-element-5dbe794{display:none!important}

/* 6. Responsive */
@media (max-width:1024px){
  html:not(#vt) body .elementor-422 .elementor-element-2adc543 > .e-con-inner{grid-template-columns:minmax(0,1fr);gap:36px}
  html:not(#vt) body .elementor-422 .elementor-element-2adc543{padding:0 18px 40px!important;--padding-left:18px!important;--padding-right:18px!important}
  html:not(#vt) body .elementor-422 .elementor-element-e735278{position:static;order:2}
  html:not(#vt) body .elementor-422 .elementor-element-ca0ef9a{order:1}
  html:not(#vt) body .elementor-422 .elementor-element-7e82e68{margin:20px auto 24px!important;padding:30px 22px!important;width:calc(100% - 36px)!important;--padding-left:22px!important;--padding-right:22px!important;--padding-top:30px!important;--padding-bottom:30px!important}
  html:not(#vt) body .elementor-422 .elementor-element-535eb39{padding:0 18px 56px!important;--padding-left:18px!important;--padding-right:18px!important}
}
@media (max-width:767px){
  html:not(#vt) body .elementor-422 .elementor-element-ca0ef9a{padding:24px 20px!important;--padding-top:24px!important;--padding-bottom:24px!important;--padding-left:20px!important;--padding-right:20px!important}
  html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 h2{font-size:21px!important}
  html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 table{display:block;overflow-x:auto;white-space:normal}
  html:not(#vt) body .elementor-422 .elementor-element-74fe6e0 :is(th,td){min-width:140px}
}


/* ==========================================================================
   REGLAS POR DEFECTO PARA ENTRADAS NUEVAS (SISTEMA DE DISEÑO ADAPTADO)
   Garantiza que cualquier entrada creada directamente o vía Royal MCP
   tenga los mismos estilos aunque no se use el constructor de páginas Elementor.
   ========================================================================== */

/* 1. Estructura y ancho de lectura optimizados para entradas por defecto */
body.single-post:not(.elementor-page) #content,
body.single-post:not(.elementor-page) .site-main {
  width: 100% !important;
  max-width: 948px !important;
  margin: 0 auto !important;
  padding: 32px 24px 88px !important;
  box-sizing: border-box !important;
}

/* 2. El artículo se comporta automáticamente como una tarjeta */
body.single-post:not(.elementor-page) article,
body.single-post:not(.elementor-page) .hentry {
  background: var(--vk-card) !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--vk-glow-card) !important;
  padding: 36px 40px !important;
  box-sizing: border-box !important;
}

/* 3. Título del post centrado y estilizado */
body.single-post:not(.elementor-page) .entry-header h1.entry-title,
body.single-post:not(.elementor-page) h1.post-title {
  font-family: var(--vt-font) !important;
  font-size: clamp(28px, 3.6vw, 40px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  text-align: center;
  margin: 0 auto 28px !important;
  color: var(--vk-heading, #0F1B2D) !important;
}

/* 4. Tipografía y lectura adaptada dentro del contenido de la entrada */
body.single-post:not(.elementor-page) .entry-content {
  font-family: var(--vt-font) !important;
  color: var(--vk-text, #4A5568) !important;
}

body.single-post:not(.elementor-page) .entry-content :is(p, li, td, th, blockquote) {
  font-family: var(--vt-font) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--vk-text, #4A5568) !important;
}

body.single-post:not(.elementor-page) .entry-content p {
  margin: 0 0 18px !important;
}

body.single-post:not(.elementor-page) .entry-content :is(strong, b) {
  color: var(--vk-heading, #0F1B2D) !important;
  font-weight: 700;
}

body.single-post:not(.elementor-page) .entry-content :is(h1, h2, .vt-h2) {
  font-family: var(--vt-font) !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  margin: 40px 0 14px !important;
  color: var(--vk-heading, #0F1B2D) !important;
}

body.single-post:not(.elementor-page) .entry-content h3 {
  font-family: var(--vt-font) !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 28px 0 10px !important;
  color: var(--vk-heading, #0F1B2D) !important;
}

body.single-post:not(.elementor-page) .entry-content :is(ul, ol) {
  margin: 0 0 20px !important;
  padding-left: 22px !important;
}

body.single-post:not(.elementor-page) .entry-content li {
  margin: 0 0 8px !important;
}

body.single-post:not(.elementor-page) .entry-content li::marker {
  color: var(--vt-blue, #1E4FD6);
  font-weight: 700;
}

body.single-post:not(.elementor-page) .entry-content a {
  color: var(--vt-blue, #1E4FD6) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* 5. Citas estilizadas por defecto */
body.single-post:not(.elementor-page) .entry-content blockquote {
  border-left: 3px solid var(--vt-green, #4CC77A) !important;
  margin: 24px 0 !important;
  padding: 4px 0 4px 18px !important;
  font-style: normal;
}

/* 6. Imágenes con esquinas redondeadas */
body.single-post:not(.elementor-page) .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* 7. Tablas estilizadas en entradas por defecto */
body.single-post:not(.elementor-page) .entry-content :is(figure.wp-block-table, .wp-block-table) {
  margin: 8px 0 24px !important;
  overflow-x: auto;
}

body.single-post:not(.elementor-page) .entry-content table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0;
  margin: 8px 0 24px !important;
  border: 1px solid var(--vk-border) !important;
  border-radius: 12px;
  overflow: hidden;
}

body.single-post:not(.elementor-page) .entry-content :is(th, td) {
  font-size: 14px !important;
  line-height: 1.5 !important;
  padding: 12px 14px !important;
  text-align: left;
  vertical-align: top;
  border: 0 !important;
  border-bottom: 1px solid var(--vk-border) !important;
  background: transparent !important;
}

body.single-post:not(.elementor-page) .entry-content th,
body.single-post:not(.elementor-page) .entry-content thead td {
  background: var(--vk-bg, #F5F5FA) !important;
  color: var(--vk-heading, #0F1B2D) !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}

body.single-post:not(.elementor-page) .entry-content tr:last-child td {
  border-bottom: 0 !important;
}
