* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Global responsive images */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

svg {
    max-width: 100%;
    height: auto;
}

/* Ensure iframe and video are responsive */
iframe,
video {
    max-width: 100%;
    height: auto;
}

:root {
    /* Professional Color Palette */
    --primary-green: #2E7D32;
    --primary-green-light: #4CAF50;
    --primary-green-dark: #1B5E20;
    --secondary-blue: #1565C0;
    --secondary-blue-light: #2196F3;
    --accent-orange: #F57C00;
    --accent-orange-light: #FF9800;
    --neutral-gray: #424242;
    --neutral-gray-light: #757575;
    --neutral-gray-lighter: #BDBDBD;
    --background-light: #FAFAFA;
    --background-white: #FFFFFF;
    --text-primary: #212121;
    --text-secondary: #616161;
    --success-green: #388E3C;
    --warning-amber: #F57C00;
    --error-red: #D32F2F;
    
    /* Enhanced shadows for modern depth */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.15);
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--text-primary);
    background: linear-gradient(135deg, var(--background-light) 0%, #E8F5E8 100%);
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

section {
    scroll-margin-top: 110px;
}

@media (max-width: 768px) {
    section {
        scroll-margin-top: 90px;
    }
}

header {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: var(--shadow-md);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-bottom: 1px solid rgba(46, 125, 50, 0.1);
}

header.scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--shadow-lg);
    border-bottom: 1px solid rgba(46, 125, 50, 0.15);
}

/* Navbar Layout */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px;
    position: relative;
}

.nav-left,
.nav-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.nav-left .logo img {
    height: 40px;
}

.nav-links-left,
.nav-links-right {
    display: flex;
    gap: 15px;
    list-style: none;
    margin-right: 5px;
}

.nav-links-left li a,
.nav-links-right li a span {
    text-decoration: none;
    color: var(--text-primary);
    font-weight: 600;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 0.3px;
}

.nav-links-left li a::after,
.nav-links-right li a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-green), var(--primary-green-light));
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 2px;
}

.nav-links-left li a:hover::after,
.nav-links-right li a:hover::after {
    width: 100%;
}

.nav-links-left li a:hover,
.nav-links-right li a:hover {
    color: var(--primary-green);
}

/* Center Logo Text */
.nav-logo-middle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-logo-middle a {
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--primary-green) !important;
}

/* Mobile Menu */
.mobile-menu {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 5px;
    padding: 6px;
    transition: all 0.3s ease;
    background: transparent;
    border: none;
    outline: none;
    min-height: 44px;
    min-width: 44px;
    border-radius: 10px;
}

.mobile-menu:focus-visible {
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.25);
}

.mobile-menu span {
    width: 26px;
    height: 3px;
    background: var(--text-primary);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 999px;
}

/* Animated hamburger menu */
.mobile-menu.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.mobile-menu.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(-20px);
}

.mobile-menu.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
}

/* Mobile Nav */
.mobile-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    flex-direction: column;
    padding: 0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    z-index: 999;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
}

.mobile-nav.active {
    display: flex;
    max-height: 500px;
    padding: 15px 0;
}

.mobile-nav ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0;
}

.mobile-nav ul li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-nav ul li:last-child {
    border-bottom: none;
}

.mobile-nav ul li a {
    text-decoration: none;
    color: var(--text-primary);
    font-weight: 500;
    padding: 15px 20px;
    display: block;
    transition: all 0.3s ease;
}

.mobile-nav ul li a:hover,
.mobile-nav ul li a:active {
    background: linear-gradient(90deg, rgba(46, 125, 50, 0.1), rgba(76, 175, 80, 0.05));
    color: var(--primary-green);
    padding-left: 30px;
}

.toggle-btn #themeToggleMobile {
    display: none;
}

#themeToggleDesktop {
    display: block;
}

/* Responsive Navigation */
/* Tablet breakpoint - 1024px */
@media (max-width: 1024px) {
    nav {
        padding: 15px 20px;
    }
    
    .nav-links-left,
    .nav-links-right {
        gap: 10px;
    }
    
    .nav-links-left li a {
        font-size: 0.95rem;
    }
    
    .nav-logo-middle a {
        font-size: 1.5rem;
    }
}

/* Mobile breakpoint - 768px */
@media (max-width: 768px) {
    nav {
        padding: 12px 15px;
    }
    
    .nav-links-left,
    .nav-links-right {
        display: none;
    }
    
    .nav-logo-middle {
        position: static;
        transform: none;
        flex: 1;
        text-align: center;
    }
    
    .nav-logo-middle a {
        font-size: 1.3rem;
    }

    .mobile-menu {
        display: flex;
    }

    #themeToggleDesktop {
        display: none;
    }

    #themeToggleMobile {
        display: block;
        width: 100%;
        text-align: left;
        border: none;
        background: none;
        padding: 10px 0;
        margin: 0;
        border-radius: 0;
    }
    
    .mobile-nav {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
    }
    
    .mobile-nav.active {
        max-height: 500px;
    }
}

/* Small mobile breakpoint - 480px */
@media (max-width: 480px) {
    nav {
        padding: 10px 12px;
    }
    
    .nav-left .logo img {
        height: 32px;
    }
    
    .nav-logo-middle a {
        font-size: 1.1rem;
    }
    
    .mobile-menu div {
        width: 22px;
        height: 2.5px;
    }
}

main {
    margin-top: 80px;
}

/* Responsive Main Content */
@media (max-width: 768px) {
    main {
        margin-top: 65px;
    }
}

@media (max-width: 480px) {
    main {
        margin-top: 60px;
    }
}

.hero {
    background-image:
        linear-gradient(135deg, rgba(46, 125, 50, 0.15), rgba(27, 94, 32, 0.14)),
        url('https://i.ibb.co/nNJsZptN/IMG-20250917-WA0071.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: white;
    padding: 4rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="80" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="30" r="1" fill="rgba(255,255,255,0.1)"/></svg>');
    animation: float 20s infinite linear;
}

@keyframes float {
    0% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(-100px) rotate(360deg); }
}

.hero-content {
    position: relative;
    z-index: 1;
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    animation: fadeInUp 1s ease-out;
}

.hero p {
    font-size: 1.3rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    animation: fadeInUp 1s ease-out 0.2s both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.cta-button {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-light));
    color: white;
    padding: 1.1rem 2.5rem;
    border: none;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    display: inline-block;
    box-shadow: var(--shadow-lg);
    animation: fadeInUp 1s ease-out 0.4s both;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.5px;
}

.cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s;
}

.cta-button:hover::before {
    left: 100%;
}

.cta-button:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: var(--shadow-xl);
    background: linear-gradient(135deg, #EF6C00, var(--accent-orange));
}

.cta-button:active {
    transform: translateY(-2px) scale(1);
}

.stats {
            background: white;
            padding: 4rem 2rem;
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 3rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .stat-item {
            text-align: center;
            padding: 2.5rem;
            background: linear-gradient(145deg, #ffffff, #f5f5f5);
            border-radius: 24px;
            box-shadow: var(--shadow-lg);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: hidden;
        }

        .stat-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
            transition: left 0.6s;
        }

        .stat-item:hover::before {
            left: 100%;
        }

        .stat-item:hover {
            transform: translateY(-12px) scale(1.02);
            box-shadow: var(--shadow-xl);
            border: 2px solid var(--primary-green-light);
        }

        .stat-number {
            font-size: 3.8rem;
            font-weight: 900;
            background: linear-gradient(135deg, var(--primary-green), #388E3C, var(--primary-green-light));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            display: block;
            margin-bottom: 0.5rem;
            letter-spacing: -2px;
            text-shadow: 0 4px 10px rgba(46, 125, 50, 0.2);
        }

        .stat-label {
            color: var(--text-secondary);
            font-size: 1.05rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
        }



.features {
            padding: 3rem 2rem;
            background: linear-gradient(135deg, #f8f9fa 0%, #F1F8E9 100%);
        }

        .features h2 {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #1b4332;
  letter-spacing: 1px;
  text-transform: capitalize;
  font-family: 'Poppins', sans-serif;
  position: relative;
}

.features h2::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #4caf50, #2e7d32);
  margin: 12px auto 0;
  border-radius: 2px;
}

        .feature-slider {
            position: relative;
            overflow: hidden;
            padding: 2rem 0;
        }

        .feature-track {
            display: flex;
            gap: 2rem;
            animation: autoScroll 40s linear infinite;
        }

        @keyframes autoScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(calc(-340px * 6)); }
        }

        .feature-track:hover {
            animation-play-state: paused;
        }

        .feature-card {
            flex: 0 0 320px;
            background: linear-gradient(145deg, #ffffff, #fafafa);
            padding: 2.5rem 2rem;
            border-radius: 28px;
            text-align: center;
            box-shadow: var(--shadow-md);
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            border: 2px solid transparent;
            position: relative;
            overflow: hidden;
        }

        .feature-card::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(76, 175, 80, 0.1) 0%, transparent 70%);
            opacity: 0;
            transition: opacity 0.5s;
        }

        .feature-card:hover::before {
            opacity: 1;
        }

        .feature-card:hover {
            transform: translateY(-18px) scale(1.03);
            box-shadow: var(--shadow-xl);
            border-color: var(--primary-green);
        }

        .feature-img {
            width: 100px;
            height: 100px;
            object-fit: contain;
            margin-bottom: 1.5rem;
            filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .feature-card:hover .feature-img {
            transform: scale(1.1) rotate(5deg);
        }

        .feature-card h3 {
            font-size: 1.4rem;
            margin-bottom: 1rem;
            color: var(--primary-green-dark);
            font-weight: 700;
            letter-spacing: 0.3px;
            position: relative;
            z-index: 1;
        }

        .feature-card p {
            color: var(--text-secondary);
            line-height: 1.8;
            font-size: 0.98rem;
            position: relative;
            z-index: 1;
        }




.recommendation-form {
    background: linear-gradient(135deg, var(--secondary-blue), var(--primary-green));
    padding: 5rem 0;
    position: relative;
}

.recommendation-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0 0h100v100H0z" fill="none"/><path d="M20 20l5 5-5 5-5-5z" fill="rgba(255,255,255,0.1)"/><path d="M80 30l3 3-3 3-3-3z" fill="rgba(255,255,255,0.1)"/></svg>');
    opacity: 0.3;
}

.form-container {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 3rem;
    border-radius: 25px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1;
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
}

.form-container h2 {
    text-align: center;
    margin-bottom: 2rem;
    color: var(--primary-green-dark);
    font-size: 2.2rem;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
    width: 100%;
}

.form-group {
    display: flex;
    flex-direction: column;
    position: relative;
}

.form-group label {
    margin-bottom: 0.6rem;
    font-weight: 700;
    color: var(--primary-green-dark);
    font-size: 1rem;
    letter-spacing: 0.3px;
}

.form-group input,
.form-group select {
    padding: 1.1rem 1.2rem;
    border: 2px solid var(--neutral-gray-lighter);
    border-radius: 14px;
    font-size: 1rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: var(--shadow-sm);
    width: 100%;
    display: block;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--primary-green);
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.12), var(--shadow-md);
    transform: translateY(-2px);
    background: white;
}

.form-group input:valid,
.form-group select:valid {
    border-color: var(--success-green);
}

/* Responsive tweaks dedicated to the recommendation form */
@media (max-width: 992px) {
    .recommendation-form {
        padding: 4rem 0;
    }

    .form-container {
        padding: 2.5rem;
    }
}

@media (max-width: 640px) {
    .recommendation-form {
        padding: 3rem 0;
    }

    .form-container {
        padding: 2rem 1.25rem;
        border-radius: 22px;
    }

    .form-container h2 {
        font-size: 1.7rem;
        text-align: center;
        line-height: 1.3;
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .form-group label {
        font-size: 0.95rem;
    }

    .submit-button .cta-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .form-container {
        padding: 1.5rem 1rem;
    }

    .form-container h2 {
        font-size: 1.45rem;
    }

    .form-group input,
    .form-group select {
        font-size: 0.95rem;
        padding: 0.95rem 1rem;
    }
}

.submit-button {
    text-align: center;
    margin-top: 2rem;
}

.loading {
    display: none;
    text-align: center;
    margin: 2rem 0;
}

.spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--primary-green);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.result-section {
    margin-top: 3rem;
    padding: 2rem;
    background: linear-gradient(135deg, #E8F5E8, #C8E6C8);
    border-radius: 15px;
    display: none;
    animation: slideInUp 0.5s ease-out;
}

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

.crop-recommendation {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    padding: 1.5rem;
    border-radius: 15px;
    margin: 1rem 0;
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.25);
    transition: transform 0.3s ease;
}

