/* Shared public components. Uses the site's existing semantic theme tokens. */
body.rb-public-quality-v1 {
    --rb-quality-body-size: 16.5px;
    --rb-quality-article-gap: 32px;
}
body.rb-public-quality-v1 :is(.rb-quality-prose,.rb-quality-page) {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--rb-color-text-body, #353b3e);
}
body.rb-public-quality-v1 main :is(h1,h2,h3,h4) { overflow-wrap: anywhere; }
body.rb-public-quality-v1 .rb-quality-prose {
    font-family: Poppins, sans-serif;
    font-size: var(--rb-quality-body-size);
    line-height: 1.9;
}
body.rb-public-quality-v1 .rb-quality-prose :is(p,li,span,font) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
body.rb-public-quality-v1 .rb-quality-prose :is(p,ul,ol) { margin-block: 0 1.25em; }
body.rb-public-quality-v1 :is(.rb-quality-prose,.rb-quality-page) :is(div,section,figure,table,pre) {
    max-width: 100% !important;
    min-width: 0 !important;
}
body.rb-public-quality-v1 :is(.rb-quality-prose,.rb-quality-page) table { display: block; overflow-x: auto; }
body.rb-public-quality-v1 :is(.rb-quality-prose,.rb-quality-page) table :is(td,th) { white-space: normal; overflow-wrap: anywhere; }
body.rb-public-quality-v1 .rb-quality-prose a { color: var(--rb-color-primary, #155e60); }
body.rb-public-quality-v1 :is(.rb-quality-prose,.rb-quality-page) :is(img,video,iframe) { max-width: 100% !important; min-width: 0 !important; }
body.rb-public-quality-v1 .rb-quality-poem {
    font: inherit;
    color: inherit;
    background: transparent;
    padding: 0;
    border: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin-block: 0 1.25em;
}
/* Both metadata and action keep their own space, including new search cards. */
body.rb-public-quality-v1 .rb-search-card__footer {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 12px;
}
body.rb-public-quality-v1 .rb-search-card__meta { min-width: 0; }
body.rb-public-quality-v1 .rb-search-card__meta :is(.rb-search-card__author,time) { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
body.rb-public-quality-v1 .rb-search-card__more { position: static; flex-shrink: 0; white-space: nowrap; }
body.rb-public-quality-v1.rb-search-page .rb-search .rb-search-pagination .page-numbers .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}
/* Native page surfaces pair background and text instead of changing one. */
body.rb-public-quality-v1 .rb-quality-page > div[style*="background:#fff"],
body.rb-public-quality-v1 .rb-quality-page > div[style*="background: #fff"] {
    background: var(--rb-color-surface, #fff) !important;
    color: var(--rb-color-text-body, #353b3e) !important;
    border-color: var(--rb-color-border, #e5e7ea) !important;
}
html[data-rb-theme="dark"] body.rb-public-quality-v1 .rb-reg-card {
    background: var(--rb-color-surface, #181b1e);
    color: var(--rb-color-text-body, #d9dde1);
}
html[data-rb-theme="dark"] body.rb-public-quality-v1 .rb-reg-deadline {
    background: var(--rb-color-surface-warm, #29251f);
    color: var(--rb-color-text-body, #d9dde1);
}
html[data-rb-theme="dark"] body.rb-public-quality-v1 .rb-reg-links a {
    background: var(--rb-color-surface-soft, #20252a);
    border-color: var(--rb-color-border, #3e454c);
    color: var(--rb-color-text-primary, #f5f6f7);
}
html[data-rb-theme="dark"] body.rb-public-quality-v1 .rb-download-hub-v3__hero h1 { color: var(--rb-color-primary, #63cfd1); }
@media(min-width:1025px) {
    body.rb-public-quality-v1.single-post #primary .rb-single-layout__article > .entry-content.single-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
        box-sizing: border-box !important;
        padding-right: var(--rb-quality-article-gap) !important;
    }
}
@media(max-width:1024px) { body.rb-public-quality-v1 { --rb-quality-body-size: 16px; } }
@media(max-width:640px) {
    body.rb-public-quality-v1 .rb-search-card__footer { grid-template-columns: minmax(0,1fr); gap: 8px; align-items: start; }
    body.rb-public-quality-v1 .rb-search-card__meta { width: 100%; max-width: 100%; }
    body.rb-public-quality-v1 .rb-search-card__more { justify-self: start; }
}
