/*
Theme Name:  Enfold Child – Andina Music
Description: Tema hijo de Enfold con la capa de diseño de Andina Music (andinamusic.com). Todo el CSS propio del sitio vive en este archivo; el JS en assets/js/andina-music.js.
Author:      Andina Music
Template:    enfold
Version:     1.0.0
Text Domain: enfold-child-andina
*/

/* ==========================================================================
   ANDINA MUSIC · CAPA DE DISEÑO PARA ENFOLD
   --------------------------------------------------------------------------
   Índice
   01  Tokens (colores, tipografía, espaciado)
   02  Base: tipografía global, enlaces, foco, selección
   03  Utilidades: contenedor, secciones, botones, texto degradado, reveal
   04  Header (logo, menú, botones del menú, hamburguesa, menú móvil)
   05  Barra de título de página
   06  Home · Hero
   07  Home · Plataformas (logos)
   08  Home · Trayectoria (cifras)
   09  Home · Cómo funciona + beneficios
   10  Home · Preguntas frecuentes
   11  Home · CTA final
   12  Footer (widgets) y socket
   13  Contacto (bloque de información + Fluent Forms)
   14  Páginas de texto (Sobre nosotros, legales)
   15  Ajustes de Enfold (neutralizar paddings, botón "subir", etc.)
   16  Responsive
   17  Accesibilidad y movimiento reducido
   --------------------------------------------------------------------------
   Convenciones
   · Prefijo de clases propias: .am-  (Andina Music)
   · Especificidad: usamos "#top" (id del <body> en Enfold) para ganar a las
     reglas del tema sin recurrir a !important. Solo hay !important donde
     Enfold escribe estilos inline (se indica en cada caso).
   ========================================================================== */


/* ==========================================================================
   01 · TOKENS
   ========================================================================== */
:root{
  /* Fondos */
  --am-bg:        #0b0b12;   /* fondo base del sitio */
  --am-bg-2:      #10101a;   /* fondo elevado: footer, tarjetas, formularios */
  --am-surface:   rgba(255,255,255,.035);
  --am-surface-2: rgba(255,255,255,.06);
  --am-border:    rgba(255,255,255,.09);
  --am-border-2:  rgba(255,255,255,.18);

  /* Texto */
  --am-heading:   #ffffff;
  --am-text:      #e6e9f2;
  --am-text-2:    #aab3c5;
  --am-muted:     #7f889b;

  /* Marca */
  --am-primary:   #ff2ed2;   /* fucsia */
  --am-primary-2: #8a3fff;   /* violeta */
  --am-accent:    #38d6ff;   /* cian */
  --am-success:   #2ad97f;
  --am-link:      #ff7ae5;   /* enlaces sobre fondo oscuro (contraste 7:1) */
  --am-grad:      linear-gradient(135deg, var(--am-primary) 0%, var(--am-primary-2) 100%);
  --am-grad-line: linear-gradient(90deg, var(--am-primary), var(--am-accent));

  /* Tipografía: usa lo que elijas en Enfold › Estilo general › Fuentes.
     Si Poppins/Inter están cargadas (tema hijo), se usan primero. */
  --am-font-heading: 'Poppins', var(--enfold-font-family-heading, system-ui), 'Segoe UI', Roboto, sans-serif;
  --am-font-body:    'Inter',   var(--enfold-font-family-body,    system-ui), 'Segoe UI', Roboto, sans-serif;

  /* Layout */
  --am-container:  1180px;
  --am-gutter:     clamp(16px, 4vw, 32px);
  --am-section:    clamp(44px, 6vw, 72px);   /* padding vertical de cada sección */
  --am-radius:     18px;
  --am-radius-sm:  12px;
  --am-shadow:     0 14px 40px rgba(0, 0, 0, .35);
  --am-shadow-pk:  0 10px 30px rgba(255, 46, 210, .25);
}


/* ==========================================================================
   02 · BASE
   ========================================================================== */
html{ scroll-behavior: smooth; }

