/**
 * Devir Design System - Base Styles
 *
 * Global resets and base component styles shared across all themes.
 * Uses CSS custom properties from devir-variables.css
 */

/* ============================================================
   Typography - Inter import (Graphik fallback)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ============================================================
   Global font override
   ============================================================ */
body {
    font-family: var(--font-primary);
    color: var(--slate-800);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   Buttons
   ============================================================ */
.devir-btn-primary {
    background: var(--devir-gradient-accent);
    color: #fff;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: 500;
    font-family: var(--font-primary);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
}

.devir-btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.devir-btn-secondary {
    background: var(--slate-50);
    color: var(--slate-600);
    border: 2px solid var(--slate-200);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: 500;
    font-family: var(--font-primary);
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.devir-btn-secondary:hover {
    background: var(--slate-100);
    border-color: var(--slate-300);
}

.devir-btn-devir {
    background: var(--devir-pink);
    color: #fff;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: 500;
    font-family: var(--font-primary);
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.devir-btn-devir:hover {
    background: var(--devir-pink-dark);
}

/* ============================================================
   Cards
   ============================================================ */
.devir-card {
    background: var(--slate-50);
    border: 1px solid var(--slate-200);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    transition: border-color 0.2s;
}

.devir-card:hover {
    border-color: var(--devir-pink);
}

.devir-card--active {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* ============================================================
   Badges
   ============================================================ */
.devir-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.devir-badge--success {
    background: var(--color-success-bg);
    color: #166534;
}

.devir-badge--warning {
    background: var(--color-warning-bg);
    color: var(--color-warning-dark);
}

.devir-badge--error {
    background: var(--color-error-bg);
    color: var(--color-error-dark);
}

.devir-badge--info {
    background: var(--color-info-bg);
    color: var(--color-info-dark);
}

/* ============================================================
   Inputs
   ============================================================ */
.devir-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--slate-200);
    border-radius: var(--radius-md);
    font-size: 14px;
    font-family: var(--font-primary);
    color: var(--slate-800);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.devir-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.devir-input::placeholder {
    color: var(--slate-400);
}
