/* Custom styles — thin lines, transitions, and utility overrides */

/* Ensure all links are readable */
a { color: inherit; text-decoration: none; }

/* Smooth focus outlines */
:focus-visible {
    outline: 1px solid #d69db2;
    outline-offset: 2px;
}

/* Mobile menu link transitions */
.mobile-link {
    display: block;
    padding: 0.5rem 0;
}

/* Ensure form inputs have proper contrast on dark bg */
input::placeholder,
textarea::placeholder {
    color: #712c45;
    opacity: 0.7;
}

/* Map filter for reduced color */
iframe[src*="google.com/maps"] {
    border-radius: 0;
}

/* Subtle page gradient */
body {
    background-image: linear-gradient(to bottom, #faf4f7 0%, #ffffff 100%);
    background-attachment: fixed;
}

/* Ensure hero image has no layout shift */
.min-h-\[calc\(100vh-4rem\)\] {
    min-height: calc(100vh - 4rem);
}

@media (min-width: 1024px) {
    .min-h-\[calc\(100vh-4rem\)\] {
        min-height: calc(100vh - 5rem);
    }
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
    html {
        scroll-behavior: auto;
    }
}
