.elementor-kit-6{--e-global-color-primary:#7F5AF0;--e-global-color-secondary:#2CB67D;--e-global-color-text:#16161A;--e-global-color-accent:#94A1B2;--e-global-color-5760166:#FFFFFF;--e-global-color-def2e99:#F5F5F5;--e-global-color-c8b7a15:#0A0A0A;--e-global-color-068a4ac:#E9FFEE;--e-global-color-c0f5961:#00FF00;--e-global-color-d863ce3:#8A5CF6;--e-global-typography-primary-font-family:"Share Tech Mono";--e-global-typography-primary-font-size:clamp(22px, 4.5vw, 40px);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2px;--e-global-typography-secondary-font-family:"Share Tech Mono";--e-global-typography-secondary-font-size:clamp(18px, 3vw, 28px);--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:clamp(14px, 2.4vw, 18px);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-accent-font-family:"Share Tech Mono";--e-global-typography-accent-font-size:clamp(14px, 2vw, 16px);--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3px;--e-global-typography-accent-letter-spacing:0.5px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1025px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===========================
   Matucho1337 – Círculo Cercano (CSS puro, versión final)
   =========================== */

/* Variables base */
:root{
  --cc-bg:#0a0a0a;
  --cc-fg:#e9ffee;
  --cc-accent:#00ff00;
  --cc-border:rgba(0,255,0,.35);
  --cc-ease:cubic-bezier(.22,.61,.36,1);
  --cc-fast:.35s; --cc-med:.7s; --cc-slow:1.2s;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .cc-hero, .cc-type .line, .cc-btn, .cc-btn::before, .cc-btn::after,
  .bg-glitch::after, .cc-card, .cc-fade-up{
    animation:none !important; transition:none !important;
  }
}

/* ---------- HERO ---------- */
.cc-hero{
  min-height:100vh;
  background:var(--cc-bg);
  color:var(--cc-fg);
  display:grid; place-items:center;
  text-align:center; position:relative; overflow:hidden;
  padding:5rem 1.25rem;
}

.cc-type{
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
  font-size:clamp(20px,2.2vw,28px);
  line-height:1.5; margin-bottom:2rem;
}

/* ==== TYPEWRITER — override final caret único ==== */

/* quita cualquier caret viejo por border-right */
.cc-type .line{ border-right:0 !important; }

.cc-type .line{
  display:block;
  position:relative;
  overflow:hidden;
  white-space:nowrap;
  width:0ch;
  animation-name: cc-typing;
  animation-duration: var(--cc-speed,1s);
  animation-delay: var(--delay,0s);
  animation-fill-mode: forwards;
}

/* caret real como pseudo-elemento, visible por defecto */
.cc-type .line::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:2px;
  height:1em;
  background: var(--cc-accent, #00ff00);
  opacity:1;
}

/* líneas intermedias: oculta el caret justo al terminar de escribir */
.cc-type .line:not(:last-child)::after{
  animation: cc-caret-hide 1ms linear both;
  animation-delay: calc(var(--delay,0s) + var(--cc-speed,1s));
}

/* última línea: después de escribir, parpadea infinito */
.cc-type .line:last-child::after{
  animation: cc-caret-blink 1s steps(1) infinite;
  animation-delay: calc(var(--delay,0s) + var(--cc-speed,1s));
}

/* keyframes */
@keyframes cc-typing      { to { width: var(--chars)ch; } }
@keyframes cc-caret-hide  { to { opacity:0; } }
@keyframes cc-caret-blink { 50% { opacity:0; } }
/* ---------- Botón glitch ---------- */
.cc-btn{
  --pad-x:2rem; --pad-y:.9rem;
  position:relative; display:inline-block;
  padding:var(--pad-y) var(--pad-x);
  color:var(--cc-accent); background:transparent;
  border:1.5px solid var(--cc-accent); border-radius:10px;
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
  letter-spacing:.06em; text-transform:uppercase;
  transition:transform var(--cc-fast) var(--cc-ease), box-shadow var(--cc-fast) var(--cc-ease);
}
.cc-btn:hover{ transform:translateY(-2px); box-shadow:0 0 16px rgba(0,255,0,.25); }

.cc-btn--glitch::before,
.cc-btn--glitch::after{
  content:attr(data-text);
  position:absolute; inset:0; display:grid; place-items:center;
  color:var(--cc-accent); pointer-events:none; opacity:0; mix-blend-mode:screen;
}
.cc-btn--glitch:hover::before{ animation:cc-btn-glitch 360ms steps(10) 1; }
.cc-btn--glitch:hover::after { animation:cc-btn-glitch 360ms steps(10) 1 reverse; }

@keyframes cc-btn-glitch{
  0%{opacity:0; transform:translate(0,0); clip-path:inset(0 0 0 0);}
  20%{opacity:1; transform:translate(2px,-2px); clip-path:inset(0 0 65% 0);}
  40%{transform:translate(-2px,2px); clip-path:inset(30% 0 0 0);}
  60%{transform:translate(1px,-1px); clip-path:inset(0 0 40% 0);}
  80%{transform:translate(-1px,1px); clip-path:inset(65% 0 0 0);}
  100%{opacity:0; transform:translate(0,0); clip-path:inset(0 0 0 0);}
}

/* ---------- Fondo glitch sutil ---------- */
.bg-glitch{ position:relative; overflow:hidden; }
.bg-glitch::after{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.07) 0px, rgba(255,255,255,.07) 1px, transparent 2px, transparent 3px);
  mix-blend-mode:overlay; opacity:.08;
  animation:cc-bg-glitch 3.2s steps(12) infinite; pointer-events:none;
}
@keyframes cc-bg-glitch{
  0%{transform:translate(0,0);}
  25%{transform:translate(1px,-1px);}
  50%{transform:translate(-1px,1px);}
  75%{transform:translate(1px,0);}
  100%{transform:translate(0,0);}
}
@media (max-width:767px){ .bg-glitch::after{ opacity:.05; animation-duration:4.5s; } }

