/* Landing Pages Styles - Garden Grid Color Palette */



:root {

    /* Couleurs principales du PDF GardenGrid */

    --primary-color: #2c5530; /* Vert foncé principal */

    --secondary-color: #4a7c59; /* Vert secondaire */

    --accent-green: #009640; /* Vert accent (C=85 M=10 J=100 N=10) */

    --bright-green: #96c11f; /* Vert vif (C=50 M=0 J=100 N=0) */

    --lime-green: #dee000; /* Vert lime (C=20 M=0 J=100 N=0) */

    --success-color: #28a745;

    --light-green: #e8f5e8;

    --dark-green: #1a3d1f;

    

    /* Couleurs neutres */

    --text-dark: #1d1d1b; /* Noir (C=0 M=0 J=0 N=100) */

    --text-muted: #6c757d;

    --white: #ffffff;

    --light-gray: #f6f6f6; /* C=0 M=0 J=0 N=5 */

    --medium-gray: #b3b3b3; /* C=0 M=0 J=0 N=30 */

    

    /* Couleurs d'accent */

    --red-accent: #e30613; /* Rouge CMJN */

    --blue-accent: #312783; /* Bleu CMJN */

    --yellow-accent: #ffed00; /* Jaune CMJN */

    

    /* Design tokens */

    --border-radius: 0.75rem;

    --border-radius-lg: 1rem;

    --box-shadow: 0 0.25rem 0.5rem rgba(44, 85, 48, 0.1);

    --box-shadow-lg: 0 1rem 2rem rgba(44, 85, 48, 0.15);

    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    --gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-green) 100%);

    --gradient-hero: linear-gradient(135deg, var(--primary-color) 0%, var(--bright-green) 50%, var(--lime-green) 100%);

}



/* Global Styles */

html, body {

    overflow-x: hidden;

    max-width: 100%;

    margin: 0;

    padding: 0;

}



body {

    font-family: 'Inter', sans-serif;

    line-height: 1.6;

    color: #333;

}



.text-primary {

    color: var(--primary-color) !important;

}



.bg-primary {

    background-color: var(--primary-color) !important;

}



.btn-primary {

    background-color: var(--primary-color);

    border-color: var(--primary-color);

}



.btn-primary:hover {

    background-color: var(--dark-green);

    border-color: var(--dark-green);

}



.btn-outline-primary {

    color: var(--primary-color);

    border-color: var(--primary-color);

}



.btn-outline-primary:hover {

    background-color: var(--primary-color);

    border-color: var(--primary-color);

}



/* Navigation */

.navbar {

    transition: var(--transition);

    padding: 1rem 0;

    backdrop-filter: blur(15px);

    background: rgba(255, 255, 255, 0.95) !important;

    border-bottom: 1px solid rgba(44, 85, 48, 0.1);

    z-index: 1050;

    box-shadow: 0 2px 20px rgba(44, 85, 48, 0.1);

}



/* Logo Container */

.logo-container {

    display: flex;

    align-items: center;

    transition: var(--transition);

}



.logo-container:hover {

    transform: scale(1.02);

}



.logo-img {

    transition: var(--transition);

    filter: drop-shadow(0 2px 4px rgba(44, 85, 48, 0.2));

}



.logo-text {

    display: flex;

    flex-direction: column;

    margin-left: 0.75rem;

}



.logo-main {

    font-size: 1.5rem;

    font-weight: 800;

    color: var(--primary-color);

    line-height: 1;

}



.logo-sub {

    font-size: 0.75rem;

    font-weight: 600;

    color: var(--accent-green);

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-top: -2px;

}



/* Navigation Links */

.navbar-nav {

    gap: 0.5rem;

}



.nav-link {

    font-weight: 500;

    transition: var(--transition);

    position: relative;

    padding: 0.75rem 1rem !important;

    border-radius: var(--border-radius);

    color: var(--text-dark) !important;

    display: flex;

    align-items: center;

}