.crop-recommendation:hover {
    transform: translateX(5px);
}

.crop-recommendation h4 {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}

.crop-reasons {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.crop-reasons div {
    margin: 0.3rem 0;
    font-size: 0.95rem;
}

/* ============================================
   ENHANCED WEATHER SECTION - Replace in style.css
   ============================================ */

.weather-section {
    padding: 4rem 0;
    width: 100%;
    background: linear-gradient(135deg, #E3F2FD 0%, #E8F5E9 50%, #FFF3E0 100%);
    position: relative;
    overflow: hidden;
}

.weather-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 50%, rgba(33, 150, 243, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(76, 175, 80, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, rgba(255, 152, 0, 0.05) 0%, transparent 50%);
    animation: backgroundMove 20s ease-in-out infinite;
}

@keyframes backgroundMove {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(20px, -20px); }
    50% { transform: translate(-20px, 20px); }
    75% { transform: translate(20px, 20px); }
}

.weather-widget {
    position: relative;
    z-index: 1;
}

.weather-header-title {
    text-align: center;
    margin-bottom: 3.5rem;
    animation: fadeInDown 0.8s ease-out;
}

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

.weather-header-title h2 {
    font-size: 2.8rem;
    background: linear-gradient(135deg, #1565C0, #2E7D32, #F57C00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    letter-spacing: -0.5px;
}

.weather-header-title h2 .material-symbols-outlined {
    color: var(--accent-orange);
    font-size: 3.5rem;
    -webkit-text-fill-color: var(--accent-orange);
    animation: iconRotate 3s ease-in-out infinite;
    filter: drop-shadow(0 2px 8px rgba(245, 124, 0, 0.3));
}

@keyframes iconRotate {
    0%, 100% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(-5deg) scale(1.05); }
    75% { transform: rotate(5deg) scale(1.05); }
}

.weather-header-title p {
    font-size: 1.15rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.weather-container {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 25px;
    margin-bottom: 30px;
}

/* Main Weather Card */
.main-weather-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 30px;
    padding: 45px;
    box-shadow: 
        0 10px 40px rgba(46, 125, 50, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 3px solid transparent;
    background-clip: padding-box;
    position: relative;
    overflow: hidden;
}

.main-weather-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 30px;
    padding: 3px;
    background: linear-gradient(135deg, #4CAF50, #2196F3, #FF9800);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.6;
}

.main-weather-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 
        0 20px 60px rgba(46, 125, 50, 0.25),
        0 0 0 1px rgba(76, 175, 80, 0.2);
}

.main-weather-card:hover::before {
    opacity: 1;
}

.current-location {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
    font-size: 1.05rem;
    color: var(--text-secondary);
    font-weight: 600;
    padding: 12px 20px;
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.08), rgba(76, 175, 80, 0.08));
    border-radius: 50px;
    width: fit-content;
    transition: all 0.3s ease;
}

.current-location:hover {
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.15), rgba(76, 175, 80, 0.15));
    transform: translateX(5px);
}

.current-location .material-symbols-outlined {
    color: var(--accent-orange);
    font-size: 1.6rem;
    animation: locationPulse 2s ease-in-out infinite;
}

@keyframes locationPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.main-temp-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 35px;
    padding-bottom: 35px;
    border-bottom: 3px solid transparent;
    background: linear-gradient(to right, var(--background-light), var(--background-light)) padding-box,
                linear-gradient(90deg, rgba(76, 175, 80, 0.3), rgba(33, 150, 243, 0.3)) border-box;
    border-image-slice: 1;
}

.temp-section {
    display: flex;
    align-items: flex-start;
    position: relative;
}

.temp-value-main {
    font-size: 6.5rem;
    font-weight: 200;
    line-height: 0.9;
    background: linear-gradient(135deg, #1B5E20, #2E7D32, #4CAF50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: temperaturePulse 3s ease-in-out infinite;
}

@keyframes temperaturePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.9; }
}

.temp-unit {
    font-size: 2.2rem;
    margin-top: 15px;
    color: var(--primary-green);
    font-weight: 500;
}

.weather-icon-main {
    font-size: 6.5rem;
    color: var(--accent-orange);
    filter: drop-shadow(0 8px 16px rgba(245, 124, 0, 0.4));
    animation: iconFloat 3s ease-in-out infinite;
}

@keyframes iconFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.weather-description {
    font-size: 1.4rem;
    margin-bottom: 8px;
    color: var(--primary-green-dark);
    font-weight: 600;
}

.feels-like {
    font-size: 1rem;
    color: var(--text-secondary);
}

/* Weather Stats Grid */
.weather-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.weather-stat-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(241, 248, 233, 0.8), rgba(232, 245, 233, 0.8));
    backdrop-filter: blur(10px);
    border-radius: 18px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.weather-stat-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.weather-stat-item:hover::before {
    left: 100%;
}

.weather-stat-item:hover {
    background: linear-gradient(135deg, rgba(232, 245, 233, 0.9), rgba(200, 230, 201, 0.9));
    transform: translateX(8px) scale(1.02);
    border-color: rgba(76, 175, 80, 0.3);
    box-shadow: 0 8px 20px rgba(76, 175, 80, 0.15);
}

.stat-icon-weather {
    font-size: 2.8rem;
    color: var(--primary-green);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6));
    padding: 12px;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.15);
    transition: all 0.3s ease;
}

.weather-stat-item:hover .stat-icon-weather {
    transform: scale(1.1) rotate(5deg);
}

.stat-info-weather {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.stat-label-weather {
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value-weather {
    font-size: 1.6rem;
    font-weight: 800;
    background: linear-gradient(135deg, #1B5E20, #4CAF50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Side Weather Cards */
.side-weather-cards {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.weather-info-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 
        0 8px 30px rgba(46, 125, 50, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.weather-info-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(135deg, #4CAF50, #2196F3);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.5;
}

.weather-info-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 45px rgba(46, 125, 50, 0.2);
}

.weather-info-card:hover::before {
    opacity: 0.9;
}

.info-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--primary-green-dark);
}

.info-card-header .material-symbols-outlined {
    color: var(--accent-orange);
    font-size: 2rem;
    background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));
    padding: 10px;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.weather-info-card:hover .info-card-header .material-symbols-outlined {
    transform: scale(1.1) rotate(5deg);
}

.info-card-content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-secondary);
    font-weight: 500;
}

