/*
Theme Name: Themify Basic Child
Description: A child theme of Themify Basic
Template: basic
Author: admin (j740lgek8jv2@sxb1plzcpnl490348.prod.sxb1.secureserver.net)
*/

/* ============================================================
   GLOBAL FONT OVERRIDE
   ============================================================ */
body,
h1, h2, h3, h4, h5, h6,
p, a, li, span,
input, button, textarea, select {
    font-family: 'Inter', 'Noto Sans SC', Arial, sans-serif !important;
}

/* 保护图标字体不被覆盖 */
.fa, .fas, .far, .fab, .fal, .fad,
[class^="fa-"], [class*=" fa-"],
#af-wrapper i, #af-wrapper .fa,
#af-wrapper [class^="fa-"],
#af-wrapper [class*=" fa-"] {
    font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands', 'Font Awesome 5 Free', 'Font Awesome 5 Brands' !important;
}

/* ============================================================
   GLOBAL BUTTONS (CTA / Themify Builder buttons)
   ============================================================ */
a.themify_button,
.themify_button,
.tf-button,
.module-button a,
.builder-button a,
a[class*="button"],
.wp-block-button__link {
    font-family: 'Inter', Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: .4px !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    text-decoration: none !important;
    transition: filter .2s, transform .15s, box-shadow .15s !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    display: inline-block !important;
}
a.themify_button:hover,
.themify_button:hover,
.tf-button:hover,
.module-button a:hover,
a[class*="button"]:hover,
.wp-block-button__link:hover {
    filter: brightness(1.1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.22) !important;
    text-decoration: none !important;
}

/* ============================================================
   LOGO SIZE & POSITION
   ============================================================ */
#site-logo {
    display: block;
    text-align: center;
    padding: 16px 0 8px;
}
#site-logo img.site-logo-image {
    max-height: 90px !important;
    width: auto !important;
    height: auto !important;
}

/* ============================================================
   GOOGLE FONTS — Inter (modern business sans-serif)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');


/* ============================================================
   CSS VARIABLES — change these to retheme the whole forum
   ============================================================ */
:root {
    --af-primary:       #0f2d5e;   /* deep navy */
    --af-primary-hover: #0a2040;
    --af-accent:        #c8a94a;   /* gold — commodity feel */
    --af-accent-hover:  #a8893a;
    --af-danger:        #c0392b;
    --af-danger-hover:  #962d22;
    --af-success:       #1e7e34;
    --af-success-hover: #155724;
    --af-bg:            #f0f2f5;   /* page background */
    --af-card:          #ffffff;
    --af-border:        #dde3ec;
    --af-text:          #1a202c;
    --af-muted:         #64748b;
    --af-radius:        8px;
    --af-shadow:        0 1px 4px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);
    --af-shadow-hover:  0 4px 16px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.06);
}

/* ============================================================
   GLOBAL WRAPPER
   ============================================================ */
#af-wrapper {
    font-family: 'Inter', 'Noto Sans SC', Arial, sans-serif !important;
    font-size: 14px !important;
    color: var(--af-text) !important;
    line-height: 1.6 !important;
    background: var(--af-bg);
    padding: 16px 0;
}

#af-wrapper a {
    color: var(--af-primary);
    transition: color .15s;
}
#af-wrapper a:hover {
    color: var(--af-accent);
    text-decoration: none;
}

/* ============================================================
   HEADER / NAVIGATION BAR
   ============================================================ */
#af-wrapper #forum-header {
    background: linear-gradient(135deg, var(--af-primary) 0%, #1a4a8a 100%) !important;
    border-radius: var(--af-radius) var(--af-radius) 0 0 !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(15,45,94,.3) !important;
    min-height: 50px !important;
    padding: 3px !important;
}

