/* Base styles - Typography and basic elements for Benchable */

body {
    font-family: var(--body-font);
    background-color: var(--light-color);
    color: var(--dark-color);
    line-height: var(--line-height-base);
    font-size: var(--font-size-base);
}

.dark-theme body {
    background-color: var(--dark-color);
    color: var(--light-color);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
    margin-bottom: var(--spacing-md);
    font-weight: var(--font-weight-bold);
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-bottom: var(--spacing-md);
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color var(--transition-speed) var(--transition-timing);
}

a:hover {
    color: rgba(var(--primary-color-rgb), 0.8); /* Slightly darker primary */
    text-decoration: underline;
}

code, pre {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875em;
}

pre {
    background-color: var(--light-color); /* Use light background */
    border: 1px solid rgba(var(--dark-color-rgb), 0.1); /* Subtle border */
    border-radius: var(--border-radius);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    overflow: auto;
    color: var(--dark-color); /* Ensure text color contrasts with light bg */
}

.dark-theme pre,
:root.auto-dark-theme pre {
    background-color: var(--dark-color); /* Use dark background */
    border-color: rgba(var(--light-color-rgb), 0.15); /* Subtle light border */
    color: var(--light-color); /* Ensure text color contrasts with dark bg */
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Text Utilities */
.text-muted {
    color: var(--text-muted) !important;
}

.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.text-success {
    color: var(--success-color) !important;
}

.text-danger {
    color: var(--danger-color) !important;
}

.text-warning {
    color: var(--warning-color) !important;
}

.text-info {
    color: var(--info-color) !important;
}

/* Background Utilities */
.bg-light {
    background-color: var(--light-color) !important;
}

.bg-dark {
    background-color: var(--dark-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.bg-secondary {
    background-color: var(--secondary-color) !important;
}

.bg-success {
    background-color: var(--success-color) !important;
}

.bg-danger {
    background-color: var(--danger-color) !important;
}

.bg-warning {
    background-color: var(--warning-color) !important;
}

.bg-info {
    background-color: var(--info-color) !important;
} 