/* ===== PREMIUM FOOTER STYLES (MATCHING INDEX PAGE) ===== */
.footer {
    background: linear-gradient(160deg, #0d2b1a 0%, #133524 40%, #1a4a2e 70%, #0f2318 100%) !important;
    padding-top: 70px !important;
    position: relative !important;
    overflow: hidden !important;
    color: #e8f5e0 !important;
}

/* Animated floating particles in footer */
.footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle, rgba(27,189,54,0.08) 1px, transparent 1px),
        radial-gradient(circle, rgba(27,189,54,0.05) 1px, transparent 1px);
    background-size: 60px 60px, 100px 100px;
    background-position: 0 0, 30px 30px;
    animation: footerGridDrift 18s linear infinite;
    pointer-events: none;
}

/* Glowing orbs */
.footer::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 400px 300px at 10% 80%, rgba(27,189,54,0.07) 0%, transparent 70%),
        radial-gradient(ellipse 300px 200px at 90% 20%, rgba(47,107,69,0.10) 0%, transparent 70%),
        radial-gradient(ellipse 250px 250px at 50% 50%, rgba(19,53,36,0.04) 0%, transparent 70%);
    animation: footerOrbPulse 8s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes footerGridDrift {
    0%   { background-position: 0 0, 30px 30px; }
    100% { background-position: 60px 60px, 90px 90px; }
}

@keyframes footerOrbPulse {
    0%   { opacity: 0.6; transform: scale(1); }
    100% { opacity: 1;   transform: scale(1.08); }
}

/* Floating leaf shapes */
.footer-leaf {
    position: absolute;
    width: 8px;
    height: 12px;
    background: rgba(27,189,54,0.12);
    border-radius: 50% 0 50% 0;
    animation: floatLeaf linear infinite;
    pointer-events: none;
}
.footer-leaf:nth-child(1)  { left: 8%;  bottom: -20px; width: 6px;  height: 10px; animation-duration: 12s; animation-delay: 0s; }
.footer-leaf:nth-child(2)  { left: 22%; bottom: -20px; width: 9px;  height: 14px; animation-duration: 15s; animation-delay: 2s; opacity: 0.7; }
.footer-leaf:nth-child(3)  { left: 38%; bottom: -20px; width: 5px;  height: 8px;  animation-duration: 10s; animation-delay: 5s; opacity: 0.5; }
.footer-leaf:nth-child(4)  { left: 55%; bottom: -20px; width: 10px; height: 16px; animation-duration: 14s; animation-delay: 1s; }
.footer-leaf:nth-child(5)  { left: 70%; bottom: -20px; width: 7px;  height: 11px; animation-duration: 11s; animation-delay: 4s; opacity: 0.6; }
.footer-leaf:nth-child(6)  { left: 85%; bottom: -20px; width: 8px;  height: 13px; animation-duration: 13s; animation-delay: 7s; opacity: 0.8; }
.footer-leaf:nth-child(7)  { left: 15%; bottom: -20px; width: 5px;  height: 9px;  animation-duration: 16s; animation-delay: 3s; opacity: 0.4; }
.footer-leaf:nth-child(8)  { left: 48%; bottom: -20px; width: 11px; height: 17px; animation-duration: 9s;  animation-delay: 6s; opacity: 0.5; }

@keyframes floatLeaf {
    0%   { transform: translateY(0)   rotate(0deg)   translateX(0);   opacity: 0; }
    10%  { opacity: 1; }
    50%  { transform: translateY(-50vh) rotate(180deg) translateX(30px); opacity: 0.8; }
    90%  { opacity: 0.3; }
    100% { transform: translateY(-100vh) rotate(360deg) translateX(-20px); opacity: 0; }
}

/* Content sits above animation layers */
.footer .container { position: relative; z-index: 2; }

.footer-widget h4 {
    color: #e8f5e0 !important;
    font-size: 1.3rem !important;
    margin-bottom: 25px !important;
    position: relative !important;
    padding-bottom: 15px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
}

.footer-widget h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #1bbd36, #4ade80);
    border-radius: 2px;
}

.footer-about p {
    color: rgba(200, 235, 210, 0.75) !important;
    margin-bottom: 25px !important;
}

.footer-social a {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(27, 189, 54, 0.12) !important;
    border: 1px solid rgba(27, 189, 54, 0.25) !important;
    border-radius: 50% !important;
    color: #a8ddb5 !important;
    margin-right: 10px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.footer-social a:hover {
    background: #1bbd36 !important;
    border-color: #1bbd36 !important;
    color: #ffffff !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(27,189,54,0.35) !important;
}

.footer-links ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    margin-bottom: 12px !important;
}

.footer-links a {
    color: rgba(200, 235, 210, 0.7) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.footer-links a:hover {
    color: #4ade80 !important;
    padding-left: 5px !important;
}

.footer-contact p {
    color: rgba(200, 235, 210, 0.7) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.footer-contact i {
    color: #4ade80 !important;
    font-size: 1.2rem !important;
    margin-top: 5px !important;
}

.newsletter-form {
    display: flex !important;
    gap: 10px !important;
}

.newsletter-form input {
    flex: 1 !important;
    padding: 12px 20px !important;
    border: 1px solid rgba(27,189,54,0.25) !important;
    border-radius: 50px !important;
    background: rgba(27, 189, 54, 0.08) !important;
    color: #e8f5e0 !important;
}

.newsletter-form input::placeholder {
    color: rgba(200, 235, 210, 0.45) !important;
}

.newsletter-form button {
    padding: 12px 25px !important;
    background: linear-gradient(135deg, #1bbd36, #15a32e) !important;
    border: none !important;
    border-radius: 50px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(27,189,54,0.3) !important;
}

.newsletter-form button i {
    font-size: 1.2rem !important;
    color: #ffffff !important;
}

.newsletter-form button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(27,189,54,0.45) !important;
}

.footer-bottom {
    border-top: 1px solid rgba(27, 189, 54, 0.18) !important;
    padding: 25px 0 !important;
    margin-top: 20px !important;
}

.footer-bottom p {
    color: rgba(200, 235, 210, 0.55) !important;
    margin: 0 !important;
}

.footer-bottom a {
    color: #4ade80 !important;
    text-decoration: none !important;
}

.footer-bottom a:hover {
    color: #1bbd36 !important;
}
