/**
 * Conservative Koala foundation.
 *
 * Element presentation is scoped beneath the child theme's `.koala-site` body
 * class where practical to reduce interference with WordPress, Blocksy, and
 * plugin administration or embedded interfaces.
 */

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

.koala-site {
    background-color: var(--koala-color-surface-secondary);
    color: var(--koala-color-text-primary);
    font-family: var(--koala-typography-body-default-font-family);
    font-size: var(--koala-typography-body-default-font-size);
    font-weight: var(--koala-typography-body-default-font-weight);
    letter-spacing: var(--koala-typography-body-default-letter-spacing);
    line-height: var(--koala-typography-body-default-line-height);
}

.koala-site :where(h1, h2, h3, h4) {
    color: var(--koala-color-text-primary);
    margin-block-start: 0;
    overflow-wrap: anywhere;
}

.koala-site h1 {
    font-family: var(--koala-typography-h1-font-family);
    font-size: var(--koala-typography-h1-font-size);
    font-weight: var(--koala-typography-h1-font-weight);
    letter-spacing: var(--koala-typography-h1-letter-spacing);
    line-height: var(--koala-typography-h1-line-height);
}

.koala-site h2 {
    font-family: var(--koala-typography-h2-font-family);
    font-size: var(--koala-typography-h2-font-size);
    font-weight: var(--koala-typography-h2-font-weight);
    letter-spacing: var(--koala-typography-h2-letter-spacing);
    line-height: var(--koala-typography-h2-line-height);
}

.koala-site h3 {
    font-family: var(--koala-typography-h3-font-family);
    font-size: var(--koala-typography-h3-font-size);
    font-weight: var(--koala-typography-h3-font-weight);
    letter-spacing: var(--koala-typography-h3-letter-spacing);
    line-height: var(--koala-typography-h3-line-height);
}

.koala-site h4 {
    font-family: var(--koala-typography-h4-font-family);
    font-size: var(--koala-typography-h4-font-size);
    font-weight: var(--koala-typography-h4-font-weight);
    letter-spacing: var(--koala-typography-h4-letter-spacing);
    line-height: var(--koala-typography-h4-line-height);
}

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

@media (prefers-reduced-motion: reduce) {
    .koala-site,
    .koala-site *,
    .koala-site *::before,
    .koala-site *::after {
        scroll-behavior: auto;
    }

    .koala-site *,
    .koala-site *::before,
    .koala-site *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
    }
}
