/* --- Base and Font Styles --- */
body {
    font-family: 'Inter', sans-serif;
}

.font-playfair {
    font-family: 'Playfair Display', serif;
}

/* --- Gallery Styles --- */
.gallery-img {
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.4s ease;
    opacity: 1;
    display: block; /* Make sure images are block elements for transitions */
}

.gallery-img:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.gallery-img.hidden {
    /* Instead of display:none, we animate opacity and scale for a smooth transition */
    transform: scale(0.9);
    opacity: 0;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    transition: transform 0.3s ease, opacity 0.4s ease, width 0s 0.5s, height 0s 0.5s, padding 0s 0.5s, margin 0s 0.5s;
}


/* --- Filter Button Styles --- */
.filter-btn {
    transition: background-color 0.3s, color 0.3s;
}

.filter-btn.active {
    background-color: #1f2937; /* dark-gray */
    color: #ffffff;
}

/* --- Admin Panel --- */
#adminPanel {
    display: none;
}

.gallery-img {
  width: 100%;
  height: 300px; /* or any height you prefer */
  object-fit: cover;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}







---------------





 
        /* Basic page styling for demonstration */
        body {
            font-family: 'Inter', sans-serif;
            margin: 0;
            background-color: #f0f2f5;
            min-height: 200vh; /* Make page scrollable to demonstrate floating */
            padding: 2rem;
            color: #333;
        }

        /* The main container for the floating button and its menu.
           It acts as the positioning context for the child buttons. */
        .fab-container {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 1000;
        }

        /* The main "mother" button */
        .fab-main {
            width: 60px;
            height: 60px;
            background: linear-gradient(145deg, #1a73e8, #1765cc);
            border-radius: 50%;
            border: none; /* <-- FIX: Explicitly remove any border */
            outline: none; /* <-- FIX: Remove outline on focus */
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            cursor: pointer;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease, background-color 0.3s ease;
            position: relative; /* Must be relative to be on top of child buttons */
            z-index: 10;
        }

        /* The icons inside the main button. We stack them on top of each other. */
        .fab-main .icon-main {
             position: absolute;
             transition: opacity 0.3s ease, transform 0.3s ease;
        }
        
        /* By default, show the 'open' icon and hide the 'close' icon */
        .fab-main .icon-close {
            opacity: 0;
            transform: rotate(-45deg) scale(0.5);
        }

        /* When active, hide the 'open' icon... */
        .fab-container.active .fab-main .icon-open {
            opacity: 0;
            transform: rotate(45deg) scale(0.5);
        }
        
        /* ...and show the 'close' icon. */
        .fab-container.active .fab-main .icon-close {
            opacity: 1;
            transform: rotate(0deg) scale(1);
        }

        /* The child menu buttons */
        .fab-child {
            position: absolute;
            /* Adjust top/left to center the children relative to the main button */
            top: 5px;
            left: 5px;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            border: none; /* <-- FIX: Explicitly remove any border */
            outline: none; /* <-- FIX: Remove outline on focus */
            background-color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none; /* This was already here, but is important */
            font-size: 22px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
            
            /* Initial state: hidden and stacked behind the main button */
            opacity: 0;
            transform: scale(0.5);
            pointer-events: none; /* Not clickable when hidden */
            transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), opacity 0.3s;
        }

        /* Brand-specific colors for icons */
        #whatsapp { color: #25D366; }
        #email { color: #ea4335; }

        /* --- Active/Expanded State --- */
        
        /* When the container is active, make child buttons visible and interactive */
        .fab-container.active .fab-child {
            opacity: 1;
            pointer-events: auto;
        }
        
        /* Position the first child button (WhatsApp) in an arc */
        .fab-container.active .fab-child.whatsapp {
            transform: translateY(-75px) scale(1);
            transition-delay: 0.1s; /* Stagger the animation */
        }

        /* Position the second child button (Email) in an arc */
        .fab-container.active .fab-child.email {
            transform: translateX(-75px) scale(1);
            transition-delay: 0.05s; /* Stagger the animation */
        }
        
 