/*
Theme Name: EverydayDust
Theme URI: 
Author: Nick Roy
Author URI: 
Description: 
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: everydaydust
Tags: 
*/

/* ==========================================================================
   THEME STYLESHEET INDEX
   
   1. CORE OVERRIDES & TYPOGRAPHY .......... [Line 25]
   2. FIXED GLOBAL HEADER & NAVIGATION ..... [Line 55]
   3. CINEMATIC GRID & LAYOUT FRAMEWORKS ... [Line 190]
   4. ALBUM META & TRACKLIST CONSOLE ....... [Line 245]
   5. BUTTONS & CATEGORY PLUGINS ........... [Line 345]
   6. SITE FOOTER & FORMINATOR STYLES ...... [Line 410]
   7. PAGE SPECIALTIES & UTILITIES ......... [Line 525]
   ========================================================================== */

/* ==========================================================================
   1. CORE OVERRIDES & TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, .has-header-font-family {
    font-family: var(--wp--preset--font-family--header) !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

h4 {
    font-family: var(--wp--preset--font-family--header) !important;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

.display-large {
    font-size: var(--wp--preset--font-size--display) !important;
    font-family: var(--wp--preset--font-family--header);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.display-technical {
    font-size: var(--wp--preset--font-size--display) !important;
    font-family: var(--wp--preset--font-family--header);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--accent-glow);
}

/* ==========================================================================
   2. FIXED GLOBAL HEADER & NAVIGATION
   ========================================================================== */

/* Fixed header base layout rules */
header.site-header,
.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: transparent !important;
}

/* Force header container to ignore block gaps */
.wp-site-blocks .wp-block-template-part.header,
.wp-site-blocks .site-header {
    margin-block-start: 0 !important;
}

.wp-site-blocks .site-header > :first-child {
    margin-block-start: 0 !important;
}

/* Frosted panel layer toggles below header contents */
.site-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: opacity 0.25s ease;
}

