/* ===== Custom Styles for Sadowski MD ===== */

:root {
    --color-dark-900: #060e0a;
    --color-dark-800: #0a1410;
    --color-emerald-700: #045c42;
    --color-emerald-800: #024a35;
    --color-gold-400: #C9A84C;
    --color-cream-50: #FAF8F5;
    --color-cream-100: #F5F0E8;
    --color-cream-200: #EDE6D8;
}

/* Base */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: var(--color-dark-900);
    color: var(--color-cream-100);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--color-dark-900);
}
::-webkit-scrollbar-thumb {
    background: var(--color-emerald-800);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-emerald-700);
}

/* Selection */
::selection {
    background: rgba(201, 168, 76, 0.3);
    color: var(--color-cream-50);
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation-name: fadeIn;
    animation-duration: 0.8s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reveal on scroll */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Navbar */
.navbar-scrolled {
    background: rgba(6, 14, 10, 0.92) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(201, 168, 76, 0.1);
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.3);
}

.navbar-scrolled .mobile-link {
    color: var(--color-cream-100);
}

/* Mobile menu */
#mobile-menu.menu-open {
    opacity: 1 !important;
    pointer-events: all !important;
}

/* Gold accent line on hover for service cards */
.group:hover .group-hover\:border-gold-400\/25 {
    border-color: rgba(201, 168, 76, 0.25) !important;
}

/* Button hover glow */
a[href="tel:17735941109"] {
    position: relative;
}

/* Image hover effects */
.rounded-2xl.overflow-hidden {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Smooth section transitions */
section {
    position: relative;
}

/* Typography refinements */
.font-serif {
    letter-spacing: -0.01em;
}

/* Link underline animation */
a.text-gold-400 {
    background-image: linear-gradient(transparent calc(50% + 1px), rgba(201, 168, 76, 0.3) calc(50% + 1px));
    background-size: 0% 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

a.text-gold-400:hover {
    background-size: 100% 100%;
}

/* Map container */
iframe {
    border-radius: 0 0 1rem 1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .font-serif {
        letter-spacing: -0.005em;
    }
}

/* Print styles */
@media print {
    nav, #mobile-menu, .reveal-on-scroll {
        display: none !important;
    }
    body {
        background: white;
        color: black;
    }
}
