/* ══════════════════════════════════════════════════════════════════
   AlgoritmoIADigital Pro — Cabecera y pie premium  (v4.0)
   Prefijo .aidx- para no chocar con global.css ni con las plantillas.
   Paleta: #060c18 · #0b1526 · #0f1d35 · #00d4c8 · #1a8cff · #f0f4ff · #6a7d9e
══════════════════════════════════════════════════════════════════ */
:root {
  --aidx-h: 84px;          /* alto de la cabecera arriba del todo */
  --aidx-h-sm: 66px;       /* alto al hacer scroll (coincide con el menú de Servicios) */
  --aidx-bg: #060c18;
  --aidx-sf: #0b1526;
  --aidx-cy: #00d4c8;
  --aidx-bl: #1a8cff;
  --aidx-wh: #f0f4ff;
  --aidx-mu: #6a7d9e;
  --aidx-ease: cubic-bezier(.2,.8,.2,1);
}
@property --aidx-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes aidx-spin   { to { --aidx-ang: 360deg; } }
@keyframes aidx-live   { 0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(0,212,200,.55); } 50% { opacity: .55; box-shadow: 0 0 0 5px rgba(0,212,200,0); } }
@keyframes aidx-shine  { 0%,70% { transform: translate3d(0,0,0) skewX(-20deg); } 100% { transform: translate3d(445%,0,0) skewX(-20deg); } }
@keyframes aidx-in     { from { opacity: 0; transform: translateY(26px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes aidx-sweep  { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@keyframes aidx-orbit  { to { transform: rotate(360deg); } }

.aidx-header, .aidx-header *, .aidx-mnav, .aidx-mnav *, .aidx-footer, .aidx-footer * { box-sizing: border-box; }
.aidx-header a, .aidx-mnav a, .aidx-footer a { text-decoration: none; }
.aidx-header ul, .aidx-mnav ul, .aidx-footer ul { list-style: none; margin: 0; padding: 0; }

/* Enlace "Saltar al contenido" (accesibilidad): invisible hasta que se enfoca con el teclado */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.screen-reader-text:focus {
  clip: auto; width: auto; height: auto; z-index: 100000; top: 12px; left: 12px; padding: 10px 16px; border-radius: 10px;
  background: #0b1526; color: #f0f4ff; border: 1px solid #00d4c8; font: 700 .85rem 'Manrope', sans-serif;
}

/* Hueco que ocupa la cabecera fija (el contenido empieza debajo) */
.aidx-spacer { height: var(--aidx-h); }

/* ═══════════════════ CABECERA ═══════════════════ */
.aidx-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9000;
  font-family: 'Manrope', sans-serif; color: var(--aidx-wh);
  transition: background .4s var(--aidx-ease), box-shadow .4s, backdrop-filter .4s;
}
.admin-bar .aidx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .aidx-header { top: 46px; } }

.aidx-hbar {
  max-width: 1240px; margin: 0 auto; height: var(--aidx-h);
  padding: 0 28px; display: flex; align-items: center; gap: 24px;
  transition: height .4s var(--aidx-ease);
}
.aidx-header.is-scrolled {
  background: rgba(6,12,24,.72);
  -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
.aidx-header.is-scrolled .aidx-hbar { height: var(--aidx-h-sm); }

/* Línea inferior luminosa (aparece al hacer scroll) */
.aidx-hline {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden;
  background: linear-gradient(90deg, transparent, rgba(0,212,200,.25), transparent);
  opacity: 0; transition: opacity .4s;
}
.aidx-hline::after {
  content: ''; position: absolute; inset: 0; width: 40%;
  background: linear-gradient(90deg, transparent, #00d4c8, #1a8cff, transparent);
  animation: aidx-sweep 6s linear infinite;
}
.aidx-header.is-scrolled .aidx-hline { opacity: 1; }

/* ── Marca ── */
.aidx-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--aidx-wh); }
.aidx-logo {
  position: relative; width: 44px; height: 44px; border-radius: 13px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(120% 120% at 30% 0%, rgba(0,212,200,.22), transparent 55%), linear-gradient(160deg, #0f1d35, #060c18);
  border: 1px solid rgba(0,212,200,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 6px 20px rgba(0,0,0,.4), 0 0 22px rgba(0,212,200,.14);
  transition: transform .5s var(--aidx-ease), box-shadow .4s, width .4s var(--aidx-ease), height .4s var(--aidx-ease);
}
.aidx-logo::before {             /* anillo de luz que gira alrededor del logo */
  content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--aidx-ang), transparent 0deg, transparent 250deg, #00d4c8 310deg, #1a8cff 350deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: aidx-spin 4s steps(80) infinite;
}
.aidx-logo img { width: 78%; height: 78%; object-fit: contain; filter: drop-shadow(0 0 6px rgba(0,212,200,.45)); }
.aidx-brand:hover .aidx-logo { transform: rotate(-8deg) scale(1.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 26px rgba(0,0,0,.45), 0 0 30px rgba(0,212,200,.35); }
.aidx-header.is-scrolled .aidx-logo { width: 38px; height: 38px; border-radius: 11px; }
.aidx-wordmark { display: flex; flex-direction: column; line-height: 1; }
.aidx-wm-main { font-size: 1.12rem; font-weight: 900; letter-spacing: -.03em; color: var(--aidx-wh); }
.aidx-wm-main b {
  font-weight: 900; background: linear-gradient(90deg, #00d4c8, #1a8cff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.aidx-wm-sub { margin-top: 5px; font: 600 .56rem 'JetBrains Mono', monospace; letter-spacing: .2em; text-transform: uppercase; color: var(--aidx-mu); transition: opacity .3s, margin .4s; }
.aidx-header.is-scrolled .aidx-wm-sub { opacity: 0; margin-top: -8px; }

/* ── Menú (cápsula de cristal con indicador que se desliza) ── */
.aidx-nav { position: relative; margin: 0 auto; }
.aidx-menu {
  position: relative; display: flex; align-items: center; gap: 2px; padding: 5px;
  border-radius: 999px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.aidx-menu li { position: relative; z-index: 1; }
.aidx-menu a {
  display: block; padding: 9px 18px; border-radius: 999px;
  font-size: .86rem; font-weight: 700; color: #8a9ab8; white-space: nowrap;
  transition: color .3s;
}
.aidx-menu a:hover, .aidx-menu a.active { color: var(--aidx-wh); }
.aidx-menu a.active { text-shadow: 0 0 18px rgba(0,212,200,.45); }
.aidx-nav-pill {
  position: absolute; top: 5px; bottom: 5px; left: 0; width: 0; z-index: 0; border-radius: 999px; pointer-events: none;
  background: linear-gradient(135deg, rgba(26,140,255,.20), rgba(0,212,200,.16));
  border: 1px solid rgba(0,212,200,.35);
  box-shadow: 0 0 22px rgba(0,212,200,.18), inset 0 1px 0 rgba(255,255,255,.08);
  transition: left .45s var(--aidx-ease), width .45s var(--aidx-ease), opacity .3s;
  opacity: 0;
}
.aidx-nav-pill::after {          /* punto de luz bajo el enlace activo */
  content: ''; position: absolute; left: 50%; bottom: -4px; width: 18px; height: 2px; translate: -50% 0; border-radius: 2px;
  background: linear-gradient(90deg, #1a8cff, #00d4c8); box-shadow: 0 0 10px #00d4c8;
}

/* ── Acciones ── */
.aidx-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.aidx-status {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px;
  border: 1px solid rgba(0,212,200,.2); background: rgba(0,212,200,.06);
  font: 600 .6rem 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--aidx-cy);
}
.aidx-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--aidx-cy); animation: aidx-live 2s ease-in-out infinite; }
.aidx-status.is-off { color: var(--aidx-mu); border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
.aidx-fcontact .aidx-open.is-off { color: var(--aidx-mu); }
.aidx-fcontact .aidx-open .aidx-st-txt { display: inline; font: inherit; color: inherit; }
.aidx-status.is-off i, .aidx-fcontact .aidx-open.is-off i { background: var(--aidx-mu); animation: none; box-shadow: none; }
.aidx-lang {
  display: inline-flex; padding: 3px; border-radius: 999px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.aidx-lang a, .aidx-lang span {
  padding: 5px 9px; border-radius: 999px; font: 700 .62rem 'JetBrains Mono', monospace; letter-spacing: .08em; color: var(--aidx-mu); transition: color .25s, background .25s;
}
.aidx-lang a:hover { color: var(--aidx-wh); }
.aidx-lang .is-on { color: #060c18; background: linear-gradient(135deg, #1a8cff, #00d4c8); }
.aidx-lang a { text-decoration: none; }

.aidx-cta {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 9px;
  padding: 12px 22px; border-radius: 12px;
  background: linear-gradient(135deg, #1a8cff, #00d4c8); color: #fff !important;
  font-size: .82rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
  box-shadow: 0 8px 28px rgba(0,180,220,.4), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .35s var(--aidx-ease), translate .35s var(--aidx-ease), box-shadow .3s, filter .25s, padding .4s var(--aidx-ease);
}
.aidx-cta::after {
  content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg);
  animation: aidx-shine 4.5s ease-in-out infinite;
}
.aidx-cta:hover { filter: brightness(1.1); box-shadow: 0 12px 40px rgba(0,180,220,.6), inset 0 1px 0 rgba(255,255,255,.3); }
.aidx-cta svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--aidx-ease); }
.aidx-cta:hover svg { transform: translateX(3px); }
.aidx-header.is-scrolled .aidx-cta { padding: 10px 18px; }

/* ── Botón de menú móvil ── */
.aidx-burger {
  display: none; position: relative; width: 44px; height: 44px; border-radius: 12px; cursor: pointer;
  border: 1px solid rgba(0,212,200,.25); background: rgba(11,21,38,.7);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.aidx-burger span {
  position: absolute; left: 12px; right: 12px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, #1a8cff, #00d4c8);
  transition: transform .4s var(--aidx-ease), top .4s var(--aidx-ease), width .3s;
}
.aidx-burger span:nth-child(1) { top: 16px; }
.aidx-burger span:nth-child(2) { top: 25px; right: 18px; }
.aidx-burger[aria-expanded="true"] span:nth-child(1) { top: 21px; transform: rotate(45deg); }
.aidx-burger[aria-expanded="true"] span:nth-child(2) { top: 21px; right: 12px; transform: rotate(-45deg); }

/* ═══════════════════ MENÚ MÓVIL (pantalla completa) ═══════════════════ */
.aidx-mnav {
  position: fixed; inset: 0; z-index: 8990; display: flex; flex-direction: column;
  padding: calc(var(--aidx-h) + 24px) 28px 32px; overflow-y: auto;
  background: radial-gradient(90% 60% at 100% 0%, rgba(26,140,255,.16), transparent 60%),
              radial-gradient(80% 50% at 0% 100%, rgba(0,212,200,.12), transparent 60%),
              rgba(6,12,24,.94);
  -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%);
  opacity: 0; visibility: hidden; transition: opacity .4s var(--aidx-ease), visibility .4s;
  font-family: 'Manrope', sans-serif;
}
.aidx-mnav.is-open { opacity: 1; visibility: visible; }
.aidx-mnav-list li { border-bottom: 1px solid rgba(255,255,255,.06); opacity: 0; }
.aidx-mnav.is-open .aidx-mnav-list li { animation: aidx-in .6s var(--aidx-ease) both; animation-delay: calc(.08s + var(--i) * .07s); }
.aidx-mnav-list a {
  display: flex; align-items: baseline; gap: 16px; padding: 18px 2px;
  font-size: clamp(1.7rem, 7vw, 2.4rem); font-weight: 900; letter-spacing: -.03em; color: var(--aidx-wh);
}
.aidx-mnav-list a small { font: 600 .7rem 'JetBrains Mono', monospace; letter-spacing: .1em; color: var(--aidx-cy); }
.aidx-mnav-list a.active { background: linear-gradient(90deg, #00d4c8, #1a8cff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.aidx-mnav-foot { margin-top: auto; padding-top: 28px; display: flex; flex-direction: column; gap: 12px; opacity: 0; }
.aidx-mnav.is-open .aidx-mnav-foot { animation: aidx-in .6s var(--aidx-ease) .45s both; }
.aidx-mnav-foot .aidx-cta { justify-content: center; padding: 16px; font-size: .9rem; }
.aidx-mnav-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.aidx-mnav-contact a {
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
  font-size: .82rem; font-weight: 700; color: #c8d4e8;
}
.aidx-mnav-contact svg { width: 17px; height: 17px; }
body.aidx-menu-open { overflow: hidden; }
body.aidx-menu-open #aidchat-wrap { display: none !important; }   /* el chat no tapa el menú */

/* ═══════════════════ PIE DE PÁGINA ═══════════════════ */
.aidx-footer {
  position: relative; overflow: hidden; margin-top: 0; padding: 72px 0 0;
  background: linear-gradient(180deg, #060c18 0%, #050a14 100%);
  border-top: 1px solid rgba(255,255,255,.05);
  font-family: 'Manrope', sans-serif; color: var(--aidx-mu);
}
.aidx-footer::before {            /* línea luminosa superior */
  content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,212,200,.6), rgba(26,140,255,.6), transparent);
}
.aidx-footer::after {             /* halo de fondo */
  content: ''; position: absolute; left: 50%; top: -220px; width: 900px; height: 440px; translate: -50% 0; pointer-events: none;
  background: radial-gradient(ellipse, rgba(0,212,200,.07), transparent 65%);
}
.aidx-fwrap { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.aidx-fgrid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 48px; }
.aidx-fbrand .aidx-brand { margin-bottom: 18px; }
.aidx-fdesc { font-size: .88rem; line-height: 1.75; max-width: 320px; margin: 0 0 22px; }
.aidx-social { display: flex; gap: 10px; }
.aidx-social a {
  width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); color: #b0bdd8;
  transition: transform .35s var(--aidx-ease), border-color .3s, color .3s, box-shadow .3s, background .3s;
}
.aidx-social a:hover { transform: translateY(-3px); color: #fff; border-color: rgba(0,212,200,.45); background: rgba(0,212,200,.08); box-shadow: 0 8px 22px rgba(0,212,200,.18); }
.aidx-social svg { width: 18px; height: 18px; }
.aidx-fcol h4 {
  margin: 4px 0 18px; font: 600 .62rem 'JetBrains Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--aidx-cy);
}
.aidx-fcol h4::before { content: '// '; opacity: .45; }
.aidx-flinks { display: flex; flex-direction: column; gap: 11px; }
.aidx-flinks a { position: relative; display: inline-flex; font-size: .9rem; font-weight: 600; color: #9aa9c4; transition: color .25s, transform .3s var(--aidx-ease); }
.aidx-flinks a::before {
  content: ''; position: absolute; left: -14px; top: 50%; width: 6px; height: 1px; background: var(--aidx-cy);
  opacity: 0; transition: opacity .25s, left .3s var(--aidx-ease);
}
.aidx-flinks a:hover { color: var(--aidx-wh); transform: translateX(4px); }
.aidx-flinks a:hover::before { opacity: 1; left: -10px; }
.aidx-fcontact { display: flex; flex-direction: column; gap: 12px; }
.aidx-fcontact a, .aidx-fcontact span { display: flex; align-items: center; gap: 11px; font-size: .88rem; font-weight: 600; color: #b0bdd8; transition: color .25s; }
.aidx-fcontact a:hover { color: var(--aidx-wh); }
.aidx-fcontact svg {
  width: 34px; height: 34px; padding: 8px; border-radius: 10px; flex-shrink: 0;
  border: 1px solid rgba(0,212,200,.2); background: rgba(0,212,200,.06);
  fill: none; stroke: url(#aidx-g); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.aidx-fcontact .aidx-wa svg { fill: #25D366; stroke: none; }
.aidx-fcontact .aidx-open { color: var(--aidx-cy); font: 600 .62rem 'JetBrains Mono', monospace; letter-spacing: .1em; }
.aidx-fcontact .aidx-open i { width: 7px; height: 7px; border-radius: 50%; background: var(--aidx-cy); animation: aidx-live 2s infinite; }

.aidx-fbottom {
  margin-top: 56px; padding: 22px 0 26px; border-top: 1px solid rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: .78rem;
}
.aidx-flegal, .aidx-flegal ul { display: flex; gap: 22px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.aidx-flegal a { color: var(--aidx-mu); transition: color .25s; }
.aidx-flegal a:hover { color: var(--aidx-wh); }
.aidx-made { font: 600 .6rem 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: rgba(106,125,158,.8); }
.aidx-made b { color: var(--aidx-cy); font-weight: 600; }

/* Rendimiento: bloques fuera de pantalla con sus animaciones en pausa (lo gestiona aid-premium.js) */
.aidp-off:not(#aidp-a):not(#aidp-b),
.aidp-off:not(#aidp-a):not(#aidp-b)::before,
.aidp-off:not(#aidp-a):not(#aidp-b)::after,
.aidp-off *:not(#aidp-a):not(#aidp-b),
.aidp-off *:not(#aidp-a):not(#aidp-b)::before,
.aidp-off *:not(#aidp-a):not(#aidp-b)::after { animation-play-state: paused !important; }

/* ═══════════════════ RESPONSIVE ═══════════════════ */
@media (max-width: 1180px) { .aidx-status { display: none; } }
@media (max-width: 980px) {
  .aidx-nav, .aidx-actions .aidx-cta { display: none; }
  .aidx-actions { gap: 10px; }
  .aidx-burger { display: block; }
  .aidx-actions { margin-left: auto; }
  .aidx-fgrid { grid-template-columns: 1fr 1fr; gap: 40px 28px; }
  .aidx-fbrand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  :root { --aidx-h: 70px; --aidx-h-sm: 62px; }
  .aidx-hbar { padding: 0 16px; }
  .aidx-wm-main { font-size: 1rem; }
  .aidx-lang a, .aidx-lang span { padding: 5px 7px; font-size: .58rem; }
  .aidx-wm-sub { display: none; }
  .aidx-fwrap { padding: 0 20px; }
  .aidx-fgrid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .aidx-fgrid > .aidx-fcol:last-child { grid-column: 1 / -1; }
  .aidx-flinks a { font-size: .86rem; }
  .aidx-fbottom { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 981px) { .aidx-mnav { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .aidx-header *, .aidx-mnav *, .aidx-footer * { animation: none !important; transition-duration: .01ms !important; }
}

/* ================================================================
   Logo animado «Nodo» (v4.10) — cabecera, pie, chat de ejemplo y botón del agente
   A maciza sin travesaño + nodo turquesa (SVG de aid_animated_mark(), functions.php §20).
   · Cada 5 s un brillo turquesa cruza la A y, al pasar por el centro, el nodo late con un halo.
   · Al pasar el ratón por el logo, el ciclo va más rápido.
   · Entrada (solo la primera página de cada visita; clase .aid-intro en <html>):
     la A sube, el nodo cae en su sitio y el nombre aparece de izquierda a derecha
     (estilos en functions.php §20b, dentro de la página).
   · Con «reducir movimiento» activado en el sistema, todo queda quieto.
================================================================ */
.aidx-logo.aidx-logo--anim { width: 40px; height: 44px; border-radius: 0; background: none; border: 0; box-shadow: none; }
.aidx-logo.aidx-logo--anim::before { content: none; }
.aidx-logo--anim .aid-mark { display: block; width: 100%; height: 100%; overflow: visible; }
.aidx-brand:hover .aidx-logo.aidx-logo--anim { transform: translateY(-1px) scale(1.06); box-shadow: none; }
.aidx-header.is-scrolled .aidx-logo.aidx-logo--anim { width: 35px; height: 38px; }
.aidx-brand:focus-visible { outline: 2px solid #00d4c8; outline-offset: 6px; border-radius: 10px; }

/* Nombre: «IA» en turquesa liso, como en los archivos del logo */
.aidx-wm-main b { background: none; -webkit-text-fill-color: currentColor; color: var(--aidx-cy); }

/* Símbolo */
.aid-mark { --aid-ink: #f0f4ff; --aid-accent: #00d4c8; --aid-glow: #7ffbf4; overflow: visible; }
.aid-mark .aid-a { fill: var(--aid-ink); }
.aid-mark .aid-shine { transform: translateX(0); animation: aid-shine 5s cubic-bezier(.45,0,.25,1) infinite; }
.aid-mark .aid-node {
  fill: var(--aid-accent); transform-box: fill-box; transform-origin: center;
  filter: drop-shadow(0 0 3px rgba(0,212,200,.65));
  animation: aid-node 5s ease-in-out infinite;
}
.aid-mark .aid-halo {
  fill: var(--aid-glow); transform-box: fill-box; transform-origin: center; opacity: 0;
  animation: aid-halo 5s ease-out infinite;
}
@keyframes aid-shine { 0% { transform: translateX(0) } 26%, 100% { transform: translateX(135px) } }
@keyframes aid-node  { 0%, 9% { transform: scale(1) } 14% { transform: scale(1.35) } 21%, 100% { transform: scale(1) } }
@keyframes aid-halo  { 0%, 12% { opacity: 0; transform: scale(1) } 13% { opacity: .7; transform: scale(1) } 40%, 100% { opacity: 0; transform: scale(3) } }
.aidx-brand:hover .aid-mark .aid-shine,
.aidx-brand:hover .aid-mark .aid-node,
.aidx-brand:hover .aid-mark .aid-halo { animation-duration: 2s; }

/* Estado «pensando» (chat de la portada mientras el asistente escribe) */
.aid-mark.is-thinking .aid-shine { animation: aid-shine-loop 1.2s linear infinite; }
.aid-mark.is-thinking .aid-node  { animation: aid-beat 1.2s ease-in-out infinite; }
.aid-mark.is-thinking .aid-halo  { animation: aid-halo-fast 1.2s ease-out infinite; }
@keyframes aid-shine-loop { from { transform: translateX(0) } to { transform: translateX(135px) } }
@keyframes aid-beat       { 0%, 100% { transform: scale(1) } 50% { transform: scale(1.3) } }
@keyframes aid-halo-fast  { 0% { opacity: .6; transform: scale(1) } 70%, 100% { opacity: 0; transform: scale(2.6) } }

/* Entrada de la cabecera (primera página de la visita): v4.14 — sus estilos van dentro de la página,
   al principio de <head> (functions.php §20b, aid_logo_critical_css), para no esperar a este archivo. */

@media (prefers-reduced-motion: reduce) { .aid-mark, .aid-mark * { animation: none !important; } }

/* v4.11 — Disponibilidad: más legible y, fuera de horario, «IA activa 24/7» encendido (aid-premium.js §6) */
.aidx-status { font-size: .66rem; }
.aidx-fcontact .aidx-open { font-size: .68rem; }
