/**
 * Solvyr Custom Styles
 * 
 * Bootstrap 5.3.8 is the primary design system.
 * This file contains only CSS variables for brand tokens
 * and minimal helper classes that Bootstrap cannot cover.
 * 
 * Target: ≤10KB unminified
 */

/* ==========================================================================
   CSS Variables (Brand Tokens)
   ========================================================================== */

:root {
    /* Primary brand colors */
    --solvyr-primary: #2563eb;
    --solvyr-primary-hover: #1d4ed8;
    --solvyr-primary-light: #dbeafe;
    
    /* Secondary colors */
    --solvyr-secondary: #64748b;
    --solvyr-secondary-hover: #475569;
    
    /* Semantic colors */
    --solvyr-success: #16a34a;
    --solvyr-warning: #ca8a04;
    --solvyr-danger: #dc2626;
    --solvyr-info: #0891b2;
    
    /* Neutral colors */
    --solvyr-dark: #1e293b;
    --solvyr-light: #f8fafc;
    --solvyr-muted: #94a3b8;
    --solvyr-border: #e2e8f0;
    
    /* Typography */
    --solvyr-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --solvyr-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    
    /* Spacing */
    --solvyr-radius: 0.5rem;
    --solvyr-radius-lg: 0.75rem;
    --solvyr-radius-sm: 0.25rem;
    
    /* Shadows */
    --solvyr-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --solvyr-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --solvyr-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    
    /* Transitions */
    --solvyr-transition: 150ms ease-in-out;
}

/* ==========================================================================
   Bootstrap Overrides (Minimal)
   ========================================================================== */

/* Apply brand font family */
body {
    font-family: var(--solvyr-font-family);
}

/* Consistent border radius on cards */
.card {
    border-radius: var(--solvyr-radius-lg);
    border-color: var(--solvyr-border);
}

/* ==========================================================================
   Helper Classes (Only what Bootstrap cannot provide)
   ========================================================================== */

/* Brand-specific rounded corners */
.solvyr-rounded {
    border-radius: var(--solvyr-radius);
}

.solvyr-rounded-lg {
    border-radius: var(--solvyr-radius-lg);
}

/* Subtle text muting */
.solvyr-muted {
    color: var(--solvyr-muted);
}

/* Monospace text for codes/technical content */
.solvyr-mono {
    font-family: var(--solvyr-font-mono);
}

/* Focus ring for accessibility */
.solvyr-focus-ring:focus {
    outline: 2px solid var(--solvyr-primary);
    outline-offset: 2px;
}

/* ==========================================================================
   Toast Positioning (Required for toast.js)
   ========================================================================== */

.toast-container {
    z-index: 1090;
}

/* ==========================================================================
   Page Layout Helpers
   ========================================================================== */

/* Minimum height for main content area */
.solvyr-main {
    min-height: calc(100vh - 120px);
}

/* Sticky footer support */
.solvyr-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.solvyr-wrapper > main {
    flex: 1;
}
