/* DeepDrft Global Styles - Aesthetic and Structural Classes */ /* === AESTHETIC STYLES (Reusable across components) === */ /* Color Variables - Aligned with MudBlazor Theme */ :root { /* Main DeepDrft Colors */ --deepdrft-primary: #8A2BE2; /* BlueViolet - Primary brand color */ --deepdrft-secondary: #FF1493; /* DeepPink - Secondary brand color */ --deepdrft-tertiary: #4B0082; /* Indigo - Deep accent color */ --deepdrft-accent: #9370DB; /* MediumPurple - Light accent */ /* Surface Colors */ --deepdrft-surface: rgba(255, 255, 255, 1); --deepdrft-surface-alpha: rgba(255, 255, 255, 0.9); --deepdrft-theme-background-gray: rgba(26, 26, 26, 0.5); /* Theme-aware Variables (Light Mode Default) */ --deepdrft-theme-primary: var(--deepdrft-primary); --deepdrft-theme-secondary: var(--deepdrft-secondary); --deepdrft-theme-tertiary: var(--deepdrft-tertiary); --deepdrft-theme-info: var(--deepdrft-accent); /* Font Hierarchy - DRY font definitions */ --deepdrft-font-largest-headers: "Audiowide", sans-serif; /* h1, hero text, main titles */ --deepdrft-font-headers: "Michroma", sans-serif; /* h2-h6, visual components, buttons */ --deepdrft-font-body: "Electrolize", sans-serif; /* body text, paragraphs, smaller elements */ } /* Dark Mode Variables */ [data-theme="dark"], .mud-theme-dark { --deepdrft-theme-primary: #FF1493; /* DeepPink for dark mode */ --deepdrft-theme-secondary: #8A2BE2; /* BlueViolet for dark mode */ --deepdrft-theme-tertiary: #9370DB; /* MediumPurple for dark mode */ --deepdrft-theme-info: #4B0082; /* Indigo for dark mode */ } /* Primary Gradient Backgrounds */ .deepdrft-gradient-primary { background: linear-gradient(135deg, #8A2BE2 0%, #FF1493 50%, #4B0082 100%); } .deepdrft-gradient-hero { background: linear-gradient(135deg, #8A2BE2 0%, #FF1493 50%, #4B0082 100%); } .deepdrft-gradient-soft-primary { background: linear-gradient(45deg, rgba(138,43,226,0.1) 0%, rgba(255,20,147,0.1) 100%); } .deepdrft-gradient-soft-secondary { background: linear-gradient(45deg, rgba(75,0,130,0.1) 0%, rgba(138,43,226,0.1) 100%); } .deepdrft-gradient-soft-accent { background: linear-gradient(135deg, rgba(138,43,226,0.1) 0%, rgba(75,0,130,0.1) 100%); } .deepdrft-gradient-soft-tertiary { background: linear-gradient(135deg, rgba(255,20,147,0.1) 0%, rgba(138,43,226,0.1) 100%); } .deepdrft-gradient-features { background: linear-gradient(to right, rgba(138,43,226,0.05) 0%, rgba(255,20,147,0.05) 100%); } /* Font Hierarchy Styles - DRY Typography System */ /* Largest Headers - Turret Road */ h1, .deepdrft-text-hero, .deepdrft-heading-primary { font-family: var(--deepdrft-font-largest-headers); font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); } .deepdrft-text-hero { font-size: clamp(2rem, 8vw, 4rem); } /* Headers and Visual Components - Michroma */ h2, h3, h4, h5, h6, .deepdrft-heading-secondary, .deepdrft-text-subtitle, .deepdrft-button-text, .deepdrft-nav-text, .deepdrft-visual-text { font-family: var(--deepdrft-font-headers); } .deepdrft-text-subtitle { font-weight: 300; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); } /* Body Text and Smaller Elements - Electrolize */ body, p, span, div, .deepdrft-text-body, .deepdrft-text-description, .deepdrft-text-readable, .deepdrft-small-text { font-family: var(--deepdrft-font-body); } .deepdrft-text-description { font-weight: 400; opacity: 0.9; } .deepdrft-text-bold { font-weight: bold; } .deepdrft-text-readable { line-height: 1.6; } /* MudBlazor Component Overrides - Apply font hierarchy to MudBlazor components */ .mud-typography-h1 { font-family: var(--deepdrft-font-largest-headers) !important; } .mud-typography-h2, .mud-typography-h3, .mud-typography-h4, .mud-typography-h5, .mud-typography-h6, .mud-button-text, .mud-navlink-text, .mud-appbar-content { font-family: var(--deepdrft-font-headers) !important; } .mud-typography-body1, .mud-typography-body2, .mud-typography-caption, .mud-typography-overline, .mud-input-text, .mud-select-text, .mud-form-label { font-family: var(--deepdrft-font-body) !important; } /* Border Accents */ .deepdrft-border-left-primary { border-left: 4px solid #FF1493; } .deepdrft-border-left-secondary { border-left: 4px solid #8A2BE2; } .deepdrft-border-top-primary { border-top: 4px solid #8A2BE2; } .deepdrft-border-top-secondary { border-top: 4px solid #FF1493; } /* Buttons */ .deepdrft-button-primary { color: #8A2BE2; font-weight: bold; padding: 10px 24px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .deepdrft-button-outlined { border: 2px solid rgba(255,255,255,0.8); } .deepdrft-button-spaced { margin: 8px; } /* Card Aesthetics */ .deepdrft-card-purple-tint { background: rgba(138,43,226,0.1); } .deepdrft-card-pink-tint { background: rgba(255,20,147,0.1); } .deepdrft-card-indigo-tint { background: rgba(75,0,130,0.1); } .deepdrft-card-lavender-tint { background: rgba(147,112,219,0.1); } /* Track Card Specific */ .deepdrft-track-card-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; filter: brightness(0.7); } .deepdrft-track-card-content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; } .deepdrft-genre-chip { opacity: 0.9; margin-top: 4px; } .deepdrft-chip-spacing { margin: 2px; } /* Icons */ .deepdrft-icon-large { font-size: 3rem; } /* === STRUCTURAL STYLES (Layout and positioning) === */ /* Hero Section Layout */ .deepdrft-hero-container { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; } .deepdrft-hero-text-container { max-width: 600px; margin: 0 auto; } /* Feature Cards Layout */ .deepdrft-feature-card { height: 100%; } .deepdrft-feature-icon-container { text-align: center; } /* About Section Layout */ .deepdrft-about-card { height: 100%; } /* CTA Section Layout */ .deepdrft-cta-container { border-radius: 16px; text-align: center; } .deepdrft-cta-buttons { margin-bottom: 16px; } /* Track Card Layout */ .deepdrft-track-card-container { width: 250px; height: 250px; min-width: 250px; position: relative; overflow: hidden; } .deepdrft-track-card-fallback { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .deepdrft-track-info-top { /* Used for track name and artist at top */ } .deepdrft-track-info-middle { margin: 8px 0; /* Used for album and genre in middle */ } .deepdrft-track-info-bottom { display: flex; justify-content: space-between; align-items: center; /* Used for year and play button at bottom */ } .deepdrft-track-gallery-item-center { display: flex; justify-content: center; } /* Layout with overlay audio player - Global layout class */ /*.deepdrft-layout-with-overlay-player {*/ /* position: relative;*/ /* min-height: calc(100vh - 64px);*/ /* padding-bottom: 160px; !* Increased space for overlay player *!*/ /*}*/ /*!* Audio player overlay positioning - Global positioning *!*/ /*.deepdrft-layout-with-overlay-player > .AudioPlayerBar,*/ /*.deepdrft-layout-with-overlay-player > *:last-child {*/ /* position: fixed;*/ /* bottom: 0;*/ /* left: 0;*/ /* right: 0;*/ /* z-index: 1000;*/ /* pointer-events: none;*/ /*}*/ /*.deepdrft-layout-with-overlay-player > *:last-child > * {*/ /* pointer-events: auto;*/ /*}*/ /* Responsive Utilities */ @media (max-width: 768px) { .deepdrft-hero-text { font-size: clamp(1.5rem, 6vw, 3rem) !important; } .deepdrft-cta-buttons .mud-button { margin: 4px !important; width: 100%; } } @media (max-width: 480px) { .deepdrft-track-card-container { min-width: 200px; width: 200px; height: 200px; } }