/* NO-COMPATIBILITY HARD RED: One current runtime contract; no legacy accommodation, dual readers, aliases, fallback interpretation, or repair-on-read. Deterministic offline production transitions require an exact owner-approved plan. See docs/INVARIANTS/NO_COMPATIBILITY.md. */
body[class^="public-"] {
    --paper: #172e42;
    --ink: #172e42;
    --muted: #5c5a55;
    --accent: #945532;
    --panel: rgba(247, 240, 223, 0.92);
    --public-frame-background: rgba(247, 240, 223, 0.92);
    --public-card-background: #f7f0df;
    --surface-line: #9d7c56;
    --scenery-base: #0c1623;
    background: var(--scenery-base);
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    color: #172e42;
    font-family: Georgia, "Times New Roman", serif;
}

/* Circuni's intact, scrolling upper scene and overflow-only fade, in S&F blue. */
body[class^="public-"]::before {
    position: absolute;
    inset: 0 0 auto;
    height: min(100%, max(100vh, clamp(48rem, 85vw, 72rem)));
    z-index: -1;
    background: linear-gradient(var(--brand-overlay),var(--brand-overlay)), var(--brand-background);
    background-position: var(--brand-position);
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    pointer-events: none;
}

body[class^="public-"][data-scenery-overflow]::before {
    background-image: linear-gradient(to bottom, transparent calc(100% - 8rem), var(--scenery-base) 100%),
        linear-gradient(var(--brand-overlay),var(--brand-overlay)), var(--brand-background);
}

body[class^="public-"] .public-site-footer {
    --footer-link-min-height: var(--public-control-min-height-compact);
    --footer-row-gap: 0;
    margin-top: auto;
}

body.public-neutral-home-page[data-site-presentation="struckandfound"] main {
    min-height: 26rem;
    padding: 2.5rem 2rem 3rem;
    background: var(--public-frame-background);
    border: 1px solid #9d7c56;
    border-radius: 0.25rem;
    margin-top: 2rem;
    text-align: center;
}

body.public-neutral-home-page[data-site-presentation="struckandfound"] .public-neutral-home__logo {
    display: block;
    width: min(100%, 43rem);
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

body.public-neutral-home-page[data-site-presentation="struckandfound"] main p {
    max-width: 34rem;
    margin: 1.25rem auto 0;
    color: #172e42;
    font-size: 1.2rem;
    line-height: 1.6;
}

body.public-object-item-page .struck-coin-detail {
    border: 1px solid #9d7c56;
    background: var(--public-frame-background);
}

body.public-object-item-page .struck-coin-detail__summary {
    max-width: 49rem;
    margin: 0 0 1.5rem;
    font-size: 1.1rem;
    line-height: 1.65;
}

body.public-object-item-page .struck-coin-detail__facts {
    display: block;
    margin: 0;
}

body.public-object-item-page .struck-coin-detail__row {
    display: grid;
    grid-template-columns: minmax(0, 12.5rem) minmax(0, 1fr);
    gap: 0.5rem 1.5rem;
    padding: 0.7rem 0;
    border-top: 1px solid rgba(157, 124, 86, 0.35);
}

body.public-object-item-page .struck-coin-detail__row dt,
body.public-object-item-page .struck-coin-detail__row dd {
    margin: 0;
    min-width: 0;
}

body.public-object-item-page .struck-coin-detail__row dt {
    color: #945532;
    font-weight: bold;
}

body.public-object-item-page .struck-coin-detail__row dd {
    overflow-wrap: break-word;
}

@media (max-width: 720px) {
    body.public-object-item-page .struck-coin-detail__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.2rem;
    }
    body.public-neutral-home-page[data-site-presentation="struckandfound"] main {
        min-height: 0;
        padding: 1.5rem 1rem 2rem;
    }
}

body.public-objects-page .public-archive-filters {
    margin-block: 1.25rem;
    padding: 1.25rem;
    border: 1px solid #9d7c56;
    border-radius: 0.25rem;
    background: var(--public-frame-background);
}

/* Shared archive presentation owns responsive columns and semantic state colours. */
body.public-objects-page .public-archive-filters__controls :is(select,.public-archive-automatic) {
    border-radius: 0.2rem;
}

body.public-objects-page .public-archive-filters__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 1rem;
}

body.public-objects-page .public-archive-filters__actions button {
    padding: 0.55rem 1rem;
    border: 0;
    border-radius: 0.2rem;
    background: #172e42;
    color: #fff;
    cursor: pointer;
}

body.public-objects-page .public-archive-filters__actions a {
    color: #172e42;
}