body#top{
  background: var(--am-bg);
  color: var(--am-text);
  font-family: var(--am-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Títulos: escala fluida y consistente en todo el sitio */
#top h1, #top h2, #top h3, #top h4, #top h5, #top h6{
  font-family: var(--am-font-heading);
  color: var(--am-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .5em;
  text-transform: none;
}
#top h1{ font-size: clamp(2rem, 4.5vw, 3.25rem); }
#top h2{ font-size: clamp(1.6rem, 3vw, 2.4rem); }
#top h3{ font-size: clamp(1.2rem, 2vw, 1.5rem); }
#top h4{ font-size: 1.1rem; }

/* Enlaces del contenido (baja especificidad con :where para que los botones ganen) */
#top :where(.main_color, .alternate_color) a{ color: var(--am-link); text-decoration: none; }
#top :where(.main_color, .alternate_color) a:hover{ color: #fff; text-decoration: underline; text-underline-offset: .2em; }

#top p{ margin: 0 0 1em; }
#top strong, #top b{ font-weight: 600; }
#top img{ max-width: 100%; height: auto; }

::selection{ background: rgba(255, 46, 210, .45); color: #fff; }

/* Foco visible y coherente para teclado */
#top a:focus-visible, #top button:focus-visible, #top summary:focus-visible,
#top input:focus-visible, #top textarea:focus-visible, #top select:focus-visible{
  outline: 2px solid var(--am-accent);
  outline-offset: 3px;
  border-radius: 6px;
}


/* ==========================================================================
   03 · UTILIDADES
   ========================================================================== */
.am-container{
  width: 100%;
  max-width: var(--am-container);
  margin-inline: auto;
  padding-inline: var(--am-gutter);
}
.am-container--narrow{ max-width: 840px; }

.am-section{ padding-block: var(--am-section); }

.am-section__head{
  max-width: 720px;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}
#top .am-section__head h2{
  margin: 0 0 .55em;
  letter-spacing: -.02em;
  text-wrap: balance;
}
#top .am-section__head h2::after{
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: .6em auto 0;
  border-radius: 3px;
  background: var(--am-grad-line);
}
#top .am-section__head p{
  margin: 0;
  color: var(--am-text-2);
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  text-wrap: pretty;
}
#top .am-section__note{
  margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
  text-align: center;
  color: var(--am-muted);
  font-size: .95rem;
}

/* Etiqueta pequeña ("eyebrow") */
#top .am-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .55em;
  margin: 0 0 1.4rem;
  padding: .45em 1em;
  border: 1px solid var(--am-border);
  border-radius: 999px;
  background: var(--am-surface);
  color: var(--am-text-2);
  font-family: var(--am-font-body);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#top .am-eyebrow::before{
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--am-accent);
  box-shadow: 0 0 10px var(--am-accent);
}

/* Texto con degradado de marca */
.am-grad-text{
  background: linear-gradient(90deg, #ff2ed2 0%, #b46bff 50%, #38d6ff 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: am-shimmer 9s linear infinite;
}
@keyframes am-shimmer{ to{ background-position: 200% 0; } }

/* Botones */
.am-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
#top .am-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  min-height: 50px;
  padding: 0 1.7em;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--am-font-body);
  font-size: .96rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .25s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
#top .am-btn:hover{ text-decoration: none; transform: translateY(-2px); }
#top .am-btn:active{ transform: translateY(0); }

#top .am-btn--primary{
  color: #fff;
  background: var(--am-grad);
  box-shadow: var(--am-shadow-pk);
}
#top .am-btn--primary:hover{ color: #fff; box-shadow: 0 16px 36px rgba(255, 46, 210, .38); filter: brightness(1.06); }

#top .am-btn--ghost{
  color: #fff;
  background: var(--am-surface);
  border-color: var(--am-border-2);
}
#top .am-btn--ghost:hover{ color: #fff; background: var(--am-surface-2); border-color: rgba(255,255,255,.35); }

/* Aparición suave al hacer scroll (solo si el JS está activo: html.am-js) */
.am-js .am-reveal{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .65s ease, transform .65s ease;
}
.am-js .am-reveal.is-visible{ opacity: 1; transform: none; }
.am-js .am-hero .am-reveal:nth-child(2){ transition-delay: .08s; }
.am-js .am-hero .am-reveal:nth-child(3){ transition-delay: .16s; }
.am-js .am-hero .am-reveal:nth-child(4){ transition-delay: .24s; }
.am-js .am-hero .am-reveal:nth-child(5){ transition-delay: .32s; }


