/* Custom styles that complement Tailwind */

/* Smooth transitions for all interactive elements */
a, button, input, textarea, select {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Focus visible styles for accessibility */
*:focus-visible {
    outline: 2px solid #b82847;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Selection color */
::selection {
    background-color: #fce7eb;
    color: #7a1c34;
}

/* Print styles */
@media print {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
    nav, .mobile-menu {
        display: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .soft-shadow {
        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    }
}

/* Ensure images don't overflow */
img {
    max-width: 100%;
    height: auto;
}

/* Smooth anchor scroll offset for fixed navbar */
section[id] {
    scroll-margin-top: 80px;
}

/* Loading state for form */
button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Custom focus ring for buttons */
.btn-primary:focus-visible {
    outline: 2px solid #b82847;
    outline-offset: 2px;
}

/* Animation for the scroll indicator */
@keyframes scroll-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(8px); }
}

@media (prefers-reduced-motion: no-preference) {
    .animate-scroll-indicator {
        animation: scroll-bounce 2s ease-in-out infinite;
    }
}

/* Ensure text in cards is readable */
.service-card h3,
.service-card p {
    color: inherit;
}

/* Ensure form inputs are readable */
input, textarea, select {
    color-scheme: light;
}

/* Dark mode for the navbar when scrolled */
.navbar-scrolled .logo-text {
    color: #2d2620;
}
