/**
 * 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;
}

/* Feestbanner op alle pagina’s verbergen */
html[data-sp-holiday] #sp-holiday-banner {
	display: none !important;
}

/* Lucid Lime finishing pass, 24 October 2026.
 * Match painted inner surfaces to rounded containers. Do not clip dropdowns,
 * change popup visibility, or alter the dimensions of forum rows.
 */
html[data-sp-holiday] body#phpbb .forabg > .inner > ul.topiclist.forums,
html[data-sp-holiday] body#phpbb .forumbg > .inner > ul.topiclist.topics,
html[data-sp-holiday] body#phpbb .forabg > .inner > ul.topiclist.forums > li.row:last-child,
html[data-sp-holiday] body#phpbb .forumbg > .inner > ul.topiclist.topics > li.row:last-child {
    border-radius: 0 0 6px 6px;
    background-clip: padding-box;
}

/* Cover the same custom statistics headings that receive holiday backgrounds. */
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 {
    border-radius: 7px 7px 0 0;
}

html[data-sp-holiday] body#phpbb .dropdown-extended .header {
    border-radius: 6px 6px 0 0;
}
html[data-sp-holiday] body#phpbb .dropdown-extended .footer {
    border-radius: 0 0 6px 6px;
}
html[data-sp-holiday] body#phpbb table.table1 thead tr:first-child th:first-child {
    border-top-left-radius: 6px;
}
html[data-sp-holiday] body#phpbb table.table1 thead tr:first-child th:last-child {
    border-top-right-radius: 6px;
}

/* Quick Login's h3 is a standalone title, not a full-width card header.
 * Beat the generic .panel h3 holiday rule without changing the extension.
 * Keep the compact plugin's responsive sizing, labels, controls and focus.
 */
html[data-sp-holiday] body#phpbb #quick-login-panel {
    --sp-ql-accent: var(--sp-holiday-accent);
    --sp-ql-accent-hover: var(--sp-holiday-bright);
    border-color: var(--sp-holiday-edge) !important;
}
html[data-sp-holiday] body#phpbb #quick-login-panel h3 {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--sp-holiday-bright) !important;
}

/* Flush category/topic cards: one outline, with the heading and rows reaching
 * the inner edge. Lucid's original 5px !important padding was leaving a second
 * frame around the heading. Exclude the standalone LiteChat and table layouts.
 */
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat),
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) {
    padding: 0 !important;
    border-radius: 12px;
    border: 1px solid var(--sp-holiday-edge) !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .20) !important;
}
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner {
    padding: 0;
    border-radius: 11px;
}
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner > ul.topiclist:first-child,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist:first-child {
    margin: 0;
    background: transparent !important;
    border-radius: 11px 11px 0 0;
}
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner > ul.topiclist:first-child > li.header,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist:first-child > li.header {
    margin: 0;
    padding: 4px 8px 2px;
    border-radius: 11px 11px 0 0;
    border-top: 0;
    border-bottom: 1px solid var(--sp-holiday-edge);
    box-shadow: none !important;
}
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner > ul.topiclist.forums,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist.topics,
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner > ul.topiclist.forums > li.row:last-child,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist.topics > li.row:last-child {
    border-radius: 0 0 11px 11px;
}
html[data-sp-holiday] body#phpbb .forabg:not(.stoker-chat) > .inner > ul.topiclist.forums > li.row:last-child,
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist.topics > li.row:last-child {
    border-bottom-color: transparent;
}

/* Some topic-grouping extensions insert a replacement header into the topics
 * list. Hide the now redundant standard header list as a whole, so its empty
 * padding/background cannot leave a narrow second strip above the real title.
 * Standard topic lists without a replacement header retain their own heading.
 */
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner:has(ul.topiclist.topics > li.header) > ul.topiclist:first-child:not(.topics) {
    display: none;
}
html[data-sp-holiday] body#phpbb .forumbg:not(.forumbg-table) > .inner > ul.topiclist.topics > li.header:first-child {
    margin: 0;
    padding: 4px 8px 2px;
    border-radius: 11px 11px 0 0;
    border-top: 0;
    border-bottom: 1px solid var(--sp-holiday-edge);
    box-shadow: none !important;
}