/* ==========================================================================
   04 · HEADER
   Requisitos en Enfold › Opciones del Tema › Header:
   · Diseño: "Logo a la izquierda, menú a la derecha"
   · Menú móvil: mostrar hamburguesa en tablets y móviles (≤ 989 px)
   · Los botones "Solicitar cuenta" / "Acceso a clientes" son elementos del
     menú con estilo "Botón (color)" y "Botón (borde)".
   ========================================================================== */
#top #header .header_bg{
  background: rgba(11, 11, 18, .84);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}
#top #header_main{
  border-bottom: 1px solid var(--am-border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
#top #header_main .container{ padding-inline: var(--am-gutter); }

/* Logo: imagen + nombre de marca (el nombre lo pinta el CSS; si subes un
   logo que ya incluye el texto "Andina Music", borra la regla ::after) */
#top #header .logo{ display: flex; align-items: center; flex: 0 0 auto; }
#top #header .logo a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 100%;
  text-decoration: none;
}
#top #header .logo img{
  width: auto;
  height: 40px !important;      /* Enfold escribe max-height inline */
  max-height: 40px !important;
}
#top #header .logo a::after{
  content: "ANDINA MUSIC";
  font-family: var(--am-font-heading);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: #fff;
  white-space: nowrap;
}
/* Mientras uses el PNG negro actual, este filtro lo vuelve blanco.
   Bórralo cuando subas la versión blanca (andina-mark-white.svg). */
#top #header .logo img[src*="1212-1"]{ filter: invert(1) brightness(1.3); }

/* Enlaces del menú principal */
#top #header .logo{ margin-right: 24px; }
#top #header .av-main-nav > li > a{
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 0;
  font-family: var(--am-font-body);
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: none;
  white-space: nowrap;
  color: var(--am-text-2);
  transition: color .2s ease;
}
#top #header .av-main-nav > li:hover > a,
#top #header .av-main-nav > li.current-menu-item > a,
#top #header .av-main-nav > li.current_page_item > a,
#top #header .av-main-nav > li.current-menu-ancestor > a{ color: #fff; }

/* Subrayado animado bajo el texto (independiente de la altura del header) */
#top #header .av-main-nav > li > a .avia-menu-text{ position: relative; }
#top #header .av-main-nav > li > a .avia-menu-text::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -7px;
  height: 2px;
  border-radius: 2px;
  background: var(--am-grad-line);
  opacity: 0;
  transform: scaleX(.5);
  transition: opacity .2s ease, transform .25s ease;
}
#top #header .av-main-nav > li:hover > a .avia-menu-text::after,
#top #header .av-main-nav > li.current-menu-item > a .avia-menu-text::after,
#top #header .av-main-nav > li.current_page_item > a .avia-menu-text::after{ opacity: 1; transform: none; }
#top #header .av-main-nav > li > a .avia-menu-fx{ display: none; }   /* barra de hover de Enfold: fuera */
#top #header .avia-arrow-wrap{ display: none; }
#top #header .avia-bullet{ display: none; }

/* Elementos del menú con estilo "Botón" (Enfold: av-menu-button) */
#top #header .av-main-nav > li.av-menu-button > a{ padding: 0 5px; }
#top #header .av-main-nav > li.av-menu-button > a .avia-menu-text{
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1;
  transition: transform .2s ease, box-shadow .25s ease, background-color .2s ease, border-color .2s ease;
}
#top #header .av-main-nav > li.av-menu-button > a .avia-menu-text::after{ display: none; }
#top #header .av-main-nav > li.av-menu-button-colored > a .avia-menu-text{
  color: #fff;
  border: 0;
  background: var(--am-grad);
  box-shadow: 0 6px 18px rgba(255, 46, 210, .25);
}
#top #header .av-main-nav > li.av-menu-button-colored:hover > a .avia-menu-text{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(255, 46, 210, .35);
  filter: brightness(1.06);
}
#top #header .av-main-nav > li.av-menu-button-bordered > a .avia-menu-text{
  color: #fff;
  background: transparent;
  border: 1px solid var(--am-border-2);
}
#top #header .av-main-nav > li.av-menu-button-bordered:hover > a .avia-menu-text{
  background: var(--am-surface-2);
  border-color: rgba(255,255,255,.4);
}
#top #header .av-main-nav > li.av-menu-button + li.av-menu-button{ margin-left: 2px; }

