/* ============================================
   RAINBOW THEME
   ============================================ */

body[data-theme="rainbow"] {
    --primary-color: #2563eb;
    --secondary-color: #16a34a;
    --accent-color: #a855f7;
    --text-dark: #1b1935;
    --text-light: #453f6d;
    --text-muted: #6d6594;
    --light-bg: #fff8fd;
    --white: #fffefe;
    --border-color: #93c5fd;
}

body[data-theme="rainbow"] .navbar {
    background:
        linear-gradient(rgba(255, 254, 254, 0.9), rgba(255, 254, 254, 0.9)) padding-box,
        linear-gradient(90deg, #ef4444, #f97316, #eab308, #22c55e, #06b6d4, #2563eb, #8b5cf6) border-box;
    border-bottom-color: transparent;
    box-shadow:
        0 2px 20px rgba(37, 99, 235, 0.12),
        0 0 28px rgba(34, 197, 94, 0.1);
}

body[data-theme="rainbow"] .hero {
    background:
        radial-gradient(circle at 18% 18%, rgba(244, 63, 94, 0.18), transparent 28%),
        radial-gradient(circle at 78% 24%, rgba(14, 165, 233, 0.18), transparent 28%),
        radial-gradient(circle at 52% 82%, rgba(34, 197, 94, 0.14), transparent 34%),
        linear-gradient(135deg, rgba(255, 254, 254, 0.82), rgba(244, 241, 255, 0.74));
}

body[data-theme="rainbow"] .hero-content h1 {
    background: linear-gradient(90deg, #ef4444, #f59e0b, #eab308, #22c55e, #06b6d4, #6366f1, #a855f7);
    -webkit-background-clip: text;
    background-clip: text;
}

body[data-theme="rainbow"] .who-its-for,
body[data-theme="rainbow"] .about-sean,
body[data-theme="rainbow"] .contact {
    background:
        radial-gradient(circle at 12% 18%, rgba(244, 63, 94, 0.12), transparent 30%),
        radial-gradient(circle at 84% 18%, rgba(6, 182, 212, 0.12), transparent 28%),
        radial-gradient(circle at 86% 78%, rgba(34, 197, 94, 0.1), transparent 32%),
        linear-gradient(135deg, rgba(255, 254, 254, 0.88), rgba(244, 241, 255, 0.76));
}

body[data-theme="rainbow"] .how-sessions-work,
body[data-theme="rainbow"] .faq {
    background:
        radial-gradient(circle at 88% 18%, rgba(245, 158, 11, 0.12), transparent 30%),
        radial-gradient(circle at 16% 82%, rgba(168, 85, 247, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(255, 254, 254, 0.86), rgba(238, 242, 255, 0.68));
}

body[data-theme="rainbow"] .card,
body[data-theme="rainbow"] .faq-item,
body[data-theme="rainbow"] .contact-form {
    background-color: rgba(255, 254, 254, 0.88);
    border-color: rgba(196, 181, 253, 0.48);
    box-shadow: 0 12px 32px rgba(79, 70, 229, 0.08);
}

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

body[data-theme="rainbow"] .card:hover,
body[data-theme="rainbow"] .faq-item.active {
    box-shadow:
        0 16px 38px rgba(79, 70, 229, 0.12),
        0 0 34px rgba(6, 182, 212, 0.14),
        0 0 28px rgba(244, 63, 94, 0.12);
}

body[data-theme="rainbow"] .avatar-placeholder {
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.88), transparent 0 14%),
        conic-gradient(from 20deg, rgba(239, 68, 68, 0.25), rgba(245, 158, 11, 0.24), rgba(234, 179, 8, 0.23), rgba(34, 197, 94, 0.22), rgba(6, 182, 212, 0.23), rgba(99, 102, 241, 0.24), rgba(168, 85, 247, 0.24), rgba(239, 68, 68, 0.25)),
        radial-gradient(circle, rgba(255, 254, 254, 0.88), rgba(139, 92, 246, 0.16));
}

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

body[data-theme="rainbow"] .theme-layer-atmosphere {
    inset: -12%;
    background:
        linear-gradient(115deg,
            rgba(239, 68, 68, 0.2) 0 11%,
            rgba(249, 115, 22, 0.2) 12% 23%,
            rgba(234, 179, 8, 0.18) 24% 35%,
            rgba(34, 197, 94, 0.18) 36% 48%,
            rgba(6, 182, 212, 0.2) 49% 61%,
            rgba(37, 99, 235, 0.18) 62% 74%,
            rgba(139, 92, 246, 0.2) 75% 88%,
            rgba(236, 72, 153, 0.16) 89% 100%),
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.82), rgba(255, 254, 254, 0.44) 42%, transparent 72%);
    filter: saturate(1.28);
    animation: rainbowDrift 24s ease-in-out infinite;
}

