/* =========================================================
   VIDEOS PAGE
========================================================= */

.videos-page {
  background: var(--primary-color);
  color: var(--text-color);
}

/* =========================================================
   HERO
========================================================= */

.video-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 360px;
  padding: 80px 24px;

  text-align: center;

  background:
    radial-gradient(circle at top, rgba(176, 140, 72, 0.15), transparent 55%),
    var(--primary-color);

  overflow: hidden;
}

/* Decorative glow */

.video-hero::before {
  content: "";
  position: absolute;

  width: 420px;
  height: 420px;

  top: -220px;
  left: 50%;

  transform: translateX(-50%);

  background: rgba(176, 140, 72, 0.08);

  border-radius: 50%;

  filter: blur(30px);

  pointer-events: none;
}

.video-hero-content {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 760px;
}

.video-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 20px;

  padding: 8px 15px;

  border: 1px solid rgba(176, 140, 72, 0.35);
  border-radius: 50px;

  font-size: 0.82rem;
  font-weight: 600;

  letter-spacing: 0.05em;
  text-transform: uppercase;

  color: #a77f35;

  background: rgba(176, 140, 72, 0.06);
}

.video-eyebrow i {
  font-size: 0.9rem;
}

.video-hero h1 {
  margin: 0 0 18px;

  font-size: clamp(2.6rem, 6vw, 4.7rem);
  line-height: 1.05;
  font-weight: 700;

  letter-spacing: -0.04em;

  color: var(--text-color);
}

.video-hero p {
  max-width: 650px;

  margin: 0 auto;

  font-size: 1.05rem;
  line-height: 1.8;

  opacity: 0.72;
}

/* =========================================================
   VIDEO LIBRARY
========================================================= */

.video-library {
  width: min(1280px, calc(100% - 40px));

  margin: 0 auto;

  padding: 65px 0 100px;
}

/* Header */

.video-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;

  margin-bottom: 35px;

  padding-bottom: 24px;

  border-bottom: 1px solid rgba(128, 128, 128, 0.18);
}

.section-label {
  display: block;

  margin-bottom: 7px;

  font-size: 0.76rem;
  font-weight: 700;

  text-transform: uppercase;
  letter-spacing: 0.12em;

  color: #a77f35;
}

.video-section-header h2 {
  margin: 0;

  font-size: clamp(1.8rem, 4vw, 2.5rem);

  color: var(--text-color);
}

.video-section-header > p {
  max-width: 420px;

  margin: 0;

  text-align: right;

  font-size: 0.92rem;
  line-height: 1.7;

  opacity: 0.62;
}

/* =========================================================
   VIDEO GRID
========================================================= */

.video-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 38px 24px;
}

/* =========================================================
   VIDEO CARD
========================================================= */

.video-card {
  display: block;

  min-width: 0;

  color: var(--home-text);

  text-decoration: none;

  cursor: pointer;
}

.video-card:hover {
  color: var(--home-text);
}

/* =========================================================
   THUMBNAIL
========================================================= */

