/* Custom styles — minimal overrides */

:root {
    --burgundy-950: #3a0a0a;
    --burgundy-800: #7a1717;
    --burgundy-700: #9d1f1f;
    --burgundy-600: #c23030;
    --burgundy-400: #f57a7a;
    --burgundy-300: #faaaaa;
    --burgundy-200: #fcd0d0;
    --burgundy-100: #fee6e6;
    --blush-50: #fef7f6;
    --blush-100: #fdf0ee;
}

/* Smooth focus styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--burgundy-600);
    outline-offset: 2px;
}

/* Selection color */
::selection {
    background: var(--burgundy-200);
    color: var(--burgundy-950);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--blush-50);
}
::-webkit-scrollbar-thumb {
    background: var(--burgundy-300);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--burgundy-500);
}

/* Mobile menu transitions */
#mobileMenu.opening {
    opacity: 1;
    pointer-events: auto;
}
#mobileMenu.closing {
    opacity: 0;
    pointer-events: none;
}

/* Fix for Cormorant italic in headings */
h2 em, h1 em {
    font-style: italic;
    font-weight: 300;
}

/* Ensure consistent spacing on all sections */
section {
    position: relative;
}

/* Subtle hover lift for service cards */
#services .group {
    will-change: transform;
}
#services .group:hover {
    transform: translateY(-2px);
    transition: transform 0.3s ease, border-color 0.4s ease;
}

/* Form input autofill styling */
input:-webkit-autofill,
textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #fef7f6 inset !important;
    box-shadow: 0 0 0 30px #fef7f6 inset !important;
    caret-color: var(--burgundy-950);
}