.nav-link i {

    font-size: 0.875rem;

    opacity: 0.7;

    transition: var(--transition);

}



.nav-link:hover,

.nav-link.active {

    color: var(--primary-color) !important;

    background: rgba(44, 85, 48, 0.08);

    transform: translateY(-1px);

}



.nav-link:hover i,

.nav-link.active i {

    opacity: 1;

    color: var(--accent-green);

}



.nav-link::after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 50%;

    width: 0;

    height: 2px;

    background: var(--gradient-primary);

    transition: var(--transition);

    transform: translateX(-50%);

    border-radius: 1px;

}



.nav-link:hover::after,

.nav-link.active::after {

    width: 70%;

}



/* Navigation Actions */

.navbar-actions {

    gap: 0.75rem;

}



.navbar-actions .btn {

    font-weight: 600;

    padding: 0.5rem 1.25rem;

    border-radius: var(--border-radius);

    transition: var(--transition);

    position: relative;

    overflow: hidden;

}



.navbar-actions .btn::before {

    content: '';

    position: absolute;

    top: 0;

    left: -100%;

    width: 100%;

    height: 100%;

    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);

    transition: var(--transition);

}



.navbar-actions .btn:hover::before {

    left: 100%;

}



.navbar-actions .btn-outline-primary {

    border: 2px solid var(--primary-color);

    color: var(--primary-color);

    background: transparent;

}



.navbar-actions .btn-outline-primary:hover {

    background: var(--primary-color);

    color: white;

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(44, 85, 48, 0.3);

}



.navbar-actions .btn-primary {

    background: var(--gradient-primary);

    border: none;

    color: white;

}



.navbar-actions .btn-primary:hover {

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(0, 150, 64, 0.4);

}



/* Mobile Navigation */

.navbar-toggler {

    border: none;

    padding: 0.5rem;

    border-radius: var(--border-radius);

    transition: var(--transition);

}



.navbar-toggler:focus {

    box-shadow: 0 0 0 0.2rem rgba(0, 150, 64, 0.25);

}



.navbar-toggler:hover {

    background: rgba(44, 85, 48, 0.1);

}



@media (max-width: 991.98px) {

    .navbar-collapse {

        background: rgba(255, 255, 255, 0.98);

        border-radius: var(--border-radius-lg);

        margin-top: 1rem;

        padding: 1rem;

        box-shadow: var(--box-shadow-lg);

        backdrop-filter: blur(20px);

    }

    

    .navbar-actions {

        margin-top: 1rem;

        padding-top: 1rem;

        border-top: 1px solid rgba(44, 85, 48, 0.1);

    }

}



/* Hero Section - Styles supprimés, maintenant intégrés directement dans le template */



/* Fallback pour les cas où l'image ne se charge pas - temporairement désactivé */

/*

.hero-section::after {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: var(--gradient-hero);

    opacity: 0;

    z-index: 0;

    transition: opacity 0.3s ease;

}



.hero-section:not([style*="background-image"])::after,

.hero-section[style*="background-image: none"]::after {

    opacity: 1;

}

*/



/* Container and Layout */

.container {

    max-width: 100%;

    overflow-x: hidden;

}



.row {

    margin-left: 0;

    margin-right: 0;

}



.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,

.col-auto, .col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto,

.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-auto,

.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto,

.col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto {

    padding-left: 15px;

    padding-right: 15px;

}



/* Main content wrapper */

main {

    overflow-x: hidden;

    width: 100%;

    max-width: 100%;

}



/* Hero Section - Clean background only */



/* Responsive Hero Section - Styles supprimés, maintenant intégrés directement dans le template */



/* Responsive Features Section */

@media (max-width: 768px) {

    .features-section {

        padding: 4rem 0;

    }

}



@media (max-width: 576px) {

    .features-section {

        padding: 3rem 0;

    }

}





/* Features Section */