.video-thumbnail {
  position: relative;

  width: 100%;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 14px;

  background: #080808;

  box-shadow: 0 5px 18px rgba(13, 59, 38, 0.08);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.video-card:hover .video-thumbnail {
  transform: translateY(-3px);

  box-shadow: 0 14px 30px rgba(13, 59, 38, 0.16);
}

.video-thumbnail-image,
.video-preview {
  position: absolute;

  inset: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.video-thumbnail-image {
  z-index: 1;

  opacity: 1;

  transition: opacity 0.2s ease;
}

.video-thumbnail-image.hidden {
  opacity: 0;
}

.video-preview {
  z-index: 0;

  pointer-events: none;
}

/* =========================================================
   CATEGORY
========================================================= */

.video-category {
  position: absolute;

  top: 12px;
  left: 12px;

  z-index: 4;

  padding: 6px 10px;

  border-radius: 7px;

  color: #ffffff;

  background: rgba(8, 8, 8, 0.72);

  backdrop-filter: blur(8px);

  font-size: 0.68rem;

  font-weight: 800;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  pointer-events: none;
}

/* =========================================================
   PREMIUM EARLY ACCESS
========================================================= */

.video-early-access-badge {
  position: absolute;

  top: 12px;
  right: 12px;

  z-index: 5;

  display: inline-flex;

  align-items: center;

  gap: 6px;

  padding: 7px 11px;

  border: 1px solid rgba(255, 224, 154, 0.35);

  border-radius: 50px;

  color: #fff3cf;

  background:
    rgba(92, 65, 18, 0.88);

  backdrop-filter: blur(10px);

  box-shadow:
    0 5px 18px rgba(0, 0, 0, 0.2);

  font-size: 0.66rem;

  font-weight: 800;

  letter-spacing: 0.055em;

  text-transform: uppercase;

  pointer-events: none;
}


.video-early-access-badge i {
  color: #f0c66a;
}


.video-release-info {
  display: flex;

  align-items: center;

  gap: 7px;

  margin-top: 8px;

  color: var(--home-brown-dark);

  font-size: 0.76rem;

  font-weight: 700;
}


.video-release-info i {
  font-size: 0.72rem;
}


.early-access-video .video-thumbnail-image {
  filter:
    brightness(0.72)
    saturate(0.9);
}


.early-access-video .video-play-circle {
  color: #fff3cf;

  background:
    rgba(103, 75, 25, 0.92);

  border-color:
    rgba(240, 198, 106, 0.5);
}


.early-access-video:hover .video-play-circle {
  background:
    rgba(124, 88, 25, 0.96);
}

/* =========================================================
   PLAY BUTTON
========================================================= */

.video-play-overlay {
  position: absolute;

  inset: 0;

  z-index: 3;

  display: grid;

  place-items: center;

  background: linear-gradient(rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.16));

  transition: opacity 0.2s ease;

  pointer-events: none;
}

.video-play-circle {
  display: grid;

  width: 54px;
  height: 54px;

  place-items: center;

  border: 1px solid rgba(255, 255, 255, 0.35);

  border-radius: 50%;

  color: #ffffff;

  background: rgba(13, 59, 38, 0.88);

  backdrop-filter: blur(8px);

  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);

  transition:
    transform 0.2s ease,
    background-color 0.2s ease;
}

.video-card:hover .video-play-circle {
  transform: scale(1.08);

  background: var(--home-brown-dark);
}

.video-card.previewing .video-play-overlay {
  opacity: 0;
}

/* =========================================================
   PREVIEW PROGRESS
========================================================= */

.video-preview-progress {
  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  z-index: 5;

  height: 3px;

  background: rgba(255, 255, 255, 0.18);

  pointer-events: none;
}

.video-preview-progress span {
  display: block;

  width: 0;
  height: 100%;

  background: var(--home-brown);

  transition: width 0.15s linear;
}

/* =========================================================
   VIDEO INFORMATION
========================================================= */

.video-info {
  padding: 15px 3px 0;
}

.video-info h3 {
  display: -webkit-box;

  margin: 0;

  overflow: hidden;

  color: var(--home-green);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.05rem;

  font-weight: 700;

  line-height: 1.4;

  line-clamp: 2;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;
}

.video-info p {
  display: -webkit-box;

  margin: 7px 0 0;

  overflow: hidden;

  color: var(--home-muted);

  font-size: 0.84rem;

  line-height: 1.55;

  line-clamp: 2;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;
}

.video-watch-link {
  display: inline-flex;

  align-items: center;

  gap: 0.4rem;

  margin-top: 10px;

  color: var(--home-brown-dark);

  font-size: 0.75rem;

  font-weight: 800;

  transition: gap 0.2s ease;
}

.video-card:hover .video-watch-link {
  gap: 0.65rem;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {
  .video-hero {
    min-height: 300px;

    padding: 65px 20px;
  }

  .video-hero p {
    font-size: 0.96rem;
  }

  .video-library {
    width: min(100% - 28px, 1280px);

    padding: 45px 0 70px;
  }

  .video-section-header {
    display: block;

    margin-bottom: 25px;
  }

  .video-section-header > p {
    margin-top: 12px;

    max-width: none;

    text-align: left;
  }

  .video-grid {
    grid-template-columns: 1fr;

    gap: 22px;
  }

  .video-card:hover {
    transform: none;
  }
}
