/**
 * Thư viện các hiệu ứng Hover tùy chỉnh
 * Cách dùng: Thêm class tương ứng vào phần tử HTML bạn muốn.
 * Ví dụ: <div class="card hover-lift-shadow">...</div>
 <!-- Thẻ card với viền màu cam -->
<div class="card h-100 shadow-sm hover-border-highlight" style="--hover-border-color: #ff5722;">
    <!-- Nội dung card -->
</div>

<!-- Thẻ card với vầng sáng màu xanh lá -->
<div class="card h-100 shadow-sm hover-glow" style="--hover-glow-color: rgba(25, 135, 84, 0.5);">
    <!-- Nội dung card -->
</div>
 */

/* ===================================================================
   1. Hiệu ứng Nâng Lên & Đổ Bóng (Lift & Shadow)
   - Mô tả: Nâng phần tử lên một chút và tăng bóng đổ.
   - Class: hover-lift-shadow
   =================================================================== */
.hover-lift-shadow {
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.hover-lift-shadow:hover {
  transform: translateY(-6px);
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15) !important;
}

/* ===================================================================
   2. Hiệu ứng Phóng To Nhẹ (Subtle Zoom)
   - Mô tả: Phóng to nhẹ phần tử.
   - Class: hover-zoom
   =================================================================== */
.hover-zoom {
  transition: transform 0.3s ease-in-out;
}
.hover-zoom:hover {
  transform: scale(1.04);
}

/* ===================================================================
   3. Hiệu ứng Viền Màu Nổi Bật (Border Highlight)
   - Mô tả: Thêm một đường viền có màu sắc nổi bật.
   - Class: hover-border-highlight
   =================================================================== */
.hover-border-highlight {
  --hover-border-color: #0d6efd; 
  border: 2px solid transparent;
  transition: border-color 0.3s ease;
}
.hover-border-highlight:hover {
  border-color: var(--hover-border-color);
}

/* ===================================================================
   4. Hiệu ứng Tỏa Sáng (Glow)
   - Mô tả: Tạo một vầng sáng mờ xung quanh phần tử.
   - Class: hover-glow
   =================================================================== */
.hover-glow {
  --hover-glow-color: rgba(13, 110, 253, 0.4);
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.hover-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 20px var(--hover-glow-color) !important;
}

/* ===================================================================
   5. Hiệu ứng Nảy Lên (Pop)
   - Mô tả: Tạo hiệu ứng nảy lên nhanh và vui mắt.
   - Class: hover-pop
   =================================================================== */
.hover-pop {
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.hover-pop:hover {
  transform: scale(1.05);
}

/* ===================================================================
   6. Hiệu ứng Nghiêng 3D (3D Tilt)
   - Mô tả: Tạo cảm giác chiều sâu bằng cách nghiêng nhẹ phần tử.
   - Class: hover-tilt
   =================================================================== */
.hover-tilt {
  transition: all 0.3s ease;
}
.hover-tilt:hover {
  transform: perspective(1000px) rotateY(-5deg) rotateX(5deg) scale(1.02);
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.2) !important;
}

/* ===================================================================
   7. Hiệu ứng Mờ Dần (Fade Out Content)
   - Mô tả: Làm mờ các nội dung khác để tập trung vào một phần tử.
   - Class: hover-fade-parent (đặt ở thẻ cha) và hover-fade-item (đặt ở các thẻ con)
   =================================================================== */
