/* Gratilog custom styles for xswatch5. */

/* =========================================
   Gratilog - Popups XOOPS en mode clair
   ========================================= */

html[data-theme="light"] body:has(form#pmform),
html[data-theme="light"] body:has(a[href*="viewpmsg.php"]) {
    color: #2c3e50;
}

/* Titres et liens */
html[data-theme="light"] body:has(form#pmform) a,
html[data-theme="light"] body:has(a[href*="viewpmsg.php"]) a {
    color: #345789;
}

html[data-theme="light"] body:has(form#pmform) a:hover,
html[data-theme="light"] body:has(a[href*="viewpmsg.php"]) a:hover {
    color: #243f68;
}

/* Titres */
html[data-theme="light"] body:has(form#pmform) h4,
html[data-theme="light"] body:has(a[href*="viewpmsg.php"]) h4 {
    color: #345789;
}

/* Boutons du formulaire */
html[data-theme="light"] body:has(form#pmform) input[type="submit"],
html[data-theme="light"] body:has(form#pmform) input[type="button"],
html[data-theme="light"] body:has(form#pmform) input[type="reset"] {
    background-color: #8b9dc6;
    border: 1px solid #7889af;
    color: #ffffff;
    border-radius: 4px;
    padding: 6px 12px;
}

/* Survol des boutons */
html[data-theme="light"] body:has(form#pmform) input[type="submit"]:hover,
html[data-theme="light"] body:has(form#pmform) input[type="button"]:hover,
html[data-theme="light"] body:has(form#pmform) input[type="reset"]:hover {
    background-color: #687da8;
    border-color: #687da8;
}


/* Keep the Gratilog logo readable on a pale blue navigation bar. */
.navbar.navbar-expand-lg.navbar-dark.bg-primary {
    --bs-navbar-padding-y: 0;
    --bs-navbar-color: #003399;
    --bs-navbar-hover-color: #003399;
    --bs-navbar-active-color: #003399;
    --bs-navbar-brand-color: #003399;
    --bs-navbar-brand-hover-color: #003399;
    --bs-navbar-toggler-border-color: rgba(0, 51, 153, .25);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,51,153,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    padding-top: 0;
    padding-bottom: 0;
    color: #003399;
    background: linear-gradient(180deg, #CCD6EB 0%, #DFE5F2 100%) !important;
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .navbar-brand.xlogo {
    padding: 0 1.25rem 0 0;
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .navbar-brand.xlogo img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(311px, 40vw);
    max-height: 98px;
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .dropdown-menu {
    color: #003399;
    background: linear-gradient(180deg, #CCD6EB 0%, #DFE5F2 100%);
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .dropdown-menu .dropdown-item {
    color: #003399;
    background-color: transparent;
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .dropdown-menu .dropdown-item:hover,
.navbar.navbar-expand-lg.navbar-dark.bg-primary .dropdown-menu .dropdown-item:focus {
    color: #003399;
    background-color: rgba(127, 153, 204, .22);
}

.navbar.navbar-expand-lg.navbar-dark.bg-primary .nav-link,
.navbar.navbar-expand-lg.navbar-dark.bg-primary .navbar-brand {
    text-shadow: none;
}

/* Gratilog page background and content columns in light mode. */
html[data-bs-theme="light"] body {
    background-color: #FFFFDB;
}

/* Shared title bars for Contact and RSS, with normal capitalization. */
body#xmcontact .breadcrumb,
body#rss .rss-directory > h1 {
    margin: 0 0 1.25rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    background-color: #7F99CC;
    color: #FFFFFF;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
}

body#xmcontact .breadcrumb .breadcrumb-item,
body#xmcontact .breadcrumb .breadcrumb-item.active,
body#xmcontact .breadcrumb .breadcrumb-item a {
    color: #FFFFFF;
}

html[data-bs-theme="light"] .maincontainer > .row > [class*="col-"] {
    background-color: #FFFFFF;
}

/* Match the main and user menu typography to the navbar link color. */
html[data-bs-theme="light"] .xoops-side-blocks .nav.flex-column > .nav-item > .nav-link,
html[data-bs-theme="light"] .xoops-side-blocks .usermenu .nav.flex-column > .nav-item > .nav-link {
    color: #003399;
}

html[data-bs-theme="light"] .xoops-side-blocks .mainmenu .nav-link,
html[data-bs-theme="light"] .xoops-side-blocks .usermenu .nav-link {
    display: block;
    margin-bottom: 1px;
    padding: .25rem .5rem;
    background-color: #FFFFFF;
    border-left: 8px solid #B2C1E0;
}

html[data-bs-theme="light"] .xoops-side-blocks .mainmenu .nav-link:hover,
html[data-bs-theme="light"] .xoops-side-blocks .mainmenu .nav-link:focus,
html[data-bs-theme="light"] .xoops-side-blocks .usermenu .nav-link:hover,
html[data-bs-theme="light"] .xoops-side-blocks .usermenu .nav-link:focus {
    background-color: #B2C1E0;
    border-left-color: #7F99CC;
}
html[data-bs-theme="light"] .xoops-side-blocks .nav.flex-column > .nav-item > .nav-link:hover,
html[data-bs-theme="light"] .xoops-side-blocks .nav.flex-column > .nav-item > .nav-link:focus {
    color: #003399;
}

html[data-bs-theme="light"] .xoops-side-blocks .online-block,
html[data-bs-theme="light"] .xoops-side-blocks .online-block a {
    color: #003399 !important;
}

html[data-bs-theme="light"] .xoops-side-blocks .online-block .text-info,
html[data-bs-theme="light"] .xoops-side-blocks .online-block .fa-magnifying-glass-plus,
html[data-bs-theme="light"] .xoops-side-blocks .online-block .online-member,
html[data-bs-theme="light"] .xoops-side-blocks .online-block a {
    color: #003399 !important;
}

/* Gratilog dark blue for action buttons across core and modules. */
:root {
    --bs-btn-bg: #7F99CC;
    --bs-btn-border-color: #7F99CC;
    --bs-btn-hover-bg: #6D87BA;
    --bs-btn-hover-border-color: #6D87BA;
    --bs-btn-active-bg: #617BAE;
    --bs-btn-active-border-color: #617BAE;
}

:is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"], .forum_icon.forum_button) {
    color: #FFFFFF !important;
    background-color: #7F99CC !important;
    border-color: #7F99CC !important;
}

:is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"], .forum_icon.forum_button):is(:hover, :focus-visible) {
    color: #FFFFFF !important;
    background-color: #6D87BA !important;
    border-color: #6D87BA !important;
}

:is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"], .forum_icon.forum_button):is(:active, .active) {
    color: #FFFFFF !important;
    background-color: #617BAE !important;
    border-color: #617BAE !important;
}

/* Keep destructive actions such as the trash button red. */
.btn-danger,
.btn-danger:hover,
.btn-danger:focus-visible {
    color: #FFFFFF !important;
    background-color: #DC3545 !important;
    border-color: #DC3545 !important;
}

.btn-danger:active,
.btn-danger.active {
    color: #FFFFFF !important;
    background-color: #BB2D3B !important;
    border-color: #B02A37 !important;
}

/* Some NewBB trash links are marked btn-primary instead of btn-danger. */
a.btn[href*="status=deleted"],
a.btn[href*="status=deleted"]:hover,
a.btn[href*="status=deleted"]:focus-visible {
    color: #FFFFFF !important;
    background-color: #DC3545 !important;
    border-color: #DC3545 !important;
}

a.btn[href*="status=deleted"]:active,
a.btn[href*="status=deleted"].active {
    color: #FFFFFF !important;
    background-color: #BB2D3B !important;
    border-color: #B02A37 !important;
}

:is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"]):disabled,
:is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"]).disabled {
    color: #FFFFFF !important;
    background-color: #7F99CC !important;
    border-color: #7F99CC !important;
    opacity: .6;
}


/* Gratilog block heading style */
html[data-bs-theme="light"] .xoops-side-blocks > aside > h4.block-title,
html[data-bs-theme="light"] .xoops-blocks > h4 {
    color: #003399;
    font-weight: 700;
}

/* White divider above the registration button in the login block.
   Target its rendered link because XOOPS may use the stored block template. */
.xoops-side-blocks .loginform a[href*="register.php"] {
    position: relative;
    display: block;
    margin-top: .4rem !important;
}

.xoops-side-blocks .loginform a[href*="register.php"]::before {
    position: absolute;
    top: -.35rem;
    right: 0;
    left: 0;
    height: 2px;
    background-color: #FFFFFF;
    content: "";
}

/* Main menu submenu links follow the Gratilog navbar blue. */
html[data-bs-theme="light"] .xoops-side-blocks .mainmenu ul a.dropdown,
html[data-bs-theme="light"] .xoops-side-blocks .mainmenu ul a.dropdown:visited,
html[data-bs-theme="light"] .xoops-side-blocks .mainmenu ul a.dropdown:hover,
html[data-bs-theme="light"] .xoops-side-blocks .mainmenu ul a.dropdown:focus {
    color: #003399;
}
/* Site-wide Gratilog link color */
html[data-bs-theme="light"] body a:not(.btn):not(.badge),
html[data-bs-theme="light"] body a:not(.btn):not(.badge):visited {
    color: #003399 !important;
}

html[data-bs-theme="light"] body a:not(.btn):not(.badge):hover,
html[data-bs-theme="light"] body a:not(.btn):not(.badge):focus {
    color: #6D87BA !important;
}
/* Profile page section titles and separated action links. */
html[data-bs-theme="light"] ul.profile-values > li.profile-category-title {
    color: #003399 !important;
    font-weight: 700;
}

html[data-bs-theme="light"] .profile-action-menu .btn {
    border-radius: 0;
}

html[data-bs-theme="light"] .profile-action-menu .btn + .btn {
    border-top: 2px solid #FFFFFF !important;
}

/* Keep every action in the Connexion block in the site's blue-gray palette.
   Clear Bootswatch gradients so the selected variant cannot tint individual buttons. */
.xoops-side-blocks .loginform input[type="submit"],
.xoops-side-blocks .loginform a[href*="user.php#lost"],
.xoops-side-blocks .loginform a[href*="register.php"] {
    color: #FFFFFF !important;
    background: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
}

.xoops-side-blocks .loginform input[type="submit"]:hover,
.xoops-side-blocks .loginform a[href*="user.php#lost"]:hover,
.xoops-side-blocks .loginform a[href*="register.php"]:hover {
    color: #FFFFFF !important;
    background: #6D87BA !important;
    background-image: none !important;
    border-color: #6D87BA !important;
}


/* NewBB: Reply and Quote are blue; New topic and Back to top stay green. */
body#newbb #t_reply,
body#newbb #p_reply,
body#newbb #p_quote,
body#newbb input[name="quote"] {
    color: #FFFFFF !important;
    background: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
}

body#newbb #t_reply:hover,
body#newbb #p_reply:hover,
body#newbb #p_quote:hover,
body#newbb input[name="quote"]:hover {
    color: #FFFFFF !important;
    background: #6D87BA !important;
    background-image: none !important;
    border-color: #6D87BA !important;
}

body#newbb #t_new,
body#newbb #p_new,
body#newbb #up {
    color: #FFFFFF !important;
    background: #00C300 !important;
    background-image: none !important;
    border-color: #00C300 !important;
}

/* Remove Bootswatch gradients from all NewBB controls; button colors are set above. */
body#newbb :is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"], .forum_icon.forum_button),
body#newbb :is(.btn:not(.btn-secondary), .formButton, button:not(.navbar-toggler):not(.btn-secondary), input[type="button"], input[type="submit"], input[type="reset"], .forum_icon.forum_button):is(:hover, :focus-visible, :active, .active) {
    background-image: none !important;
}

/* Preserve the green New topic action and give the thread's Back to top link a green button style. */
body#newbb a[title="Nouveau sujet"],
body#newbb a[href*="#threadtop"] {
    display: inline-block;
    padding: .375rem .75rem;
    border: 1px solid #00C300 !important;
    border-radius: .25rem;
    color: #FFFFFF !important;
    background: #00C300 !important;
    background-image: none !important;
}

body#newbb a[title="Nouveau sujet"]:hover,
body#newbb a[href*="#threadtop"]:hover {
    color: #FFFFFF !important;
    background: #00A800 !important;
    background-image: none !important;
    border-color: #00A800 !important;
}

/* Reply links are blue even when NewBB renders their icon inside an anchor. */
body#newbb a[href*="reply.php"],
body#newbb a[href*="reply.php"] .forum_icon.forum_button {
    color: #FFFFFF !important;
    background: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
}

/* Use the Qui est en ligne green for NewBB's green actions, including Quick reply. */
body#newbb a[title="Nouveau sujet"],
body#newbb a[href*="#threadtop"],
body#newbb #t_new,
body#newbb #p_new,
body#newbb #up,
body#newbb #qr :is(.btn, .formButton, button, input[type="button"], input[type="submit"], input[type="reset"]) {
    color: #FFFFFF !important;
    background: #73A839 !important;
    background-image: none !important;
    border-color: #73A839 !important;
}