/* Active scrolled state panel toggle */
.site-header.is-scrolled::before {
    opacity: 1;
    background: rgba(20, 22, 21, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Header Edge-To-Edge padding boundaries */
header.site-header > .wp-block-group,
.site-header .header-inner,
.site-header > div:first-child {
    max-width: 100% !important; 
    padding: 2rem 2.5rem !important;
    box-sizing: border-box !important;
}

/* Flex item configurations for title alignment */
.site-header .wp-block-navigation,
.site-header .wp-block-site-title {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    align-self: center !important;
}

/* Navigation items core typography normalization */
.site-header .wp-block-navigation-item__content {
    font-family: var(--wp--preset--font-family--header), monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    text-decoration: none !important;
    font-size: 0.8rem !important;
    color: var(--wp--preset--color--text-primary) !important;
    transition: color 0.25s ease !important;
}

.site-header.is-scrolled .wp-block-navigation-item__content {
    color: var(--wp--preset--color--text-primary) !important;
}

.site-header .wp-block-navigation-item__content:hover {
    color: #b86e4c !important; /* Rust Alert */
}

.site-header .wp-block-navigation ul.wp-block-navigation__container {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Snap-Together Site Title Block Configuration */
.site-header .wp-block-site-title a {
    position: relative;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    text-decoration: none !important;
    line-height: 1 !important; 
    font-size: 0 !important; 
    letter-spacing: 0 !important;
    transition: color 0.25s ease !important;
}

.site-header .wp-block-site-title a::before {
    content: "EVERYDAY";
    font-family: var(--wp--preset--font-family--header), monospace !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.12em !important;
    font-weight: 900 !important;
    color: var(--wp--preset--color--text-primary) !important;
    transition: color 0.25s ease;
}

.site-header .wp-block-site-title a::after {
    content: "DUST";
    font-family: var(--wp--preset--font-family--header), monospace !important;
    font-size: 0.9rem !important; 
    letter-spacing: 0.12em !important;
    font-weight: 300 !important;
    color: var(--wp--preset--color--text-primary) !important;
    margin-left: 0.15em !important;
    transition: color 0.25s ease;
}

.site-header .wp-block-site-title a:hover::before,
.site-header .wp-block-site-title a:hover::after {
    color: #b86e4c !important;
}

/* Fixed Header Spacing Corrections beneath WP Admin Bar */
@media screen and (min-width: 783px) {
    .logged-in header.site-header,
    .logged-in .site-header {
        top: 32px !important;
    }
}
@media screen and (max-width: 782px) {
    .logged-in header.site-header,
    .logged-in .site-header {
        top: 46px !important;
    }
}

/* Zero-height IntersectionObserver sentinel flag */
.edd-header-sentinel {
    width: 100%;
    height: 0;
    margin: 0;
    pointer-events: none;
}

/* ==========================================================================
   3. CINEMATIC GRID & LAYOUT FRAMEWORKS
   ========================================================================== */

.content-wrapper {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 8rem !important; /* Offset standard layout window clear of header */
}

.cinematic-split-grid {
    display: grid !important;
    grid-template-columns: 1.22fr 1fr !important;
    gap: 4rem !important;
    min-height: 100vh !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
    box-sizing: border-box !important;
}

.cinematic-split-grid > *:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
}

.cinematic-split-grid > *:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.2rem !important;
    width: 100% !important;
}

.cinematic-split-grid > *:last-child > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.cinematic-split-grid img {
    display: block !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.cinematic-split-grid a {
    color: #b86e4c !important; /* Rust Alert */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.cinematic-split-grid a:hover,
.cinematic-split-grid a:focus {
    color: #e6e8e7 !important; /* Oxidized Silver */
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Breakout override enforcement parameters */
.wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.wp-block-post-content {
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
}

/* ==========================================================================
   4. ALBUM META & TRACKLIST CONSOLE
   ========================================================================== */

.release-meta-wrapper { 
    font-family: monospace; 
    font-size: 0.85rem; 
    color: #8c8c8c; 
    letter-spacing: 0.05em; 
    text-transform: uppercase; 
    margin: 0.5rem 0 1rem; 
}

.release-meta-row { 
    display: flex !important; 
    flex-direction: row !important;
    gap: 1rem !important; 
    margin: 0.5rem 0 !important; 
    width: auto !important; 
    white-space: nowrap !important;
}

.release-meta-item { 
    font-family: monospace; 
    font-size: 0.85rem !important; 
    color: #cccccc !important; 
    text-transform: uppercase; 
    margin: 0 !important; 
    white-space: nowrap; 
}

.release-meta-divider { 
    font-family: monospace; 
    font-size: 0.85rem !important; 
    color: #555555 !important; 
    margin: 0 !important; 
}

.release-credits-wrapper { 
    font-size: 0.9rem; 
    color: #b3b3b3; 
    margin-top: 3rem; 
    border-top: 1px solid #222; 
    padding-top: 1.5rem; 
}

.release-credits-text { 
    font-size: 0.9rem !important; 
    color: #a0a0a0 !important; 
    margin-top: 2.5rem !important; 
    font-style: italic; 
    white-space: pre-line !important; 
}

/* Dynamic Artist Console anchors */
.artist-link {
    font-family: monospace;
    font-size: 0.9rem;
    color: #666;
    display: block;
    margin: 0 !important;
    padding: 0.25rem 0 1.5rem 0 !important;
}

.artist-link a {
    color: #5599ff !important;
    text-decoration: none;
}

.artist-link a:hover {
    text-decoration: underline;
}

/* Universal Tracklist Box Console Rules */
.archive-tracklist {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important; /* Fixed duplicate styling error */
    padding: 1.5rem 2rem !important; 
    margin: 1.25rem 0 !important; 
    display: block !important;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    color: #fff;
}

.tracklist-header {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    font-family: monospace;
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 0.5rem !important;
    width: 100% !important;
}

.tracklist-header span:last-child {
    text-align: right !important;
}

.track-row {
    display: grid !important;
    grid-template-columns: 40px 1fr 60px !important;
    width: 100% !important;
    align-items: center !important;
    padding: 0.75rem 0 !important;
    border-bottom: 1px solid #333;
    font-family: monospace;
    font-size: 0.85rem;
}

.track-num { color: #668866; }
.track-title { color: #e0e0e0; }
.track-time { color: #888; text-align: right; }

/* Desktop-only specialized overflow engine */
@media (min-width: 1025px) {
    .archive-tracklist {
        max-height: 400px;
        overflow-y: auto;
        padding-right: 1.5rem !important;
    }

    .archive-tracklist.is-scrollable {
        -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
        mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    }

    .archive-tracklist::-webkit-scrollbar {
        width: 4px;
    }
    .archive-tracklist::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.2);
    }
    .archive-tracklist::-webkit-scrollbar-thumb {
        background: #5b7057; /* Mossed Decay */
        border-radius: 2px;
        transition: background 0.2s ease;
    }
    .archive-tracklist::-webkit-scrollbar-thumb:hover {
        background: #b86e4c; /* Rust Alert */
    }
}

/* Mobile Layout Tracklist Fallbacks */
@media (max-width: 1024px) {
    .archive-tracklist {
        max-height: none !important;
        overflow-y: visible !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }
}

/* ==========================================================================
   5. BUTTONS & CATEGORY PLUGINS
   ========================================================================== */

/* Universal Native Block Buttons Overhaul */
.wp-block-buttons,
.wp-block-button,
div[class*="wp-block-button"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-width: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.wp-block-button a,
.wp-block-button__link,
.btn-everydaydust {
    font-family: var(--wp--preset--font-family--header), monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    color: #e6e8e7 !important; /* Oxidized Silver */
    text-align: center !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid #333333 !important;
    border-radius: 0 !important; 
    padding: 0.75rem 1.75rem !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-sizing: border-box !important;
}

.wp-block-button a:hover,
.wp-block-button__link:hover,
.btn-everydaydust:hover {
    color: #ffffff !important;
    background: #b86e4c !important; /* Rust Alert */
    border-color: #b86e4c !important;
    text-decoration: none !important;
}

/* Category Ajax Filter Component Overrides */
.caf-meta-content,
#caf-layout-pagination,
ul#caf-layout-pagination.post-layout3 {
    display: none !important;
}

.caf-filter-button,
.caf-filter-container a, 
.caf-filter-container button {
    font-family: var(--wp--preset--font-family--header), monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #8c8c8c !important;
    background: transparent !important;
    border: 1px solid #333333 !important;
    border-radius: 0 !important;
    padding: 0.5rem 1.25rem !important;
    transition: all 0.2s ease-in-out !important;
}

.caf-filter-button:hover,
.caf-filter-container a:hover,
.caf-filter-container button:hover {
    color: #e6e8e7 !important; /* Oxidized Silver */
    border-color: #666666 !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

.caf-filter-button.caf-active,
.caf-filter-container .active,
.caf-filter-container .current-caf {
    color: #ffffff !important;
    background: #b86e4c !important; /* Rust Alert */
    border-color: #b86e4c !important;
}

.caf-post-title, 
.caf-post-title a {
    font-family: var(--wp--preset--font-family--header), monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #e6e8e7 !important;
}

/* ==========================================================================
   6. SITE FOOTER & FORMINATOR STYLES
   ========================================================================== */

.site-footer {
    position: relative !important;
    z-index: auto !important;
    margin-top: 50px !important;
}

.site-footer,
.site-footer a,
.site-footer p {
    font-family: var(--wp--preset--font-family--header), monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
}

.site-footer p {
    font-size: 0.75rem !important;
    color: #a3a3a3 !important;
}

.site-footer hr {
    border: none !important;
    border-top: 1px solid #333333 !important;
    margin: 4rem 0 !important;
}

.site-footer .wp-block-separator {
    max-width: 1440px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Specific Footer Flex Grid alignment constraints */
.site-footer .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding-top: 0 !important;
}

/* Muted To Rust Alert Layout Animations for Footer Nav Links */
.site-footer .wp-block-navigation .wp-block-navigation-item a,
.site-footer .wp-block-navigation-item a.wp-block-navigation-item__content {
    color: #8c8c8c !important;
    text-decoration: none !important;
    display: inline-block !important;
    padding-bottom: 4px !important;
    border-bottom: 1px solid transparent !important;
    transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out !important;
}

.site-footer .wp-block-navigation .wp-block-navigation-item a:hover,
.site-footer .wp-block-navigation .wp-block-navigation-item a:focus,
.site-footer .wp-block-navigation-item a.wp-block-navigation-item__content:hover {
    color: #b86e4c !important;
    border-bottom-color: #b86e4c !important;
    text-decoration: none !important;
}

/* Forminator Subscription Form Component Rules */
.site-footer .forminator-custom-form {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    padding-top: 0 !important;
    margin-top: -15px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-footer .forminator-input {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #444444 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 0.5rem 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.site-footer .forminator-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border-bottom: 1px solid #ffffff !important;
}

.site-footer .forminator-button-submit {
    background: #181b1a !important;
    border: 1px solid #333333 !important;
    color: #a3a3a3 !important;
    padding: 0.5rem 1rem !important;
    cursor: pointer !important;
}

.site-footer .forminator-button-submit:hover {
    background: #b86e4c !important;
    border-color: #b86e4c !important;
    color: #ffffff !important;
}

.site-footer .forminator-row-first {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.site-footer .forminator-row-last {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-footer .forminator-module-edit-link {
    display: none !important;
}

/* Autofill Engine Normalization Block */
.site-footer .forminator-input:-webkit-autofill,
.site-footer .forminator-input:-webkit-autofill:hover, 
.site-footer .forminator-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 0 0 1000px #1a1a1a inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

@media (max-width: 1440px) {
    .site-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Structural stacking logic optimized strictly for standard layouts */
@media screen and (max-width: 780px) {
    .site-footer .wp-block-columns {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    .site-footer .wp-block-column {
        flex: 1 1 40% !important;
        max-width: 40% !important;
    }

    .site-footer .wp-block-column:nth-child(3) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        margin-top: 20px !important;
        margin-bottom: -10px !important;
    }
}

/* ==========================================================================
   7. PAGE SPECIALTIES & UTILITIES
   ========================================================================== */

/* Full Screen Blur Background engine rules */
.full-page-blur-container {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: -9999;
    overflow: hidden;
    pointer-events: none;
}

.background-blur {
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    filter: blur(60px) brightness(0.4); 
    transform: scale(1.2);
}

/* Page Load Animation Keyframes */
@keyframes cinematicFadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px); 
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.cinematic-split-grid > * {
    opacity: 0; 
    animation-name: cinematicFadeInUp;
    animation-duration: 1.4s; 
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); 
    animation-fill-mode: forwards; 
}

.cinematic-split-grid > *:nth-child(1) { animation-delay: 0.1s; }
.cinematic-split-grid > *:nth-child(2) { animation-delay: 0.3s; }

/* Responsive Multi-Column Layouts */
.responsive-text-columns {
    column-count: 2;
    column-gap: 3.5rem;
    text-align: justify;
    color: #e6e8e7;
    font-size: 0.95rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .responsive-text-columns {
        column-count: 1;
        column-gap: 0;
    }
}

/* Viewport Centering Class logic with Scoped :has Filter */
body:has(.viewport-center-container) {
    margin: 0 !important;
    padding: 0 !important;
    height: 100vh !important;
    overflow-y: hidden !important;
}

.viewport-center-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    height: calc(100vh - 8rem) !important; 
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

body:has(.viewport-center-container) .wp-site-blocks, 
body:has(.viewport-center-container) main,
body:has(.viewport-center-container) .content-wrapper {
    margin: 0 !important;
    padding-bottom: 0 !important;
}

/* Interactive 3D Eyeball Component Rules */
.eyeball-badge {
    --eyeball-size: 150px;
    position: relative;
    width: var(--eyeball-size);
    height: var(--eyeball-size);
}

body.page-template-holding-page .eyeball-badge {
    --eyeball-size: 300px;
}

.eyeball-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.eyeball-fallback,
.eyeball-model {
    position: absolute;
    inset: 9%;
    width: 82%;
    height: 82%;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
}

.eyeball-model { display: none; }

@media (hover: hover) and (pointer: fine) {
    .eyeball-fallback { display: none; }
    .eyeball-model { display: block; }
}

/* Per-Post Scoped Hidden Header Configuration */
.has-hidden-header .site-header {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.has-hidden-header .site-header.is-scrolled,
.has-hidden-header .site-header:focus-within {
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

/* Responsive Adaptive Layout Structural Stack Overrides */
@media (max-width: 1024px) {
    .cinematic-split-grid {
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
        padding: 4rem 2rem !important;
        gap: 2rem !important;
    }

    .cinematic-split-grid > * {
        width: 100% !important;
        max-width: 100% !important;
        align-items: center !important;
    }

    .cinematic-split-grid > *:first-child img {
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto !important;
    }
}

/* Performance System Prefers Reduced Motion Constraints */
@media (prefers-reduced-motion: reduce) {
    .site-header::before,
    .has-hidden-header .site-header {
        transition-duration: 0s !important;
    }
    .site-header .wp-block-site-title a,
    .site-header .wp-block-navigation-item__content,
    .site-header .wp-block-site-title a::before,
    .site-header .wp-block-site-title a::after {
        transition-duration: 0s !important;
    }
    .cinematic-split-grid > * {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
    }
}