/*
 * Formal competition-recognition tokens and component treatments.
 *
 * Every selector is scoped to the plugin's `pa-recognition` contract. Theme
 * palettes and dark-mode rules cannot silently redefine award identity, and
 * these rules do not paint generic site badges, cards, links, or body styles.
 */

.pa-recognition {
    --pa-recognition-accent: #555d68;
    --pa-recognition-border: #858c96;
    --pa-recognition-surface: #f5f7f9;
    --pa-recognition-ink: #20252c;
    --pa-recognition-label-bg: #d8dde3;
    --pa-recognition-label-bg-end: #d8dde3;
    --pa-recognition-label-ink: #20252c;
    --pa-recognition-label-gradient: linear-gradient(135deg, var(--pa-recognition-label-bg), var(--pa-recognition-label-bg-end));
    color-scheme: light;
}

.pa-recognition--photographer-of-the-year {
    --pa-recognition-accent: #7d5d0d;
    --pa-recognition-border: #aa7e1d;
    --pa-recognition-surface: #f7f4ec;
    --pa-recognition-ink: #15213b;
    --pa-recognition-label-bg: #15213b;
    --pa-recognition-label-bg-end: #15213b;
    --pa-recognition-label-ink: #fff4cf;
}

.pa-recognition--category-winner {
    --pa-recognition-accent: #6f4b00;
    --pa-recognition-border: #9a6700;
    --pa-recognition-surface: #fff9e6;
    --pa-recognition-ink: #2b2107;
    --pa-recognition-label-bg: #5b3a00;
    --pa-recognition-label-bg-end: #8a5c00;
    --pa-recognition-label-ink: #ffffff;
}

.pa-recognition--gold {
    --pa-recognition-accent: #755000;
    --pa-recognition-border: #a06e00;
    --pa-recognition-surface: #fffaf0;
    --pa-recognition-ink: #2e2306;
    --pa-recognition-label-bg: #f6cf64;
    --pa-recognition-label-bg-end: #dcae2e;
    --pa-recognition-label-ink: #2e2306;
}

.pa-recognition--silver {
    --pa-recognition-accent: #49525d;
    --pa-recognition-border: #6f7883;
    --pa-recognition-surface: #f6f8fa;
    --pa-recognition-ink: #1e252c;
    --pa-recognition-label-bg: #3f4852;
    --pa-recognition-label-bg-end: #69737e;
    --pa-recognition-label-ink: #ffffff;
}

.pa-recognition--bronze {
    --pa-recognition-accent: #6a351d;
    --pa-recognition-border: #8e4d2c;
    --pa-recognition-surface: #fff4ec;
    --pa-recognition-ink: #32160b;
    --pa-recognition-label-bg: #6c2f18;
    --pa-recognition-label-bg-end: #9a4e2c;
    --pa-recognition-label-ink: #ffffff;
}

.pa-recognition--jury-choice {
    --pa-recognition-accent: #5e337e;
    --pa-recognition-border: #8253a3;
    --pa-recognition-surface: #f8f0ff;
    --pa-recognition-ink: #291435;
    --pa-recognition-label-bg: #4a245f;
    --pa-recognition-label-bg-end: #7c2d62;
    --pa-recognition-label-ink: #ffffff;
}

.pa-recognition--highly-commended {
    --pa-recognition-accent: #14614f;
    --pa-recognition-border: #2a806d;
    --pa-recognition-surface: #ecfaf6;
    --pa-recognition-ink: #0e3028;
    --pa-recognition-label-bg: #0e5547;
    --pa-recognition-label-bg-end: #0f6f78;
    --pa-recognition-label-ink: #ffffff;
}

.pa-recognition--commended {
    --pa-recognition-accent: #356b8b;
    --pa-recognition-border: #5f94b4;
    --pa-recognition-surface: #eef8fd;
    --pa-recognition-ink: #173345;
    --pa-recognition-label-bg: #b8ddf0;
    --pa-recognition-label-bg-end: #b8ddf0;
    --pa-recognition-label-ink: #153244;
}

