/**
 * Spiderpiggy Holiday Themes: complete forum colour layer.
 * Copyright (c) 2026 Spiderpiggy. GPL-2.0-only.
 * Only active on phpBB pages with a holiday selected.
 */
html[data-sp-holiday] body#phpbb {
    --lucid-sp-line: var(--sp-holiday-edge);
    --lucid-sp-border: var(--sp-holiday-edge);
    --lucid-sp-accent: var(--sp-holiday-accent);
    --lucid-sp-accent-bright: var(--sp-holiday-bright);
    --lucid-sp-accent-soft: var(--sp-holiday-soft);
    --lucid-sp-secondary: var(--sp-holiday-secondary);
}

/* Index statistics, birthdays, who's online, permissions and extension panels. */
html[data-sp-holiday] body#phpbb .stat-block,
html[data-sp-holiday] body#phpbb .sp-stat-block,
html[data-sp-holiday] body#phpbb .sp-index-stat,
html[data-sp-holiday] body#phpbb .sp-who-is-online,
html[data-sp-holiday] body#phpbb .sp-birthdays,
html[data-sp-holiday] body#phpbb .sp-statistics,
html[data-sp-holiday] body#phpbb .sp-profile-hero,
html[data-sp-holiday] body#phpbb .sp-profile-card,
html[data-sp-holiday] body#phpbb .sp-memberlist-card,
html[data-sp-holiday] body#phpbb .panel {
    border-color: var(--sp-holiday-edge) !important;
    background: linear-gradient(125deg, var(--sp-holiday-panel), #1b1f27) !important;
    box-shadow: inset 0 1px 0 var(--sp-holiday-soft), 0 5px 18px rgba(0,0,0,.20) !important;
}
html[data-sp-holiday] body#phpbb .sp-index-stats {
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .stat-block h3,
html[data-sp-holiday] body#phpbb .online-list h3,
html[data-sp-holiday] body#phpbb .birthday-list h3,
html[data-sp-holiday] body#phpbb .statistics h3,
html[data-sp-holiday] body#phpbb .sp-index-stats h3,
html[data-sp-holiday] body#phpbb .sp-profile-card h3,
html[data-sp-holiday] body#phpbb .panel h3 {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-edge) !important;
    color: #fff7e9 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html[data-sp-holiday] body#phpbb .stat-block h3 .icon,
html[data-sp-holiday] body#phpbb .panel h3 .icon {
    color: var(--sp-holiday-bright) !important;
}
html[data-sp-holiday] body#phpbb .stat-block hr,
html[data-sp-holiday] body#phpbb .stat-block .sp-stat-separator {
    border-color: var(--sp-holiday-edge) !important;
}

/* Page titles and headings; member/group colours and post contents retain their own colours. */
html[data-sp-holiday] body#phpbb #page-body > h2,
html[data-sp-holiday] body#phpbb h2.forum-title,
html[data-sp-holiday] body#phpbb h2.topic-title,
html[data-sp-holiday] body#phpbb h2.forum-title > a,
html[data-sp-holiday] body#phpbb h2.topic-title > a,
html[data-sp-holiday] body#phpbb .memberlist-title,
html[data-sp-holiday] body#phpbb .sp-memberlist-heading h2,
html[data-sp-holiday] body#phpbb .sp-profile-header h2,
html[data-sp-holiday] body#phpbb .sp-cp-title,
html[data-sp-holiday] body#phpbb .panel > h2 {
    color: var(--sp-holiday-bright) !important;
}