.air-quality-badge {
    display: inline-block;
    padding: 10px 22px;
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    border-radius: 25px;
    font-weight: 700;
    margin-top: 15px;
    font-size: 0.95rem;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
    transition: all 0.3s ease;
}

.air-quality-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}

/* Forecast Section */
.forecast-section {
    margin-top: 50px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    padding: 40px;
    border-radius: 30px;
    box-shadow: 
        0 10px 40px rgba(46, 125, 50, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    border: 3px solid transparent;
    background-clip: padding-box;
    position: relative;
}

.forecast-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 30px;
    padding: 3px;
    background: linear-gradient(135deg, #4CAF50, #2196F3, #FF9800);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.4;
}

.forecast-title {
    background: linear-gradient(135deg, #1565C0, #2E7D32);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 2rem;
    margin-bottom: 30px;
    text-align: center;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.forecast-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 18px;
}

.forecast-card {
    background: linear-gradient(135deg, rgba(241, 248, 233, 0.8), rgba(232, 245, 233, 0.8));
    backdrop-filter: blur(10px);
    border-radius: 22px;
    padding: 24px 18px;
    text-align: center;
    border: 2px solid transparent;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.forecast-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.1), rgba(33, 150, 243, 0.1));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.forecast-card:hover::before {
    opacity: 1;
}

.forecast-card:hover {
    transform: translateY(-8px) scale(1.05);
    border-color: var(--primary-green-light);
    box-shadow: 0 12px 30px rgba(76, 175, 80, 0.25);
    background: linear-gradient(135deg, rgba(232, 245, 233, 0.95), rgba(200, 230, 201, 0.95));
}

.forecast-day {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-bottom: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.forecast-icon {
    font-size: 3.2rem;
    margin: 12px 0;
    color: var(--accent-orange);
    filter: drop-shadow(0 4px 8px rgba(245, 124, 0, 0.3));
    transition: all 0.3s ease;
}

.forecast-card:hover .forecast-icon {
    transform: scale(1.2);
    filter: drop-shadow(0 6px 12px rgba(245, 124, 0, 0.5));
}

.forecast-temp {
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 8px;
    background: linear-gradient(135deg, #1B5E20, #4CAF50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.forecast-condition {
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 600;
}

/* Action Buttons */
.weather-actions {
    display: flex;
    gap: 18px;
    justify-content: center;
    margin-top: 40px;
    flex-wrap: wrap;
}

.weather-btn {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    border: none;
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 1.05rem;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 700;
    box-shadow: 0 6px 25px rgba(76, 175, 80, 0.35);
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
}

.weather-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.weather-btn:hover::before {
    left: 100%;
}

.weather-btn:hover {
    background: linear-gradient(135deg, var(--success-green), var(--primary-green-dark));
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 10px 35px rgba(76, 175, 80, 0.45);
}

.weather-btn:active {
    transform: translateY(-2px) scale(1.02);
}

.weather-btn .material-symbols-outlined {
    font-size: 1.4rem;
    transition: transform 0.3s ease;
}

.weather-btn:hover .material-symbols-outlined {
    transform: rotate(180deg);
}

/* Responsive Design */
@media (max-width: 968px) {
    .weather-container {
        grid-template-columns: 1fr;
    }
    
    .side-weather-cards {
        flex-direction: row;
    }
}

@media (max-width: 768px) {
    .weather-header-title h2 {
        font-size: 2rem;
        flex-direction: column;
        gap: 10px;
    }
    
    .main-weather-card {
        padding: 25px;
    }
    
    .temp-value-main {
        font-size: 4rem;
    }
    
    .weather-icon-main {
        font-size: 4rem;
    }
    
    .weather-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .side-weather-cards {
        flex-direction: column;
    }
    
    .forecast-cards {
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    }
    
    .forecast-section {
        padding: 25px 20px;
    }
}

@media (max-width: 480px) {
    .weather-section {
        padding: 3rem 0;
    }
    
    .main-temp-display {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }
    
    .forecast-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .weather-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Dark Mode Support */
body.dark-mode .main-weather-card,
body.dark-mode .weather-info-card,
body.dark-mode .forecast-section {
    background: #2c2c2c;
    border-color: #4CAF50;
}

body.dark-mode .weather-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d4a2e 100%);
}

body.dark-mode .weather-description,
body.dark-mode .temp-value-main,
body.dark-mode .stat-value-weather,
body.dark-mode .forecast-temp,
body.dark-mode .forecast-title {
    color: #f0f0f0;
}

body.dark-mode .weather-stat-item {
    background: linear-gradient(135deg, #1e3a1e, #2d4a2e);
}

body.dark-mode .forecast-card {
    background: linear-gradient(135deg, #1e3a1e, #2d4a2e);
}

body.dark-mode .forecast-card:hover {
    background: linear-gradient(135deg, #2d4a2e, #3a5e3a);
}


 /* Market Section Modern Design */
        .market-section {
            padding: 5rem 0;
            background: linear-gradient(135deg, #E8F5E9 0%, #F1F8E9 100%);
            position: relative;
        }

        .market-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .market-header h2 {
            font-size: 2.5rem;
            color: var(--primary-green-dark);
            margin-bottom: 10px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 15px;
        }

        .market-header h2 .material-symbols-outlined {
            color: var(--accent-orange);
            font-size: 3rem;
        }

        .market-header p {
            font-size: 1.1rem;
            color: var(--text-secondary);
        }

        /* Filter and Search Bar */
        .market-controls {
            display: flex;
            gap: 15px;
            margin-bottom: 30px;
            flex-wrap: wrap;
            align-items: center;
            background: white;
            padding: 20px;
            border-radius: 20px;
            box-shadow: 0 5px 20px rgba(46, 125, 50, 0.1);
        }

        .search-box {
            flex: 1;
            min-width: 250px;
            position: relative;
        }

        .search-box input {
            width: 100%;
            padding: 12px 45px 12px 45px;
            border: 2px solid var(--neutral-gray-lighter);
            border-radius: 15px;
            font-size: 1rem;
            outline: none;
            transition: all 0.3s ease;
        }

        .search-box input:focus {
            border-color: var(--primary-green);
            box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
        }

        .search-box .material-symbols-outlined {
            position: absolute;
            left: 15px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-secondary);
        }

        .filter-buttons {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .filter-btn {
            padding: 12px 20px;
            border: 2px solid var(--primary-green-light);
            background: white;
            color: var(--primary-green-dark);
            border-radius: 12px;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .filter-btn:hover, .filter-btn.active {
            background: linear-gradient(135deg, var(--primary-green), var(--success-green));
            color: white;
            border-color: var(--primary-green);
        }

        .refresh-btn {
            padding: 12px 25px;
            background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-light));
            color: white;
            border: none;
            border-radius: 12px;
            cursor: pointer;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(245, 124, 0, 0.3);
        }

        .refresh-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(245, 124, 0, 0.4);
        }

        /* Market Cards Grid */
        .market-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 25px;
            margin-bottom: 30px;
        }

        .market-card {
            background: white;
            border-radius: 20px;
            padding: 25px;
            box-shadow: 0 8px 30px rgba(46, 125, 50, 0.12);
            border: 2px solid transparent;
            transition: all 0.3s ease;
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }

        .market-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-green), var(--success-green));
            transform: scaleX(0);
            transition: transform 0.3s ease;
        }

        .market-card:hover {
            transform: translateY(-5px);
            border-color: var(--primary-green-light);
            box-shadow: 0 12px 40px rgba(46, 125, 50, 0.2);
        }

        .market-card:hover::before {
            transform: scaleX(1);
        }

        .market-card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 20px;
        }

        .crop-info {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .crop-icon {
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, #F1F8E9, #E8F5E9);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
        }

        .crop-details h3 {
            font-size: 1.3rem;
            color: var(--primary-green-dark);
            margin-bottom: 3px;
        }

        .crop-variety {
            font-size: 0.85rem;
            color: var(--text-secondary);
        }

        .trend-badge {
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .trend-up {
            background: rgba(76, 175, 80, 0.15);
            color: #388E3C;
        }

        .trend-down {
            background: rgba(244, 67, 54, 0.15);
            color: #D32F2F;
        }

        .trend-stable {
            background: rgba(255, 152, 0, 0.15);
            color: #F57C00;
        }

        .price-section {
            margin-bottom: 20px;
        }

        .current-price {
            font-size: 2.2rem;
            font-weight: 700;
            color: var(--primary-green-dark);
            margin-bottom: 5px;
        }

        .price-unit {
            font-size: 0.9rem;
            color: var(--text-secondary);
        }

        .price-change {
            font-size: 0.95rem;
            font-weight: 600;
            margin-top: 5px;
        }

        .market-details {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
            padding-top: 20px;
            border-top: 1px solid var(--background-light);
        }

        .detail-item {
            display: flex;
            flex-direction: column;
        }

        .detail-label {
            font-size: 0.8rem;
            color: var(--text-secondary);
            margin-bottom: 3px;
        }

        .detail-value {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-primary);
        }

        /* Price Chart Toggle */
        .chart-container {
            background: white;
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 8px 30px rgba(46, 125, 50, 0.12);
            margin-top: 30px;
            display: none;
        }

        .chart-container.active {
            display: block;
            animation: fadeInUp 0.5s ease;
        }

        .chart-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .chart-header h3 {
            font-size: 1.5rem;
            color: var(--primary-green-dark);
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .chart-placeholder {
            height: 300px;
            background: linear-gradient(135deg, #F1F8E9, #E8F5E9);
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-secondary);
            font-size: 1.1rem;
        }

        /* Stats Summary */
        .market-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 30px;
        }

        .stat-card {
            background: white;
            padding: 25px;
            border-radius: 18px;
            box-shadow: 0 5px 20px rgba(46, 125, 50, 0.1);
            text-align: center;
            transition: all 0.3s ease;
        }

        .stat-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(46, 125, 50, 0.15);
        }

        .stat-icon {
            font-size: 2.5rem;
            color: var(--accent-orange);
            margin-bottom: 10px;
        }

        .stat-value {
            font-size: 2rem;
            font-weight: 700;
            color: var(--primary-green-dark);
            margin-bottom: 5px;
        }

        .stat-label {
            font-size: 0.9rem;
            color: var(--text-secondary);
            font-weight: 500;
        }

        /* Action Buttons */
        .market-actions {
            display: flex;
            gap: 15px;
            justify-content: center;
            margin-top: 30px;
            flex-wrap: wrap;
        }

        .market-btn {
            padding: 14px 30px;
            border-radius: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
            border: none;
        }

        .market-btn-primary {
            background: linear-gradient(135deg, var(--primary-green), var(--success-green));
            color: white;
            box-shadow: 0 5px 20px rgba(76, 175, 80, 0.3);
        }

        .market-btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(76, 175, 80, 0.4);
        }

        .market-btn-secondary {
            background: white;
            color: var(--primary-green-dark);
            border: 2px solid var(--primary-green);
        }

        .market-btn-secondary:hover {
            background: var(--primary-green);
            color: white;
        }

        /* Animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes pulse {
            0%, 100% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
        }

        /* Responsive */
        @media (max-width: 768px) {
            .market-grid {
                grid-template-columns: 1fr;
            }

            .market-controls {
                flex-direction: column;
                align-items: stretch;
            }

            .filter-buttons {
                justify-content: center;
            }

            .market-header h2 {
                font-size: 2rem;
                flex-direction: column;
            }
        }

        /* Dark Mode */
        body.dark-mode .market-section {
            background: linear-gradient(135deg, #1a1a1a 0%, #2d4a2e 100%);
        }

        body.dark-mode .market-card,
        body.dark-mode .market-controls,
        body.dark-mode .chart-container,
        body.dark-mode .stat-card {
            background: #2c2c2c;
            border-color: #4CAF50;
        }

        body.dark-mode .current-price,
        body.dark-mode .stat-value,
        body.dark-mode .crop-details h3 {
            color: #f0f0f0;
        }

        body.dark-mode .search-box input {
            background: #333;
            color: #f0f0f0;
            border-color: #555;
        }
.chatbot-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

.chatbot-toggle {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.3);
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 4px 20px rgba(76, 175, 80, 0.3); }
    50% { box-shadow: 0 4px 30px rgba(76, 175, 80, 0.5); }
    100% { box-shadow: 0 4px 20px rgba(76, 175, 80, 0.3); }
}

