/* RSHOF Special colour contract · Core 2.9.8
 * Homepage cards and full special centres use their format palette.
 */

/* Homepage differentiation: Sommerhaus red, PBB eye green, next special yellow. */
.rshof-seasonal-card--sommerhaus {
    background: linear-gradient(135deg, #4a0b13, #b4212d 58%, #df5a2f) !important;
}

.rshof-seasonal-card--pbb {
    background: linear-gradient(135deg, #123f35, #17664f 58%, #2a8064) !important;
}

.rshof-seasonal-card--next,
.rshof-seasonal-card--future,
.rshof-seasonal-card[data-rshof-special-colour="yellow"] {
    background: linear-gradient(135deg, #5a4100, #a67b00 56%, #e1b91f) !important;
}

/* Sommerhaus master hierarchy; PBB receives its own scoped palette below. */
.rshof-format-special,
.rshof-pbb-special.rshof-sommerhaus-special {
    --rshof-special-red-deep: #230d05;
    --rshof-special-red: #84390b;
    --rshof-special-red-bright: #f49a35;
    --rshof-special-accent: #d8751e;
    --rshof-special-gold: #f2c56b;
    --rshof-special-paper: #fbf7f0;
    --rshof-special-line: #e4d5bb;
    --rshof-special-ink: #17252e;
    color: var(--rshof-special-ink);
}

.rshof-format-special .rshof-sommerhaus-special__hero,
.rshof-pbb-special .rshof-pbb-special__hero {
    background:
        radial-gradient(circle at 82% 20%, rgba(255, 221, 144, .35), transparent 34%),
        linear-gradient(135deg, rgba(35, 13, 5, .98), rgba(132, 57, 11, .95) 55%, rgba(244, 154, 53, .88)) !important;
    box-shadow: 0 30px 70px rgba(66, 30, 8, .28) !important;
}

.rshof-format-special .rshof-sommerhaus-special__hero::before,
.rshof-pbb-special .rshof-pbb-special__hero::before {
    background:
        radial-gradient(circle at 82% 20%, rgba(255, 221, 144, .35), transparent 34%),
        linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, .08)) !important;
}

.rshof-pbb-special__brand {
    border-color: rgba(255, 255, 255, .32) !important;
    background: rgba(19, 7, 3, .46) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .24) !important;
}

.rshof-pbb-special__official-logo {
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .55)) !important;
}

.rshof-pbb-special__lead {
    color: rgba(255, 255, 255, .84) !important;
}

.rshof-pbb-special__chips span {
    border-color: rgba(255, 255, 255, .22) !important;
    background: rgba(0, 0, 0, .18) !important;
    color: #fff !important;
}

.rshof-pbb-special__status {
    border-color: rgba(255, 255, 255, .25) !important;
    background: rgba(11, 8, 5, .45) !important;
}

.rshof-pbb-special__status small {
    color: #ffd995 !important;
}

.rshof-pbb-special__status strong {
    color: #fff !important;
}

.rshof-pbb-special__status span {
    color: rgba(255, 255, 255, .73) !important;
}

.rshof-pbb-special .rshof-pbb-special__facts article {
    border-color: #e2d2b3 !important;
    background: #fff !important;
    box-shadow: 0 10px 25px rgba(45, 29, 13, .07) !important;
}

.rshof-pbb-special .rshof-pbb-special__facts small,
.rshof-pbb-special__section .rshof-eyebrow,
.rshof-pbb-special__info-grid small,
.rshof-pbb-special__cast-card > span,
.rshof-pbb-special__timeline-grid span,
.rshof-pbb-special .rshof-pbb-special__news time,
.rshof-pbb-special .rshof-pbb-special__news span {
    color: #a46a24 !important;
}

.rshof-pbb-special .rshof-pbb-special__facts strong,
.rshof-pbb-special__info-grid strong,
.rshof-pbb-special__cast-card strong,
.rshof-pbb-special__timeline-grid strong {
    color: #17252e !important;
}

.rshof-pbb-special .rshof-pbb-special__facts span,
.rshof-pbb-special__info-grid p,
.rshof-pbb-special__cast-card p,
.rshof-pbb-special__timeline-grid small {
    color: #68777e !important;
}

.rshof-pbb-special__section {
    border-color: #e4d5bb !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(45, 29, 13, .07) !important;
}

