:root {
    /* Colors */
    --primary-color: #042940;
    --secondary-color: #888C68;
    --accent-color: #F2D57E;
    --accent-dark: #BF8415;
    --accent-darker: #BF7315;
    
    /* Text Colors */
    --text-light: #F2D57E;
    --text-dark: #042940;
    --text-muted: #888C68;
    --text-accent: #F2D57E;
    --text-body: #888C68;
    --text-ascent: var(--accent-color);
    
    /* Background Colors */
    --bg-light: #ffffff;
    --bg-white: #f9f9f9;
    --bg-off-white: #f0f0f0;
    --bg-dark: #042940;
    --bg-ascent: var(--ascent-color);
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #042940 0%, #888C68 100%);
    --gradient-secondary: linear-gradient(135deg, #888C68 0%, #F2D57E 100%);
    
    /* Shadows */
    --default-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    --hover-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
    
    /* Spacing */
    --section-padding: 4rem 25px;
    --section-margin: 1rem 25px;
    --card-padding: 2.5rem;
    
    /* Border Radius */
    --section-radius: 45px;
    --card-radius: 12px;
    
    /* Transitions */
    --default-transition: all 0.3s ease;
    
    /* Typography */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-secondary: 'Playfair Display', serif;
}

/* CSS Custom Properties for gradients */
.bg-gradient-primary {
    background: var(--gradient-primary);
}

/* Global Transition */
* {
    transition: all var(--default-transition) ease-in-out;
}

/* Links and Buttons */
a {
    color: var(--accent-color);
    text-decoration: none;
    transition: color var(--default-transition);
}
a:hover {
    color: var(--accent-dark);
}
button {
    background: var(--primary-color);
    border: 1px solid var(--accent-dark);
    color: var(--text-light);
    padding: 10px 20px;
    border-radius: var(--card-radius);
    transition: background var(--default-transition), transform var(--default-transition);
}
button:hover {
    background: var(--secondary-color);
    transform: scale(1.05);
}

/* Cards */
.card {
    background: var(--bg-light);
    border: 1px solid var(--accent-dark);
    box-shadow: var(--default-shadow);
    border-radius: var(--card-radius);
    padding: var(--card-padding);
}

/* Inputs */
input, textarea, select {
    background: var(--bg-light);
    border: 1px solid var(--accent-dark);
    border-radius: var(--card-radius);
    padding: 10px;
    width: 100%;
    transition: border-color var(--default-transition), box-shadow var(--default-transition);
}
input:focus, textarea:focus, select:focus {
    border-color: var(--accent-color);
    outline: none;
    box-shadow: 0 0 0 3px rgba(10, 63, 92, 0.2);
}

/* Alerts */
.alert {
    padding: 10px 15px;
    border-radius: var(--card-radius);
    margin: 10px 0;
}
.alert-success {
    background: #28a745;
    color: #fff;
}
.alert-info {
    background: #17a2b8;
    color: #fff;
}
.alert-warning {
    background: var(--accent-dark);
    color: #fff;
}
.alert-danger {
    background: #dc3545;
    color: #fff;
}