/* ---------- Reglas ---------- */
.cc-rules{
  background:#0d0d0d; color:var(--cc-fg);
  padding:clamp(40px,6vw,80px) 20px;
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
}
.cc-rules .elementor-icon-list-items .elementor-icon-list-item{
  padding:.4rem 0; border-bottom:1px dashed rgba(0,255,0,.2);
}
.cc-rules .elementor-icon-list-items .elementor-icon-list-item:last-child{ border-bottom:none; }

/* ---------- Grid desbloqueos ---------- */
.cc-grid{
  display:grid; gap:16px;
  padding:clamp(40px,6vw,80px) 20px; background:#000;
}
@media (min-width:1025px){ .cc-grid{ grid-template-columns:repeat(4,1fr);} }
@media (max-width:1024px) and (min-width:768px){ .cc-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:767px){ .cc-grid{ grid-template-columns:1fr; } }

.cc-card{
  background:#0f0f0f; border:1px solid var(--cc-border);
  border-radius:12px; padding:24px; color:var(--cc-fg);
  transition:transform .2s var(--cc-ease), box-shadow .2s var(--cc-ease);
}
.cc-card:hover{
  transform:translateY(-4px) rotateX(2deg) rotateY(-1deg);
  box-shadow:0 0 0 1px var(--cc-border), 0 0 18px rgba(0,255,0,.15);
}

/* Fade-up simple (actívalo con clase cc-fade-up) */
.cc-fade-up{ opacity:0; transform:translateY(16px); animation:cc-fade-up var(--cc-med) var(--cc-ease) forwards; animation-delay:var(--delay,0s); }
@keyframes cc-fade-up{ to{ opacity:1; transform:translateY(0);} }

