/* DIGITAL FOUNDRY MASTER STYLESHEET v1.6
    Features: 
    - Full Theme Switching (Lights Out Mode)
    - High-Density UI Glow Effects
    - Precision Form Alignment
    - Fluid Responsive Typography
*/

:root {
    /* Dark Theme (Default) */
    --bg-main: #0f172a;
    --bg-card: rgba(30, 41, 59, 0.4);
    --text-header: #ffffff;
    --text-body: #94a3b8;
    --accent: #2dd4bf;
    --border: rgba(255, 255, 255, 0.1);
}

body.light-mode {
    /* Light Theme Overrides */
    --bg-main: #f8fafc;
    --bg-card: #ffffff;
    --text-header: #0f172a;
    --text-body: #475569;
    --accent: #0d9488;
    --border: #e2e8f0;
}

/* Base Reset & Smoothness */
body { 
    background-color: var(--bg-main) !important; 
    color: var(--text-body) !important;
    transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, .text-white { 
    color: var(--text-header) !important; 
}

/* --- THE SLICK CARD DESIGN --- */
.foundry-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 1.5rem !important; /* 24px Precision Rounding */
    padding: 2.5rem !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

/* Hover State: Teal "Network Glow" */
.foundry-card:hover {
    border-color: var(--accent) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 40px -15px rgba(45, 212, 191, 0.25) !important;
}

/* --- LOGO IDENTITY DYNAMICS --- */
.logo-text { fill: #ffffff; transition: fill 0.3s; }
.logo-stroke { stroke: #ffffff; transition: stroke 0.3s; }

body.light-mode .logo-text { fill: #0f172a !important; }
body.light-mode .logo-stroke { stroke: #0f172a !important; }

/* --- NAVIGATION & BUTTONS --- */
.btn-outline { 
    border: 1px solid var(--accent) !important; 
    color: var(--accent) !important; 
    padding: 0.75rem 2rem !important; /* Fixed Spacing Fix */
    border-radius: 0.75rem !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
    display: inline-block;
}

.btn-outline:hover {
    background-color: var(--accent) !important;
    color: #0f172a !important;
}

.btn-solid { 
    background-color: var(--accent) !important; 
    color: #0f172a !important; 
    padding: 1.25rem 2rem !important;
    border-radius: 1rem !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: opacity 0.2s ease;
    cursor: pointer;
    border: none;
}

.btn-solid:hover {
    opacity: 0.9;
}

/* --- PRECISION FORM FIELDS --- */
input, select, textarea {
    background-color: rgba(15, 23, 42, 0.6) !important;
    border: 1px solid var(--border) !important;
    color: #ffffff !important;
    border-radius: 0.75rem !important;
    padding: 1rem 1.25rem !important; /* Fix for centered text */
    width: 100% !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important; 
    outline: none !important;
    transition: all 0.2s ease;
}

/* Custom Dropdown Arrow Fix */
select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.25rem;
    padding-right: 2.5rem !important;
}

/* Light Mode Form Fixes */
body.light-mode input, 
body.light-mode select, 
body.light-mode textarea {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230f172a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.15) !important;
}

/* --- UTILITY & ACCENTS --- */
.text-teal-400 { color: var(--accent) !important; }
.text-muted { color: var(--text-body) !important; opacity: 1 !important; }
.scroll-mt-24 { scroll-margin-top: 6rem; }

/* Custom Scrollbar for the 'Digital' feel */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-main); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }