/* ============================================
   FOREST THEME
   ============================================ */

body[data-theme="forest"] {
    --primary-color: #2f7d32;
    --secondary-color: #6b8e23;
    --accent-color: #8b5e34;
    --text-dark: #132314;
    --text-light: #315036;
    --text-muted: #5f7358;
    --light-bg: #e8f3df;
    --white: #fbfff4;
    --border-color: #9fbe7d;
}

body[data-theme="forest"] .navbar {
    background-color: rgba(251, 255, 244, 0.9);
    border-bottom-color: rgba(107, 142, 35, 0.34);
    box-shadow: 0 2px 18px rgba(47, 125, 50, 0.14);
}

body[data-theme="forest"] .hero {
    background:
        radial-gradient(circle at 20% 20%, rgba(137, 180, 88, 0.26), transparent 30%),
        radial-gradient(circle at 82% 28%, rgba(139, 94, 52, 0.14), transparent 28%),
        radial-gradient(circle at 52% 82%, rgba(47, 125, 50, 0.18), transparent 34%),
        linear-gradient(135deg, rgba(251, 255, 244, 0.82), rgba(232, 243, 223, 0.74));
}

body[data-theme="forest"] .hero-content h1 {
    background: linear-gradient(135deg, #2f7d32, #6b8e23 50%, #8b5e34);
    -webkit-background-clip: text;
    background-clip: text;
}

body[data-theme="forest"] .who-its-for,
body[data-theme="forest"] .about-sean,
body[data-theme="forest"] .contact {
    background:
        radial-gradient(circle at 12% 18%, rgba(137, 180, 88, 0.22), transparent 30%),
        radial-gradient(circle at 86% 78%, rgba(139, 94, 52, 0.1), transparent 32%),
        linear-gradient(135deg, rgba(251, 255, 244, 0.88), rgba(232, 243, 223, 0.76));
}

body[data-theme="forest"] .how-sessions-work,
body[data-theme="forest"] .faq {
    background:
        radial-gradient(circle at 88% 18%, rgba(107, 142, 35, 0.2), transparent 30%),
        radial-gradient(circle at 16% 82%, rgba(139, 94, 52, 0.1), transparent 34%),
        linear-gradient(135deg, rgba(246, 252, 237, 0.84), rgba(218, 234, 205, 0.62));
}

body[data-theme="forest"] .card,
body[data-theme="forest"] .faq-item,
body[data-theme="forest"] .contact-form {
    background-color: rgba(251, 255, 244, 0.88);
    border-color: rgba(107, 142, 35, 0.34);
    box-shadow: 0 12px 32px rgba(47, 77, 39, 0.1);
}

body[data-theme="forest"] .contact-form {
    background: transparent;
    box-shadow: none;
}

body[data-theme="forest"] .card:hover,
body[data-theme="forest"] .faq-item.active {
    box-shadow:
        0 16px 38px rgba(47, 77, 39, 0.16),
        0 0 28px rgba(107, 142, 35, 0.2);
}

body[data-theme="forest"] .avatar-placeholder {
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.85), transparent 0 14%),
        radial-gradient(circle at 50% 42%, rgba(137, 180, 88, 0.46), transparent 0 38%),
        repeating-conic-gradient(from 16deg, rgba(107, 142, 35, 0.24) 0 8deg, rgba(47, 125, 50, 0.2) 8deg 14deg, rgba(139, 94, 52, 0.1) 14deg 18deg),
        radial-gradient(circle, rgba(251, 255, 244, 0.88), rgba(47, 125, 50, 0.18));
}

body[data-theme="forest"] .theme-backdrop {
    opacity: 1;
}

body[data-theme="forest"] .theme-layer-atmosphere {
    inset: -10%;
    background:
        radial-gradient(circle at 22% 20%, rgba(137, 180, 88, 0.26), transparent 0 22%),
        radial-gradient(circle at 78% 28%, rgba(139, 94, 52, 0.12), transparent 0 20%),
        radial-gradient(circle at 48% 78%, rgba(47, 125, 50, 0.18), transparent 0 36%),
        linear-gradient(135deg, rgba(251, 255, 244, 0.84), rgba(232, 243, 223, 0.76), rgba(192, 218, 175, 0.28));
    filter: saturate(1.05);
    animation: forestBreath 26s ease-in-out infinite;
}

body[data-theme="forest"] .theme-layer-atmosphere::before,
body[data-theme="forest"] .theme-layer-atmosphere::after {
    content: "";
    position: absolute;
    inset: -4%;
    background:
        radial-gradient(ellipse at 18% 16%, rgba(47, 125, 50, 0.22) 0 0.65rem, transparent 0.7rem),
        radial-gradient(ellipse at 64% 20%, rgba(107, 142, 35, 0.18) 0 0.55rem, transparent 0.6rem),
        radial-gradient(ellipse at 84% 54%, rgba(47, 125, 50, 0.16) 0 0.7rem, transparent 0.75rem),
        radial-gradient(ellipse at 28% 74%, rgba(139, 94, 52, 0.12) 0 0.5rem, transparent 0.55rem);
    filter: blur(0.2px);
    opacity: 0.62;
    animation: forestLeaves 14s ease-in-out infinite;
}

