/**
 * ZEDEC.AI Theme Variations
 * Time-based and subsite-specific themes
 */

/* ============================================
   TIME-BASED THEMES
   ============================================ */

[data-theme="midnight"] {
    --bg-primary: #05050a;
    --bg-secondary: #0a0a12;
    --bg-tertiary: #10101a;
    --accent-primary: #7b68ee;
    --accent-secondary: #9370db;
    --theme-glow: rgba(123, 104, 238, 0.3);
}

[data-theme="predawn"] {
    --bg-primary: #0a0812;
    --bg-secondary: #120f1a;
    --bg-tertiary: #1a1525;
    --accent-primary: #4169e1;
    --accent-secondary: #6495ed;
    --theme-glow: rgba(65, 105, 225, 0.3);
}

[data-theme="dawn"] {
    --bg-primary: #0f0a0a;
    --bg-secondary: #1a1212;
    --bg-tertiary: #251a1a;
    --accent-primary: #ff6b6b;
    --accent-secondary: #ffa07a;
    --theme-glow: rgba(255, 107, 107, 0.3);
}

[data-theme="morning"] {
    --bg-primary: #080a0f;
    --bg-secondary: #101520;
    --bg-tertiary: #182030;
    --accent-primary: #00bcd4;
    --accent-secondary: #4dd0e1;
    --theme-glow: rgba(0, 188, 212, 0.3);
}

[data-theme="noon"] {
    --bg-primary: #0a0a08;
    --bg-secondary: #151510;
    --bg-tertiary: #202018;
    --accent-primary: #ffd700;
    --accent-secondary: #ffeb3b;
    --theme-glow: rgba(255, 215, 0, 0.3);
}

[data-theme="afternoon"] {
    --bg-primary: #080a08;
    --bg-secondary: #101510;
    --bg-tertiary: #182018;
    --accent-primary: #4caf50;
    --accent-secondary: #8bc34a;
    --theme-glow: rgba(76, 175, 80, 0.3);
}

[data-theme="evening"] {
    --bg-primary: #0a080a;
    --bg-secondary: #150f15;
    --bg-tertiary: #201520;
    --accent-primary: #9c27b0;
    --accent-secondary: #ba68c8;
    --theme-glow: rgba(156, 39, 176, 0.3);
}

[data-theme="night"] {
    --bg-primary: #08080a;
    --bg-secondary: #10101a;
    --bg-tertiary: #181825;
    --accent-primary: #3f51b5;
    --accent-secondary: #7986cb;
    --theme-glow: rgba(63, 81, 181, 0.3);
}

/* ============================================
   SUBSITE THEMES
   ============================================ */

