/* ==== Google Fonts ==== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800&display=swap');

/* ==== Base ==== */
body {
    font-family: 'Inter', sans-serif;
    background-color: #f8fafc; /* slate-50 */
}

/* Custom gradient text with blue/gold theme */
.gradient-text {
    background: linear-gradient(to right, #2563eb, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Active nav link style */
.nav-link.active {
    color: #1d4ed8; /* blue-700 */
    font-weight: 600;
    position: relative;
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1d4ed8; /* blue-700 */
}

/* Home page background */
#home-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(255, 255, 255, 0.8) 0%, rgba(253, 244, 234, 1) 100%), url(/Images/pexels-pixabay-302831.jpg);
    background-size: cover;
    background-position: center;
    z-index: -1;
}

/* Portfolio Accordion */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}

/* Image Lightbox Modal */
.modal {
    display: none; 
    position: fixed; 
    z-index: 1000; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgba(0,0,0,0.8); 
    justify-content: center; 
    align-items: center; 
    animation: fadeIn 0.3s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-content {
    margin: auto; 
    display: block; 
    animation: zoomIn 0.3s;
}

@keyframes zoomIn { 
    from { transform: scale(0.9); opacity: 0; } 
    to { transform: scale(1); opacity: 1; } 
}

.modal-close {
    position: absolute; 
    top: 20px; 
    right: 40px; 
    color: #f1f1f1; 
    font-size: 40px; 
    font-weight: bold; 
    transition: 0.3s; 
    cursor: pointer;
}

/* Contact Form Success Message */
#form-success-message {
    transition: opacity 0.5s, transform 0.5s;
}

/* Photography Filter Buttons */
.filter-btn.active {
    background-color: #1d4ed8; /* blue-700 */
    color: white;
}

/* Blog Preview Styling */
.blog-preview-image-container {
    position: relative;
    width: 100%;
    padding-top: 66.66%; /* 3:2 Aspect Ratio */
}
.blog-preview-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.blog-preview-image.active {
    opacity: 1;
}

.blog-post-card.active {
    border-color: #1d4ed8; /* blue-700 */
}

.sticky-sidebar {
    position: -webkit-sticky; /* For Safari */
    position: sticky;
    top: 100px; /* Distance from the top of the viewport */
    align-self: start; /* Aligns item to the top of its grid container */
}