
:root {
  --c-bg: #f5f7fa;
  --c-surface: #ffffff;
  --c-surface-alt: #f5f5f5;
  --c-border: #e0e0e0;
  --c-text: #28313f;
  --c-text-secondary: #7e838c;
  --c-text-muted: #828a91;
  --c-accent: #0076b1;
  --c-accent-alt: #2e8fbf;
  --c-on-accent: #ffffff;
  --c-on-surface: #28313f;
  --c-on-bg: #28313f;
  --c-danger: #bc2a4d;
  --c-success: #3a7d27;
  --c-warn: #c87f0a;

  --font-body: Verdana, Helvetica, Arial, sans-serif;
  --font-heading: Verdana, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, monospace;
  --font-size-base: 12px;
  --font-weight-heading: 700;

  --card-radius: 7px;
  --button-radius: 4px;
  --card-border: 1px solid #b5c1cb;
  --card-shadow: none;
  --avatar-radius: 0;

  --pad-y: 8px;
  --pad-x: 14px;

  --content-max: 1200px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-body);
  background: var(--c-bg);
  color: var(--c-text);
  line-height: 1.55;
  font-size: var(--font-size-base);
}
a { color: var(--c-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.p-pageWrapper { max-width: var(--content-max); margin: 0 auto; padding: 0 16px; }

/* ─── Header / Nav ─── */
.p-header { background: var(--c-surface); border-bottom: 1px solid var(--c-border); padding: 12px 0; }
.p-header-inner { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; max-width: var(--content-max); margin: 0 auto; padding: 0 16px; }
.p-header-logo strong { font-size: 22px; font-family: var(--font-heading); color: var(--c-accent); font-weight: var(--font-weight-heading); }
.p-header-logo-tagline { color: var(--c-text-muted); font-size: 13px; margin-left: 8px; }
.p-nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; }
.p-nav-list a { font-weight: 500; color: var(--c-text); }
.p-header-search { margin-left: auto; }
.p-header-search input { padding: 6px 10px; border: 1px solid var(--c-border); border-radius: var(--button-radius); background: var(--c-bg); color: var(--c-text); }
.p-header-account .button { display: inline-block; padding: 6px 12px; border: 1px solid var(--c-border); border-radius: var(--button-radius); background: var(--c-surface); color: var(--c-text); margin-left: 6px; }
.p-header-account .button--primary { background: var(--c-accent); color: var(--c-on-accent); border-color: var(--c-accent); }

/* ─── Breadcrumbs ─── */
.p-breadcrumbs { list-style: none; padding: 8px 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--c-text-muted); }
.p-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 8px; color: var(--c-border); }

/* ─── Body grid ─── */
.p-body-main { display: grid; grid-template-columns: 1fr 320px; gap: 24px; padding: 16px 0 32px; }
@media (max-width: 900px) { .p-body-main { grid-template-columns: 1fr; } }

/* ─── Title ─── */
.p-title { padding: var(--pad-y) var(--pad-x); background: var(--c-surface); border: var(--card-border); border-radius: var(--card-radius); }
.p-title-value { margin: 0; font-family: var(--font-heading); font-size: 24px; line-height: 1.3; font-weight: var(--font-weight-heading); color: var(--c-text); }

/* ─── Block / card ─── */
.block { background: var(--c-surface); border: var(--card-border); margin-top: 16px; border-radius: var(--card-radius); overflow: hidden; box-shadow: var(--card-shadow); }
.block-header { padding: 10px 16px; background: var(--c-surface-alt); border-bottom: 1px solid var(--c-border); font-weight: 600; font-family: var(--font-heading); }
.block-body { padding: var(--pad-y) var(--pad-x); }

/* ─── Forum index (node-list) ─── */
.node-list { list-style: none; padding: 0; margin: 0; }
.node--forum { padding: 12px 16px; border-bottom: 1px solid var(--c-border); }
.node-title a { font-weight: 600; font-size: 16px; color: var(--c-accent); }
.node-description { color: var(--c-text-muted); font-size: 13px; margin-top: 4px; }
.node-meta { display: flex; gap: 16px; font-size: 12px; color: var(--c-text-muted); margin-top: 6px; }

/* ─── Thread listing ─── */
.structItem { display: grid; grid-template-columns: 1fr 100px 160px; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--c-border); align-items: center; }
.structItem-title a { font-weight: 600; color: var(--c-accent); }
.structItem-minor { color: var(--c-text-muted); font-size: 12px; margin-top: 4px; }
.structItem-parts { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; }
.structItem-parts li::after { content: "·"; margin-left: 8px; color: var(--c-border); }
.structItem-parts li:last-child::after { content: ""; }

