/* ========== Trips Grid 1 st========== */
.sn-grid-container {
  column-count: 3;
  column-gap: 15px;
  /* max-width: 1200px; */
  margin: 0 auto;
  /* padding-top: 150px; */
  padding-bottom: 100px;
}

.sn-grid-item {
  position: relative;
  margin-bottom: 15px;
  break-inside: avoid;
  overflow: hidden;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.sn-grid-item img {
  width: 100%;
  display: block;
  transition: transform 0.3s ease;
}

.sn-grid-item:hover img {
  transform: scale(1.05);
}

.sn-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.sn-grid-item:hover .sn-overlay {
  opacity: 1;
}

.sn-overlay h2 {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  text-transform: uppercase;
  padding: 10px;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .sn-grid-container {
    column-count: 2;
  }
}
@media (max-width: 480px) {
  .sn-grid-container {
    column-count: 1;
  }
}

/* ========== Gallery Cards ========== */


/* ========== Gallery Cards 2 ========== */
.gallery-section {
    padding: 60px 0;
}

.gallery-title {
    text-align: center;
    margin-bottom: 40px;
    color: #7c0000;
}

.gallery-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
}

.gallery-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.gallery-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.gallery-card .card-body {
    padding: 20px;
    text-align: center;
}

.gallery-card .card-title {
    font-size: 1.5rem;
    color: #1a1a1a;
    margin-bottom: 15px;
}

.gallery-card .card-text {
    color: #666;
}

/* ========== Trip Carousel Cards ========== */
/* .trip-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trip-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.sn-trips-covered-section h2 {
  font-size: 2.2rem;
  color: #212529;
}

.sn-trips-covered-section p {
  font-size: 1rem;
  line-height: 1.6;
} */
/* carousel */

.hy-carousel-container {
            /* margin: 50px 0; */
            overflow: hidden;
            position: relative;
            /* padding: 10px 0; */
        }

        .hy-carousel-title {
            font-size: 1.6rem;
            margin-bottom: 20px;
            /* padding-left: 10px; */
            position: relative;
            display: inline-block;
            color: #0578af;
            font-weight: 600;
        }

        .hy-carousel-title:after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -5px;
            width: 40px;
            height: 3px;
            background: #0578af;
            border-radius: 3px;
        }

        /* Top Carousel (Right to Left) */
            .hy-carousel-wrapper {
            overflow: hidden;
            width: 100%;
            }

            .hy-top-carousel {
            display: flex;
            animation: hy-slide-right-left 80s linear infinite;
            width: max-content;
            }

        .hy-top-carousel:hover {
            animation-play-state: paused;
        }

        /* Bottom Carousel (Left to Right) */
        .hy-bottom-carousel {
            display: flex;
            animation: hy-slide-left-right 15s linear infinite;
        }

        .hy-bottom-carousel:hover {
            animation-play-state: paused;
        }

        /* Carousel Item Styling */
        .hy-carousel-item {
            min-width: 300px;
            /* height: 220px; */
            border-radius: 10px;
            margin: 0 15px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
            max-width: 300px;
            flex: 0 0 auto;
        }

        .hy-carousel-item:hover {
            transform: translateY(-8px);
        }

        .hy-carousel-img {
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
            transition: transform 0.5s ease;
        }

        .hy-carousel-item:hover .hy-carousel-img {
            transform: scale(1.05);
        }

        .hy-carousel-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(5, 120, 175, 0.85);
            padding: 15px;
            color: white;
            transform: translateY(100%);
            transition: transform 0.3s ease;
        }

        .hy-carousel-item:hover .hy-carousel-overlay {
            transform: translateY(0);
        }

        .hy-carousel-overlay h3 {
            font-size: 1.2rem;
            margin-bottom: 5px;
            color: #fff;
        }

        .hy-carousel-overlay p {
            font-size: 0.9rem;
            opacity: 0.9;
        }

        /* Animations */
        @keyframes hy-slide-right-left {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(-50%);
            }
        }

        @keyframes hy-slide-left-right {
            0% {
                transform: translateX(-50%);
            }
            100% {
                transform: translateX(0);
            }
        }

        /* Controls */
        .hy-carousel-controls {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 25px;
        }

        .hy-control-btn {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: #0578af;
            color: white;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 1.2rem;
            transition: all 0.3s ease;
            box-shadow: 0 3px 8px rgba(5, 120, 175, 0.3);
        }

        .hy-control-btn:hover {
            background: #046296;
            transform: translateY(-3px);
        }

        /* Responsive Design */
        @media (max-width: 992px) {
            .hy-header h1 {
                font-size: 2.2rem;
            }
            
            .hy-carousel-item {
                height: 180px;
            }
        }

        @media (max-width: 768px) {
            .hy-header h1 {
                font-size: 1.8rem;
            }
            
            .hy-header p {
                font-size: 1rem;
            }
            
            .hy-carousel-title {
                font-size: 1.4rem;
            }
            
            .hy-carousel-item {
                height: 160px;
            }
        }

        @media (max-width: 576px) {
            .hy-container {
                padding: 20px 15px;
            }
            
            .hy-header h1 {
                font-size: 1.6rem;
            }
            
            .hy-carousel-container {
                margin: 40px 0;
            }
            
            .hy-carousel-item {
                height: 200px;
                margin: 0 10px;
            }
            
            /* .hy-top-carousel, 
            .hy-bottom-carousel {
                
                animation: hy-slide-right-left 25s linear infinite;
            } */
            
            .hy-carousel-controls {
                display: none;
            }
            
        }


/* updated trip */
.trips-section {
    /* padding: 80px 0; */
    padding-bottom: 80px;
    background-color: #fff;
}

.trip-card {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    margin-bottom: 30px;
    border: 1px solid #0579af28;
}

.trip-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.trip-card .carousel {
    height: 100%;
}

.trip-card .carousel-item img {
    height: 350px;
    object-fit: cover;
}

.trip-info {
    padding: 30px;
}

.trip-info h4 {
    font-size: 1.8rem;
    color: #2c3e50;
    margin-bottom: 20px;
}

.trip-info h4 span {
    color: #7f8c8d;
    font-size: 1.2rem;
}

.trip-info p {
    color: #7f8c8d;
    line-height: 1.8;
}

.badge.bg-primary {
    background-color: #0578af !important;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .trip-card .carousel-item img {
        height: 300px;
    }
    
    .trip-info {
        padding: 20px;
    }
}

@media (max-width: 768px) {
    
    .trip-card .carousel-item img {
        height: 250px;
    }
}

@media (max-width: 576px) {
    
    .trip-info h4 {
        font-size: 1.5rem;
    }
    
    .filter-btn {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
}