/* Icono hamburguesa (Enfold lo muestra solo bajo el ancho configurado) */
#top #header .av-hamburger-inner,
#top #header .av-hamburger-inner::before,
#top #header .av-hamburger-inner::after{ background-color: #fff; }
#top #header .av-burger-menu-main a{ color: #fff; }

/* Menú móvil desplegable (overlay de Enfold) */
#top #wrap_all .av-burger-overlay-scroll{ background-color: rgba(11, 11, 18, .98); }
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul{ padding: 24px 0 40px; }
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li > a{
  padding: 16px 28px;
  border-color: var(--am-border);
  font-family: var(--am-font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  background: transparent;
}
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li > a:hover,
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.current-menu-item > a{
  color: var(--am-link);
  background: var(--am-surface);
}
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.av-menu-button > a{ padding: 10px 28px; border: 0; }
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.av-menu-button > a .avia-menu-text{
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  font-family: var(--am-font-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.av-menu-button-colored > a .avia-menu-text{ color: #fff; background: var(--am-grad); }
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.av-menu-button-bordered > a .avia-menu-text{ color: #fff; border: 1px solid var(--am-border-2); }
#top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul li.av-menu-button-colored:first-of-type{ margin-top: 12px; }
#top .av-burger-overlay-bg{ background: rgba(0, 0, 0, .6); }


/* ==========================================================================
   05 · BARRA DE TÍTULO DE PÁGINA (Contacto, Sobre nosotros, legales…)
   En la Home se oculta desde la propia página (Título: ocultar).
   ========================================================================== */
#top .title_container{
  padding: clamp(36px, 6vw, 64px) 0;
  border-bottom: 1px solid var(--am-border);
  background:
    radial-gradient(60% 120% at 50% 0%, rgba(255, 46, 210, .14), transparent 70%),
    var(--am-bg-2);
}
#top .title_container .container{ padding-inline: var(--am-gutter); }
#top .title_container .main-title{
  float: none;
  margin: 0;
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  line-height: 1.1;
  text-align: center;
  letter-spacing: -.02em;
}
#top .title_container .main-title a{ color: #fff; text-decoration: none; pointer-events: none; }
#top .title_container .breadcrumb{ display: none; }
body#top.home .title_container{ display: none; }


/* ==========================================================================
   06 · HOME · HERO
   ========================================================================== */
.am-hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 11vw, 140px) 0 clamp(56px, 8vw, 96px);
  text-align: center;
}
/* Luces de fondo. Si la sección de color tiene el ID "sec-hero", el degradado
   ocupa todo el ancho de la ventana; si no, se dibuja dentro del hero. */
.am-hero::before,
#top #sec-hero{
  background-image:
    radial-gradient(60% 55% at 50% -8%,  rgba(255, 46, 210, .30), transparent 65%),
    radial-gradient(38% 40% at 88% 18%,  rgba(138, 63, 255, .22), transparent 60%),
    radial-gradient(34% 36% at 8%  72%,  rgba(56, 214, 255, .12), transparent 60%);
  background-repeat: no-repeat;
}
.am-hero::before{ content: ""; position: absolute; inset: 0; z-index: -2; }
#top #sec-hero .am-hero::before{ display: none; }
/* Retícula sutil */
.am-hero::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 75%);
  opacity: .8;
}

.am-hero__inner{ max-width: 1040px; }

#top .am-hero__title{
  margin: 0 auto .8em;
  font-size: clamp(2.3rem, 5.6vw, 4rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.03em;
  color: #fff;
}
#top .am-hero__lead{
  max-width: 62ch;
  margin: 0 auto 2rem;
  font-size: clamp(1.02rem, 1.6vw, 1.22rem);
  line-height: 1.6;
  color: var(--am-text-2);
  text-wrap: pretty;
}
#top .am-hero__trust{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem 1.75rem;
  margin: 2.25rem 0 0;
  padding: 0;
  list-style: none;
  color: var(--am-text-2);
  font-size: .92rem;
}
#top .am-hero__trust li{ display: inline-flex; align-items: center; gap: .5em; margin: 0; padding: 0; }
#top .am-hero__trust li::before{
  content: "";
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(42, 217, 127, .18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232ad97f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat;
}