.chatbot-toggle:hover {
    transform: scale(1.1);
    animation: none;
}

.chatbot-window {
    position: absolute;
    bottom: 80px;
    right: 0;
    width: 380px;
    max-width: calc(100vw - 40px);
    height: 500px;
    max-height: calc(100vh - 150px);
    background: var(--background-white);
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
    display: none;
    flex-direction: column;
    animation: slideInUp 0.3s ease-out;
}

.chatbot-header {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    padding: 1.5rem;
    border-radius: 20px 20px 0 0;
    text-align: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.chatbot-messages {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
    background: var(--background-light);
}

.chatbot-messages::-webkit-scrollbar {
    width: 6px;
}

.chatbot-messages::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.chatbot-messages::-webkit-scrollbar-thumb {
    background: var(--primary-green);
    border-radius: 3px;
}

.message {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 15px;
    max-width: 85%;
    word-wrap: break-word;
    animation: messageSlide 0.3s ease-out;
}

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

.user-message {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    margin-left: auto;
    border-bottom-right-radius: 5px;
}

.bot-message {
    background: var(--background-white);
    border: 1px solid #E0E0E0;
    color: var(--text-primary);
    border-bottom-left-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.typing-indicator {
    background: var(--background-white);
    border: 1px solid #E0E0E0;
    padding: 1rem;
    border-radius: 15px;
    margin-bottom: 1rem;
    max-width: 85%;
    animation: pulse 1.5s infinite;
}

.typing-dots {
    display: flex;
    gap: 4px;
}

.typing-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-green);
    animation: typing 1.4s infinite ease-in-out;
}