/* Viewtopic, search result posts and private messages. Preserve moderation warnings. */
html[data-sp-holiday] body#phpbb .post:not(.reported):not(.deleted):not(.unapproved) {
    background: linear-gradient(115deg, var(--sp-holiday-panel), #1b1f27) !important;
    border-color: var(--sp-holiday-edge) !important;
    box-shadow: inset 3px 0 0 var(--sp-holiday-edge), 0 5px 18px rgba(0,0,0,.20) !important;
}
html[data-sp-holiday] body#phpbb .post.bg2:not(.reported):not(.deleted):not(.unapproved) {
    background: linear-gradient(115deg, var(--sp-holiday-panel), #131720) !important;
}
html[data-sp-holiday] body#phpbb .post.unreadpost:not(.reported):not(.deleted):not(.unapproved) {
    box-shadow: inset 4px 0 0 var(--sp-holiday-accent), 0 5px 18px rgba(0,0,0,.20) !important;
}
html[data-sp-holiday] body#phpbb .post:not(.reported):not(.deleted):not(.unapproved) .postbody > h3 {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .post:not(.reported):not(.deleted):not(.unapproved) .postbody > h3 > a {
    color: #fff7e9 !important;
}
html[data-sp-holiday] body#phpbb .postprofile,
html[data-sp-holiday] body#phpbb .post .author {
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .post:not(.reported):not(.deleted):not(.unapproved) .postprofile {
    background: linear-gradient(180deg, var(--sp-holiday-soft), transparent) !important;
}
html[data-sp-holiday] body#phpbb blockquote,
html[data-sp-holiday] body#phpbb .codebox,
html[data-sp-holiday] body#phpbb .attachbox,
html[data-sp-holiday] body#phpbb .polls {
    border-color: var(--sp-holiday-edge) !important;
}

/* Topic actions, pagination and the UCP/MCP tabs. Keep original sizes and behaviour. */
html[data-sp-holiday] body#phpbb .button,
html[data-sp-holiday] body#phpbb .button1,
html[data-sp-holiday] body#phpbb .button2,
html[data-sp-holiday] body#phpbb input.button1,
html[data-sp-holiday] body#phpbb input.button2 {
    background: linear-gradient(180deg, var(--sp-holiday-soft), var(--sp-holiday-panel)) !important;
    border-color: var(--sp-holiday-edge) !important;
    color: #f4f6f8 !important;
}
html[data-sp-holiday] body#phpbb .button:hover,
html[data-sp-holiday] body#phpbb .button1:hover,
html[data-sp-holiday] body#phpbb .button2:hover {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-accent) !important;
    color: #fff7e9 !important;
}
html[data-sp-holiday] body#phpbb .tabs > ul > li > a,
html[data-sp-holiday] body#phpbb .minitabs > ul > li > a,
html[data-sp-holiday] body#phpbb .pagination li > a,
html[data-sp-holiday] body#phpbb #navigation a {
    background: linear-gradient(180deg, var(--sp-holiday-soft), var(--sp-holiday-panel)) !important;
    border-color: var(--sp-holiday-edge) !important;
    color: var(--sp-holiday-bright) !important;
}
html[data-sp-holiday] body#phpbb .tabs > ul > li.activetab > a,
html[data-sp-holiday] body#phpbb .tabs > ul > li.activetab > a > span,
html[data-sp-holiday] body#phpbb .minitabs > ul > li.activetab > a,
html[data-sp-holiday] body#phpbb .pagination li.active > span,
html[data-sp-holiday] body#phpbb #navigation #active-subsection a {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-accent) !important;
    color: #fff7e9 !important;
}
html[data-sp-holiday] body#phpbb .inputbox,
html[data-sp-holiday] body#phpbb select {
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .inputbox:focus,
html[data-sp-holiday] body#phpbb select:focus {
    border-color: var(--sp-holiday-accent) !important;
    box-shadow: 0 0 0 2px var(--sp-holiday-soft) !important;
}
html[data-sp-holiday] body#phpbb table.table1 thead th {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-edge) !important;
    color: #fff7e9 !important;
}
html[data-sp-holiday] body#phpbb table.table1 tbody tr:hover {
    background-color: var(--sp-holiday-soft) !important;
}

