/* Custom overrides and enhancements */

/* Smooth focus styles */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #14b8a6;
    outline-offset: 4px;
    border-radius: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #fafaf9;
}
::-webkit-scrollbar-thumb {
    background: #d6d3d1;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a8a29e;
}

/* Subtle image hover */
img {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Nav active state */
nav.scrolled {
    box-shadow: 0 1px 0 rgba(0,0,0,0.05);
}

/* Mobile menu animation */
#mobile-menu.open {
    opacity: 1;
    pointer-events: all;
}
#mobile-menu.closed {
    opacity: 0;
    pointer-events: none;
}

/* Hamburger animation */
.menu-line {
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu-open .menu-line:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}
.menu-open .menu-line:nth-child(2) {
    transform: translateY(-5px) rotate(-45deg);
    opacity: 0;
}

/* Prevent FOUC on hero text */
#hero h1,
#hero p,
#hero a {
    opacity: 1;
    transform: none;
}

/* Gallery image hover override */
#gallery .aspect-\[3\/4\] img,
#gallery .aspect-\[16\/9\] img {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#gallery .aspect-\[3\/4\]:hover img,
#gallery .aspect-\[16\/9\]:hover img {
    transform: scale(1.03);
}