body[data-theme="forest"] .theme-layer-atmosphere::after {
    background:
        linear-gradient(115deg, transparent 0 12%, rgba(47, 125, 50, 0.12) 13%, transparent 15% 48%, rgba(107, 142, 35, 0.1) 49%, transparent 51% 100%),
        repeating-linear-gradient(100deg, transparent 0 6vw, rgba(139, 94, 52, 0.06) 6.1vw 6.22vw, transparent 6.4vw 12vw);
    opacity: 0.48;
    animation-duration: 20s;
}

body[data-theme="forest"] .theme-layer-bottom {
    left: -8vw;
    right: -8vw;
    bottom: -12vh;
    height: min(44vh, 430px);
    border-radius: 46% 54% 0 0 / 36% 42% 0 0;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(137, 180, 88, 0.22), transparent 0 34%),
        linear-gradient(to top, rgba(77, 54, 32, 0.24), rgba(47, 125, 50, 0.16), transparent);
    filter: blur(1px);
}

body[data-theme="forest"] .theme-layer-edge {
    top: 12vh;
    width: min(22vw, 230px);
    height: min(58vh, 520px);
    border-radius: 58% 42% 54% 46% / 52% 38% 62% 48%;
    background:
        radial-gradient(ellipse at 42% 34%, rgba(255, 255, 255, 0.32), transparent 0 12%),
        radial-gradient(ellipse at 54% 58%, rgba(107, 142, 35, 0.34), rgba(47, 125, 50, 0.3) 58%, transparent 72%);
    box-shadow:
        0 0 42px rgba(47, 125, 50, 0.18),
        inset -14px -18px 26px rgba(77, 54, 32, 0.13);
    opacity: 0.62;
    animation: forestLeafSway 10s ease-in-out infinite;
}

body[data-theme="forest"] .theme-layer-edge-left {
    left: max(-180px, -13vw);
    transform: rotate(-18deg);
}

body[data-theme="forest"] .theme-layer-edge-right {
    right: max(-180px, -13vw);
    transform: rotate(18deg);
    animation-delay: -3s;
}

body[data-theme="forest"] .theme-eye {
    width: clamp(18px, 2.3vw, 34px);
    height: clamp(30px, 4vw, 58px);
    border-radius: 70% 30% 70% 30% / 60% 35% 65% 40%;
    background:
        linear-gradient(135deg, rgba(167, 201, 87, 0.86), rgba(47, 125, 50, 0.56)),
        radial-gradient(ellipse at 36% 28%, rgba(255, 255, 255, 0.42), transparent 0 18%);
    box-shadow: 0 0 18px rgba(47, 125, 50, 0.18);
    animation: forestLeafSway 7s ease-in-out infinite;
}

body[data-theme="forest"] .theme-reach {
    display: none;
}

body[data-theme="forest"] .third-eye {
    top: 16vh;
    left: 50%;
    width: clamp(70px, 8vw, 124px);
    height: clamp(42px, 5vw, 72px);
    transform: translateX(-50%) rotate(-8deg);
    border-radius: 70% 30% 70% 30% / 60% 35% 65% 40%;
    background:
        linear-gradient(135deg, rgba(167, 201, 87, 0.42), rgba(47, 125, 50, 0.28)),
        radial-gradient(ellipse at 34% 28%, rgba(255, 255, 255, 0.3), transparent 0 22%);
    opacity: 0.42;
}

body[data-theme="forest"] .eye-left-1 { top: 28%; right: 24%; --leaf-turn: -18deg; }
body[data-theme="forest"] .eye-left-2 { top: 46%; right: 10%; --leaf-turn: 12deg; animation-delay: -1.2s; }
body[data-theme="forest"] .eye-right-1 { top: 28%; left: 24%; --leaf-turn: 18deg; animation-delay: -2.2s; }
body[data-theme="forest"] .eye-right-2 { top: 46%; left: 10%; --leaf-turn: -12deg; animation-delay: -3.4s; }
body[data-theme="forest"] .eye-bottom-1 { left: 30%; top: 28%; --leaf-turn: -28deg; }
body[data-theme="forest"] .eye-bottom-2 { left: 50%; top: 20%; --leaf-turn: 8deg; animation-delay: -1.8s; }
body[data-theme="forest"] .eye-bottom-3 { left: 70%; top: 34%; --leaf-turn: 26deg; animation-delay: -3s; }

@keyframes forestBreath {
    0%, 100% { transform: scale(1); filter: saturate(1.02); }
    50% { transform: scale(1.025); filter: saturate(1.12); }
}

@keyframes forestLeaves {
    0%, 100% { transform: translateY(0) rotate(-1deg); opacity: 0.52; }
    50% { transform: translateY(-0.7rem) rotate(1deg); opacity: 0.72; }
}

@keyframes forestLeafSway {
    0%, 100% { transform: rotate(var(--leaf-turn, 0deg)) translateY(0); }
    50% { transform: rotate(calc(var(--leaf-turn, 0deg) + 6deg)) translateY(-0.7rem); }
}

@media (max-width: 768px) {
    body[data-theme="forest"] .theme-layer-edge {
        width: min(34vw, 160px);
        height: min(48vh, 360px);
    }

    body[data-theme="forest"] .third-eye {
        top: 12vh;
    }
}
