/**
 * ====================================================================
 * Animated Background - Elegant & Minimal Design
 * ====================================================================
 * Clean, subtle animated background with flying plane
 * Update-safe! This file won't be affected by theme updates.
 */

/* ===== Base Background Setup ===== */
body {
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -9999;
    background: linear-gradient(135deg, #fcfcfc 0%, #ffffff 50%, #fefefe 100%);
    pointer-events: none;
}

/* ===== Animated Background Container ===== */
.ct-animated-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -9998;
    overflow: hidden;
    pointer-events: none;
}

/* ===== Ensure all page content stays above background ===== */
/* 
 * IMPORTANT: Do NOT set z-index on major containers like .ct-container, #main, main
 * This creates stacking contexts that trap fixed-position elements (modals, sidebars)
 * Only set z-index on specific non-container elements
 */
.team-page,
.team-section,
.team-sections-wrapper,
.members-grid,
.member-card,
.section-container,
article:not(.landing-page article),
.entry-content:not(.landing-page .entry-content) {
    position: relative;
    z-index: 1;
}

/* Explicitly exclude store page from z-index rules to allow filter sidebar to work */
.store-page {
    position: relative;
    z-index: auto !important;
}

.store-page .ct-container {
    position: relative;
    z-index: auto !important;
}

/* Exclude landing page from z-index interference - it has its own complete styling */
.landing-page {
    position: relative;
    z-index: auto;
}

.landing-page * {
    /* Let landing page CSS handle all positioning */
}

/* ===== Subtle Accent Lines ===== */
.ct-bg-stripe {
    position: absolute;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(205, 86, 24, 0.06) 50%, 
        transparent 100%);
    transform-origin: center;
    animation: gentle-float 25s ease-in-out infinite;
}

.ct-bg-stripe:nth-child(1) {
    top: 20%;
    animation-delay: 0s;
}

.ct-bg-stripe:nth-child(2) {
    top: 50%;
    animation-delay: 8s;
    opacity: 0.7;
}

.ct-bg-stripe:nth-child(3) {
    top: 80%;
    animation-delay: 16s;
    opacity: 0.5;
}

/* ===== Minimal Floating Circles ===== */
.ct-bg-circle {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, 
        rgba(205, 86, 24, 0.03) 0%, 
        transparent 70%);
    border: 1px solid rgba(205, 86, 24, 0.05);
    animation: circle-drift 20s ease-in-out infinite;
}

.ct-bg-circle:nth-child(4) {
    width: 400px;
    height: 400px;
    top: 10%;
    right: 15%;
    animation-delay: 0s;
}

.ct-bg-circle:nth-child(5) {
    width: 300px;
    height: 300px;
    bottom: 15%;
    left: 10%;
    animation-delay: 7s;
    opacity: 0.7;
}

.ct-bg-circle:nth-child(6) {
    width: 250px;
    height: 250px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-delay: 14s;
    opacity: 0.5;
}