body#newbb a[title="Nouveau sujet"]:hover,
body#newbb a[href*="#threadtop"]:hover,
body#newbb #qr :is(.btn, .formButton, button, input[type="button"], input[type="submit"], input[type="reset"]):hover {
    color: #FFFFFF !important;
    background: #628F2F !important;
    background-image: none !important;
    border-color: #628F2F !important;
}

/* The Quick reply toggle is a separate link above the #qr form. */
body#newbb a[onclick*="ToggleBlockCategory('qr'"] {
    display: inline-block;
    padding: .375rem .75rem;
    border: 1px solid #73A839 !important;
    border-radius: .25rem;
    color: #FFFFFF !important;
    background: #73A839 !important;
    background-image: none !important;
}

body#newbb a[onclick*="ToggleBlockCategory('qr'"] .forum_icon,
body#newbb a[onclick*="ToggleBlockCategory('qr'"] .forum_button {
    color: #FFFFFF !important;
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
}

/* Match forum titles such as the forum name to the dark blue heading color. */
body#newbb .newbb > h3,
body#newbb .newbb h3 {
    color: #003399 !important;
}

/* Match the active notification heading to the forum's dark blue headings. */
body#newbb form[name="notification_select"] > h4 {
    color: #003399 !important;
}

/* The xswatch5 topic template uses a Bootstrap btn-info link for Quick Reply. */
body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"],
body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"]:hover,
body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"]:focus-visible,
body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"]:active {
    color: #FFFFFF !important;
    background: #73A839 !important;
    background-image: none !important;
    border-color: #73A839 !important;
}

body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"]:hover,
body#newbb a.btn[href="#quickReply"][data-bs-toggle="collapse"]:focus-visible {
    background-color: #628F2F !important;
    border-color: #628F2F !important;
}
/* NewBB renders the Quick reply toggle icon with one of these IDs. */
body#newbb #t_qr,
body#newbb #t_qr_expand,
body#newbb #qr input[name="quick_submit"] {
    color: #FFFFFF !important;
    background: #73A839 !important;
    background-image: none !important;
    border-color: #73A839 !important;
}