.features-section {

    padding: 6rem 0;

    background: linear-gradient(135deg, var(--light-gray) 0%, rgba(150, 193, 31, 0.05) 100%);

    position: relative;

    width: 100%;

    max-width: 100%;

    overflow-x: hidden;

}



.features-section::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23009640" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="%23009640" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="%23009640" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="%23009640" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="%23009640" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');

    opacity: 0.3;

    z-index: 1;

}



.features-section .container {

    position: relative;

    z-index: 2;

}



.feature-card {

    background: white;

    border-radius: var(--border-radius-lg);

    box-shadow: var(--box-shadow);

    transition: var(--transition);

    border: 1px solid rgba(44, 85, 48, 0.1);

    position: relative;

    overflow: hidden;

}



.feature-card::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 4px;

    background: var(--gradient-primary);

    transform: scaleX(0);

    transition: var(--transition);

}



.feature-card:hover::before {

    transform: scaleX(1);

}



.feature-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--box-shadow-lg);

    border-color: var(--accent-green);

}



.feature-icon {

    position: relative;

    margin-bottom: 1.5rem;

}



.feature-icon i {

    font-size: 3.5rem;

    background: var(--gradient-primary);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    transition: var(--transition);

}



.feature-card:hover .feature-icon i {

    transform: scale(1.1);

    filter: drop-shadow(0 0 10px rgba(0, 150, 64, 0.3));

}



.feature-card h4 {

    color: var(--primary-color);

    font-weight: 700;

    margin-bottom: 1rem;

}



.feature-card p {

    color: var(--text-muted);

    line-height: 1.6;

}



/* CTA Section */

.cta-section {

    padding: 5rem 0;

    background: var(--gradient-primary);

    position: relative;

    overflow: hidden;

}



.cta-section::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');

    z-index: 1;

}



.cta-section .container {

    position: relative;

    z-index: 2;

}



.cta-section h2 {

    color: white;

    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

}



.cta-section p {

    color: rgba(255, 255, 255, 0.9);

}



.cta-section .btn-light {

    background: white;

    color: var(--primary-color);

    border: none;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    transition: var(--transition);

    box-shadow: var(--box-shadow-lg);

}



.cta-section .btn-light:hover {

    background: var(--lime-green);

    color: var(--primary-color);

    transform: translateY(-3px);

    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.2);

}



/* Page Header */

.page-header {

    padding: 6rem 0 4rem;

    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);

}



/* About Page */

.stat-box h3 {

    font-size: 2.5rem;

    font-weight: 700;

}



/* Teams Page */

.team-card {

    background: white;

    border-radius: var(--border-radius);

    padding: 2rem;

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.team-card:hover {

    transform: translateY(-5px);

}



.team-photo img {

    width: 120px;

    height: 120px;

    object-fit: cover;

}



.social-links a {

    display: inline-block;

    width: 40px;

    height: 40px;

    line-height: 40px;

    text-align: center;

    border-radius: 50%;

    background: #f8f9fa;

    transition: all 0.3s ease;

}



.social-links a:hover {

    background: var(--primary-color);

    color: white !important;

}



.advisor-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.advisor-card:hover {

    transform: translateY(-5px);

}



.advisor-photo img {

    width: 100px;

    height: 100px;

    object-fit: cover;

}



/* Companies Page */

.solution-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

    border: 1px solid #e9ecef;

}



.solution-card:hover {

    transform: translateY(-5px);

    box-shadow: var(--box-shadow-lg);

}



.solution-icon i {

    font-size: 3rem;

}



.testimonial-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    border: 1px solid #e9ecef;

}



.pricing-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    border: 2px solid #e9ecef;

    transition: transform 0.3s ease;

}



.pricing-card:hover {

    transform: translateY(-5px);

}



.pricing-card.border-primary {

    border-color: var(--primary-color) !important;

    position: relative;

}



.badge {

    font-size: 0.75rem;

    padding: 0.5rem 1rem;

}



.price {

    margin: 1.5rem 0;

}



