/* Shared site chrome: compare on the home page, apply on every template. */
body { font-family: sans-serif; line-height: 1.8; }
.list-title { font-weight: 700; }
/* The classic search row has no extra mobile padding around its input group. */
.betterdocs-live-search .betterdocs-searchform-input-wrap { height: auto; padding: 0; margin-bottom: 0; }
.betterdocs-live-search .docs-search-icon { height: 30px; margin-right: 15px; }
.head,
.koiniwa-footer {
    font-family: sans-serif;
    line-height: 1.8;
}
.head:not(.head-static) { position: fixed; top: 0; z-index: 99; }
body:not(.head-open) .head:not(.head-static):not(.head-fixed-top-custom) {
    background-color: transparent !important;
}
.head .logo_text { display: block !important; }
.head .logo_text > * { display: none !important; }
.head .container { padding-right: 15px; padding-left: 15px; }
.head .row { --bs-gutter-x: 30px; }
.head .row > [class*="col-"] { min-height: 1px; }
.head .logo img { margin-bottom: 8px; }
.head .navbar-nav > li > a { font-size: 16px; font-weight: 700; }
.head .navbar-toggler { margin-top: 12px; }
.head .navbar-toggler:focus { box-shadow: none; }

/* One shared title rule for posts, pages, archives and search results. */
.hero .ttl_h1 { margin-top: 72px; font-family: sans-serif; }
.hero > .container { padding-left: 15px; padding-right: 15px; }

/* The old post template omitted the upper share row on every article. */
body.single-post .detail_text > .share:first-child { display: none; }

/* Editorial categories keep the old uncluttered article opening. */
body.koiniwa-editorial-article .detail .mainarea > nav[aria-label="breadcrumb"],
body.koiniwa-editorial-article .detail_text > .post_meta { display: none; }

/* Preserve the legacy shared breadcrumb rather than the new ruled treatment. */
.breadcrumb {
    background: #ebebeb;
    border: 0 !important;
    border-radius: 1.2em;
    padding: .5em 1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    line-height: 1.2;
}
.breadcrumb-item.active { color: #6c757d; }
.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    float: none;
    color: #6c757d;
}

/* Article chrome uses the same legacy 15px grid gutter as its content. */
.detail > .container { padding-left: 15px; padding-right: 15px; }
.detail > .container > .row { --bs-gutter-x: 30px; }
@media (min-width: 768px) {
    .head .navbar-expand-md .navbar-nav { margin-top: 10px; }
}
@media (max-width: 767.98px) {
    .head .navbar > .container { padding-right: 0; padding-left: 0; }
}
.koiniwa-footer { padding-bottom: 112px; }
.koiniwa-footer-image-nav { max-width: 1110px; margin: 0 auto 32px; padding: 0; }
.koiniwa-footer-image-nav ul {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0; margin: 0; padding: 0; list-style: none;
}
.koiniwa-footer-image-nav li { flex-basis: 100%; min-width: 0; padding-bottom: 16px; text-align: center; }
.koiniwa-footer-image-nav img { display: inline-block; vertical-align: middle; width: 100%; max-width: 250px; height: auto; margin: 0; }
.koiniwa-footer-links { padding: 0; font-size: 12px; text-align: center; }
.koiniwa-footer-links ul {
    display: inline-flex; flex-wrap: wrap; justify-content: center;
    max-width: 1110px; gap: 0; margin: auto; padding: 8px; list-style: none;
}
.koiniwa-footer-links li { position: relative; padding-left: 16px; }
.koiniwa-footer-links li::before {
    position: absolute; inset: 0 auto 0 0;
    display: inline-flex; justify-content: center; align-items: center;
    width: 16px; color: #48a8ab; content: '|';
}
.koiniwa-footer-links li:first-child::before { content: ''; }
.koiniwa-footer-information { margin: 0; }
.koiniwa-footer-information .wp-block-image { margin-bottom: 16px; }
.koiniwa-footer-information .wp-block-image a { display: inline; }
.koiniwa-footer-information figure { margin: 0; }
.koiniwa-footer-information img { max-width: 100%; height: auto; vertical-align: middle; }
.koiniwa-footer .sns .icon-twitter::before {
    content: ''; display: inline-block; width: 1em; height: 1em; vertical-align: -2px;
    background: currentColor;
    mask: url('assets/twitter-legacy.svg') center / contain no-repeat;
}
@media (min-width: 600px) and (max-width: 781.98px) {
    .koiniwa-footer-image-nav li { flex-basis: calc(50% - 16px); }
    .koiniwa-footer-image-nav li:nth-child(even) { margin-left: 32px; }
}
@media (min-width: 782px) {
    .koiniwa-footer-image-nav li { flex: 1 1 0; }
    .koiniwa-footer-image-nav li + li { margin-left: 32px; }
}
