/* Post taxonomies (categories & tags) */
.post-taxonomies {
    margin-top: 1.4rem;
    font-size: 1.1rem;
    width: 95%;
    max-width: 45rem;
}

.post-taxonomies hr {
    width: 100%;
}

.post-taxonomies .taxonomy-list {
    display: block;
    margin-bottom: 0.5rem;
}

.post-taxonomies .taxonomy-label {
    font-style: italic;
}

.post-taxonomies a {
    background: transparent;
    text-decoration: none;
}

.post-taxonomies a:hover {
    text-decoration: underline;
}

/* Dark mode */
:root {
    --bg-color: #fffff8;
    --text-color: #111;
    --link-color: #111;
    --muted-color: #666;
    --border-color: #111;
    --code-bg: #f0f0f0;
}

[data-theme="dark"] {
    --bg-color: #1a1a1a;
    --text-color: #e0e0e0;
    --link-color: #b0b0b0;
    --muted-color: #888;
    --border-color: #444;
    --code-bg: #2a2a2a;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
}

a, a:visited {
    color: var(--link-color);
}

hr {
    border-color: var(--border-color);
}

.sidenote, .marginnote {
    color: var(--muted-color);
}

code, pre {
    background-color: var(--code-bg);
}

/* Theme toggle - sidenote style */
footer.page-footer {
    position: relative;
}

.theme-toggle-wrapper {
    position: absolute;
    right: 0;
    top: 2.8rem;
    width: auto;
}

.theme-toggle {
    cursor: pointer;
    background: transparent;
    border: none;
    font-size: 1.1rem;
    line-height: 1.3;
    color: var(--text-color);
    padding: 0;
}

.theme-toggle:hover {
    opacity: 0.7;
}

@media (max-width: 760px) {
    .theme-toggle-wrapper {
        position: static;
        margin-top: 1rem;
    }
}

/* External link icon */
a[target="_blank"]::after,
a[href^="http"]:not([href*="reviews.blulaktuko.net"])::after {
    content: " ↗";
    font-size: 0.8em;
}

/* Book info section */
.book-info .book-cover {
    float: right;
    clear: right;
    margin-right: -60%;
    width: 50%;
    max-width: 200px;
    margin-bottom: 1rem;
}

.book-info .book-metadata th {
    font-weight: normal;
    font-style: italic;
    text-transform: none;
    border: none;
}

.book-info .book-metadata td {
    border: none;
}

@media (max-width: 760px) {
    .book-info .book-cover {
        float: none;
        margin-right: 0;
        width: auto;
    }
}

/* Language switcher */
.lang-switcher {
    font-size: 1.1rem;
    font-style: italic;
}

.lang-switcher a {
    background: transparent;
}
