:root {
    --primary: #059669;
    --primary-dark: #047857;
    --secondary: #14532d;
    --accent: #84cc16;
    --bg: #f7fee7;
    --card: #fffef9;
    --text: #1a2e1a;
    --muted: #4d7c4d;
    --border: #bbf7d0;
    --radius: 16px;
    --shadow: 0 4px 24px rgba(5,150,105,.1);
    --hero-from: #14532d;
    --hero-to: #059669;
    --font-body: 'Nunito', system-ui, sans-serif;
    --font-heading: 'Nunito', system-ui, sans-serif;
}

body.theme-forest {
    background: var(--bg) url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23059669' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

body.theme-forest .site-header {
    background: var(--secondary);
    border-bottom: 3px solid var(--accent);
    box-shadow: none;
}

body.theme-forest .site-brand,
body.theme-forest .main-nav a,
body.theme-forest .nav-logout-btn {
    color: #fff !important;
}

body.theme-forest .main-nav a:hover {
    color: var(--accent) !important;
}

body.theme-forest .site-brand-text small {
    color: rgba(255,255,255,.7);
}

body.theme-forest .search-form input {
    background: rgba(255,255,255,.95);
    border-color: transparent;
}

body.theme-forest .search-form button {
    background: var(--accent);
    color: var(--secondary);
}

body.theme-forest .hero {
    background: linear-gradient(160deg, var(--hero-from) 30%, var(--hero-to) 70%);
    position: relative;
    overflow: hidden;
}

body.theme-forest .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(132,204,22,.25), transparent 50%);
    pointer-events: none;
}

body.theme-forest .coupon-card {
    border: 2px solid var(--border);
    background: var(--card);
}

body.theme-forest .coupon-card.featured {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(132,204,22,.2);
}

body.theme-forest .store-chip,
body.theme-forest .category-chip {
    border-radius: 20px;
    background: var(--card);
}

body.theme-forest .site-footer {
    background: var(--secondary);
    border-top: 4px solid var(--accent);
}

body.theme-forest .section-title,
body.theme-forest .hero h1 {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--secondary);
}

body.theme-forest .hero h1 {
    color: #fff;
}

body.theme-forest .btn-primary {
    border-radius: 12px;
}
