/* Custom CSS */

:root {
    --accent: #3498db;
    --accent2: #2980b9;
    --accent3: #1abc9c;
    --accent4: #16a085;
    --accent-rgb: 52, 152, 219;
    --accent2-rgb: 41, 128, 185;
    --accent3-rgb: 26, 188, 156;
    --accent4-rgb: 22, 160, 133;
}

/* Navbar Styling */
.navbar {
    transition: all 0.3s ease;
    animation: navFadeIn 0.8s ease-out;
}

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

.navbar .nav-link {
    position: relative;
    font-weight: 500;
    color: #333 !important;
    transition: all 0.4s ease;
    overflow: hidden;
}

.navbar .nav-link.active {
    color: var(--accent) !important;
    font-weight: 600;
}

.navbar .nav-link .hover-line {
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--accent);
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.navbar .nav-link:hover .hover-line,
.navbar .nav-link.active .hover-line {
    width: 70%;
    animation: lineGlow 1.5s infinite alternate;
}

@keyframes lineGlow {
    from {
        box-shadow: 0 0 2px rgba(52, 152, 219, 0.3);
    }
    to {
        box-shadow: 0 0 8px rgba(52, 152, 219, 0.7);
    }
}

.navbar .nav-link:hover {
    color: var(--accent) !important;
}

/* Nav text hover effect */
.navbar .nav-link .nav-text {
    display: inline-block;
    transition: all 0.3s ease;
}

.navbar .nav-link:hover .nav-text {
    transform: scale(1.2);
    font-weight: 600;
    color: var(--accent) !important;
    text-shadow: 0 0 1px rgba(52, 152, 219, 0.3);
}

/* Active page styling */
.navbar .nav-link.active {
    color: var(--accent) !important;
    font-weight: 600;
}

.navbar .nav-link.active .nav-text {
    color: var(--accent) !important;
    font-weight: 600;
}

.navbar .nav-link.active .hover-line {
    width: 70%;
    background: var(--accent);
}

/* Classes added by JavaScript for enhanced hover effect */
.navbar .nav-link.nav-hover .nav-text {
    transform: scale(1.2);
    font-weight: 600;
    color: var(--accent) !important;
}

.navbar .nav-link.nav-normal .nav-text {
    transform: scale(1);
    opacity: 0.8;
}

/* Ensure other nav items stay the same when one is hovered */
.navbar-nav:hover .nav-link:not(:hover) .nav-text {
    transform: scale(1);
}

/* Desktop-only hover effects */
@media (min-width: 992px) {
    .navbar .nav-link:hover .nav-text {
        transform: scale(1.2);
    }
    
    .navbar .nav-link.active:hover .nav-text {
        transform: scale(1.2);
    }
}

.contact-info {
    padding: 8px 15px;
    border-radius: 8px;
    background-color: rgba(52, 152, 219, 0.05);
    transition: all 0.3s ease;
    animation: fadeInRight 0.8s ease-out;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.contact-info:hover {
    background-color: rgba(52, 152, 219, 0.1);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(52, 152, 219, 0.15);
}

.contact-info i {
    transition: all 0.3s ease;
}

.contact-info:hover i {
    transform: rotate(15deg);
    color: var(--accent4) !important;
}

.navbar-light .navbar-toggler {
    border: none;
    outline: none !important;
    transition: all 0.3s ease;
}

.navbar-light .navbar-toggler:hover {
    transform: scale(1.05);
}

.hamburger-icon span {
    background-color: var(--accent2) !important;
    transition: all 0.3s ease;
}

.navbar-light .navbar-toggler:hover .hamburger-icon span {
    background-color: var(--accent) !important;
}
/* Adjust row spacing for mobile product grid */
@media (max-width: 576px) {
  .row.pb-3 {
    margin-left: -5px;
    margin-right: -5px;
  }
  
  /* Fix for product grid on mobile */
  .container-fluid .row.px-xl-5 .container-fluid .row.px-xl-5 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* Desktop view - 4 products per row */
@media (min-width: 992px) {
  .col-lg-4.col-md-6.col-sm-6.pb-1 {
    flex: 0 0 25%;
    max-width: 19%;
  }
}