/* Legal notice page and its footer link. */
.legal-notice > h1 {
    margin: 0 0 1.25rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    background-color: #7F99CC;
    color: #FFFFFF;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.2;
}

.legal-notice > h2 {
    margin-top: 1.5rem;
    color: #003399;
    font-size: 1.25rem;
    font-weight: 600;
}

.footer-legal {
    margin: .35rem 0;
    font-size: .9rem;
}

.footer-legal a {
    color: #003399;
}
/* Compact two-column footer using the navbar colors. */
footer.footer.site-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .4rem 1rem;
    background: linear-gradient(180deg, #CCD6EB 0%, #DFE5F2 100%);
    color: #003399;
    font-size: .875rem;
    line-height: 1.35;
}

.footer-legal-group {
    flex: 1 1 auto;
    text-align: center;
}

.footer-declaration,
.footer-legal {
    margin: 0;
}

.footer-legal a,
.footer-powered a {
    color: #003399;
}

.footer-powered {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .35rem;
    margin: 0;
    white-space: nowrap;
}

.footer-powered a {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-weight: 600;
}

.footer-powered img {
    width: 22px;
    height: 22px;
}

footer.footer.site-footer a:hover,
footer.footer.site-footer a:focus-visible {
    color: #003399;
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    footer.footer.site-footer {
        flex-direction: column;
        gap: .5rem;
    }
}
/* Center the XOOPS attribution inside the right footer column. */
footer.footer.site-footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
}

.footer-powered {
    justify-self: center;
}

@media (max-width: 575.98px) {
    footer.footer.site-footer {
        grid-template-columns: 1fr;
    }
}
.footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.footer-social-link {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: .15rem;
    color: #FFFFFF !important;
    font-size: 1.2rem;
    line-height: 1;
    text-decoration: none;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
    color: #FFFFFF !important;
    text-decoration: none !important;
    filter: brightness(.9);
}

.footer-social-rss {
    background-color: #F58220;
}

.footer-social-x {
    width: auto;
    min-width: 96px;
    height: 36px;
    padding: 0 .75rem;
    gap: .45rem;
    border-radius: .375rem;
    background-color: #003399;
    font-size: 1rem;
    font-weight: 600;
}
/* Keep social link labels and glyphs white in every state. */
footer.footer.site-footer .footer-social-link,
footer.footer.site-footer .footer-social-link:hover,
footer.footer.site-footer .footer-social-link:focus-visible,
footer.footer.site-footer .footer-social-link span {
    color: #FFFFFF !important;
}
/* Alternate the recent forum topic rows with Gratilog's even/odd blues. */
.newbb-recent-topic-block > .even {
    background-color: #E5EAF5 !important;
}

.newbb-recent-topic-block > .odd {
    background-color: #F0F3F9 !important;
}
/* Alternating rows for the homepage recent content blocks. */
.newbb-recent-topic-block > .even,
.home-recent-content .even {
    background-color: #E5EAF5 !important;
}

.newbb-recent-topic-block > .odd,
.home-recent-content .odd {
    background-color: #F0F3F9 !important;
}

/* Alternate data rows in the homepage recent forum and comment tables. */
.home-forum-news table tr:nth-child(even),
.home-recent-comments table tr:nth-child(even) {
    background-color: #E5EAF5 !important;
}

.home-forum-news table tr:nth-child(odd):not(:first-child),
.home-recent-comments table tr:nth-child(odd):not(:first-child) {
    background-color: #F0F3F9 !important;
}

/* Match XOOPS even/odd row classes in the rendered recent blocks. */
.home-forum-news tr.even, .home-recent-comments tr.even { background-color: #E5EAF5 !important; }
.home-forum-news tr.odd, .home-recent-comments tr.odd { background-color: #F0F3F9 !important; }

.home-forum-news table tr:nth-child(n+2):nth-child(even) { background-color: #E5EAF5 !important; }
.home-forum-news table tr:nth-child(n+2):nth-child(odd) { background-color: #F0F3F9 !important; }

/* Force the alternating colors onto cells so table cell styles cannot hide them. */
.home-forum-news table tr:nth-child(n+2):nth-child(even) > td,
.home-recent-comments tr.even > td { background-color: #E5EAF5 !important; }
.home-forum-news table tr:nth-child(n+2):nth-child(odd) > td,
.home-recent-comments tr.odd > td { background-color: #F0F3F9 !important; }
.home-recent-comments tr:nth-child(odd) > td { background-color: #E5EAF5 !important; }
.home-recent-comments tr:nth-child(even) > td { background-color: #F0F3F9 !important; }
.home-forum-news table tr:nth-child(n+2):nth-child(2n) > td { background-color: #E5EAF5 !important; }
.home-forum-news table tr:nth-child(n+2):nth-child(2n+1) > td { background-color: #F0F3F9 !important; }

/* Tighten the top panel on the NewBB forum homepage. */
body#newbb .newbb-header {
    padding-top: 1.5rem !important;
    padding-bottom: 1.25rem !important;
    margin-bottom: 1rem !important;
}

/* Use the site's dark blue for the poll list heading. */
body#xoopspoll h3,
body#xoopspoll h2:has(+ table.width100.outer.marg2) {
    color: #003399 !important;
}

/* Keep the forum welcome title aligned with the shared H3 heading size. */
body#newbb .forum_title h3 {
    font-size: 1.75rem;
}


/* Style the FAQ landing page introduction heading. */
body#smartfaq .smartfaq-page-title {
    color: #003399 !important;
    font-weight: 400 !important;
}


/* Give software download details clearer, subtle section boundaries. */
table.download-detail {
    border: 1px solid #B2C1E0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
table.download-detail > tbody > tr > td {
    padding: 0.65rem 0.8rem;
}
table.download-detail > tbody > tr + tr > td {
    border-top: 1px solid #D7DEEA;
}
table.download-detail > tbody > tr:first-child > td {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
table.download-detail > tbody > tr:nth-child(4) > td {
    background-color: #F0F3F9 !important;
}
table.download-detail > tbody > tr:last-child > td {
    background-color: #E5EAF5 !important;
}


/* Match the MyDownloads comment controls to the site's blue buttons. */
.mydownloads-comments-area .btn-primary,
.mydownloads-comments-area .btn-secondary,
.mydownloads-comments-area input[type='submit'],
.mydownloads-comments-area input[type='button'] {
    background-color: #7F99CC !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
.mydownloads-comments-area .btn-primary:hover,
.mydownloads-comments-area .btn-secondary:hover,
.mydownloads-comments-area input[type='submit']:hover,
.mydownloads-comments-area input[type='button']:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}
.mydownloads-comments-area .commentform legend,
.mydownloads-comments-area .commentform h1,
.mydownloads-comments-area .commentform h2,
.mydownloads-comments-area .commentform h3,
.mydownloads-comments-area .commentform h4 {
    color: #003399 !important;
    font-weight: 400 !important;
}


/* Use the forum blue for the MyDownloads comment controls. */
body#mydownloads .mydownloads-comments-area button[data-bs-target='#commentOptionModalLong'],
body#mydownloads .mydownloads-comments-area #com_post,
body#mydownloads .mydownloads-comments-area #com_dopost {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
body#mydownloads .mydownloads-comments-area button[data-bs-target='#commentOptionModalLong']:hover,
body#mydownloads .mydownloads-comments-area #com_post:hover,
body#mydownloads .mydownloads-comments-area #com_dopost:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}
body#mydownloads .mydownloads-notifications-title {
    color: #003399 !important;
}


/* Match software detail comments to the blue listing cards. */
body#mydownloads .mydownloads-comments-area .xoops-comment-template {
    margin: 0 0 22px;
    overflow: hidden;
    border: 1px solid #B2C1E0;
    border-radius: 4px;
    background-color: #F0F3F9;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-template > .row {
    margin: 0;
    padding: 10px;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-template > .row > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-template small.text-muted {
    color: #003399 !important;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-author {
    align-self: stretch;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border-right: 1px solid #B2C1E0;
    background-color: #E5EAF5;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-author a {
    color: #003399;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-text h4 {
    margin: 0 -10px 10px;
    padding: 8px 10px;
    background-color: #8B9DC6;
    color: #FFFFFF !important;
    font-size: 1.15rem;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-text p.message-text {
    border: 1px solid #D7DEEA;
    background-color: #FFFFFF;
    color: #24364B;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-text p.message-text:after {
    display: none;
}
body#mydownloads .mydownloads-comments-area .xoops-comment-template .alignright {
    padding-top: 8px;
    border-top: 1px solid #D7DEEA;
}


/* Match MyLinks comments to the software detail comment cards. */
body#mylinks .mylinks-comments-area .xoops-comment-template {
    margin: 0 0 22px;
    overflow: hidden;
    border: 1px solid #B2C1E0;
    border-radius: 4px;
    background-color: #F0F3F9;
}
body#mylinks .mylinks-comments-area .xoops-comment-template > .row {
    margin: 0;
    padding: 10px;
}
body#mylinks .mylinks-comments-area .xoops-comment-template > .row > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
}
body#mylinks .mylinks-comments-area .xoops-comment-template small.text-muted {
    color: #003399 !important;
}
body#mylinks .mylinks-comments-area .xoops-comment-author {
    align-self: stretch;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border-right: 1px solid #B2C1E0;
    background-color: #E5EAF5;
}
body#mylinks .mylinks-comments-area .xoops-comment-author a {
    color: #003399;
}
body#mylinks .mylinks-comments-area .xoops-comment-text h4 {
    margin: 0 -10px 10px;
    padding: 8px 10px;
    background-color: #8B9DC6;
    color: #FFFFFF !important;
    font-size: 1.15rem;
}
body#mylinks .mylinks-comments-area .xoops-comment-text p.message-text {
    border: 1px solid #D7DEEA;
    background-color: #FFFFFF;
    color: #24364B;
}
body#mylinks .mylinks-comments-area .xoops-comment-text p.message-text:after {
    display: none;
}
body#mylinks .mylinks-comments-area .xoops-comment-template .alignright {
    padding-top: 8px;
    border-top: 1px solid #D7DEEA;
}


