/* Theme accents have local fallbacks so the plugin also works in other themes. */
.lisa-bw {
    --bw-blue: var(--wp--preset--color--primary, #144570);
    --bw-pink: var(--wp--preset--color--accent-2, #d18ebf);
    --bw-ink: #243b4b;
    font: inherit;
    color: inherit;
    max-width: 100%;
}
.lisa-bw *, .lisa-bw *::before, .lisa-bw *::after { box-sizing: border-box; }
.lisa-bw .lisa-bw-period { color: var(--bw-blue); font-size: .85em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .6em; }
.lisa-bw .lisa-bw-totals { padding: .8em 1em; border-left: 4px solid var(--bw-pink); background: #f5f8fb; border-radius: 0 12px 12px 0; color: var(--bw-ink); }
.lisa-bw .lisa-bw-totals strong { color: var(--bw-blue); font-size: 1.5em; font-variant-numeric: tabular-nums; }
.lisa-bw table { border-collapse: separate; border-spacing: 0; width: 100%; margin-block: 1em; border: 1px solid #dce5ec; border-radius: 14px; background: #fff; color: var(--bw-ink); }
.lisa-bw th, .lisa-bw td { text-align: start; padding: 1em; border: 0; border-bottom: 1px solid #e5ebef; vertical-align: middle; overflow-wrap: anywhere; }
.lisa-bw thead th { background: #f2f6fa; color: var(--bw-blue); font-size: .85em; font-weight: 700; }
.lisa-bw thead th:first-child { border-top-left-radius: 14px; }
.lisa-bw thead th:last-child { border-top-right-radius: 14px; }
.lisa-bw tbody tr:last-child > * { border-bottom: 0; }
.lisa-bw tbody th { font-weight: normal; }
.lisa-bw th:last-child, .lisa-bw td:last-child { text-align: end; }
.lisa-bw td:last-child { color: var(--bw-blue); font-size: 1.2em; font-weight: 700; font-variant-numeric: tabular-nums; }
.lisa-bw .lisa-bw-bird { display: flex; gap: 1em; align-items: center; text-align: start; }
.lisa-bw img.lisa-bw-photo { display: block; flex: 0 0 88px; width: 88px; height: 88px; max-width: none; object-fit: cover; border-radius: 12px; margin: 0; box-shadow: 0 2px 7px #14457018; }
.lisa-bw .lisa-bw-bird-info { min-width: 0; }
.lisa-bw .lisa-bw-bird-name { display: block; font-weight: 700; font-size: 1.05em; }
.lisa-bw .lisa-bw-scientific { display: block; font-size: .85em; color: #536570; margin-top: .15em; }
.lisa-bw .lisa-bw-learn { display: inline-block; font-size: .8em; margin-top: .45em; }
.lisa-bw .lisa-bw-credit { display: block; font-size: .68em; line-height: 1.5; color: #536570; margin-top: .4em; }
.lisa-bw .lisa-bw-credit a { color: inherit; text-decoration: underline; }
.lisa-bw a:focus-visible { outline: 3px solid var(--bw-blue); outline-offset: 3px; border-radius: 2px; }
.lisa-bw .lisa-bw-conditions { margin-block: 1.6em; padding: 1.4em; border: 1px solid #dce5ec; border-top: 3px solid var(--bw-pink); border-radius: 16px; background: linear-gradient(135deg, #f3f8fc, #fcf5fa); color: var(--bw-ink); }
.lisa-bw .lisa-bw-conditions h3 { color: var(--bw-blue); margin-top: 0; margin-bottom: 1em; }
.lisa-bw .lisa-bw-conditions p:last-child { margin-bottom: 0; }
.lisa-bw .lisa-bw-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10em), 1fr)); gap: .85em; margin: 0 0 1em; }
.lisa-bw .lisa-bw-metrics div { padding: 1.1em; background: #fff; border: 1px solid #e4eaf0; border-radius: 12px; box-shadow: 0 3px 12px #14457006; }
.lisa-bw .lisa-bw-metrics dt { font-size: .8em; color: #536570; }
.lisa-bw .lisa-bw-metrics dd { margin: .35em 0 0; font-size: 1.65em; line-height: 1.25; font-weight: 700; color: var(--bw-blue); font-variant-numeric: tabular-nums; }
.lisa-bw .lisa-bw-status { font-size: .9em; }
.lisa-bw-teaser .lisa-bw-totals { padding: .6em .8em; }
@media (max-width: 540px) {
    .lisa-bw-page .lisa-bw-totals { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25em 1em; }
    .lisa-bw-page .lisa-bw-total { white-space: nowrap; }
    .lisa-bw-page .lisa-bw-total-separator { display: none; }
    .lisa-bw-page .lisa-bw-species { table-layout: auto; }
    .lisa-bw-page .lisa-bw-species th:last-child,
    .lisa-bw-page .lisa-bw-species td:last-child {
        width: 1%;
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }
    .lisa-bw-page .lisa-bw-species td:last-child { font-size: 1em; }
    .lisa-bw th, .lisa-bw td { padding: .7em .5em; }
    .lisa-bw .lisa-bw-bird { gap: .65em; align-items: flex-start; }
    .lisa-bw img.lisa-bw-photo { flex-basis: 56px; width: 56px; height: 56px; border-radius: 9px; }
    .lisa-bw .lisa-bw-conditions { padding: 1em; }
}


.lisa-bw .lisa-bw-map-credit { margin-top: 1em; font-size: .85em; }
.lisa-bw .lisa-bw-buy { margin-top: 1.5em; padding-top: 1em; border-top: 1px solid #dce5ec; }