#af-wrapper #forum-navigation a,
#af-wrapper #forum-navigation-mobile a {
    color: rgba(255,255,255,.9) !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    line-height: 50px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .3px !important;
    transition: background .15s, color .15s !important;
    padding: 0 20px !important;
}
#af-wrapper #forum-navigation a:hover,
#af-wrapper #forum-navigation-mobile a:hover {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Search box */
#af-wrapper #forum-search {
    background: rgba(255,255,255,.15) !important;
    border-radius: 6px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 7px 6px !important;
    color: #fff !important;
    transition: background .15s !important;
}
#af-wrapper #forum-search:hover,
#af-wrapper #forum-search:focus-within {
    background: rgba(255,255,255,.22) !important;
}
#af-wrapper #forum-search input {
    color: #fff !important;
    font-size: 13px !important;
}
#af-wrapper #forum-search input::placeholder {
    color: rgba(255,255,255,.65) !important;
    font-style: normal !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
#af-wrapper #forum-breadcrumbs {
    background: rgba(15,45,94,.06) !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    color: var(--af-muted) !important;
    border-bottom: 1px solid var(--af-border) !important;
}
#af-wrapper #forum-breadcrumbs a,
#af-wrapper #forum-breadcrumbs span {
    color: var(--af-muted) !important;
}
#af-wrapper #forum-breadcrumbs a:hover {
    color: var(--af-primary) !important;
}

/* ============================================================
   SECTION TITLE BARS
   ============================================================ */
#af-wrapper .title-element {
    background: linear-gradient(90deg, var(--af-primary) 0%, #1a4a8a 100%) !important;
    border-bottom: none !important;
    border-radius: var(--af-radius) var(--af-radius) 0 0 !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .8px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}
#af-wrapper .title-element * {
    color: #ffffff !important;
}
#af-wrapper .title-element-dark {
    background: linear-gradient(90deg, #3a4a5c 0%, #536070 100%) !important;
    border-bottom: none !important;
    color: #ffffff !important;
}

/* ============================================================
   CONTENT CONTAINERS
   ============================================================ */
#af-wrapper .content-container,
#af-wrapper .editor-element {
    background: var(--af-card) !important;
    border: none !important;
    border-radius: 0 0 var(--af-radius) var(--af-radius) !important;
    box-shadow: var(--af-shadow) !important;
    margin: 0 0 20px !important;
}

/* ============================================================
   FORUM & TOPIC ROWS
   ============================================================ */
#af-wrapper .forum,
#af-wrapper .topic,
#af-wrapper .member,
#af-wrapper .unread-topic,
#af-wrapper .unapproved-topic {
    border-bottom: 1px solid var(--af-border) !important;
    transition: background .12s !important;
    height: auto !important;
    min-height: 72px !important;
}

/* Hover highlight on rows */
#af-wrapper .content-element:hover {
    background: #f5f8ff !important;
}

#af-wrapper .content-element:nth-child(even) {
    background: #fafbfd !important;
}
#af-wrapper .content-element:nth-child(even):hover {
    background: #f0f4ff !important;
}

/* Forum/topic name links */
#af-wrapper .forum .forum-title,
#af-wrapper .topic-name a {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--af-primary) !important;
}
#af-wrapper .forum .forum-title:hover,
#af-wrapper .topic-name a:hover {
    color: var(--af-accent) !important;
}

/* Forum stats text */
#af-wrapper .forum-stats,
#af-wrapper .topic-stats {
    color: var(--af-muted) !important;
    font-size: 12px !important;
}

/* Forum description */
#af-wrapper .forum small,
#af-wrapper .topic small,
#af-wrapper .member small,
#af-wrapper .unread-topic small,
#af-wrapper .unapproved-topic small {
    color: var(--af-muted) !important;
    font-size: 12px !important;
}

/* Last post / poster column */
#af-wrapper .forum-poster,
#af-wrapper .topic-poster {
    border-left: 1px solid var(--af-border) !important;
    font-size: 12px !important;
    color: var(--af-muted) !important;
    width: 260px !important;
}

/* Forum icon column */
#af-wrapper .forum-status,
#af-wrapper .topic-status {
    color: var(--af-accent) !important;
    width: 64px !important;
}

