/* Fademandabarber — Custom Styles */

/* Base typography adjustments */
h1, h2, h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

/* Smooth focus outlines */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #C9A84C;
    outline-offset: 2px;
}

/* Gold line animation trigger */
.gold-line {
    width: 0;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.gold-line.visible {
    width: 64px;
}

/* Scroll reveal — progressive enhancement */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal.visible {
        opacity: 1;
        transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
}

/* Ensure content is visible even without JS */
.no-js .reveal,
html:not(.js-enabled) .reveal {
    opacity: 1;
    transform: none;
}

/* Navbar scroll state */
#navbar.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* Mobile menu transitions */
#mobile-menu {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
}
#mobile-menu.open {
    transform: translateX(0);
    opacity: 1;
}
#mobile-menu.closed {
    transform: translateX(100%);
    opacity: 0;
}

/* Service card hover */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(6, 15, 31, 0.15);
}

/* Image overlay */
.img-overlay {
    position: relative;
}
.img-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(6, 15, 31, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

/* Custom selection color */
::selection {
    background: #C9A84C;
    color: #0A1628;
}

/* Subtle page transition */
html {
    background: #ffffff;
}

/* Ensure form inputs have proper contrast */
input::placeholder,
textarea::placeholder {
    color: #94a3b8;
}

/* Gallery image hover */
.rounded-lg.overflow-hidden img {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.rounded-lg.overflow-hidden:hover img {
    transform: scale(1.05);
}
