/* Privacy choices — first-party consent layer */
.consent-banner {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    background: #fbf8f3; color: #2b2118; border-top: 1px solid #d8c9b4;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.08); padding: 0.75rem 1rem;
    font-size: 0.95rem;
}
.consent-banner[hidden] { display: none !important; }
.consent-banner-inner { max-width: 960px; margin: 0 auto; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.consent-banner-inner p { margin: 0; flex: 1 1 24rem; }
.consent-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.consent-btn {
    font: inherit; padding: 0.45rem 0.9rem; cursor: pointer; border-radius: 4px;
    border: 1px solid #8b5a2b; background: #fff; color: #2b2118;
}
.consent-btn:hover, .consent-btn:focus-visible { outline: 2px solid #8b5a2b; outline-offset: 2px; }
.consent-accept { background: #8b5a2b; color: #fff; border-color: #8b5a2b; }
.consent-manage-panel {
    position: fixed; inset: 0; z-index: 1001; background: rgba(0,0,0,0.45);
    display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.consent-manage-panel[hidden] { display: none !important; }
.consent-manage-inner {
    background: #fbf8f3; color: #2b2118; max-width: 34rem; width: 100%;
    border-radius: 6px; padding: 1.25rem 1.5rem; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.consent-manage-inner fieldset { border: 1px solid #d8c9b4; border-radius: 4px; padding: 0.75rem 1rem; margin: 0.75rem 0; }
.consent-manage-inner label { display: block; margin: 0.4rem 0; }
.consent-manage-actions { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
.consent-save { background: #8b5a2b; color: #fff; border-color: #8b5a2b; }
@media (prefers-reduced-motion: reduce) {
    .consent-banner, .consent-manage-panel { transition: none; }
}
/* Conservative ad placement: reserved space, neutral label */
.ad-slot { margin: 1.75rem 0; min-height: 120px; clear: both; }
.ad-label {
    font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: #7a6a56; margin: 0 0 0.4rem; text-align: left;
}
.article-correction-link { font-size: 0.92rem; margin-top: 2rem; }