/* Dark blue title inside the comment display options dialog. */
body#mydownloads .mydownloads-comments-area #commentOptionModalLong .modal-title,
body#mylinks .mylinks-comments-area #commentOptionModalLong .modal-title {
    color: #003399 !important;
}


/* Dark blue heading on the broken software report page. */
body#mydownloads h4:has(+ form[action='brokenfile.php']) {
    color: #003399 !important;
}


/* Online users popup: match the site's blue text, bands, and buttons. */
.online-popup-title {
    color: #003399 !important;
}
.online-popup-row {
    margin: 0 0 8px;
    padding: 8px 0;
    border: 1px solid #D7DEEA;
    color: #24364B !important;
}
.online-popup-row.alert-primary {
    background-color: #E5EAF5 !important;
}
.online-popup-row.alert-secondary {
    background-color: #F0F3F9 !important;
}
.online-popup-row h5,
.online-popup-row h6,
.online-popup-row a,
.online-popup-row .fa-solid {
    color: #003399 !important;
}
.online-popup-close {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.online-popup-close:hover,
.online-popup-close:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* Find users page: match the site's blue headings, tables, and controls. */
@media (max-width: 991.98px) {
    .xoops-side-blocks aside.mainmenu-block {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .maincontainer > .row > .xoops-side-blocks {
        display: contents;
    }
    .maincontainer > .row > .side-blocks-left > aside:not(.user-menu-block):not(.online-users-block) {
        order: 0;
    }
    .maincontainer > .row > .module-content-column {
        order: 1;
    }
    .maincontainer > .row > .xoops-side-blocks aside.user-menu-block,
    .maincontainer > .row > .xoops-side-blocks aside.online-users-block {
        order: 2;
        flex: 0 0 100%;
        width: 100%;
    }
    .maincontainer > .row > .side-blocks-right > aside:not(.user-menu-block):not(.online-users-block) {
        order: 3;
    }

    body#mydownloads form[action*="mydownloads/submit.php"] > table,
    body#mylinks form[action="submit.php"] > table {
        width: 100% !important;
        max-width: 100%;
        table-layout: fixed;
    }
    body#mydownloads form[action*="mydownloads/submit.php"] > table > tbody > tr,
    body#mylinks form[action="submit.php"] > table > tbody > tr {
        display: block;
        width: 100%;
    }
    body#mydownloads form[action*="mydownloads/submit.php"] > table > tbody > tr > td,
    body#mylinks form[action="submit.php"] > table > tbody > tr > td {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    body#mydownloads form[action*="mydownloads/submit.php"] input:not([type="hidden"]),
    body#mydownloads form[action*="mydownloads/submit.php"] select,
    body#mydownloads form[action*="mydownloads/submit.php"] textarea,
    body#mylinks form[action="submit.php"] input:not([type="hidden"]),
    body#mylinks form[action="submit.php"] select,
    body#mylinks form[action="submit.php"] textarea {
        max-width: 100% !important;
        box-sizing: border-box;
    }
    body#mydownloads form[action*="mydownloads/submit.php"] input[type="text"],
    body#mydownloads form[action*="mydownloads/submit.php"] textarea,
    body#mylinks form[action="submit.php"] input[type="text"],
    body#mylinks form[action="submit.php"] textarea {
        width: 100% !important;
    }
}

/* Recolor only the editor preview buttons on MyLinks and MyDownloads submit forms. */
body#mydownloads form[action*="mydownloads/submit.php"] button[onclick*="form_instantPreview"],
body#mylinks form[action="submit.php"] button[onclick*="form_instantPreview"] {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
body#mydownloads form[action*="mydownloads/submit.php"] button[onclick*="form_instantPreview"]:hover,
body#mydownloads form[action*="mydownloads/submit.php"] button[onclick*="form_instantPreview"]:focus,
body#mylinks form[action="submit.php"] button[onclick*="form_instantPreview"]:hover,
body#mylinks form[action="submit.php"] button[onclick*="form_instantPreview"]:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}