/* ===== Flying Plane SVG (Scroll-Responsive) ===== */
.ct-flying-plane {
    position: fixed;
    width: 140px;
    height: 140px;
    opacity: 0.2;
    pointer-events: none;
    z-index: -9997;
    will-change: transform, top;
    background-image: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmE0YjAwIiBoZWlnaHQ9IjIwMHB4IiB3aWR0aD0iMjAwcHgiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA1MTEuOTk5IDUxMS45OTkiIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0cm9rZT0iI2ZhNGIwMCI+PGcgaWQ9IlNWR1JlcG9fYmdDYXJyaWVyIiBzdHJva2Utd2lkdGg9IjAiPjwvZz48ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvZz48ZyBpZD0iU1ZHUmVwb19pY29uQ2FycmllciI+IDxnPiA8Zz4gPHBhdGggZD0iTTUwMC44MDcsMjk5LjgzOWwtNS41NDMtMjMuMjEyYy00Ljc2My0xOS45NDktMTcuNDY5LTM2LjE2NC0zMy45ODctNDMuMzc2TDMwOS4yMSwxNjYuODU5bDEuMjQzLTYyLjc3MWwwLjYzMy0zMS45OTYgYzAuMDA2LTAuNDUxLDAuMDA0LTAuODk4LDAuMDAxLTEuMzQ0bC0wLjAwMy0wLjUwOWMwLTAuMDAyLDAtMC4wMDMsMC0wLjAwNWMwLTAuMDAzLDAtMC4wMDUsMC0wLjAwOCBDMzEwLjk2NiwzMC44NDcsMjg5LjAwMywwLDI2MS4wODUsMGgtMTAuMTcyYy0yNy45MDcsMC00OS44MzQsMzAuNzg3LTQ5LjkyNCw3MC4wOTNjMCwwLjAwMSwwLDAuMDAzLDAsMC4wMDRsLTAuMDAyLDAuNDI4IGMtMC4wMDMsMC41MjgtMC4wMDUsMS4wNTgsMC4wMDQsMS42MTFsMC41ODcsMzEuODhsMS4xNTksNjIuODY0bC0xNTIuMDE2LDY2LjM3Yy0xNi41MTgsNy4yMTItMjkuMjI0LDIzLjQyNy0zMy45ODcsNDMuMzc1IGwtNS41NDMsMjMuMjEyYy0wLjgzNCwzLjQ5NCwwLjIzMiw3LjE2OSwyLjgwNCw5LjY3NWMxLjkzLDEuODc5LDQuNDkyLDIuODk0LDcuMTE4LDIuODk0YzAuODc1LDAsMS43NTktMC4xMTMsMi42MjctMC4zNDUgbDE1Ni42OTYtNDEuNzkxaDI0LjIwOGwxLjkzOCwxMDUuMDgxYy0wLjA1NSwxNi43NSwyLjU0LDMzLjQ0Miw3LjcxNCw0OS44MWwtNDguMDksMjkuMTcyYy0yLjcyNiwxLjY1NC00LjUyMiw0LjQ4OC00Ljg1NCw3LjY2IGwtMy44NTQsMzYuODU2Yy0wLjM1NywzLjQwNiwxLjAyLDYuNzYyLDMuNjY0LDguOTM4YzEuODQ5LDEuNTIyLDQuMTQ3LDIuMzIyLDYuNDgxLDIuMzIyYzEuMDAyLDAsMi4wMTItMC4xNDgsMi45OTUtMC40NSBsNjkuMzI1LTIxLjMwN2w1Ljk0OCwxNi44NDRjMS40NCw0LjA3OCw1LjI5NCw2LjgwMyw5LjYxOSw2LjgwM2M0LjMyNCwwLDguMTc4LTIuNzI3LDkuNjE3LTYuODA0bDUuOTQ2LTE2Ljg0M2w2OS4zMjYsMjEuMzA3IGMwLjk4MywwLjMwMiwxLjk5MiwwLjQ1LDIuOTk2LDAuNDVjMi4zMzQsMCw0LjYzMS0wLjgwMiw2LjQ4MS0yLjMyMmMyLjY0NC0yLjE3Niw0LjAxOS01LjUzMiwzLjY2NC04LjkzOGwtMy44NTQtMzYuODU2IGMtMC4zMzUtMy4yMDQtMi4xNjMtNi4wNjEtNC45MzItNy43MDZsLTQ3Ljg3OC0yOC40NTZjNS4zOTgtMTYuNjE5LDguMTU2LTMzLjYyNiw4LjE5NS01MC43NDZsMi4wNzYtMTA0LjgxNWgyNC40IGwxNTYuNjk2LDQxLjc5MWMwLjg2OSwwLjIzMywxLjc1MiwwLjM0NSwyLjYyNywwLjM0NWMyLjYyNSwwLDUuMTg5LTEuMDE1LDcuMTE4LTIuODkzQzUwMC41NzcsMzA3LjAwOCw1MDEuNjQyLDMwMy4zMzMsNTAwLjgwNywyOTkuODM5eiBNMTc5LjEwMSwyNDkuODczYy0wLjg4NywwLTEuNzcxLDAuMTE1LTIuNjI4LDAuMzQ1bC0xNDEuNDY5LDM3LjczbDEuNTcyLTYuNTg0YzMuMjg1LTEzLjc1NywxMS42MjQtMjQuNzU1LDIyLjMwOC0yOS40MTkgbDE0NC4yNjMtNjIuOTg0bDEuMTIzLDYwLjkxMkgxNzkuMTAxeiBNMjI5LjE3NSwzNi45NjFjNS40NDktMTAuMTA2LDEzLjI1MS0xNi41NjMsMjEuNzQtMTYuNTYzaDEwLjE3MiBjOC40ODcsMCwxNi4yOTMsNi40NTgsMjEuNzU2LDE2LjU3bDAuMDAyLDAuMDA4Yy04LjM0LTQuODMxLTE3LjQzMy03LjM5OC0yNi44NDQtNy4zOThjLTkuNDAzLDAtMTguNDksMi41NjUtMjYuODI3LDcuMzkxIEwyMjkuMTc1LDM2Ljk2MXogTTI1Niw0OS45NzZjMTMuMDA5LDAsMjUuNTMxLDguMzY1LDM0LjY2NSwyMy4wNTZsLTAuMDc3LDMuOTU5QzI4MC4yNjYsNjguNzI4LDI2OC4zODUsNjQuMjU1LDI1Niw2NC4yNTUgYy0xMi4zNTUsMC0yNC4yMTEsNC40NTQtMzQuNTE4LDEyLjY4MmwtMC4wNzMtNC4wMTlDMjMwLjUzNiw1OC4zLDI0My4wMyw0OS45NzYsMjU2LDQ5Ljk3NnogTTE3OS4zODgsNDg1LjYyOWwxLjcyNS0xNi40NzkgbDQwLjUzMy0yNC41ODdsMTAuNDYxLDI0Ljg2NEwxNzkuMzg4LDQ4NS42Mjl6IE0yNTUuNTQ2LDQ3Mi41MzhsLTE2LjgzMy00MC4wMDhjLTcuODYzLTE4LjY4Ni0xMS44MS0zNy45MzQtMTEuNzMyLTU3LjIxIGMwLTAuMDc2LDAtMC4xNTItMC4wMDItMC4yMjhsLTQuOTQ5LTI2OC40MjhjOS4wNzEtMTQuMDIxLDIxLjMzMS0yMi4wMSwzMy45NjktMjIuMDFjMTIuNjU1LDAsMjQuOTI0LDguMDA2LDMzLjk5OSwyMi4wNTUgbC01LjMwOCwyNjguMDY1Yy0wLjAwMSwwLjA2MS0wLjAwMiwwLjEyMy0wLjAwMiwwLjE4NWMtMC4wMzMsMTkuNTQxLTQuMTEzLDM4Ljk2Ni0xMi4xMjksNTcuNzM4TDI1NS41NDYsNDcyLjUzOHogTTMyOS45NDgsNDY5LjIwOGwxLjcxOCwxNi40MjJsLTUyLjYyMy0xNi4xNzNsMTAuMzg5LTI0LjMyOUwzMjkuOTQ4LDQ2OS4yMDh6IE0zMzUuNTI4LDI1MC4yMTggYy0wLjg1OC0wLjIyOS0xLjc0MS0wLjM0NS0yLjYyOC0wLjM0NWgtMjUuMzMzbDEuMjA3LTYwLjk0N2wxNDQuMzQzLDYzLjAxOWMxMC42ODQsNC42NjUsMTkuMDIzLDE1LjY2MiwyMi4zMDgsMjkuNDJsMS41NzIsNi41ODQgTDMzNS41MjgsMjUwLjIxOHoiPjwvcGF0aD4gPC9nPiA8L2c+IDxnPiA8Zz4gPHBhdGggZD0iTTY0LjI1NSwzMTMuMTE2Yy01LjYzMiwwLTEwLjE5OSw0LjU2Ni0xMC4xOTksMTAuMTk5djY4LjMzNWMwLDUuNjMzLDQuNTY3LDEwLjE5OSwxMC4xOTksMTAuMTk5IGM1LjYzMiwwLDEwLjE5OS00LjU2NiwxMC4xOTktMTAuMTk5di02OC4zMzVDNzQuNDU0LDMxNy42ODIsNjkuODg3LDMxMy4xMTYsNjQuMjU1LDMxMy4xMTZ6Ij48L3BhdGg+IDwvZz4gPC9nPiA8Zz4gPGc+IDxwYXRoIGQ9Ik0xMjQuNDMsMjk3LjgxN2MtNS42MzIsMC0xMC4xOTksNC41NjYtMTAuMTk5LDEwLjE5OXY0MC43OTdjMCw1LjYzMyw0LjU2NywxMC4xOTksMTAuMTk5LDEwLjE5OSBjNS42MzIsMCwxMC4xOTktNC41NjYsMTAuMTk5LTEwLjE5OXYtNDAuNzk3QzEzNC42MjksMzAyLjM4MywxMzAuMDYyLDI5Ny44MTcsMTI0LjQzLDI5Ny44MTd6Ij48L3BhdGg+IDwvZz4gPC9nPiA8Zz4gPGc+IDxwYXRoIGQ9Ik0xMjQuNDMsMzcxLjI1MWMtNS42MzIsMC0xMC4xOTksNC41NjYtMTAuMTk5LDEwLjE5OXY4LjE1OWMwLDUuNjMzLDQuNTY3LDEwLjE5OSwxMC4xOTksMTAuMTk5IGM1LjYzMiwwLDEwLjE5OS00LjU2NiwxMC4xOTktMTAuMTk5di04LjE1OUMxMzQuNjI5LDM3NS44MTcsMTMwLjA2MiwzNzEuMjUxLDEyNC40MywzNzEuMjUxeiI+PC9wYXRoPiA8L2c+IDwvZz4gPGc+IDxnPiA8cGF0aCBkPSJNNDQ3Ljc0NSwzMTMuMTE2Yy01LjYzMiwwLTEwLjE5OSw0LjU2Ni0xMC4xOTksMTAuMTk5djY4LjMzNWMwLDUuNjMzLDQuNTY3LDEwLjE5OSwxMC4xOTksMTAuMTk5IGM1LjYzMiwwLDEwLjE5OS00LjU2NiwxMC4xOTktMTAuMTk5di02OC4zMzVDNDU3Ljk0NCwzMTcuNjgyLDQ1My4zNzcsMzEzLjExNiw0NDcuNzQ1LDMxMy4xMTZ6Ij48L3BhdGg+IDwvZz4gPC9nPiA8Zz4gPGc+IDxwYXRoIGQ9Ik0zODcuNTY5LDI5Ny44MTdjLTUuNjMyLDAtMTAuMTk5LDQuNTY2LTEwLjE5OSwxMC4xOTl2NDAuNzk3YzAsNS42MzMsNC41NjcsMTAuMTk5LDEwLjE5OSwxMC4xOTkgYzUuNjMyLDAsMTAuMTk5LTQuNTY2LDEwLjE5OS0xMC4xOTl2LTQwLjc5N0MzOTcuNzY5LDMwMi4zODMsMzkzLjIwMSwyOTcuODE3LDM4Ny41NjksMjk3LjgxN3oiPjwvcGF0aD4gPC9nPiA8L2c+IDxnPiA8Zz4gPHBhdGggZD0iTTM4Ny41NjksMzcxLjI1MWMtNS42MzIsMC0xMC4xOTksNC41NjYtMTAuMTk5LDEwLjE5OXY4LjE1OWMwLDUuNjMzLDQuNTY3LDEwLjE5OSwxMC4xOTksMTAuMTk5IGM1LjYzMiwwLDEwLjE5OS00LjU2NiwxMC4xOTktMTAuMTk5di04LjE1OUMzOTcuNzY5LDM3NS44MTcsMzkzLjIwMSwzNzEuMjUxLDM4Ny41NjksMzcxLjI1MXoiPjwvcGF0aD4gPC9nPiA8L2c+IDwvZz48L3N2Zz4=');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: none;
    filter: drop-shadow(0 2px 8px rgba(205, 86, 24, 0.1));
}