/* ─── Post block ─── */
.message { background: var(--c-surface); border: var(--card-border); margin-top: 12px; border-radius: var(--card-radius); overflow: hidden; }
.message--op { border-color: var(--c-accent); }
.message-inner { display: grid; grid-template-columns: 200px 1fr; }
@media (max-width: 720px) { .message-inner { grid-template-columns: 1fr; } }
.message-cell--user { background: var(--c-surface-alt); padding: 16px; border-right: 1px solid var(--c-border); }
.message-cell--main { padding: var(--pad-y) var(--pad-x); }
.message-name a { font-weight: 600; font-size: 15px; color: var(--c-accent); }
.userTitle { color: var(--c-text-muted); font-size: 12px; margin: 2px 0 8px; font-weight: normal; }
.message-userExtras dl { display: flex; gap: 6px; font-size: 12px; color: var(--c-text-muted); margin: 2px 0; }
.message-userExtras dt { font-weight: 600; }
.message-userExtras dd { margin: 0; }
.avatar { display: inline-flex; align-items: center; justify-content: center; background: var(--c-accent); color: var(--c-on-accent); border-radius: var(--avatar-radius); }
.avatar img { display: block; width: 100%; height: 100%; border-radius: var(--avatar-radius); object-fit: cover; }
.avatar--m { width: 48px; height: 48px; font-weight: 700; font-size: 22px; }
.avatar--xxl { width: 96px; height: 96px; font-weight: 700; font-size: 40px; }
.avatar-initial { line-height: 1; }
.message-attribution { color: var(--c-text-muted); font-size: 12px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px dashed var(--c-border); display: flex; justify-content: space-between; }
.message-attribution-main, .message-attribution-opposite { list-style: none; padding: 0; margin: 0; }
.message-permalink time { color: var(--c-text-muted); }
.bbWrapper { line-height: 1.65; }
.bbWrapper p { margin: 0 0 1em; }
.bbWrapper table { border-collapse: collapse; width: 100%; margin: 16px 0; font-size: 14px; }
.bbWrapper th, .bbWrapper td { border: 1px solid var(--c-border); padding: 8px 10px; text-align: left; vertical-align: top; }
.bbWrapper th { background: var(--c-surface-alt); font-weight: 600; }
.bbWrapper a { color: var(--c-accent); }

/* ─── CTAs ─── */
.forum-reply-cta { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--c-border); }
.forum-cta-inline { display: inline-block; padding: 8px 14px; background: var(--c-success); color: #fff; border-radius: var(--button-radius); font-weight: 600; }
.forum-cta-inline:hover { filter: brightness(0.92); text-decoration: none; }

.actionBar { display: flex; gap: 12px; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--c-border); font-size: 12px; color: var(--c-text-muted); justify-content: space-between; }
.actionBar-action { color: var(--c-text-muted); }

/* ─── Sidebar ─── */
.block--sidebar { background: var(--c-surface); }
.sidebar-operators { list-style: none; padding: 0; margin: 0; }
.sidebar-operator { padding: 10px; border-bottom: 1px solid var(--c-border); }
.sidebar-operator-link { display: flex; gap: 10px; align-items: center; }
.sidebar-operator-rank { font-weight: 700; color: var(--c-accent); width: 24px; }
.sidebar-operator-name { font-weight: 600; color: var(--c-text); }
.sidebar-operator-badge { display: block; font-size: 11px; color: var(--c-text-muted); }
.sidebar-operator-bonus { display: block; font-size: 12px; }
.sidebar-disclosure { font-size: 11px; color: var(--c-text-muted); margin: 8px 12px; }

.block--rg { background: var(--c-surface-alt); }
.rg-age { font-weight: 700; margin-top: 8px; color: var(--c-text); }

/* ─── Footer ─── */
.p-footer { background: var(--c-surface); border-top: 1px solid var(--c-border); padding: 24px 0; margin-top: 32px; font-size: 13px; color: var(--c-text-muted); }
.p-footer-inner { max-width: var(--content-max); margin: 0 auto; padding: 0 16px; }
.p-footer-rg { background: var(--c-surface-alt); padding: 12px 16px; border-radius: var(--card-radius); color: var(--c-text); margin-bottom: 12px; }
.p-footer-affiliate { padding: 8px 0; font-size: 12px; }
.p-footer-links { padding: 8px 0; }
.p-footer-links a { color: var(--c-text-muted); }
.p-footer-copy { padding: 8px 0; font-size: 12px; }

/* ─── Member profile ─── */
.memberHeader { display: flex; gap: 24px; padding: 24px; background: var(--c-surface); border: var(--card-border); border-radius: var(--card-radius); }
.memberHeader-stats { list-style: none; padding: 0; margin: 8px 0 0; display: flex; gap: 24px; flex-wrap: wrap; }
.memberHeader-stats dl { display: flex; gap: 6px; font-size: 13px; }
.memberHeader-stats dt { color: var(--c-text-muted); font-weight: normal; }
.memberHeader-stats dd { margin: 0; font-weight: 600; }
.memberRecentItems { list-style: none; padding: 0; margin: 0; }
.memberRecentItem { padding: 8px 0; border-bottom: 1px solid var(--c-border); display: flex; justify-content: space-between; }
.memberRecentItem-date { color: var(--c-text-muted); font-size: 12px; }

