/* ============================================================
   Dead Heat II — SMF 2.1 Theme
   css/custom.css
   Additional polish and Dead Heat II specific overrides
   ============================================================ */

/* ---- Typography polish ---- */
h1, h2, h3, h4 {
    font-family: 'EB Garamond', Georgia, serif;
    color: var(--dh-green-dark);
}

.cat_bar h3, .cat_bar h4 {
    color: #fff !important;
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* ---- Board index ---- */
.board_icon {
    color: var(--dh-gold) !important;
}

.board_info .info a {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--dh-green-dark) !important;
}
.board_info .info a:hover {
    color: var(--dh-gold-dark) !important;
}

.board_info .lastpost a {
    color: var(--dh-text-muted) !important;
    font-size: 0.82rem !important;
}

/* Stats row */
.board_info .stats {
    font-size: 0.82rem !important;
    color: var(--dh-text-muted) !important;
}

/* ---- Topic list ---- */
.topic_details a {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* Unread dot */
.new_posts_indicator {
    background: var(--dh-gold) !important;
    border-radius: 50% !important;
    width: 8px !important;
    height: 8px !important;
    display: inline-block !important;
}

/* ---- Post styling ---- */
.post_content {
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
    color: var(--dh-text-mid) !important;
}

.post_content blockquote {
    border-left: 3px solid var(--dh-gold) !important;
    background: rgba(201,168,76,0.06) !important;
    padding: 0.5rem 1rem !important;
    margin: 0.75rem 0 !important;
    border-radius: 0 4px 4px 0 !important;
    color: var(--dh-brown) !important;
    font-style: italic !important;
}

/* Post signature divider */
.signature {
    border-top: 1px solid var(--dh-border) !important;
    padding-top: 0.75rem !important;
    margin-top: 0.75rem !important;
    font-size: 0.82rem !important;
    color: var(--dh-text-muted) !important;
}

/* ---- Avatar styling ---- */
.avatar img {
    border-radius: 50% !important;
    border: 2px solid var(--dh-gold) !important;
}

/* ---- Online/offline indicators ---- */
.online { color: var(--dh-green-mid) !important; }
.offline { color: var(--dh-text-muted) !important; }

/* ---- Moderator/Admin labels ---- */
.moderator_label, .admin_label {
    background: rgba(201,168,76,0.15) !important;
    color: var(--dh-gold-dark) !important;
    border: 1px solid rgba(201,168,76,0.3) !important;
    font-size: 0.7rem !important;
    padding: 1px 7px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* ---- Notification/PM badge ---- */
.pm_indicator, .alert_indicator {
    background: #dc3545 !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    min-width: 16px !important;
    height: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
}

/* ---- Editor / quick reply textarea ---- */
#message, .editor {
    border: 1px solid var(--dh-border) !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    padding: 0.75rem !important;
    resize: vertical !important;
}
#message:focus, .editor:focus {
    border-color: var(--dh-green-mid) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(45,106,79,0.15) !important;
}

/* ---- SMF editor toolbar ---- */
.toolbar {
    background: var(--dh-ivory) !important;
    border: 1px solid var(--dh-border) !important;
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    padding: 4px !important;
}
.toolbar button {
    background: #fff !important;
    border: 1px solid var(--dh-border) !important;
    border-radius: 3px !important;
    padding: 3px 7px !important;
    color: var(--dh-text-mid) !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
}
.toolbar button:hover {
    background: var(--dh-green-light) !important;
    border-color: var(--dh-green-mid) !important;
    color: var(--dh-green-dark) !important;
}

/* ---- Poll styling ---- */
.poll_bar {
    background: var(--dh-green-dark) !important;
    border-radius: 3px !important;
    height: 18px !important;
}
.poll_bar_outer {
    background: var(--dh-border) !important;
    border-radius: 3px !important;
    overflow: hidden !important;
}

/* ---- Calendar ---- */
.calendar_grid td.today {
    background: rgba(201,168,76,0.15) !important;
    border: 1px solid var(--dh-gold) !important;
    font-weight: 700 !important;
}

/* ---- Search results ---- */
.search_results .subject a {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--dh-green-dark) !important;
}

/* ---- Error/success messages ---- */
.errorbox, .error {
    background: rgba(220,53,69,0.08) !important;
    border: 1px solid rgba(220,53,69,0.3) !important;
    border-radius: 4px !important;
    color: #842029 !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.88rem !important;
    margin-bottom: 1rem !important;
}