.rshof-pbb-special__info-grid article,
.rshof-pbb-special__cast-card,
.rshof-pbb-special__timeline-grid article,
.rshof-pbb-special .rshof-pbb-special__news a {
    border-color: #eadfcf !important;
    background: linear-gradient(180deg, #fff, #fbf7f0) !important;
}

.rshof-pbb-special__timeline-grid article.is-done {
    border-color: #d8aa6a !important;
    background: linear-gradient(180deg, #fffaf1, #f8ead7) !important;
}

.rshof-pbb-special .rshof-pbb-special__official-grid a {
    background: linear-gradient(135deg, #5e2a10, #d77a20) !important;
}

.rshof-pbb-special .rshof-pbb-special__official-grid a::before,
.rshof-pbb-special .rshof-pbb-special__official-grid small {
    color: #ffd995 !important;
}

/* Exactly the same secondary callout treatment as the Sommerhaus master. */
.rshof-pbb-special__quiz-callout {
    background: linear-gradient(135deg, #142a35, #1f5661) !important;
}

.rshof-pbb-special__quiz-callout .rshof-eyebrow {
    color: #f2c56b !important;
}

.rshof-pbb-special__quiz-callout .rshof-button--primary {
    border-color: #d8751e !important;
    background: #d8751e !important;
    color: #fff !important;
}

.rshof-pbb-special__actions a {
    background: #17313c !important;
}

.rshof-pbb-special__actions a:hover,
.rshof-pbb-special__actions a:focus-visible {
    background: #d8751e !important;
}

.rshof-pbb-special__sources {
    border-left-color: #d8751e !important;
    background: #faf4e9 !important;
    color: #59666b !important;
}

.rshof-pbb-chat {
    border-color: transparent !important;
    background: #152a34 !important;
}

.rshof-pbb-chat > header p,
.rshof-pbb-chat__login p {
    color: rgba(255, 255, 255, .75) !important;
}

.rshof-pbb-chat__badge,
.rshof-pbb-chat__avatar,
.rshof-pbb-chat__form button,
.rshof-pbb-chat__login a {
    background: #d8751e !important;
    color: #fff !important;
}

.rshof-pbb-chat__form textarea {
    background: #fff !important;
    color: #17252e !important;
}

.rshof-pbb-chat__form [data-rshof-pbb-chat-status] {
    color: #ffd995 !important;
}

/* PBB eye green throughout the complete special, including the added
 * cast, voting and schedule modules. Keep dark ink on pale surfaces and
 * white text on dark green actions for readable small labels. */
.rshof-format-special--pbb {
    --rshof-special-red-deep: #09291f;
    --rshof-special-red: #155640;
    --rshof-special-red-bright: #2a8064;
    --rshof-special-accent: #17664f;
    --rshof-special-gold: #bce9d0;
    --rshof-special-paper: #f2faf5;
    --rshof-special-line: #c9dfd1;
    --rshof-special-ink: #17342c;
    --pbb-ink: #17342c;
    --pbb-muted: #4e665c;
    --pbb-gold: #c9e9d4;
    color: #17342c;
}
.rshof-format-special--pbb .rshof-pbb-special__hero {
    background: radial-gradient(circle at 83% 18%, rgba(91, 190, 147, .32), transparent 32%),
        linear-gradient(135deg, #09291f, #155640 55%, #2a8064) !important;
    box-shadow: 0 30px 70px rgba(7, 53, 39, .28) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__hero::before {
    background: linear-gradient(120deg, transparent 35%, rgba(201, 233, 212, .13)) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__brand,
.rshof-format-special--pbb .rshof-pbb-special__status {
    border-color: rgba(201, 233, 212, .44) !important;
    background: rgba(4, 35, 26, .65) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__status[data-running] {
    background: linear-gradient(145deg, #0b372a, #17664f) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__status small,
.rshof-format-special--pbb .rshof-pbb-special__quiz-callout .rshof-eyebrow,
.rshof-format-special--pbb .rshof-pbb-chat__form [data-rshof-pbb-chat-status] {
    color: #c9e9d4 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__chips span {
    border-color: rgba(201, 233, 212, .4) !important;
    background: rgba(4, 35, 26, .42) !important;
    color: #fff !important;
}
.rshof-format-special--pbb .rshof-pbb-special__gallery-button {
    border-color: #d6f3dc !important;
    background: #c9e9d4 !important;
    color: #09291f !important;
}
.rshof-format-special--pbb .rshof-pbb-special__gallery-button:hover,
.rshof-format-special--pbb .rshof-pbb-special__gallery-button:focus-visible {
    background: #e4f8e9 !important;
    color: #09291f !important;
}
.rshof-format-special--pbb .rshof-pbb-special__section,
.rshof-format-special--pbb .rshof-pbb-special__press-grid figure,
.rshof-format-special--pbb .rshof-pbb-special__cast-card {
    border-color: #bbd9c7 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__section::before,
.rshof-format-special--pbb .rshof-pbb-special__section .rshof-eyebrow,
.rshof-format-special--pbb .rshof-pbb-special__facts small,
.rshof-format-special--pbb .rshof-pbb-special__info-grid small,
.rshof-format-special--pbb .rshof-pbb-special__cast-card > span,
.rshof-format-special--pbb .rshof-pbb-special__timeline-grid span,
.rshof-format-special--pbb .rshof-pbb-special__news time,
.rshof-format-special--pbb .rshof-pbb-special__news span {
    color: #195b46 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__section::before { opacity: 1; }
.rshof-format-special--pbb .rshof-pbb-special__facts article,
.rshof-format-special--pbb .rshof-pbb-special__info-grid article,
.rshof-format-special--pbb .rshof-pbb-special__timeline-grid article,
.rshof-format-special--pbb .rshof-pbb-special__news a {
    border-color: #c9dfd1 !important;
    background: linear-gradient(180deg, #fff, #f2faf5) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__timeline-grid article.is-done {
    border-color: #87b49a !important;
    background: #e5f4e9 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card {
    background: #f7fbf7 !important;
}
.rshof-format-special--pbb .rshof-pbb-cast__identity {
    background: linear-gradient(135deg, #f2faf5, #d9eee0) !important;
}
.rshof-format-special--pbb .rshof-pbb-cast__identity h3,
.rshof-format-special--pbb .rshof-pbb-cast__rank,
.rshof-format-special--pbb .rshof-pbb-vote__candidate strong,
.rshof-format-special--pbb .rshof-pbb-program__list time span,
.rshof-format-special--pbb .rshof-pbb-program__list div strong {
    color: #17342c !important;
}
.rshof-format-special--pbb .rshof-pbb-cast__confirmed,
.rshof-format-special--pbb .rshof-pbb-vote__status,
.rshof-format-special--pbb .rshof-pbb-program__list time strong {
    color: #195b46 !important;
}
.rshof-format-special--pbb .rshof-pbb-cast__portrait { border-color: #328a6e !important; }
.rshof-format-special--pbb .rshof-pbb-cast__button,
.rshof-format-special--pbb .rshof-pbb-special__official-grid a,
.rshof-format-special--pbb .rshof-pbb-special__actions a,
.rshof-format-special--pbb .rshof-pbb-vote__footer button,
.rshof-format-special--pbb .rshof-pbb-program__actions a {
    border-color: #155640 !important;
    background: linear-gradient(135deg, #09291f, #155640 60%, #17664f) !important;
    color: #fff !important;
}
.rshof-format-special--pbb .rshof-pbb-cast__button:hover,
.rshof-format-special--pbb .rshof-pbb-special__actions a:hover,
.rshof-format-special--pbb .rshof-pbb-special__actions a:focus-visible {
    background: #17664f !important;
}
.rshof-format-special--pbb .rshof-pbb-special__official-grid a::before,
.rshof-format-special--pbb .rshof-pbb-special__official-grid small {
    color: #d6f3dc !important;
}
.rshof-format-special--pbb .rshof-pbb-special__press-grid figcaption,
.rshof-format-special--pbb .rshof-pbb-special__quiz-callout,
.rshof-format-special--pbb .rshof-pbb-quicklinks {
    border-color: #328a6e !important;
    background: linear-gradient(135deg, #09291f, #155640 58%, #17664f) !important;
    color: #fff !important;
}
.rshof-format-special--pbb .rshof-pbb-special__press-grid figcaption small,
.rshof-format-special--pbb .rshof-pbb-quicklinks strong {
    color: #d6f3dc !important;
}
.rshof-format-special--pbb .rshof-pbb-quicklinks a {
    border-color: rgba(214, 243, 220, .55) !important;
    color: #fff !important;
}
.rshof-format-special--pbb .rshof-pbb-quicklinks a:hover,
.rshof-format-special--pbb .rshof-pbb-quicklinks a:focus-visible {
    background: #c9e9d4 !important;
    color: #09291f !important;
}
.rshof-format-special--pbb .rshof-pbb-special__quiz-callout .rshof-button--primary {
    border-color: #c9e9d4 !important;
    background: #c9e9d4 !important;
    color: #09291f !important;
}
.rshof-format-special--pbb .rshof-pbb-special__sources {
    border-left-color: #17664f !important;
    background: #eaf6ee !important;
    color: #405b50 !important;
}
.rshof-format-special--pbb .rshof-pbb-vote {
    background: radial-gradient(circle at 95% 0, rgba(109, 181, 132, .16), transparent 30%), #f7fbf7 !important;
}
.rshof-format-special--pbb .rshof-pbb-vote__candidate,
.rshof-format-special--pbb .rshof-pbb-program__list li {
    border-color: #c9dfd1 !important;
    background: #fff !important;
}
.rshof-format-special--pbb .rshof-pbb-vote__candidate:has(input:checked),
.rshof-format-special--pbb .rshof-pbb-program__list li.is-finale {
    border-color: #328a6e !important;
    background: #e5f4e9 !important;
}
.rshof-format-special--pbb .rshof-pbb-vote__candidate input { accent-color: #17664f; }
.rshof-format-special--pbb .rshof-pbb-vote__candidate small,
.rshof-format-special--pbb .rshof-pbb-vote__footer p,
.rshof-format-special--pbb .rshof-pbb-program__list div span,
.rshof-format-special--pbb .rshof-pbb-program__note { color: #4e665c !important; }
.rshof-format-special--pbb .rshof-pbb-program__list time { border-right-color: #c9dfd1; }
.rshof-format-special--pbb .rshof-pbb-chat {
    background: linear-gradient(145deg, #09291f, #155640) !important;
}
.rshof-format-special--pbb .rshof-pbb-chat__badge,
.rshof-format-special--pbb .rshof-pbb-chat__avatar,
.rshof-format-special--pbb .rshof-pbb-chat__form button,
.rshof-format-special--pbb .rshof-pbb-chat__login a {
    background: #17664f !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    .rshof-seasonal-card--sommerhaus,
    .rshof-seasonal-card--pbb,
    .rshof-seasonal-card--next,
    .rshof-seasonal-card--future {
        background-position: center !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rshof-seasonal-card,
    .rshof-format-special *,
    .rshof-format-special *::before,
    .rshof-format-special *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* PBB 2026: readable dark type on white and pale garden-green surfaces.
   The existing white-on-forest-green buttons, hero, gallery captions and chat
   remain unchanged. Colour overrides must follow the old high-specificity
   launch/season contract rules. */
.rshof-format-special--pbb .rshof-pbb-special__section > header p:not(.rshof-eyebrow),
.rshof-format-special--pbb .rshof-pbb-special__press-note,
.rshof-format-special--pbb .rshof-pbb-special__info-grid p,
.rshof-format-special--pbb .rshof-pbb-special__facts span,
.rshof-format-special--pbb .rshof-pbb-special__timeline-grid small,
.rshof-format-special--pbb .rshof-pbb-program__note {
    color: #254539 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__credit,
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__credit .rshof-image-credit,
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__credit a,
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__credit .rshof-image-credit a {
    color: #1d4738 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__credit a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__status,
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__rank {
    color: #254539 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__confirmed,
.rshof-format-special--pbb .rshof-pbb-special__info-grid small,
.rshof-format-special--pbb .rshof-pbb-special__facts small {
    color: #15543d !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__button,
.rshof-format-special--pbb .rshof-pbb-special__cast-card .rshof-pbb-cast__button span {
    color: #fff !important;
}

/* Rebalance the 2026 garden surface: light green rather than stark white. */
.rshof-format-special--pbb .rshof-pbb-special__facts article,
.rshof-format-special--pbb .rshof-pbb-special__info-grid article,
.rshof-format-special--pbb .rshof-pbb-special__timeline-grid article {
    background: linear-gradient(180deg, #f3faf5, #e8f4ec) !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card {
    background: #eff8f1 !important;
}
.rshof-format-special--pbb .rshof-pbb-special__cast-card.is-out {
    border-color: #90bba4 !important;
}
