/**
 * LeanCMS v2 — Base Element Fallback Styles
 *
 * Loaded ONLY when the active theme does not provide its own base.css.
 * Provides html/body/heading/link/img resets that blocks depend on.
 *
 * When the LCMS theme (or any theme with assets/css/base.css) is active,
 * this file is NOT loaded — the theme's base.css takes over instead.
 *
 * @package lcms
 */

/* ── Reset ─────────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: var(--font-size-base, 15px);
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-body);
    font-weight: var(--font-weight-normal, 400);
    line-height: var(--font-line-height, 1.65);
    color: var(--color-text-primary);
    background-color: var(--color-bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--color-text-link);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-text-link-hover);
}

/* ── Typography ────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold, 700);
    line-height: 1.15;
    color: var(--color-text-primary);
}

/* Allow headings inside dark/branded sections to inherit text color */
.text-white h1, .text-white h2, .text-white h3,
.text-white h4, .text-white h5, .text-white h6 {
    color: inherit;
}

h1 { font-size: var(--font-size-h1, 48px); }
h2 { font-size: var(--font-size-h2, 36px); }
h3 { font-size: var(--font-size-h3, 28px); }
h4 { font-size: var(--font-size-h4, 24px); }
h5 { font-size: var(--font-size-h5, 20px); }
h6 { font-size: var(--font-size-h6, 16px); }

p {
    margin-bottom: 1em;
}

/* ── Mobile Typography ─────────────────────────────────── */
@media screen and (max-width: 991px) {
    h1 { font-size: var(--font-size-h1-mobile, 36px); }
    h2 { font-size: var(--font-size-h2-mobile, 30px); }
    h3 { font-size: var(--font-size-h3-mobile, 28px); }
}
