h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
}

body, p, a {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
}

 
 
 :root {
            --primary-color: #2a9d8f;
            --secondary-color: #264653;
            --accent-color: #e9c46a;
            --light-color: #f8f9fa;
            --dark-color: #343a40;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            scroll-behavior: smooth;
        }
        
        .hover-bg:hover {
        background-color: rgba(0, 0, 0, 0.05);
        transition: background-color 0.3s ease;
        }
        .navbar {
            font-family: 'Poppins', sans-serif;
            transition: all 0.3s ease-in-out;
        }
        .navbar .nav-link.active {
            color: #0d6efd !important;
            font-weight: 700;
            background-color: rgba(13, 110, 253, 0.1);
        }

        
        .hero {
            background: linear-gradient(rgba(38, 70, 83, 0.7), rgba(38, 70, 83, 0.5)), 
                        url('https://images.unsplash.com/photo-1469854523086-cc02fe5d8800');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            color: white;
            padding: 150px 20px;
            text-align: center;
            position: relative;
        }
        
        .hero-content {
            max-width: 800px;
            margin: 0 auto;
            animation: fadeIn 1.5s ease;
        }
        
        .hero h1 {
            font-size: 3.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            text-shadow: 2px 2px 5px rgba(0,0,0,0.3);
        }
        
        .hero p {
            font-size: 1.5rem;
            margin-bottom: 30px;
        }
        
        .btn-explore {
            background-color: var(--accent-color);
            color: var(--secondary-color);
            padding: 12px 30px;
            font-weight: 600;
            border-radius: 50px;
            transition: all 0.3s;
            border: none;
        }
        
        .btn-explore:hover {
            background-color: #f4a261;
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        }
        
        section{
            scroll-margin-top: 100px;
        }
        
        .section-title {
            position: relative;
            margin-bottom: 50px;
            color: var(--secondary-color);
            font-weight: 700;
        }
        
        .section-title:after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 4px;
            background-color: var(--accent-color);
        }
        
        .gallery-img {
            border-radius: 8px;
            overflow: hidden;
            margin-bottom: 20px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: all 0.3s;
            height: 250px;
            object-fit: cover;
        }
        
        .gallery-img:hover {
            transform: scale(1.03);
            box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        }
        
        .video-section {
            position: relative;
            overflow: hidden;
            background-color: var(--light-color);
        }
        
        .video-container {
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
        }
        
        .package-card {
            border: none;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: all 0.3s;
            margin-bottom: 20px;
            height: 100%;
        }
        
        .package-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.2);
        }
        
        .package-card img {
            height: 200px;
            object-fit: cover;
            transition: all 0.5s;
        }
        
        .package-card:hover img {
            transform: scale(1.1);
        }
        
        .package-card .card-body {
            padding: 20px;
        }
        
        .package-card .card-title {
            color: var(--primary-color);
            font-weight: 700;
            margin-bottom: 15px;
        }
        
        .package-card .btn-book {
            background-color: var(--primary-color);
            color: white;
            border-radius: 50px;
            padding: 8px 20px;
            font-size: 0.9rem;
            border: none;
        }
        
        .package-card .btn-book:hover {
            background-color: var(--secondary-color);
        }
        
        .badge-price {
            background-color: var(--accent-color);
            color: var(--secondary-color);
            font-weight: 600;
            padding: 5px 10px;
            border-radius: 5px;
            position: absolute;
            top: 15px;
            right: 15px;
        }
        
        .contact-section {
            background-color: var(--secondary-color);
            color: white;
        }
        
        .social-icons a {
            color: white;
            font-size: 1.5rem;
            margin: 0 10px;
            transition: all 0.3s;
        }
        
        .social-icons a:hover {
            color: var(--accent-color);
            transform: translateY(-3px);
        }
        
        .back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background-color: var(--primary-color);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s;
            z-index: 999;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        }
        
        .back-to-top.active {
            opacity: 1;
            visibility: visible;
        }
        
        .back-to-top:hover {
            background-color: var(--accent-color);
            color: var(--secondary-color);
            transform: translateY(-3px);
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        /* Video Section Layout */
        .video-content {
            display: flex;
            align-items: center;
        }
        
        .video-text {
            padding-right: 30px;
        }
        
        @media (max-width: 992px) {
            .video-content {
                flex-direction: column;
            }
            
            .video-text {
                padding-right: 0;
                margin-bottom: 30px;
                text-align: center;
            }
            
            .hero h1 {
                font-size: 2.5rem;
            }
            
            .hero p {
                font-size: 1.2rem;
            }
        }


    .tag-btn {
    background-color: #5a738e;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.tag-btn:hover,
.tag-btn.active {
    background-color: #394b5a;
}
input.form-control:focus,
select.form-select:focus {
    box-shadow: none;
    border-color: #ccc;
}

.shadow-outline {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* bayangan halus */
    border: 2px solid #ced4da; /* outline abu-abu Bootstrap */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.shadow-outline:focus-within {
    border-color: #0d6efd; /* outline biru saat fokus */
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.25); /* efek fokus */
}
.icon-box {
  width: 45px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-size: 18px;
}

.gallery-img-container {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s ease-in-out;
}
.gallery-img-container img {
    transition: transform 0.4s ease;
}
.gallery-img-container:hover img {
    transform: scale(1.1);
}
.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white;
    padding: 10px 15px;
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.gallery-img-container:hover .gallery-overlay {
    opacity: 1;
}