.hover-fade-parent:hover .hover-fade-item {
  opacity: 0.5;
  filter: blur(1px);
}
.hover-fade-parent .hover-fade-item {
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.hover-fade-parent .hover-fade-item:hover {
  opacity: 1;
  filter: blur(0);
  transform: scale(1.05); /* Thêm hiệu ứng cho phần tử được focus */
}
/**
 * Thư viện các hiệu ứng Hover tùy chỉnh
 * Cách dùng: Thêm class tương ứng vào phần tử HTML bạn muốn.
 */

/* ===================================================================
   1. Hiệu ứng Nâng Lên & Đổ Bóng (Lift & Shadow)
   - Class: hover-lift-shadow
   =================================================================== */
.hover-lift-shadow {
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.hover-lift-shadow:hover {
  transform: translateY(-6px);
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15) !important;
}

/* ===================================================================
   2. Hiệu ứng Phóng To Nhẹ (Subtle Zoom)
   - Class: hover-zoom
   =================================================================== */
.hover-zoom {
  transition: transform 0.3s ease-in-out;
}
.hover-zoom:hover {
  transform: scale(1.04);
}

/* ===================================================================
   3. Hiệu ứng Viền Màu Nổi Bật (Border Highlight)
   - Class: hover-border-highlight
   =================================================================== */
.hover-border-highlight {
  --hover-border-color: #0d6efd; 
  border: 2px solid transparent;
  transition: border-color 0.3s ease;
}
.hover-border-highlight:hover {
  border-color: var(--hover-border-color);
}

/* ===================================================================
   4. Hiệu ứng Tỏa Sáng (Glow)
   - Class: hover-glow
   =================================================================== */
.hover-glow {
  --hover-glow-color: rgba(13, 110, 253, 0.4);
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.hover-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 20px var(--hover-glow-color) !important;
}

/* ===================================================================
   5. Hiệu ứng Nảy Lên (Pop)
   - Class: hover-pop
   =================================================================== */
.hover-pop {
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.hover-pop:hover {
  transform: scale(1.05);
}

/* ===================================================================
   6. Hiệu ứng Nghiêng 3D (3D Tilt)
   - Class: hover-tilt
   =================================================================== */
.hover-tilt {
  transition: all 0.3s ease;
}
.hover-tilt:hover {
  transform: perspective(1000px) rotateY(-5deg) rotateX(5deg) scale(1.02);
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.2) !important;
}

/* ===================================================================
   7. Hiệu ứng Mờ Dần (Fade Out Content)
   - Class: hover-fade-parent (thẻ cha) và hover-fade-item (thẻ con)
   =================================================================== */
.hover-fade-parent:hover .hover-fade-item {
  opacity: 0.5;
  filter: blur(1px);
}
.hover-fade-parent .hover-fade-item {
  transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}
.hover-fade-parent .hover-fade-item:hover {
  opacity: 1;
  filter: blur(0);
  transform: scale(1.05); 
}

/* ===================================================================
   8. Hiệu ứng Lớp Phủ Mờ Dần (Overlay Fade)
   - Class: hover-overlay-fade
   - Yêu cầu: Phần tử phải có position: relative;
   =================================================================== */
.hover-overlay-fade {
  position: relative;
  overflow: hidden;
}
.hover-overlay-fade::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); 
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
}
.hover-overlay-fade:hover::before {
  opacity: 1;
}
.hover-overlay-fade > * {
  position: relative;
  z-index: 2;
}

/* ===================================================================
   9. Hiệu ứng Phóng To Ảnh Nền (Image Zoom)
   - Class: hover-image-zoom
   - Yêu cầu: Phần tử phải có overflow: hidden;
   =================================================================== */
.hover-image-zoom {
  overflow: hidden;
}
.hover-image-zoom img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.hover-image-zoom:hover img {
  transform: scale(1.15);
}

/* ===================================================================
   10. Hiệu ứng Đen Trắng sang Màu (Grayscale to Color)
   - Class: hover-grayscale
   =================================================================== */
.hover-grayscale img {
  filter: grayscale(100%);
  transition: filter 0.4s ease-in-out;
}
.hover-grayscale:hover img {
  filter: grayscale(0%);
}

/* ===================================================================
   11. Hiệu ứng Gạch Chân Trượt Ngang (Underline Slide)
   - Class: hover-line-slide
   - Yêu cầu: Phần tử phải có position: relative;
   =================================================================== */
.hover-line-slide {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-bottom: 4px;
}
.hover-line-slide::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--primary-color, #0d6efd); 
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}
.hover-line-slide:hover::after {
  transform: scaleX(1);
}