body,
html {
  overflow-x: hidden;
  max-width: 100%;

  font-size: clamp(14px, 2vw, 18px);
}

h1,
.h1 {
  font-size: clamp(28px, 5vw, 48px);
}

h2,
.h2 {
  font-size: clamp(24px, 4vw, 36px);
}

h3,
.h3 {
  font-size: clamp(20px, 3vw, 28px);
}

p,
.p {
  font-size: clamp(14px, 1.5vw, 18px);
}

.sub-p {
  font-size: clamp(10px, 1vw, 12px);
}

* {
  box-sizing: border-box;
}

.star-list li::marker {
  content: "⭐ " !important;
  font-size: 1.2em; /* adjust size */
}

.pemuda-list li:nth-child(1)::marker {
  content: "💡 ";
}

.pemuda-list li:nth-child(2)::marker {
  content: "🛡️ ";
}

.pemuda-list li:nth-child(3)::marker {
  content: "🧭 ";
}

/* ul {
  list-style-type: none;
}

ul.star-list li::before {
  content: "★";
  color: #ff6b00;
  font-size: 1.2em;
  position: absolute;
  left: 0;
  top: 0;
} */

.ds-outline-hover a {
  transition:
    color 0.3s ease-out,
    background-color 0.3s ease-out,
    border-color 0.3s ease-out;
}

.ds-outline-hover a:hover {
  background-color: #fcaf17;
  /* color: #fff; */
  border-color: #fcaf17 !important;
  color: #800507 !important;
}

.ds-button:hover a {
  color: #fff !important;
  background-color: #800507 !important;
  border-color: #800507 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.ds-items-container {
  margin: 2rem 0 !important;
}

.ds-items-title-container {
  margin: 0;
  margin-bottom: 3rem;
}

.ds-items-heading {
  /* font-size: 25px; */
  font-weight: 350;
  margin: 0;
}

.ds-items-subheading {
  /* font-size: 18px; */
  font-weight: 325;
  margin: 0;
}

.ds-items-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;
}

.ds-item {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}

.ds-thumbnail {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.ds-title {
  /* font-size: 18px; */
  font-weight: 350;
  margin: 0;
  margin-bottom: 8px;
  color: var(--wp--preset--color--heading);
}

.ds-item:hover .ds-title {
  color: #5c1ba8;
}

.ds-item:hover .video-overlay {
  opacity: 1;
}

.ds-info {
  font-size: 14px;
  margin: 0;
  color: #707070;
}

.heading-page {
  max-width: 1632px !important;
}

.heading-page h2 {
  font-size: clamp(28px, 5vw, 48px) !important;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(2px);
}

.play-button {
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  animation: pulse 2s infinite;
}

.play-icon {
  width: 0;
  height: 0;
  border-left: 20px solid #333;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 4px;
}

.relative {
  position: relative;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

.wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-underline-offset: 1px;
}

ul.wp-block-navigation__submenu-container .wp-block-navigation-item {
  background-color: #fff;
  color: #000;
}

.text-bold {
  font-weight: 400;
}

.text-justify {
  text-align: justify;
}

.wrapper-flex-center {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 1024px) {
  .ds-items-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .ds-items-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 480px) {
  .ds-items-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .heading-page {
    /* font-size: 50px !important; */
  }
}