/* ==========================================================================
   07 · HOME · PLATAFORMAS
   ========================================================================== */
#top .am-logos{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .am-logos li{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 86px;
  margin: 0;
  padding: 18px 22px;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-sm);
  background: var(--am-surface);
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
#top .am-logos li:hover{
  transform: translateY(-3px);
  border-color: var(--am-border-2);
  background: var(--am-surface-2);
}
#top .am-logos img{
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 34px;
  object-fit: contain;
}
#top .am-logos img.am-logos__wide{ max-height: 28px; }


/* ==========================================================================
   08 · HOME · TRAYECTORIA (cifras)
   ========================================================================== */
#top #sec-trayectoria,
.am-stats{
  background-image: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0) 60%);
}
#top #sec-trayectoria .am-stats{ background-image: none; }

.am-stats__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
#top .am-stat{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: 30px 20px 26px;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  text-align: center;
  transition: transform .2s ease, border-color .2s ease;
}
#top .am-stat:hover{ transform: translateY(-3px); border-color: var(--am-border-2); }
.am-stat__icon{
  display: grid;
  place-items: center;
  width: 54px; height: 54px;
  margin-bottom: .4rem;
  border-radius: 16px;
  color: #ff7ae5;
  background: linear-gradient(135deg, rgba(255, 46, 210, .22), rgba(138, 63, 255, .22));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.am-stat__icon svg{ width: 24px; height: 24px; }
.am-stat__icon--cyan{ color: var(--am-accent); background: rgba(56, 214, 255, .14); }
.am-stat__value{
  font-family: var(--am-font-heading);
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.am-stat__suffix{ color: var(--am-primary); }
.am-stat__label{ color: var(--am-text-2); font-size: .94rem; }


/* ==========================================================================
   09 · HOME · CÓMO FUNCIONA + BENEFICIOS
   ========================================================================== */
#top .am-steps{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  padding: 0;
  list-style: none;
  counter-reset: none;
}
#top .am-step{
  position: relative;
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  background: var(--am-surface);
  transition: transform .2s ease, border-color .2s ease;
}
#top .am-step:hover{ transform: translateY(-3px); border-color: var(--am-border-2); }
.am-step__num{
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px; height: 42px;
  border-radius: 13px;
  font-family: var(--am-font-heading);
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
  background: var(--am-grad);
  box-shadow: 0 8px 20px rgba(255, 46, 210, .28);
}
#top .am-step h3{ margin: .4rem 0 .35rem; font-size: 1.12rem; }
#top .am-step p{ margin: 0; color: var(--am-text-2); font-size: .96rem; }

#top .am-subtitle{
  margin: 0 0 1.25rem;
  text-align: center;
  font-family: var(--am-font-body);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--am-muted);
}
#top .am-benefits{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .am-benefit{
  margin: 0;
  padding: 26px 24px;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  background: var(--am-surface);
}
.am-benefit__icon{
  display: grid;
  place-items: center;
  width: 46px; height: 46px;
  margin-bottom: 16px;
  border-radius: 13px;
  color: var(--am-accent);
  background: rgba(56, 214, 255, .12);
}
.am-benefit__icon svg{ width: 22px; height: 22px; }
#top .am-benefit h4{ margin: 0 0 .4rem; font-size: 1.05rem; }
#top .am-benefit p{ margin: 0; color: var(--am-text-2); font-size: .95rem; }


/* ==========================================================================
   10 · HOME · PREGUNTAS FRECUENTES
   ========================================================================== */
.am-faq__list{ display: grid; gap: 10px; }
#top .am-faq__item{
  overflow: hidden;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-sm);
  background: var(--am-surface);
  transition: border-color .2s ease, background-color .2s ease;
}
#top .am-faq__item:hover{ border-color: var(--am-border-2); }
#top .am-faq__item[open]{ border-color: rgba(255, 46, 210, .45); background: rgba(255, 46, 210, .045); }
#top .am-faq__item summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  font-family: var(--am-font-heading);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
}
#top .am-faq__item summary::-webkit-details-marker{ display: none; }
#top .am-faq__item summary::after{
  content: "";
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border: 1px solid var(--am-border-2);
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 12px no-repeat;
  transition: transform .25s ease, background-color .2s ease, border-color .2s ease;
}
#top .am-faq__item[open] summary::after{
  transform: rotate(45deg);
  border-color: var(--am-primary);
  background-color: rgba(255, 46, 210, .18);
}
#top .am-faq__body{ padding: 0 20px 20px; color: var(--am-text-2); }
#top .am-faq__body p{ margin: 0; }
#top .am-faq__body strong{ color: #fff; }