/* Sticky topics */
#af-wrapper .topic-sticky,
#af-wrapper .topic-sticky .topic-poster {
    background: linear-gradient(90deg, #fffbf0 0%, #fffdf5 100%) !important;
    border-color: #f0e0a0 !important;
}

/* Subforums list */
#af-wrapper .forum-subforums {
    border-top: 1px solid var(--af-border) !important;
    font-size: 12px !important;
}
#af-wrapper .forum-subforums a {
    color: var(--af-primary) !important;
    font-weight: 500 !important;
}
#af-wrapper .forum-subforums a:hover {
    color: var(--af-accent) !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
#af-wrapper .button {
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 34px !important;
    padding: 0 16px !important;
    transition: background .15s, box-shadow .15s, transform .1s !important;
    letter-spacing: .2px !important;
}
#af-wrapper .button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.18) !important;
}
#af-wrapper .button:active {
    transform: translateY(0) !important;
}

#af-wrapper .button-normal {
    background: var(--af-primary) !important;
    color: #fff !important;
}
#af-wrapper .button-normal:hover {
    background: var(--af-primary-hover) !important;
    color: #fff !important;
}

#af-wrapper .button-red {
    background: var(--af-danger) !important;
}
#af-wrapper .button-red:hover {
    background: var(--af-danger-hover) !important;
}

#af-wrapper .button-green {
    background: var(--af-success) !important;
}
#af-wrapper .button-green:hover {
    background: var(--af-success-hover) !important;
}

/* ============================================================
   FORUM MENU (post/subscribe buttons row)
   ============================================================ */
#af-wrapper .forum-menu .button {
    background: var(--af-accent) !important;
    color: #fff !important;
    font-weight: 600 !important;
}
#af-wrapper .forum-menu .button:hover {
    background: var(--af-accent-hover) !important;
    color: #fff !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
#af-wrapper .pages {
    border: 1px solid var(--af-border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    line-height: 32px !important;
    background: var(--af-card) !important;
}
#af-wrapper .pages a,
#af-wrapper .pages strong {
    color: var(--af-text) !important;
    border-right: 1px solid var(--af-border) !important;
    font-size: 13px !important;
    padding: 0 14px !important;
}
#af-wrapper .pages a:hover {
    background: var(--af-bg) !important;
    color: var(--af-primary) !important;
    text-decoration: none !important;
}
#af-wrapper .pages strong {
    background: var(--af-primary) !important;
    color: #fff !important;
}

/* ============================================================
   POST ELEMENTS
   ============================================================ */
#af-wrapper .post-element {
    border-radius: var(--af-radius) !important;
    box-shadow: var(--af-shadow) !important;
    margin-bottom: 20px !important;
    transition: box-shadow .2s !important;
}
#af-wrapper .post-element:hover {
    box-shadow: var(--af-shadow-hover) !important;
}

/* Post header bar */
#af-wrapper .forum-post-header-container {
    background: linear-gradient(90deg, #f5f8ff 0%, #eef3fc 100%) !important;
    border-bottom: 1px solid var(--af-border) !important;
    padding: 10px 16px !important;
    border-radius: var(--af-radius) var(--af-radius) 0 0 !important;
}

/* Author name */
#af-wrapper .post-author .post-author-block-name a {
    color: var(--af-primary) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
#af-wrapper .post-author .post-author-block-name a:hover {
    color: var(--af-accent) !important;
}

/* Topic-author badge */
#af-wrapper .post-author .topic-author {
    background: rgba(200,169,74,.15) !important;
    color: var(--af-accent) !important;
    border-radius: 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
}

/* Avatar */
#af-wrapper img.avatar {
    border: 2px solid var(--af-border) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.1) !important;
}

/* Post date & menu */
#af-wrapper .forum-post-date,
#af-wrapper .forum-post-date a {
    color: var(--af-muted) !important;
    font-size: 12px !important;
}
#af-wrapper .forum-post-menu a {
    color: var(--af-primary) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}
#af-wrapper .forum-post-menu a:hover {
    color: var(--af-accent) !important;
}