/* Dropdowns and forum footer. Do not change notification visibility/animations. */
html[data-sp-holiday] body#phpbb .dropdown,
html[data-sp-holiday] body#phpbb .dropdown .dropdown-contents,
html[data-sp-holiday] body#phpbb .dropdown-extended,
html[data-sp-holiday] body#phpbb #notification_list .dropdown,
html[data-sp-holiday] body#phpbb #notification_list .dropdown-extended {
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .dropdown-extended .header,
html[data-sp-holiday] body#phpbb .dropdown-extended .footer {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    color: #fff7e9 !important;
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb .dropdown-extended li {
    border-color: var(--sp-holiday-soft) !important;
}
html[data-sp-holiday] body#phpbb #page-footer {
    background: linear-gradient(125deg, var(--sp-holiday-panel), #1b1f27) !important;
    border-color: var(--sp-holiday-edge) !important;
    box-shadow: inset 0 1px 0 var(--sp-holiday-soft), 0 5px 18px rgba(0,0,0,.20) !important;
}
html[data-sp-holiday] body#phpbb #page-footer > .navbar {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-color: var(--sp-holiday-edge) !important;
    box-shadow: none !important;
}

/* Rounded holiday headers (22 October 2026).
 * Paint the category gradient once, on the header itself. The parent list
 * previously painted a second square background underneath the rounded strip.
 * Avoid overflow:hidden on forum containers: dropdowns must remain usable.
 */
html[data-sp-holiday] body#phpbb .forabg > .inner > ul.topiclist:first-child,
html[data-sp-holiday] body#phpbb .forumbg > .inner > ul.topiclist:first-child {
    background: transparent !important;
    border-radius: 8px 8px 0 0;
}
html[data-sp-holiday] body#phpbb .forabg ul.topiclist > li.header,
html[data-sp-holiday] body#phpbb .forumbg ul.topiclist > li.header {
    border-radius: 8px 8px 0 0;
}

/* Inset extension titles need their own rounded edge and breathing room. */
html[data-sp-holiday] body#phpbb .panel h3 {
    border-radius: 8px;
    padding: 8px 12px;
    box-sizing: border-box;
}

/* Existing full-width card headers keep their margins and mobile padding. */
html[data-sp-holiday] body#phpbb .stat-block h3,
html[data-sp-holiday] body#phpbb .sp-profile-card h3 {
    border-radius: 7px 7px 0 0;
}
html[data-sp-holiday] body#phpbb .post:not(.reported):not(.deleted):not(.unapproved) .postbody > h3 {
    border-radius: 6px;
    padding: 6px 10px;
    box-sizing: border-box;
}
html[data-sp-holiday] body#phpbb #page-footer > .navbar {
    border-radius: 11px 11px 0 0;
}

/* Retain the raised decoration layer used above the chat and header banner. */
html[data-sp-holiday] body#phpbb #sp-holiday-decor {
    z-index: 99999;
}

/* Spiderpiggy Chat Widget: use the forum's active holiday and its schedule.
 * Variable mapping also themes avatars, emoji picker and the Fun menu.
 * Connection states, member colours, sizing and socket behaviour stay intact.
 */
html[data-sp-holiday] body#phpbb #sp-chatwidget {
    --sp-cw-bg: var(--sp-holiday-panel);
    --sp-cw-bar: var(--sp-holiday-bg);
    --sp-cw-text: #f2edf3;
    --sp-cw-muted: #c2bdc8;
    --sp-cw-line: var(--sp-holiday-edge);
    --sp-cw-accent: var(--sp-holiday-bright);
    border-color: var(--sp-holiday-edge) !important;
    background: linear-gradient(125deg, var(--sp-holiday-panel), #1b1f27) !important;
    box-shadow: inset 0 1px 0 var(--sp-holiday-soft), 0 0 18px var(--sp-holiday-soft);
}
html[data-sp-holiday] body#phpbb #sp-chatwidget .sp-chatwidget-header {
    background: linear-gradient(105deg, var(--sp-holiday-header), var(--sp-holiday-bg)) !important;
    border-radius: 11px 11px 0 0;
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb #sp-chatwidget .sp-chatwidget-header h3 {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sp-holiday-bright) !important;
    padding: 0;
}
html[data-sp-holiday] body#phpbb #sp-chatwidget .sp-chatwidget-header a {
    color: var(--sp-holiday-bright);
}
html[data-sp-holiday] body#phpbb #sp-chatwidget .sp-chatwidget-form {
    background: linear-gradient(105deg, var(--sp-holiday-bg), var(--sp-holiday-panel)) !important;
    border-color: var(--sp-holiday-edge) !important;
}
