/*
Theme Name: Karada Bunko
Theme URI: https://www.karada-bunko.com/
Description: 「からだ文庫」用のGeneratePress子テーマ。
Author: Karada Bunko
Template: generatepress
Version: 0.1.4
Text Domain: karada-bunko
*/

:root {
    --karada-paper: #f3efe7;
    --karada-surface: #f8f5ee;
    --karada-ink: #2d2a26;
    --karada-muted: #6f685e;
    --karada-green: #365e4a;
    --karada-rust: #7a4734;
    --karada-footer: #514a40;
}

body {
    background: var(--karada-paper);
    color: var(--karada-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
        "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
    font-size: 18px;
    line-height: 1.9;
}

a {
    color: var(--karada-green);
    text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
    color: var(--karada-rust);
}

.site-header,
.main-navigation,
.separate-containers .inside-article,
.one-container .site-content {
    background: var(--karada-surface);
}

.inside-header,
.inside-navigation,
.site-content {
    box-sizing: border-box;
}

.inside-header {
    padding-block: 34px 26px;
}

.main-title {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.site-description {
    max-width: 42rem;
    margin-top: 8px;
    color: var(--karada-muted);
    font-size: 15px;
    line-height: 1.7;
}

.main-navigation {
    border-top: 1px solid rgb(45 42 38 / 12%);
    border-bottom: 1px solid rgb(45 42 38 / 12%);
}

.main-navigation .main-nav ul li a {
    color: var(--karada-ink);
    font-size: 15px;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: var(--karada-green);
}

.entry-title,
.entry-title a,
h1,
h2,
h3 {
    color: var(--karada-ink);
}

h1,
.entry-title {
    font-size: clamp(2rem, 4vw, 2.625rem);
    font-weight: 400;
    line-height: 1.4;
}

.page .entry-title {
    font-size: clamp(1.75rem, 3vw, 2.125rem);
    font-weight: 500;
}

.karada-about-page .entry-header {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.karada-about-page .entry-content {
    margin-top: 0;
}

h2 {
    margin-top: 2.2em;
    font-size: clamp(1.625rem, 3vw, 1.875rem);
    font-weight: 600;
    line-height: 1.5;
}

h3 {
    margin-top: 1.9em;
    font-size: clamp(1.3125rem, 2.5vw, 1.5rem);
    font-weight: 600;
    line-height: 1.5;
}

.entry-meta {
    color: var(--karada-muted);
    font-size: 14px;
}

.single .site-main .inside-article,
.page .site-main .inside-article {
    max-width: 780px;
    margin-inline: auto;
}

.page .site-main .inside-article {
    box-sizing: border-box;
    padding: 40px 40px 48px;
}

.blog .site-main,
.archive .site-main,
.search .site-main {
    max-width: 880px;
    margin-inline: auto;
}

.entry-content p,
.entry-summary p {
    margin-bottom: 1.55em;
}

.site-info {
    background: var(--karada-footer);
    color: var(--karada-paper);
}

.site-info a {
    color: #fff;
}

@media (max-width: 768px) {
    body {
        font-size: 17px;
    }

    .inside-header {
        padding-block: 26px 20px;
    }

    .main-title {
        font-size: 29px;
    }

    .site-description {
        font-size: 14px;
    }

    .page .site-main .inside-article {
        padding: 32px 24px 40px;
    }
}