body.findusers-page {
    color: #24364B;
}
body.findusers-page h2,
body.findusers-page h3,
body.findusers-page h4 {
    color: #003399 !important;
}
body.findusers-page a {
    color: #003399;
}
body.findusers-page span[style*='color:#ff0000'] {
    color: #003399 !important;
}
body:has(#user_findform) h2,
body:has(#user_findform) h4,
body:has(#memberslist) h2,
body:has(#memberslist) h4 {
    color: #003399 !important;
}
body:has(#user_findform) a,
body:has(#memberslist) a {
    color: #003399;
}
body:has(#user_findform) #user_findform,
body:has(#memberslist) #memberslist {
    color: #24364B;
}
body:has(#user_findform) #user_findform input[type='text'],
body:has(#user_findform) #user_findform select,
body:has(#memberslist) #memberslist select {
    border: 1px solid #B2C1E0;
    border-radius: 4px;
    background-color: #FFFFFF;
    color: #24364B;
}
body:has(#user_findform) #user_findform input[type='radio'],
body:has(#user_findform) #user_findform input[type='checkbox'],
body:has(#memberslist) #memberslist input[type='radio'],
body:has(#memberslist) #memberslist input[type='checkbox'] {
    accent-color: #8B9DC6;
}
body:has(#user_findform) #user_findform input[type='submit'],
body:has(#user_findform) #user_findform input[type='button'],
body:has(#user_findform) #user_findform button,
body:has(#memberslist) #memberslist input[type='submit'],
body:has(#memberslist) #memberslist input[type='button'],
body:has(#memberslist) #memberslist button {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border: 1px solid #8B9DC6 !important;
    border-radius: 4px;
    color: #FFFFFF !important;
}
body:has(#user_findform) #user_findform input[type='submit']:hover,
body:has(#user_findform) #user_findform input[type='button']:hover,
body:has(#memberslist) #memberslist input[type='submit']:hover,
body:has(#memberslist) #memberslist input[type='button']:hover {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}
body:has(#memberslist) table.outer {
    border: 1px solid #B2C1E0;
    border-spacing: 0;
}
body:has(#memberslist) table.outer th {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
body:has(#memberslist) table.outer tr.even td,
body:has(#memberslist) table.outer tr.foot td {
    background-color: #E5EAF5 !important;
    border-color: #D7DEEA !important;
    color: #24364B;
}
body:has(#memberslist) table.outer tr.odd td {
    background-color: #F0F3F9 !important;
    border-color: #D7DEEA !important;
    color: #24364B;
}


/* Dark blue for the latest downloads section heading. */
body#mydownloads .mydownloads-latest-listings-title {
    color: #003399 !important;
}


/* Dark blue for the latest links section heading. */
body#mylinks .mylinks-latest-listings-title {
    color: #003399 !important;
}


/* Match MyLinks detail panels to the MyDownloads card boundaries. */
table.mylinks-detail {
    border: 1px solid #B2C1E0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
table.mylinks-detail > tbody > tr > td {
    padding: 0.65rem 0.8rem;
}
table.mylinks-detail > tbody > tr + tr > td {
    border-top: 1px solid #D7DEEA;
}
table.mylinks-detail > tbody > tr:first-child > td {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
table.mylinks-detail > tbody > tr:nth-child(3) > td {
    background-color: #F0F3F9 !important;
}
table.mylinks-detail > tbody > tr:nth-child(4) > td {
    background-color: #E5EAF5 !important;
}
table.mylinks-detail > tbody > tr:last-child > td {
    background-color: #E5EAF5 !important;
}
body#mylinks .mylinks-notifications-title {
    color: #003399 !important;
}


/* Dark blue for the MyLinks modification request heading. */
body#mylinks .mylinks-requestmod-title {
    color: #003399 !important;
}


/* Dark blue for the link title on the MyLinks rating page. */
body#mylinks .mylinks-ratelink-title {
    color: #003399 !important;
}


/* MyLinks broken-link page branding and heading. */
body#mylinks .mylinks-brokenlink-title {
    color: #003399 !important;
}


/* Match MyLinks comment controls to the site's blue palette. */
body#mylinks .mylinks-comments-area button[data-bs-target='#commentOptionModalLong'],
body#mylinks .mylinks-comments-area #com_post,
body#mylinks .mylinks-comments-area #com_dopost {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
body#mylinks .mylinks-comments-area button[data-bs-target='#commentOptionModalLong']:hover,
body#mylinks .mylinks-comments-area #com_post:hover,
body#mylinks .mylinks-comments-area #com_dopost:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}
body#mylinks .mylinks-comments-area .commentform h3 {
    color: #003399 !important;
    font-weight: 400 !important;
}


/* Unify the blue text on the search results page. */
.xoops-search-results-page h1,
.xoops-search-results-page h2,
.xoops-search-results-page h3,
.xoops-search-results-page h4,
.xoops-search-results-page h5,
.xoops-search-results-page h6,
.xoops-search-results-page a {
    color: #003399 !important;
}
.xoops-search-results-page a:hover {
    color: #003399 !important;
}


/* Lighter blue bands for module headings in search results. */
.xoops-search-results-page .card-header {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.xoops-search-results-page .card-header h1,
.xoops-search-results-page .card-header h2,
.xoops-search-results-page .card-header h3,
.xoops-search-results-page .card-header h4,
.xoops-search-results-page .card-header h5,
.xoops-search-results-page .card-header h6,
.xoops-search-results-page .card-header a {
    color: #FFFFFF !important;
}


/* Match search form checkboxes to the site's dark blue. */
.xoops-search-results-page input[type='checkbox'] {
    accent-color: #003399;
}


/* Override Bootstrap's checked checkbox fill on the search form. */
.xoops-search-results-page .form-check-input:checked,
.xoops-search-results-page input[type='checkbox']:checked {
    background-color: #003399 !important;
    border-color: #003399 !important;
}
.xoops-search-results-page .form-check-input:focus {
    border-color: #003399 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 51, 153, 0.25) !important;
}


/* Match search checkboxes to the module bands and notification buttons. */
.xoops-search-results-page .form-check-input:checked,
.xoops-search-results-page input[type='checkbox']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
.xoops-search-results-page .form-check-input:focus {
    border-color: #8B9DC6 !important;
    box-shadow: 0 0 0 0.2rem rgba(139, 157, 198, 0.25) !important;
}


/* Delimit SmartFAQ questions and answers like MyDownloads detail panels. */
.smartfaq-entry {
    border: 1px solid #B2C1E0;
    margin-bottom: 1rem;
}
.smartfaq-question {
    background-color: #8B9DC6 !important;
    border-bottom: 1px solid #D7DEEA;
    color: #FFFFFF !important;
    padding: 0.65rem 0.8rem;
}
.smartfaq-question a,
.smartfaq-question a:hover {
    color: #FFFFFF !important;
}
.smartfaq-meta {
    background-color: #E5EAF5 !important;
    padding: 0.5rem 0.8rem;
}
.smartfaq-answer {
    background-color: #F0F3F9 !important;
    border-top: 1px solid #D7DEEA;
    padding: 0.8rem;
}
.smartfaq-entry-footer {
    background-color: #E5EAF5 !important;
    border-top: 1px solid #D7DEEA;
    padding: 0.5rem 0.8rem;
}


/* Delimit guestbook messages with the site's blue-gray palette. */
table.guestbook-entry {
    border: 1px solid #B2C1E0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
table.guestbook-entry th,
table.guestbook-entry td {
    padding: 0.65rem 0.8rem;
}
table.guestbook-entry tr + tr > th,
table.guestbook-entry tr + tr > td {
    border-top: 1px solid #D7DEEA;
}
table.guestbook-entry tr:first-child > th {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
table.guestbook-entry tr:first-child > th a,
table.guestbook-entry tr:first-child > th a:hover {
    color: #FFFFFF !important;
}
table.guestbook-entry tr:nth-child(2) > td {
    background-color: #E5EAF5 !important;
}
table.guestbook-entry tr:nth-child(3) > td {
    background-color: #F0F3F9 !important;
}
table.guestbook-entry tr:nth-child(4) > td {
    background-color: #E5EAF5 !important;
}


/* Style the guestbook signing title and only the form action buttons. */
table.guestbook-sign-form th.guestbook-sign-title {
    background-color: #FFFFFF !important;
    color: #003399 !important;
    text-align: left;
}
table.guestbook-sign-form th.guestbook-sign-title h3 {
    color: #003399 !important;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0;
}
table.guestbook-sign-form tr:last-child .btn,
table.guestbook-sign-form tr:last-child button,
table.guestbook-sign-form tr:last-child input[type='submit'],
table.guestbook-sign-form tr:last-child input[type='button'] {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
table.guestbook-sign-form tr:last-child .btn:hover,
table.guestbook-sign-form tr:last-child button:hover,
table.guestbook-sign-form tr:last-child input[type='submit']:hover,
table.guestbook-sign-form tr:last-child input[type='button']:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}
/* Recolor only the DHTML editor's preview button, leaving its toolbar untouched. */
table.guestbook-sign-form button[onclick^='form_instantPreview'] {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
table.guestbook-sign-form button[onclick^='form_instantPreview']:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}


/* Match the Contact form submit button to the site's blue buttons. */
.xmcontact-submit-button {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
.xmcontact-submit-button:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}


/* Match the poll results comment-options button to the site's blue buttons. */
body#xoopspoll button[data-bs-target='#commentOptionModalLong'] {
    background-color: #7F99CC !important;
    background-image: none !important;
    border-color: #7F99CC !important;
    color: #FFFFFF !important;
}
body#xoopspoll button[data-bs-target='#commentOptionModalLong']:hover {
    background-color: #003399 !important;
    border-color: #003399 !important;
    color: #FFFFFF !important;
}


/* Apply the blue-gray bands to poll result presentations. */
table.poll-results-table {
    border: 1px solid #B2C1E0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
table.poll-results-table th {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    padding: 0.65rem 0.8rem;
}
table.poll-results-table td {
    padding: 0.55rem 0.8rem;
}
table.poll-results-table tr + tr > td {
    border-top: 1px solid #D7DEEA;
}
table.poll-results-table tr:nth-child(2) > td,
table.poll-results-table tr:nth-child(3) > td {
    background-color: #E5EAF5 !important;
}
table.poll-results-table tr:nth-child(2n + 4) > td {
    background-color: #F0F3F9 !important;
}
table.poll-results-table tr:nth-child(2n + 5) > td {
    background-color: #E5EAF5 !important;
}
table.poll-results-table tr:last-child > td {
    background-color: #E5EAF5 !important;
}


/* Blue-gray ranking tables for downloads and links. */
table.mydownloads-ranking-table,
table.mylinks-ranking-table {
    border: 1px solid #B2C1E0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
table.mydownloads-ranking-table th,
table.mylinks-ranking-table th,
table.mydownloads-ranking-table tr:nth-child(2) > td.head,
table.mylinks-ranking-table tr:nth-child(2) > td.head {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    padding: 0.55rem 0.7rem;
}
table.mydownloads-ranking-table td,
table.mylinks-ranking-table td {
    padding: 0.5rem 0.7rem;
    border-top: 1px solid #D7DEEA;
}
table.mydownloads-ranking-table tr:nth-child(odd):nth-child(n + 3) > td,
table.mylinks-ranking-table tr:nth-child(odd):nth-child(n + 3) > td {
    background-color: #E5EAF5 !important;
}
table.mydownloads-ranking-table tr:nth-child(even):nth-child(n + 3) > td,
table.mylinks-ranking-table tr:nth-child(even):nth-child(n + 3) > td {
    background-color: #F0F3F9 !important;
}
table.mydownloads-ranking-table th a,
table.mylinks-ranking-table th a {
    color: #FFFFFF !important;
}


/* Lighter band for the ranking title row. */
table.mydownloads-ranking-table tr:first-child > th,
table.mylinks-ranking-table tr:first-child > th {
    background-color: #B2C1E0 !important;
    color: #003399 !important;
}
table.mydownloads-ranking-table tr:first-child > th a,
table.mylinks-ranking-table tr:first-child > th a {
    color: #003399 !important;
}


/* Keep the ranking title dark and apply #B2C1E0 to column headings. */
table.mydownloads-ranking-table tr:first-child > th,
table.mylinks-ranking-table tr:first-child > th {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
table.mydownloads-ranking-table tr:first-child > th a,
table.mylinks-ranking-table tr:first-child > th a {
    color: #FFFFFF !important;
}
table.mydownloads-ranking-table tr:nth-child(2) > td.head,
table.mylinks-ranking-table tr:nth-child(2) > td.head {
    background-color: #B2C1E0 !important;
    color: #003399 !important;
}


/* White text for ranking column labels. */
table.mydownloads-ranking-table tr:nth-child(2) > td.head,
table.mylinks-ranking-table tr:nth-child(2) > td.head {
    color: #FFFFFF !important;
}



/* NewBB homepage: category bands, column headings, and alternating forum rows. */
body#newbb .newbb-index-table {
    --bs-table-bg: transparent;
    border: 1px solid #B2C1E0;
}
body#newbb .newbb-index-table thead tr:first-child > th {
    background-color: #B2C1E0 !important;
    color: #003399 !important;
    border-color: #B2C1E0 !important;
}
body#newbb .newbb-index-table thead tr:first-child > th a {
    color: #003399 !important;
}
body#newbb .newbb-index-table thead tr:nth-child(2) > th {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    border-color: #8B9DC6 !important;
}
body#newbb .newbb-index-table tbody > tr:nth-child(odd) > td {
    background-color: #E5EAF5 !important;
}
body#newbb .newbb-index-table tbody > tr:nth-child(even) > td {
    background-color: #F0F3F9 !important;
}
body#newbb .newbb-index-table tbody > tr > td {
    border-color: #D7DEEA !important;
}


/* NewBB forum view: match the homepage category and topic table palette. */
body#newbb .newbb-viewforum-title {
    margin: 1rem 0;
    padding: 0.55rem 0.75rem;
    background-color: #B2C1E0;
    border: 1px solid #B2C1E0;
}
body#newbb .newbb-viewforum-title h3 {
    margin: 0 0 0.35rem;
    color: #003399;
}
body#newbb .newbb-viewforum-title a {
    color: #003399;
}
body#newbb .newbb-viewforum-table {
    --bs-table-bg: transparent;
    border: 1px solid #B2C1E0;
}
body#newbb .newbb-viewforum-table thead th {
    background-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    border-color: #8B9DC6 !important;
}
body#newbb .newbb-viewforum-table thead th a {
    color: #FFFFFF !important;
}
body#newbb .newbb-viewforum-table tbody > tr:nth-child(odd) > td {
    background-color: #E5EAF5 !important;
}
body#newbb .newbb-viewforum-table tbody > tr:nth-child(even) > td {
    background-color: #F0F3F9 !important;
}
body#newbb .newbb-viewforum-table tbody > tr > td {
    border-color: #D7DEEA !important;
}


/* Keep the forum heading in its original plain layout, with breathing room before topics. */
body#newbb .newbb-viewforum-title {
    margin: 1rem 0 1.25rem !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
body#newbb .newbb-viewforum-title h3 {
    margin: 0 0 0.4rem !important;
    color: #003399 !important;
}



/* NewBB topic display: blue title bars and pale blue post panels. */
body#newbb .newbb-viewtopic .newbb-thread {
    margin: 0 0 1.5rem;
    border: 1px solid #B2C1E0;
    background-color: #E5EAF5;
}
body#newbb .newbb-viewtopic .newbb-thread > .container {
    max-width: 100%;
    padding: 0.5rem;
}
body#newbb .newbb-viewtopic .newbb-user-data {
    background-color: #F0F3F9;
    border-right: 1px solid #B2C1E0;
    padding: 0.5rem;
}
body#newbb .newbb-viewtopic .newbb-message-area {
    background-color: #E5EAF5;
    padding: 0.5rem;
}
body#newbb .newbb-viewtopic .newbb-forum-title {
    margin: 0 0 0.75rem;
    padding: 0.45rem 0.6rem;
    background-color: #8B9DC6;
    color: #FFFFFF;
}
body#newbb .newbb-viewtopic .newbb-forum-title a {
    color: #FFFFFF;
}
body#newbb .newbb-viewtopic .newbb-links {
    margin: -1.5rem 0 1.5rem;
    padding: 0.35rem 0.5rem;
    background-color: #B2C1E0;
    border: 1px solid #B2C1E0;
}

