/* Topic lists in a forum: homepage card colours, with compact typography. */
.section-viewforum .forumbg { padding: 0; background: transparent; margin-bottom: 16px; }
.section-viewforum .forumbg > .inner { padding: 0; border: 1px solid #e8edf3; border-radius: 13px; overflow: hidden; box-shadow: 0 3px 10px rgba(67,89,113,.10); }
.section-viewforum .forumbg ul.topiclist { margin: 0; padding: 0; }
.section-viewforum .forumbg li.header { margin: 0; padding: 16px 20px; background: #fafbfd; }
.section-viewforum .forumbg li.header dt,
.section-viewforum .forumbg li.header dd { color: #53647d; font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .02em; }
.section-viewforum .forumbg li.row { margin: 0; padding: 15px 20px; border-top: 1px solid #e8edf3; border-bottom: 0; background: #fff; }
.section-viewforum .forumbg li.row:hover { background: #fffafb; }
.section-viewforum .forumbg a.topictitle { color: #fc0000; font-size: 16px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.section-viewforum .forumbg a.topictitle:hover { text-decoration: underline; }
.section-viewforum .forumbg .topic-poster { font-size: 12px; font-weight: 400; color: #53647d; line-height: 1.5; }
.section-viewforum .forumbg dd.lastpost { font-size: 12px; color: #53647d; line-height: 1.5; }
.section-viewforum .forumbg li.row dd.posts,
.section-viewforum .forumbg li.row dd.views { color: #152532; font-size: 15px; font-weight: 600; }
.section-viewforum .forumbg li.row dd { border-left: 0; }
.section-viewforum .forumbg .pagination { margin-top: 6px; }
.section-viewforum .forumbg a:focus-visible { outline: 2px solid #fc0000; outline-offset: 3px; border-radius: 3px; }
@media (min-width: 701px) {
 .section-viewforum .forumbg dl.row-item { display: grid; grid-template-columns: minmax(0,1fr) 80px 90px 230px; align-items: center; gap: 16px; margin: 0; background-position: 8px center; }
 .section-viewforum .forumbg dl.row-item > dt,
 .section-viewforum .forumbg dl.row-item > dd { float: none; width: auto; min-width: 0; margin: 0; padding: 0; min-height: 0; }
 .section-viewforum .forumbg dl.row-item dt .list-inner { margin-right: 0; padding-left: 44px; overflow-wrap: anywhere; }
 .section-viewforum .forumbg li.header dt .list-inner { padding-left: 0; }
 .section-viewforum .forumbg dd.lastpost > span { padding-left: 0; }
 .section-viewforum .forumbg dd.posts,
 .section-viewforum .forumbg dd.views { text-align: center; }
}
@media (min-width: 701px) and (max-width: 1000px) {
 .section-viewforum .forumbg dl.row-item { grid-template-columns: minmax(0,1fr) 65px 70px 170px; gap: 10px; }
 .section-viewforum .forumbg li.row,
 .section-viewforum .forumbg li.header { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 700px) {
 .section-viewforum .forumbg li.row { padding: 12px 12px; }
 .section-viewforum .forumbg li.header { padding: 12px; }
 .section-viewforum .forumbg a.topictitle { font-size: 15px; }
 .section-viewforum .forumbg .responsive-show { color: #53647d; font-size: 12px; line-height: 1.5; }
}
/* Compact forum actions, matching the topic cards. */
:is(.section-viewforum,.section-viewtopic) .forum-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 14px; margin:14px 0 16px; background:#fff; border:1px solid #e8edf3; border-radius:9px; box-shadow:0 3px 10px rgba(67,89,113,.08); }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar::after { display:none; }
:is(.section-viewforum,.section-viewtopic) .forum-new-topic { display:inline-flex; align-items:center; justify-content:center; gap:7px; float:none; margin:0; padding:0 14px; height:36px; box-sizing:border-box; border:1px solid #fc0000; border-radius:5px; background:#fc0000; color:#fff; font-size:12px; font-weight:700; line-height:1; box-shadow:none; text-shadow:none; }
:is(.section-viewforum,.section-viewtopic) .forum-new-topic .icon { order:-1; color:inherit; }
:is(.section-viewforum,.section-viewtopic) .forum-new-topic:hover { background:#df0000; border-color:#df0000; color:#fff; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box { float:none; margin:0; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box fieldset { display:flex; align-items:center; gap:0; position:relative; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box .inputbox { width:285px; max-width:100%; height:36px; padding:0 12px 0 34px; box-sizing:border-box; border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; font-size:12px; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .button-search { position:absolute; left:1px; top:1px; width:32px; height:34px; padding:0; border:0; background:transparent; color:#6485ad; box-shadow:none; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .button-search-end { display:inline-flex; align-items:center; justify-content:center; margin-left:10px; padding:0; width:36px; height:36px; box-sizing:border-box; border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; box-shadow:none; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar > .pagination { display:flex; align-items:center; flex-wrap:wrap; gap:8px; float:none; margin:0 0 0 auto; color:#74849b; font-size:12px; line-height:1.5; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination > ul { display:flex; align-items:center; gap:4px; margin:0 0 0 8px; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination > ul > li { margin:0; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination > ul > li > a,
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination > ul > li > span { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; padding:0 6px; box-sizing:border-box; border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; font-size:12px; font-weight:600; box-shadow:none; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination > ul > li.active > span { background:#fc0000; border-color:#fc0000; color:#fff; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar .pagination .mark { color:#fc0000; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar a:focus-visible,
:is(.section-viewforum,.section-viewtopic) .forum-toolbar button:focus-visible { outline:2px solid #fc0000; outline-offset:2px; }
@media(max-width:700px) {
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar { gap:10px; padding:10px; }
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box { display:block; flex:1 1 210px; }
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box .inputbox { width:100%; min-width:0; }
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box form { width:100%; }
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar .search-box fieldset { min-width:0; }
 :is(.section-viewforum,.section-viewtopic) .forum-toolbar > .pagination { width:100%; margin-left:0; justify-content:flex-end; }
}
:is(.section-viewforum,.section-viewtopic) .forum-new-topic > span { display:inline; color:#fff !important; font-size:12px; }

/* Use the site's stitched primary action for both forum toolbars. */
:is(.section-viewforum,.section-viewtopic) .forum-new-topic.btn-stitched {
 --stitch:var(--color-primary-dark, #be0000);
 position:relative;
 background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,rgba(0,0,0,.06) 2px 4px),var(--color-primary,#fc0000);
 border:0;
 border-radius:0;
 padding:8px 15px;
 height:36px;
 text-transform:uppercase;
 box-shadow:0 .125rem .25rem rgba(0,0,0,.15);
}
:is(.section-viewforum,.section-viewtopic) .forum-new-topic.btn-stitched:hover { filter:brightness(1.08); transform:translateY(-1px); transition:.15s ease; }
:is(.section-viewforum,.section-viewtopic) .forum-new-topic.btn-stitched:active { transform:translateY(1px); }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar.bar-bottom > form { float:none; margin:0; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar.bar-bottom .sort-tools { float:none; margin:0; }
:is(.section-viewforum,.section-viewtopic) .forum-toolbar.bar-bottom .sort-tools > .button { display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 10px; border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; box-shadow:none; }
/* Topic reading: compact card layout and the shared forum palette. */
.section-viewtopic .topic-title { margin:12px 0 14px; font-size:26px; font-weight:700; line-height:1.3; }
.section-viewtopic .topic-title a { color:#152532; }
.section-viewtopic .post { margin:0 0 16px; padding:25px; border:1px solid #e8edf3; border-radius:13px; background:#fff; box-shadow:0 3px 10px rgba(67,89,113,.10); }
.section-viewtopic .postbody { color:#35475e; }
.section-viewtopic .postbody h3 { margin-top:0; font-size:18px; font-weight:700; line-height:1.4; }
.section-viewtopic .postbody h3 a { color:#fc0000; }
.section-viewtopic .postbody .author { margin:4px 0 16px; font-size:12px; color:#74849b; }
.section-viewtopic .postbody .content { font-family:inherit; font-size:15px; line-height:1.65; color:#35475e; overflow-wrap:anywhere; }
.section-viewtopic .postbody .content p { margin-bottom:16px; }
.section-viewtopic .postbody .content h1 { font-size:23px; line-height:1.35; }
.section-viewtopic .postbody .content h2 { font-size:20px; line-height:1.4; }
.section-viewtopic .postbody .content h3 { font-size:17px; line-height:1.45; }
.section-viewtopic .postbody .content a,
.section-viewtopic .signature a { color:#fc0000; border-bottom-color:#fc0000; }
.section-viewtopic .postprofile { padding:0 0 0 18px; margin:0; border-left:1px solid #e8edf3; color:#53647d; font-size:12px; line-height:1.5; }
.section-viewtopic .postprofile dt { margin-bottom:8px; }
.section-viewtopic .postprofile .avatar img { width:64px; height:64px; object-fit:cover; border-radius:50%; }
.section-viewtopic .postprofile dd { margin-bottom:3px; }
.section-viewtopic .postbody blockquote { margin:14px 0; padding:12px 16px; border:1px solid #e0e7f0; border-left:3px solid #6485ad; border-radius:6px; background:#fafbfd; color:#53647d; }
.section-viewtopic .signature { padding-top:12px; border-top:1px solid #e8edf3; margin-top:18px; font-size:12px; color:#74849b; }
.section-viewtopic .post-buttons .button { border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; box-shadow:none; }
.section-viewtopic .forum-toolbar .topic-tools { margin:0; }
.section-viewtopic .forum-toolbar .dropdown-button-control > .button { height:36px; display:inline-flex; align-items:center; box-sizing:border-box; border:1px solid #dce4ed; border-radius:5px; background:#fafbfd; color:#53647d; box-shadow:none; }
@media(max-width:700px) {
 .section-viewtopic .topic-title { font-size:22px; }
 .section-viewtopic .post { padding:19px 17px; }
 .section-viewtopic .postbody .content { font-size:14px; line-height:1.65; }
 .section-viewtopic .postprofile { padding:0 0 10px; margin-bottom:12px; border-left:0; border-bottom:1px solid #e8edf3; }
 .section-viewtopic .postprofile .avatar img { width:42px; height:42px; }
}
/* The post itself is the card; neutralize the global inner-card decoration. */
.section-viewtopic .post > .inner { padding:0; margin-bottom:0; background:transparent; border:0; border-radius:0; box-shadow:none; }

/* Author panel inspired by the centered community profile mockup. */
.section-viewtopic .postprofile > dt { text-align:center; margin-left:0; }
.section-viewtopic .postprofile .avatar-container { position:relative; width:120px; margin:0 auto 10px; overflow:visible !important; }
.section-viewtopic .postprofile .avatar { float:none; display:block; }
.section-viewtopic .postprofile .avatar img { width:120px !important; height:120px !important; max-width:100%; object-fit:cover; border-radius:50%; }
.section-viewtopic .postprofile dt > a,.section-viewtopic .postprofile dt > strong { font-size:19px; font-weight:700; line-height:1.4; }
.section-viewtopic .usercard-online { position:absolute; bottom:4px; right:3px; width:19px; height:19px; border:3px solid #fff; border-radius:50%; background:#08c426; }
.section-viewtopic .post.online { background-image:none; }
.section-viewtopic .postprofile .profile-rank { text-align:center; margin:0 0 16px; font-size:14px; line-height:1.6; }
.section-viewtopic .postprofile .profile-rank img { display:block; margin:6px auto 0; max-width:100%; width:240px; height:auto; }
.section-viewtopic .postprofile dd:not(.profile-rank):not(.usercard-actions) { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 9px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.section-viewtopic .postprofile dd > strong { color:#74849b; flex-shrink:0; }
.section-viewtopic .postprofile .profile-posts { padding-top:16px; border-top:1px solid #e8edf3; }
.section-viewtopic .postprofile .profile-posts a { color:#152532; font-weight:600; }
.section-viewtopic .postprofile .usercard-value { text-align:right; color:#152532; font-weight:600; }
.section-viewtopic .postprofile .profile-phpbb_location > strong::before { content:'\f041'; font-family:FontAwesome; margin-right:9px; }
.section-viewtopic .postprofile .usercard-actions { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding-top:16px; border-top:1px solid #e8edf3; overflow:visible; }
.section-viewtopic .usercard-actions a { display:flex; flex:1 1 110px; align-items:center; justify-content:center; gap:5px; padding:10px 6px; border:1px solid #dce4ed; border-radius:6px; background:#fafbfd; color:#233750; font-size:11px; font-weight:600; text-decoration:none; }
.section-viewtopic .usercard-actions a:hover { color:#fc0000; border-color:#fc0000; }
@media(min-width:1001px) { .section-viewtopic .postprofile { width:250px; box-sizing:border-box; } .section-viewtopic .postbody { width:calc(100% - 278px); } }
@media(max-width:700px) {
 .section-viewtopic .postprofile .avatar-container { width:56px; margin:0 12px 0 0; float:left; }
 .section-viewtopic .postprofile .avatar img { width:56px !important; height:56px !important; }
 .section-viewtopic .postprofile > dt { text-align:left; }
 .section-viewtopic .postprofile dt > a,.section-viewtopic .postprofile dt > strong { font-size:15px; }
 .section-viewtopic .usercard-online { width:13px; height:13px; border-width:2px; right:0; bottom:0; }
 .section-viewtopic .postprofile .profile-rank { text-align:left; margin:0; }
 .section-viewtopic .postprofile .profile-rank img { display:none; }
 .section-viewtopic .postprofile .usercard-actions { clear:both; margin-top:10px; padding-top:10px; }
}
/* Empty post subjects should not reserve a second header line. */
.section-viewtopic .postbody > div[id^="post_content"] > h3:has(> a:empty):not(:has(> img)) { display:none; }
.section-viewtopic .postbody > div[id^="post_content"] > p.author { margin-bottom:8px; }
.section-viewtopic .postbody > div[id^="post_content"] > h3:has(> a:empty):not(:has(> img)) ~ p.author { padding-right:180px; min-height:26px; box-sizing:border-box; }
@media(max-width:700px) {
 .section-viewtopic .postbody > div[id^="post_content"] > h3:has(> a:empty):not(:has(> img)) ~ p.author { padding-right:0; }
}
/* Align the first text line with the unchanged top-right post actions. */
.section-viewtopic .postbody { position:relative; }
.section-viewtopic .postbody > div[id^="post_content"] > h3 { display:block !important; position:absolute; width:1px; height:1px; padding:0; margin:0 !important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.section-viewtopic .postbody > div[id^="post_content"] > p.author { position:absolute; top:-12px; left:0; margin:0; padding:0 !important; min-height:0 !important; font-size:11px; line-height:16px; }
.section-viewtopic .postbody > div[id^="post_content"] > .content { margin-top:0; padding-top:8px; }
.section-viewtopic .postbody > div[id^="post_content"] > .content::before { content:''; float:right; width:180px; height:30px; }
@media(max-width:700px) {
 .section-viewtopic .postbody > div[id^="post_content"] > p.author { position:static; margin:0 0 6px; }
 .section-viewtopic .postbody > div[id^="post_content"] > .content::before { display:none; }
}
/* The author/date row shares the action-button row; post text follows below. */
.section-viewtopic .postbody > div[id^="post_content"] > p.author {
 position:static; margin:0 0 8px; padding:5px 180px 0 0 !important;
 min-height:29px !important; box-sizing:border-box; font-size:12px; line-height:24px;
}
.section-viewtopic .postbody > div[id^="post_content"] > .content { padding-top:0; }
.section-viewtopic .postbody > div[id^="post_content"] > .content::before { display:none; }
@media(max-width:700px) {
 .section-viewtopic .postbody > div[id^="post_content"] > p.author { padding-right:0 !important; }
}