.subsite-sicily-accord {
    --accent-primary: #1a5f7a;
    --accent-secondary: #2980b9;
    --gradient-primary: linear-gradient(135deg, #1a5f7a 0%, #2980b9 50%, #3498db 100%);
}

.subsite-ascw {
    --accent-primary: #7a1a5f;
    --accent-secondary: #9b59b6;
    --gradient-primary: linear-gradient(135deg, #7a1a5f 0%, #9b59b6 50%, #8e44ad 100%);
}

.subsite-holy-sea {
    --accent-primary: #5f7a1a;
    --accent-secondary: #7cb342;
    --gradient-primary: linear-gradient(135deg, #5f7a1a 0%, #7cb342 50%, #8bc34a 100%);
}

.subsite-bearflag {
    --accent-primary: #8b4513;
    --accent-secondary: #cd853f;
    --gradient-primary: linear-gradient(135deg, #8b4513 0%, #cd853f 50%, #deb887 100%);
}

.subsite-acoto {
    --accent-primary: #2f4f4f;
    --accent-secondary: #5f9ea0;
    --gradient-primary: linear-gradient(135deg, #2f4f4f 0%, #5f9ea0 50%, #7fffd4 100%);
}

.subsite-biozedec {
    --accent-primary: #4a0080;
    --accent-secondary: #7b1fa2;
    --gradient-primary: linear-gradient(135deg, #4a0080 0%, #7b1fa2 50%, #9c27b0 100%);
}

/* ============================================
   SOLFEGGIO FREQUENCY COLORS
   ============================================ */

.freq-174 { --freq-color: #ff0000; }
.freq-285 { --freq-color: #ff7f00; }
.freq-396 { --freq-color: #ffff00; }
.freq-417 { --freq-color: #7fff00; }
.freq-528 { --freq-color: #00ff00; }
.freq-639 { --freq-color: #00ff7f; }
.freq-741 { --freq-color: #00ffff; }
.freq-852 { --freq-color: #007fff; }
.freq-963 { --freq-color: #7f00ff; }

/* ============================================
   ANIMATION UTILITIES
   ============================================ */

.animate-fade-in {
    animation: fadeIn 0.5s ease forwards;
}

.animate-slide-up {
    animation: slideUp 0.5s ease forwards;
}

.animate-scale-in {
    animation: scaleIn 0.3s ease forwards;
}

.animate-glow {
    animation: glow 2s ease-in-out infinite;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from { 
        opacity: 0;
        transform: scale(0.9);
    }
    to { 
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes glow {
    0%, 100% { 
        box-shadow: 0 0 20px var(--theme-glow, rgba(0, 255, 136, 0.3));
    }
    50% { 
        box-shadow: 0 0 40px var(--theme-glow, rgba(0, 255, 136, 0.5));
    }
}

/* ============================================
   VORTEX PATTERNS
   ============================================ */

.vortex-bg {
    background: 
        radial-gradient(circle at 20% 80%, rgba(0, 255, 136, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(0, 204, 255, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(255, 0, 170, 0.03) 0%, transparent 70%);
}

.tesla-grid {
    background-image: 
        linear-gradient(rgba(0, 255, 136, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 136, 0.03) 1px, transparent 1px);
    background-size: 33px 33px;
}

.rodin-spiral {
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(0, 255, 136, 0.1) 60deg,
        transparent 120deg,
        rgba(0, 204, 255, 0.1) 180deg,
        transparent 240deg,
        rgba(255, 0, 170, 0.1) 300deg,
        transparent 360deg
    );
}

/* ============================================
   CATEGORY COLORS
   ============================================ */

.category-world { --category-color: #3498db; }
.category-tech { --category-color: #9b59b6; }
.category-science { --category-color: #1abc9c; }
.category-finance { --category-color: #f39c12; }
.category-alternative { --category-color: #e74c3c; }

.content-card[data-category="world"] { --card-accent: var(--category-color, #3498db); }
.content-card[data-category="tech"] { --card-accent: var(--category-color, #9b59b6); }
.content-card[data-category="science"] { --card-accent: var(--category-color, #1abc9c); }
.content-card[data-category="finance"] { --card-accent: var(--category-color, #f39c12); }
.content-card[data-category="alternative"] { --card-accent: var(--category-color, #e74c3c); }

.content-card::before {
    background: var(--card-accent, var(--gradient-primary));
}

/* ============================================
   MOBILE MENU
   ============================================ */

.mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 320px;
    height: 100%;
    background: var(--bg-secondary);
    z-index: 10001;
    transition: right 0.3s ease;
    padding: 80px 30px 30px;
    overflow-y: auto;
}

.mobile-menu.open {
    right: 0;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-overlay.open {
    opacity: 1;
    visibility: visible;
}

.mobile-menu .nav-link {
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 1.1rem;
}

.mobile-menu .dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: none;
    padding: 0 0 0 20px;
    box-shadow: none;
}

/* ============================================
   SCROLL EFFECTS
   ============================================ */

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.parallax-slow {
    transform: translateY(calc(var(--scroll-y, 0) * 0.3));
}

.parallax-medium {
    transform: translateY(calc(var(--scroll-y, 0) * 0.5));
}

.parallax-fast {
    transform: translateY(calc(var(--scroll-y, 0) * 0.7));
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .main-header,
    .cookie-banner,
    .loading-screen,
    .algorithm-bar,
    .donate-section,
    .main-footer {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
    
    .content-card {
        border: 1px solid #ccc;
        page-break-inside: avoid;
    }
}
