/* ==========================================================================
   TwoHarborsForum.com — discus.css
   Modern skin for the archived Discus 4 bulletin-board pages.
   The original markup (tables + presentation attributes) is kept as-is;
   these rules override the 2000s look.
   ========================================================================== */

:root {
  --maroon: #7a1e1e;
  --maroon-dark: #5d1616;
  --maroon-deep: #401010;
  --gold: #d0a524;
  --gold-soft: #e8c25a;
  --navy: #1f3a5f;
  --navy-dark: #142640;
  --paper: #faf7f0;
  --paper-dark: #f1ebdd;
  --card: #ffffff;
  --ink: #2b2521;
  --ink-soft: #5c534b;
  --line: #e3dac8;
  --link: #8c2f2f;
  --link-hover: #b03a3a;
  --shadow: 0 2px 10px rgba(64, 16, 16, 0.08);
  --shadow-lg: 0 8px 28px rgba(64, 16, 16, 0.14);
  --radius: 10px;
  --font-serif: Georgia, "Times New Roman", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body.discus-modern,
body.discus-modern > * {
  font-family: var(--font-sans) !important;
  font-size: 15.5px !important;
}

body.discus-modern {
  background:
    linear-gradient(rgba(250, 247, 240, .95), rgba(250, 247, 240, .95)),
    url("../images/lbg044.jpg") top center / cover no-repeat fixed !important;
  color: var(--ink) !important;
  margin: 0;
}

/* ---------- Header (injected) ---------- */
.discus-header {
  background: linear-gradient(180deg, var(--maroon), var(--maroon-dark));
  border-bottom: 4px solid var(--gold);
  color: #fff;
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.discus-header a { color: #fff; text-decoration: none; }
.discus-header a:hover { color: var(--gold-soft); }
.discus-header img.dh-logo { width: 44px; height: auto; border-radius: 4px; }
.discus-header .dh-name {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: bold;
  color: var(--gold-soft);
}
.discus-header .dh-name small {
  display: block;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: .68rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
}
.discus-header .dh-nav { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; }
.discus-header .dh-nav a {
  padding: 7px 12px;
  font-size: .88rem;
  font-weight: 600;
  border-radius: 6px;
  color: #f3e9d4;
}
.discus-header .dh-nav a:hover { background: var(--maroon); color: var(--gold-soft); }
.discus-header .dh-nav a.dh-home { color: var(--gold-soft); }

.discus-breadcrumb {
  max-width: 1080px;
  margin: 10px auto 0;
  padding: 0 16px;
  font-size: .85rem;
  color: var(--ink-soft);
}
.discus-breadcrumb a { color: var(--ink-soft); text-decoration: none; }
.discus-breadcrumb a:hover { color: var(--link); }
.discus-breadcrumb .sep { margin: 0 7px; color: var(--gold); }

/* ---------- Shell ---------- */
.discus-shell {
  max-width: 1080px;
  margin: 14px auto 40px;
  padding: 0 16px;
}
.discus-shell .card-wrap {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* ---------- Top toolbar (was toplogin form) ---------- */
.discus-topbar table { width: 100%; border-collapse: collapse; background: var(--navy-dark) !important; }
.discus-topbar td { background: var(--navy-dark) !important; vertical-align: middle; padding: 8px 12px !important; }
.discus-topbar a { color: #f3e9d4 !important; font-weight: 600; text-decoration: none; font-size: .9rem !important; }
.discus-topbar a:hover { color: var(--gold-soft) !important; }
.discus-topbar img { display: inline-block; vertical-align: -3px; margin-right: 5px; filter: sepia(.3) saturate(1.4); }
.discus-topbar b { color: #fff; }
.discus-topbar .login-cell { width: 185px; color: rgba(255,255,255,.55); font-size: .8rem; }

/* ---------- Title message banner ---------- */
.discus-titlebanner {
  background: linear-gradient(180deg, var(--navy), var(--navy-dark)) !important;
  border-top: 3px solid var(--gold);
  border-bottom: 3px solid var(--gold);
  padding: 14px !important;
}
.discus-titlebanner a { color: #fff !important; font-family: var(--font-serif); font-size: 1.45rem; font-weight: bold; text-decoration: none; }
.discus-titlebanner a:hover { color: var(--gold-soft) !important; }
.discus-titlebanner .discus-sub { color: rgba(255,255,255,.85); font-size: .85rem; margin-top: 4px; }

/* ---------- Topic / thread tables ---------- */
.discus-body table { width: 100%; border-collapse: collapse !important; }
.discus-body table td { font-size: .95rem !important; }

/* header rows */
.discus-body tr > td[align="left"] > font[b] > a,
.discus-body .th-cell { background: var(--maroon-deep) !important; }
.discus-body td.th {
  background: var(--maroon-deep) !important;
  color: #fff !important;
  font-weight: 700;
  padding: 10px 12px !important;
  font-size: .88rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* category rows */
.discus-body td.cat {
  background: var(--navy) !important;
  color: #fff !important;
  font-weight: 700;
  padding: 9px 14px !important;
  font-size: .92rem !important;
  border-bottom: 2px solid var(--gold);
}

/* topic rows */
.discus-body tr.topic-row td { padding: 10px 12px !important; }
.discus-body td.name-cell {
  background: #f7f4ec !important;
  width: 62%;
}
.discus-body td.name-cell a {
  color: var(--maroon) !important;
  font-weight: 700;
  font-size: 1rem !important;
  text-decoration: none;
}
.discus-body td.name-cell a:hover { color: var(--link-hover) !important; text-decoration: underline; }
.discus-body td.desc-cell {
  color: var(--ink-soft);
  font-size: .85rem !important;
  font-style: italic;
  margin-top: 3px;
}
.discus-body td.meta-cell {
  background: #efe9db !important;
  text-align: center;
  color: var(--ink-soft);
  font-size: .85rem !important;
  white-space: nowrap;
  width: 90px;
}
.discus-body tr.topic-row:hover td { filter: brightness(.985); }

/* tree icon column */
.discus-body td.tree-cell {
  background: #efe9db !important;
  width: 40px;
  padding: 10px 6px !important;
  white-space: nowrap;
}
.discus-body td.tree-cell img { margin-right: 2px; opacity: .8; }

/* closed thread marker */
.discus-body .closed { color: #b3402a !important; font-size: .78rem !important; font-weight: 600; }

/* not-archived badge (replaces links to pages that were never captured) */
.discus-notarchived {
  display: inline-block;
  background: var(--paper-dark);
  border: 1px dashed var(--gold);
  color: var(--ink-soft);
  border-radius: 999px;
  font-size: .68rem !important;
  font-weight: 600 !important;
  padding: 1px 9px;
  margin-left: 8px;
  vertical-align: 1px;
  white-space: nowrap;
}

/* page H1 injected into forum pages */
.discus-h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--maroon);
  margin: 0 0 18px;
  padding: 0 0 10px;
  border-bottom: 2px solid var(--gold);
}

/* ---------- Message (post) views ---------- */
.discus-posts { }
.discus-posts td.author-cell {
  background: #f2ede1 !important;
  width: 170px;
  vertical-align: top;
  padding: 14px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.discus-posts td.message-cell {
  background: #fff !important;
  padding: 16px 18px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.discus-posts tr:nth-child(even) td.message-cell { background: #fbf9f3 !important; }

.discus-posts .post-name { font-weight: 700; color: var(--maroon); font-size: .95rem; }
.discus-posts .post-meta { color: var(--ink-soft); font-size: .8rem; margin-top: 4px; }
.discus-posts .post-actions img { margin: 0 2px; opacity: .75; }
.discus-posts .post-actions img:hover { opacity: 1; }

.discus-post-text { font-size: .98rem; line-height: 1.6; overflow-wrap: break-word; }
.discus-post-text a { color: var(--link); }
.discus-post-text img { max-width: 100%; height: auto; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15); border-radius: 4px; margin: 6px 0; }

/* ---------- Pagination bar ---------- */
.discus-pagetable table { background: var(--maroon-deep) !important; border-collapse: collapse; }
.discus-pagetable td { background: var(--maroon-deep) !important; padding: 10px 14px !important; }
.discus-pagetable a { color: #fff !important; font-weight: 700; text-decoration: none; font-size: .9rem !important; }
.discus-pagetable a:hover { color: var(--gold-soft) !important; }

/* ---------- Footer (injected) ---------- */
.discus-footer {
  max-width: 1080px;
  margin: 0 auto 30px;
  padding: 20px 16px 0;
  font-size: .85rem;
  color: var(--ink-soft);
  text-align: center;
}
.discus-footer a { color: var(--ink-soft); text-decoration: none; }
.discus-footer a:hover { color: var(--link); }
.discus-footer .sep { margin: 0 8px; color: var(--gold); }

/* ---------- Generic table cleanup for non-message pages ---------- */
table { border-collapse: collapse; }
td, th { font-size: .95rem; }
a { color: var(--link); }
a:hover { color: var(--link-hover); }

hr { border: 0; border-top: 1px solid var(--line); margin: 20px 0; }

/* instruction/help pages */
.helpwrap {
  max-width: 900px;
  margin: 14px auto 40px;
  padding: 0 16px;
}
.helpwrap .card-wrap {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 28px 32px;
}
.helpwrap h1, .helpwrap h2 { font-family: var(--font-serif); color: var(--maroon); }

/* ---------- Responsive ---------- */
@media (max-width: 700px) {
  .discus-body td.meta-cell { display: none; }
  .discus-topbar .login-cell { display: none; }
  .discus-posts td.author-cell { width: 110px; padding: 10px !important; }
  .discus-posts .post-actions { display: none; }
  .discus-header .dh-nav a { padding: 6px 9px; font-size: .82rem; }
}

/* ==========================================================================
   Raw-Discus markup skinning
   The archived pages keep their original <table>/<font>/bgcolor markup.
   These rules match that markup directly (scoped under .discus-body) so the
   topic indexes and thread views render with the modern palette.
   ========================================================================== */

.discus-body table { border-collapse: collapse; }

/* center the topic/thread table within the card */
.discus-body .discus-topbar ~ table[cellpadding="0"][cellspacing="0"],
.discus-body .discus-topbar ~ table[cellpadding="4"][cellspacing="0"] {
  max-width: 920px;
  margin: 0 auto;
}

/* ---- topic index: header row (tr bgcolor=#000000) ---- */
.discus-body tr[bgcolor="#000000"] td {
  background: var(--maroon-deep) !important;
  color: #fff !important;
  font-weight: 700;
  padding: 10px 12px !important;
  font-size: .88rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.discus-body tr[bgcolor="#000000"] td font { color: #fff !important; }
.discus-body tr[bgcolor="#000000"] td a { color: #fff !important; text-decoration: none; }
.discus-body tr[bgcolor="#000000"] td a:hover { color: var(--gold-soft) !important; }

/* ---- topic index: category rows (td bgcolor=#666666) ---- */
.discus-body td[bgcolor="#666666"] {
  background: var(--navy) !important;
  color: #fff !important;
  font-weight: 700;
  padding: 9px 14px !important;
  font-size: .92rem !important;
  border-bottom: 2px solid var(--gold);
}
.discus-body td[bgcolor="#666666"] font { color: #fff !important; }

/* ---- topic index: name cell (td bgcolor=#f0f0f0) ---- */
.discus-body td[bgcolor="#f0f0f0"] {
  background: #f7f4ec !important;
  padding: 10px 12px !important;
  font-size: .95rem !important;
}
.discus-body td[bgcolor="#f0f0f0"] a {
  color: var(--maroon) !important;
  font-weight: 700;
  font-size: 1rem !important;
  text-decoration: none;
}
.discus-body td[bgcolor="#f0f0f0"] a:hover { color: var(--link-hover) !important; text-decoration: underline; }
.discus-body td[bgcolor="#f0f0f0"] i { color: var(--ink-soft); font-size: .85rem; }

/* ---- topic index: meta + tree cells (td bgcolor=#d7d7d7) ---- */
.discus-body td[bgcolor="#d7d7d7"] {
  background: #efe9db !important;
  text-align: center;
  color: var(--ink-soft);
  font-size: .85rem !important;
  white-space: nowrap;
}
.discus-body td[bgcolor="#d7d7d7"] img { opacity: .8; }

/* ---- title banner (center font size=+2) ---- */
.discus-body center font[size="+2"] a {
  font-family: var(--font-serif);
  font-size: 1.45rem;
  color: var(--maroon);
  text-decoration: none;
}
.discus-body center font[size="+2"] a:hover { color: var(--link-hover); }

/* ---- thread view: post rows (tr bgcolor=#f0f0f0) ---- */
.discus-body tr[bgcolor="#f0f0f0"] > td:first-child {
  background: #f2ede1 !important;
  width: 170px;
  vertical-align: top;
  padding: 14px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.discus-body tr[bgcolor="#f0f0f0"] > td:first-child b {
  color: var(--maroon);
  font-size: .95rem;
}
.discus-body tr[bgcolor="#f0f0f0"] > td:last-child {
  background: #fff !important;
  padding: 16px 18px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  font-size: .98rem !important;
  line-height: 1.6;
  overflow-wrap: break-word;
}
.discus-body tr[bgcolor="#f0f0f0"] > td:last-child font[size="1"] { color: var(--ink-soft); }
.discus-body tr[bgcolor="#f0f0f0"] > td:last-child a { color: var(--link); }
.discus-body tr[bgcolor="#f0f0f0"] > td:last-child img {
  max-width: 100%; height: auto;
  border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15);
  border-radius: 4px; margin: 6px 0;
}

/* ---- responsive for raw markup ---- */
@media (max-width: 700px) {
  .discus-body tr[bgcolor="#f0f0f0"] > td:first-child { width: 110px; padding: 10px !important; }
  .discus-body td[bgcolor="#d7d7d7"] { white-space: normal; }
}
