/* Zyno — rediseño negro + azul eléctrico: tipografía, micro-interacciones y animaciones */

:root{
  --zyno-blue:#2f5cff;
  --zyno-blue-2:#5fd4ff;
  --zyno-line:#26262f;
}

body, .main-header-menu, h1, h2, h3, h4, h5, h6, .site-title{
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
h1, h2, h3, .site-title, .wp-block-button__link{
  font-family: 'Chakra Petch', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

@media (prefers-reduced-motion: no-preference){
  a, .wp-block-button__link, .zyno-cat-card, .zyno-why-card{
    transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s, border-color .25s, background-color .25s, opacity .25s;
  }
}

/* Menú: subrayado animado */
.main-header-menu .menu-link{ position:relative; }
.main-header-menu .menu-item > .menu-link::after{
  content:''; position:absolute; left:14px; right:14px; bottom:4px; height:2px;
  background:linear-gradient(90deg,var(--zyno-blue),var(--zyno-blue-2));
  transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.main-header-menu .menu-item:hover > .menu-link::after,
.main-header-menu .current-menu-item > .menu-link::after{ transform:scaleX(1); }

/* Botones: elevación + brillo azul */
.wp-block-button__link{ will-change:transform; }
.wp-block-button.zyno-btn-glow .wp-block-button__link,
.wp-block-button__link{
  box-shadow:0 0 0 rgba(47,92,255,0);
}
a.wp-block-button__link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px -8px rgba(47,92,255,.6), 0 0 22px -4px rgba(95,212,255,.35);
}
a.wp-block-button__link:active{ transform:translateY(0) scale(.98); }

/* Tarjetas de categoría */
.zyno-cat-card .wp-block-button__link{ position:relative; overflow:hidden; }
.zyno-cat-card:hover .wp-block-button__link{
  transform:translateY(-6px);
  border-color:var(--zyno-blue) !important;
  background-color:#1f1f28 !important;
  box-shadow:0 16px 30px -16px rgba(47,92,255,.55);
}

/* Tarjetas "Por qué Zyno" */
.zyno-why-card:hover{
  transform:translateY(-5px);
  border-color:var(--zyno-blue-2) !important;
}

/* Halo detrás del hero */
.zyno-hero{ position:relative; overflow:hidden; isolation:isolate; }
.zyno-hero::before{
  content:''; position:absolute; z-index:-1; left:50%; top:38%;
  width:820px; height:820px; max-width:220vw;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(47,92,255,.5), rgba(47,92,255,.1) 45%, transparent 70%);
  filter:blur(10px);
  animation:zyno-pulse 6s ease-in-out infinite;
}
@keyframes zyno-pulse{
  0%,100%{ opacity:.6; transform:translate(-50%,-50%) scale(1); }
  50%{ opacity:1; transform:translate(-50%,-50%) scale(1.08); }
}

/* Entrada escalonada del hero */
@media (prefers-reduced-motion: no-preference){
  .zyno-anim-1, .zyno-anim-2, .zyno-anim-3, .zyno-anim-4{
    opacity:0; transform:translateY(22px);
    animation:zyno-rise .8s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .zyno-anim-1{ animation-delay:.05s; }
  .zyno-anim-2{ animation-delay:.18s; }
  .zyno-anim-3{ animation-delay:.32s; }
  .zyno-anim-4{ animation-delay:.46s; }
}
@keyframes zyno-rise{ to{ opacity:1; transform:translateY(0); } }

/* Scroll reveal */
@media (prefers-reduced-motion: no-preference){
  .zyno-reveal{
    opacity:0; transform:translateY(26px);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .zyno-reveal.zyno-visible{ opacity:1; transform:translateY(0); }
}

/* Halo radial en la banda de CTA final */
.zyno-cta-band{ position:relative; overflow:hidden; }
.zyno-cta-band::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:radial-gradient(ellipse 60% 100% at 50% 0%, rgba(47,92,255,.18), transparent 65%);
  pointer-events:none;
}
.zyno-cta-band > *{ position:relative; z-index:1; }

/* Transiciones de pagina (progressive enhancement, sin JS) */
@media (prefers-reduced-motion: no-preference){
  @view-transition{ navigation: auto; }
}
