/**
 * Animación de Soldadura para Modal reCAPTCHA - MDM Salud
 * Basado en soldadura con partículas y efectos realistas
 */

:root {
  /* Variables de la animación de soldadura */
  --loader-size: 280px;                /* Tamaño más compacto para el modal */
  --weld-radius: 120;                  /* Radio del aro en SVG units */
  --weld-perimeter: 754;               /* ≈ 2πr (120) => 753.98... */
  --weld-duration: 6s;                /* Duración sincronizada con el loader - 6 segundos exactos */
  --weld-hot: #ffc107;                 /* Color incandescente principal */
  --weld-hot2: #ff8a00;               /* Transición a naranja */
  --weld-bg: rgba(30, 60, 114, 0.95); /* Fondo del modal con transparencia */
  
  /* Variables para el SVG y alineación - coordenadas dinámicas */
  --svg-center: 140;                   /* Centro del SVG (280/2) */
  --svg-viewbox: 280;                  /* Tamaño del viewBox */
  
  /* Coordenadas calculadas para el path del soldador */
  --path-center-x: 140;               /* Centro X del círculo */
  --path-center-y: 140;               /* Centro Y del círculo */
  --path-radius: 120;                 /* Radio del círculo de soldadura */
  --path-top-y: 20;                   /* Y superior del círculo (center-y - radius) */
  
  /* Variables para partículas */
  --spark-count-inner: 20;            /* Reducido para mejor rendimiento */
  --spark-count-outer: 12;            /* Reducido para mejor rendimiento */
  
  /* Variable para el radio orbital del punto de soldadura */
  --orbital-radius: 120px;            /* Radio exacto para mantener el punto dentro del círculo */
}

/* ====== CONTENEDOR DEL LOADER DE SOLDADURA ====== */
.welding-loader {
  position: relative;
  width: var(--loader-size);
  height: var(--loader-size);
  margin: 0 auto;
  /* Optimización para dispositivos móviles */
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0); /* Forzar aceleración de hardware */
}

/* ====== LOGO CON EFECTO DE "LATIDO" ====== */
.welding-loader-logo {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 3;
  filter: drop-shadow(0 0 15px rgba(255, 193, 7, 0.3));
  animation: welding-heartbeat 1.5s ease-in-out 4;
  animation-fill-mode: forwards;
}

.welding-loader-logo img {
  width: 180px;   /* Tamaño ajustado para el modal */
  height: auto;
  object-fit: contain;
}

@keyframes welding-heartbeat {
  0%, 100% { transform: scale(1); }
  25%      { transform: scale(1.08); }
  50%      { transform: scale(0.96); }
  75%      { transform: scale(1.04); }
}

/* ====== ARO SVG DE SOLDADURA ====== */
.welding-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  z-index: 1;
}

.welding-track {
  fill: none;
  stroke: #2c2d31;
  stroke-width: 6;
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.4));
}

