/* =========================================
   EMBED LOADER
   ========================================= */
.partner-embed {
  position: relative;
  /* El min-height ayuda a reservar espacio, pero el iframe define la altura final */
  min-height: 400px; 
  background: var(--g50); /* Color sutil de fondo */
  border-radius: var(--r-md); /* Opcional: redondear bordes si el embed lo permite */
  overflow: hidden; /* Evita que el contenido desborde */
}

.embed-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Centrado absoluto */
  width: 50px;
  height: 50px;
  z-index: 5;
  transition: opacity 0.5s ease;
  pointer-events: none; /* Que no bloquee clics */
}

.embed-loader img {
  width: 100%;
  height: 100%;
  animation: spinLoader 1.5s linear infinite;
  opacity: 0.8;
}

/* Ocultar loader cuando termine */
.embed-loader.hidden {
  opacity: 0;
}

/* El iframe empieza transparente */
.partner-embed iframe {
  opacity: 0;
  transition: opacity 0.8s ease;
}

/* Mostrar iframe cuando termine */
.partner-embed iframe.loaded {
  opacity: 1;
}

@keyframes spinLoader {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