.pa-recognition--acceptance {
    --pa-recognition-accent: #276944;
    --pa-recognition-border: #3c825d;
    --pa-recognition-surface: #eef9f2;
    --pa-recognition-ink: #173b28;
    --pa-recognition-label-bg: #bfe2cc;
    --pa-recognition-label-bg-end: #bfe2cc;
    --pa-recognition-label-ink: #153824;
}

/* Reusable presentation variants. Award modifiers above provide identity;
   feature styles remain free to position these components in their layout. */
.pa-recognition.pa-recognition--chip {
    align-items: center;
    background-color: var(--pa-recognition-label-bg);
    background-image: var(--pa-recognition-label-gradient);
    border: 1px solid var(--pa-recognition-border);
    border-radius: 999px;
    color: var(--pa-recognition-label-ink);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    letter-spacing: .06em;
    line-height: 1.2;
    max-width: 100%;
    padding: 5px 9px;
    text-transform: uppercase;
}

.pa-recognition.pa-recognition--panel {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

/* Compact owner-dashboard chips. */
.pa-entry-award-chip.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-entry-award-chip.pa-recognition strong {
    background: var(--pa-recognition-label-bg);
    border-radius: 999px;
    color: var(--pa-recognition-label-ink);
    line-height: 1.2;
    padding: 3px 7px;
}

.pa-entry-award-chip.pa-recognition > span,
.pa-entry-award-chip.pa-recognition em {
    color: var(--pa-recognition-ink);
}

.pa-entry-award-chip.pa-recognition.is-private {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-style: dashed;
}

/* Entry-first Awards dashboard: the work card stays deliberately neutral. */
.pa-awarded-work-recognition.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-left-width: 4px;
    color: var(--pa-recognition-ink);
}

.pa-awarded-work-recognition.pa-recognition.is-private {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-style: dashed;
    border-left-style: solid;
}

.pa-awarded-work-recognition.pa-recognition .pa-awarded-work-mark {
    background: var(--pa-recognition-label-bg);
    color: var(--pa-recognition-label-ink);
}

.pa-awarded-work-recognition.pa-recognition strong {
    color: var(--pa-recognition-accent);
}

.pa-awarded-work-recognition.pa-recognition > div > span,
.pa-awarded-work-recognition.pa-recognition em {
    color: var(--pa-recognition-ink);
}

.pa-awarded-work-recognition.pa-recognition nav a {
    background: #fff;
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-awarded-work-recognition.pa-recognition nav a:hover,
.pa-awarded-work-recognition.pa-recognition nav a:focus-visible {
    border-color: var(--pa-recognition-accent);
    color: var(--pa-recognition-accent);
}

/* Ordinary entry permalink. */
.pa-entry-recognition-item.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-left-width: 4px;
    color: var(--pa-recognition-ink);
}

.pa-entry-recognition-item.pa-recognition.is-private {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-style: dashed;
    border-left-style: solid;
}

.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-mark {
    background: var(--pa-recognition-label-bg);
    color: var(--pa-recognition-label-ink);
}

.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-labels strong {
    background: var(--pa-recognition-label-bg);
    border-radius: 999px;
    color: var(--pa-recognition-label-ink);
    line-height: 1.2;
    padding: 4px 8px;
}

.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-copy > span,
.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-labels em {
    color: var(--pa-recognition-ink);
}

.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-actions a {
    background: #fff;
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-actions a:hover,
.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-actions a:focus-visible {
    border-color: var(--pa-recognition-accent);
    color: var(--pa-recognition-accent);
}

/* Public photographer portfolio recognition rows. */
.pa-v2-entry-recognition.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-left-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-v2-entry-recognition.pa-recognition > a,
.pa-v2-entry-recognition.pa-recognition > span {
    color: var(--pa-recognition-ink);
}

.pa-v2-entry-recognition.pa-recognition > a:hover,
.pa-v2-entry-recognition.pa-recognition > a:focus-visible {
    background: var(--pa-recognition-surface);
    box-shadow: inset 0 0 0 2px var(--pa-recognition-border);
}

.pa-v2-entry-recognition.pa-recognition strong {
    color: var(--pa-recognition-accent);
}

.pa-v2-entry-recognition.pa-recognition > a > span,
.pa-v2-entry-recognition.pa-recognition > span > span {
    color: var(--pa-recognition-ink);
}

/* Certificate/badge collections: uploaded artwork remains untouched. */
.pa-award-group.pa-recognition,
.pa-v2-award-group.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-award-group.pa-recognition .pa-award-group-title > span,
.pa-v2-award-group.pa-recognition > header span {
    color: var(--pa-recognition-accent);
}

.pa-award-group.pa-recognition .pa-award-group-title h2,
.pa-award-group.pa-recognition .pa-award-group-title p,
.pa-v2-award-group.pa-recognition h3,
.pa-v2-award-group.pa-recognition p {
    color: var(--pa-recognition-ink);
}

.pa-award-group.pa-recognition .pa-award-collectible-fallback {
    background: var(--pa-recognition-label-bg);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-label-ink);
}

