/* ==========================================================================
   Nexus Creative Agency - Custom Premium Stylesheet (Auto-Edit Mode)
   ========================================================================== */

/* Google Font Import (Inter) for perfect modern body copy */
400;500;600;700&display=swap');

/* Typography Override for Ultra-Clean Aesthetic */
body {
    font-family: 'Inter', 'Source Sans Pro', sans-serif !important;
}

h1, h2, h3, h4, h5, h6, .font-primary {
    font-family: 'Montserrat', sans-serif !important;
}

/* Explicit cursor-pointer on all clickable UI components */
a, button, .btn, .cbp-filter-item, .owl-dot, .sidemenu_toggle {
    cursor: pointer !important;
}

/* Base Transition System */
a, .btn, .about-box, .team-classic-content, .blog-listing-inner, .pricing-item, .img img {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Yellow Theme Accents (Nexus Gold) */
.color-yellow {
    color: #f1c30f !important;
}

/* Custom Buttons - Super High Fidelity */
.btn-yellow {
    background-color: #f1c30f !important;
    border: 2px solid #f1c30f !important;
    color: #000000 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    border-radius: 50px !important;
    padding: 12px 35px !important;
}

.btn-yellow:hover {
    background-color: transparent !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}

.border-white {
    border: 2px solid #ffffff !important;
    border-radius: 50px !important;
    padding: 12px 35px !important;
    font-weight: 500 !important;
}

.border-white:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* Hover lift effect for Service boxes (About-boxes) */
.about-box {
    border: 1px solid #2c2c2c !important;
    background-color: #1a1a1a !important;
}

.about-box:hover {
    transform: translateY(-12px) !important;
    border-color: #f1c30f !important;
    box-shadow: 0 20px 40px rgba(241, 195, 15, 0.12) !important;
}

.about-box i {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.about-box:hover i {
    transform: scale(1.15) rotate(5deg);
}

/* Team Card hover lift */
.team-classic-content {
    border: 1px solid #2c2c2c !important;
    background-color: #1a1a1a !important;
}

.team-classic-content:hover {
    transform: translateY(-10px) !important;
    border-color: #f1c30f !important;
    box-shadow: 0 15px 35px rgba(241, 195, 15, 0.08) !important;
}

/* Blog Card hover lift */
.blog-listing-inner {
    border: 1px solid #2c2c2c !important;
    background-color: #1a1a1a !important;
}

.blog-listing-inner:hover {
    transform: translateY(-8px) !important;
    border-color: #f1c30f !important;
    box-shadow: 0 15px 35px rgba(241, 195, 15, 0.08) !important;
}

/* Pricing Card custom active style and lifts */
.pricing-item {
    border: 1px solid #2c2c2c !important;
    background-color: #1a1a1a !important;
}

.pricing-item:hover {
    transform: translateY(-12px) !important;
    border-color: #f1c30f !important;
    box-shadow: 0 25px 45px rgba(241, 195, 15, 0.15) !important;
}

.pricing-item.active-price:hover {
    transform: scale(1.05) translateY(-8px) !important;
}

/* Floating bounce animation for geometric shapes */
@keyframes float-shape {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(3deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

.animate-bounce {
    animation: float-shape 6s ease-in-out infinite !important;
}

/* Custom Cursor visual tweaks */
#cursor {
    border: 2px solid #f1c30f !important;
}

#cursor-loader {
    border-bottom: 2px solid #f1c30f !important;
}

/* Navbar item micro-line hover animation */
.navbar-nav .nav-link {
    position: relative;
    padding-bottom: 5px !important;
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #f1c30f;
    transition: width 0.3s ease-out;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    width: 100%;
}

/* Rounded cards borders consistency */
.border-radius-10 {
    border-radius: 10px !important;
}

/* Spacing and form corrections */
.form-control:focus {
    border-color: #f1c30f !important;
    box-shadow: 0 0 10px rgba(241, 195, 15, 0.15) !important;
}
