.public-h5p-embed {
  position: relative;
  margin: 22px 0;
  padding: 14px;
  border: 1px solid rgba(91, 59, 189, 0.16);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 246, 255, 0.96));
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.public-h5p-embed::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #0055a4;
}

.public-h5p-embed::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 5px;
  background: #ef233c;
}

.public-h5p-embed__status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #5b3bbd;
  font-size: 0.92rem;
  font-weight: 850;
}

.public-h5p-embed__status::before {
  content: "H5P";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #f1edff;
  color: #5b3bbd;
  font-size: 0.72rem;
  font-weight: 950;
}

.public-h5p-embed__status.is-error {
  color: #b91c1c;
}

.public-h5p-iframe {
  display: block;
  width: 100%;
  min-height: 620px;
  border: 0;
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
}

.public-h5p-embed.is-ready {
  background: #ffffff;
}

.public-h5p-embed.has-error {
  border-color: rgba(185, 28, 28, 0.24);
  background: #fff7f7;
}

@media (max-width: 760px) {
  .public-h5p-embed {
    margin: 18px 0;
    padding: 10px;
    border-radius: 16px;
  }

  .public-h5p-iframe {
    min-height: 520px;
    border-radius: 12px;
  }
}