body#newbb .newbb-viewtopic .newbb-forum-title,
body#newbb .newbb-viewtopic .newbb-forum-title strong,
body#newbb .newbb-viewtopic .newbb-forum-title a {
    color: #FFFFFF !important;
}

body#newbb .newbb-viewtopic .newbb-forum-title {
    font-size: 0.95rem;
}

body#newbb .newbb-viewtopic .newbb-forum-title {
    font-size: 0.85rem;
}

body#newbb .newbb-viewtopic .newbb-forum-title {
    font-size: 0.8rem;
}
@media (min-width: 576px) {
    body#newbb .newbb-viewtopic .newbb-user-data {
        flex: 0 0 20%;
        max-width: 20%;
    }
    body#newbb .newbb-viewtopic .newbb-message-area {
        flex: 0 0 80%;
        max-width: 80%;
    }
}
@media (max-width: 575.98px) {
    body#newbb .newbb-viewtopic .newbb-user-data,
    body#newbb .newbb-viewtopic .newbb-message-area {
        flex: 0 0 100%;
        max-width: 100%;
    }
    body#newbb .newbb-viewtopic .newbb-user-data {
        border-right: 0;
        border-bottom: 1px solid #B2C1E0;
    }
}

/* Match the author column to the message panel and remove the seam at its edges. */
body#newbb .newbb-viewtopic .newbb-user-data {
    background-color: #E5EAF5 !important;
    border: 0 !important;
}
@media (max-width: 575.98px) {
    body#newbb .newbb-viewtopic .newbb-user-data {
        border: 0 !important;
    }
}

