<style>
    body {
        padding-top: 70px;
    }
    /* Hero Section */
    .main {
        background: linear-gradient(to right, #007bff, #00bfff);
        color: white;
        padding: 100px 0;
        text-align: center;
    }
    /* Sticky Footer */
    footer {
        background-color: #000000;
        color: white;
        text-align: center;
        padding: 15px 0;
        margin-top: auto;
        position: sticky;
        bottom: 0;
        z-index: 10;
    }

  h2 {
      font-weight: 600;
      color: #333;
  }

  /* --- Carousel --- */
  .carousel-item {
      transition: transform 0.8s ease, opacity 0.8s ease;
  }

  video {
      max-width: 100%;
    ` border-radius: 0.5rem;
      box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
  }

  /* --- Star Ratings --- */
  .star {
      font-size: 1.6rem;
      color: #ccc;
      cursor: pointer;
      user-select: none;
      transition: color 0.2s;
  }

  .star:hover,
  .star.active {
      color: gold;
  }

  /* --- Rating Summary and Bars --- */
  .rating-summary {
      margin-top: 0.5rem;
      font-weight: 500;
  }

  .rating-bar {
      height: 8px;
      background-color: #e0e0e0;
      border-radius: 4px;
      overflow: hidden;
      width: 150px;
      display: inline-block;
      margin-left: 6px;
      vertical-align: middle;
  }

  .rating-bar-fill {
      height: 100%;
      background-color: gold;
      transition: width 0.4s ease;
  }

  /* --- Dropdown --- */
  #filterSelect {
      min-width: 200px;
      border-radius: 0.5rem;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }

  /* --- Toast Notifications --- */
  .toast {
      font-weight: 500;
      border-radius: 0.75rem;
      box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.2);
  }

  /* --- Empty State --- */
  .no-videos {
      padding: 6rem 0;
      font-style: italic;
      color: #666;
      text-align: center;
  }

    /* --- Responsive Tweaks --- */
    @media (max-width: 768px) {
        video {
            width: 100%;
            height: auto;
    }

    .rating-bar {
        width: 100px;
    }

    #filterSelect {
        width: 100%;
    }

    /* --- Position carousel controls outside the video frame --- */
    .carousel-control-prev,
    .carousel-control-next {
          width: 3rem;
          height: 3rem;
          top: 50%;
          transform: translateY(-50%);
          background: rgba(0, 0, 0, 0.45);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.35);
          z-index: 9999;
          border: 1px solid rgba(255,255,255,0.08);
          transition: background 0.2s ease, transform 0.2s ease;
    }

    /* Move them further outward */
    .carousel-control-prev {
          left: -4rem; /* Adjust distance to your liking */
    }

    .carousel-control-next {
          right: -4rem; /* Adjust distance to your liking */
    }

    /* Hover effect */
    .carousel-control-prev:hover,
    .carousel-control-next:hover {
          background: rgba(0, 0, 0, 0.65);
          transform: translateY(-50%) scale(1.05);
    }

    /* Chevron icons using local images */
    .carousel-control-prev-icon,
    .carousel-control-next-icon {
          width: 1.2rem;
          height: 1.2rem;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          background-color: transparent;
          opacity: 1;
    }

    .carousel-control-prev-icon {
          background-image: url("../img/chevron-left.svg");
    }

    .carousel-control-next-icon {
          background-image: url("../img/chevron-right.svg");
    }

    /* --- Responsive tweak: bring controls closer on mobile --- */
    @media (max-width: 768px) {
      .carousel-control-prev {
            left: -2rem;
      }

      .carousel-control-next {
            right: -2rem;
      }

      /* Soft shake animation */
      @keyframes shake {
        10%, 90% { transform: translateX(-2px) }
        20%, 80% { transform: translateX(4px) }
        30%, 50%, 70% { transform: translateX(-8px) }
        40%, 60% { transform: translateX(8px) }
      }
      .shake {
        animation: shake 0.5s ease;
      }
</style>