/* ==========================================================================
   11 · HOME · CTA FINAL
   ========================================================================== */
.am-cta__box{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 64px);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255, 46, 210, .16), rgba(138, 63, 255, .14) 50%, rgba(56, 214, 255, .12));
  text-align: center;
}
.am-cta__box::before{
  content: "";
  position: absolute;
  inset: -30%;
  z-index: -1;
  background:
    radial-gradient(35% 40% at 28% 30%, rgba(255, 46, 210, .35), transparent 60%),
    radial-gradient(30% 35% at 76% 72%, rgba(56, 214, 255, .28), transparent 60%);
  filter: blur(30px);
}
#top .am-cta__box h2{ margin: 0 0 .5em; font-size: clamp(1.75rem, 3.5vw, 2.5rem); letter-spacing: -.02em; }
#top .am-cta__box p{ max-width: 54ch; margin: 0 auto 1.75rem; color: var(--am-text); font-size: 1.05rem; }


/* ==========================================================================
   12 · FOOTER (widgets) Y SOCKET
   Enfold › Opciones del Tema › Footer › "Footer Widgets": 4 columnas.
   ========================================================================== */
#top #footer{
  padding: clamp(48px, 6vw, 72px) 0 32px;
  border-top: 1px solid var(--am-border);
  background: var(--am-bg-2);
  color: var(--am-text-2);
}
#top #footer .container{ padding-inline: var(--am-gutter); }
#top #footer .widget{ margin: 0; padding: 0; border: 0; }
#top #footer .widgettitle{
  margin: 0 0 18px;
  font-family: var(--am-font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}
#top #footer p{ font-size: .95rem; }

.am-footer__logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--am-font-heading);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-decoration: none;
}
#top #footer .am-footer__logo{ color: #fff; }
#top #footer .am-footer__logo em{ font-style: normal; color: var(--am-primary); }
#top #footer .am-footer__logo img{ height: 32px; width: auto; }
#top #footer .am-footer__logo img[src*="1212-1"]{ filter: invert(1) brightness(1.3); }
#top #footer .am-footer__brand p{ max-width: 36ch; margin: 16px 0 20px; }

#top #footer .am-footer__links,
#top #footer .am-footer__contact,
#top #footer .am-social{ margin: 0; padding: 0; list-style: none; }
#top #footer .am-footer__links{ display: grid; gap: 10px; }
#top #footer .am-footer__links li,
#top #footer .am-footer__contact li{ margin: 0; padding: 0; border: 0; }
#top #footer .am-footer__links a{ color: var(--am-text-2); text-decoration: none; font-size: .96rem; transition: color .2s ease; }
#top #footer .am-footer__links a:hover{ color: #fff; }

#top #footer .am-footer__contact{ display: grid; gap: 12px; }
#top #footer .am-footer__contact li{ display: flex; align-items: center; gap: 10px; font-size: .95rem; }
#top #footer .am-footer__contact svg{ flex: 0 0 auto; width: 18px; height: 18px; color: var(--am-accent); }
#top #footer .am-footer__contact a{ color: var(--am-text); text-decoration: none; }
#top #footer .am-footer__contact a:hover{ color: #fff; text-decoration: underline; }

#top #footer .am-social{ display: flex; gap: 10px; }
#top #footer .am-social li{ margin: 0; padding: 0; border: 0; }
#top #footer .am-social a{
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border: 1px solid var(--am-border);
  border-radius: 11px;
  color: var(--am-text-2);
  background: var(--am-surface);
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}
#top #footer .am-social a:hover{ color: #fff; border-color: var(--am-primary); background: rgba(255, 46, 210, .14); transform: translateY(-2px); }
#top #footer .am-social svg{ width: 18px; height: 18px; }