/* Prevent the Bootstrap grid and action strip from covering NewBB post borders. */
body#newbb .newbb-viewtopic .newbb-thread {
    overflow: hidden;
}
body#newbb .newbb-viewtopic .newbb-thread > .container {
    padding: 0 !important;
}
body#newbb .newbb-viewtopic .newbb-thread > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body#newbb .newbb-viewtopic .newbb-links {
    margin: -1px 0 1.5rem !important;
    border-top: 0 !important;
}


/* Keep each NewBB avatar below the poster name. */
body#newbb .newbb-viewtopic .newbb-poster-name {
    display: block;
    margin-bottom: 0.35rem;
}
body#newbb .newbb-viewtopic .newbb-user-data > img {
    display: block;
    margin: 0.35rem auto;
}

/* Private-message inbox title and active inbox tab. */
.pm-page-title {
    color: #003399 !important;
}
.pm-inbox-active {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.pm-inbox-active:hover,
.pm-inbox-active:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}

/* Ensure the active inbox tab and its mail icon use the Gratilog forum blue. */
body .btn-group > .btn.pm-inbox-active,
body .btn-group > .btn.pm-inbox-active:hover,
body .btn-group > .btn.pm-inbox-active:focus {
    background: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
body .btn-group > .btn.pm-inbox-active .fa-inbox {
    color: #FFFFFF !important;
}
.pm-inbox-table .fa-envelope.text-primary {
    color: #8B9DC6 !important;
}


/* Match the active sent and saved mailbox tabs to the inbox tab. */
body .btn-group > .btn.pm-outbox-active,
body .btn-group > .btn.pm-outbox-active:hover,
body .btn-group > .btn.pm-outbox-active:focus,
body .btn-group > .btn.pm-savebox-active,
body .btn-group > .btn.pm-savebox-active:hover,
body .btn-group > .btn.pm-savebox-active:focus {
    background: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
body .btn-group > .btn.pm-outbox-active span,
body .btn-group > .btn.pm-savebox-active span {
    color: #FFFFFF !important;
}


/* Private-message reading page: current folder and selected mailbox use forum blue. */
body .pm-current-folder,
body .pm-current-folder:hover,
body .pm-current-folder:focus {
    background: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
body .pm-current-folder span {
    color: #FFFFFF !important;
}


/* Dark blue sender name and subject on the private-message reading page. */
.pm-message-author,
.pm-message-author a,
.pm-message-subject {
    color: #003399 !important;
}

/* Use the mailbox blue for both read and unread envelope markers. */
body .pm-messages-table .fa-envelope,
body .pm-messages-table .fa-envelope-open {
    color: #8B9DC6 !important;
}

/* Only recolor the preview control in the private-message composer; leave editor tools untouched. */
form#pmform button[onclick^='form_instantPreview'] {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
form#pmform button[onclick^='form_instantPreview']:hover,
form#pmform button[onclick^='form_instantPreview']:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* Profile page: forum-blue account actions and dark-blue recent-activity module names. */
.profile-action-menu input.btn.btn-primary {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.profile-action-menu input.btn.btn-primary:hover,
.profile-action-menu input.btn.btn-primary:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}
.profile-values .card-header h5 {
    color: #003399 !important;
}


/* Profile edit form: section headings, checkboxes, and preview button only. */
table#profile-form-userinfo td.head h3 {
    color: #003399 !important;
    background-color: #B2C1E0;
    padding: 0.45rem 0.6rem;
    margin: 0;
}
table#profile-form-userinfo input[type='checkbox'] {
    accent-color: #8B9DC6;
}
table#profile-form-userinfo input[type='checkbox']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
table#profile-form-userinfo button[onclick^='form_instantPreview'] {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
table#profile-form-userinfo button[onclick^='form_instantPreview']:hover,
table#profile-form-userinfo button[onclick^='form_instantPreview']:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* edituser renders the Profile form with id=userinfo; target that form directly. */
form#userinfo .xoops-form-element-caption h3,
form#userinfo .caption-text h3,
form#userinfo h3 {
    color: #003399 !important;
    background-color: #B2C1E0 !important;
    padding: 0.45rem 0.6rem !important;
    margin: 0 0 0.5rem !important;
}
form#userinfo input[type='checkbox'] {
    accent-color: #8B9DC6 !important;
}
form#userinfo input[type='checkbox']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#userinfo button[onclick*='form_instantPreview'] {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
form#userinfo button[onclick*='form_instantPreview']:hover,
form#userinfo button[onclick*='form_instantPreview']:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* edituser refinements: colored section text without a fill, blue checked boxes. */
form#userinfo .xoops-form-element-caption h3,
form#userinfo .caption-text h3,
form#userinfo h3 {
    color: #003399 !important;
    background: transparent !important;
    padding: 0 !important;
}
form#userinfo input.form-check-input[type='checkbox'] {
    accent-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#userinfo input.form-check-input[type='checkbox']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#userinfo input.form-check-input[type='checkbox']:focus {
    border-color: #7489B7 !important;
    box-shadow: 0 0 0 0.2rem rgba(139, 157, 198, 0.25) !important;
}