.typing-dots span:nth-child(2) { animation-delay: 0.2s; }
.typing-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes typing {
    0%, 60%, 100% { transform: translateY(0); }
    30% { transform: translateY(-10px); }
}

.chatbot-input {
    display: flex;
    padding: 1rem;
    border-top: 1px solid #E0E0E0;
    background: var(--background-white);
    border-radius: 0 0 20px 20px;
}

.chatbot-input input {
    flex: 1;
    padding: 0.8rem 1rem;
    border: 1px solid #E0E0E0;
    border-radius: 25px;
    outline: none;
    font-size: 0.95rem;
    transition: border-color 0.3s ease;
}

.chatbot-input input:focus {
    border-color: var(--primary-green);
}

.chatbot-input button {
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    color: white;
    border: none;
    padding: 0.8rem 1.2rem;
    margin-left: 0.5rem;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
}

.chatbot-input button:hover {
    background: linear-gradient(135deg, var(--success-green), var(--primary-green-dark));
    transform: translateY(-1px);
}

.footer {
    background: linear-gradient(135deg, var(--text-primary), var(--primary-green-dark));
    color: white;
    padding: 4rem 0 2rem;
    text-align: center;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-bottom: 3rem;
}

.footer-section h3 {
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
}

.footer-section a {
    color: #C8E6C8;
    text-decoration: none;
    display: block;
    margin-bottom: 0.8rem;
    transition: all 0.3s ease;
}

.footer-section a:hover {
    color: white;
    transform: translateX(5px);
}

.footer-bottom {
    text-align: center;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 1rem 0;
}

.social-links a {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
    transition: all 0.3s ease;
}

.social-links a:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-3px);
}

/* Community Toggle Button */
.community-container {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 1000;
}

.community-toggle {
    background: linear-gradient(135deg, var(--secondary-blue), var(--secondary-blue-light));
    color: white;
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(33, 150, 243, 0.3);
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
    margin-bottom: 10px;
}

.community-toggle:hover {
    transform: scale(1.1);
    animation: none;
}

.community-panel {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: 400px;
    height: 600px;
    background: var(--background-white);
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
    display: none;
    flex-direction: column;
    animation: slideInUp 0.3s ease-out;
}

.community-header {
    background: linear-gradient(135deg, var(--secondary-blue), var(--secondary-blue-light));
    color: white;
    padding: 1.5rem;
    border-radius: 20px 20px 0 0;
    text-align: center;
    font-weight: bold;
}

.community-tabs {
    display: flex;
    background: var(--background-light);
    border-bottom: 1px solid #E0E0E0;
}

.tab-btn {
    flex: 1;
    padding: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    color: var(--text-secondary);
}

.tab-btn.active {
    background: var(--background-white);
    color: var(--secondary-blue);
    border-bottom: 2px solid var(--secondary-blue);
}

.community-content {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
}

/* Community Posts */
.post {
    background: var(--background-white);
    border: 1px solid #E0E0E0;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.post:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.post-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.user-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-green), var(--success-green));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 0.8rem;
}

