
  /* Stage Setup */
  .gallery-stage {
    height: 600px;
    width: 100%;
    max-width: 1000px; /* Limits spread of side images */
    perspective: 1000px;
  }

  /* Item Base */
  .gallery-item {
    position: absolute;
    top: 0;
    left: 50%;
    width: 280px; /* Phone Width */
    height: 580px; /* Phone Height */
    transform-origin: center center;
    transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    /* Initial State: Hidden/Center */
    opacity: 0;
    transform: translateX(-50%) scale(0.8);
    z-index: 0;
    border-radius: 40px;
    overflow: visible; /* Allow buttons to stick out */
  }

  /* Image Handling */
  .image-container {
    width: 100%;
    height: 100%;
    border-radius: 35px; /* Matches internal screen radius */
    overflow: hidden;
    background: #000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 2;
  }
  .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* --- STATE STYLES --- */

  /* 1. Center (Active) */
  .gallery-item.active {
    opacity: 1;
    transform: translateX(-50%) scale(1);
    z-index: 10;
  }

  /* 2. Left (Prev) */
  .gallery-item.prev {
    opacity: 0.6;
    transform: translateX(-140%) scale(0.85) rotateY(15deg); /* Move Left */
    z-index: 5;
    cursor: pointer;
  }

  /* 3. Right (Next) */
  .gallery-item.next {
    opacity: 0.6;
    transform: translateX(40%) scale(0.85) rotateY(-15deg); /* Move Right */
    z-index: 5;
    cursor: pointer;
  }

  /* --- PHONE FRAME STYLING (CSS Only) --- */
  .phone-frame {
    position: absolute;
    top: -12px;
    left: -12px;
    right: -12px;
    bottom: -12px;
    border: 12px solid #1e293b; /* Bezel Color */
    border-radius: 50px;
    pointer-events: none;
    z-index: 20;
    opacity: 0; /* Hidden by default on side images */
    transition: opacity 0.4s ease 0.1s; /* Slight delay to let movement start */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
  }

  /* Only show frame when active */
  .gallery-item.active .phone-frame {
    opacity: 1;
  }

  /* Notch */
  .notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 25px;
    background: #1e293b;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    z-index: 21;
  }

  /* Physical Buttons */
  .side-btn {
    position: absolute;
    background: #1e293b;
    border-radius: 4px;
  }
  .volume-up {
    left: -16px;
    top: 100px;
    width: 4px;
    height: 40px;
  }
  .volume-down {
    left: -16px;
    top: 150px;
    width: 4px;
    height: 40px;
  }
  .power {
    right: -16px;
    top: 120px;
    width: 4px;
    height: 60px;
  }

  /* Reflection */
  .screen-reflection {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.15) 0%,
      transparent 40%,
      transparent 100%
    );
    border-radius: 35px;
    z-index: 15;
    pointer-events: none;
  }

  /* Decor */
  .glow-blob {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 350px;
    height: 350px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.15;
    z-index: 0;
  }

  /* Indicators */
  .indicator-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e1;
    border: none;
    transition: all 0.3s;
    padding: 0;
  }
  .indicator-dot.active {
    background: #3b82f6;
    width: 24px;
    border-radius: 4px;
  }
  .indicator-dot:hover {
    background: #94a3b8;
  }

  NEW_FILE_CODE
/* Bootstrap 5 Utility Classes for Gallery Component (Compatible with Bootstrap 3) */

/* Spacing Utilities */
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mt-4 { margin-top: 6rem !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Display & Typography */
/* .display-5 { font-size: 3rem; font-weight: 300; line-height: 1.2; }
.fw-bold { font-weight: 700 !important; }
.lead { font-size: 1.25rem; font-weight: 300; } */

/* Text Colors */
.text-dark { color: #2d2b51 !important; }
.text-secondary { color: #8e8da5 !important; }

/* Layout */
.text-center { text-align: center !important; }
.d-flex { display: flex !important; }
.justify-content-center { justify-content: center !important; }
.gap-2 { gap: 1rem !important; }

/* Positioning */
.position-relative { position: relative !important; }
.overflow-hidden { overflow: hidden !important; }
.z-1 { z-index: 1 !important; }


/* Container max-width override for gallery */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}