.pa-award-group.pa-recognition .pa-certificate-card-award {
    background: var(--pa-recognition-label-bg);
    border-radius: 999px;
    color: var(--pa-recognition-label-ink);
    display: inline-flex;
    line-height: 1.2;
    padding: 4px 8px;
}

/* Legacy one-recognition award cards remain compatible with old installs. */
.pa-award-card.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pa-award-card.pa-recognition .pa-award-badge {
    background: var(--pa-recognition-label-bg);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-label-ink);
}

.pa-award-card.pa-recognition .pa-award-art {
    border-color: var(--pa-recognition-border);
}

/* Frozen public entry/list badges. Gallery cards use their own component CSS. */
.pawg-badge.pa-recognition {
    background: var(--pa-recognition-label-bg);
    border: 1px solid var(--pa-recognition-border);
    color: var(--pa-recognition-label-ink);
}

.pawg-shell .pawg-public-recognitions > .pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    border-left-width: 4px;
    color: var(--pa-recognition-ink);
}

.pawg-shell .pawg-public-recognitions > .pa-recognition p {
    color: var(--pa-recognition-ink);
}

.pawg-shell .pawg-public-recognitions > .pa-recognition a {
    color: var(--pa-recognition-accent);
}

.pawg-shell .pawg-award-filters button.pa-recognition {
    background: var(--pa-recognition-surface);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-ink);
}

.pawg-shell .pawg-award-filters button.pa-recognition:hover,
.pawg-shell .pawg-award-filters button.pa-recognition:focus-visible,
.pawg-shell .pawg-award-filters button.pa-recognition[aria-pressed="true"] {
    background: var(--pa-recognition-label-bg);
    border-color: var(--pa-recognition-border);
    color: var(--pa-recognition-label-ink);
}

.pawg-shell .pawg-winner-list-table tr.pa-recognition > td:first-child {
    border-left: 4px solid var(--pa-recognition-border);
}

/* Two-tone identity is confined to explicit award marks. Card surfaces remain
   calm and readable, while the text label continues to identify every award
   without relying on color alone. */
.pa-entry-award-chip.pa-recognition strong,
.pa-awarded-work-recognition.pa-recognition .pa-awarded-work-mark,
.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-mark,
.pa-entry-recognition-item.pa-recognition .pa-entry-recognition-labels strong,
.pa-award-group.pa-recognition .pa-award-collectible-fallback,
.pa-award-group.pa-recognition .pa-certificate-card-award,
.pa-award-card.pa-recognition .pa-award-badge,
.pawg-badge.pa-recognition,
.pawg-shell .pawg-award-filters button.pa-recognition:hover,
.pawg-shell .pawg-award-filters button.pa-recognition:focus-visible,
.pawg-shell .pawg-award-filters button.pa-recognition[aria-pressed="true"] {
    background-color: var(--pa-recognition-label-bg);
    background-image: var(--pa-recognition-label-gradient);
}

/* One consistent, clearly visible keyboard treatment on recognition actions. */
.pa-recognition a:focus-visible {
    outline: 3px solid var(--pa-recognition-accent);
    outline-offset: 3px;
}

@media (forced-colors: active) {
    .pa-recognition {
        border-color: CanvasText;
        background-image: none !important;
        forced-color-adjust: auto;
    }
}