/* ---------- Formulario ---------- */
.cc-form{
  background:#0b0b0b; color:var(--cc-fg);
  padding:clamp(40px,6vw,80px) 20px;
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
}
.cc-form .elementor-field-group .elementor-field,
.cc-form input, .cc-form select, .cc-form textarea{
  background:#0f0f0f; color:var(--cc-fg);
  border:1px solid var(--cc-border); border-radius:10px;
}
.cc-form .elementor-field:focus,
.cc-form input:focus, .cc-form select:focus, .cc-form textarea:focus{
  outline:none; box-shadow:0 0 0 2px rgba(0,255,0,.25);
}
.cc-form .elementor-field-label{ color:#c8ffda; letter-spacing:.03em; }

.cc-form .elementor-button{
  position:relative; border:1.5px solid var(--cc-accent);
  color:var(--cc-accent); background:transparent;
  border-radius:10px; padding:.9rem 2rem;
  text-transform:uppercase; letter-spacing:.06em;
  transition:transform var(--cc-fast) var(--cc-ease), box-shadow var(--cc-fast) var(--cc-ease);
}
.cc-form .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 0 16px rgba(0,255,0,.25); }

.cc-form .elementor-message.elementor-message-success{
  background:#001a00; border:1px solid var(--cc-border);
  color:#b9ffc8; border-radius:10px;
}

/* ---------- Footer ---------- */
.cc-footer{
  background:#050505; color:rgba(233,255,238,.7);
  text-align:center; padding:24px 12px; border-top:1px solid rgba(0,255,0,.15);
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
  font-size:13px; letter-spacing:.06em;
}
/* ===== Botones nuevos ===== */

/* Base común */
.cc-btn{
  --pad-x:2rem; --pad-y:.95rem;
  font-family:"Inconsolata","JetBrains Mono","Courier New",monospace;
  letter-spacing:.08em; text-transform:uppercase;
  border-radius:12px; position:relative; display:inline-block;
  transition:transform .2s var(--cc-ease), box-shadow .2s var(--cc-ease), background .2s var(--cc-ease), color .2s var(--cc-ease);
}

/* A) Neo Outline + “scan fill” al hover */
.cc-btn-neo{
  color:var(--cc-accent); background:transparent;
  border:1.6px solid var(--cc-accent);
  box-shadow:0 0 0 0 rgba(0,255,0,.0);
  overflow:hidden;
}
.cc-btn-neo::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,255,0,.12) 0%, rgba(0,255,0,.18) 50%, rgba(0,255,0,.12) 100%);
  transform: translateX(-100%);
  transition: transform .45s var(--cc-ease);
}
.cc-btn-neo:hover{ transform:translateY(-2px); box-shadow:0 0 18px rgba(0,255,0,.25); }
.cc-btn-neo:hover::after{ transform: translateX(0); }

/* B) Sólido “Terminal” con brillo suave */
.cc-btn-solid{
  color:#061406; background: linear-gradient(180deg, #7aff7a 0%, #39ff39 100%);
  border:1.6px solid #39ff39;
  box-shadow: 0 6px 18px rgba(0,255,0,.18), inset 0 0 0 0 rgba(0,0,0,.2);
}
.cc-btn-solid:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,255,0,.28), inset 0 0 0 999px rgba(255,255,255,.05);
}

/* C) Ghost + brackets automáticos + flecha */
.cc-btn-ghost{
  color:var(--cc-accent); background:transparent;
  border:1.6px dashed rgba(0,255,0,.7);
  padding: var(--pad-y) calc(var(--pad-x) + 18px);
}
.cc-btn-ghost::before,
.cc-btn-ghost::after{
  position:absolute; top:50%; transform:translateY(-50%);
  font-weight:600; color:var(--cc-accent); opacity:.85;
}
.cc-btn-ghost::before{ content:"["; left:14px; }
.cc-btn-ghost::after{ content:"]"; right:32px; transition:right .2s var(--cc-ease); }
.cc-btn-ghost span::after{
  content:"→"; margin-left:.6em; opacity:.0; transition:opacity .2s var(--cc-ease);
}
.cc-btn-ghost:hover{ transform:translateY(-2px); }
.cc-btn-ghost:hover::after{ right:14px; }
.cc-btn-ghost:hover span::after{ opacity:1; }

