/* Custom CSS for Tailwind-based design */

/* Mobile menu functionality */
.mobile-menu-open {
    display: block !important;
}

/* Smooth transitions for mobile submenus */
.mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.mobile-submenu.open {
    max-height: 500px;
}

/* Hide scrollbars completely */
::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 0px;
}

::-webkit-scrollbar-thumb:hover {
    background: transparent;
}

/* Hide scrollbars for Firefox */
html {
    scrollbar-width: none;
}

/* Hide scrollbars for IE/Edge */
body {
    -ms-overflow-style: none;
}

/* Ensure dropdowns appear above other content */
.group:hover .group-hover\:opacity-100 {
    z-index: 9999;
}

/* Animation for fade-in elements */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.6s ease forwards;
}

/* Custom background for hero sections */
.hero-bg {
    background-image: linear-gradient(135deg, rgba(44, 62, 80, 0.05) 0%, rgba(26, 37, 47, 0.1) 100%),
                      url('../images/image_2.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Parallax effect for hero sections */
@media (prefers-reduced-motion: no-preference) {
    .parallax {
        transform: translateY(var(--scroll-y, 0));
        transition: transform 0.1s ease-out;
    }
}

/* Glassmorphism effect */
.glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Improved focus states for accessibility */
.focus-ring:focus {
    outline: 2px solid #8BC34A;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .shadow-soft,
    .shadow-medium,
    .shadow-strong {
        box-shadow: 0 0 0 1px #000;
    }
}

/* Dark mode support (if needed) */
@media (prefers-color-scheme: dark) {
    .dark-mode-auto {
        background-color: #1a1a1a;
        color: #ffffff;
    }
}

/* Brand-specific overrides for americanintegritypa */
.btn-primary { background-color: #1E3A8A !important; }
.service-item h3 { color: #1E3A8A !important; }
.location-phone { color: #1E3A8A !important; }
.nav a:hover { color: #1E3A8A !important; }
.nav a.active { color: #1E3A8A !important; border-bottom-color: #1E3A8A !important; }
.testimonial-item { border-left-color: #1E3A8A !important; }
.btn-outline { color: #1E3A8A !important; border-color: #1E3A8A !important; }
.btn-outline:hover { background-color: #1E3A8A !important; }
.form-group input:focus, .form-group textarea:focus { border-color: #1E3A8A !important; }
