/**
 * Estilos del reproductor de video.
 * Personaliza colores/tamaños por página usando variables CSS,
 * por ejemplo: <div class="reproductor" style="--rp-color:#ff0; --rp-width:540px;">
 */
.reproductor {
  --rp-color: #ffffff;
  --rp-width: 480px;
  --rp-aspect: 16 / 9;   /* relación de aspecto del "marco" del reproductor */
  --rp-title-size: 20px;
  --rp-subtitle-size: 14px;

  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

/* Marco de tamaño fijo: no cambia sin importar la proporción del video actual */
.reproductor .rp-frame {
  width: var(--rp-width);
  max-width: 100%;
  aspect-ratio: var(--rp-aspect);
  margin: 0 auto;
  background: #000; /* rellena las franjas cuando el video no llena el marco */
}

.reproductor video {
  width: 100%;
  height: 100%;
  object-fit: contain; /* ajusta el video completo dentro del marco, sin deformarlo */
}

.reproductor .rp-title {
  font-family: "Comic Neue", "Comic Sans MS", cursive;
  font-size: var(--rp-title-size);
  font-weight: bold;
  color: var(--rp-color);
  margin: 12px 0 4px;
}

.reproductor .rp-subtitle {
  font-family: "Comic Neue", "Comic Sans MS", cursive;
  font-size: var(--rp-subtitle-size);
  font-weight: bold;
  color: var(--rp-color);
  margin: 0;
}

.reproductor .rp-status {
  font-family: Arial, sans-serif;
  font-size: 13px;
  color: #cc3333;
  min-height: 18px;
}

.reproductor .rp-controls {
  margin: 8px 0;
}

.reproductor .rp-controls button {
  font-size: 18px;
  background: none;
  border: 1px solid var(--rp-color);
  color: var(--rp-color);
  border-radius: 6px;
  padding: 4px 12px;
  margin: 0 6px;
  cursor: pointer;
}

.reproductor .rp-controls button:hover {
  background: var(--rp-color);
  color: #000;
}