.successbox, .success_information {
    background: rgba(26,71,42,0.06) !important;
    border: 1px solid rgba(26,71,42,0.2) !important;
    border-radius: 4px !important;
    color: var(--dh-green-dark) !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.88rem !important;
    margin-bottom: 1rem !important;
}

/* ---- Stats / info boxes ---- */
.stat_title {
    font-family: 'EB Garamond', Georgia, serif !important;
    color: var(--dh-green-dark) !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
}

/* ---- Who's online ---- */
.whos_online_header {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-weight: 700 !important;
    color: var(--dh-green-dark) !important;
    font-size: 0.95rem !important;
}

/* ---- Scrollbar styling (webkit) ---- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--dh-ivory); }
::-webkit-scrollbar-thumb {
    background: var(--dh-green-mid);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--dh-green-dark); }

/* ---- Print ---- */
@media print {
    #dh-header, #dh-navbar, #dh-footer, #dh-breadcrumbs { display: none !important; }
    #dh-container { max-width: 100% !important; padding: 0 !important; }
}

/* ============================================================
   FORCE OVERRIDES — beat SMF default theme specificity
   ============================================================ */
body { background: #f5f3ee !important; font-family: 'Source Sans 3', sans-serif !important; }

/* Category bars */
.cat_bar, .title_bar, .titlebg, td.titlebg, div.cat_bar {
    background: #1a472a !important;
    background-image: none !important;
    color: #fff !important;
    border-bottom: 2px solid #8a6520 !important;
}
.cat_bar h3 a, .cat_bar h3, .titlebg h3, .title_bar h3 {
    color: #fff !important;
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

/* Rows */
.windowbg  { background: #ffffff !important; }
.windowbg2 { background: #faf8f2 !important; }
.windowbg:hover, .windowbg2:hover { background: #e8f5e9 !important; }

/* Links */
a { color: #1a472a !important; }
a:hover { color: #8a6520 !important; }

/* Buttons */
.button_submit, input[type=submit] {
    background: #1a472a !important;
    background-image: none !important;
    border: none !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 8px 18px !important;
}
.button_submit:hover, input[type=submit]:hover {
    background: #2d6a4f !important;
}

/* ============================================================
   BOARD INDEX — styled cards
   ============================================================ */
#boardindex_table .main_container {
    margin-bottom: 1.5rem;
    border: 1px solid #ddd5c0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

/* Board rows */
#boardindex_table .up_contain {
    display: grid;
    grid-template-columns: 48px 1fr auto auto;
    align-items: center;
    gap: 0 1rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border-bottom: 1px solid #ddd5c0;
}
#boardindex_table .up_contain:last-child { border-bottom: none; }
#boardindex_table .up_contain:hover { background: #e8f5e9 !important; }

/* Board icon */
.board_icon { grid-column: 1; text-align: center; }
.board_icon a { display: inline-block; width: 32px; height: 32px; border-radius: 50%; background: #1a472a; }
.board_icon a.board_on { background: #c9a84c; }

/* Board info */
.board_info, .info { grid-column: 2; }
.info .subject a, .info a.subject {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1a472a !important;
    text-decoration: none !important;
}
.info .subject a:hover { color: #8a6520 !important; }
.board_description { font-size: 0.85rem; color: #6b6b6b; margin-top: 2px; }

/* Stats */
.board_stats { grid-column: 3; text-align: right; font-size: 0.82rem; color: #6b6b6b; }
.board_stats p { margin: 0; }

/* Last post */
.lastpost { grid-column: 4; font-size: 0.82rem; color: #6b6b6b; white-space: nowrap; }
.lastpost p { margin: 0; }
.lastpost a { color: #1a472a !important; }

/* Mark read button */
.mark_read { margin: 0.75rem 0; }
.mark_read a {
    display: inline-block;
    font-size: 0.82rem;
    padding: 5px 14px;
    border: 1px solid #ddd5c0;
    border-radius: 4px;
    color: #6b6b6b !important;
    text-decoration: none !important;
    background: #faf8f2;
    transition: all 0.2s;
}
.mark_read a:hover { background: #e8f5e9; border-color: #1a472a; color: #1a472a !important; }

/* Info center */
#info_center {
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
    background: #fff !important;
    margin-top: 1.5rem !important;
    padding: 0 !important;
}
.sub_bar, .subbg {
    background: #f5f3ee !important;
    border-bottom: 1px solid #ddd5c0 !important;
    padding: 0.5rem 1rem !important;
    margin: 0 !important;
}
.sub_bar h4, .subbg { font-size: 0.88rem !important; color: #1a472a !important; font-weight: 700 !important; }
.sub_bar a, .subbg a { color: #1a472a !important; }
p.inline { padding: 0.75rem 1rem !important; margin: 0 !important; font-size: 0.88rem !important; color: #3a3a3a !important; }

/* ============================================================
   TOPIC LIST
   ============================================================ */
#messageindex {
    border: 1px solid #ddd5c0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
}

/* Topic rows */
.topic_details, .windowbg, .windowbg2 {
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid #ddd5c0 !important;
}
.windowbg  { background: #fff !important; }
.windowbg2 { background: #faf8f2 !important; }
.windowbg:hover, .windowbg2:hover { background: #e8f5e9 !important; }

/* Topic subject */
.subject a {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1a472a !important;
}
.subject a:hover { color: #8a6520 !important; }

/* New post indicator */
.new_posts, span.new_posts {
    background: #c9a84c !important;
    color: #3a1f00 !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    padding: 1px 6px !important;
    border-radius: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    vertical-align: middle !important;
    margin-left: 6px !important;
}

/* Button strip — New Topic etc */
.dh-button-strip {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0.75rem 0;
}
.dh-btn {
    display: inline-block;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none !important;
    background: #1a472a;
    color: #fff !important;
    transition: background 0.2s;
    border: none;
}
.dh-btn:hover { background: #2d6a4f !important; color: #fff !important; }

/* Page links */
.dh-pagelinks {
    font-size: 0.82rem;
    margin: 0.5rem 0;
    color: #6b6b6b;
}
.dh-pagelinks a {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #ddd5c0;
    border-radius: 3px;
    color: #1a472a !important;
    margin: 0 2px;
    text-decoration: none !important;
}
.dh-pagelinks a:hover { background: #e8f5e9; }
.pagelinks .current_page, .pagelinks strong {
    display: inline-block;
    padding: 2px 8px;
    background: #1a472a;
    color: #fff !important;
    border-radius: 3px;
    font-size: 0.82rem;
    margin: 0 2px;
}

/* ============================================================
   POSTS / MESSAGES
   ============================================================ */
.post_wrapper {
    border: 1px solid #ddd5c0;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 1rem;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* Post header */
.keyinfo {
    background: #f5f3ee !important;
    border-bottom: 1px solid #ddd5c0 !important;
    padding: 0.6rem 1rem !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.keyinfo h5, .keyinfo .subject {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a472a !important;
    margin: 0 !important;
}

/* Poster sidebar */
.poster {
    background: #faf8f2 !important;
    border-right: 1px solid #ddd5c0 !important;
    padding: 1rem !important;
    vertical-align: top !important;
    width: 160px !important;
    font-size: 0.82rem !important;
}
.poster h4 { font-size: 0.9rem !important; color: #1a472a !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.poster .username a { color: #1a472a !important; font-weight: 700 !important; }

/* Post content */
.post { padding: 1rem !important; background: #fff !important; vertical-align: top !important; }
.post .inner { font-size: 0.95rem !important; line-height: 1.75 !important; color: #3a3a3a !important; }

/* Post footer */
.post_footlinks { padding: 0.5rem 1rem !important; background: #f5f3ee !important; border-top: 1px solid #ddd5c0 !important; }

/* Quote blocks */
blockquote {
    border-left: 3px solid #c9a84c !important;
    background: rgba(201,168,76,0.06) !important;
    padding: 0.5rem 1rem !important;
    margin: 0.75rem 0 !important;
    border-radius: 0 4px 4px 0 !important;
    font-style: italic !important;
}

/* Error box */
.dh-error-box {
    background: rgba(220,53,69,0.08);
    border: 1px solid rgba(220,53,69,0.3);
    border-radius: 4px;
    padding: 0.75rem 1rem;
    color: #842029;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.dh-separator { border: none; border-top: 1px solid #ddd5c0; margin: 0; }

/* User actions tab */
.user_actions, .topic_buttons {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0.5rem 0;
}

/* Roundframe / panels */
.roundframe {
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
    margin-bottom: 1rem !important;
}

/* Board description header */
.board_description_container {
    background: #faf8f2 !important;
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1rem !important;
}
.board_description_container h2 {
    font-family: 'EB Garamond', Georgia, serif !important;
    color: #1a472a !important;
    font-size: 1.3rem !important;
    margin-bottom: 0.25rem !important;
}

/* Responsive */
@media (max-width: 600px) {
    #boardindex_table .up_contain {
        grid-template-columns: 40px 1fr;
        grid-template-rows: auto auto;
    }
    .board_stats, .lastpost { grid-column: 2; }
    .poster { width: 100px !important; }
}

/* ============================================================
   ADMIN PANEL
   ============================================================ */

/* Admin wrapper layout */
#admin_area, .administrative {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

/* Admin sidebar menu */
#admin_menu_section, .admin_menu_section {
    width: 220px;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #ddd5c0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* Hide the duplicate menu heading text */
#admin_area > div:first-child:not(.admin_menu_section),
.admincenter > p {
    display: none;
}

/* Admin menu lists */
#admin_menu_section ul,
.admin_menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#admin_menu_section li,
.admin_menu li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Top-level items */
#admin_menu_section > ul > li > a,
#admin_menu_section > ul > li > span,
.admin_menu .first-level > a {
    display: block;
    padding: 0.6rem 1rem;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff !important;
    background: #1a472a;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    text-decoration: none !important;
}

/* Second-level items */
#admin_menu_section > ul > li > ul > li > a,
.admin_menu .second-level > a {
    display: block;
    padding: 0.45rem 1rem 0.45rem 1.5rem;
    font-size: 0.85rem;
    color: #1a472a !important;
    border-bottom: 1px solid #f0ebe0;
    text-decoration: none !important;
    transition: background 0.15s;
}
#admin_menu_section > ul > li > ul > li > a:hover,
.admin_menu .second-level > a:hover {
    background: #e8f5e9 !important;
    color: #8a6520 !important;
}

/* Third-level items */
#admin_menu_section > ul > li > ul > li > ul > li > a {
    display: block;
    padding: 0.35rem 1rem 0.35rem 2.25rem;
    font-size: 0.82rem;
    color: #6b6b6b !important;
    border-bottom: 1px solid #f5f3ee;
    text-decoration: none !important;
    transition: background 0.15s;
}
#admin_menu_section > ul > li > ul > li > ul > li > a:hover {
    background: #e8f5e9 !important;
    color: #1a472a !important;
}

/* Admin main content area */
#admin_content, .admin_main_area {
    flex: 1;
    min-width: 0;
}

/* Admin tables */
.table_grid, .admin_table {
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 1rem !important;
}
.table_grid th {
    background: #1a472a !important;
    color: #fff !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-align: left !important;
}
.table_grid td {
    padding: 0.6rem 1rem !important;
    border-bottom: 1px solid #ddd5c0 !important;
    font-size: 0.88rem !important;
    vertical-align: middle !important;
}
.table_grid tr:last-child td { border-bottom: none !important; }
.table_grid tr:hover td { background: #e8f5e9 !important; }

/* Admin form sections */
.settings {
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-bottom: 1rem !important;
}
.settings dt {
    padding: 0.6rem 1rem !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #1a472a !important;
    background: #faf8f2 !important;
    border-bottom: 1px solid #ddd5c0 !important;
}
.settings dd {
    padding: 0.6rem 1rem !important;
    font-size: 0.88rem !important;
    color: #3a3a3a !important;
    border-bottom: 1px solid #f0ebe0 !important;
    margin: 0 !important;
}

/* Admin notices/info boxes */
.noticebox, div.information {
    background: rgba(26,71,42,0.06) !important;
    border: 1px solid rgba(26,71,42,0.2) !important;
    border-radius: 4px !important;
    padding: 0.75rem 1rem !important;
    color: #1a472a !important;
    font-size: 0.88rem !important;
    margin-bottom: 1rem !important;
}

/* Admin page title */
.admin_title, #manage_packages h2, .manage_title {
    font-family: 'EB Garamond', Georgia, serif !important;
    color: #1a472a !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    border-bottom: 2px solid #ddd5c0 !important;
    padding-bottom: 0.5rem !important;
}

/* Admin save button row */
.admin_content .button_submit, 
.admin_content input[type=submit] {
    margin-top: 0.75rem;
}

/* ============================================================
   ADMIN PANEL — correct selectors from actual HTML
   ============================================================ */

/* Admin layout — menu left, content right */
#genericmenu {
    float: left;
    width: 220px;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}

/* Make admin content sit beside menu */
#dh-container > div:not(#genericmenu):not(#dh-breadcrumbs):not(nav) {
    overflow: hidden;
}

/* Popup container — make it static for desktop */
.popup_container {
    position: static !important;
    display: block !important;
    background: #fff !important;
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
}

/* Hide popup heading chrome */
.popup_heading {
    background: #1a472a !important;
    color: #fff !important;
    padding: 0.65rem 1rem !important;
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #8a6520 !important;
}
.popup_heading a { display: none !important; }

/* Mobile menu trigger — hide on desktop */
a.mobile_generic_menu_1 { display: none !important; }

/* Generic menu */
.generic_menu { padding: 0 !important; }

/* Reset all list styles */
.dropmenu, .dropmenu ul,
.dropdown_menu_1, .dropdown_menu_1 ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    position: static !important;
    display: block !important;
    float: none !important;
    min-width: 0 !important;
}

/* Top level section headers */
.dropmenu > li.subsections > a {
    display: block !important;
    padding: 0.55rem 1rem !important;
    background: #1a472a !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}
.dropmenu > li.subsections > a:hover {
    background: #2d6a4f !important;
}

/* Second level items */
.dropmenu > li > ul > li > a {
    display: block !important;
    padding: 0.42rem 1rem 0.42rem 1.25rem !important;
    font-size: 0.85rem !important;
    color: #1a472a !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f0ebe0 !important;
    background: #fff !important;
    transition: background 0.15s !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.dropmenu > li > ul > li > a:hover,
.dropmenu > li > ul > li > a.chosen {
    background: #e8f5e9 !important;
    color: #8a6520 !important;
}
.dropmenu > li > ul > li > a.chosen {
    font-weight: 700 !important;
    border-left: 3px solid #c9a84c !important;
}

/* Hide the span icons inside menu items */
.dropmenu .main_icons { display: none !important; }

/* Third level items */
.dropmenu > li > ul > li > ul > li > a {
    display: block !important;
    padding: 0.35rem 1rem 0.35rem 2rem !important;
    font-size: 0.8rem !important;
    color: #6b6b6b !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f5f3ee !important;
    background: #faf8f2 !important;
    transition: background 0.15s !important;
}
.dropmenu > li > ul > li > ul > li > a:hover {
    background: #e8f5e9 !important;
    color: #1a472a !important;
}
.dropmenu > li > ul > li.subsections > ul {
    display: block !important;
}

/* ============================================================
   ADMIN FIXES
   ============================================================ */

/* Fix header disappearing — clear floats */
#dh-wrapper { overflow: visible !important; }
#dh-container::after { content: ''; display: table; clear: both; }

/* Admin menu positioning */
#genericmenu {
    float: left !important;
    width: 200px !important;
    margin-right: 1.5rem !important;
    margin-top: 0 !important;
}

/* Remove "Administration Center Menu" text that appears above menu */
a.mobile_generic_menu_1 {
    display: none !important;
}

/* Popup heading — hide the title since it's redundant */
.popup_heading {
    font-size: 0.78rem !important;
    padding: 0.5rem 1rem !important;
    text-align: center !important;
}

/* Admin content clears the float */
#main_content_section,
.admincenter,
#admin_main,
.main_section {
    margin-left: 216px !important;
    float: none !important;
}

/* Admin fieldsets — the grouped sections on admin home */
fieldset {
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 1rem !important;
    background: #fff !important;
}
fieldset legend {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #1a472a !important;
    padding: 0 8px !important;
    background: #fff !important;
}
fieldset a {
    display: inline-block !important;
    margin: 3px 4px !important;
    padding: 3px 10px !important;
    font-size: 0.85rem !important;
    color: #1a472a !important;
    border: 1px solid #ddd5c0 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    background: #faf8f2 !important;
    transition: all 0.15s !important;
}
fieldset a:hover {
    background: #e8f5e9 !important;
    border-color: #1a472a !important;
    color: #1a472a !important;
}

/* Admin page header bar */
.admin_header_bar, #admin_header {
    background: #1a472a !important;
    color: #fff !important;
    padding: 0.65rem 1rem !important;
    border-radius: 6px 6px 0 0 !important;
    border-bottom: 2px solid #8a6520 !important;
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

/* Quick search bar at top of admin content */
.admin_search {
    background: #faf8f2 !important;
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    padding: 0.6rem 1rem !important;
    margin-bottom: 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Welcome/info box on admin home */
.information {
    background: rgba(26,71,42,0.06) !important;
    border: 1px solid rgba(26,71,42,0.2) !important;
    border-radius: 4px !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.9rem !important;
    color: #3a3a3a !important;
}

/* ============================================================
   ADMIN LAYOUT FIX — flexbox instead of float
   ============================================================ */

/* Wrap menu and content in a flex row */
#dh-container {
    display: block !important;
}

/* Target the admin wrapper that holds both menu and content */
#genericmenu + * {
    overflow: hidden;
}

/* Use flex on the admin area */
.generic_menu_outer,
#admin_main_section {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
}

/* Override the float approach */
#genericmenu {
    float: none !important;
    flex-shrink: 0 !important;
    width: 200px !important;
    align-self: flex-start !important;
    position: sticky !important;
    top: 60px !important;
}

/* Sidebar menu — don't let it stretch full height */
.popup_container {
    height: auto !important;
    max-height: calc(100vh - 80px) !important;
    overflow-y: auto !important;
}

/* Admin content takes remaining space */
#main_content_section,
.admincenter,
#admin_main,
.main_section {
    flex: 1 !important;
    margin-left: 0 !important;
    min-width: 0 !important;
    float: none !important;
}

/* Clearfix no longer needed */
#dh-container::after { content: none !important; }

/* Wrap genericmenu and sibling in flex */
#genericmenu {
    display: block !important;
}

/* ============================================================
   ADMIN GRID LAYOUT — targets body#chrome which SMF sets on admin
   ============================================================ */

/* When genericmenu is present, use grid layout */
#dh-container:has(#genericmenu) {
    display: grid !important;
    grid-template-columns: 200px 1fr !important;
    grid-template-rows: auto 1fr !important;
    gap: 0 1.5rem !important;
    align-items: start !important;
}

/* Breadcrumbs span full width */
#dh-container:has(#genericmenu) #dh-breadcrumbs {
    grid-column: 1 / -1 !important;
}

/* Menu in first column */
#dh-container:has(#genericmenu) #genericmenu {
    grid-column: 1 !important;
    grid-row: 2 !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    align-self: start !important;
}

/* All other content in second column */
#dh-container:has(#genericmenu) > *:not(#genericmenu):not(#dh-breadcrumbs):not(nav) {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

/* Sidebar doesn't stretch — only as tall as its content */
#dh-container:has(#genericmenu) .popup_container {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* ============================================================
   ADMIN POLISH
   ============================================================ */

/* Tighten sidebar top alignment */
#genericmenu { margin-top: 0 !important; }
.popup_container { margin-top: 0 !important; }

/* Active menu item */
.dropmenu > li > ul > li > a.chosen,
.dropmenu > li > ul > li > a.active {
    background: #e8f5e9 !important;
    color: #1a472a !important;
    font-weight: 700 !important;
    border-left: 3px solid #c9a84c !important;
    padding-left: calc(1.25rem - 3px) !important;
}

/* Go button */
input[name="go"], a#quick_search_go,
#quick_search_form input[type=submit],
form input[value="Go"] {
    background: #1a472a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 6px 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
form input[value="Go"]:hover { background: #2d6a4f !important; }

/* Quick search row at top of admin */
#quick_search_row, form[name="quick_search"] {
    background: #faf8f2 !important;
    border: 1px solid #ddd5c0 !important;
    border-radius: 6px !important;
    padding: 0.6rem 1rem !important;
    margin-bottom: 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}
#quick_search_row input[type=text],
form[name="quick_search"] input[type=text] {
    border: 1px solid #ddd5c0 !important;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    font-size: 0.88rem !important;
}
#quick_search_row select,
form[name="quick_search"] select {
    border: 1px solid #ddd5c0 !important;
    border-radius: 4px !important;
    padding: 5px 8px !important;
    font-size: 0.88rem !important;
}

/* Cat/title bars in admin content */
.cat_bar h3, .title_bar h3, .titlebg h3 {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    color: #fff !important;
}

/* Remove double border on admin content top */
#main_content_section > .cat_bar:first-child,
#main_content_section > .title_bar:first-child {
    border-radius: 6px 6px 0 0 !important;
}

/* Sidebar scroll for long menus */
#genericmenu {
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    position: sticky !important;
    top: 60px !important;
}
#genericmenu::-webkit-scrollbar { width: 4px; }
#genericmenu::-webkit-scrollbar-thumb { background: #2d6a4f; border-radius: 2px; }
