 /* --- Packages Specific Styles --- */
        .packages-hero {
            background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('img.jpg');
            background-size: cover;
            background-position: center;
            height: 40vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding-top: 100px;
        }

        .packages-hero h1 {
            font-family: var(--font-display);
            font-size: 50px;
            letter-spacing: 5px;
            text-transform: uppercase;
        }

        .packages-section-main {
            background-color: var(--white);
            color: var(--black);
            padding: 80px 5%;
        }

        .packages-layout {
            display: grid;
            grid-template-columns: 280px 1fr; /* Fixed sidebar width */
            gap: 40px;
            max-width: 1600px; /* Increased max-width to accommodate 3 cards comfortably */
            margin: 0 auto;
        }

        /* --- Left Sidebar (Filters) --- */
        .filter-sidebar {
            position: sticky;
            top: 100px;
            height: fit-content;
        }

        .filter-widget {
            margin-bottom: 40px;
        }

        .filter-widget h4 {
            font-family: var(--font-main);
            font-size: 13px;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--black);
            margin-bottom: 25px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--primary-gold);
            display: inline-block;
        }

        .filter-list {
            list-style: none;
        }

        .filter-list li {
            margin-bottom: 15px;
        }

        .filter-list label {
            font-size: 14px;
            color: #555;
            cursor: pointer;
            display: flex;
            align-items: center;
            transition: 0.3s;
        }

        .filter-list label:hover {
            color: var(--primary-gold);
        }

        .filter-list input {
            accent-color: var(--primary-gold);
            margin-right: 12px;
            width: 16px;
            height: 16px;
        }

        .price-range-display {
            font-size: 14px;
            color: var(--primary-gold);
            margin-top: 10px;
            font-weight: 600;
        }

        /* --- Right Content (Grid) --- */
        .grid-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 40px;
            padding-bottom: 20px;
            border-bottom: 1px solid #eee;
        }

        .grid-header p {
            font-size: 14px;
            color: #888;
        }

        .sort-select {
            padding: 10px 20px;
            border: 1px solid #ddd;
            font-family: var(--font-main);
            font-size: 12px;
            outline: none;
            background: transparent;
        }

        /* UPDATED: 3 Cards per row */
        .packages-main-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* Forces exactly 3 columns */
            gap: 25px;
        }

        .pkg-card {
            background: #fff;
            border: 1px solid #f2f2f2;
            transition: all 0.4s ease;
        }

    

        .pkg-img {
            position: relative;
            height: 350px; /* Reduced slightly to look better in 3-column layout */
            overflow: hidden;
        }

        .pkg-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 0.6s;
        }

        .pkg-card:hover .pkg-img img {
            transform: scale(1.08);
        }

        .pkg-tag {
            position: absolute;
            top: 15px;
            left: 15px;
            background: #ff1f1f;
            color: #fff;
            padding: 4px 12px;
            font-size: 10px;
            letter-spacing: 2px;
            font-weight: 600;
        }

        .pkg-price {
            position: absolute;
            bottom: 0;
            right: 0;
            background: var(--black);
            color: var(--primary-gold);
            padding: 8px 20px;
            font-family: var(--font-display);
            font-size: 18px;
        }

        .pkg-details {
            padding: 20px;
            text-align: center;
        }

        .pkg-details h3 {
            font-family: var(--font-display);
            font-size: 18px;
            letter-spacing: 1px;
            margin-bottom: 10px;
        }

        .pkg-details p {
            font-size: 13px;
            color: #777;
            margin-bottom: 20px;
            line-height: 1.5;
        }