/* Tamaños (opcional) */
.cc-btn.sm{ --pad-x:1.2rem; --pad-y:.7rem; font-size:.9rem; }
.cc-btn.lg{ --pad-x:2.4rem; --pad-y:1.1rem; font-size:1.05rem; }
/* ===== Botón ACCEDER — reset Elementor + estilo PRO ===== */

/* Resetea SOLO este widget (la clase que pusiste está en el wrapper del widget) */
.elementor-widget-button.cc-btn .elementor-button{
  all: unset; /* limpia estilos heredados de Elementor para este anchor */
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  user-select: none;

  /* tokens comunes */
  --pad-x: 2.1rem; 
  --pad-y: 0.95rem;
  --radius: 14px;

  font-family: "Inconsolata","JetBrains Mono","Courier New",monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--cc-accent);
  padding: var(--pad-y) var(--pad-x);
  border-radius: var(--radius);
  position: relative;
}

/* Texto interno */
.elementor-widget-button.cc-btn .elementor-button .elementor-button-text{
  opacity: .95;
}

/* Estilo NEO (outline + glow + scan) */
.elementor-widget-button.cc-btn-neo .elementor-button{
  border: 1.8px solid var(--cc-accent);
  background: transparent;
  box-shadow: 0 0 0 0 rgba(0,255,0,.0);
  transition: transform .2s var(--cc-ease), box-shadow .2s var(--cc-ease);
  overflow: hidden; /* para el scan */
}

/* Glow exterior sutil */
.elementor-widget-button.cc-btn-neo .elementor-button::before{
  content: "";
  position: absolute; inset: -2px;
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 0 18px rgba(0,255,0,.22);
  opacity: .0;
  transition: opacity .2s var(--cc-ease);
  pointer-events: none;
}

/* “Scan fill” al hover */
.elementor-widget-button.cc-btn-neo .elementor-button::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,255,0,.10) 0%, rgba(0,255,0,.18) 50%, rgba(0,255,0,.10) 100%);
  transform: translateX(-100%);
  transition: transform .45s var(--cc-ease);
  pointer-events: none;
}

/* Hover y active */
.elementor-widget-button.cc-btn-neo .elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,255,0,.22);
}
.elementor-widget-button.cc-btn-neo .elementor-button:hover::before{ opacity: 1; }
.elementor-widget-button.cc-btn-neo .elementor-button:hover::after{ transform: translateX(0); }
.elementor-widget-button.cc-btn-neo .elementor-button:active{ transform: translateY(0); box-shadow: 0 6px 14px rgba(0,255,0,.18); }

/* Estado de foco accesible (teclado) */
.elementor-widget-button.cc-btn .elementor-button:focus-visible{
  outline: 2px solid rgba(0,255,0,.65);
  outline-offset: 3px;
  border-radius: calc(var(--radius) + 2px);
}

/* Tamaños opcionales (agrega 'lg' o 'sm' a las clases del widget si quieres) */
.elementor-widget-button.cc-btn.lg .elementor-button{ --pad-x: 2.6rem; --pad-y: 1.15rem; font-size: 1.05rem; }
.elementor-widget-button.cc-btn.sm .elementor-button{ --pad-x: 1.3rem; --pad-y: .7rem; font-size: .9rem; }
/* ===== FIX botón ACCEDER: reset total y estilo limpio ===== */

/* Reset fuerte SOLO para este widget de botón */
.elementor-widget-button.cc-btn .elementor-button,
.elementor-widget-button.cc-btn .elementor-button *,
.elementor-widget-button.cc-btn .elementor-button::before,
.elementor-widget-button.cc-btn .elementor-button::after{
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Reconstruimos el botón base */
.elementor-widget-button.cc-btn .elementor-button{
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  user-select: none;

  /* tokens */
  --pad-x: 2.1rem;
  --pad-y: 0.95rem;
  --radius: 14px;

  font-family: "Inconsolata","JetBrains Mono","Courier New",monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--cc-accent);
  padding: var(--pad-y) var(--pad-x);
  border-radius: var(--radius);
  position: relative;
}