/* News Page */

.featured-news-card {

    background: white;

    border-radius: var(--border-radius);

    overflow: hidden;

    box-shadow: var(--box-shadow);

}



.news-sidebar {

    background: white;

    border-radius: var(--border-radius);

    padding: 2rem;

    box-shadow: var(--box-shadow);

    height: fit-content;

}



.news-item {

    border-bottom: 1px solid #e9ecef;

    padding-bottom: 1rem;

}



.news-item:last-child {

    border-bottom: none;

}



.news-category-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

    border: 1px solid #e9ecef;

}



.news-category-card:hover {

    transform: translateY(-5px);

}



.category-icon i {

    font-size: 3rem;

}



.article-card {

    background: white;

    border-radius: var(--border-radius);

    overflow: hidden;

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.article-card:hover {

    transform: translateY(-5px);

}



.article-content {

    padding: 1.5rem;

}



/* Careers Page */

.benefit-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

    border: 1px solid #e9ecef;

}



.benefit-card:hover {

    transform: translateY(-5px);

}



.benefit-icon i {

    font-size: 3rem;

}



.job-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    border: 1px solid #e9ecef;

    transition: transform 0.3s ease;

}



.job-card:hover {

    transform: translateY(-5px);

}



.culture-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.culture-card:hover {

    transform: translateY(-5px);

}



.benefit-item {

    padding: 1.5rem;

}



.benefit-item .benefit-icon i {

    font-size: 2.5rem;

}



/* Investor Page */

.investment-highlights .highlight-item {

    padding: 1rem;

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

}



.stat-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    border: 1px solid #e9ecef;

}



.revenue-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

    border: 1px solid #e9ecef;

}



.revenue-card:hover {

    transform: translateY(-5px);

}



.revenue-icon i {

    font-size: 3rem;

}



.metric-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    border: 1px solid #e9ecef;

}



.investor-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.investor-card:hover {

    transform: translateY(-5px);

}



.investor-logo i {

    color: var(--primary-color);

}



.fund-usage-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.fund-usage-card:hover {

    transform: translateY(-5px);

}



.usage-icon i {

    font-size: 2.5rem;

}



.document-card {

    background: white;

    border-radius: var(--border-radius);

    box-shadow: var(--box-shadow);

    transition: transform 0.3s ease;

}



.document-card:hover {

    transform: translateY(-5px);

}



.document-icon i {

    font-size: 3rem;

}



/* Contact Page */

.contact-form {

    background: white;

    border-radius: var(--border-radius);

    padding: 3rem;

    box-shadow: var(--box-shadow);

}



.contact-info {

    background: white;

    border-radius: var(--border-radius);

    padding: 2rem;

    box-shadow: var(--box-shadow);

    height: fit-content;

}



.contact-item {

    padding: 1rem 0;

    border-bottom: 1px solid #e9ecef;

}



.contact-item:last-child {

    border-bottom: none;

}



.contact-icon i {

    font-size: 1.5rem;

    width: 30px;

    text-align: center;

}



.social-link {

    display: inline-block;

    width: 45px;

    height: 45px;

    line-height: 45px;

    text-align: center;

    border-radius: 50%;

    background: #f8f9fa;

    color: var(--text-muted);

    transition: all 0.3s ease;

}



.social-link:hover {

    background: var(--primary-color);

    color: white;

}



.map-container {

    border-radius: var(--border-radius);

    overflow: hidden;

    box-shadow: var(--box-shadow);

}



.map-placeholder {

    border-radius: var(--border-radius);

}



/* Accordion */

.accordion-item {

    border: 1px solid #e9ecef;

    margin-bottom: 1rem;

    border-radius: var(--border-radius) !important;

    overflow: hidden;

}



.accordion-button {

    background: white;

    border: none;

    font-weight: 600;

    color: var(--primary-color);

}



.accordion-button:not(.collapsed) {

    background: var(--light-green);

    color: var(--primary-color);

}