@media (max-width: 768px) {
    /* Container for "All Packages" and the Dropdown */
    .grid-header {
        flex-direction: row; /* Keep them on one line unless it's very narrow */
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
        padding-bottom: 15px;
    }

    /* "All Packages" text */
    .grid-header p {
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 0;
    }

    /* The Dropdown Menu */
    .sort-select {
        padding: 8px 12px; /* Slightly smaller padding for mobile */
        font-size: 11px; /* Smaller text to prevent overflow */
        border-radius: 0; /* Keeps the luxury square aesthetic */
        width: auto; 
        max-width: 160px; /* Prevents it from taking too much space */
        height: 40px;
        -webkit-appearance: none; /* Removes default iOS styling */
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 8px center;
        background-size: 12px;
        padding-right: 30px; /* Space for the custom arrow */
    }
}

/* For very small phones (under 400px) */
@media (max-width: 400px) {
    .grid-header {
        flex-direction: column; /* Stack them on tiny screens */
        align-items: flex-start;
        gap: 15px;
    }
    
    .sort-select {
        width: 100%; /* Full width for easier tapping */
        max-width: none;
    }
}
        
        /* Responsive Breakpoints */
        @media (max-width: 1200px) {
            .packages-main-grid {
                grid-template-columns: repeat(2, 1fr); /* 2 columns for medium desktops */
            }
        }

        @media (max-width: 992px) {
            .packages-layout {
                grid-template-columns: 1fr;
            }
            .filter-sidebar {
                position: relative;
                top: 0;
                margin-bottom: 50px;
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 20px;
            }
        }

        @media (max-width: 768px) {
            .packages-main-grid {
                grid-template-columns: 1fr; /* 1 column for mobile */
            }
            .filter-sidebar {
                grid-template-columns: 1fr;
            }
            .packages-hero h1 {
                font-size: 25px;
            }
        }



        /* 1. Reset/Hide mobile elements on Desktop */
.mobile-filter-trigger, .filter-mobile-header, .btn-apply-mobile, .filter-overlay {
    display: none;
}

/* 2. Responsive Transformation */
@media (max-width: 992px) {
    .packages-layout {
        grid-template-columns: 1fr;
    }

    .mobile-filter-trigger {
        display: block;
        margin-bottom: 20px;
    }

    .mobile-filter-trigger button {
        width: 100%;
        padding: 15px;
        background: var(--black);
        color: var(--white);
        border: 1px solid var(--primary-gold);
        font-family: var(--font-main);
        letter-spacing: 2px;
        text-transform: uppercase;
         cursor: pointer;
    }

    /* Transform Sidebar into Slide-out Drawer */
    .filter-sidebar {
        position: fixed;
        top: 0;
        left: -100%; /* Hidden off-screen */
        width: 300px;
        height: 100vh;
        background: var(--white);
        z-index: 2000;
        padding: 30px;
        transition: 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 15px 0 40px rgba(0,0,0,0.2);
        overflow-y: auto;
    }

    .filter-sidebar.active {
        left: 0; /* Slide in */
    }

    .filter-mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
        border-bottom: 1px solid #eee;
        padding-bottom: 15px;
    }

    .filter-mobile-header span {
        font-family: var(--font-display);
        font-size: 22px;
        text-transform: uppercase;
    }

    #closeFilters {
        font-size: 24px;
        color: var(--primary-gold);
        cursor: pointer;
    }

    /* Background Overlay */
    .filter-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.7);
        backdrop-filter: blur(5px);
        z-index: 1999;
    }

    .filter-overlay.active {
        display: block;
    }

    .btn-apply-mobile {
        display: block;
        width: 100%;
        margin-top: 20px;
        padding: 15px;
        background: var(--primary-gold);
        color: var(--white);
        border: none;
        font-weight: 500;
        text-transform: uppercase;
    }
}

@media (max-width: 768px) {
    .packages-main-grid {
        grid-template-columns: 1fr; /* Single column for phone */
    }
}

.btn-clear-filters {
    width: 100%;
    padding: 12px;
    background: transparent;
    color: #666;
    border: 1px solid #ddd;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-clear-filters:hover {
    background: #f8f8f8;
    color: var(--primary-gold);
    border-color: var(--primary-gold);
}

.btn-clear-filters i {
    margin-right: 8px;
    font-size: 11px;
}