#top #socket{
  padding: 18px 0;
  border-top: 1px solid var(--am-border);
  background: var(--am-bg);
  color: var(--am-muted);
  font-size: .86rem;
  text-align: center;
}
#top #socket .container{ padding-inline: var(--am-gutter); }
#top #socket .copyright{ float: none; display: block; }
#top #socket .copyright a{ color: var(--am-text-2); text-decoration: none; }
#top #socket .social_bookmarks{ float: none; display: flex; justify-content: center; margin: 10px 0 0; }
#top #socket .social_bookmarks li a{ color: var(--am-text-2); border: 0; }
#top #socket .social_bookmarks li a:hover{ color: #fff; background: transparent; }


/* ==========================================================================
   13 · CONTACTO
   ========================================================================== */
.am-contact-info{ padding: 8px 0; }
#top .am-contact-info h2{ margin: .5rem 0 .75rem; font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: -.02em; }
#top .am-contact-info > p{ color: var(--am-text-2); }
#top .am-contact-info__list{ display: grid; gap: 12px; margin: 1.75rem 0; padding: 0; list-style: none; }
#top .am-contact-info__list li{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--am-border);
  border-radius: 14px;
  background: var(--am-surface);
}
.am-contact-info__icon{
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px; height: 42px;
  border-radius: 11px;
  color: var(--am-accent);
  background: rgba(56, 214, 255, .12);
}
.am-contact-info__icon svg{ width: 20px; height: 20px; }
#top .am-contact-info__list strong{
  display: block;
  margin-bottom: 2px;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--am-muted);
}
#top .am-contact-info__list a{ color: #fff; text-decoration: none; }
#top .am-contact-info__list a:hover{ text-decoration: underline; }
#top .am-contact-info__note{ color: var(--am-muted); font-size: .92rem; }

/* Fluent Forms en modo oscuro (vale para cualquier formulario del sitio) */
#top .fluentform{
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  background: var(--am-bg-2);
  box-shadow: var(--am-shadow);
}
#top .fluentform .ff-el-group{ margin-bottom: 18px; }
#top .fluentform .ff-el-input--label label{ color: #fff; font-weight: 600; font-size: .92rem; }
#top .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after{ color: var(--am-primary); }
#top .fluentform .ff-el-form-control{
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.05);
  color: #fff;
  font-family: var(--am-font-body);
  font-size: 1rem;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
#top .fluentform .ff-el-form-control::placeholder{ color: rgba(255,255,255,.45); }
#top .fluentform .ff-el-form-control:focus{
  outline: none;
  border-color: var(--am-primary);
  box-shadow: 0 0 0 3px rgba(255, 46, 210, .22);
}
#top .fluentform textarea.ff-el-form-control{ min-height: 140px; resize: vertical; }
#top .fluentform select.ff-el-form-control{ color-scheme: dark; }
#top .fluentform .ff-el-form-check-label,
#top .fluentform .ff-el-form-check{ color: var(--am-text); }
#top .fluentform input[type="checkbox"],
#top .fluentform input[type="radio"]{ accent-color: var(--am-primary); width: 16px; height: 16px; }
#top .fluentform .ff-el-help-message{ color: var(--am-muted); }
#top .fluentform .ff-btn-submit,
#top .fluentform button[type="submit"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px;
  background: var(--am-grad);
  color: #fff;
  font-family: var(--am-font-body);
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  box-shadow: var(--am-shadow-pk);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .25s ease, filter .2s ease;
}
#top .fluentform .ff-btn-submit:hover,
#top .fluentform button[type="submit"]:hover{ transform: translateY(-2px); box-shadow: 0 16px 36px rgba(255, 46, 210, .38); filter: brightness(1.06); }
#top .fluentform .ff-el-is-error .ff-el-form-control{ border-color: #ff6b6b; }
#top .fluentform .text-danger, #top .fluentform .error{ color: #ff8a8a; }
#top .fluentform .ff-message-success{
  padding: 16px 18px;
  border: 1px solid rgba(42, 217, 127, .4);
  border-radius: 12px;
  background: rgba(42, 217, 127, .1);
  color: #fff;
}


