/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Navbar logo styling */
.navbar-logo img {
    filter: brightness(0) saturate(100%);
}

/* Custom Tailwind utilities */
.text-shadow-lg {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Gradient text animation */
@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.gradient-text {
    background-size: 200% 200%;
    animation: gradientShift 3s ease infinite;
}

/* 3D Pricing Cards */
.pricing-card {
    perspective: 1000px;
}

.card-container {
    transform-style: preserve-3d;
    transition: transform 0.3s ease;
}

.pricing-card:hover .card-container {
    transform: rotateY(5deg) rotateX(5deg);
}

.card-body {
    transform-style: preserve-3d;
    transition: all 0.3s ease;
}

.pricing-card:hover .card-body {
    transform: translateZ(20px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.bento-card:hover {
    transform: translateY(-2px);
}

.bento-card .group:hover .w-fit {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}

/* Navbar-specific styles */
.nav-body {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.nav-body.visible {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    width: 70% !important;
    transform: translateY(20px);
}

.mobile-nav {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.mobile-nav.visible {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    width: 90% !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    border-radius: 4px !important;
    transform: translateY(20px);
}

.nav-item::before {
    content: '';
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    border-radius: 9999px;
    background: rgb(243, 244, 246);
    opacity: 0;
    transition: opacity 0.2s;
    z-index: -1;
}

.nav-item:hover::before {
    opacity: 1;
}

.navbar-btn.primary {
    box-shadow: 0 0 24px rgba(34, 42, 53, 0.06), 
                0 1px 1px rgba(0, 0, 0, 0.05), 
                0 0 0 1px rgba(34, 42, 53, 0.04), 
                0 0 4px rgba(34, 42, 53, 0.08), 
                0 16px 68px rgba(47, 48, 55, 0.05), 
                0 1px 0 rgba(255, 255, 255, 0.1) inset;
}

.mobile-nav-toggle.active .menu-icon {
    opacity: 0;
}

.mobile-nav-toggle.active .close-icon {
    opacity: 1;
}

.mobile-nav-menu.active {
    display: flex !important;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mouse-following Shine Border */
.shine-border {
    --border-width: 2px;
    --mouse-x: 50%;
    --mouse-y: 50%;
    background-image: radial-gradient(circle at var(--mouse-x) var(--mouse-y), transparent, transparent, #667eea, #764ba2, transparent, transparent);
    background-size: 300% 300%;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: var(--border-width);
    pointer-events: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bento-card {
    position: relative;
    overflow: hidden;
}

.bento-card:hover .shine-border {
    opacity: 1;
}

/* Solutions Dropdown Styles */
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}

.group:hover .group-hover\:visible {
    visibility: visible;
}

.group:hover .group-hover\:rotate-180 {
    transform: rotate(180deg);
}

/* Mobile Solutions Dropdown Animation */
#mobileSolutionsMenu {
    transition: all 0.3s ease-in-out;
}

#mobileSolutionsMenu.hidden {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}

#mobileSolutionsMenu:not(.hidden) {
    max-height: 200px;
    opacity: 1;
}

.Business {
  background-color: #f3e8ff; /* light purple */
  color: #6b21a8;
  border: 1px solid #e9d5ff;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Technology {
  background-color: #dbeafe; /* light blue */
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Finance {
  background-color: #dcfce7; /* light green */
  color: #166534;
  border: 1px solid #bbf7d0;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Health {
  background-color: #fce7f3; /* light pink */
  color: #9d174d;
  border: 1px solid #fbcfe8;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Education {
  background-color: #fef9c3; /* light yellow */
  color: #854d0e;
  border: 1px solid #fef08a;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.RealEstate {
  background-color: #ffedd5; /* light orange */
  color: #9a3412;
  border: 1px solid #fed7aa;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Travel {
  background-color: #ccfbf1; /* light teal */
  color: #115e59;
  border: 1px solid #99f6e4;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.FoodDining {
  background-color: #fee2e2; /* light red */
  color: #991b1b;
  border: 1px solid #fecaca;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Names {
  background-color: #f3f4f6; /* light gray */
  color: #374151;
  border: 1px solid #e5e7eb;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Brandable {
  background-color: #e0e7ff; /* light indigo */
  color: #3730a3;
  border: 1px solid #c7d2fe;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}

.Geographical {
  background-color: #ecfccb; /* light lime */
  color: #3f6212;
  border: 1px solid #d9f99d;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-block;
}
