/* Global Styles */
body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    /* Prevent Text Selection & Image Dragging */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
    -webkit-user-drag: none;
}

/* Allow text selection only on specific elements if needed (e.g., forms) */
input, textarea {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none; /* Optional: Disables clicking on images completely (beware of links) */
}

/* Re-enable pointer events for images inside links or interactive elements */
a img, button img {
    pointer-events: auto;
}

h1, h2, h3, h4, h5, h6 { font-family: 'Outfit', sans-serif; }

/* Navbar Transition */
#navbar {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Navbar Scroll State (Glass Green) */
.nav-scrolled {
    background: rgba(240, 253, 244, 0.95); /* agro-50 */
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* =========================================
   CUSTOM MENU STYLES (Transparent vs Fixed)
   ========================================= */

/* 1. Transparent Menu (Default State) */
#navbar:not(.nav-scrolled) .nav-link {
    color: white;
    border-radius: 12px;
}

#navbar:not(.nav-scrolled) .nav-link:hover {
    background-color: white;
    color: #16a34a; /* agro-600 */
}

/* Login Button - Transparent State */
#navbar:not(.nav-scrolled) .btn-login {
    background-color: white;
    color: #15803d; /* agro-700 */
}

#navbar:not(.nav-scrolled) .btn-login:hover {
    background-color: #f0fdf4; /* agro-50 */
}

/* 2. Fixed Menu (Scrolled State) */
.nav-scrolled .nav-link {
    color: #15803d; /* agro-700 */
    border-radius: 15px;
}

.nav-scrolled .nav-link:hover {
    background-color: #16a34a; /* agro-600 */
    color: #f0fdf4; /* agro-50 (very light green/white) */
}

/* Login Button - Fixed State */
.nav-scrolled .btn-login {
    background-color: #15803d; /* agro-700 */
    color: white;
}

.nav-scrolled .btn-login:hover {
    background-color: #16a34a; /* agro-600 */
}

/* 3. Mobile Menu (Modal) - Same style as Fixed Menu Hover */
.mobile-link {
    display: inline-block;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
    border-radius: 15px;
}

.mobile-link:hover {
    background-color: #16a34a; /* agro-600 */
    color: #f0fdf4 !important; /* agro-50 */
    transform: translateX(10px); /* Slight movement */
}

/* Hero Gradient - Soft & Natural */
.hero-bg {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0,0,0,0) 100%), url('../../image/fundo.webp');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Glassmorphism Floating Items */
.floating-item {
    position: absolute;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
    z-index: 20;
    color: white;
}

/* Stronger Pulse Behind Drone */
.drone-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    /* Gradient: Darker Green Center (agro-600) -> Light Green Edge (agro-200) */
    background: radial-gradient(circle, rgba(22, 163, 74, 0.25) 0%, rgba(187, 247, 208, 0.1) 70%, transparent 100%);
    border-radius: 50%;
    z-index: 0;
    animation: softPulse 3s infinite ease-out;
    box-shadow: 0 0 60px rgba(187, 247, 208, 0.2);
}

.drone-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 5px solid rgba(187, 247, 208, 0.5);
    animation: ripple 3s infinite ease-out;
    opacity: 0;
}

@keyframes softPulse {
    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.4; }
    50% { transform: translate(-50%, -50%) scale(1.3); opacity: 0.7; }
    100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.4; }
}

@keyframes ripple {
    0% { width: 80%; height: 80%; opacity: 0.9; border-width: 8px; }
    100% { width: 200%; height: 200%; opacity: 0; border-width: 0px; }
}

/* Smooth Scrollbar Green Theme */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f0fdf4; }
::-webkit-scrollbar-thumb { background: #16a34a; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #15803d; }

.text-shadow-sm { text-shadow: 0 2px 4px rgba(0,0,0,0.1); }

/* Icon Outline Effect on Hover */
.group:hover .icon-outline-hover {
    color: transparent !important;
    -webkit-text-stroke: 2px currentColor;
}

/* Animations from JS Injection */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Floating Button Pulse Animation */
@keyframes pulse-shadow {
    0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    70% { box-shadow: 0 0 0 20px rgba(22, 163, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}

.animate-pulse-btn {
    animation: pulse-shadow 2s infinite;
}

/* Arrow Line Reconstruction Animation */
.arrow-line, .arrow-head {
    stroke-dasharray: 20;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 0.4s ease;
}

.group:hover .arrow-line {
    animation: drawLine 0.6s forwards;
}

.group:hover .arrow-head {
    animation: drawHead 0.6s 0.2s forwards; /* Delay head slightly */
}

@keyframes drawLine {
    0% { stroke-dashoffset: 20; opacity: 0; }
    100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes drawHead {
    0% { stroke-dashoffset: 20; opacity: 0; }
    100% { stroke-dashoffset: 0; opacity: 1; }
}