/* ─── About / author page ─── */
.about-page { display: grid; grid-template-columns: 200px 1fr; gap: 32px; padding: 32px; background: var(--c-surface); border: var(--card-border); border-radius: var(--card-radius); }
@media (max-width: 720px) { .about-page { grid-template-columns: 1fr; } }
.about-headshot img { width: 100%; height: auto; aspect-ratio: 1/1; border-radius: var(--avatar-radius); object-fit: cover; }
.about-headshot-fallback { width: 100%; aspect-ratio: 1/1; border-radius: var(--avatar-radius); background: var(--c-accent); color: var(--c-on-accent); display: flex; align-items: center; justify-content: center; font-size: 72px; font-weight: 700; font-family: var(--font-heading); }
.about-name { font-family: var(--font-heading); font-size: 32px; font-weight: var(--font-weight-heading); margin: 0 0 4px; color: var(--c-text); }
.about-role { color: var(--c-text-secondary); font-size: 16px; margin-bottom: 16px; }
.about-credentials { list-style: none; padding: 0; margin: 16px 0; }
.about-credentials li { padding: 6px 0; padding-left: 20px; position: relative; color: var(--c-text-secondary); font-size: 14px; }
.about-credentials li::before { content: "✓"; position: absolute; left: 0; color: var(--c-success); font-weight: 700; }
.about-bio { font-size: 16px; line-height: 1.7; }
.about-bio p { margin: 0 0 1em; }
.about-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 16px 0; }
.about-tag { display: inline-block; padding: 4px 10px; background: var(--c-surface-alt); border: 1px solid var(--c-border); border-radius: 999px; font-size: 12px; color: var(--c-text-secondary); }

.tagItem { display: inline-block; padding: 2px 8px; background: var(--c-surface-alt); border-radius: 12px; font-size: 11px; margin-right: 4px; color: var(--c-text-secondary); }

/* ─── Hero background (top-of-page matchday photo, fades into surface) ─── */
body {
  background-color: var(--c-bg);
  background-image:
    linear-gradient(180deg, rgba(20,20,26,0.12) 0%, rgba(20,20,26,0.32) 28%, rgba(20,20,26,0.72) 62%, var(--c-bg) 92%, var(--c-bg) 100%),
    url("/assets/hero-bg.jpg");
  background-repeat: no-repeat;
  background-size: 100% 780px, 100% 780px;
  background-position: top center, top center;
  background-attachment: scroll, scroll;
}
@media (max-width: 720px) {
  body { background-size: 100% 480px, cover; }
}

/* Header sits over the hero with subtle dark veil */
.p-header { background: rgba(20,20,26,0.62); backdrop-filter: blur(6px); border-bottom: 1px solid rgba(255,255,255,0.08); }
.p-header-logo strong { color: var(--c-accent); text-shadow: 0 2px 12px rgba(0,0,0,0.55); }
.p-header-logo-tagline { color: rgba(255,255,255,0.78); }
.p-nav-list a { color: rgba(255,255,255,0.86); }
.p-nav-list a:hover { color: var(--c-accent-alt); }
.p-header-search input { background: rgba(0,0,0,0.35); border-color: rgba(255,255,255,0.18); color: #f1f2f6; }
.p-header-account .button { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.18); color: #f1f2f6; }
.p-header-account .button--primary { background: var(--c-accent); border-color: var(--c-accent); color: #ffffff; }

/* Page wrapper — small inset so the hero shows around content cards on top */
.p-pageWrapper { padding-top: 4px; }

/* First card on every page gets a brighter title with gold accent */
.p-title { background: var(--c-surface); border-left: 3px solid var(--c-accent-alt); }
.p-title-value { color: var(--c-text); }
.p-title-pageDesc { color: var(--c-text-secondary); margin: 4px 0 0; font-size: 14px; }

/* Pinned thread row — gold-tinted left border + soft highlight */
.structItem.structItem--pinned { background: linear-gradient(90deg, rgba(243,207,62,0.10) 0%, transparent 50%); border-left: 3px solid var(--c-accent-alt); }
.structItem.structItem--pinned .structItem-title a::before { content: "📌 "; }

/* Sidebar widgets — dark surface with gold heading */
.block--sidebar .block-header h3 { color: var(--c-accent-alt); }
.sidebar-operators { list-style: none; padding: 0; margin: 0; }
.sidebar-operator { border-bottom: 1px solid var(--c-border); }
.sidebar-operator:last-child { border-bottom: none; }
.sidebar-operator-link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: var(--c-text); }
.sidebar-operator-link:hover { background: var(--c-surface-alt); text-decoration: none; }
.sidebar-operator-rank { font-weight: 700; color: var(--c-accent-alt); font-family: var(--font-heading); width: 18px; }
.sidebar-operator-name { font-weight: 600; flex: 1; }
.sidebar-operator-badge { font-size: 11px; padding: 2px 8px; background: rgba(220,61,74,0.18); color: var(--c-accent); border-radius: 999px; text-transform: uppercase; letter-spacing: 0.04em; }
.sidebar-disclosure { padding: 8px 12px; color: var(--c-text-muted); font-size: 11px; border-top: 1px solid var(--c-border); margin: 0; }
.block--rg .block-body { color: var(--c-text-secondary); font-size: 13px; padding: 12px; }
.block--rg a { color: var(--c-accent-alt); }
.rg-age { color: var(--c-text-muted); font-size: 12px; margin-top: 4px; }

/* Footer — DFB-flag colored thin top accent */
.p-footer { background: var(--c-surface); border-top: 3px solid var(--c-accent); padding: 22px 16px 28px; margin-top: 32px; }
.p-footer-inner { max-width: var(--content-max); margin: 0 auto; color: var(--c-text-secondary); }
.p-footer-rg { font-size: 13px; margin-bottom: 6px; }
.p-footer-rg strong { color: var(--c-accent-alt); }
.p-footer-affiliate { font-size: 12px; color: var(--c-text-muted); margin-bottom: 10px; }
.p-footer-links { font-size: 12px; }
.p-footer-links a { color: var(--c-text-secondary); margin-right: 6px; }
.p-footer-copy { font-size: 11px; color: var(--c-text-muted); margin-top: 10px; }

/* Avatar fallback (initial) — gold ring on dark */
.avatar { background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-alt) 100%); color: #14141a; box-shadow: 0 0 0 1px rgba(0,0,0,0.4); }
.avatar img { box-shadow: 0 0 0 1px var(--c-border); }

