/* Public forum. Loaded from the shop <head> on /forum pages so the theme cannot drop it. */
.shop-forum {
    --sf-navy: #0f1e3d;
    --sf-navy-2: #14254a;
    --sf-muted: #5c6b82;
    --sf-line: #e4e9f2;
    --sf-card: #fff;
    --sf-accent: #b08948;
}
/* Bootstrap primary/link tokens stay inside the page column so the shared header keeps its own colors. */
.shop-forum :where(.pd-main, .shop-main-column) {
    --bs-primary: #14254a;
    --bs-primary-rgb: 20, 37, 74;
    --bs-link-color: #14254a;
    --bs-link-hover-color: #0c1833;
}
.shop-forum :where(.pd-main, .shop-main-column) .btn-primary,
.shop-forum :where(.pd-main, .shop-main-column) a.btn-primary { background: var(--sf-navy-2); border-color: var(--sf-navy-2); color: #fff; }
.shop-forum :where(.pd-main, .shop-main-column) .btn-outline-primary { color: var(--sf-navy-2); border-color: #c5d0e4; }

.forum-nav { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; }
.forum-nav .btn { border-radius: 999px; }

.forum-hero { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-end; margin-bottom: 1.15rem; }
.forum-hero h1 { font-size: clamp(1.7rem, 2vw, 2.15rem); letter-spacing: -0.03em; margin: 0; color: var(--sf-navy, #0f1e3d); font-weight: 680; }
.forum-hero p { margin: 0.35rem 0 0; color: var(--sf-muted, #5c6b82); max-width: 40rem; }

.forum-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 1.25rem; align-items: start; }
.forum-side { display: grid; gap: 0.75rem; }
.forum-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.forum-stat, .forum-category, .forum-composer, .forum-post-card, .forum-profile, .forum-side-card {
    border: 1px solid var(--sf-line, #e4e9f2);
    border-radius: 16px;
    background: var(--sf-card, #fff);
    box-shadow: 0 10px 28px rgba(15, 30, 61, 0.05);
}
.forum-stat { padding: 0.75rem 0.85rem; display: flex; flex-direction: column; }
.forum-stat span { color: var(--sf-muted, #5c6b82); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; }
.forum-stat strong { font-size: 1.25rem; color: var(--sf-navy, #0f1e3d); }
.forum-side-card { padding: 0.9rem 1rem; }
.forum-side-card h2 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--sf-muted, #5c6b82); margin: 0 0 0.5rem; }

.forum-category { margin-bottom: 1rem; overflow: hidden; }
.forum-category-head {
    display: flex;
    align-items: center;
    padding: 0.85rem 1rem;
    background: #f6f8fc;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sf-muted, #5c6b82);
}
.forum-category-head h2 { font-size: 1rem; text-transform: none; letter-spacing: -0.02em; color: var(--sf-navy, #0f1e3d); margin: 0; font-weight: 680; }
.forum-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18.5rem;
    gap: 0.75rem 1.25rem;
    align-items: center;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--sf-line, #e4e9f2);
}
.forum-board.is-child { padding-left: 2.2rem; background: #fbfcfe; }
.forum-board-link { display: flex; gap: 0.75rem; align-items: flex-start; text-decoration: none; color: inherit; min-width: 0; }
.forum-board-copy { display: grid; gap: 0.12rem; min-width: 0; padding-top: 0.15rem; }
.forum-board-meta { display: flex; flex-wrap: wrap; gap: 0.15rem 0.9rem; margin-top: 0.15rem; color: #5c6b82; font-size: 0.78rem; }
.forum-board-meta strong { color: #0f1e3d; font-weight: 720; }
.forum-board-icon {
    position: relative; width: 2.5rem; height: 2.5rem; border-radius: 10px; display: grid; place-items: center; flex: none;
    background: rgba(20, 37, 74, 0.1); color: var(--sf-navy-2, #14254a);
}
.forum-board-icon .bi, .forum-latest-fallback .bi { position: absolute; inset: 0; display: grid; place-items: center; }
.forum-board.is-unread .forum-board-icon::after {
    content: ''; position: absolute; top: 0.15rem; right: 0.15rem; width: 0.55rem; height: 0.55rem;
    border-radius: 99px; background: #b08948; box-shadow: 0 0 0 2px #fff;
}
.forum-board > .forum-latest { display: flex; flex-direction: column; align-items: flex-start; gap: 0.55rem; width: fit-content; max-width: 100%; min-width: 0; justify-self: center; margin-inline: auto; }
.forum-board > .forum-latest .forum-latest-line { display: inline-grid; grid-template-columns: 1.75rem auto; gap: 0.45rem; align-items: start; width: auto; max-width: 100%; margin-inline: 0; justify-self: start; }
.forum-latest-copy { min-width: 0; width: fit-content; max-width: 15.6rem; display: grid; gap: 0.08rem; }
.forum-latest-line .forum-avatar, .forum-latest-fallback { width: 1.75rem; height: 1.75rem; }
.forum-latest-fallback { position: relative; display: grid; place-items: center; border-radius: 999px; background: #0f1e3d; color: #f3e6c8; font-size: 0.75rem; }
.forum-latest-title { display: block; min-width: 0; width: fit-content; max-width: 100%; }
.forum-latest-title .forum-label { display: inline-flex; vertical-align: 0.08em; margin: 0 0.35rem 0.12rem 0; }
.forum-latest-title a {
    display: inline; max-width: 100%;
    font-size: 0.85rem; font-weight: 600; line-height: 1.3;
    text-decoration: none; color: #0f1e3d;
    white-space: normal; word-break: normal; overflow-wrap: anywhere;
    overflow: visible; text-overflow: unset;
}
.forum-latest-title a.is-unread { font-weight: 700; }
.forum-latest-meta { color: #5c6b82; font-size: 0.78rem; display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; min-width: 0; }
.forum-latest-empty { width: 100%; min-height: 2.6rem; display: flex; align-items: center; justify-content: center; gap: 0.55rem; color: #5c6b82; font-size: 0.84rem; text-align: center; }
.forum-latest-empty .forum-empty-icon { width: 2.15rem; height: 2.15rem; font-size: 0.95rem; }
.forum-index-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 320px); gap: 1rem 1.15rem; align-items: stretch; }
.forum-index-side { align-self: stretch; min-width: 0; min-height: 100%; }
.forum-index-side-stick { position: sticky; top: 128px; }
.forum-index-side .forum-index-band { display: grid; grid-template-columns: 1fr; gap: 0.65rem; margin-top: 0; }
.forum-index-side .forum-index-band article { padding: 0; overflow: hidden; }
.forum-side-head { display: flex; align-items: center; gap: 0.45rem; margin: 0; padding: 0.7rem 0.85rem; border-bottom: 2px solid #b08948; background: linear-gradient(90deg, rgba(176, 137, 72, 0.18), transparent 72%); }
.forum-side-head i { color: #b08948; }
.forum-side-head h2, .forum-index-side .forum-side-head h2 { margin: 0; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; color: #0f1e3d; }
.forum-side-item { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: 0.45rem; align-items: center; padding: 0.28rem 0.65rem; border-top: 1px solid #eef2f7; text-decoration: none; color: inherit; }
.forum-side-title { display: flex; flex-wrap: nowrap; align-items: center; gap: 0.28rem; min-width: 0; }
.forum-side-title .forum-label { flex: none; }
.forum-index-side .forum-side-head { padding: 0.75rem 0.85rem; }
.forum-index-side .forum-side-item {
    align-items: start;
    gap: 0.55rem;
    padding: 0.56rem 0.85rem;
    border-top: 1px solid #e8eef6;
}
.forum-index-side .forum-side-item img,
.forum-index-side .forum-side-avatar { margin-top: 0.12rem; }
.forum-index-side .forum-side-title { display: block; min-width: 0; }
.forum-index-side .forum-side-title .forum-label {
    display: inline-flex;
    vertical-align: 0.05em;
    margin: 0 0.28rem 0.12rem 0;
}
.forum-index-side .forum-side-title strong {
    display: inline;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    word-break: break-word;
    overflow-wrap: anywhere;
    font-size: 0.8rem;
    font-weight: 550;
    line-height: 1.35;
    color: #1c2434;
}
.forum-index-side .forum-side-item:hover .forum-side-title strong { color: #b08948; }
.forum-index-side .forum-side-meta { font-size: 0.72rem; font-weight: 450; line-height: 1.35; color: #6b7c93; }
.forum-side-item:first-of-type { border-top: 0; }
.forum-side-item:hover { background: rgba(176, 137, 72, 0.1); }
.forum-side-item > span { min-width: 0; display: grid; gap: 0.12rem; }
.forum-side-item img, .forum-side-avatar { width: 1.75rem; height: 1.75rem; border-radius: 999px; object-fit: cover; background: #0f1e3d; }
.forum-side-avatar { display: grid; place-items: center; color: #f3e6c8; font-size: 0.72rem; }
.forum-side-item .forum-label { justify-self: start; }
.forum-side-item strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #0f1e3d; font-weight: 680; line-height: 1.3; }
.forum-side-meta { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; color: #5c6b82; font-size: 0.75rem; }
.forum-side-pill { display: inline-flex; align-items: center; gap: 0.25rem; border-radius: 999px; background: rgba(176, 137, 72, 0.16); color: #6b4f2a; padding: 0.05rem 0.45rem; font-size: 0.72rem; font-weight: 750; }
.forum-index-side .forum-latest-empty { padding: 0.7rem 0.85rem; }
.forum-index-side .forum-cloud { padding: 0.7rem 0.85rem 0.85rem; gap: 0.35rem; }
.forum-index-band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1rem; }
.forum-index-band article { background: #fff; border: 1px solid #e4e9f2; border-radius: 16px; padding: 0.9rem 1rem; }
.forum-index-band h2 { margin: 0 0 0.6rem; font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; color: #5c6b82; }
.forum-band-line { display: grid; gap: 0.1rem; text-decoration: none; color: inherit; padding: 0.35rem 0; border-top: 1px solid #eef2f7; }
.forum-band-line strong { color: #0f1e3d; }
.forum-band-line span { color: #5c6b82; font-size: 0.8rem; }
.forum-cloud-card { margin-top: 1rem; background: #fff; border: 1px solid #e4e9f2; border-radius: 16px; overflow: hidden; }
.forum-cloud-card .forum-cloud { padding: 0.75rem 1rem 0.95rem; }
.forum-cloud { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.forum-cloud a { color: #14254a; text-decoration: none; font-weight: 650; border-radius: 999px; background: rgba(20, 37, 74, 0.06); padding: 0.12rem 0.55rem; }
.forum-cloud a:hover { color: #8d6a32; background: rgba(176, 137, 72, 0.18); }
.forum-board-title { font-weight: 650; display: block; }
.forum-board-desc, .forum-last > span { color: var(--sf-muted, #5c6b82); font-size: 0.84rem; }
.forum-last a { font-weight: 620; text-decoration: none; display: block; }
.forum-last-author { display: flex; align-items: center; gap: 0.5rem; min-width: 0; margin-top: 0.25rem; color: var(--sf-muted, #5c6b82); font-size: 0.84rem; }
.forum-last-author .forum-avatar { width: 1.75rem; height: 1.75rem; flex: 0 0 auto; }
.forum-last-author > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-avatar { width: 2.4rem; height: 2.4rem; border-radius: 999px; object-fit: cover; background: #14254a; display: block; }
.forum-avatar.lg { width: 5.5rem; height: 5.5rem; }

.forum-thread-list { display: grid; gap: 0.6rem; margin-bottom: 1rem; }
.forum-thread-row, .forum-post-card {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.85rem;
    padding: 0.95rem 1rem; border: 1px solid var(--sf-line, #e4e9f2); border-radius: 16px; background: #fff;
    box-shadow: 0 8px 22px rgba(15, 30, 61, 0.04);
}
.forum-thread-title { font-weight: 650; text-decoration: none; color: var(--sf-navy, #0f1e3d); }
.forum-thread-title.is-unread { font-weight: 750; }
.forum-badges, .forum-tools, .forum-toolbar { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.forum-crumbs { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.85rem; margin-bottom: 0.8rem; color: var(--sf-muted, #5c6b82); }
.forum-post-card { grid-template-columns: 12rem minmax(0, 1fr); margin-bottom: 0.8rem; }
.forum-author { display: flex; flex-direction: column; align-items: flex-start; gap: 0.3rem; }
.forum-rank { color: var(--sf-accent, #b08948); font-size: 0.82rem; font-weight: 650; }
.forum-group-badge { color: #fff !important; background: #14254a; }
.forum-tools { margin-top: 0.8rem; }
.forum-profile { display: block; padding: 0 0 1.25rem; margin-bottom: 1rem; overflow: hidden; }
.forum-profile h1 { margin: 0; font-size: 1.6rem; letter-spacing: -0.03em; color: #0f1e3d; }
.forum-cover-band { height: 8.5rem; border-radius: 16px 16px 0 0; background: linear-gradient(120deg, #0f1e3d, #243864 55%, #b08948); margin: 0; }
.forum-profile-head { display: flex; align-items: flex-end; gap: 1rem; padding: 0 1.25rem; margin-top: -2.75rem; }
.forum-profile-head .forum-avatar.lg { border: 4px solid #fff; box-shadow: 0 8px 22px rgba(15, 30, 61, 0.16); background: #14254a; }
.forum-profile-id {
    min-width: 0; margin-bottom: 0.15rem; padding: 0.55rem 0.9rem 0.5rem;
    background: #fff; color: #0f1e3d; border-radius: 14px;
    box-shadow: 0 8px 22px rgba(15, 30, 61, 0.1);
}
.shop-forum .forum-profile .forum-profile-id h1 { color: #0f1e3d; }
.forum-profile-id .forum-rank { color: #6b4f2a; margin: 0.15rem 0 0; }
.forum-profile-id .forum-group-badge { color: #fff; text-shadow: 0 1px 1px rgba(8, 14, 28, 0.45); }
.forum-profile-stats { list-style: none; padding: 0; margin: 1rem 1.25rem 0; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.forum-profile-stats li { background: #f6f8fc; border-radius: 12px; padding: 0.55rem 0.9rem; min-width: 6.5rem; }
.forum-profile-stats span { display: block; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sf-muted, #5c6b82); }
.forum-profile-stats strong { display: block; margin-top: 0.1rem; font-size: 1.15rem; color: var(--sf-navy, #0f1e3d); }
.forum-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 1rem 1.25rem 0; }
.forum-tabs button {
    border-radius: 999px; border: 1px solid var(--sf-line, #e4e9f2); background: #fff; color: var(--sf-navy, #0f1e3d);
    padding: 0.35rem 0.85rem; font-size: 0.85rem;
}
.forum-tabs button.active { background: var(--sf-navy, #0f1e3d); color: #fff; border-color: var(--sf-navy, #0f1e3d); }
.forum-profile-panel { padding: 0.35rem 1.25rem 0; }
.forum-profile-entry { padding: 0.75rem 0; border-top: 1px solid var(--sf-line, #e4e9f2); }
.forum-profile-entry a { font-weight: 650; text-decoration: none; color: var(--sf-navy, #0f1e3d); }
.forum-profile-entry p { margin: 0.25rem 0 0; color: var(--sf-muted, #5c6b82); }
.forum-wall-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.75rem; align-items: start; padding: 0.9rem 0; border-top: 1px solid var(--sf-line, #e4e9f2); }
.forum-wall-item.is-reply { margin-left: 0; border-top: 0; padding-top: 0.7rem; }
.forum-wall-body { min-width: 0; }
.forum-wall-body .forum-post { margin-top: 0.25rem; }
.forum-signature, .forum-reply { border-top: 1px solid var(--sf-line, #e4e9f2); margin-top: 0.8rem; padding-top: 0.6rem; color: var(--sf-muted, #5c6b82); }
.forum-cover { width: 100%; max-height: 22rem; object-fit: cover; border-radius: 16px; }
.forum-post { overflow-wrap: anywhere; line-height: 1.6; }
.forum-post .forum-quote { border-left: 3px solid var(--sf-navy-2, #14254a); margin: 0.75rem 0; padding: 0.55rem 0.8rem; background: #f6f8fc; border-radius: 0 10px 10px 0; }
.forum-post .forum-code { background: #0f1e3d; color: #e8edf7; padding: 0.8rem; overflow: auto; border-radius: 10px; }
.forum-inline-code { font-size: 0.92em; background: rgba(20, 37, 74, 0.08); border-radius: 6px; padding: 0.05rem 0.3rem; }
.forum-post .forum-heading { margin: 0.9rem 0 0.35rem; color: #0f1e3d; letter-spacing: -0.02em; }
.forum-list { margin: 0.4rem 0 0.4rem 1.1rem; padding: 0; }
.forum-table { overflow-x: auto; max-width: 100%; margin: 0.75rem 0; border: 1px solid #e4e9f2; border-radius: 12px; }
.forum-table table { width: 100%; border-collapse: collapse; min-width: 18rem; }
.forum-table th, .forum-table td { border: 1px solid #e4e9f2; padding: 0.4rem 0.65rem; text-align: left; vertical-align: top; }
.forum-table th { background: #f6f8fc; color: #0f1e3d; font-weight: 700; }
[data-bs-theme="dark"] .forum-post .forum-heading { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-inline-code { background: rgba(243, 230, 200, 0.12); color: #f3e6c8; }
[data-bs-theme="dark"] .forum-table { border-color: #2a3550; }
[data-bs-theme="dark"] .forum-table th,
[data-bs-theme="dark"] .forum-table td { border-color: #2a3550; color: #f4f7fb; }
[data-bs-theme="dark"] .forum-table th { background: #182238; }
.forum-image { max-width: min(100%, 36rem); height: auto; border-radius: 10px; }
.forum-image-locked {
    display: inline-flex; align-items: center; min-height: 4.5rem; max-width: 16rem;
    padding: 0.75rem 1rem; border: 1px dashed #c5d0e4; border-radius: 12px;
    background: #f6f8fc; color: var(--sf-muted, #5c6b82); text-decoration: none;
}
.forum-lightbox { display: inline-block; }
dialog.forum-lightbox-dialog { border: 0; padding: 0; background: transparent; max-width: 96vw; }
dialog.forum-lightbox-dialog img { max-width: 96vw; max-height: 90vh; }
dialog.forum-lightbox-dialog::backdrop { background: rgba(8, 14, 28, 0.78); }
.forum-unread { font-weight: 700; }
.forum-hp { position: absolute; left: -9999px; height: 0; width: 0; opacity: 0; }
.forum-mention { font-weight: 650; color: var(--sf-navy-2, #14254a); }
.forum-drop { border: 1.5px dashed #c5d0e4; border-radius: 16px; padding: 1.15rem 1rem; text-align: center; color: var(--sf-muted, #5c6b82); cursor: pointer; background: #f8fafc; }
.forum-attach-label { margin: 0 0 0.4rem; font-size: 0.82rem; font-weight: 650; color: #0f1e3d; }
.forum-drop { display: grid; justify-items: center; gap: 0.2rem; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.forum-drop strong { color: #0f1e3d; font-size: 0.95rem; }
.forum-drop small { max-width: 36rem; line-height: 1.4; }
.forum-drop-ico { width: 2.6rem; height: 2.6rem; border-radius: 999px; display: grid; place-items: center; background: rgba(20, 37, 74, 0.08); color: #14254a; margin-bottom: 0.2rem; }
.forum-drop:hover, .forum-drop.is-over { border-color: #b08948; background: rgba(176, 137, 72, 0.08); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(15, 30, 61, 0.08); }
.forum-file-card { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: 0.55rem; align-items: center; border: 1px solid #e4e9f2; border-radius: 12px; padding: 0.45rem 0.55rem; margin-top: 0.45rem; background: #fff; }
.forum-file-thumb, .forum-file-thumb img { width: 2.4rem; height: 2.4rem; border-radius: 8px; object-fit: cover; background: #f3e6c8; display: grid; place-items: center; }
.forum-file-meta { min-width: 0; display: grid; gap: 0.15rem; }
.forum-file-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.82rem; }
.forum-file-meta small { color: #5c6b82; }
.forum-file-meta progress { width: 100%; height: 0.35rem; }
.forum-file-remove { border: 0; background: transparent; color: #8d3a3a; font-size: 1.1rem; line-height: 1; }
.forum-label-picker { border: 1px solid #e4e9f2; border-radius: 14px; background: #fff; margin-bottom: 0.8rem; }
.forum-label-picker summary { display: flex; justify-content: space-between; gap: 0.6rem; align-items: center; padding: 0.65rem 0.8rem; cursor: pointer; list-style: none; }
.forum-label-picker summary::-webkit-details-marker { display: none; }
.forum-label-picker-title { display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 700; color: #0f1e3d; }
.forum-label-picker-title i { color: #b08948; }
.forum-label-summary { display: flex; flex-wrap: wrap; gap: 0.25rem; justify-content: flex-end; }
.forum-label-empty { color: #8b97ab; font-size: 0.8rem; }
.forum-label-groups { display: grid; gap: 0.7rem; padding: 0 0.8rem 0.8rem; }
.forum-label-set p { margin: 0 0 0.35rem; font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: #5c6b82; }
.forum-label-mode { display: block; margin-top: 0.12rem; font-size: 0.72rem; font-weight: 550; letter-spacing: 0; text-transform: none; color: #8d6a32; }
.forum-label-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.forum-chip-pick { cursor: pointer; margin: 0; }
.forum-chip-pick input { position: absolute; opacity: 0; pointer-events: none; }
.forum-chip-pick .forum-label { opacity: 0.55; }
.forum-chip-pick.is-on .forum-label { opacity: 1; outline: 2px solid #b08948; }
.forum-emoji-bar { position: relative; display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; margin-top: 0.55rem; }
.forum-emoji-hint { color: #6b7c93; font-size: 0.78rem; }
.forum-emoji-pop { position: absolute; z-index: 30; left: 0; top: calc(100% + 0.35rem); width: min(22rem, 100%); background: #fff; border: 1px solid #e4e9f2; border-radius: 14px; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.16); padding: 0.55rem; }
.forum-emoji-pop[hidden] { display: none; }
.forum-emoji-tabs { display: flex; gap: 0.3rem; margin-bottom: 0.45rem; }
.forum-emoji-tabs button, .forum-emoji-cats button, .forum-emoji-more { border: 1px solid #d5deee; background: #fff; color: #0f1e3d; border-radius: 999px; padding: 0.15rem 0.6rem; font-size: 0.78rem; }
.forum-emoji-tabs button.is-active, .forum-emoji-cats button.is-active { background: #0f1e3d; color: #fff; border-color: #0f1e3d; }
.forum-emoji-modal { position: fixed; inset: 0; z-index: 1080; background: rgba(8, 14, 28, 0.55); display: grid; place-items: center; padding: 1rem; }
.forum-emoji-modal[hidden] { display: none; }
.forum-emoji-dialog { width: min(40rem, 100%); max-height: min(34rem, 100%); overflow: auto; background: #fff; color: #0f1e3d; border-radius: 18px; padding: 0.85rem; }
.forum-emoji-dialog header { display: flex; justify-content: space-between; align-items: center; }
.forum-emoji-dialog input { width: 100%; margin: 0.55rem 0; border: 1px solid #d5deee; border-radius: 999px; padding: 0.4rem 0.8rem; }
.forum-emoji-cats, .forum-emoji-grid { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.forum-emoji-grid { margin-top: 0.45rem; }
.forum-emoji-cell { width: 2.2rem; height: 2.2rem; border: 0; border-radius: 8px; background: transparent; font-size: 1.25rem; }
.forum-emoji-cell:hover, .forum-emoji-cell:focus { background: rgba(176, 137, 72, 0.18); outline: 2px solid #b08948; }
.forum-emoji-recent-label { margin: 0.4rem 0 0; font-size: 0.72rem; color: #5c6b82; text-transform: uppercase; letter-spacing: 0.04em; }
[data-bs-theme="dark"] .forum-drop,
[data-bs-theme="dark"] .forum-file-card,
[data-bs-theme="dark"] .forum-label-picker,
[data-bs-theme="dark"] .forum-emoji-pop,
[data-bs-theme="dark"] .forum-emoji-dialog { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-drop strong,
[data-bs-theme="dark"] .forum-attach-label,
[data-bs-theme="dark"] .forum-label-picker-title { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-label-mode { color: #e0c48a; }
[data-bs-theme="dark"] .forum-drop-ico { background: rgba(243, 230, 200, 0.12); color: #f3e6c8; }
[data-bs-theme="dark"] .forum-emoji-tabs button,
[data-bs-theme="dark"] .forum-emoji-cats button,
[data-bs-theme="dark"] .forum-emoji-dialog input { background: #182238; color: #f4f7fb; border-color: #2a3550; }
.shop-forum input[type="file"] { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
.forum-file { display: flex; justify-content: space-between; gap: 0.5rem; align-items: center; font-size: 0.85rem; }
.forum-empty-note { color: var(--sf-muted, #5c6b82); }
.forum-pager { margin: 1rem 0; }
.forum-suggest { position: relative; }
.forum-suggest-list { position: absolute; z-index: 20; left: 0; right: 0; background: #fff; border: 1px solid var(--sf-line, #e4e9f2); border-radius: 12px; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.12); margin-top: 0.25rem; }
.forum-suggest-list a { display: block; padding: 0.55rem 0.75rem; text-decoration: none; color: inherit; }
.forum-suggest-list a:hover { background: #f6f8fc; }
.forum-live-hit { background: #f3e6c8; border-radius: 2px; }
.forum-quill-wrap { display: block; clear: both; width: 100%; margin: 0 0 0.85rem; height: auto; }
.forum-quill-wrap .ql-toolbar { border-radius: 12px 12px 0 0; }
.forum-quill-wrap .ql-container { height: auto !important; max-height: none; overflow: visible; min-height: 8rem; border-radius: 0 0 12px 12px; font-size: 1rem; }
.forum-quill-wrap .ql-editor { height: auto; max-height: none; overflow: visible; min-height: 7.5rem; }
@media (max-width: 991.98px) {
    .forum-layout, .forum-index-layout { grid-template-columns: 1fr; }
    .forum-index-side-stick { position: static; }
}
@media (max-width: 767.98px) {
    .forum-board, .forum-post-card, .forum-index-band { grid-template-columns: 1fr; }
    .forum-board { align-items: start; }
    .forum-profile-head { align-items: flex-end; }
    .forum-cover-band { height: 6.5rem; }
    .forum-tabs, .forum-profile-stats, .forum-profile-head, .forum-profile-panel { margin-left: 1rem; margin-right: 1rem; }
    .forum-profile-head { margin-top: -2.4rem; padding: 0; }
}

.shop-forum .form-check-input,
.shop-account-forum .form-check-input {
    border-color: #4a5160;
    background-color: #e6e8ee;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, background-position .15s ease-in-out;
}
.shop-forum .form-check-input:focus,
.shop-account-forum .form-check-input:focus {
    border-color: #1f6b45;
    box-shadow: 0 0 0 .25rem rgba(31, 107, 69, .25);
}
.shop-forum .form-check-input:checked,
.shop-account-forum .form-check-input:checked {
    background-color: #1f6b45;
    border-color: #1f6b45;
}
.shop-forum .form-switch .form-check-input,
.shop-account-forum .form-switch .form-check-input {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
    background-color: #e6e8ee;
    border: 1px solid #4a5160;
}
.shop-forum .form-switch .form-check-input:checked,
.shop-account-forum .form-switch .form-check-input:checked,
.shop-forum .form-switch .form-check-input:focus,
.shop-account-forum .form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}
.shop-forum .form-switch .form-check-input:checked,
.shop-account-forum .form-switch .form-check-input:checked {
    background-color: #1f6b45;
    border-color: #1f6b45;
}
.forum-index { width: 100%; }
.forum-category > summary { list-style: none; cursor: pointer; }
.forum-category > summary::-webkit-details-marker { display: none; }
.forum-stats-band { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1.25rem; }
.forum-stats-band article { background: #fff; border: 1px solid #e4e9f2; border-radius: 16px; padding: 0.85rem 0.9rem; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: 0.7rem; align-items: center; }
.forum-stat-ico, .forum-stats-band img { grid-row: 1 / span 2; width: 2.5rem; height: 2.5rem; border-radius: 12px; display: grid; place-items: center; background: rgba(176, 137, 72, 0.16); color: #b08948; font-size: 1rem; }
.forum-stats-band .forum-stat-ico,
.forum-stats-band .forum-stat-ico i { color: #b08948; font-size: 1rem; }
.forum-stats-band img { border-radius: 999px; object-fit: cover; background: #0f1e3d; }
.forum-stats-band span { color: #5c6b82; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; }
.forum-stats-band strong, .forum-stats-band a { color: #0f1e3d; font-size: 1.28rem; line-height: 1.15; text-decoration: none; font-weight: 720; }
.forum-stats-band a { font-size: 0.95rem; }
.forum-search-hero { position: relative; margin-bottom: 1rem; }
.forum-search-field { display: flex; align-items: center; gap: 0.65rem; border: 1px solid #d5deee; border-radius: 999px; padding: 0.7rem 1rem; background: #fff; }
.forum-search-field i { color: #b08948; }
.forum-search-field input { border: 0; flex: 1; outline: none; font-size: 1.05rem; background: transparent; }
.forum-search-scopes { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.55rem; }
.forum-search-scopes button { border-radius: 999px; border: 1px solid #d5deee; background: #fff; color: #14254a; padding: 0.2rem 0.75rem; }
.forum-search-scopes button.is-active { background: #14254a; color: #fff; border-color: #b08948; }
.forum-suggest-list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 0.35rem); background: #fff; border: 1px solid #e4e9f2; border-radius: 14px; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.12); padding: 0.45rem; max-height: 24rem; overflow: auto; }
.forum-suggest-type { margin: 0.35rem 0.4rem 0.15rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: #5c6b82; }
.forum-suggest-list a.forum-suggest-hit,
.forum-suggest-list a.forum-suggest-all { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.45rem 0.55rem; text-decoration: none; color: inherit; border-radius: 10px; }
.forum-suggest-hit.is-active, .forum-suggest-hit:hover { background: rgba(20, 37, 74, 0.06); }
.forum-suggest-hit img,
.forum-suggest-hit > i {
    flex: 0 0 1.75rem; width: 1.75rem; height: 1.75rem; border-radius: 999px; object-fit: cover;
    display: grid; place-items: center; background: #eef2f8; color: #0f1e3d;
}
.forum-suggest-hit > span { min-width: 0; display: block; white-space: normal; }
.forum-suggest-hit small { display: block; color: #5c6b82; }
.forum-suggest-hit .forum-live-hit { padding: 0; margin: 0; background: #f3e6c8; color: inherit; border-radius: 0; }
.forum-suggest-skeleton, .forum-suggest-empty { padding: 0.7rem; color: #5c6b82; }
.forum-account-tabs { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1.1rem; }
.forum-account-tabs a {
    display: inline-flex; align-items: center; gap: 0.4rem; text-decoration: none; border-radius: 999px;
    padding: 0.42rem 0.95rem; border: 1px solid #d5deee; background: #fff; color: #14254a; font-weight: 650;
    box-shadow: 0 1px 0 rgba(15, 30, 61, 0.04);
}
.shop-forum .forum-account-tabs a.is-active,
.shop-forum .forum-account-tabs a.is-active:hover { background: #0f1e3d; color: #fff; border-color: #b08948; box-shadow: inset 0 -2px 0 #b08948; }
.forum-tab-count { background: #b08948; color: #0f1e3d; border-radius: 999px; min-width: 1.25rem; padding: 0 0.35rem; font-size: 0.72rem; font-weight: 750; text-align: center; line-height: 1.35rem; }
.forum-account-tabs a.is-active .forum-tab-count { background: #f3e6c8; }
.forum-member-suggest { border: 1px solid #e4e9f2; border-radius: 10px; background: #fff; }
.forum-member-option { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 0.4rem 0.6rem; }
#forum-media-picker .forum-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.6rem; }
#forum-media-picker .forum-grid-item { border: 0; background: transparent; padding: 0; }
#forum-media-picker .media-frame { height: 110px; display: grid; place-items: center; border-radius: 10px; overflow: hidden; padding: 0.35rem; }
#forum-media-picker .media-frame img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
#forum-media-picker .media-frame.is-light { background: #17233f; }
#forum-media-picker .media-frame.is-dark { background: #f7f8fb; }
#forum-media-picker .media-frame.is-checker { background: #e7edf6; }
.forum-editor { position: relative; }
.forum-emoji-btn {
    width: 2.15rem; height: 2.15rem; border-radius: 999px; border: 1px solid #d5deee;
    background: #fff; display: inline-grid; place-items: center; padding: 0; line-height: 0;
}
.forum-emoji-btn[aria-expanded="true"] { background: #0f1e3d; border-color: #b08948; }
.forum-emoji-btn svg, .forum-emoji-face svg { width: 1.25rem; height: 1.25rem; display: block; }
.forum-emoji,
[data-emoji-view="smileys"] {
    display: grid;
    grid-template-columns: repeat(8, 2.15rem);
    gap: 0.3rem;
    align-content: start;
}
[data-emoji-view="smileys"][hidden] { display: none; }
.forum-emoji {
    position: absolute; z-index: 25; left: 0; top: 2.7rem;
    padding: 0.5rem; margin: 0; background: #fff; border: 1px solid #e4e9f2; border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15, 30, 61, 0.12);
}
.forum-emoji-face {
    width: 2.15rem; height: 2.15rem; border: 0; border-radius: 10px; background: #f6f8fc;
    display: grid; place-items: center; padding: 0;
}
.forum-emoji-face:hover { background: #f3e6c8; }
.forum-mail-list { background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; overflow: hidden; }
.forum-mail {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center;
    padding: 0.85rem 1rem; border: 0; border-bottom: 1px solid #eef2f7; border-radius: 0; background: transparent;
    text-decoration: none; color: inherit;
}
.forum-mail:last-child { border-bottom: 0; }
.forum-mail:hover { background: #f7f8fb; }
.forum-mail.is-unread .forum-mail-subject { font-weight: 760; }
.forum-mail img, .forum-person img, .forum-saved-author img { width: 40px; height: 40px; border-radius: 999px; object-fit: cover; background: #14254a; }
.forum-mail-main { min-width: 0; display: grid; gap: 0.12rem; }
.forum-mail-who, .forum-mail-meta { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; min-width: 0; }
.forum-mail-subject { color: #0f1e3d; font-weight: 520; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-mail-excerpt { display: block; color: #5c6b82; font-size: 0.84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.forum-mail time, .forum-saved time { color: #5c6b82; font-size: 0.78rem; white-space: nowrap; }
.forum-unread-dot { width: 0.55rem; height: 0.55rem; border-radius: 99px; background: #b08948; display: inline-block; box-shadow: 0 0 0 3px rgba(176, 137, 72, 0.18); }
.forum-reply-chip, .forum-count-chip { display: inline-flex; align-items: center; border-radius: 999px; background: #f4f6fb; color: #14254a; padding: 0.12rem 0.55rem; font-size: 0.75rem; font-weight: 700; white-space: nowrap; }
.forum-mail-side { display: grid; justify-items: end; gap: 0.35rem; }
[data-bs-theme="dark"] .forum-emoji,
[data-bs-theme="dark"] [data-emoji-view="smileys"],
[data-bs-theme="dark"] .forum-suggest-list { background: #121a2e; border-color: #2a3550; color: #f4f7fb; }
[data-bs-theme="dark"] .forum-emoji-face { background: #1a2438; }
@media (max-width: 575.98px) {
    .forum-mail { grid-template-columns: auto minmax(0, 1fr); }
    .forum-mail-side { grid-column: 2; justify-items: start; grid-auto-flow: column; align-items: center; }
    .forum-emoji,
    [data-emoji-view="smileys"] { grid-template-columns: repeat(6, 2.15rem); }
}
@media (max-width: 1100px) { .forum-stats-band { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .forum-stats-band { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.shop-forum :where(.pd-main, .shop-main-column) a { color: #14254a; text-decoration: none; }
.shop-forum :where(.pd-main, .shop-main-column) a:hover { color: #8d6a32; }
.shop-forum :where(.pd-main, .shop-main-column) .btn-primary,
.shop-forum :where(.pd-main, .shop-main-column) a.btn-primary { background: #0f1e3d; border-color: #0f1e3d; color: #fff; }
.shop-forum :where(.pd-main, .shop-main-column) .btn-outline-primary,
.shop-forum :where(.pd-main, .shop-main-column) .btn-outline-secondary { color: #0f1e3d; border-color: #d5deee; background: #fff; }
.shop-forum :where(.pd-main, .shop-main-column) .page-link { color: #0f1e3d; border-color: #e4e9f2; }
.shop-forum :where(.pd-main, .shop-main-column) .page-item.active .page-link { background: #0f1e3d; border-color: #b08948; color: #fff; }
.pd-estore-catnav__all.forum-menu-trigger { background: #0f1e3d !important; color: #fff !important; border: 1px solid #b08948; box-shadow: none; }
.forum-mega { display: grid; grid-template-columns: minmax(0, 1fr) 18.5rem; gap: 1rem; padding: 0.35rem; align-items: stretch; }
.forum-mega-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; align-items: start; }
.forum-mega-label { margin: 0 0 0.45rem; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #5c6b82; }
.forum-mega-item { display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.45rem; border-radius: 12px; color: inherit; text-decoration: none; }
.forum-mega-item:hover { background: rgba(176, 137, 72, 0.12); color: #0f1e3d; }
.forum-mega-item strong { display: flex; gap: 0.35rem; align-items: center; color: #0f1e3d; }
.forum-mega-item small { display: block; color: #5c6b82; font-size: 0.78rem; }
.forum-mega-ico { position: relative; width: 2.1rem; height: 2.1rem; border-radius: 10px; display: grid; place-items: center; background: #0f1e3d; color: #f3e6c8; flex: 0 0 auto; }
.forum-mega-ico .bi { position: absolute; }
.forum-mega-ico .fa-solid { position: relative; z-index: 1; }
.forum-mega-badge { background: #b08948; color: #0f1e3d; border-radius: 999px; padding: 0 0.4rem; font-size: 0.72rem; }
.forum-mega-aside { box-sizing: border-box; align-self: stretch; background: #0f1e3d; color: #f4f7fb; border-radius: 16px; padding: 0.65rem 0.75rem; display: flex; flex-direction: column; justify-content: flex-start; gap: 0.4rem; height: 100%; min-height: 100%; overflow: hidden; }
.forum-mega-aside .forum-mega-label { color: #e4c48a; margin-bottom: 0.15rem; }
.forum-mega-threads { display: grid; gap: 0.28rem; align-content: start; flex: 1 1 auto; min-height: 0; }
.forum-mega-thread { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr); gap: 0.4rem; align-items: start; text-decoration: none; color: inherit; }
.forum-mega-thread > span { min-width: 0; }
.forum-mega-thread img, .forum-mega-avatar { width: 1.35rem; height: 1.35rem; border-radius: 999px; object-fit: cover; background: #243864; }
.forum-mega-avatar { display: grid; place-items: center; color: #f3e6c8; font-size: 0.65rem; }
.forum-mega-thread-title { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.forum-mega-thread-title .forum-label { flex: none; align-self: flex-start; width: auto; font-size: 0.62rem; line-height: 1.15; padding: 0.02rem 0.32rem; margin: 0; }
.shop-forum .forum-mega-aside a.forum-mega-thread,
.shop-forum .forum-mega-aside a.forum-mega-thread strong { color: #fff; font-weight: 700; text-decoration: none; }
.forum-mega-thread-title strong {
    width: 100%; min-width: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; white-space: normal; word-break: break-word; overflow-wrap: anywhere; text-overflow: unset;
    font-size: 0.84rem; line-height: 1.25;
}
.forum-mega-thread-title strong.is-long { font-size: 0.8rem; }
.forum-mega-thread small { display: block; margin-top: 0.02rem; color: #d5deee; font-size: 0.68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.shop-forum .forum-mega-aside a.forum-mega-go { color: #0f1e3d; }
.forum-mega-foot { margin-top: auto; flex: none; padding-top: 0.7rem; border-top: 1px solid rgba(228, 196, 138, 0.28); }
.forum-mega-quiet, .forum-mega-aside .forum-mega-stat { margin: 0 0 0.7rem; color: #d5deee; font-size: 0.6rem; line-height: 1.25; white-space: normal; }
.forum-mega-quiet { margin-bottom: 0; }
.forum-mega-stat i { font-size: 0.65rem; margin-right: 0.15rem; }
.forum-mega-actions { display: flex; flex-wrap: nowrap; gap: 0.35rem; margin: 0; }
.forum-mega-go { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; background: #b08948; color: #0f1e3d; border-radius: 999px; padding: 0.26rem 0.4rem; font-size: 0.72rem; font-weight: 700; text-decoration: none; border: 1px solid #b08948; white-space: nowrap; }
.shop-forum .forum-mega-aside a.forum-mega-go.is-ghost { background: transparent; color: #f3e6c8; border-color: rgba(243, 230, 200, 0.5); }
.forum-bar { position: relative; display: flex; justify-content: space-between; gap: 0.85rem; align-items: center; flex-wrap: nowrap; min-height: 46px; margin-bottom: 1rem; }
.forum-bar-crumbs { position: relative; z-index: 2; display: flex; flex-wrap: nowrap; gap: 0.4rem; align-items: center; color: #5c6b82; flex: 0 1 auto; min-width: 0; max-width: calc((100% - min(58.125rem, 80%)) / 2 - 0.75rem); overflow: hidden; white-space: nowrap; }
.forum-bar-crumbs a, .forum-bar-crumbs span { display: inline-flex; gap: 0.35rem; align-items: center; }
.forum-bar-crumbs i { color: #b08948; font-size: 0.7rem; }
.forum-bar-compose { position: relative; z-index: 2; flex: none; }
.forum-bar-search {
    position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%);
    display: flex; align-items: center; gap: 0.55rem; box-sizing: border-box;
    width: min(58.125rem, 80%); min-height: 46px; height: 46px; margin: 0; padding: 0.28rem 0.45rem 0.28rem 0.35rem;
    border: 1px solid rgba(213, 222, 238, 0.95); border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 248, 252, 0.78));
    box-shadow: 0 12px 30px rgba(15, 30, 61, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.forum-bar-search:focus-within {
    border-color: #b08948;
    box-shadow: 0 0 0 4px rgba(176, 137, 72, 0.24), 0 14px 32px rgba(15, 30, 61, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.forum-search-ico {
    width: 1.9rem; height: 1.9rem; border-radius: 999px; display: inline-grid; place-items: center; flex: none;
    background: linear-gradient(180deg, rgba(243, 230, 200, 0.95), rgba(176, 137, 72, 0.28));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}
.forum-search-ico i { color: #b08948; font-size: 0.85rem; }
.forum-bar-search input {
    border: 0; background: transparent; width: 100%; min-width: 0; outline: none; color: #0f1e3d;
    font-size: 0.98rem; padding: 0; appearance: none;
}
.forum-bar-search input::-webkit-search-decoration,
.forum-bar-search input::-webkit-search-cancel-button,
.forum-bar-search input::-webkit-search-results-button { appearance: none; display: none; }
.forum-bar-search input::placeholder { color: #6b7c93; }
.forum-search-kbd {
    flex: none; margin: 0; border: 1px solid rgba(176, 137, 72, 0.38); border-radius: 999px;
    background: rgba(255, 255, 255, 0.62); color: #6b4f2a; padding: 0.16rem 0.55rem;
    font-family: inherit; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em; line-height: 1.35;
    pointer-events: none; transition: opacity 0.18s ease;
}
.forum-bar-search:has(input[type="search"]:not(:placeholder-shown)) .forum-search-kbd { opacity: 0; }
.forum-bar-search .forum-search-scopes {
    display: none; position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 0.45rem);
    margin: 0; width: auto; flex: none; flex-wrap: wrap; gap: 0.4rem;
    padding: 0.55rem 0.7rem; border: 1px solid #e4e9f2; border-radius: 16px; background: #fff;
    box-shadow: 0 16px 40px rgba(15, 30, 61, 0.14);
}
.forum-bar-search:focus-within .forum-search-scopes { display: flex; }
.forum-bar-search:focus-within { height: 46px; flex-wrap: nowrap; }
.forum-bar-search .forum-suggest-list { left: -1px; right: -1px; width: auto; border-radius: 1.45rem; }
.forum-bar.is-stacked { flex-wrap: wrap; }
.forum-bar.is-stacked .forum-bar-crumbs { max-width: none; flex: 1 1 100%; overflow: visible; white-space: normal; flex-wrap: wrap; }
.forum-bar.is-stacked .forum-bar-search { position: relative; left: auto; top: auto; transform: none; width: min(58.125rem, 100%); margin-inline: auto; }
.forum-bar.is-stacked .forum-bar-compose { margin-left: auto; }
.forum-cta { display: inline-flex; align-items: center; gap: 0.4rem; border: 0; border-radius: 999px; background: #0f1e3d; color: #fff !important; padding: 0.45rem 0.9rem; font-weight: 700; text-decoration: none; }
.forum-cta:hover { background: #b08948; color: #0f1e3d !important; }
.forum-thread-hero, .forum-composer { background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; padding: 1rem 1.1rem; margin-bottom: 1rem; box-shadow: 0 10px 28px rgba(15, 30, 61, 0.05); }
.forum-thread-hero { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.forum-thread-hero h1 { margin: 0.35rem 0; color: #0f1e3d; letter-spacing: -0.03em; }
.forum-chip { display: inline-flex; align-items: center; gap: 0.4rem; border-radius: 999px; background: rgba(176, 137, 72, 0.16); color: #6b4f2a; padding: 0.15rem 0.6rem; font-size: 0.78rem; font-weight: 700; text-decoration: none; }
.forum-chip .forum-ico { flex: none; }
.forum-thread-meta { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; color: #5c6b82; font-size: 0.85rem; }
.forum-thread-meta img { width: 28px; height: 28px; border-radius: 999px; object-fit: cover; }
.forum-action-group, .forum-post-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.forum-act { display: inline-flex; align-items: center; gap: 0.35rem; border: 1px solid #d5deee; background: #fff; color: #0f1e3d; border-radius: 999px; padding: 0.28rem 0.7rem; font-size: 0.82rem; text-decoration: none; }
.forum-act:hover, .forum-act.is-on { border-color: #b08948; background: rgba(176, 137, 72, 0.14); color: #0f1e3d; }
.forum-act.is-danger { color: #8d3a3a; }
.forum-mod-menu { min-width: 14rem; border-radius: 12px; border-color: #e4e9f2; }
.forum-mod-menu .dropdown-item { display: flex; gap: 0.5rem; align-items: center; }
.shop-forum .forum-post-card { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; margin-bottom: 0.8rem; }
.shop-forum .forum-author { padding: 1rem; background: #f7f8fb; align-items: center; text-align: center; }
.forum-avatar-wrap { position: relative; }
.forum-avatar-wrap.is-online::after { content: ''; position: absolute; right: 2px; bottom: 2px; width: 0.7rem; height: 0.7rem; border-radius: 99px; background: #1f6b45; border: 2px solid #fff; }
.forum-avatar.lg, .forum-avatar.lg.forum-avatar-fallback { width: 72px; height: 72px; border-radius: 999px; object-fit: cover; }
.forum-avatar-fallback { display: grid; place-items: center; background: #0f1e3d; color: #f3e6c8; font-size: 1.4rem; border-radius: 999px; }
.forum-topic-avatar .forum-avatar-fallback { width: 44px; height: 44px; font-size: 1rem; }
.forum-latest-line .forum-latest-fallback { width: 1.75rem; height: 1.75rem; font-size: 0.75rem; }
.forum-author-name { color: #fff; border-radius: 999px; padding: 0.15rem 0.55rem; font-weight: 700; text-decoration: none; }
.forum-name { color: var(--name, inherit); }
.shop-forum :where(.pd-main, .shop-main-column) a.forum-name { color: var(--name, #14254a); }
[data-bs-theme="dark"] .forum-name { color: var(--name-dark, var(--name, inherit)); }
[data-bs-theme="dark"] .shop-forum :where(.pd-main, .shop-main-column) a.forum-name { color: var(--name-dark, var(--name, #f4f7fb)); }
.forum-author-meta { color: #5c6b82; font-size: 0.78rem; }
.forum-post-main { min-width: 0; padding: 0.9rem 1rem 0.7rem; }
.forum-post-head { display: flex; gap: 0.6rem; align-items: center; color: #5c6b82; font-size: 0.82rem; margin-bottom: 0.6rem; }
.forum-edited { color: #8d6a32; }
.shop-forum .forum-post,
.shop-forum .forum-signature,
.shop-forum .forum-bubble-body {
    font-family: Inter, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
}
.shop-forum .forum-post { color: #1c2434; line-height: 1.65; }
.shop-forum .forum-post p { margin: 0 0 0.8rem; }
.shop-forum .forum-post h2, .shop-forum .forum-post h3 { color: #0f1e3d; margin: 1rem 0 0.4rem; }
.shop-forum .forum-post ul, .shop-forum .forum-post ol { margin: 0 0 0.8rem; padding-left: 1.2rem; }
.shop-forum .forum-post a { color: #8d6a32; text-decoration: underline; text-underline-offset: 0.15em; }
.shop-forum .forum-post pre:not(.forum-code),
.shop-forum .forum-post code:not(.forum-inline-code) { background: #f4f6fb; border-radius: 8px; }
.shop-forum .forum-post pre { padding: 0.7rem; overflow: auto; }
.shop-forum .forum-post pre.forum-code,
.shop-forum .forum-post pre.forum-code code,
[data-bs-theme="dark"] .shop-forum .forum-post pre.forum-code,
[data-bs-theme="dark"] .shop-forum .forum-post pre.forum-code code {
    background: #0f1e3d;
    color: #e8edf7;
    border-radius: 10px;
}
.shop-forum .forum-post code.forum-inline-code {
    background: rgba(20, 37, 74, 0.08);
    color: #14254a;
    border-radius: 6px;
    padding: 0.05rem 0.3rem;
}
[data-bs-theme="dark"] .shop-forum .forum-post code.forum-inline-code {
    background: rgba(243, 230, 200, 0.14);
    color: #f3e6c8;
}
.forum-signature img { max-width: min(100%, 24rem); max-height: 8rem; height: auto; }
.forum-signature a { color: #8d6a32; }
.shop-forum .forum-post blockquote { margin: 0 0 0.8rem; padding: 0.6rem 0.8rem; border-left: 3px solid #b08948; background: #faf6ee; }
.shop-forum .forum-post img { max-width: 100%; height: auto; border-radius: 12px; }
.forum-post.is-clipped { max-height: 28rem; overflow: hidden; position: relative; }
.forum-post.is-clipped::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4rem; background: linear-gradient(transparent, #fff); }
.forum-bubble .forum-bubble-body.is-clipped::after { background: linear-gradient(transparent, #fff); }
.forum-bubble.is-mine .forum-bubble-body.is-clipped::after { background: linear-gradient(transparent, #f7f1e4); }
.forum-more { border: 0; background: transparent; color: #8d6a32; font-weight: 700; padding: 0.2rem 0; }
.forum-signature { margin-top: 0.8rem; padding-top: 0.55rem; border-top: 1px dashed #e4e9f2; color: #5c6b82; font-size: 0.85rem; }
.forum-post-actions { margin-top: 0.8rem; }
.forum-composer-head { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.8rem; }
.forum-composer-head img { width: 40px; height: 40px; border-radius: 999px; object-fit: cover; }
.forum-composer-head h2 { margin: 0; font-size: 1.05rem; color: #0f1e3d; }
.forum-write-tabs { display: flex; gap: 0.35rem; margin-bottom: 0.5rem; }
.forum-write-tabs button { border: 0; background: transparent; border-radius: 999px; padding: 0.2rem 0.7rem; color: #5c6b82; }
.forum-write-tabs button.is-active { background: #0f1e3d; color: #fff; }
.shop-forum .forum-editor .ql-toolbar { border: 1px solid #e4e9f2; border-radius: 12px 12px 0 0; background: #f7f8fb; }
.shop-forum .forum-editor .ql-container { border: 1px solid #e4e9f2; border-top: 0; border-radius: 0 0 12px 12px; }
.shop-forum .forum-editor .ql-stroke { stroke: #14254a; }
.shop-forum .forum-editor .ql-fill { fill: #14254a; }
.shop-forum .forum-feed .list-group-item { border: 1px solid #e4e9f2; border-radius: 14px; margin-bottom: 0.55rem; background: #fff; }
.shop-forum .forum-feed .list-group-item a, .shop-forum .forum-feed a.list-group-item { color: #0f1e3d; font-weight: 650; }
[data-bs-theme="dark"] .shop-forum .forum-thread-hero,
[data-bs-theme="dark"] .shop-forum .forum-composer,
[data-bs-theme="dark"] .shop-forum .forum-post-card,
[data-bs-theme="dark"] .forum-mega { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-bar-search {
    background: linear-gradient(180deg, rgba(28, 40, 66, 0.94), rgba(18, 26, 46, 0.86));
    border-color: rgba(176, 137, 72, 0.32); color: #f4f7fb;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .forum-bar-search:focus-within {
    border-color: #d4b483;
    box-shadow: 0 0 0 4px rgba(176, 137, 72, 0.34), 0 14px 34px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .forum-search-ico { background: linear-gradient(180deg, rgba(176, 137, 72, 0.34), rgba(176, 137, 72, 0.12)); box-shadow: none; }
[data-bs-theme="dark"] .forum-search-ico i { color: #e0c48a; }
[data-bs-theme="dark"] .forum-bar-search input { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-bar-search input::placeholder { color: #9aa8c2; }
[data-bs-theme="dark"] .forum-search-kbd { background: rgba(18, 26, 46, 0.55); color: #f3e6c8; border-color: rgba(224, 196, 138, 0.4); }
[data-bs-theme="dark"] .shop-forum .forum-author { background: #182238; }
[data-bs-theme="dark"] .shop-forum .forum-post,
[data-bs-theme="dark"] .forum-thread-hero h1,
[data-bs-theme="dark"] .forum-mega-item strong,
[data-bs-theme="dark"] .shop-forum :where(.pd-main, .shop-main-column) a { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-post.is-clipped::after,
[data-bs-theme="dark"] .forum-bubble .forum-bubble-body.is-clipped::after { background: linear-gradient(transparent, #121a2e); }
[data-bs-theme="dark"] .forum-bubble.is-mine .forum-bubble-body.is-clipped::after { background: linear-gradient(transparent, #1b2740); }
.shop-forum [id^="post-"],
.shop-forum :target { scroll-margin-top: calc(var(--shop-app-chrome-height, 6.5rem) + 16px); }
@media (max-width: 767.98px) {
    .shop-forum { overflow-x: clip; }
    .forum-bar-search,
    .forum-empty,
    .forum-board-head,
    .forum-category,
    .forum-stat,
    .forum-side-card { box-shadow: 0 6px 14px rgba(15, 30, 61, 0.05); }
    .forum-mega, .forum-mega-cols, .shop-forum .forum-post-card, .forum-thread-hero { grid-template-columns: 1fr; display: grid; }
    .shop-forum .forum-author { flex-direction: row; flex-wrap: wrap; text-align: left; }
    .forum-bar { flex-wrap: wrap; }
    .forum-bar .forum-bar-crumbs,
    .forum-bar .forum-bar-compose,
    .forum-bar .forum-bar-search,
    .forum-bar.is-stacked .forum-bar-search {
        position: relative; left: auto; top: auto; transform: none;
        flex: 1 1 100%; width: 100%; max-width: none; margin-inline: 0;
    }
    .forum-bar .forum-bar-crumbs { overflow: visible; white-space: normal; }
}

.forum-account .form-control,
.forum-account .form-select { border-color: #d5deee; border-radius: 12px; }
.forum-account .form-control:focus,
.forum-account .form-select:focus { border-color: #b08948; box-shadow: 0 0 0 0.2rem rgba(176, 137, 72, 0.22); }
.forum-account .forum-switch.form-switch { padding-left: 0; min-height: 0; }
.forum-account .forum-switch.form-switch .form-check-input { float: none; margin: 0; width: 2.4rem; height: 1.3rem; background-color: #4a5160; border-color: #4a5160; }
.forum-account .forum-switch.form-switch .form-check-input:checked { background-color: #1f6b45; border-color: #1f6b45; }
.forum-account .forum-switch.form-switch .form-check-input:focus { box-shadow: 0 0 0 0.2rem rgba(31, 107, 69, 0.25); border-color: #1f6b45; }
.forum-cta.is-gold { background: #b08948; color: #0f1e3d !important; }
.forum-cta.is-gold:hover { background: #0f1e3d; color: #fff !important; }
.forum-panel { background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; padding: 1.05rem 1.15rem 1.15rem; box-shadow: 0 10px 28px rgba(15, 30, 61, 0.05); }
.forum-panel h2 { margin: 0 0 0.75rem; font-size: 1.02rem; color: #0f1e3d; letter-spacing: -0.02em; }
.forum-panel-lead, .forum-current-name { margin: 0 0 0.85rem; color: #5c6b82; }
.forum-current-name strong { color: #0f1e3d; }
.forum-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.forum-profile-grid .is-wide { grid-column: 1 / -1; }
.forum-avatar-card { display: flex; gap: 1rem; align-items: flex-start; }
.forum-avatar-preview { width: 84px; height: 84px; border-radius: 999px; object-fit: cover; background: #0f1e3d; border: 3px solid #fff; box-shadow: 0 8px 22px rgba(15, 30, 61, 0.12); flex: none; }
.forum-autofill-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.forum-pending { margin: 0 0 0.75rem; padding: 0.55rem 0.75rem; border-radius: 12px; background: rgba(176, 137, 72, 0.16); color: #6b4f2a; }
.forum-switch { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 0.7rem 0; border-top: 1px solid #eef2f7; }
.forum-switch:first-of-type { border-top: 0; }
.forum-switch strong { display: block; color: #0f1e3d; font-weight: 650; }
.forum-switch small { display: block; color: #5c6b82; }
.forum-panel-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.9rem; }
.forum-toolrow { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; justify-content: space-between; margin-bottom: 0.85rem; }
.forum-seg { display: inline-flex; padding: 0.2rem; background: #f4f6fb; border: 1px solid #e4e9f2; border-radius: 999px; gap: 0.15rem; }
.shop-forum .forum-seg a { border-radius: 999px; padding: 0.35rem 0.85rem; color: #14254a; text-decoration: none; font-weight: 650; }
.shop-forum .forum-seg a.is-active,
.shop-forum .forum-seg a.is-active:hover { background: #0f1e3d; color: #fff; }
.forum-search-mini, .forum-saved-search { display: flex; align-items: center; gap: 0.45rem; border: 1px solid #d5deee; border-radius: 999px; background: #fff; padding: 0.35rem 0.8rem; min-width: min(100%, 16rem); flex: 1 1 14rem; }
.forum-search-mini i, .forum-saved-search i { color: #b08948; }
.forum-search-mini input, .forum-saved-search input { border: 0; outline: none; background: transparent; width: 100%; color: inherit; }
.forum-filter-pill { display: inline-flex; align-items: center; gap: 0.35rem; border-radius: 999px; border: 1px solid #d5deee; padding: 0.35rem 0.75rem; background: #fff; color: #14254a; font-weight: 650; }
.forum-filter-pill input { accent-color: #0f1e3d; }
.forum-inbox-tools, .forum-saved-tools { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; flex: 1 1 18rem; }
.forum-saved-tools .form-select { width: auto; min-width: 9rem; border-radius: 999px; }
.forum-pager { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: flex-end; margin-top: 0.8rem; }
.shop-forum .forum-pager a { min-width: 2rem; text-align: center; border-radius: 999px; border: 1px solid #d5deee; padding: 0.25rem 0.55rem; color: #14254a; text-decoration: none; background: #fff; }
.shop-forum .forum-pager a.is-active,
.shop-forum .forum-pager a.is-active:hover { background: #0f1e3d; color: #fff; border-color: #b08948; }
.forum-empty {
    display: grid; justify-items: center; gap: 0.55rem; text-align: center;
    padding: 2.5rem 1.25rem 2.2rem; margin: 0.2rem 0 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 248, 251, 0.92));
    border: 1px solid #e4e9f2; border-radius: 20px;
    box-shadow: 0 14px 36px rgba(15, 30, 61, 0.06);
    color: #5c6b82;
}
.forum-empty-icon {
    width: 4.6rem; height: 4.6rem; border-radius: 999px; display: grid; place-items: center;
    background: radial-gradient(circle at 32% 28%, #f8f1e2, #e7d3aa 58%, #d4b483);
    color: #6b4f2a; font-size: 1.45rem;
    box-shadow: inset 0 0 0 1px rgba(176, 137, 72, 0.45), 0 8px 18px rgba(176, 137, 72, 0.22);
}
.forum-empty-icon .forum-ico { font-size: 1.45rem; }
.forum-empty strong { color: #0f1e3d; font-size: 1.22rem; letter-spacing: -0.02em; }
.forum-empty p { margin: 0; max-width: 34rem; line-height: 1.5; }
.forum-empty-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-top: 0.45rem; }
.forum-empty-actions .forum-act { font-size: 1rem; font-weight: 700; padding: 0.45rem 0.9rem; }
@media (max-width: 767.98px) {
    .forum-board-head { flex-direction: column; align-items: stretch; }
    .forum-empty { padding: 1.6rem 0.9rem; }
    .forum-empty-actions { width: 100%; }
    .forum-empty-actions .forum-cta,
    .forum-empty-actions .forum-act { width: 100%; justify-content: center; }
}
.forum-empty-links { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; justify-content: center; margin-top: 0.25rem; }
.shop-forum .forum-empty-links a { color: #8d6a32; font-weight: 650; }
.forum-topics:not(:has(.forum-topic)) { background: transparent; border: 0; overflow: visible; box-shadow: none; }
.forum-member-suggest { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 0.25rem); background: #fff; border: 1px solid #e4e9f2; border-radius: 14px; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.12); padding: 0.35rem; }
.forum-recipient { position: relative; }
.forum-member-option { display: flex; width: 100%; text-align: left; border: 0; background: transparent; padding: 0.4rem 0.5rem; gap: 0.55rem; align-items: center; border-radius: 10px; color: #0f1e3d; }
.forum-member-option:hover { background: rgba(20, 37, 74, 0.06); }
.forum-member-option img { width: 32px; height: 32px; border-radius: 999px; object-fit: cover; background: #14254a; }
.forum-compose-modal .ql-editor { min-height: 9rem; }
.forum-convo-head { align-items: center; }
.forum-people { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.45rem; }
.forum-person { display: inline-flex; align-items: center; gap: 0.4rem; }
.forum-person-name { font-weight: 650; color: #0f1e3d; }
.forum-chat-stream { display: flex; flex-direction: column; gap: 0.7rem; padding: 0.2rem 0.15rem 0.6rem; }
.forum-chat-older { align-self: center; }
.forum-bubble { display: flex; gap: 0.55rem; align-items: flex-end; max-width: min(42rem, 92%); align-self: flex-start; }
.forum-bubble.is-mine { align-self: flex-end; flex-direction: row-reverse; }
.forum-bubble-card { min-width: 0; background: #fff; border: 1px solid #e4e9f2; border-radius: 16px 16px 16px 6px; padding: 0.65rem 0.8rem 0.7rem; box-shadow: 0 8px 20px rgba(15, 30, 61, 0.04); }
.forum-bubble.is-mine .forum-bubble-card { background: #f7f1e4; border-color: #e6d3ae; border-radius: 16px 16px 6px 16px; }
.forum-bubble-top { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; align-items: center; margin-bottom: 0.28rem; color: #5c6b82; font-size: 0.78rem; }
.forum-bubble-top strong { color: #0f1e3d; }
.forum-bubble-tools { margin-left: auto; display: inline-flex; gap: 0.1rem; }
.forum-icon-btn { width: 1.85rem; height: 1.85rem; border: 0; border-radius: 999px; background: transparent; color: #5c6b82; display: inline-grid; place-items: center; padding: 0; }
.forum-icon-btn:hover { background: rgba(15, 30, 61, 0.06); color: #0f1e3d; }
.forum-icon-btn.is-danger:hover { color: #8d3a3a; }
.shop-forum .forum-bubble-body { line-height: 1.5; }
.shop-forum .forum-bubble-body p { margin: 0 0 0.4rem; }
.shop-forum .forum-bubble-body p:last-child { margin-bottom: 0; }
.shop-forum .forum-bubble-body p:empty,
.shop-forum .forum-bubble-body p:has(> br:only-child) { display: none; margin: 0; }
.forum-bubble.is-older { display: none; }
.forum-bubble-edit { margin-top: 0.55rem; }
.forum-messenger-compose { position: static; margin-top: 0.75rem; }
.forum-messenger-compose .forum-composer { margin-bottom: 0; }
.forum-compose-bar {
    display: none; align-items: center; gap: 0.65rem; width: 100%;
    border: 1px solid #d5deee; border-radius: 999px; background: #fff;
    padding: 0.45rem 0.9rem; color: #5c6b82; text-align: left; cursor: pointer;
}
.forum-compose-bar img { width: 32px; height: 32px; border-radius: 999px; object-fit: cover; background: #14254a; }
.forum-messenger-compose.is-collapsed .forum-compose-bar { display: flex; }
.forum-messenger-compose.is-collapsed .forum-compose-panel {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.forum-composer,
.forum-messenger-compose .forum-compose-panel,
.forum-messenger-compose:not(.is-collapsed) .forum-composer { max-height: none; overflow: visible; }
.forum-messenger-compose:not(.is-collapsed) .ql-editor { min-height: 7.5rem; max-height: none; overflow: visible; height: auto; }
.forum-saved { display: grid; gap: 0.35rem; padding: 0.95rem 1rem; border-bottom: 1px solid #eef2f7; }
.forum-saved:last-child { border-bottom: 0; }
.shop-forum .forum-saved-title { font-weight: 700; color: #0f1e3d; text-decoration: none; }
.shop-forum a.forum-chip,
.shop-forum a.forum-chip:hover { color: #6b4f2a; text-decoration: none; }
.forum-saved-excerpt { margin: 0; color: #5c6b82; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.forum-saved-foot { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; }
.forum-saved-author { display: inline-flex; align-items: center; gap: 0.4rem; min-width: 0; color: #14254a; }
.forum-saved-actions { margin-left: auto; display: inline-flex; gap: 0.35rem; }
.forum-undo { border: 0; background: transparent; color: #8d6a32; font-weight: 750; padding: 0 0 0 0.4rem; }
@media (max-width: 900px) {
    .forum-profile-grid { grid-template-columns: 1fr; }
    .forum-saved-actions { margin-left: 0; }
}
[data-bs-theme="dark"] .forum-panel,
[data-bs-theme="dark"] .forum-mail-list,
[data-bs-theme="dark"] .forum-seg,
[data-bs-theme="dark"] .forum-search-mini,
[data-bs-theme="dark"] .forum-saved-search,
[data-bs-theme="dark"] .forum-filter-pill,
[data-bs-theme="dark"] .forum-bubble-card,
[data-bs-theme="dark"] .forum-member-suggest,
[data-bs-theme="dark"] .forum-account-tabs a { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-bubble.is-mine .forum-bubble-card { background: #1b2740; border-color: #3a4a2e; }
[data-bs-theme="dark"] .forum-mail:hover { background: #182238; }
[data-bs-theme="dark"] .forum-panel h2,
[data-bs-theme="dark"] .forum-mail-subject,
[data-bs-theme="dark"] .forum-current-name strong,
[data-bs-theme="dark"] .forum-switch strong,
[data-bs-theme="dark"] .forum-person-name,
[data-bs-theme="dark"] .forum-bubble-top strong,
[data-bs-theme="dark"] .forum-empty,
[data-bs-theme="dark"] .forum-board-head { background: #121a2e; border-color: #2a3550; color: #c5d0e4; }
[data-bs-theme="dark"] .forum-empty strong,
[data-bs-theme="dark"] .forum-board-head h1 { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-empty-icon {
    background: radial-gradient(circle at 32% 28%, #3a3224, #2b261d 72%);
    color: #e0c48a;
    box-shadow: inset 0 0 0 1px rgba(176, 137, 72, 0.55), 0 0 18px rgba(176, 137, 72, 0.28);
}
[data-bs-theme="dark"] .forum-bar-search .forum-search-scopes { background: #121a2e; border-color: #2a3550; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4); }
.forum-approval-hold {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(176, 137, 72, 0.45);
    border-radius: 0.9rem;
    background: rgba(176, 137, 72, 0.1);
}
.forum-approval-hold i { color: #8a6a32; font-size: 1.35rem; margin-top: 0.15rem; }
.forum-approval-hold strong { display: block; color: #0f1e3d; }
.forum-approval-hold p { margin: 0.2rem 0 0; color: #5c6b82; }
.forum-approval-reason { margin: 0 0 1rem; max-width: 36rem; }
.forum-approval-reason label { display: block; font-weight: 650; margin-bottom: 0.35rem; }
.forum-approval-reason p { margin: 0.35rem 0 0; color: var(--bs-secondary-color, #5c6b82); }
[data-bs-theme="dark"] .forum-approval-hold { background: rgba(176, 137, 72, 0.16); border-color: rgba(224, 196, 138, 0.45); }
[data-bs-theme="dark"] .forum-approval-hold strong { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-approval-hold p,
[data-bs-theme="dark"] .forum-approval-reason p { color: #c5d0e4; }
[data-bs-theme="dark"] .forum-approval-hold i { color: #e0c48a; }
[data-bs-theme="dark"] .forum-empty-links a { color: #e0c48a; }
[data-bs-theme="dark"] .shop-forum .forum-cta { background: #b08948; color: #0f1e3d !important; }
[data-bs-theme="dark"] .shop-forum .forum-cta:hover { background: #c4a36a; color: #0f1e3d !important; }
[data-bs-theme="dark"] .shop-forum .forum-act { background: transparent; color: #f3e6c8; border-color: #d4b483; }
[data-bs-theme="dark"] .shop-forum .forum-act:hover,
[data-bs-theme="dark"] .shop-forum .forum-act.is-on { background: rgba(176, 137, 72, 0.18); color: #f3e6c8; border-color: #e0c48a; }
[data-bs-theme="dark"] .forum-bulk .forum-act { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
[data-bs-theme="dark"] .forum-bulk .forum-act:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
[data-bs-theme="dark"] .forum-board-mark { background: #3a3224; color: #f3e6c8; box-shadow: inset 0 0 0 1px rgba(212, 180, 131, 0.7); }
.forum-person-name.forum-name,
.forum-bubble-top strong.forum-name,
.forum-mail-who .forum-name,
.forum-saved-author .forum-name,
.shop-forum .forum-profile .forum-profile-id h1.forum-name { color: var(--name, #0f1e3d); }
[data-bs-theme="dark"] .forum-person-name.forum-name,
[data-bs-theme="dark"] .forum-bubble-top strong.forum-name,
[data-bs-theme="dark"] .forum-mail-who .forum-name,
[data-bs-theme="dark"] .forum-saved-author .forum-name,
[data-bs-theme="dark"] .shop-forum .forum-profile .forum-profile-id h1.forum-name { color: var(--name-dark, var(--name, #f4f7fb)); }
[data-bs-theme="dark"] .shop-forum .forum-seg a.is-active,
[data-bs-theme="dark"] .shop-forum .forum-account-tabs a.is-active { background: #0f1e3d; color: #fff; }

.forum-ico { position: relative; display: inline-grid; width: 1em; height: 1em; place-items: center; vertical-align: -0.12em; line-height: 1; flex: none; }
.forum-ico .fa-solid, .forum-ico .bi { grid-area: 1 / 1; line-height: 1; }
.forum-ico .bi { position: absolute; inset: 0; display: grid; place-items: center; }
.forum-board-head, .forum-list-tools { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; margin-bottom: 1rem; }
.forum-board-head {
    align-items: center; padding: 1.05rem 1.15rem;
    background: #fff; border: 1px solid #e4e9f2; border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 30, 61, 0.05);
}
.forum-board-head-main { display: flex; gap: 0.9rem; align-items: flex-start; min-width: 0; }
.forum-board-mark {
    width: 3.15rem; height: 3.15rem; border-radius: 16px; display: grid; place-items: center; flex: none;
    background: #0f1e3d; color: #f3e6c8; font-size: 1.2rem;
}
.forum-board-head h1 { margin: 0; color: #0f1e3d; letter-spacing: -0.03em; }
.forum-board-head p { margin: 0.3rem 0 0; color: #5c6b82; max-width: 42rem; }
.forum-board-chips, .forum-subboards { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.7rem; }
.forum-subboards { margin-bottom: 1rem; }
.forum-subboard { display: flex; gap: 0.6rem; align-items: flex-start; min-width: min(100%, 16rem); padding: 0.75rem 0.9rem; border: 1px solid #e4e9f2; border-radius: 16px; background: #fff; text-decoration: none; color: #0f1e3d; }
.forum-subboard small { display: block; color: #5c6b82; }
.forum-list-tools { align-items: center; }
.forum-list-tools-row { display: flex; align-items: center; gap: 0.55rem; width: 100%; flex-wrap: wrap; }
.forum-list-tools-end { margin-left: auto; display: flex; align-items: center; gap: 0.45rem; flex: none; }
.forum-list-tools .form-select { width: auto; min-width: 11rem; border-radius: 999px; }
.forum-sort-toggle { margin: 0; cursor: pointer; font-weight: 550; padding-left: 0.7rem; min-height: 0; }
.forum-sort-toggle .form-check-input { float: none; margin: 0; position: static; width: 1.65rem; height: 0.95rem; }
.forum-sort-toggle:has(input:checked) { border-color: #b08948; background: rgba(176, 137, 72, 0.14); }
.forum-filter-panel { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: end; width: 100%; padding: 0.8rem; border: 1px solid #e4e9f2; border-radius: 16px; background: #fff; }
.forum-filter-panel[hidden] { display: none !important; }
.forum-topics { background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; overflow: hidden; }
.forum-topic { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(8rem, auto) 8.5rem 13rem; gap: 0.75rem; align-items: center; padding: 0.85rem 1rem; border-bottom: 1px solid #eef2f7; }
.forum-topic.has-pick { padding-left: 2.7rem; }
.forum-topic:last-child { border-bottom: 0; }
.forum-topic.is-unread .forum-thread-title { font-weight: 760; }
.forum-topic-avatar { position: relative; width: 44px; height: 44px; }
.forum-topic-avatar img, .forum-topic-last img { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; background: #14254a; }
.forum-topic-last img { width: 32px; height: 32px; }
.forum-topic-overlay { position: absolute; right: -4px; bottom: -4px; width: 1.15rem; height: 1.15rem; border-radius: 999px; background: #0f1e3d; color: #f3e6c8; display: grid; place-items: center; font-size: 0.62rem; border: 2px solid #fff; }
.forum-topic-meta { display: flex; flex-wrap: wrap; gap: 0.35rem 0.55rem; align-items: center; color: #5c6b82; font-size: 0.8rem; margin-top: 0.2rem; }
.forum-topic-labels { display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: flex-end; }
.forum-label { display: inline-flex; align-items: center; gap: 0.25rem; border-radius: 999px; padding: 0.12rem 0.5rem; font-size: 0.75rem; font-weight: 750; line-height: 1.3; }
.forum-topic-mark { color: #8d6a32; }
.forum-topic-stats { display: grid; justify-items: end; gap: 0.15rem; color: #5c6b82; font-size: 0.78rem; }
.forum-topic-stats strong { color: #0f1e3d; }
.forum-topic-last { display: flex; gap: 0.45rem; align-items: center; justify-content: flex-end; justify-self: end; width: 100%; margin-left: auto; text-decoration: none; color: inherit; min-width: 0; }
.forum-topic-last strong, .forum-topic-last time { display: block; }
.forum-topic-last time { color: #5c6b82; font-size: 0.78rem; }
.forum-topic-section { display: flex; align-items: center; gap: 0.65rem; margin: 0; padding: 0.55rem 1rem 0.4rem; background: #f6f8fc; border-bottom: 1px solid #eef2f7; }
.forum-topic-section-mark { width: 1.15rem; height: 2px; border-radius: 99px; background: #b08948; flex: none; }
.forum-topic-section-label { flex: none; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #8d6a32; }
.forum-topic-section-line { flex: 1; height: 1px; background: #e6dcc8; }
.forum-label-fields { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-bottom: 0.8rem; }
.forum-label-group { border: 1px solid #e4e9f2; border-radius: 14px; padding: 0.55rem 0.7rem; }
.forum-label-group legend { font-size: 0.78rem; color: #5c6b82; padding: 0 0.3rem; }
.forum-label-choice { display: inline-flex; gap: 0.35rem; align-items: center; margin: 0.2rem 0.45rem 0.2rem 0; }
.forum-bulk {
    position: fixed; z-index: 1030; left: 50%; bottom: 1rem; transform: translateX(-50%);
    display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center;
    width: max-content; max-width: calc(100vw - 1.5rem);
    padding: 0.45rem 0.55rem 0.45rem 0.9rem; border-radius: 999px;
    background: #0f1e3d; color: #fff; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.28);
}
.forum-bulk[hidden] { display: none !important; }
.forum-bulk [data-bulk-count] { font-weight: 700; font-size: 0.85rem; white-space: nowrap; }
.forum-bulk .form-select { width: auto; min-width: 9.5rem; border-radius: 999px; background: #fff; color: #0f1e3d; }
.forum-bulk [data-bulk-move][hidden] { display: none !important; }
.forum-bulk .forum-act { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.forum-bulk .forum-act:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
.forum-bulk-labels .forum-label-fields { margin: 0; }
.forum-bulk-labels .forum-label-choice input { position: absolute; opacity: 0; pointer-events: none; }
.forum-bulk-labels .forum-label-choice { margin: 0.15rem; cursor: pointer; }
.forum-bulk-labels .forum-label-choice span { border-radius: 999px; border: 1px solid #d5deee; padding: 0.15rem 0.55rem; }
.forum-bulk-labels .forum-label-choice:has(input:checked) span { outline: 2px solid #b08948; }
.forum-topic-pick {
    position: absolute; left: 0.55rem; top: 1.15rem; z-index: 1; margin: 0;
    display: inline-flex; align-items: center; width: auto; min-height: 0; padding: 0; border: 0;
}
.forum-topic-pick .form-check-input { float: none; margin: 0; position: static; width: 1.55rem; height: 0.88rem; cursor: pointer; }
.forum-filter-panel > label:not(.forum-switch) { display: flex; flex-direction: column; gap: 0.25rem; flex: 1 1 11rem; min-width: 9.5rem; max-width: 16rem; font-size: 0.78rem; color: #5c6b82; }
.forum-filter-dates { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 0.6rem; align-items: end; }
.forum-filter-dates label { display: flex; flex-direction: column; gap: 0.25rem; width: 11rem; flex: 0 0 11rem; font-size: 0.78rem; color: #5c6b82; }
.forum-filter-dates input { width: 100%; }
.forum-filter-panel > .forum-switch.form-switch,
.forum-filter-pill.form-switch,
.forum-bulk > .forum-switch.form-switch {
    display: inline-flex; align-items: center; gap: 0.45rem; justify-content: flex-start;
    width: auto; min-height: 0; padding: 0.2rem 0; border: 0; white-space: nowrap; flex: 0 0 auto;
}
.forum-filter-pill.form-switch { padding: 0.35rem 0.8rem; border: 1px solid #d5deee; background: #fff; }
.forum-filter-panel > .forum-switch.form-switch .form-check-input,
.forum-filter-pill.form-switch .form-check-input,
.forum-bulk > .forum-switch.form-switch .form-check-input { float: none; margin: 0; position: static; }
@media (max-width: 900px) {
    .forum-board { grid-template-columns: 1fr; align-items: start; }
    .forum-board > .forum-latest { width: auto; max-width: 100%; justify-self: start; align-items: flex-start; margin-inline: 0; }
    .forum-board > .forum-latest .forum-latest-line { width: auto; max-width: 100%; margin-inline: 0; justify-self: start; }
    .forum-latest-copy, .forum-latest-title { max-width: min(15.6rem, 100%); }
    .forum-latest-empty { justify-content: flex-start; }
    .forum-topic { grid-template-columns: auto minmax(0, 1fr); }
    .forum-topic-main, .forum-topic-labels, .forum-topic-stats, .forum-topic-last { grid-column: 2; min-width: 0; justify-content: flex-start; }
    .forum-topic-stats { grid-auto-flow: column; justify-items: start; gap: 0.8rem; }
    .forum-topic-labels { max-width: 100%; }
}
[data-bs-theme="dark"] .forum-index-band article,
[data-bs-theme="dark"] .forum-topics,
[data-bs-theme="dark"] .forum-subboard,
[data-bs-theme="dark"] .forum-filter-panel { background: #121a2e; border-color: #2a3550; color: #f4f7fb; }
[data-bs-theme="dark"] .forum-board-head h1,
[data-bs-theme="dark"] .forum-topic-stats strong,
[data-bs-theme="dark"] .forum-board-title,
[data-bs-theme="dark"] .forum-board-meta strong,
[data-bs-theme="dark"] .forum-category-head h2,
[data-bs-theme="dark"] .forum-latest-title a { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-category { background: #121a2e; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-category-head { background: #182238; }
[data-bs-theme="dark"] .forum-board { border-color: #2a3550; }
[data-bs-theme="dark"] .forum-board.is-child { background: #0f1728; }
[data-bs-theme="dark"] .forum-board-desc,
[data-bs-theme="dark"] .forum-board-meta,
[data-bs-theme="dark"] .forum-latest-meta,
[data-bs-theme="dark"] .forum-latest-empty { color: #9aa8c0; }
[data-bs-theme="dark"] .forum-cloud-card { background: #121a2e; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-sort-toggle { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-bulk { background: #0c1730; border: 1px solid #2a3550; }
[data-bs-theme="dark"] .forum-board.is-unread .forum-board-icon::after { box-shadow: 0 0 0 2px #121a2e; }
[data-bs-theme="dark"] .forum-topic { border-color: #2a3550; }
[data-bs-theme="dark"] .forum-topic-section { background: #182238; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-topic-section-label { color: #e0c48a; }
[data-bs-theme="dark"] .forum-topic-section-line { background: #3a3224; }
[data-bs-theme="dark"] .forum-topic-overlay { border-color: #121a2e; }
[data-bs-theme="dark"] .forum-filter-panel > label:not(.forum-switch),
[data-bs-theme="dark"] .forum-filter-dates label { color: #9aa8c0; }
[data-bs-theme="dark"] .forum-filter-pill.form-switch { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-hero h1,
[data-bs-theme="dark"] .shop-forum h1.h3,
[data-bs-theme="dark"] .forum-board-head h1,
[data-bs-theme="dark"] .forum-thread-hero h1,
[data-bs-theme="dark"] .forum-composer-head h2,
[data-bs-theme="dark"] .shop-forum .forum-post h2,
[data-bs-theme="dark"] .shop-forum .forum-post h3,
[data-bs-theme="dark"] .forum-category-head h2,
[data-bs-theme="dark"] .forum-board-title,
[data-bs-theme="dark"] .forum-latest-title a { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-hero p,
[data-bs-theme="dark"] .forum-board-head p { color: #c5d0e4; }
[data-bs-theme="dark"] .forum-board-icon {
    background: rgba(243, 230, 200, 0.16);
    color: #f3e6c8;
}
[data-bs-theme="dark"] .forum-board-icon .fa-solid,
[data-bs-theme="dark"] .forum-board-icon .bi { color: #f3e6c8; }
[data-bs-theme="dark"] .forum-stats-band article,
[data-bs-theme="dark"] .forum-index-band article { background: #121a2e; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-stats-band .forum-stat-ico { background: rgba(176, 137, 72, 0.2); color: #e4c48a; font-size: 1rem; }
[data-bs-theme="dark"] .forum-stats-band .forum-stat-ico i { color: #e4c48a; font-size: 1rem; }
[data-bs-theme="dark"] .forum-stats-band strong,
[data-bs-theme="dark"] .forum-stats-band a,
[data-bs-theme="dark"] .forum-band-line strong,
[data-bs-theme="dark"] .forum-stat strong { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-stats-band span,
[data-bs-theme="dark"] .forum-band-line span,
[data-bs-theme="dark"] .forum-index-band h2 { color: #c5d0e4; }
[data-bs-theme="dark"] .forum-cloud a { color: #f3e6c8; background: rgba(243, 230, 200, 0.12); }
[data-bs-theme="dark"] .forum-cloud a:hover { color: #fff; background: rgba(176, 137, 72, 0.28); }
[data-bs-theme="dark"] .forum-side-head { background: linear-gradient(90deg, rgba(176, 137, 72, 0.22), transparent 72%); }
[data-bs-theme="dark"] .forum-side-head h2 { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-side-item { border-color: #2a3550; }
[data-bs-theme="dark"] .forum-side-item:hover { background: rgba(176, 137, 72, 0.12); }
[data-bs-theme="dark"] .forum-side-item strong { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-index-side .forum-side-item { border-color: #2a3550; }
[data-bs-theme="dark"] .forum-index-side .forum-side-title strong { color: #d5deee; font-weight: 550; }
[data-bs-theme="dark"] .forum-index-side .forum-side-meta { color: #9aa8c0; }
[data-bs-theme="dark"] .forum-index-side .forum-side-item:hover .forum-side-title strong { color: #e4c48a; }
[data-bs-theme="dark"] .forum-side-meta,
[data-bs-theme="dark"] .forum-latest-when { color: #9aa8c0; }
[data-bs-theme="dark"] .forum-side-pill { background: rgba(243, 230, 200, 0.16); color: #f3e6c8; }
[data-bs-theme="dark"] .forum-chip,
[data-bs-theme="dark"] .shop-forum a.forum-chip,
[data-bs-theme="dark"] .shop-forum a.forum-chip:hover { background: rgba(243, 230, 200, 0.18); color: #f3e6c8; }
[data-bs-theme="dark"] .forum-mega-aside { border: 1px solid rgba(176, 137, 72, 0.45); }
.forum-hover { position: fixed; z-index: 80; width: min(22rem, calc(100vw - 16px)); background: #fff; color: #1c2434; border: 1px solid #e4e9f2; border-radius: 14px; box-shadow: 0 16px 40px rgba(15, 30, 61, 0.16); padding: 0.75rem 0.85rem; pointer-events: none; }
.forum-hover[hidden] { display: none; }
.forum-hover-top { display: flex; gap: 0.55rem; align-items: center; }
.forum-hover-top img, .forum-hover-avatar { width: 2rem; height: 2rem; border-radius: 999px; object-fit: cover; background: #0f1e3d; flex: none; }
.forum-hover-top strong { display: block; color: #0f1e3d; }
.forum-hover-top strong.forum-name { color: var(--name, #0f1e3d); }
.forum-hover-top small, .forum-hover-body { color: #5c6b82; }
.forum-hover-body p { margin: 0.4rem 0 0; font-size: 0.84rem; line-height: 1.45; }
[data-bs-theme="dark"] .forum-hover { background: #121a2e; color: #f4f7fb; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-hover-top strong { color: #f4f7fb; }
[data-bs-theme="dark"] .forum-hover-top strong.forum-name { color: var(--name-dark, var(--name, #f4f7fb)); }
[data-bs-theme="dark"] .forum-hover-top small, [data-bs-theme="dark"] .forum-hover-body { color: #c5d0e4; }
[data-bs-theme="dark"] .shop-forum .forum-mega-aside a.forum-mega-thread,
[data-bs-theme="dark"] .shop-forum .forum-mega-aside a.forum-mega-thread strong { color: #fff; }
[data-bs-theme="dark"] .shop-forum .forum-mega-aside a.forum-mega-go { color: #0f1e3d; }
[data-bs-theme="dark"] .shop-forum .forum-mega-aside a.forum-mega-go.is-ghost { color: #f3e6c8; }

.forum-search-filters {
    display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center;
    margin: 0.2rem 0 1rem; padding: 0.7rem 0.8rem;
    background: #fff; border: 1px solid rgba(176, 137, 72, 0.35); border-radius: 14px;
}
.forum-search-filters label { font-size: 0.78rem; font-weight: 700; color: #0f1e3d; }
.forum-search-filters select,
.forum-search-filters button {
    border: 1px solid #e4e9f2; background: #f7f8fb; color: #0f1e3d;
    border-radius: 999px; padding: 0.35rem 0.8rem; font: inherit;
}
.forum-search-filters button { background: #0f1e3d; color: #f3e6c8; border-color: #0f1e3d; font-weight: 700; }
.forum-search-section { margin: 0 0 1.1rem; }
.forum-search-section h2 {
    display: flex; justify-content: space-between; gap: 0.75rem; align-items: baseline;
    margin: 0 0 0.45rem; font-size: 0.74rem; letter-spacing: 0.05em; text-transform: uppercase; color: #0f1e3d;
}
.forum-search-section h2 span { font-weight: 600; letter-spacing: 0; text-transform: none; color: #5c6b82; }
.forum-search-section ul { list-style: none; margin: 0; padding: 0; }
.forum-search-row {
    display: grid; gap: 0.15rem; margin-bottom: 0.45rem; padding: 0.7rem 0.85rem;
    text-decoration: none; color: inherit; background: #fff;
    border: 1px solid #e4e9f2; border-radius: 14px;
}
.forum-search-row:hover { border-color: rgba(176, 137, 72, 0.7); box-shadow: 0 10px 24px rgba(15, 30, 61, 0.08); }
.forum-search-row strong { color: #0f1e3d; font-weight: 680; }
.forum-search-row small, .forum-search-row span { color: #5c6b82; font-size: 0.84rem; }
.forum-search-more { display: inline-block; margin-top: 0.15rem; color: #0f1e3d; font-weight: 700; }
.forum-search-hit, .forum-live-hit {
    background: #f3e6c8; color: #0f1e3d; border-radius: 0.15rem; padding: 0 0.12em;
}
.shop-live-search-dropdown.forum-header-suggest { padding: 0.4rem; border-color: rgba(176, 137, 72, 0.4); }
.forum-header-suggest .forum-suggest-type {
    margin: 0.4rem 0.45rem 0.1rem; font-size: 0.72rem; letter-spacing: 0.05em;
    text-transform: uppercase; color: #0f1e3d; font-weight: 750;
}
.forum-header-suggest .forum-suggest-hit,
.forum-header-suggest .forum-suggest-all,
.forum-header-suggest .forum-suggest-shop {
    display: flex; gap: 0.65rem; align-items: flex-start;
    padding: 0.45rem 0.55rem; border-radius: 10px; text-decoration: none; color: inherit;
}
.forum-header-suggest .forum-suggest-hit.is-active,
.forum-header-suggest .forum-suggest-hit:hover,
.forum-header-suggest .forum-suggest-all:hover { background: rgba(15, 30, 61, 0.06); }
.forum-header-suggest .forum-suggest-hit small { display: block; color: #5c6b82; }
.forum-header-suggest .forum-suggest-all,
.forum-header-suggest .forum-suggest-shop {
    justify-content: center; margin-top: 0.25rem; border-top: 1px solid #e4e9f2;
    font-size: 0.82rem; font-weight: 700; color: #0f1e3d;
}
.forum-header-suggest .forum-suggest-shop { color: #0f1e3d; font-weight: 650; }
[data-bs-theme="dark"] .forum-search-filters,
[data-bs-theme="dark"] .forum-search-row,
[data-bs-theme="dark"] .shop-live-search-dropdown.forum-header-suggest {
    background: #121a2e; border-color: #2a3550; color: #f4f7fb;
}
[data-bs-theme="dark"] .forum-search-filters label,
[data-bs-theme="dark"] .forum-search-filters select,
[data-bs-theme="dark"] .forum-search-section h2,
[data-bs-theme="dark"] .forum-search-row strong,
[data-bs-theme="dark"] .forum-header-suggest .forum-suggest-type,
[data-bs-theme="dark"] .forum-header-suggest .forum-suggest-all { color: #e0c48a; }
[data-bs-theme="dark"] .forum-search-filters select { background: #182238; border-color: #2a3550; }
[data-bs-theme="dark"] .forum-search-filters button { background: #e0c48a; color: #0f1e3d; border-color: #e0c48a; }
[data-bs-theme="dark"] .forum-search-row small,
[data-bs-theme="dark"] .forum-search-row span,
[data-bs-theme="dark"] .forum-search-section h2 span,
[data-bs-theme="dark"] .forum-header-suggest .forum-suggest-hit small { color: #c5d0e4; }
[data-bs-theme="dark"] .forum-search-hit,
[data-bs-theme="dark"] .forum-header-suggest .forum-live-hit,
[data-bs-theme="dark"] .forum-live-hit { background: rgba(224, 196, 138, 0.28); color: #f4f7fb; }
[data-bs-theme="dark"] .forum-header-suggest .forum-suggest-shop { color: #e0c48a; border-top-color: #2a3550; }
[data-bs-theme="dark"] .forum-search-more { color: #e0c48a; }

/* Below lg the header search is the full-width bar and already searches the forum
   (data-forum-header-search); hide the duplicate in-page bar so mobile shows one search. */
@media (max-width: 991.98px) {
    .forum-bar .forum-bar-search { display: none; }
    .forum-bar .forum-bar-crumbs,
    .forum-bar.is-stacked .forum-bar-crumbs { flex: 1 1 auto; max-width: none; }
}

/* Forum search filter: the board select took its width from the longest board title and ran
   past the viewport on phones; below lg it now takes the full row and truncates. */
@media (max-width: 991.98px) {
    .forum-search-filters { min-width: 0; max-width: 100%; }
    .forum-search-filters select { flex: 1 1 100%; width: 100%; min-width: 0; max-width: 100%; text-overflow: ellipsis; }
}