.accordion-button:focus {

    box-shadow: none;

    border: none;

}



/* Footer */

footer {

    background: #000000 !important;

}



footer a {

    transition: color 0.3s ease;

}



footer a:hover {

    color: var(--primary-color) !important;

}



/* Responsive Design */

@media (max-width: 768px) {

    .hero-content h1 {

        font-size: 2.5rem;

    }

    

    .hero-buttons .btn {

        display: block;

        width: 100%;

        margin-bottom: 1rem;

    }

    

    .image-grid {

        height: 300px;

        margin-top: 2rem;

    }

    

    .contact-form {

        padding: 2rem;

    }

    

    .contact-info {

        margin-top: 2rem;

    }

}



@media (max-width: 576px) {

    .hero-content h1 {

        font-size: 2rem;

    }

    

    .display-4 {

        font-size: 2.5rem;

    }

    

    .display-5 {

        font-size: 2rem;

    }

    

    .display-6 {

        font-size: 1.75rem;

    }

}



/* Animation Classes */

.fade-in {

    animation: fadeIn 0.8s ease-out;

}



@keyframes fadeIn {

    from {

        opacity: 0;

        transform: translateY(30px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.fadeInUp {

    animation: fadeInUp 0.8s ease-out;

}



@keyframes fadeInUp {

    from {

        opacity: 0;

        transform: translateY(40px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.slide-in-left {

    animation: slideInLeft 0.8s ease-out;

}



@keyframes slideInLeft {

    from {

        opacity: 0;

        transform: translateX(-50px);

    }

    to {

        opacity: 1;

        transform: translateX(0);

    }

}



.slide-in-right {

    animation: slideInRight 0.8s ease-out;

}



@keyframes slideInRight {

    from {

        opacity: 0;

        transform: translateX(50px);

    }

    to {

        opacity: 1;

        transform: translateX(0);

    }

}



.scale-in {

    animation: scaleIn 0.6s ease-out;

}



@keyframes scaleIn {

    from {

        opacity: 0;

        transform: scale(0.8);

    }

    to {

        opacity: 1;

        transform: scale(1);

    }

}



.float {

    animation: float 3s ease-in-out infinite;

}



@keyframes float {

    0%, 100% { transform: translateY(0px); }

    50% { transform: translateY(-10px); }

}



.pulse {

    animation: pulse 2s ease-in-out infinite;

}



@keyframes pulse {

    0%, 100% { transform: scale(1); }

    50% { transform: scale(1.05); }

}



/* Footer */

.footer-section {

    background: var(--gradient-primary);

    color: white;

    padding: 4rem 0 2rem;

    margin-top: 5rem;

    position: relative;

    overflow: hidden;

}



.footer-section::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="footer-pattern" width="50" height="50" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.05"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23footer-pattern)"/></svg>');

    z-index: 1;

}



.footer-section .container {

    position: relative;

    z-index: 2;

}



.footer-title {

    color: var(--lime-green);

    font-weight: 700;

    margin-bottom: 1.5rem;

    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

}



.footer-text {

    color: rgba(255, 255, 255, 0.9);

    line-height: 1.6;

}



.footer-links {

    list-style: none;

    padding: 0;

}



.footer-links li {

    margin-bottom: 0.5rem;

}



.footer-links a {

    color: rgba(255, 255, 255, 0.8);

    text-decoration: none;

    transition: var(--transition);

    position: relative;

}



.footer-links a::before {

    content: '';

    position: absolute;

    left: -15px;

    top: 50%;

    width: 0;

    height: 2px;

    background: var(--lime-green);

    transition: var(--transition);

    transform: translateY(-50%);

}



.footer-links a:hover {

    color: var(--lime-green);

    padding-left: 15px;

}



.footer-links a:hover::before {

    width: 10px;

}



.social-links {

    display: flex;

    gap: 1rem;

    margin-top: 1rem;

}



.social-link {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 40px;

    height: 40px;

    background: rgba(255, 255, 255, 0.1);

    border-radius: 50%;

    color: white;

    text-decoration: none;

    transition: var(--transition);

    backdrop-filter: blur(10px);

    border: 1px solid rgba(255, 255, 255, 0.2);

}



.social-link:hover {

    background: var(--lime-green);

    color: var(--primary-color);

    transform: translateY(-3px);

    box-shadow: 0 5px 15px rgba(222, 224, 0, 0.3);

}



.newsletter-form {

    display: flex;

    gap: 0.5rem;

    margin-top: 1rem;

}



.newsletter-form .form-control {

    background: rgba(255, 255, 255, 0.1);

    border: 1px solid rgba(255, 255, 255, 0.2);

    color: white;

    backdrop-filter: blur(10px);

}



.newsletter-form .form-control::placeholder {

    color: rgba(255, 255, 255, 0.7);

}



.newsletter-form .form-control:focus {

    background: rgba(255, 255, 255, 0.15);

    border-color: var(--lime-green);

    box-shadow: 0 0 0 0.2rem rgba(222, 224, 0, 0.25);

    color: white;

}



.newsletter-form .btn-primary {

    background: var(--lime-green);

    border-color: var(--lime-green);

    color: var(--primary-color);

    font-weight: 600;

    transition: var(--transition);

}



.newsletter-form .btn-primary:hover {

    background: var(--bright-green);

    border-color: var(--bright-green);

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(150, 193, 31, 0.3);

}



.footer-bottom {

    border-top: 1px solid rgba(255, 255, 255, 0.1);

    padding-top: 2rem;

    margin-top: 3rem;

    text-align: center;

    color: rgba(255, 255, 255, 0.7);

    position: relative;

}



.footer-bottom::before {

    content: '';

    position: absolute;

    top: 0;

    left: 50%;

    transform: translateX(-50%);

    width: 100px;

    height: 2px;

    background: var(--gradient-primary);

}



/* Footer Brand */

.footer-brand {

    position: relative;

}



.footer-logo {

    transition: var(--transition);

}



.footer-logo:hover {

    transform: scale(1.02);

}



.footer-logo img {

    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));

    transition: var(--transition);

}



.footer-logo:hover img {

    filter: drop-shadow(0 4px 8px rgba(0, 150, 64, 0.2));

}



.footer-subtitle {

    font-size: 0.75rem;

    font-weight: 600;

    color: var(--lime-green);

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



/* Footer Links with Icons */

.footer-links a {

    display: flex;

    align-items: center;

    color: rgba(255, 255, 255, 0.8);

    text-decoration: none;

    transition: var(--transition);

    padding: 0.25rem 0;

}



.footer-links a i {

    font-size: 0.75rem;

    opacity: 0.6;

    transition: var(--transition);

}



.footer-links a:hover {

    color: var(--lime-green);

    padding-left: 5px;

}



.footer-links a:hover i {

    opacity: 1;

    color: var(--lime-green);

}



/* Newsletter Form */

.newsletter-form .input-group {

    border-radius: var(--border-radius);

    overflow: hidden;

    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

}



.newsletter-form .form-control {

    border: none;

    background: rgba(255, 255, 255, 0.95);

    color: var(--text-dark);

    font-weight: 500;

}



.newsletter-form .form-control:focus {

    background: white;

    box-shadow: none;

    border: none;

}



.newsletter-form .btn {

    border: none;

    background: var(--gradient-primary);

    color: white;

    font-weight: 600;

    transition: var(--transition);

}



.newsletter-form .btn:hover {

    background: var(--bright-green);

    transform: scale(1.05);

}



/* Footer Legal Links */

.legal-link {

    color: rgba(255, 255, 255, 0.7) !important;

    text-decoration: none;

    font-size: 0.875rem;

    transition: var(--transition);

    display: inline-flex;

    align-items: center;

}



.legal-link:hover {

    color: var(--lime-green) !important;

    transform: translateY(-1px);

}



.legal-link i {

    font-size: 0.75rem;

    opacity: 0.7;

    transition: var(--transition);

}



.legal-link:hover i {

    opacity: 1;

    color: var(--lime-green);

}



/* Footer Copyright */

.footer-copyright p {

    color: rgba(255, 255, 255, 0.8);

    font-size: 0.875rem;

    display: flex;

    align-items: center;

}



.footer-copyright i {

    opacity: 0.7;

}



/* Responsive Footer */

@media (max-width: 768px) {

    .footer-section {

        padding: 3rem 0 1.5rem;

    }

    

    .footer-legal {

        text-align: center !important;

        margin-top: 1rem;

    }

    

    .footer-legal .legal-link {

        display: block;

        margin-bottom: 0.5rem;

    }

    

    .newsletter-form .input-group {

        flex-direction: column;

    }

    

    .newsletter-form .btn {

        border-radius: 0 0 var(--border-radius) var(--border-radius);

        margin-top: 0.5rem;

    }

}



/* Utility Classes */

.shadow-custom {

    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);

}



.border-custom {

    border: 2px solid var(--primary-color);

}



/* Page Header Styles */

.page-header {

    padding: 8rem 0 5rem;

    background: linear-gradient(135deg, var(--light-gray) 0%, rgba(150, 193, 31, 0.05) 100%);

    margin-top: 80px;

    position: relative;

    overflow: hidden;

}



.page-header::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="header-pattern" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23009640" opacity="0.05"/><circle cx="75" cy="75" r="1" fill="%23009640" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23header-pattern)"/></svg>');

    z-index: 1;

}



.page-header .container {

    position: relative;

    z-index: 2;

}



/* Team Avatar Styles */

.team-avatar img {

    transition: var(--transition);

    border: 4px solid rgba(44, 85, 48, 0.1);

}



.team-avatar img:hover {

    transform: scale(1.05);

    border-color: var(--accent-green);

    box-shadow: 0 10px 30px rgba(0, 150, 64, 0.2);

}



/* Section Backgrounds */

.bg-light {

    background: linear-gradient(135deg, var(--light-gray) 0%, rgba(150, 193, 31, 0.03) 100%) !important;

}



/* Form Styles */

.form-control {

    border-radius: var(--border-radius);

    border: 1px solid rgba(44, 85, 48, 0.2);

    transition: var(--transition);

}



.form-control:focus {

    border-color: var(--accent-green);

    box-shadow: 0 0 0 0.2rem rgba(0, 150, 64, 0.25);

}



/* Button Enhancements */

.btn {

    border-radius: var(--border-radius);

    font-weight: 600;

    transition: var(--transition);

}



.btn:hover {

    transform: translateY(-2px);

}



/* Card Hover Effects */

.card {

    border-radius: var(--border-radius-lg);

    border: 1px solid rgba(44, 85, 48, 0.1);

    transition: var(--transition);

}



.card:hover {

    transform: translateY(-5px);

    box-shadow: var(--box-shadow-lg);

    border-color: var(--accent-green);

}



/* List Styles */

.list-unstyled li {

    transition: var(--transition);

}



.list-unstyled li:hover {

    transform: translateX(5px);

}



/* Image Styles */

.img-fluid {

    border-radius: var(--border-radius-lg);

    transition: var(--transition);

}



.img-fluid:hover {

    transform: scale(1.02);

    box-shadow: var(--box-shadow-lg);

}



.text-shadow {

    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}



/* Loading States */

.loading {

    opacity: 0.6;

    pointer-events: none;

}



.spinner {

    display: inline-block;

    width: 20px;

    height: 20px;

    border: 3px solid rgba(255, 255, 255, 0.3);

    border-radius: 50%;

    border-top-color: #fff;

    animation: spin 1s ease-in-out infinite;

}



@keyframes spin {

    to {

        transform: rotate(360deg);

    }

}