/* ==========================================================================
   14 · PÁGINAS DE TEXTO (Sobre nosotros, Política de privacidad, Condiciones)
   Páginas creadas con el editor clásico/Gutenberg (sin Layout Builder).
   ========================================================================== */
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content-wrapper{
  max-width: 800px;
  margin-inline: auto;
}
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content p,
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content li{
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--am-text-2);
}
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content h2{ margin-top: 2em; font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content h3{ margin-top: 1.6em; }
body#top.page:not(.home):not(.avia-advanced-editor-enabled) .template-page .entry-content strong{ color: #fff; }


/* ==========================================================================
   15 · AJUSTES DE ENFOLD
   ========================================================================== */
/* Las secciones de color no deben añadir su propio relleno: cada .am-section trae el suyo */
#top .avia-section .container .template-page{ padding-top: 0; padding-bottom: 0; }
#top .avia-section .avia_codeblock_section,
#top .avia-section .avia_codeblock{ margin: 0; }

/* Fondo uniforme en los contenedores del tema (por si algún color de las
   Opciones del Tema quedó en claro) */
#top #main, #top #wrap_all, #top .container_wrap{ background-color: var(--am-bg); }
#top .avia-section.main_color, #top .avia-section.alternate_color{ border: 0; }

/* Botón "subir" */
#top #scroll-top-link{
  border: 1px solid var(--am-border);
  border-radius: 12px;
  background: var(--am-bg-2);
  color: #fff;
}
#top #scroll-top-link:hover{ background: var(--am-primary); border-color: var(--am-primary); color: #fff; }

/* Widget "Meta" de WordPress: nunca en el frontal */
#top .widget_meta{ display: none; }


/* ==========================================================================
   16 · RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px){
  #top #header .av-main-nav > li > a{ padding: 0 10px; font-size: .88rem; }
  #top #header .logo a::after{ font-size: .95rem; }
}
@media (max-width: 1100px){
  #top #header .logo a::after{ display: none; }   /* solo isotipo: deja sitio al menú */
  #top #header .logo{ margin-right: 12px; }
  #top #header .av-main-nav > li > a{ padding: 0 8px; }
  #top #header .av-main-nav > li.av-menu-button > a .avia-menu-text{ padding: 0 14px; }
}

@media (max-width: 989px){
  #top .am-logos{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .am-stats__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #top .am-steps, #top .am-benefits{ grid-template-columns: 1fr; }
  #top .am-step{ padding: 20px; }
}

@media (max-width: 767px){
  body#top{ font-size: 15.5px; }
  .am-hero{ padding-top: clamp(56px, 12vw, 80px); }
  #top .am-hero__title{ font-size: clamp(2.1rem, 9.5vw, 3rem); }
  #top .am-hero__trust{ gap: .5rem 1.1rem; font-size: .86rem; }
  #top #header .logo img{ height: 34px !important; max-height: 34px !important; }
  #top #header .logo a::after{ font-size: .9rem; letter-spacing: .05em; }
  #top .am-stat{ padding: 22px 14px 20px; }
  .am-stat__icon{ width: 46px; height: 46px; }
  .am-cta__box{ border-radius: 20px; }
}

@media (max-width: 560px){
  #top .am-logos{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #top .am-logos li{ min-height: 72px; padding: 14px 16px; }
  #top .am-logos img{ max-height: 28px; }
  #top .am-logos img.am-logos__wide{ max-height: 24px; }
  .am-actions{ flex-direction: column; align-items: stretch; }
  #top .am-btn{ width: 100%; }
  #top .am-faq__item summary{ padding: 16px 16px; font-size: .98rem; }
  #top .am-faq__body{ padding: 0 16px 16px; }
}

@media (max-width: 400px){
  #top #header .logo a::after{ display: none; }   /* solo el isotipo en pantallas muy estrechas */
  .am-stats__grid{ gap: 10px; }
  .am-stat__value{ font-size: 1.75rem; }
}


/* ==========================================================================
   17 · ACCESIBILIDAD · MOVIMIENTO REDUCIDO
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .am-grad-text{ animation: none; }
  .am-js .am-reveal{ opacity: 1; transform: none; transition: none; }
  #top .am-btn, #top .am-logos li, #top .am-stat, #top .am-step,
  #top #footer .am-social a, #top .am-faq__item summary::after{ transition: none; }
  #top .am-btn:hover, #top .am-logos li:hover, #top .am-stat:hover, #top .am-step:hover{ transform: none; }
}