/* Node card — category page child blocks */
.node--forum:hover { background: rgba(255,255,255,0.025); }

/* Message body — comfortable contrast on dark */
.message-body, .bbWrapper { color: var(--c-text); }
.bbWrapper table th { background: var(--c-surface-alt); color: var(--c-text-secondary); }
.bbWrapper a { color: var(--c-accent-alt); }
.bbWrapper a:hover { color: var(--c-accent); }

/* ─── Latest activity block ─────────── */
.block--latest .block-header h2 { margin: 0; font-size: 16px; color: var(--c-accent-alt); font-family: var(--font-heading); }
.latest-thread-list { list-style: none; margin: 0; padding: 0; }
.latest-thread { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--c-border); align-items: center; transition: background 0.12s ease; }
.latest-thread:hover { background: rgba(255,255,255,0.02); }
.latest-thread:last-child { border-bottom: none; }
.latest-thread--pinned { background: linear-gradient(90deg, rgba(243,207,62,0.08) 0%, transparent 60%); border-left: 3px solid var(--c-accent-alt); padding-left: 13px; }
.latest-thread--pinned .latest-thread-title::before { content: "📌 "; }
.latest-thread-title { display: block; font-weight: 600; color: var(--c-text); font-size: 15px; line-height: 1.3; margin-bottom: 4px; }
.latest-thread-title:hover { color: var(--c-accent); text-decoration: none; }
.latest-thread-meta { font-size: 12px; color: var(--c-text-muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.latest-thread-meta a { color: var(--c-text-secondary); }
.latest-thread-meta a:hover { color: var(--c-accent-alt); text-decoration: none; }
.latest-thread-forum { font-weight: 600; }
.latest-thread-sep { color: var(--c-border); }
.latest-thread-replier { color: var(--c-text-muted); }
.latest-thread-stats { display: flex; gap: 10px; font-size: 12px; color: var(--c-text-muted); white-space: nowrap; text-align: right; }
.latest-stat { display: inline-block; }
.latest-stat--views { color: var(--c-text-muted); opacity: 0.8; }
@media (max-width: 720px) {
  .latest-thread { grid-template-columns: 1fr; }
  .latest-thread-stats { justify-content: flex-start; }
}

/* ===== phpBB prosilver ===== */
/* -- neutralise the dark-hero base block; flat light prosilver bg -- */
body {
  background: var(--c-bg);
  background-image: none;
  color: var(--c-text-secondary);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
}
a { color: var(--c-accent); text-decoration: none; }
a:hover { color: #d31141; text-decoration: underline; }  /* prosilver hover red */

.p-pageWrapper { max-width: 1080px; margin: 14px auto; background: var(--c-surface); border: 1px solid #c8d2db; border-radius: 7px; box-shadow: 0 1px 5px rgba(0,0,0,0.10); padding: 0 0 1px; }

/* -- Header: blue banner (drone logo + title + search) over a light nav bar -- */
.p-header { background: transparent; backdrop-filter: none; border-bottom: 0; padding: 0; }
.p-header-banner { background: linear-gradient(180deg, #1ba0e6 0%, #0a8cce 55%, #0076b1 100%); border-radius: 6px 6px 0 0; box-shadow: inset 0 1px 0 rgba(255,255,255,0.35); }
.p-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; max-width: var(--content-max); margin: 0 auto; padding: 14px 18px; }
.p-header-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.p-header-logo:hover { text-decoration: none; }
.p-header-logo-icon { display: flex; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25)); }
.p-header-logo-text { display: flex; flex-direction: column; line-height: 1.15; }
.p-header-logo-text strong { color: #fff; font-family: var(--font-heading); font-size: 27px; font-weight: 700; letter-spacing: -0.3px; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.p-header-logo-tagline { color: rgba(255,255,255,0.92); font-size: 12px; margin-top: 2px; text-shadow: 0 1px 1px rgba(0,0,0,0.25); }
.p-header-search { margin: 0; }
.p-header-search input { background: #fff; border: 1px solid #005d8e; border-radius: 4px; color: var(--c-text); padding: 6px 10px; min-width: 180px; }
.p-header-search button { border: 1px solid #005d8e; background: linear-gradient(#fff,#e8eef3); border-radius: 0 4px 4px 0; padding: 6px 9px; cursor: pointer; }

/* light nav/links bar under the banner */
.p-header-bar { background: linear-gradient(180deg, #d3e3f0, #c2d6e6); border: 1px solid #b5c1cb; border-top: 0; }
.p-header-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; max-width: var(--content-max); margin: 0 auto; padding: 6px 16px; }
.p-nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; flex-wrap: wrap; row-gap: 4px; background: transparent; }
.p-nav-list a { color: var(--c-accent); font-size: 12px; font-weight: 600; }
.p-nav-list a:hover { color: #d31141; text-decoration: underline; }
.p-header-account .button { display: inline-block; background: linear-gradient(to bottom, #fff, #e9eef3); border: 1px solid #9fb2c0; border-radius: 4px; color: var(--c-accent); font-size: 12px; font-weight: 600; padding: 4px 12px; margin-left: 6px; }
.p-header-account .button--primary { background: linear-gradient(to bottom, #1ba0e6, #0076b1); border-color: #005d8e; color: #fff; }

/* -- Breadcrumbs -- */
.p-breadcrumbs { padding: 2px 18px 10px; font-size: 12px; color: var(--c-text-muted); }
.p-breadcrumbs li:not(:last-child)::after { content: "\00BB"; margin-left: 8px; color: var(--c-text-muted); }
.p-breadcrumbs a { color: var(--c-accent); }

.p-body-main { padding: 0 18px 24px; grid-template-columns: 1fr 250px; gap: 18px; }

/* -- Page title bar -- */
.p-title { background: linear-gradient(to bottom, #6aceff 0%, #12a3eb 2px, #0076b1 92px, #0076b1 100%); border: 1px solid #0076b1; border-radius: 5px 5px 0 0; padding: 8px 14px; }
.p-title-value { color: #fff; font-family: var(--font-heading); font-size: 17px; font-weight: 700; text-shadow: 0 1px 1px rgba(0,0,0,0.3); }
.p-title-pageDesc { color: rgba(255,255,255,0.9); font-size: 12px; margin-top: 2px; }

/* -- Category / forum blocks (.forabg) -- */
.block { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 5px; margin-top: 12px; box-shadow: none; overflow: visible; }
.block-header { background: linear-gradient(to bottom, #6aceff 0%, #12a3eb 2px, #0076b1 92px, #0076b1 100%); border: 1px solid #0076b1; border-radius: 5px 5px 0 0; color: #fff; font-family: var(--font-heading); font-size: 12px; font-weight: 700; padding: 6px 12px; text-shadow: 0 1px 1px rgba(0,0,0,0.35); }
.block-header h2, .block-header h3 { color: #fff; margin: 0; font-size: 12px; }
.block-header a { color: #fff; }
.block-body { padding: 0; }

/* -- Forum rows (prosilver dl.icon look) -- */
.node-list { padding: 0; margin: 0; list-style: none; }
.node--forum { padding: 0; border: 0; border-bottom: 1px solid var(--c-border); background: var(--c-surface); }
.node--forum:nth-of-type(even) { background: var(--c-surface-alt); }
.node--forum:hover { background: color-mix(in srgb, var(--c-accent-alt) 7%, var(--c-surface)); }
.node--forum:last-child { border-bottom: 0; }
.node-body { display: grid; grid-template-columns: 44px 1fr 230px; align-items: center; gap: 0 10px; padding: 10px 12px; }
.node-icon { display: flex; align-items: center; justify-content: center; }
.node-iconHolder { position: relative; display: block; width: 28px; height: 21px; margin-top: 4px; border-radius: 0 3px 3px 3px; background: linear-gradient(#cbe6f7, #84b9df); border: 1px solid #5a93bf; box-shadow: inset 0 1px 0 rgba(255,255,255,0.6); }
.node-iconHolder::before { content: ""; position: absolute; top: -5px; left: -1px; width: 12px; height: 5px; border-radius: 3px 3px 0 0; background: #84b9df; border: 1px solid #5a93bf; border-bottom: 0; }
.node-title { margin: 0; }
.node-title a { color: var(--c-accent); font-weight: 700; font-size: 15px; }
.node-description { color: var(--c-text-secondary); font-size: 12px; font-style: italic; margin-top: 3px; }
.node-meta { display: flex; gap: 14px; font-size: 11px; color: var(--c-text-muted); margin-top: 5px; }
.node-meta .pairs { display: flex; gap: 4px; margin: 0; }
.node-meta dt { font-weight: 400; } .node-meta dd { margin: 0; font-weight: 700; color: var(--c-text-secondary); }
.node-stats { font-size: 11px; color: var(--c-text-muted); line-height: 1.5; }
.node-extra a { color: var(--c-accent); }
.node-extra-row { color: var(--c-text-muted); margin-top: 2px; }

/* -- Thread / topic listing -- */
.block--threads .block-outer { background: var(--c-surface-alt); border: 1px solid var(--c-border); border-radius: 7px 7px 0 0; padding: 6px 12px; font-size: 12px; font-weight: 700; color: var(--c-text-secondary); }
.structItemContainer-group { border: 1px solid var(--c-border); border-top: 0; border-radius: 0 0 7px 7px; overflow: hidden; }
.structItem { display: grid; grid-template-columns: 30px 1fr 96px 190px; gap: 0 10px; padding: 9px 12px; border-bottom: 1px solid var(--c-border); align-items: center; background: var(--c-surface); }
.structItem::before { content: ""; width: 22px; height: 25px; border: 1px solid #c0392b; border-radius: 2px; align-self: center; background-color: #fff; background-image: linear-gradient(#c0392b,#c0392b), linear-gradient(#c0392b,#c0392b), linear-gradient(#c0392b,#c0392b); background-size: 12px 2px; background-position: 4px 7px, 4px 13px, 4px 19px; background-repeat: no-repeat; }
.structItem:nth-of-type(even) { background: var(--c-surface-alt); }
.structItem:last-child { border-bottom: 0; }
.structItem:hover { background: color-mix(in srgb, var(--c-accent-alt) 7%, var(--c-surface)); }
.structItem--pinned { background: linear-gradient(90deg, color-mix(in srgb,var(--c-accent) 8%,var(--c-surface)) 0, var(--c-surface) 55%) !important; }
.structItem--pinned::before { background-color: #fdf3d6; border-color: #c08a26; }
.structItem-cell--main { min-width: 0; }
.structItem-title a { color: var(--c-accent); font-weight: 700; font-size: 14px; }
.structItem-minor, .structItem-parts { color: var(--c-text-muted); font-size: 11px; margin-top: 2px; }
.structItem-parts { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; }
.structItem-parts li::after { content: "·"; margin-left: 6px; color: var(--c-border); }
.structItem-parts li:last-child::after { content: ""; }
.structItem-parts a { color: var(--c-text-muted); }
.structItem-cell--meta { font-size: 11px; color: var(--c-text-muted); text-align: center; }
.structItem-cell--meta .pairs { display: flex; gap: 4px; justify-content: center; margin: 0; }
.structItem-cell--meta dt { font-weight: 400; } .structItem-cell--meta dd { margin: 0; font-weight: 700; color: var(--c-text-secondary); }
.structItem-cell--latest { font-size: 11px; color: var(--c-text-muted); }
.structItem-cell--latest .structItem-latestDate time { color: var(--c-accent); }

/* -- Temas recientes — column layout (icon | title/meta | resp | vistas | último) -- */
.board-date { text-align: right; color: var(--c-text-muted); font-size: 11px; margin: 0 2px 8px; }
.block--latest { border: 1px solid var(--c-border); border-radius: 5px; overflow: hidden; }
.block--latest .block-header.latest-head { display: grid; grid-template-columns: 30px 1fr 64px 64px 184px; align-items: center; gap: 0 8px; }
.latest-head .latest-h-title { grid-column: 1 / 3; text-transform: uppercase; letter-spacing: .03em; }
.latest-head .latest-h-r, .latest-head .latest-h-v { text-align: center; font-size: 10px; text-transform: uppercase; letter-spacing: .02em; color: rgba(255,255,255,.92); }
.latest-head .latest-h-last { font-size: 10px; text-transform: uppercase; letter-spacing: .02em; color: rgba(255,255,255,.92); }
.latest-thread-list { list-style: none; margin: 0; padding: 0; }
.latest-thread { display: grid; grid-template-columns: 30px 1fr 64px 64px 184px; align-items: center; gap: 0 8px; padding: 7px 12px; border-bottom: 1px solid var(--c-border); background: var(--c-surface); }
.latest-thread:nth-of-type(even) { background: var(--c-surface-alt); }
.latest-thread:hover { background: color-mix(in srgb, var(--c-accent-alt) 7%, var(--c-surface)); }
.latest-thread:last-child { border-bottom: 0; }
.latest-thread--pinned { background: linear-gradient(90deg, color-mix(in srgb,var(--c-accent-alt) 9%,var(--c-surface)) 0, var(--c-surface) 60%) !important; }
/* red "unread post" document icon */
.latest-thread-icon { width: 22px; height: 25px; border: 1px solid #c0392b; border-radius: 2px; background: #fff; position: relative; align-self: center; }
.latest-thread-icon::before { content: ""; position: absolute; left: 4px; right: 4px; top: 6px; height: 2px; background: #c0392b; box-shadow: 0 4px 0 #c0392b, 0 8px 0 #c0392b, 0 12px 0 #c0392b; }
.latest-thread-main { min-width: 0; }
.latest-thread-title { color: var(--c-accent); font-weight: 700; font-size: 13px; display: inline; }
.latest-thread-title:hover { color: #d31141; }
.latest-thread--pinned .latest-thread-title::before { content: "📌 "; }
.latest-thread-meta { color: var(--c-text-muted); font-size: 11px; margin-top: 2px; display: block; }
.latest-thread-meta a { color: var(--c-accent); }
.latest-thread-sep { color: var(--c-border); margin: 0 3px; }
.latest-thread-forum { font-weight: 600; }
.latest-thread-r, .latest-thread-v { text-align: center; font-size: 12px; color: var(--c-text-secondary); }
.latest-thread-last { font-size: 11px; color: var(--c-text-muted); line-height: 1.4; }
.latest-thread-last a { color: var(--c-accent); }
.latest-thread-last time { display: block; }
/* prosilver pagination strip */
.forum-pagination { padding: 7px 12px; background: var(--c-surface-alt); border-top: 1px solid var(--c-border); font-size: 11px; display: flex; gap: 4px; align-items: center; justify-content: flex-end; }
.forum-pagination .pg { display: inline-block; min-width: 18px; text-align: center; padding: 1px 5px; border: 1px solid var(--c-border); border-radius: 2px; background: #fff; color: var(--c-accent); }
.forum-pagination .pg--active { background: var(--c-accent-alt); color: #fff; border-color: #005d8e; font-weight: 700; }
.forum-pagination .pg-ellipsis { color: var(--c-text-muted); }
@media (max-width: 720px) {
  .block--latest .block-header.latest-head { grid-template-columns: 30px 1fr; }
  .latest-head .latest-h-r, .latest-head .latest-h-v, .latest-head .latest-h-last { display: none; }
  .latest-thread { grid-template-columns: 30px 1fr; }
  .latest-thread-r, .latest-thread-v, .latest-thread-last { display: none; }
}

/* -- Posts (.post: profile left, body right) -- */
.message { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 6px; margin-top: 12px; overflow: hidden; }
.message--op { border-color: var(--c-accent-alt); }
.message-inner { grid-template-columns: 184px 1fr; }
.message-cell--user { background: var(--c-surface-alt); border-right: 1px solid var(--c-border); padding: 12px; text-align: center; }
.message-cell--main { padding: 0; }
.message-name { margin-bottom: 6px; }
.message-name a { color: var(--c-accent); font-weight: 700; font-size: 14px; }
.userTitle { color: var(--c-text-muted); font-size: 11px; font-style: italic; margin: 2px 0 8px; }
.message-userExtras dl { justify-content: center; font-size: 11px; color: var(--c-text-muted); }
.avatar, .avatar--m, .avatar--xxl { border-radius: 3px; background: #fff; border: 1px solid var(--c-border); color: var(--c-accent); box-shadow: none; margin: 0 auto 8px; }
.avatar img { border-radius: 2px; box-shadow: none; }
.message-attribution { background: linear-gradient(to bottom, #fff, var(--c-surface-alt)); border-bottom: 1px solid var(--c-border); padding: 6px 14px; margin: 0; color: var(--c-text-muted); font-size: 11px; }
.message-attribution a, .message-permalink time { color: var(--c-text-muted); }
.message-cell--main .bbWrapper { padding: 14px; color: var(--c-text); font-size: 13px; }
.bbWrapper a { color: var(--c-accent); }
.bbWrapper a:hover { color: var(--c-accent); }
.bbWrapper blockquote { background: #fff; border: 1px solid var(--c-border); border-left: 2px solid var(--c-accent-alt); border-radius: 3px; padding: 8px 10px; font-size: 12px; color: var(--c-text-secondary); }
.bbWrapper th { background: var(--c-surface-alt); color: var(--c-text); }
.actionBar { padding: 6px 14px 12px; color: var(--c-text-muted); }
.actionBar-action, .actionBar a { color: var(--c-accent); }

/* -- CTAs (offer buttons) -- */
.forum-cta-inline { background: linear-gradient(to bottom, color-mix(in srgb,var(--c-success) 80%,#fff), var(--c-success)); border: 1px solid color-mix(in srgb,var(--c-success) 55%,#000); border-radius: 4px; color: #fff; font-size: 12px; padding: 6px 13px; }
.forum-cta-inline:hover { filter: brightness(1.05); }

/* -- Sidebar operator cards (logo + bonus, block layout = no text spill) -- */
.block--sidebar .block-header h3 { color: #fff; }
.sidebar-operators { list-style: none; margin: 0; padding: 0; }
.sidebar-operator { border-bottom: 1px solid var(--c-border); }
.sidebar-operator:last-child { border-bottom: 0; }
.sidebar-operator-link { display: block; padding: 9px 11px; color: var(--c-text-secondary); }
.sidebar-operator-link:hover { background: var(--c-surface-alt); text-decoration: none; }
.sidebar-operator-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sidebar-operator-rank { flex: none; font-weight: 700; color: var(--c-accent-alt); font-family: var(--font-heading); font-size: 13px; width: 13px; text-align: center; }
.sidebar-operator-logoWrap { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 2px 6px; background: #fff; border: 1px solid #e3e8ee; border-radius: 4px; }
.sidebar-operator-logo { max-height: 30px; max-width: 104px; width: auto; height: auto; object-fit: contain; display: block; }
.sidebar-operator-name { font-weight: 700; color: var(--c-accent); }
.sidebar-operator-badge { flex: none; font-size: 9px; padding: 1px 6px; background: color-mix(in srgb,var(--c-accent-alt) 13%,#fff); color: var(--c-accent-alt); border: 1px solid color-mix(in srgb,var(--c-accent-alt) 30%,#fff); border-radius: 3px; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.sidebar-operator-bonus { display: block; font-size: 11px; color: var(--c-text-secondary); line-height: 1.35; margin-top: 5px; }
.sidebar-operator-cta { display: inline-block; margin-top: 6px; font-size: 11px; font-weight: 700; color: #fff; background: linear-gradient(to bottom, color-mix(in srgb,var(--c-success) 80%,#fff), var(--c-success)); border: 1px solid color-mix(in srgb,var(--c-success) 55%,#000); border-radius: 3px; padding: 2px 12px; }
.sidebar-operator-link:hover .sidebar-operator-cta { filter: brightness(1.05); }
.sidebar-disclosure { color: var(--c-text-muted); padding: 7px 11px; font-size: 10px; }
.block--rg { background: var(--c-surface-alt); }
.block--rg a { color: var(--c-accent); }
.tagItem { background: var(--c-surface-alt); border: 1px solid var(--c-border); border-radius: 3px; color: var(--c-accent-alt); }

/* -- Member + about pages -- */
.memberHeader, .about-page { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 7px; }
.about-headshot-fallback, .about-name { color: var(--c-text); }
.about-name { color: var(--c-text); }
.about-headshot img, .about-headshot-fallback { border-radius: 4px; }
.about-headshot-fallback { background: var(--c-accent-alt); color: #fff; }

/* -- Footer -- */
.p-footer { background: var(--c-surface-alt); border-top: 2px solid var(--c-accent-alt); color: var(--c-text-muted); padding: 16px 18px 26px; margin-top: 22px; text-align: center; font-size: 11px; }
.p-footer-inner { color: var(--c-text-muted); }
.p-footer-rg strong { color: var(--c-accent); }
.p-footer-links a, .p-footer a { color: var(--c-accent); }
.p-footer-copy { color: var(--c-text-muted); }
@media (max-width: 980px) {
  .p-body-main { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .p-header { padding: 12px 0 0; }
  .p-header-inner { padding: 0 14px 10px; }
  .p-header-logo strong { font-size: 23px; }
  .p-header-search { margin-left: 0; width: 100%; }
  .p-nav-list { padding: 7px 14px; gap: 12px; }
  .p-body-main { padding: 0 12px 20px; }
  .node-body { grid-template-columns: 32px 1fr; }
  .node-body .node-stats { display: none; }
  .structItem { grid-template-columns: 24px 1fr; }
  .structItem .structItem-cell--meta, .structItem .structItem-cell--latest { display: none; }
  .message-inner { grid-template-columns: 1fr; }
  .message-cell--user { border-right: 0; border-bottom: 1px solid var(--c-border); display: flex; align-items: center; gap: 10px; text-align: left; }
  .message-cell--user .avatar, .message-cell--user .avatar--xxl { margin: 0; width: 40px; height: 40px; }
}
