:root {
    --lightbox: rgb(0 0 0 / 0.75);
    --carousel-text: #fff;
  }
  
  body {
    margin: 1.5rem 0 3.5rem;
  }
  
  @keyframes zoomin {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
    100% {
      transform: scale(1);
    }
  }
  
  .gallery-item {
    display: block;
  }
  
  .gallery-item img {
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.2s;
  }
  
  .gallery-item:hover img {
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.35);
  }
  
  .lightbox-modal .modal-content {
    background-color: var(--lightbox);
  }
  
  .lightbox-modal .btn-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    font-size: 1.25rem;
    z-index: 10;
    filter: invert(1) grayscale(100);
  }
  
  .lightbox-modal .modal-body {
    display: flex;
    align-items: center;
    padding: 0;
  }
  
  .lightbox-modal .lightbox-content {
    width: 100%;
  }
  
  .lightbox-modal .carousel-indicators {
    margin-bottom: 0;
  }
  
  .lightbox-modal .carousel-indicators [data-bs-target] {
    background-color: var(--carousel-text) !important;
  }
  
  .lightbox-modal .carousel-inner {
    width: 75%;
  }
  
  .lightbox-modal .carousel-inner img {
    animation: zoomin 10s linear infinite;
  }
  
  .lightbox-modal .carousel-item .carousel-caption {
    right: 0;
    bottom: 0;
    left: 0;
    padding-bottom: 2rem;
    background-color: var(--lightbox);
    color: var(--carousel-text) !important;
  }
  
  .lightbox-modal .carousel-control-prev,
  .lightbox-modal .carousel-control-next {
    width: auto;
  }
  
  .lightbox-modal .carousel-control-prev {
    left: 1.25rem;
  }
  
  .lightbox-modal .carousel-control-next {
    right: 1.25rem;
  }
  
  @media (min-width: 1400px) {
    .lightbox-modal .carousel-inner {
      max-width: 60%;
    }
  }
  
  [data-bs-theme="dark"] .lightbox-modal .carousel-control-next-icon,
  [data-bs-theme="dark"] .lightbox-modal .carousel-control-prev-icon {
    filter: none;
  }
  
  .btn-fullscreen-enlarge,
  .btn-fullscreen-exit {
    position: absolute;
    top: 1.25rem;
    right: 3.5rem;
    z-index: 10;
    border: 0;
    background: transparent;
    opacity: 0.6;
    font-size: 1.25rem;
  }
  
  .bi {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.035em;
    fill: currentcolor;
  }
  