/* Bridgeport Endocrinology — Custom Styles */

/* Base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Lato', system-ui, sans-serif;
    color: #44403c;
    background-color: #fefcfb;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography refinements */
h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

/* Selection color */
::selection {
    background-color: #96253c;
    color: #fdf2f4;
}

/* Focus styles */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid #96253c;
    outline-offset: 2px;
}

/* Smooth image rendering */
img {
    -webkit-font-smoothing: antialiased;
}

/* Hide scrollbar for mobile menu */
#mobile-menu {
    scrollbar-width: none;
}
#mobile-menu::-webkit-scrollbar {
    display: none;
}

/* Print styles */
@media print {
    nav, #mobile-menu, button, iframe {
        display: none !important;
    }
    body {
        color: #000;
        background: #fff;
    }
}

/* Ensure form inputs have consistent appearance */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    font-family: 'Lato', system-ui, sans-serif;
}

/* Decorative line animation on hover for service cards */
.group:hover .group-hover\:text-white {
    transition: color 0.5s ease;
}

/* Subtle parallax-like effect for hero image */
@media (prefers-reduced-motion: no-preference) {
    #hero img {
        transition: transform 0.6s ease;
    }
}

/* Ensure proper stacking */
@media (min-width: 1024px) {
    .lg\:order-1 {
        order: 1;
    }
    .lg\:order-2 {
        order: 2;
    }
}

/* Mobile menu animation for hamburger */
#bar1 {
    transform-origin: center;
}
#bar2 {
    transform-origin: center;
}
#bar3 {
    transform-origin: center;
}

body.menu-open #bar1 {
    transform: translateY(4px) rotate(45deg);
}
body.menu-open #bar2 {
    opacity: 0;
}
body.menu-open #bar3 {
    transform: translateY(-4px) rotate(-45deg);
    width: 24px;
}

/* Navbar scroll state */
nav.scrolled {
    background-color: rgba(254, 252, 251, 0.97) !important;
    box-shadow: 0 1px 0 rgba(150, 37, 60, 0.08);
}

nav.scrolled #logo-text {
    color: #3a0e17 !important;
}

nav.scrolled #logo-subtext {
    color: #7a2033 !important;
}
