/* Variables and Theme Definitions */

/* --- Google Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Playfair+Display:wght@400;700;900&display=swap');

/* --- CSS Variables --- */
:root {
    /* Vintage Dartmouth-Inspired Color Palette */
    --color-primary: #00693E;     /* Dartmouth Green - deep forest green */
    --color-secondary: #8B4513;   /* Saddle Brown - vintage leather */
    --color-accent: #CD853F;      /* Peru - warm vintage gold */
    --color-background: #FDF6E3;  /* Sepia - vintage off-white/cream */
    --color-text: #2F4F2F;        /* Dark Forest Green - readable on cream */
    --color-text-light: #FDF6E3;  /* Match background for light text */
    --color-border: #D2B48C;      /* Tan - vintage paper edge */
    --color-hero-bg: #F5F5DC;     /* Beige - slightly darker cream for sections */
    --color-card-bg: #FFFEF7;     /* Vintage white with warm undertone */
    --color-shadow: rgba(47, 79, 47, 0.15); /* Dark green shadow */

    /* Vintage Semantic Colors */
    --color-success: #228B22;     /* Forest Green - vintage success */
    --color-warning: #DAA520;     /* Goldenrod - vintage warning */
    --color-error: #A0522D;       /* Sienna - muted vintage red */
    --color-info: #4682B4;        /* Steel Blue - vintage info blue */
    --color-success-bg: #F0FFF0;  /* Honeydew - light green tint */
    --color-warning-bg: #FFF8DC;  /* Cornsilk - warm light yellow */
    --color-error-bg: #FFF0F5;    /* Lavender Blush - soft pink */
    --color-info-bg: #F0F8FF;     /* Alice Blue - soft blue */

    /* Alpha Values */
    --alpha-light: 0.1;
    --alpha-medium: 0.3;
    --alpha-heavy: 0.7;
    --alpha-overlay: 0.8;

    /* Typography - Vintage Feel */
    --font-heading: 'Playfair Display', 'Times New Roman', serif; /* Classic serif */
    --font-body: 'Inter', 'Georgia', serif; /* Readable serif for vintage feel */

    /* Layout */
    --header-height: 70px;
    --border-radius: 6px; /* Slightly smaller for vintage feel */
    --transition-speed: 0.3s;
    
    /* Vintage Effects */
    --vintage-text-shadow: 1px 1px 2px rgba(47, 79, 47, 0.1);
    --vintage-box-shadow: 0 2px 8px rgba(47, 79, 47, 0.15);
    --vintage-inset-shadow: inset 0 1px 3px rgba(47, 79, 47, 0.1);
    
    /* Shadows */
    --shadow-sm: 0 2px 4px var(--color-shadow);
    --shadow-md: 0 4px 15px var(--color-shadow);
    --shadow-lg: 0 8px 30px var(--color-shadow);
}

/* --- Dark Mode --- */
body.dark-mode {
    /* Custom Dark Mode - Clean modern dark with mint green accents */
    --color-primary: #7df0c2;     /* Mint Green - for titles and important text */
    --color-secondary: #b0b0b0;   /* Light gray - for secondary elements */
    --color-accent: #7df0c2;      /* Mint Green - consistent accent */
    --color-background: #1D1F20;  /* Updated background color */
    --color-text: #e0e0e0;        /* Light gray - clean readable text */
    --color-text-light: #1D1F20;  /* Match dark background */
    --color-border: #404040;      /* Medium gray borders */
    --color-hero-bg: #1D1F20;     /* Same as background for clean look */
    --color-card-bg: #2a2a2a;     /* Card background - lighter than main */
    --color-shadow: rgba(0, 0, 0, 0.5); /* Deep shadow */
    
    /* Semantic Colors for Dark Mode */
    --color-success: #7df0c2;     /* Mint Green - success */
    --color-warning: #F0E68C;     /* Khaki - warm warning */
    --color-error: #FA8072;       /* Salmon - soft error */
    --color-info: #87CEEB;        /* Sky Blue - gentle info */
    --color-success-bg: #1a4a3a;  /* Dark green background */
    --color-warning-bg: #4a4a1a;  /* Dark yellow background */
    --color-error-bg: #4a2a2a;    /* Dark red background */
    --color-info-bg: #2a3a4a;     /* Dark blue background */
    
    background-color: var(--color-background);
    color: var(--color-text);
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* ===== VINTAGE STYLING ===== */
/* Vintage paper texture */
body {
    background-image: 
        radial-gradient(circle at 25% 25%, rgba(47, 79, 47, 0.02) 0%, transparent 25%),
        radial-gradient(circle at 75% 75%, rgba(139, 69, 19, 0.02) 0%, transparent 25%);
    background-size: 50px 50px, 30px 30px;
}

/* Dark mode texture override */
body.dark-mode {
    background-image: none; /* Clean solid background, no texture */
}

/* Vintage headings */
h1, h2, h3, h4, h5, h6 {
    text-shadow: var(--vintage-text-shadow);
    letter-spacing: 0.02em;
}

/* Dark mode headings - use mint green for titles/important text */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode .logo,
body.dark-mode .college-name {
    color: #7df0c2; /* Mint green for titles and important text */
}

/* Vintage cards and containers */
.college-card,
.highlight-card,
.timeline-content {
    box-shadow: var(--vintage-box-shadow);
    border: 1px solid var(--color-border);
}

/* Vintage buttons */
.btn {
    text-shadow: var(--vintage-text-shadow);
    box-shadow: var(--vintage-inset-shadow);
    border: 1px solid var(--color-border);
}

/* Vintage header styling */
.main-header {
    background-color: rgba(253, 246, 227, 0.95); /* Vintage off-white with transparency */
    border-bottom: 2px solid var(--color-border);
    box-shadow: 0 2px 10px var(--color-shadow);
}

/* Dark mode header override */
body.dark-mode .main-header {
    background-color: rgba(24, 26, 27, 0.95) !important; /* Updated navbar color #181A1B */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
    border-bottom: 1px solid #404040 !important;
}

/* Vintage navigation */
.main-nav a {
    color: var(--color-primary);
    text-shadow: var(--vintage-text-shadow);
    transition: all 0.3s ease;
}

.main-nav a:hover {
    color: var(--color-secondary);
    text-shadow: 1px 1px 3px rgba(47, 79, 47, 0.3);
}

/* ===== UTILITY CLASSES ===== */
/* Status indicators */
.status-success { color: var(--color-success); background-color: var(--color-success-bg); }
.status-warning { color: var(--color-warning); background-color: var(--color-warning-bg); }
.status-error { color: var(--color-error); background-color: var(--color-error-bg); }
.status-info { color: var(--color-info); background-color: var(--color-info-bg); }

/* Common spacing */
.mt-sm { margin-top: 0.5rem; }
.mt-md { margin-top: 1rem; }
.mt-lg { margin-top: 2rem; }
.mb-sm { margin-bottom: 0.5rem; }
.mb-md { margin-bottom: 1rem; }
.mb-lg { margin-bottom: 2rem; }

/* Text utilities */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-muted { opacity: var(--alpha-heavy); }