body[data-theme="rainbow"] .theme-layer-atmosphere::before,
body[data-theme="rainbow"] .theme-layer-atmosphere::after {
    content: "";
    position: absolute;
    inset: -4%;
    background:
        repeating-linear-gradient(96deg,
            rgba(239, 68, 68, 0.16) 0 3.5rem,
            rgba(249, 115, 22, 0.15) 3.5rem 7rem,
            rgba(234, 179, 8, 0.14) 7rem 10.5rem,
            rgba(34, 197, 94, 0.14) 10.5rem 14rem,
            rgba(6, 182, 212, 0.15) 14rem 17.5rem,
            rgba(37, 99, 235, 0.14) 17.5rem 21rem,
            rgba(139, 92, 246, 0.15) 21rem 24.5rem);
    opacity: 0.52;
    filter: blur(10px);
    animation: rainbowBands 18s ease-in-out infinite;
}

body[data-theme="rainbow"] .theme-layer-atmosphere::after {
    background:
        radial-gradient(ellipse at 18% 22%, rgba(239, 68, 68, 0.34), transparent 0 18%),
        radial-gradient(ellipse at 34% 34%, rgba(249, 115, 22, 0.28), transparent 0 20%),
        radial-gradient(ellipse at 50% 18%, rgba(234, 179, 8, 0.26), transparent 0 18%),
        radial-gradient(ellipse at 63% 32%, rgba(34, 197, 94, 0.28), transparent 0 20%),
        radial-gradient(ellipse at 78% 22%, rgba(6, 182, 212, 0.3), transparent 0 20%),
        radial-gradient(ellipse at 88% 66%, rgba(37, 99, 235, 0.28), transparent 0 22%),
        radial-gradient(ellipse at 42% 76%, rgba(139, 92, 246, 0.3), transparent 0 28%);
    filter: blur(2px) saturate(1.24);
    animation: rainbowSparkle 7s ease-in-out infinite;
}

body[data-theme="rainbow"] .theme-layer-bottom {
    left: -8vw;
    right: -8vw;
    bottom: -12vh;
    height: min(42vh, 410px);
    border-radius: 48% 52% 0 0 / 36% 42% 0 0;
    background:
        linear-gradient(to right, rgba(239, 68, 68, 0.24), rgba(249, 115, 22, 0.22), rgba(234, 179, 8, 0.2), rgba(34, 197, 94, 0.2), rgba(6, 182, 212, 0.22), rgba(37, 99, 235, 0.2), rgba(139, 92, 246, 0.24)),
        linear-gradient(to top, rgba(244, 241, 255, 0.34), rgba(255, 254, 254, 0.16), transparent);
    filter: blur(1px);
}

body[data-theme="rainbow"] .theme-layer-edge {
    top: 18vh;
    width: min(34vw, 390px);
    height: min(18vw, 205px);
    background-image: var(--rainbow-arc);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    border-radius: 0;
    opacity: 0.72;
    filter: drop-shadow(0 0 26px rgba(37, 99, 235, 0.16));
    animation: rainbowOrb 9s ease-in-out infinite;
}