.post-meta {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.post-content {
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.post-actions {
    display: flex;
    gap: 1rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.post-actions span {
    cursor: pointer;
    transition: color 0.3s ease;
}

.post-actions span:hover {
    color: var(--secondary-blue);
}

/* Consultancy Section */
.consultancy-options {
    display: grid;
    gap: 1rem;
}

.consultant-card {
    border: 1px solid #E0E0E0;
    border-radius: 10px;
    padding: 1rem;
    transition: all 0.3s ease;
    background: var(--background-white);
}

.consultant-card:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.consultant-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.consultant-name {
    font-weight: bold;
    color: var(--text-primary);
}

.consultant-rating {
    color: var(--accent-orange);
}

.consultant-price {
    color: var(--success-green);
    font-weight: bold;
    font-size: 1.1rem;
}

.consultant-speciality {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.book-btn {
    background: linear-gradient(135deg, var(--secondary-blue), var(--secondary-blue-light));
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.book-btn:hover {
    background: linear-gradient(135deg, var(--secondary-blue-light), var(--secondary-blue));
    transform: translateY(-1px);
}

.book-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Post Creation */
.create-post {
    background: var(--background-light);
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.create-post textarea {
    width: 100%;
    min-height: 80px;
    border: 1px solid #E0E0E0;
    border-radius: 5px;
    padding: 0.5rem;
    resize: vertical;
    font-family: inherit;
    background: var(--background-white);
}

.post-btn {
    background: var(--secondary-blue);
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 0.5rem;
    float: right;
    transition: all 0.3s ease;
}

.post-btn:hover {
    background: var(--secondary-blue-light);
}

/* Toggle Button */
.toggle-btn {
    cursor: pointer;
    padding: 8px 14px;
    border-radius: 50%;
    background: none;
    border: 1px solid var(--neutral-gray-lighter);
    font-size: 14px;
    margin-left: 15px;
    transition: background 0.3s;
    color: var(--text-primary);
}

.toggle-btn:hover {
    background: var(--background-light);
}

/* Dark Mode Styles */
body.dark-mode {
    background: linear-gradient(135deg, #1c1c1c, #121212);
    color: #f0f0f0;
    --text-primary: #f0f0f0;
    --text-secondary: #b0b0b0;
    --background-white: #2c2c2c;
    --background-light: #1e1e1e;
}

body.dark-mode header {
    background: rgba(28, 28, 28, 0.95);
}

body.dark-mode .nav-links-left li a,
body.dark-mode .nav-links-right li a span {
    color: #f0f0f0;
}

body.dark-mode .nav-links-left li a:hover,
body.dark-mode .nav-links-right li a:hover {
    color: var(--primary-green-light);
}

body.dark-mode .hero {
    background-image:
        linear-gradient(135deg, rgba(0, 0, 0, 0.4), rgba(28, 28, 28, 0.3)),
        url('https://i.ibb.co/nNJsZptN/IMG-20250917-WA0071.jpg');
}

body.dark-mode .stats {
    background: #1e1e1e;
}

body.dark-mode .features {
    background: linear-gradient(135deg, #181818, #1a1a1a);
}

body.dark-mode .feature-card {
    background: #2c2c2c;
    color: #e0e0e0;
    border: 1px solid #444;
}

body.dark-mode .feature-card h3 {
    color: var(--primary-green-light);
}

body.dark-mode .form-container {
    background: rgba(44, 44, 44, 0.95);
    color: #e0e0e0;
}

body.dark-mode .form-group input,
body.dark-mode .form-group select {
    background: #333;
    color: #e0e0e0;
    border-color: #555;
}

body.dark-mode .weather-section {
    background: linear-gradient(to top, var(--secondary-blue-light), #1e1e1e);
}

body.dark-mode .market-section {
    background: linear-gradient(to top, var(--primary-green-dark), #1e1e1e);
}

body.dark-mode .market-prices {
    background: #2c2c2c;
    color: #e0e0e0;
}

body.dark-mode .price-table tr:nth-child(even) {
    background: #333;
}

body.dark-mode .price-table tr:nth-child(odd) {
    background: #2c2c2c;
}

body.dark-mode .chatbot-window {
    background: #2c2c2c;
    color: #e0e0e0;
}

body.dark-mode .chatbot-messages {
    background: #1e1e1e;
}

body.dark-mode .bot-message {
    background: #333;
    border-color: #555;
    color: #e0e0e0;
}

body.dark-mode .toggle-btn {
    background: #333;
    color: #fff;
    border-color: #555;
}

body.dark-mode .community-panel {
    background: #2c2c2c;
    color: #e0e0e0;
}

body.dark-mode .community-tabs {
    background: #1e1e1e;
}

body.dark-mode .tab-btn.active {
    background: #333;
    color: var(--secondary-blue-light);
}

body.dark-mode .post {
    background: #333;
    border-color: #555;
    color: #e0e0e0;
}

body.dark-mode .consultant-card {
    background: #333;
    border-color: #555;
    color: #e0e0e0;
}

body.dark-mode .create-post {
    background: #1e1e1e;
}

body.dark-mode .create-post textarea {
    background: #333;
    color: #e0e0e0;
    border-color: #555;
}

/* Responsive Design */
@media (max-width: 768px) {
    .nav-links-left,
    .nav-links-right {
        display: none;
    }

    .mobile-menu {
        display: flex;
    }

    .hero h1 {
        font-size: 2.5rem;
    }

    .hero p {
        font-size: 1.1rem;
    }
    
    .hero {
        padding: 3rem 0;
        min-height: 400px;
    }
    
    .cta-button {
        padding: 0.9rem 2rem;
        font-size: 1rem;
    }

    .chatbot-window {
        width: calc(100vw - 40px);
        max-width: 350px;
        height: 500px;
        right: 10px;
        bottom: 80px;
    }

    .chatbot-toggle {
        width: 55px;
        height: 55px;
        font-size: 1.3rem;
        bottom: 15px;
        right: 15px;
    }

    .chatbot-container {
        bottom: 15px;
        right: 15px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .weather-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .community-panel {
        width: 350px;
        height: 550px;
    }
    
    .form-container {
        padding: 2rem 1.5rem;
    }
    
    .form-container h2 {
        font-size: 1.8rem;
    }
    
    .section-header h2,
    .features h2 {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 10px;
    }

    .form-container {
        padding: 2rem 1.5rem;
    }

    .weather-grid {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .hero h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .hero p {
        font-size: 1rem;
        padding: 0 10px;
    }
    
    .hero {
        padding: 2.5rem 0;
        min-height: 350px;
    }
    
    .cta-button {
        padding: 0.8rem 1.5rem;
        font-size: 0.95rem;
    }

    .chatbot-window {
        width: calc(100vw - 20px);
        height: calc(100vh - 150px);
        max-height: 500px;
        right: 5px;
        bottom: 70px;
        border-radius: 15px;
    }

    .chatbot-toggle {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
        bottom: 10px;
        right: 10px;
    }

    .chatbot-container {
        bottom: 10px;
        right: 10px;
    }

    .chatbot-header {
        padding: 1rem;
        font-size: 1rem;
        border-radius: 15px 15px 0 0;
    }

    .chatbot-messages {
        padding: 0.8rem;
    }

    .message {
        font-size: 0.9rem;
        padding: 0.8rem;
        max-width: 90%;
    }

    .chatbot-input {
        padding: 0.8rem;
        flex-wrap: nowrap;
    }

    .chatbot-input input {
        padding: 0.7rem 0.9rem;
        font-size: 0.9rem;
        flex: 1;
        min-width: 0;
    }

    .chatbot-input button {
        padding: 0.7rem 1rem;
        margin-left: 0.4rem;
        font-size: 0.85rem;
        white-space: nowrap;
    }

    .community-panel {
        width: 300px;
        height: 500px;
    }
    
    .form-container {
        padding: 1.5rem 1rem;
        border-radius: 20px;
    }
    
    .form-container h2 {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
    
    .form-group label {
        font-size: 0.9rem;
    }
    
    .form-group input,
    .form-group select {
        padding: 0.9rem 1rem;
        font-size: 0.95rem;
    }
    
    .section-header h2,
    .features h2 {
        font-size: 1.6rem;
    }
    
    .section-header p {
        font-size: 0.95rem;
    }
}

/* Animation for elements coming into view */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Additional Professional Touches */
.recommendation-form {
    background-image: linear-gradient(135deg, rgba(21, 101, 192, 0.1), rgba(46, 125, 50, 0.1)),
                      url('https://myplantin.com/_next/image?url=https:%2F%2Fstrapi.myplantin.com%2FDepositphotos_20087015_XL_min_5e01e6e323.webp&w=1920&q=75');
    background-size: cover;
    background-position: center;
}

.weather-widget {
    background-image: linear-gradient(135deg, rgba(21, 101, 192, 0.14), rgba(33, 150, 243, 0.14)),
                      url('https://c.pxhere.com/photos/0a/c2/crop_dark_farm_field_landscape_night_rural_storm-1062244.jpg!d');
    background-size: cover;
    background-position: center;
}

.market-prices {
    background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(250, 250, 250, 0.95)),
                      url('https://static.vecteezy.com/system/resources/previews/001/330/263/non_2x/stock-market-graph-trading-chart-for-business-and-finance-free-vector.jpg');
    background-size: cover;
    background-position: center;
}

/* ========================================
   COMPREHENSIVE RESPONSIVE STYLES
   ======================================== */

/* Large Tablets and Small Laptops - 1024px */
@media (max-width: 1024px) {
    .container {
        max-width: 960px;
        padding: 0 30px;
    }
    
    .feature-track {
        gap: 1.5rem;
    }
    
    .feature-card {
        flex: 0 0 280px;
        padding: 2rem 1.5rem;
    }
    
    .recommendation-form {
        padding: 4rem 0;
    }
    
    .form-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .weather-section {
        padding: 4rem 0;
    }
}

/* Tablets - 768px */
@media (max-width: 768px) {
    /* Stats Section */
    .stats {
        padding: 2.5rem 0;
    }
    
    .stat-item {
        padding: 1.5rem;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
    
    .stat-label {
        font-size: 0.95rem;
    }
    
    /* Features Section */
    .features {
        padding: 3rem 0;
    }
    
    .feature-slider {
        padding: 1.5rem 0;
    }
    
    .feature-card {
        flex: 0 0 260px;
        padding: 1.8rem 1.3rem;
    }
    
    .feature-card h3 {
        font-size: 1.2rem;
    }
    
    .feature-card p {
        font-size: 0.9rem;
    }
    
    .feature-img {
        width: 80px;
        height: 80px;
    }
    
    /* Market Section */
    .market-section {
        padding: 3.5rem 0;
    }
    
    .market-header h2 {
        font-size: 2rem;
    }
    
    /* Community Section */
    .community-section {
        padding: 3rem 0;
    }
    
    /* Footer - if you have one */
    footer {
        padding: 2rem 0;
    }
}

/* Large Mobile - 640px */
@media (max-width: 640px) {
    .container {
        padding: 0 20px;
    }
    
    .stats-grid {
        gap: 1rem;
    }
    
    .stat-item {
        padding: 1.2rem;
    }
    
    .feature-card {
        flex: 0 0 240px;
        padding: 1.5rem 1rem;
    }
    
    .weather-container {
        gap: 1.5rem;
    }
    
    .form-grid {
        gap: 1.2rem;
    }
}

/* Small Mobile - 480px and below */
@media (max-width: 480px) {
    /* Typography adjustments */
    h1 {
        font-size: 1.8rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.2rem;
    }
    
    p {
        font-size: 0.9rem;
    }
    
    /* Stats Section */
    .stats {
        padding: 2rem 0;
    }
    
    .stat-item {
        padding: 1rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .stat-label {
        font-size: 0.85rem;
    }
    
    /* Features Section */
    .features {
        padding: 2.5rem 0;
    }
    
    .feature-slider {
        padding: 1rem 0;
    }
    
    .feature-card {
        flex: 0 0 220px;
        padding: 1.3rem 0.9rem;
        border-radius: 20px;
    }
    
    .feature-card h3 {
        font-size: 1.1rem;
        margin-bottom: 0.8rem;
    }
    
    .feature-card p {
        font-size: 0.85rem;
        line-height: 1.6;
    }
    
    .feature-img {
        width: 70px;
        height: 70px;
        margin-bottom: 1rem;
    }
    
    /* Market Section */
    .market-section {
        padding: 2.5rem 0;
    }
    
    .market-header h2 {
        font-size: 1.6rem;
    }
    
    /* Community Section */
    .community-section {
        padding: 2rem 0;
    }
    
    /* Buttons */
    button,
    .btn,
    .cta-button {
        font-size: 0.9rem;
        padding: 0.8rem 1.5rem;
    }
    
    /* Input fields */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    select,
    textarea {
        font-size: 16px; /* Prevents zoom on iOS */
    }
}

/* Extra Small Mobile - 375px */
@media (max-width: 375px) {
    .container {
        padding: 0 15px;
    }
    
    .nav-logo-middle a {
        font-size: 1rem;
    }
    
    .hero h1 {
        font-size: 1.6rem;
    }
    
    .hero p {
        font-size: 0.9rem;
    }
    
    .cta-button {
        padding: 0.7rem 1.2rem;
        font-size: 0.85rem;
    }
    
    .stat-number {
        font-size: 1.8rem;
    }
    
    .feature-card {
        flex: 0 0 200px;
    }
    
    .form-container h2 {
        font-size: 1.3rem;
    }
}

/* Landscape mode optimization for mobile */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: 300px;
        padding: 2rem 0;
    }
    
    .hero h1 {
        font-size: 2rem;
    }
    
    .hero p {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .mobile-nav {
        position: fixed;
        max-height: calc(100vh - 60px);
        overflow-y: auto;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets for mobile */
    a, button, input, select {
        min-height: 44px;
        min-width: 44px;
    }
    
    .nav-links-left li a,
    .nav-links-right li a {
        padding: 10px 5px;
    }
    
    .mobile-menu {
        padding: 10px;
        cursor: pointer;
    }
    
    /* Remove hover effects on touch devices */
    .feature-card:hover {
        transform: none;
    }
    
    .feature-card:active {
        transform: scale(0.98);
    }
}

/* Print styles */
@media print {
    header,
    .mobile-menu,
    .mobile-nav,
    .chatbot-container,
    .toggle-btn {
        display: none;
    }
    
    main {
        margin-top: 0;
    }
    
    .hero {
        page-break-after: always;
    }
    
    * {
        box-shadow: none !important;
    }
}

/* High DPI screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hero,
    .recommendation-form,
    .weather-widget,
    .market-prices {
        background-size: cover;
    }
}