/* Frontoffice — website do escritor */

:root {
    --font-serif: Georgia, "Times New Roman", Times, serif;
    --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --color-text: #1a1a1a;
    /* Contraste ≥ 7:1 sobre fundos claros (WCAG AAA, texto normal) */
    --color-muted: #434343;
    --color-bg: #faf9f7;
    --color-card: #ffffff;
    --color-border: #e8e4df;
    --color-link: #1a4480;
    --color-link-hover: #0f2d52;
    --line-height: 1.7;
}

body {
    font-family: var(--font-sans);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: var(--line-height);
}

.site-header .navbar-brand {
    font-family: var(--font-serif);
    font-size: 1.35rem;
}

.navbar-nav .nav-link[aria-current="page"] {
    font-weight: 600;
}

/* Sobrescrever Bootstrap — contraste AAA em textos secundários e navegação */
.text-muted {
    color: var(--color-muted) !important;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--color-text);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: var(--color-link-hover);
}

.navbar-light .navbar-nav .nav-link[aria-current="page"] {
    color: var(--color-link-hover);
}

.breadcrumb-item a {
    color: var(--color-link);
}

.breadcrumb-item.active {
    color: var(--color-muted);
}

.page-link {
    color: var(--color-link);
}

.page-item.active .page-link {
    background-color: var(--color-link);
    border-color: var(--color-link);
}

.content-body {
    font-family: var(--font-serif);
    font-size: 1.05rem;
}

.content-body p {
    margin-bottom: 1rem;
}

.content-body a {
    color: var(--color-link);
}

.content-body a:hover {
    color: var(--color-link-hover);
}

.post-card,
.book-card {
    background: var(--color-card);
    border: 1px solid var(--color-border);
}

.post-image {
    max-height: 320px;
    object-fit: cover;
}

.book-cover {
    max-height: 220px;
    object-fit: cover;
}

.book-cover-large {
    max-height: 400px;
    object-fit: contain;
}

.writer-thumb {
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.writer-image {
    max-height: 360px;
    object-fit: contain;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    padding: 0.5rem 1rem;
    background: #000;
    color: #fff;
}

.skip-link:focus,
.skip-link:focus-visible {
    left: 0;
    outline: 3px solid #fff;
    outline-offset: 2px;
}

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

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

.site-footer {
    color: var(--color-muted);
}

.site-footer a {
    color: var(--color-link);
}

.contact-list strong {
    display: inline-block;
    min-width: 7rem;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 991.98px) {
    .navbar-nav .dropdown-menu {
        border: none;
        padding-left: 1rem;
    }
}
