/* Card hover effects applied site-wide 
   Based on the hover effects from the industries.css */

/* Basic card hover animation - transform and shadow */
.product-card,
.team-card,
.rounded-lg.shadow-md,
.rounded-xl.shadow-md,
.bg-white.shadow-md {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(0);
    overflow: hidden;
}

.product-card:hover,
.team-card:hover,
.rounded-lg.shadow-md:hover,
.rounded-xl.shadow-md:hover,
.bg-white.shadow-md:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.1), 0 8px 10px -6px rgba(59, 130, 246, 0.1);
}

/* Icon wrapper animations */
.bg-blue-100.rounded-full,
.bg-blue-200.rounded-full,
.bg-blue-300.rounded-full,
.product-card .bg-blue-100.p-3.rounded-full,
.product-icon-wrapper {
    transition: all 0.3s ease;
}

.rounded-lg.shadow-md:hover .bg-blue-100.rounded-full,
.product-card:hover .bg-blue-100.p-3.rounded-full,
.product-card:hover .product-icon-wrapper,
.rounded-lg.shadow-lg:hover .bg-blue-100.p-3.rounded-full {
    background-color: #3b82f6 !important;
    transform: scale(1.1);
    box-shadow: 
        0 0 25px rgba(59, 130, 246, 0.5),
        0 0 50px rgba(59, 130, 246, 0.3),
        0 8px 16px rgba(59, 130, 246, 0.4);
    border: 1px solid rgba(59, 130, 246, 0.6);
}

/* Contact cards hover effects */
.contact-section .bg-white.rounded-xl {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(0);
    overflow: hidden;
}

.contact-section .bg-white.rounded-xl:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.1), 0 8px 10px -6px rgba(59, 130, 246, 0.1);
}

.contact-section .bg-white.rounded-xl .bg-blue-100.rounded-full {
    transition: all 0.3s ease;
}

.contact-section .bg-white.rounded-xl:hover .bg-blue-100.rounded-full {
    background-color: #3b82f6 !important;
    transform: scale(1.1);
    box-shadow: 
        0 0 25px rgba(59, 130, 246, 0.5),
        0 0 50px rgba(59, 130, 246, 0.3),
        0 8px 16px rgba(59, 130, 246, 0.4);
    border: 1px solid rgba(59, 130, 246, 0.6);
}

.contact-section .bg-white.rounded-xl:hover .bg-blue-100.rounded-full svg {
    color: white !important;
}

/* Product cards in the Our Products section - icon color change on hover */
.rounded-lg.shadow-lg:hover .bg-blue-100.p-3.rounded-full .text-blue-600 {
    color: white;
}

/* Product cards in the Our Products section - learn more link color */
.rounded-lg.shadow-lg:hover .text-blue-600 {
    color: #2563eb;
}

.rounded-lg.shadow-md:hover .bg-blue-200.rounded-full {
    background-color: #3b82f6 !important;
    transform: scale(1.1);
    box-shadow: 
        0 0 25px rgba(59, 130, 246, 0.5),
        0 0 50px rgba(59, 130, 246, 0.3),
        0 8px 16px rgba(59, 130, 246, 0.4);
    border: 1px solid rgba(59, 130, 246, 0.6);
}

.rounded-lg.shadow-md:hover .bg-blue-300.rounded-full {
    background-color: #3b82f6 !important;
    transform: scale(1.1);
    box-shadow: 
        0 0 25px rgba(59, 130, 246, 0.5),
        0 0 50px rgba(59, 130, 246, 0.3),
        0 8px 16px rgba(59, 130, 246, 0.4);
    border: 1px solid rgba(59, 130, 246, 0.6);
}

/* Feature list animations */
.list-disc li,
.feature-item {
    transition: all 0.25s ease;
}

.product-card:hover .list-disc li,
.rounded-lg.shadow-md:hover .list-disc li,
.rounded-xl.shadow-md:hover .list-disc li {
    transform: translateX(5px);
}

/* Icon animations */
.product-icon,
.fa-map-marker-alt, 
.fa-envelope,
.fa-phone-alt,
.fa-clock,
.fa-user-tie,
.fa-lock,
.fa-file-contract {
    transition: all 0.3s ease;
}

.product-card:hover .product-icon,
.rounded-lg.shadow-md:hover .bg-blue-100 svg,
.rounded-xl.shadow-md:hover .bg-blue-100 svg,
.rounded-lg.shadow-md:hover .bg-blue-100 i,
.rounded-xl.shadow-md:hover .bg-blue-100 i {
    color: white !important;
    filter: brightness(0) invert(1);
    transform: scale(1.1);
}

/* Keep key services icons blue in light mode */
@media (prefers-color-scheme: light) {
    .rounded-lg.shadow-md:hover .text-blue-600 svg,
    .rounded-xl.shadow-md:hover .text-blue-600 svg,
    .rounded-lg.shadow-md:hover .text-blue-600 i,
    .rounded-xl.shadow-md:hover .text-blue-600 i {
        color: #2563eb !important;
        filter: none !important;
    }
}

/* Standardize icon sizes across all cards */
.product-card svg,
.rounded-lg.shadow-md svg,
.rounded-xl.shadow-md svg,
.product-card i,
.rounded-lg.shadow-md i,
.rounded-xl.shadow-md i,
.service-icon svg,
.service-icon i,
.alphacode-section-card .alphacode-icon-container svg,
.alphacode-section-card .alphacode-icon-container i {
    width: 24px !important;
    height: 24px !important;
}