/* Match edituser radio controls to the forum blue. */
form#userinfo input.form-check-input[type='radio'] {
    accent-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#userinfo input.form-check-input[type='radio']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#userinfo input.form-check-input[type='radio']:focus {
    border-color: #7489B7 !important;
    box-shadow: 0 0 0 0.2rem rgba(139, 157, 198, 0.25) !important;
}


/* Active notifications list: apply the site blue palette throughout. */
.notification-list-title {
    color: #003399 !important;
}
.notification-list-table {
    border: 1px solid #B2C1E0;
}
.notification-list-table thead .notification-list-head > th {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.notification-list-table tbody .notification-list-module > th {
    background-color: #B2C1E0 !important;
    border-color: #B2C1E0 !important;
    color: #003399 !important;
}
.notification-list-table tbody > tr:not(.notification-list-module):nth-child(odd) > td {
    background-color: #E5EAF5 !important;
    border-color: #D7DEEA !important;
}
.notification-list-table tbody > tr:not(.notification-list-module):nth-child(even) > td {
    background-color: #F0F3F9 !important;
    border-color: #D7DEEA !important;
}
.notification-list-form input[type='checkbox'] {
    accent-color: #8B9DC6 !important;
}
.notification-list-actions .btn {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.notification-list-actions .btn:hover,
.notification-list-actions .btn:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* Correctly stripe notification rows and recolor all list actions. */
.notification-list-table tbody > tr.notification-list-entry.odd > td {
    background-color: #E5EAF5 !important;
    border-color: #D7DEEA !important;
}
.notification-list-table tbody > tr.notification-list-entry.even > td {
    background-color: #F0F3F9 !important;
    border-color: #D7DEEA !important;
}
.notification-list-form input.notification-list-action {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
.notification-list-form input.notification-list-action:hover,
.notification-list-form input.notification-list-action:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


/* Registration form: use the profile-form palette, leaving alerts unchanged. */
form#regform h3 {
    color: #003399 !important;
    background: transparent !important;
}
form#regform input.form-check-input[type='checkbox'],
form#regform input.form-check-input[type='radio'] {
    accent-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#regform input.form-check-input[type='checkbox']:checked,
form#regform input.form-check-input[type='radio']:checked {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
}
form#regform button[onclick*='form_instantPreview'] {
    background-color: #8B9DC6 !important;
    background-image: none !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}
form#regform button[onclick*='form_instantPreview']:hover,
form#regform button[onclick*='form_instantPreview']:focus {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}


.profile-register-finish {
    color: #003399 !important;
}


/* Improve the FAQ/category breadcrumb title size in both color modes. */
body#smartfaq .sf_headertable .sf_modulename,
body#smartfaq .sf_headertable .sf_breadcrumb {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
}

/* Confirmation PM : dimensions communes aux thèmes clair et sombre. */
body#pm input:is([name="confirm_submit"], [name="confirm_back"]) {
    display: inline-block;
    width: auto;
    margin: .25rem 0;
    padding: .375rem .75rem;
}

/* Couleurs des boutons de confirmation PM en thème clair. */
html[data-theme="light"] body#pm input:is([name="confirm_submit"], [name="confirm_back"]) {
    background-image: none !important;
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
}

html[data-theme="light"] body#pm input:is([name="confirm_submit"], [name="confirm_back"]):is(:hover, :focus-visible, :active) {
    background-image: none !important;
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
    color: #FFFFFF !important;
}
/* Encadré de confirmation PM : reprendre les tons des panneaux du forum. */
html[data-theme="light"] body#pm .alert.alert-primary:has(input[name="confirm_submit"]) {
    background-color: #E5EAF5;
    border-color: #B2C1E0;
    color: #003399;
}
/* Pagination PM : page active assortie aux boutons du module en mode clair. */
html[data-theme="light"] body#pm .pagination {
    --bs-pagination-active-bg: #8B9DC6;
    --bs-pagination-active-border-color: #8B9DC6;
    --bs-pagination-active-color: #FFFFFF;
}
html[data-theme="light"] body#pm .pagination .page-item.active > .page-link {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    background-image: none;
}
html[data-theme="light"] body#pm .pagination .page-item.active > .page-link:is(:hover, :focus-visible) {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
}
/* NewBB - Fonds alternés du bloc Sujets récents */
html[data-theme="light"] .gratilog-recent-topics tr.even > td {
    background-color: #e3e9f4;
}

html[data-theme="light"] .gratilog-recent-topics tr.odd > td {
    background-color: #f0f3f9;
}
/* NewBB - Hauteur des lignes du bloc Sujets récents */
.gratilog-recent-topics td {
    padding: 0.5rem;
    vertical-align: middle;
}
/* NewBB - Fonds alternés du bloc Réponses récentes */
html[data-theme="light"] .newbb-recent-topic-block > .even {
    background-color: #e3e9f4;
}

html[data-theme="light"] .newbb-recent-topic-block > .odd {
    background-color: #f0f3f9;
}
/* Bloc Réponses récentes */
html[data-theme="light"] .gratilog-recent-replies tr.even > td {
    background-color: #e3e9f4;
}

html[data-theme="light"] .gratilog-recent-replies tr.odd > td {
    background-color: #f0f3f9;
}

.gratilog-recent-replies td {
    padding: 0.5rem;
    vertical-align: middle;
}
/* Bloc Réponses récentes : largeur identique aux autres blocs */
.gratilog-recent-replies {
    width: 100%;
}
/* Hauteur de l'en-tête Les nouvelles du forum */
.gratilog-forum-news th.head {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}
/* Séparateurs entre les lignes des blocs récents */
.gratilog-recent-topics tbody tr + tr > td,
.gratilog-recent-replies tbody tr + tr > td {
    border-top: 1px solid rgba(128, 128, 128, 0.25);
}
/* Bloc Commentaires récents : séparateurs entre les lignes */
.home-recent-comments table.outer tbody tr + tr > td {
    border-top: 1px solid rgba(128, 128, 128, 0.25);
}
/* Bloc Sujets récents : largeur complète */
.gratilog-recent-topics {
    width: 100%;
}
/* SmartFAQ - Pagination en thème clair */
html[data-theme="light"] body#smartfaq .pagination {
    --bs-pagination-active-bg: #8B9DC6;
    --bs-pagination-active-border-color: #8B9DC6;
    --bs-pagination-active-color: #FFFFFF;
}

html[data-theme="light"] body#smartfaq .pagination .page-item.active > .page-link {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    background-image: none;
}

html[data-theme="light"] body#smartfaq .pagination .page-item.active > .page-link:hover {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
}
/* NewBB - Pagination en thème clair */
html[data-theme="light"] body#newbb .pagination {
    --bs-pagination-active-bg: #8B9DC6;
    --bs-pagination-active-border-color: #8B9DC6;
    --bs-pagination-active-color: #FFFFFF;
}

html[data-theme="light"] body#newbb .pagination .page-item.active > .page-link {
    background-color: #8B9DC6 !important;
    border-color: #8B9DC6 !important;
    color: #FFFFFF !important;
    background-image: none;
}

html[data-theme="light"] body#newbb .pagination .page-item.active > .page-link:hover {
    background-color: #7489B7 !important;
    border-color: #7489B7 !important;
}
/* RSS - Titres des sections en thème clair */
html[data-theme="light"] body#rss .rss-directory h2 {
    color: #003399 !important;
}
/* Page Promouvoir Gratilog - même titre que le module RSS */
.gratilog-page-title {
    margin: 0 0 1.25rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    background-color: #7F99CC;
    color: #FFFFFF;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
}