/* Plane becomes more visible when moving */
.ct-flying-plane.is-moving {
    opacity: 0.35;
}

/* ===== Animations ===== */
@keyframes gentle-float {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.3;
    }
    50% {
        transform: translateY(-10px);
        opacity: 0.6;
    }
}

@keyframes circle-drift {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.4;
    }
    25% {
        transform: translate(15px, -15px) scale(1.05);
        opacity: 0.5;
    }
    50% {
        transform: translate(0, -30px) scale(0.95);
        opacity: 0.3;
    }
    75% {
        transform: translate(-15px, -15px) scale(1.02);
        opacity: 0.5;
    }
}

/* ===== Scroll-based Parallax Effect ===== */
@supports (animation-timeline: scroll()) {
    .ct-bg-stripe {
        animation-timeline: scroll();
        animation-range: 0% 100%;
    }
    
    .ct-bg-circle {
        animation-timeline: scroll();
        animation-range: 0% 100%;
    }
}

/* ===== Reduce Motion for Accessibility ===== */
@media (prefers-reduced-motion: reduce) {
    .ct-bg-stripe,
    .ct-bg-circle,
    .ct-flying-plane {
        animation: none;
    }
}

/* ===== Mobile Optimization ===== */
@media (max-width: 767px) {
    .ct-bg-circle {
        opacity: 0.3;
    }
    
    .ct-bg-circle:nth-child(6) {
        display: none; /* Hide center circle on mobile */
    }
    
    .ct-bg-stripe {
        opacity: 0.5;
    }
    
    .ct-flying-plane {
        width: 100px;
        height: 100px;
        opacity: 0.15;
    }
    
    .ct-flying-plane.is-moving {
        opacity: 0.25;
    }
}

/* ===== Tablet Optimization ===== */
@media (max-width: 1024px) and (min-width: 768px) {
    .ct-flying-plane {
        width: 120px;
        height: 120px;
    }
    
    .ct-bg-circle {
        opacity: 0.6;
    }
}
