/* La animación solo afecta a la navegación de la página de centros de datos. */
.elg-dc .dc-jump {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom-color: #edac15;
  background: linear-gradient(105deg, #ffe65a 0%, #ffd200 22%, #ff921f 48%, #ffb51b 64%, #ffe65a 85%, #ffd200 100%);
  background-size: 280% 100%;
  animation: elg-energy-flow 9s ease-in-out infinite;
  box-shadow: inset 0 1px 0 #fff6, inset 0 -1px 0 #c7771830;
}
.elg-dc .dc-jump::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 32%, #fff5 45%, #fff9 49%, #fff2 54%, transparent 65%);
  transform: translateX(-110%);
  animation: elg-energy-sweep 5.8s ease-in-out infinite;
}
.elg-dc .dc-jump::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #fff5 30%, #fffbd8, #fff5 70%, transparent);
  pointer-events: none;
  opacity: .8;
}
.elg-dc .dc-jump a { perspective: 650px; color: #071923; }
.elg-dc .dc-jump .dc-flip-label {
  display: inline-block;
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  animation: elg-label-flip-y 16s cubic-bezier(.45,0,.2,1) infinite both;
  animation-delay: var(--elg-flip-delay, 0s);
}
.elg-dc .dc-jump a:hover .dc-flip-label,
.elg-dc .dc-jump a:focus-visible .dc-flip-label { animation: none; transform: none; }
.elg-dc .dc-jump.is-energy-paused,
.elg-dc .dc-jump.is-energy-paused::before,
.elg-dc .dc-jump.is-energy-paused .dc-flip-label { animation-play-state: paused; }
@keyframes elg-energy-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes elg-energy-sweep {
  0%, 12% { transform: translateX(-110%); opacity: 0; }
  25% { opacity: .8; }
  80%, 100% { transform: translateX(110%); opacity: 0; }
}
@keyframes elg-label-flip-y {
  0%, 2% { transform: rotateY(0deg) scale(1); }
  4%, 5% { transform: rotateY(0deg) scale(1.22); }
  11% { transform: rotateY(360deg) scale(1.22); }
  13%, 100% { transform: rotateY(360deg) scale(1); }
}

/* Privacidad: por encima del lanzador de RJUNIOR y con tirador propio. */
:root { --elgcm-safe-bottom: 110px; --elgcm-dock-left: 18px; }
body #elgcm-settings { bottom: var(--elgcm-safe-bottom) !important; }
body #elgcm-dock {
  position: fixed;
  left: var(--elgcm-dock-left);
  right: auto;
  bottom: var(--elgcm-safe-bottom);
  display: inline-flex;
  align-items: stretch;
  width: max-content;
  max-width: calc(100vw - 24px);
  margin: 0;
  padding: 0;
  border: 1px solid #42829b;
  border-radius: 17px;
  background: linear-gradient(135deg, #133348, #081a28 85%);
  box-shadow: 0 8px 28px #03152638, inset 0 1px 0 #80e5ff1a;
  z-index: 2147482002;
  transition: transform .35s cubic-bezier(.22,.8,.25,1);
}
body #elgcm-dock #elgcm-settings {
  position: relative !important;
  inset: auto !important;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 16px 0 0 16px;
  box-shadow: none;
  background: transparent;
  transform: none !important;
}
body #elgcm-dock #elgcm-fold-button {
  display: flex;
  flex: 0 0 32px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 32px;
  min-width: 32px;
  margin: 0;
  padding: 6px 4px;
  border: 0;
  border-left: 1px solid #6db6ce33;
  border-radius: 0 16px 16px 0;
  background: #102c3f;
  color: #ffda00;
  cursor: pointer;
  touch-action: manipulation;
}
body #elgcm-fold-button:hover { background: #1b455e; }
body #elgcm-fold-button:focus-visible { outline: 3px solid #ffda00; outline-offset: 3px; }
body #elgcm-fold-button svg { width: 15px; height: 15px; display: block; pointer-events: none; }
body #elgcm-fold-button .elgcm-fold-shield { width: 13px; height: 13px; color: #86d9ec; }
body #elgcm-dock.is-folded {
  transform: translateX(calc(-100% + 32px - var(--elgcm-dock-left)));
}
body #elgcm-dock.is-folded #elgcm-settings { visibility: hidden; pointer-events: none; }
body #elgcm-dock.is-folded .elgcm-fold-chevron { transform: rotate(180deg); }
body #elgcm-dock.is-dialog-open { visibility: hidden; pointer-events: none; }
body #elgcm-banner {
  bottom: var(--elgcm-safe-bottom) !important;
  z-index: 2147482010 !important;
  max-height: calc(100vh - var(--elgcm-safe-bottom) - 18px) !important;
  max-height: calc(100dvh - var(--elgcm-safe-bottom) - 18px) !important;
}

/* Marca WhatsApp reconocible: color camaleón verde / azul. */
body #elgatec-wa-container #wa-link.wa-elite-btn {
  background-image: linear-gradient(145deg, #ffffff24, #ffffff00 58%) !important;
  background-color: #13a85b;
  background-size: 100% 100% !important;
  animation: elg-wa-chameleon 8s ease-in-out infinite !important;
  box-shadow: 0 4px 16px #082c3b40, inset 0 1px 0 #ffffff35;
}
body #elgatec-wa-container #wa-link .wa-elite-icon {
  display: grid;
  place-items: center;
  flex: 0 0 26px;
  width: 26px;
  min-width: 26px;
  height: 26px;
  font-size: 0;
  color: #fff;
}
body #wa-link .wa-elite-icon svg { display: block; width: 26px; height: 26px; fill: currentColor; }
@keyframes elg-wa-chameleon {
  0%, 18%, 100% { background-color: #13a85b; }
  48%, 65% { background-color: #1769df; }
}
@media (max-width: 720px) {
  :root { --elgcm-safe-bottom: calc(250px + env(safe-area-inset-bottom, 0px)); --elgcm-dock-left: 12px; }
  body #elgcm-dock { border-radius: 14px; }
  body #elgcm-dock #elgcm-settings { border-radius: 13px 0 0 13px; }
  body #elgcm-dock #elgcm-fold-button { border-radius: 0 13px 13px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .elg-dc .dc-jump, .elg-dc .dc-jump::before, .elg-dc .dc-jump .dc-flip-label { animation: none !important; }
  .elg-dc .dc-jump .dc-flip-label { transform: none; }
  body #elgatec-wa-container #wa-link.wa-elite-btn { animation: none !important; background-color: #13a85b; }
  body #elgcm-dock { transition: none; }
}

/* Hide all cookie controls until the preload element has been removed. */
body > [data-preloader] ~ #elgcm-settings,
body > [data-preloader] ~ #elgcm-dock,
body > [data-preloader] ~ #elgcm-banner {
  display: none !important;
}

/* Keep RJUNIOR hidden until the page preload has fully finished. */
body > [data-preloader] ~ rjunior-customer-assistant {
  display: none !important;
}

/* Localidades: acceso de privacidad plegado contra el lateral. */
body:has(#eg-recarga-provincia[data-localidad]) #elgcm-dock.is-folded{left:0!important;right:auto!important;transform:translateX(calc(-100% + 32px))!important}