/* Contenido interno sin rellenos raros */
.elementor-widget-button.cc-btn .elementor-button .elementor-button-content-wrapper,
.elementor-widget-button.cc-btn .elementor-button .elementor-button-text{
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* ---- Estilo NEO (outline + glow + scan) ---- */
.elementor-widget-button.cc-btn-neo .elementor-button{
  border: 1.8px solid var(--cc-accent);
  transition: transform .2s var(--cc-ease), box-shadow .2s var(--cc-ease);
  overflow: hidden;
}
.elementor-widget-button.cc-btn-neo .elementor-button::before{
  content: "";
  position: absolute; inset: -2px;
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 0 18px rgba(0,255,0,.22);
  opacity: 0;
  transition: opacity .2s var(--cc-ease);
  pointer-events: none;
}
.elementor-widget-button.cc-btn-neo .elementor-button::after{
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(0,255,0,.10) 0%, rgba(0,255,0,.18) 50%, rgba(0,255,0,.10) 100%);
  transform: translateX(-100%);
  transition: transform .45s var(--cc-ease);
  pointer-events: none;
}
.elementor-widget-button.cc-btn-neo .elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,255,0,.22);
}
.elementor-widget-button.cc-btn-neo .elementor-button:hover::before{ opacity: 1; }
.elementor-widget-button.cc-btn-neo .elementor-button:hover::after{ transform: translateX(0); }
.elementor-widget-button.cc-btn .elementor-button:focus-visible{
  outline: 2px solid rgba(0,255,0,.65);
  outline-offset: 3px;
  border-radius: calc(var(--radius) + 2px);
}

/* Tamaños opcionales */
.elementor-widget-button.cc-btn.lg .elementor-button{ --pad-x: 2.6rem; --pad-y: 1.15rem; font-size: 1.05rem; }
.elementor-widget-button.cc-btn.sm .elementor-button{ --pad-x: 1.3rem; --pad-y: .7rem; font-size: .9rem; }
/* === Revelar el botón después del typewriter (sin JS) === */
.cc-reveal-after{
  opacity: 0;
  transform: translateY(10px) scale(.98);
  pointer-events: none;
  animation: cc-reveal .6s var(--cc-ease) forwards;
  /* Cambia este delay en el widget si ajustas los tiempos del typewriter */
  animation-delay: var(--reveal-delay, 7.8s); /* 4.85s + 2.88s ≈ 7.73s → redondeo 7.8s */
}

@keyframes cc-reveal{
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }
}

/* Accesibilidad: si el usuario pide menos animación, mostramos el botón de una */
@media (prefers-reduced-motion: reduce){
  .cc-reveal-after{ opacity:1 !important; transform:none !important; animation:none !important; pointer-events:auto !important; }
}
/* ===== Responsivo: tipografía + cortes mobile ===== */

/* tamaños móviles y espaciados */
@media (max-width: 480px){
  .cc-hero{ padding: 3.25rem 1rem 2.25rem; }
  .cc-type{ font-size: clamp(17px, 5.0vw, 19px); padding: 0 6px; }
  /* botón más compacto y safe area */
  .elementor-widget-button.cc-btn .elementor-button{ --pad-x:1.5rem; --pad-y:.85rem; --radius:12px; }
  .cc-hero .elementor-widget-button{ margin-bottom: calc(env(safe-area-inset-bottom, 0) + 8px); }
}

/* mostrar/ocultar variantes de línea según dispositivo */
.mob-only{ display: none !important; }
@media (max-width: 480px){
  .desk-only{ display: none !important; }
  .mob-only{ display: block !important; }
}

/* el botón aparece después del typewriter (mobile usa delay distinto) */
@media (max-width: 480px){
  .cc-reveal-after{ animation-delay: var(--reveal-delay-mobile, 8.4s) !important; }
}/* End custom CSS */