/* Post body */
#af-wrapper .post-wrapper {
    background: var(--af-card) !important;
    padding: 0 20px !important;
    border-radius: 0 0 var(--af-radius) var(--af-radius) !important;
}

/* Blockquote (quote) */
#af-wrapper blockquote {
    background: rgba(15,45,94,.04) !important;
    border-left: 4px solid var(--af-accent) !important;
    border-radius: 4px !important;
    color: var(--af-muted) !important;
}

/* Signature */
#af-wrapper .signature {
    color: var(--af-muted) !important;
    border-top: 1px dashed var(--af-border) !important;
}

/* Post footer */
#af-wrapper .post-footer,
#af-wrapper .post-footer a {
    color: var(--af-muted) !important;
    font-size: 11px !important;
}

/* ============================================================
   INPUT FIELDS
   ============================================================ */
#af-wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
    border: 1px solid var(--af-border) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    color: var(--af-text) !important;
    background: #fff !important;
    transition: border-color .15s, box-shadow .15s !important;
}
#af-wrapper input:not([type="radio"]):not([type="checkbox"]):focus {
    border-color: var(--af-primary) !important;
    box-shadow: 0 0 0 3px rgba(15,45,94,.12) !important;
    outline: none !important;
}

/* ============================================================
   EDITOR AREA
   ============================================================ */
#af-wrapper .editor-row,
#af-wrapper .editor-row-subject {
    border-bottom: 1px solid var(--af-border) !important;
    background: #fff !important;
}
#af-wrapper .editor-element {
    background: #fafbfd !important;
    border-radius: var(--af-radius) !important;
    box-shadow: var(--af-shadow) !important;
}

/* ============================================================
   NOTICES & ERRORS
   ============================================================ */
#af-wrapper .notices-panel {
    background: #fffbeb !important;
    border: 1px solid #f0c860 !important;
    color: #7a5c00 !important;
    border-radius: var(--af-radius) !important;
}
#af-wrapper .error {
    background: #fff0f0 !important;
    border: 1px solid var(--af-danger) !important;
    color: var(--af-danger) !important;
    border-radius: var(--af-radius) !important;
}

/* ============================================================
   STATISTICS PANEL
   ============================================================ */
#af-wrapper #statistics {
    border-radius: var(--af-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--af-shadow) !important;
}
#af-wrapper #statistics-body {
    border: none !important;
    background: var(--af-card) !important;
}
#af-wrapper #statistics-online-users {
    background: #f5f8ff !important;
    border-top: 1px solid var(--af-border) !important;
    color: var(--af-muted) !important;
    font-size: 12px !important;
}
#af-wrapper .statistics-element {
    border-right: 1px solid var(--af-border) !important;
}
#af-wrapper .statistics-element .element-number {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--af-primary) !important;
    line-height: 36px !important;
}

/* ============================================================
   READ/UNREAD INDICATORS
   ============================================================ */
#af-wrapper #read-unread .unread {
    background: var(--af-accent) !important;
}
#af-wrapper #read-unread .read {
    background: #c0c9d6 !important;
}

/* ============================================================
   USER PROFILE HEADER
   ============================================================ */
#af-wrapper #profile-header {
    border-color: var(--af-primary) !important;
    border-radius: var(--af-radius) var(--af-radius) 0 0 !important;
}
#af-wrapper #profile-header .background-avatar {
    background-color: var(--af-primary) !important;
}

/* ============================================================
   ADMIN / MOD / ROLE HIGHLIGHTS
   ============================================================ */
#af-wrapper a.highlight-admin {
    color: var(--af-danger) !important;
}
#af-wrapper a.highlight-moderator {
    color: var(--af-success) !important;
}

/* ============================================================
   MAIN PAGE TITLE
   ============================================================ */
#af-wrapper .main-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--af-primary) !important;
    border-bottom: 2px solid var(--af-accent) !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
}
#af-wrapper .main-title .main-title-icon:before {
    color: var(--af-accent) !important;
}
