/* ===== BASE STYLES ===== */

body {
    font-family: var(--font-body);
    background-color: var(--color-bg);
    color: var(--color-text);
    font-size: var(--text-base);
    line-height: 1.6;
}

/* Tranziție smooth la schimbarea temei */
body.theme-transition,
body.theme-transition *,
body.theme-transition *::before,
body.theme-transition *::after {
    transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    line-height: 1.2;
    font-weight: 700;
}

h1 { font-size: var(--text-5xl); font-weight: 800; }
h2 { font-size: var(--text-4xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }

/* Links */
a {
    color: var(--color-accent);
    transition: color var(--transition-base);
}
a:hover {
    color: var(--color-accent-hover);
}

/* Paragraphs */
p {
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin-bottom: var(--space-md);
}
p:last-child {
    margin-bottom: 0;
}

/* Images */
img {
    height: auto;
}

/* Selection */
::selection {
    background-color: var(--color-accent);
    color: #000;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--color-bg);
}
::-webkit-scrollbar-thumb {
    background: var(--color-border-light);
    border-radius: var(--radius-full);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-text-muted);
}

/* Responsive font sizes */
@media (max-width: 768px) {
    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }
    h3 { font-size: var(--text-xl); }
}

@media (max-width: 480px) {
    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
}
