/* Phase 11.1: CSS Foundation - Mobile-First Approach */

/* ============================================
   CSS Strategy: Vanilla CSS
   Mobile-First: Base styles for mobile (<768px)
   ============================================ */

/* ============================================
   1. RESET & BASE STYLES (Mobile-First)
   ============================================ */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px; /* Base font size for mobile */
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
    color: #1f2937;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow-x: hidden; /* Prevent horizontal scroll from 100vw elements */
}

/* All pages except home page get light blue background */
body:not(.home-page) {
    background-color: #E6F4FF;
}

/* ============================================
   2. COLOR PALETTE
   ============================================ */

:root {
    /* Background */
    --color-bg-white: #ffffff;
    
    /* Sky Blue */
    --color-sky-blue-light: #e0f2fe;
    --color-sky-blue-medium: #bae6fd;
    
    /* Blue */
    --color-blue-dark: #1e3a8a;
    --color-blue-medium: #3b82f6;
    --color-blue-light: #0284c7;
    
    /* Gold Accents */
    --color-gold-light: #fbbf24;
    --color-gold-medium: #f59e0b;
    --color-gold-accent: #facc15; /* Golden-orange for buttons and badges */
    
    /* Text */
    --color-text-dark: #1f2937;
    --color-text-medium: #6b7280;
    --color-text-light: #9ca3af;
    --color-text-white: #ffffff;
    
    /* Borders */
    --color-border-light: #e5e7eb;
    --color-border-medium: #d1d5db;
}

/* ============================================
   3. TYPOGRAPHY (Mobile-First)
   ============================================ */

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.75rem;
    color: var(--color-text-dark);
}

h1 {
    font-size: 1.75rem; /* 28px on mobile */
}

h2 {
    font-size: 1.5rem; /* 24px on mobile */
}

h3 {
    font-size: 1.25rem; /* 20px on mobile */
}

p {
    margin-bottom: 1rem;
    color: var(--color-text-dark);
}

a {
    color: var(--color-blue-light);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--color-blue-medium);
    text-decoration: underline;
}

/* ============================================
   4. LAYOUT & SPACING (Mobile-First)
   ============================================ */

.container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 1rem;
}

/* ============================================
   5. RESPONSIVE BREAKPOINTS
   ============================================ */

/* Tablet: 768px and up */
@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
    
    .container {
        max-width: 1600px; /* Match header max-width */
        padding: 1.5rem 6px; /* Reduced horizontal padding */
    }
    
    h1 {
        font-size: 2rem; /* 32px on tablet */
    }
    
    h2 {
        font-size: 1.75rem; /* 28px on tablet */
    }
    
    h3 {
        font-size: 1.5rem; /* 24px on tablet */
    }
}

/* Desktop: 1024px and up */
@media (min-width: 1024px) {
    html {
        font-size: 16px;
    }
    
    .container {
        max-width: 1600px;
        padding: 2rem 6px; /* Reduced horizontal padding */
    }
    
    h1 {
        font-size: 2.25rem; /* 36px on desktop */
    }
    
    h2 {
        font-size: 2rem; /* 32px on desktop */
    }
    
    h3 {
        font-size: 1.75rem; /* 28px on desktop */
    }
}

/* ============================================
   6. UTILITY CLASSES
   ============================================ */

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.p-1 { padding: 0.5rem; }
.p-2 { padding: 1rem; }
.p-3 { padding: 1.5rem; }
.p-4 { padding: 2rem; }
