/* ============================================================
   MEDIA — Video component (global)
   ============================================================ */

.media-video {
  margin-top: 18px;
  margin-bottom: 22px;

  width: 100%;
  max-width: 460px;        /* entra bien en la home */
  margin-inline: auto;

  /* 🔑 CLAVE: más vertical, pero usable en una página */
  aspect-ratio: 5 / 6;

  background: #000;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.media-video video {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;      /* llena el marco */
  object-position: center;

  background: #000;
  max-width: 100%;
}

/* Focus accesible */
.media-video video:focus-visible {
  outline: 3px solid var(--primary-400);
  outline-offset: 3px;
}

/* Móvil */
@media (max-width: 600px) {
  .media-video {
    max-width: 100%;
    border-radius: 14px;
  }
}

.media-placeholder {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;

  /* base neutral (cuando haya imagen queda limpio) */
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);

  /* por defecto, estilo de placeholder con texto */
  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--neutral-500);
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  text-align: center;
  padding: 24px;
}

/* Si el placeholder YA contiene una imagen, anulamos el “modo placeholder” */
.media-placeholder:has(img) {
  padding: 0;
  background: transparent; /* quita el degradado/“marco” */
  display: block;
}

/* La imagen rellena y recorta de forma uniforme */
.media-placeholder img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

