/*
Theme Name: FDDL Custom Theme
Description: A responsive, modern child theme for fddl.dev based on Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.1.0
Author: FDDL
*/

/* --- Base Customizations --- */

.fddl-container { max-width: 1200px; margin: 0 auto; padding: 0 5%; }

/* Force Gutenberg Columns to stay horizontal on desktop if desired, 
   but let's make it less aggressive than !important if possible. 
   Actually, Site Editor allows this now, but let's keep a helper class. */
.is-horizontal-desktop.wp-block-columns {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
}
@media (max-width: 768px) {
    .is-horizontal-desktop.wp-block-columns {
        flex-direction: column;
        flex-wrap: wrap;
    }
}

/* Spectrogram Animation */
.spectrogram-container { display: flex; align-items: flex-end; gap: 8px; height: 150px; justify-content: center; }
.spec-bar {
    flex-grow: 1;
    background: var(--wp--preset--color--accent-1);
    width: 6px;
    border-radius: 4px;
    height: 10px;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-play-state: paused;
}
.spectrogram-container.is-playing .spec-bar { animation-play-state: running; }

@keyframes specBounce1 { 0%, 100% { height: 10px; } 50% { height: 90%; } }
@keyframes specBounce2 { 0%, 100% { height: 20px; } 50% { height: 60%; } }
@keyframes specBounce3 { 0%, 100% { height: 15px; } 50% { height: 100%; } }
.spec-bar:nth-child(3n+1) { animation-name: specBounce1; animation-duration: 0.8s; }
.spec-bar:nth-child(3n+2) { animation-name: specBounce2; animation-duration: 1.1s; }
.spec-bar:nth-child(3n+3) { animation-name: specBounce3; animation-duration: 0.9s; }

/* Stagger delays */
.spec-bar:nth-child(n) { animation-delay: calc(0.1s * var(--bar-index, 1)); }

/* Card Styles */
.fddl-card {
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    transition: all 0.3s ease;
}
.fddl-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.15);
    background-color: rgba(255, 255, 255, 0.05);
}

/* Glow Effects for Archive */
.fddl-archive-hero {
    position: relative;
    text-align: center;
    padding: 100px 0;
}
.fddl-archive-hero::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.15) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
}

/* 2x2 Project Grid */
.project-2x2-grid .wp-block-post-template {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 24px;
    list-style: none;
    padding: 0;
}
@media (max-width: 480px) {
    .project-2x2-grid .wp-block-post-template {
        grid-template-columns: 1fr;
    }
}