.welding-glow {
  fill: none;
  stroke: url(#weldingGradWarm);
  stroke-width: 12;
  stroke-linecap: round;
  stroke-dasharray: var(--weld-perimeter);
  stroke-dashoffset: var(--weld-perimeter);
  filter: blur(1px);
  animation: welding-draw var(--weld-duration) linear 1;
  animation-fill-mode: forwards;
}

.welding-path {
  fill: none;
  stroke: url(#weldingGradHot);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: var(--weld-perimeter);
  stroke-dashoffset: var(--weld-perimeter);
  filter: drop-shadow(0 0 8px var(--weld-hot));
  animation: welding-draw var(--weld-duration) linear 1;
  animation-fill-mode: forwards;
}

.welding-bead {
  fill: none;
  stroke: rgba(255, 255, 255, 0.4);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 8 12;              /* Patrón de cordón de soldadura */
  stroke-dashoffset: var(--weld-perimeter);
  animation: welding-draw var(--weld-duration) linear 1;
  animation-fill-mode: forwards;
  mix-blend-mode: screen;
}

@keyframes welding-draw {
  from { stroke-dashoffset: var(--weld-perimeter); }
  to   { stroke-dashoffset: 0; }
}

/* ====== SOLDADOR (EMISOR) ====== */
.welding-emitter {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  z-index: 4;
  /* Usar transformación circular en lugar de offset-path para mejor compatibilidad */
  transform-origin: 0 0;
  animation: welding-orbit var(--weld-duration) linear 1;
  animation-fill-mode: forwards;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

@keyframes welding-orbit {
  from {
    transform: translate(-50%, -50%) rotate(-90deg) translateX(var(--orbital-radius)) rotate(90deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(270deg) translateX(var(--orbital-radius)) rotate(-270deg);
  }
}

/* Fallback para navegadores que no soporten offset-path */
@supports not (offset-path: path("M 0 0")) {
  .welding-emitter {
    /* Fallback usando transform rotateZ y translate */
    top: var(--path-top-y, 20px);
    left: calc(50% - 5px);
    animation: welding-rotate-fallback var(--weld-duration) linear infinite;
  }
  
  @keyframes welding-rotate-fallback {
    from { 
      transform: rotate(0deg) translateX(120px) rotate(0deg);
    }
    to { 
      transform: rotate(360deg) translateX(120px) rotate(-360deg);
    }
  }
}

@keyframes welding-move {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

.welding-tip {
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translate(-5px, -5px);
  background: radial-gradient(circle at 45% 45%, #fff 0 45%, var(--weld-hot) 55% 100%);
  box-shadow:
    0 0 10px 3px rgba(255, 193, 7, 0.6),
    0 0 18px 8px rgba(255, 138, 0, 0.3);
}

.welding-wire {
  position: absolute;
  left: 0;
  top: 0;
  height: 2.5px;
  width: 16px;
  border-radius: 2px;
  transform: translate(5px, -1.25px);
  background: linear-gradient(90deg, #fff, var(--weld-hot));
  box-shadow: 0 0 5px rgba(255, 193, 7, 0.7);
}

.welding-flare {
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  transform: translate(-11px, -11px);
  background: radial-gradient(
    closest-side,
    rgba(255, 255, 255, 0.95),
    rgba(255, 245, 200, 0.7) 45%,
    rgba(255, 170, 0, 0.35) 65%,
    transparent 70%
  );
  mix-blend-mode: screen;
  filter: blur(0.5px) brightness(1.1);
  animation: welding-flick 0.12s linear infinite;
}

@keyframes welding-flick {
  0%, 100% { transform: translate(-11px, -11px) scale(1); }
  50%      { transform: translate(-11px, -12px) scale(0.85); }
}

/* ====== CHISPAS INTERNAS ====== */
.welding-sparks-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  z-index: 5;
  /* Usar transformación circular sincronizada con el soldador */
  transform-origin: 0 0;
  animation: welding-orbit var(--weld-duration) linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.welding-spark-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  animation: welding-fall-inner var(--dur-spark-inner) cubic-bezier(0.18, 0.7, 0.25, 1) infinite;
  animation-delay: var(--delay-spark-inner);
}

@keyframes welding-fall-inner {
  0%   { transform: translateY(0); }
  100% { transform: translateY(var(--fall-spark-inner)); }
}

.welding-spark-inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0% 40%, var(--weld-hot) 45% 100%);
  box-shadow:
    0 0 8px 2px rgba(255, 193, 7, 0.6),
    0 0 14px 6px rgba(255, 171, 0, 0.3);
  transform: rotate(var(--angle-spark-inner)) translateX(0);
  transform-origin: 0 0;
  animation: welding-eject-inner var(--dur-spark-inner) ease-out infinite;
  animation-delay: var(--delay-spark-inner);
  opacity: 1;
}

@keyframes welding-eject-inner {
  0%   { transform: rotate(var(--angle-spark-inner)) translateX(0) scale(1); opacity: 1; }
  45%  { transform: rotate(var(--angle-spark-inner)) translateX(calc(var(--dist-spark-inner) * 0.7)) scale(0.95); opacity: 0.95; }
  100% { transform: rotate(var(--angle-spark-inner)) translateX(var(--dist-spark-inner)) scale(0.8); opacity: 0; }
}

/* Variables específicas para cada chispa interna (20 chispas) */
.welding-spark-inner:nth-child(1)  { --angle-spark-inner: 15deg;  --dist-spark-inner: 80px;  --fall-spark-inner: 120px; --dur-spark-inner: 1.2s; --delay-spark-inner: -0.1s; }
.welding-spark-inner:nth-child(2)  { --angle-spark-inner: 35deg;  --dist-spark-inner: 75px;  --fall-spark-inner: 130px; --dur-spark-inner: 1.3s; --delay-spark-inner: -0.25s; }
.welding-spark-inner:nth-child(3)  { --angle-spark-inner: -10deg; --dist-spark-inner: 85px;  --fall-spark-inner: 125px; --dur-spark-inner: 1.25s; --delay-spark-inner: -0.4s; }
.welding-spark-inner:nth-child(4)  { --angle-spark-inner: 50deg;  --dist-spark-inner: 70px;  --fall-spark-inner: 135px; --dur-spark-inner: 1.35s; --delay-spark-inner: -0.55s; }
.welding-spark-inner:nth-child(5)  { --angle-spark-inner: -25deg; --dist-spark-inner: 82px;  --fall-spark-inner: 122px; --dur-spark-inner: 1.22s; --delay-spark-inner: -0.7s; }
.welding-spark-inner:nth-child(6)  { --angle-spark-inner: 20deg;  --dist-spark-inner: 78px;  --fall-spark-inner: 128px; --dur-spark-inner: 1.28s; --delay-spark-inner: -0.85s; }
.welding-spark-inner:nth-child(7)  { --angle-spark-inner: 0deg;   --dist-spark-inner: 88px;  --fall-spark-inner: 140px; --dur-spark-inner: 1.4s; --delay-spark-inner: -1.0s; }
.welding-spark-inner:nth-child(8)  { --angle-spark-inner: 40deg;  --dist-spark-inner: 72px;  --fall-spark-inner: 132px; --dur-spark-inner: 1.32s; --delay-spark-inner: -1.15s; }
.welding-spark-inner:nth-child(9)  { --angle-spark-inner: -15deg; --dist-spark-inner: 86px;  --fall-spark-inner: 138px; --dur-spark-inner: 1.38s; --delay-spark-inner: -1.3s; }
.welding-spark-inner:nth-child(10) { --angle-spark-inner: 60deg;  --dist-spark-inner: 68px;  --fall-spark-inner: 145px; --dur-spark-inner: 1.45s; --delay-spark-inner: -1.45s; }
.welding-spark-inner:nth-child(11) { --angle-spark-inner: -5deg;  --dist-spark-inner: 84px;  --fall-spark-inner: 118px; --dur-spark-inner: 1.18s; --delay-spark-inner: -1.6s; }
.welding-spark-inner:nth-child(12) { --angle-spark-inner: 25deg;  --dist-spark-inner: 76px;  --fall-spark-inner: 134px; --dur-spark-inner: 1.34s; --delay-spark-inner: -1.75s; }
.welding-spark-inner:nth-child(13) { --angle-spark-inner: -20deg; --dist-spark-inner: 90px;  --fall-spark-inner: 142px; --dur-spark-inner: 1.42s; --delay-spark-inner: -1.9s; }
.welding-spark-inner:nth-child(14) { --angle-spark-inner: 45deg;  --dist-spark-inner: 74px;  --fall-spark-inner: 126px; --dur-spark-inner: 1.26s; --delay-spark-inner: -2.05s; }
.welding-spark-inner:nth-child(15) { --angle-spark-inner: 30deg;  --dist-spark-inner: 80px;  --fall-spark-inner: 136px; --dur-spark-inner: 1.36s; --delay-spark-inner: -2.2s; }
.welding-spark-inner:nth-child(16) { --angle-spark-inner: -30deg; --dist-spark-inner: 83px;  --fall-spark-inner: 124px; --dur-spark-inner: 1.24s; --delay-spark-inner: -2.35s; }
.welding-spark-inner:nth-child(17) { --angle-spark-inner: 55deg;  --dist-spark-inner: 71px;  --fall-spark-inner: 139px; --dur-spark-inner: 1.39s; --delay-spark-inner: -2.5s; }
.welding-spark-inner:nth-child(18) { --angle-spark-inner: -35deg; --dist-spark-inner: 87px;  --fall-spark-inner: 121px; --dur-spark-inner: 1.21s; --delay-spark-inner: -2.65s; }
.welding-spark-inner:nth-child(19) { --angle-spark-inner: 8deg;   --dist-spark-inner: 89px;  --fall-spark-inner: 143px; --dur-spark-inner: 1.43s; --delay-spark-inner: -2.8s; }
.welding-spark-inner:nth-child(20) { --angle-spark-inner: 48deg;  --dist-spark-inner: 73px;  --fall-spark-inner: 131px; --dur-spark-inner: 1.31s; --delay-spark-inner: -2.95s; }

/* ====== CHISPAS EXTERIORES ====== */
.welding-sparks-outer {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  z-index: 2; /* Detrás del logo para dar profundidad */
  /* Usar transformación circular sincronizada con el soldador */
  transform-origin: 0 0;
  animation: welding-orbit var(--weld-duration) linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.welding-spark-outer {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  animation: welding-fall-outer var(--dur-spark-outer) cubic-bezier(0.18, 0.7, 0.25, 1) infinite;
  animation-delay: var(--delay-spark-outer);
}

@keyframes welding-fall-outer {
  0%   { transform: translateY(0); }
  100% { transform: translateY(var(--fall-spark-outer)); }
}

.welding-spark-outer::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0% 40%, var(--weld-hot) 45% 100%);
  box-shadow:
    0 0 10px 3px rgba(255, 193, 7, 0.5),
    0 0 16px 7px rgba(255, 171, 0, 0.25);
  transform: rotate(var(--angle-spark-outer)) translateX(0);
  transform-origin: 0 0;
  animation: welding-eject-outer var(--dur-spark-outer) ease-out infinite;
  animation-delay: var(--delay-spark-outer);
  opacity: 1;
}

@keyframes welding-eject-outer {
  0%   { transform: rotate(var(--angle-spark-outer)) translateX(0) scale(1); opacity: 1; }
  45%  { transform: rotate(var(--angle-spark-outer)) translateX(calc(var(--dist-spark-outer) * 0.7)) scale(0.95); opacity: 0.95; }
  100% { transform: rotate(var(--angle-spark-outer)) translateX(var(--dist-spark-outer)) scale(0.85); opacity: 0; }
}

/* Variables específicas para cada chispa exterior (12 chispas) */
.welding-spark-outer:nth-child(1)  { --angle-spark-outer: 0deg;   --dist-spark-outer: 140px; --fall-spark-outer: 180px; --dur-spark-outer: 1.8s; --delay-spark-outer: -0.2s; }
.welding-spark-outer:nth-child(2)  { --angle-spark-outer: 30deg;  --dist-spark-outer: 150px; --fall-spark-outer: 190px; --dur-spark-outer: 1.9s; --delay-spark-outer: -0.4s; }
.welding-spark-outer:nth-child(3)  { --angle-spark-outer: 60deg;  --dist-spark-outer: 145px; --fall-spark-outer: 185px; --dur-spark-outer: 1.85s; --delay-spark-outer: -0.6s; }
.welding-spark-outer:nth-child(4)  { --angle-spark-outer: 90deg;  --dist-spark-outer: 155px; --fall-spark-outer: 195px; --dur-spark-outer: 1.95s; --delay-spark-outer: -0.8s; }
.welding-spark-outer:nth-child(5)  { --angle-spark-outer: 120deg; --dist-spark-outer: 142px; --fall-spark-outer: 182px; --dur-spark-outer: 1.82s; --delay-spark-outer: -1.0s; }
.welding-spark-outer:nth-child(6)  { --angle-spark-outer: 150deg; --dist-spark-outer: 148px; --fall-spark-outer: 188px; --dur-spark-outer: 1.88s; --delay-spark-outer: -1.2s; }
.welding-spark-outer:nth-child(7)  { --angle-spark-outer: 180deg; --dist-spark-outer: 152px; --fall-spark-outer: 192px; --dur-spark-outer: 1.92s; --delay-spark-outer: -1.4s; }
.welding-spark-outer:nth-child(8)  { --angle-spark-outer: 210deg; --dist-spark-outer: 146px; --fall-spark-outer: 186px; --dur-spark-outer: 1.86s; --delay-spark-outer: -1.6s; }
.welding-spark-outer:nth-child(9)  { --angle-spark-outer: 240deg; --dist-spark-outer: 144px; --fall-spark-outer: 184px; --dur-spark-outer: 1.84s; --delay-spark-outer: -1.8s; }
.welding-spark-outer:nth-child(10) { --angle-spark-outer: 270deg; --dist-spark-outer: 154px; --fall-spark-outer: 194px; --dur-spark-outer: 1.94s; --delay-spark-outer: -2.0s; }
.welding-spark-outer:nth-child(11) { --angle-spark-outer: 300deg; --dist-spark-outer: 141px; --fall-spark-outer: 181px; --dur-spark-outer: 1.81s; --delay-spark-outer: -2.2s; }
.welding-spark-outer:nth-child(12) { --angle-spark-outer: 330deg; --dist-spark-outer: 149px; --fall-spark-outer: 189px; --dur-spark-outer: 1.89s; --delay-spark-outer: -2.4s; }

/* ====== GRADIENTES SVG ====== */
.welding-gradients {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* ====== OPTIMIZACIONES DE RENDIMIENTO ====== */
.welding-loader {
  /* Usar GPU para animaciones suaves */
  transform: translateZ(0);
  will-change: transform;
}

.welding-loader * {
  /* Optimizar animaciones para GPU */
  will-change: transform, opacity;
}

/* ====== ACCESIBILIDAD Y RENDIMIENTO ====== */
@media (prefers-reduced-motion: reduce) {
  .welding-loader-logo,
  .welding-glow,
  .welding-path,
  .welding-bead,
  .welding-emitter,
  .welding-sparks-inner,
  .welding-spark-inner,
  .welding-sparks-outer,
  .welding-spark-outer,
  .welding-flare {
    animation: none !important;
  }
  
  /* Mostrar estado estático accesible */
  .welding-glow,
  .welding-path {
    stroke-dashoffset: 0;
  }
}

/* Alta densidad de píxeles (Retina, etc.) - solo efectos de partículas */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .welding-tip {
    box-shadow:
      0 0 8px 2px rgba(255, 193, 7, 0.7),
      0 0 16px 6px rgba(255, 138, 0, 0.4);
  }
}

/* Pantallas de baja densidad - solo efectos de partículas */
@media (-webkit-max-device-pixel-ratio: 1), (max-resolution: 96dpi) {
  .welding-tip {
    box-shadow:
      0 0 6px 1px rgba(255, 193, 7, 0.5),
      0 0 12px 4px rgba(255, 138, 0, 0.25);
  }
}

/* ====== TEXTO DE CARGA MEJORADO ====== */
.welding-text {
  text-align: center;
  margin-top: 20px;
  color: #ffffff;
}

.welding-text h2 {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.welding-text p {
  font-size: 14px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.4;
}

/* ====== RESPONSIVE MEJORADO PARA MÓVILES ====== */
@media (max-width: 768px) {
  :root {
    --loader-size: 240px;
    --weld-duration: 6s;
    --weld-radius: 100;
    --path-radius: 90;
    --orbital-radius: 100px;
  }
  
  .welding-loader-logo img {
    width: 140px;
  }
  
  .welding-text h2 {
    font-size: 20px;
  }
  
  .welding-text p {
    font-size: 12px;
  }
  
  /* Efectos más sutiles en tablets */
  .welding-tip {
    box-shadow:
      0 0 8px 2px rgba(255, 193, 7, 0.5),
      0 0 15px 6px rgba(255, 138, 0, 0.25);
  }
  
  .welding-flare {
    width: 18px;
    height: 18px;
    transform: translate(-9px, -9px);
  }
}

@media (max-width: 640px) {
  :root {
    --loader-size: 220px;
    --weld-radius: 90;
    --path-radius: 90;
    --orbital-radius: 90px;
  }
  
  .welding-loader-logo img {
    width: 130px;
  }
  
  .welding-text h2 {
    font-size: 19px;
  }
  
  .welding-text p {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  :root {
    --loader-size: 200px;
    --weld-duration: 6s;
    --weld-radius: 80;
    --path-radius: 80;
    --orbital-radius: 80px;
  }
  
  .welding-loader-logo img {
    width: 120px;
  }
  
  .welding-text h2 {
    font-size: 18px;
  }
  
  /* Efectos más sutiles en móviles */
  .welding-tip {
    width: 8px;
    height: 8px;
    transform: translate(-4px, -4px);
    box-shadow:
      0 0 6px 1px rgba(255, 193, 7, 0.4),
      0 0 12px 4px rgba(255, 138, 0, 0.2);
  }
  
  .welding-wire {
    height: 2px;
    width: 14px;
    transform: translate(4px, -1px);
  }
  
  .welding-flare {
    width: 16px;
    height: 16px;
    transform: translate(-8px, -8px);
  }
  
  /* Reducir grosor de trazos SVG */
  .welding-track {
    stroke-width: 5;
  }
  
  .welding-glow {
    stroke-width: 10;
  }
  
  .welding-path {
    stroke-width: 4;
  }
}

@media (max-width: 360px) {
  :root {
    --loader-size: 180px;
    --weld-radius: 70;
    --path-radius: 70;
    --orbital-radius: 70px;
  }
  
  .welding-loader-logo img {
    width: 100px;
  }
  
  .welding-text h2 {
    font-size: 16px;
  }
  
  .welding-text p {
    font-size: 11px;
  }
  
  /* Efectos mínimos para dispositivos muy pequeños */
  .welding-tip {
    width: 6px;
    height: 6px;
    transform: translate(-3px, -3px);
    box-shadow:
      0 0 4px 1px rgba(255, 193, 7, 0.3),
      0 0 8px 2px rgba(255, 138, 0, 0.15);
  }
  
  .welding-wire {
    height: 1.5px;
    width: 12px;
    transform: translate(3px, -0.75px);
  }
  
  .welding-flare {
    width: 14px;
    height: 14px;
    transform: translate(-7px, -7px);
  }
  
  .welding-track {
    stroke-width: 4;
  }
  
  .welding-glow {
    stroke-width: 8;
  }
  
  .welding-path {
    stroke-width: 3;
  }
}

@media (max-width: 320px) {
  :root {
    --loader-size: 160px;
    --weld-duration: 6s;
    --weld-radius: 60;
    --path-radius: 60;
    --orbital-radius: 60px;
    --spark-count-inner: 12; /* Menos partículas */
    --spark-count-outer: 8;
  }
  
  .welding-loader-logo img {
    width: 85px;
  }
  
  .welding-text h2 {
    font-size: 15px;
  }
  
  .welding-text p {
    font-size: 10px;
  }
}

/* Orientación landscape en móviles */
@media (max-height: 480px) and (orientation: landscape) {
  :root {
    --loader-size: 160px;
  }
  
  .welding-loader {
    margin: 5px auto;
  }
  
  .welding-loader-logo img {
    width: 90px;
  }
  
  .welding-text {
    margin-top: 15px;
  }
  
  .welding-text h2 {
    font-size: 16px;
    margin-bottom: 5px;
  }
  
  .welding-text p {
    font-size: 11px;
  }
}

/* ====== MEDIA QUERIES ESPECÍFICOS PARA RESOLUCIONES PROBLEMÁTICAS ====== */

/* iPad Air: 820 x 1180 */
@media (max-width: 820px) and (min-width: 820px) and (min-height: 1180px) {
  :root {
    --loader-size: 300px;
    --weld-duration: 6s;
  }
  
  .welding-loader-logo img {
    width: 180px;
  }
}

/* Samsung S20 Ultra, Pixel 7, Samsung A51/A71: 412-414 x 914/915 */
@media (max-width: 414px) and (min-width: 410px) {
  :root {
    --loader-size: 240px;
    --weld-duration: 6s;
    --weld-radius: 100;
    --path-radius: 100;
    --orbital-radius: 102px;
  }
  
  .welding-loader-logo img {
    width: 140px;
  }
}

/* iPhone 14 Pro Max: 430 x 932 */
@media (max-width: 430px) and (min-width: 425px) {
  :root {
    --loader-size: 260px;
    --weld-duration: 6s;
    --weld-radius: 110;
    --path-radius: 110;
    --orbital-radius: 110px;
  }
  
  .welding-loader-logo img {
    width: 150px;
  }
}

/* iPhone XR: 414 x 896 */
@media (max-width: 414px) and (min-width: 414px) and (min-height: 890px) {
  :root {
    --loader-size: 240px;
    --weld-duration: 6s;
    --orbital-radius: 102px;
  }
  
  .welding-loader-logo img {
    width: 140px;
  }
}

/* iPhone 12 Pro: 390 x 844 */
@media (max-width: 390px) and (min-width: 390px) and (min-height: 840px) {
  :root {
    --loader-size: 230px;
    --weld-duration: 6s;
    --weld-radius: 95;
    --path-radius: 95;
    --orbital-radius: 98px;
  }
  
  .welding-loader-logo img {
    width: 135px;
  }
}

/* iPhone SE: 375 x 667 */
@media (max-width: 375px) and (min-width: 375px) and (max-height: 667px) {
  :root {
    --loader-size: 220px;
    --weld-duration: 6s;
    --weld-radius: 90;
    --path-radius: 90;
    --orbital-radius: 95px;
  }
  
  .welding-loader-logo img {
    width: 130px;
  }
}

/* Samsung Galaxy S8+: 360 x 740 */
@media (max-width: 360px) and (min-height: 730px) {
  :root {
    --loader-size: 220px;
    --weld-duration: 6s;
    --orbital-radius: 95px;
  }
  
  .welding-loader-logo img {
    width: 130px;
  }
}

/* Galaxy Z Fold 5: 344 x 882 */
@media (max-width: 344px) and (min-height: 880px) {
  :root {
    --loader-size: 210px;
    --weld-duration: 6s;
    --orbital-radius: 90px;
  }
  
  .welding-loader-logo img {
    width: 125px;
  }
}

/* Surface Duo: 540 x 720 */
@media (max-width: 540px) and (min-width: 540px) and (max-height: 720px) {
  :root {
    --loader-size: 270px;
    --weld-duration: 6s;
    --orbital-radius: 115px;
  }
  
  .welding-loader-logo img {
    width: 160px;
  }
}

/* Asus ZenBook Fold: 853 x 1280 */
@media (max-width: 853px) and (min-width: 853px) and (min-height: 1280px) {
  :root {
    --loader-size: 320px;
    --weld-duration: 6s;
  }
  
  .welding-loader-logo img {
    width: 200px;
  }
}

/* iPad Mini: 768 x 1024 */
@media (max-width: 768px) and (min-width: 768px) and (min-height: 1020px) {
  :root {
    --loader-size: 280px;
    --weld-duration: 6s;
    --orbital-radius: 120px;
  }
  
  .welding-loader-logo img {
    width: 170px;
  }
}