body[data-theme="rainbow"] {
    --rainbow-arc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 230'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M30 205A180 180 0 0 1 390 205' stroke='%23ef4444' stroke-width='20'/%3E%3Cpath d='M55 205A155 155 0 0 1 365 205' stroke='%23f97316' stroke-width='20'/%3E%3Cpath d='M80 205A130 130 0 0 1 340 205' stroke='%23eab308' stroke-width='20'/%3E%3Cpath d='M105 205A105 105 0 0 1 315 205' stroke='%2322c55e' stroke-width='20'/%3E%3Cpath d='M130 205A80 80 0 0 1 290 205' stroke='%2306b6d4' stroke-width='20'/%3E%3Cpath d='M155 205A55 55 0 0 1 265 205' stroke='%232563eb' stroke-width='20'/%3E%3Cpath d='M180 205A30 30 0 0 1 240 205' stroke='%238b5cf6' stroke-width='20'/%3E%3C/g%3E%3C/svg%3E");
}

body[data-theme="rainbow"] .theme-layer-edge-left {
    left: max(-240px, -17vw);
    transform: rotate(16deg);
}

body[data-theme="rainbow"] .theme-layer-edge-right {
    right: max(-240px, -17vw);
    transform: rotate(-16deg);
    animation-delay: -3s;
}

body[data-theme="rainbow"] .theme-eye {
    width: clamp(64px, 7vw, 118px);
    height: clamp(34px, 3.8vw, 66px);
    border-radius: 0;
    background-image: var(--rainbow-arc);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    filter: drop-shadow(0 0 12px rgba(37, 99, 235, 0.22));
    animation: rainbowOrb 6s ease-in-out infinite;
}

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

body[data-theme="rainbow"] .third-eye {
    top: 12vh;
    left: 50%;
    width: clamp(180px, 24vw, 340px);
    height: clamp(94px, 12vw, 176px);
    transform: translateX(-50%);
    border-radius: 0;
    background-image: var(--rainbow-arc);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    filter: drop-shadow(0 0 34px rgba(139, 92, 246, 0.2));
    opacity: 0.62;
}

body[data-theme="rainbow"] .eye-left-1 { top: 25%; right: 18%; transform: rotate(-10deg); }
body[data-theme="rainbow"] .eye-left-2 { top: 50%; right: 2%; transform: rotate(8deg); animation-delay: -1.2s; }
body[data-theme="rainbow"] .eye-right-1 { top: 25%; left: 18%; transform: rotate(10deg); animation-delay: -2.2s; }
body[data-theme="rainbow"] .eye-right-2 { top: 50%; left: 2%; transform: rotate(-8deg); animation-delay: -3.4s; }
body[data-theme="rainbow"] .eye-bottom-1 { left: 24%; top: 22%; transform: rotate(-6deg); }
body[data-theme="rainbow"] .eye-bottom-2 { left: 46%; top: 15%; animation-delay: -1.8s; }
body[data-theme="rainbow"] .eye-bottom-3 { left: 68%; top: 30%; transform: rotate(8deg); animation-delay: -3s; }

@keyframes rainbowDrift {
    0%, 100% { transform: scale(1) rotate(0deg); filter: saturate(1.08); }
    50% { transform: scale(1.03) rotate(1deg); filter: saturate(1.22); }
}

@keyframes rainbowBands {
    0%, 100% { opacity: 0.46; transform: translateX(-1%); }
    50% { opacity: 0.78; transform: translateX(1%); }
}

@keyframes rainbowSparkle {
    0%, 100% { opacity: 0.36; transform: translateY(0); }
    50% { opacity: 0.78; transform: translateY(-0.4rem); }
}

@keyframes rainbowOrb {
    0%, 100% {
        translate: 0 0;
        scale: 1;
    }
    50% {
        translate: 0 -0.8rem;
        scale: 1.06;
    }
}

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

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