/* Standardize icon containers */
.bg-blue-100.rounded-full,
.bg-blue-100.p-3.rounded-full,
.service-icon,
.product-icon-wrapper,
.alphacode-section-card .alphacode-icon-container {
    width: 48px !important;
    height: 48px !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Enhanced icon effects for blue icon containers */
.product-card:hover .bg-blue-100.p-3.rounded-full svg,
.product-card:hover .bg-blue-100.p-3.rounded-full i,
.product-card:hover .product-icon-wrapper svg,
.product-card:hover .product-icon-wrapper i,
.rounded-lg.shadow-md:hover .bg-blue-100.rounded-full svg,
.rounded-lg.shadow-md:hover .bg-blue-100.rounded-full i,
.rounded-lg.shadow-md:hover .bg-blue-200.rounded-full svg,
.rounded-lg.shadow-md:hover .bg-blue-200.rounded-full i,
.rounded-lg.shadow-md:hover .bg-blue-300.rounded-full svg,
.rounded-lg.shadow-md:hover .bg-blue-300.rounded-full i {
    color: white !important;
    filter: brightness(0) invert(1);
    transform: scale(1.05);
}

/* Social media icons special hover effect */
.social-icon {
    transition: transform 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}

.social-icon:hover {
    transform: translateY(-5px);
    background-color: #f3f4f6;
}

/* Image hover effects */
.w-full.h-full.object-cover,
.team-image {
    transition: transform 0.5s ease;
}

.overflow-hidden:hover .w-full.h-full.object-cover,
.overflow-hidden:hover .team-image {
    transform: scale(1.05);
}

/* Badge hover effects */
.inline-block.px-3.py-1.bg-blue-100.text-blue-700.text-sm.font-medium.rounded-full {
    transition: all 0.3s ease;
}

.rounded-lg.shadow-md:hover .inline-block.px-3.py-1.bg-blue-100.text-blue-700.text-sm.font-medium.rounded-full,
.rounded-xl.shadow-md:hover .inline-block.px-3.py-1.bg-blue-100.text-blue-700.text-sm.font-medium.rounded-full {
    background-color: #2563eb;
    color: white;
}

/* Special hover effects for values cards in about.html */
.bg-blue-800.rounded-lg.shadow-md,
.bg-blue-700.rounded-lg.shadow-md,
.bg-blue-600.rounded-lg.shadow-md {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bg-blue-800.rounded-lg.shadow-md:hover,
.bg-blue-700.rounded-lg.shadow-md:hover,
.bg-blue-600.rounded-lg.shadow-md:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px -10px rgba(30, 64, 175, 0.4);
}

.bg-blue-800.rounded-lg.shadow-md:hover .bg-white.p-4.rounded-full,
.bg-blue-700.rounded-lg.shadow-md:hover .bg-white.p-4.rounded-full,
.bg-blue-600.rounded-lg.shadow-md:hover .bg-white.p-4.rounded-full {
    transform: scale(1.1);
}

/* Map container hover effect */
.map-container {
    transition: all 0.4s ease;
}

.map-container:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.map-container:hover .map-marker {
    transform: scale(1.1);
    background-color: #2563eb;
}

/* Handle service cards - exclude Our Services main cards but include Application Solutions and Strategic Guidance cards */
.service-card:not(.application-solution-card):not(.strategic-guidance-card) {
    transition: none !important;
    transform: none !important;
}

.service-card:not(.application-solution-card):not(.strategic-guidance-card):hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Target specifically the Application Solutions and Strategic Guidance sections */
.application-solution-card,
.strategic-guidance-card {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transform: translateY(0) !important;
}

.application-solution-card:hover,
.strategic-guidance-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.1), 0 8px 10px -6px rgba(59, 130, 246, 0.1) !important;
}

/* Target specifically service icons in Application Solutions and Strategic Guidance sections */
.application-solution-card .service-icon,
.strategic-guidance-card .service-icon {
    transition: all 0.3s ease;
}

.application-solution-card:hover .service-icon,
.strategic-guidance-card:hover .service-icon {
    background-color: #3b82f6 !important;
    transform: scale(1.1);
    box-shadow: 
        0 0 25px rgba(59, 130, 246, 0.5),
        0 0 50px rgba(59, 130, 246, 0.3),
        0 8px 16px rgba(59, 130, 246, 0.4);
    border: 1px solid rgba(59, 130, 246, 0.6);
}

.application-solution-card:hover .service-icon svg,
.application-solution-card:hover .service-icon i,
.strategic-guidance-card:hover .service-icon svg,
.strategic-guidance-card:hover .service-icon i {
    color: white !important;
    filter: brightness(0) invert(1);
    transform: scale(1.05);
}

/* Specific exclusion for navbar items from card hover effects */
nav *:not(.active-link), 
.site-navbar *:not(.active-link), 
#navbar-container *:not(.active-link), 
.nav-link:not(.active-link), 
header a:not(.active-link) {
    transform: none !important;
    box-shadow: none !important;
}

/* Override any hover effect for navbar items */
nav *:hover:not(.active-link), 
.site-navbar *:hover:not(.active-link), 
#navbar-container *:hover:not(.active-link), 
.nav-link:hover:not(.active-link), 
header a:hover:not(.active-link) {
    transform: none !important;
    box-shadow: none !important;
}

/* Explicitly preserve navbar styles */
.site-navbar, nav {
    background-color: white !important;
}

/* Preserve active-link styles */
.active-link {
    color: #3b82f6 !important;
    font-weight: 600 !important;
    position: relative !important;
}

.active-link::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    width: 100% !important;
    height: 2px !important;
    bottom: -4px !important;
    left: 0 !important;
    background-color: #3b82f6 !important;
}
