/* =====================================================================
   Yellowhammer Trader — Brand Override CSS
   Phase: Rebrand pass 4 (confirmed palette: #111111 near-black / #FFD700
   gold / #FFFFFF white). Structural layout CSS below is preserved
   verbatim from the prior agent's working version.

   CRITICAL: This file must remain brace-balanced. One stray "}" drops
   the entire sheet (browser aborts at parse error). If the header nav
   suddenly collapses, check that this file parses cleanly.

   Color anchors (CSS variables):
     --yh-gold      primary brand color, buttons, accents (#FFD700)
     --yh-amber     alias of gold (kept for minimal diff on call sites)
     --yh-rust      was a rust/orange accent — now gold; primary
                    link/price/CTA color, not a semantic state color
     --yh-forest    success / "available" / "open" — semantic, left as-is
     --yh-charcoal  near-black (#111111); used both as the base bg tone
                    AND, historically, as dark text-on-light-chip. Text
                    usages that used to sit on light card backgrounds
                    have been repointed to light text below (search
                    "dark-theme text fix" comments) now that those card
                    backgrounds are dark tints of #111111.
     --yh-bone      dark panel tint (was light cream)
     --yh-cream     dark section background (was light cream)
     --yh-shadow    dark tint used for borders + header/footer dark zones
     --yh-paper     dark surface tint (was off-white)
     --yh-rule      muted divider color (neutral translucent white line)
     --yh-mute      muted secondary text for dark backgrounds
====================================================================== */

:root {
    --yh-gold:     #FFD700;
    --yh-amber:    #FFD700;
    --yh-rust:     #FFD700;
    --yh-forest:   #3f5f3a;
    --yh-charcoal: #111111;
    --yh-bone:     #1a1a1a;
    --yh-cream:    #161616;
    --yh-shadow:   #141414;
    --yh-paper:    #1c1c1c;
    --yh-rule:     rgba(255, 255, 255, 0.14);
    --yh-mute:     #93a1b5;
}

/* Hide the default phpBB site-description (centered SITENAME + tagline) —
   the yh-brand bar already renders the logo + name, so this is redundant. */
#site-description { display: none !important; }
#site-description h1 { display: none !important; }

/* ===== Global readability: phpBB defaults to ~10-11px which reads as too small. */
body, .post, .content, .panel, .bg1, .bg2, .forumbg, .forumrow,
.postbody, .postprofile, .topiclist, .list-inner, dt, dd, li, p, span {
    font-size: 15px;
    line-height: 1.6;
    color: #FFFFFF; /* dark-theme text fix: was --yh-charcoal on light --yh-cream bg */
}
body { background-color: var(--yh-cream); }
.content, .postbody .content { font-size: 15.5px; line-height: 1.65; }
h2, h3 { font-size: 1.35em; color: #FFFFFF; } /* dark-theme text fix: was --yh-shadow on light bg */
.postbody h3, .panel h3 { font-size: 1.2em; }

/* ===== Brand headline typography: real page-level h1/h2 =====
   h1 = forum name (page title), h2 = forum/topic header titles
   (see styles/prosilver_dark/theme/common.css). Scoped to #page-body
   so this only hits page/section-title-level headings, not anything
   a user could put inside post body content (phpBB strips raw
   heading tags from BBCode, and no .postbody h1/h2 rule exists in
   the stock theme, so there is no user-content collision here). */
#page-body h1,
#page-body h2 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

/* Yellowhammer Trader — extension-owned brand bar styles. */
.yh-banner,
.yh-banner-img.legacy-cream {
    display: none !important;
}

/* ===== Brand bar header (replaces prosilver logo block) ===== */
#yh-brand-header {
    background-color: var(--yh-shadow);
    background-image: linear-gradient(180deg, var(--yh-shadow) 0%, var(--yh-charcoal) 100%);
    border-bottom: 4px solid var(--yh-gold);
    padding: 14px 0 0 0;
}

#yh-brand-header .inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    max-width: 1330px;
    margin: 0 auto;
    padding: 8px 20px 0;
}

/* Rebrand pass 3: the user-supplied header banner (transparent PNG: wordmark +
   tagline + yellowhammer bird, white font outline kept, box frame removed).
   Shown large and centered on the dark header bar. */
#yh-brand-header .logo.yh-logo-pill {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    flex: 1 1 100%;
    text-decoration: none;
    justify-content: center;
}

#yh-brand-header .logo.yh-logo-pill img,
#yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
    display: block !important;
    height: auto !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 600px !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Legacy text-logo fallback (the visible logo in production is the <img>
   banner — see #yh-brand-header .logo.yh-logo-pill above). Retained for
   backwards compat; restyled to the brand headline font (Anton, bold
   condensed uppercase) in case it is ever rendered as a fallback. */
.yh-logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 0.85;
    font-family: 'Anton', sans-serif;
    text-decoration: none;
}
.yh-logo-top {
    font-size: 2.6rem;
    color: var(--yh-gold);
    letter-spacing: 0.04em;
    font-weight: 400;
    text-transform: uppercase;
}
.yh-logo-bottom {
    display: block;
    margin-top: 0.1em;
    font-size: 1.05rem;
    color: #FFFFFF; /* dark-theme text fix: was --yh-charcoal on dark #yh-brand-header bg */
    letter-spacing: 0.32em;
    font-weight: 400;
    text-transform: uppercase;
    font-family: 'Anton', sans-serif;
}

@media (max-width: 700px) {
    #yh-brand-header .inner { flex-direction: column; align-items: stretch; padding-top: 14px; }
    #yh-brand-header .logo.yh-logo-pill { align-self: center; margin-bottom: 8px; }
    #yh-brand-header .logo.yh-logo-pill img.yh-header-logo { height: auto !important; width: 100% !important; max-width: 560px !important; max-height: none !important; }
    .yh-logo-top { font-size: 1.9rem; }
    .yh-logo-bottom { font-size: 0.85rem; letter-spacing: 0.22em; }
}

/* ===== Nav tabs (under brand bar) ===== */
#yh-tabs {
    flex: 1 1 auto;
    background-color: var(--yh-shadow);
    padding: 0;
    margin: 0 0 0 16px;
}

@media (max-width: 700px) {
    #yh-tabs { margin-left: 0; width: 100%; }
}

.yh-tabs-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0 0 0 16px;
    gap: 4px;
}

.yh-tabs-list .yh-tab { list-style: none; margin: 0; padding: 0; }
.yh-tabs-list .yh-subnav { list-style: none; margin: 0; padding: 0; }
.yh-tabs-list .yh-breadcrumb,
.yh-breadcrumb { list-style: none; margin: 0; padding: 0; }

/* ===== Tab icons from the yellow icon pack (transparent line art) ===== */
.yh-tab-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex: 0 0 auto;
    vertical-align: -3px;
}
/* Hover: keep the yellow icon, add a soft glow */
.yh-tab > a:hover .yh-tab-icon {
    filter: drop-shadow(0 0 2px rgba(255, 216, 61, 0.6));
}
/* Active (highlighted) tab = gold background + dark text, so the icon must go
   dark too or it disappears on the gold. brightness(0) turns the yellow PNG
   into dark charcoal, matching the active tab text. */
.yh-tab-active .yh-tab-icon {
    filter: brightness(0);
}

.yh-tabs-list .yh-tab > a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    color: #FFFFFF; /* dark-theme text fix: low-alpha gold tint over dark bg is not light enough for dark text */
    background-color: rgba(255, 215, 0, 0.12);
    border: 1px solid rgba(255, 215, 0, 0.15);
    border-bottom: 3px solid transparent;
    border-radius: 6px 6px 0 0;
    font-size: 0.95em;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: color 0.15s, background-color 0.15s, border-color 0.15s;
}

.yh-tabs-list .yh-tab > a:hover,
.yh-tabs-list .yh-tab > a:focus {
    color: var(--yh-gold);
    background-color: rgba(255, 215, 0, 0.25);
    border-bottom-color: var(--yh-gold);
    text-decoration: none;
}

.yh-tabs-list .yh-tab.yh-tab-active > a {
    color: var(--yh-charcoal);
    background-color: var(--yh-gold);
    border-bottom-color: var(--yh-amber);
}

.yh-tabs-list .yh-tab .icon { color: inherit; }

.yh-tabs-list .yh-subnav { margin-left: auto; }

.yh-tabs-list .yh-subnav > a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    color: #FFFFFF; /* dark-theme text fix: transparent bg sits on dark #yh-tabs */
    background-color: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    font-size: 0.85em;
    font-weight: 500;
    text-decoration: none;
}

.yh-tabs-list .yh-subnav > a:hover {
    color: var(--yh-gold);
    border-bottom-color: var(--yh-gold);
    text-decoration: none;
}

.yh-tabs-list .yh-subnav.yh-register > a { color: var(--yh-gold); font-weight: 700; }

.yh-tabs-list .yh-subnav .badge {
    background-color: var(--yh-gold);
    color: var(--yh-charcoal);
    padding: 1px 6px;
    border-radius: 8px;
    font-size: 0.85em;
    margin-left: 2px;
    font-weight: 700;
}

.yh-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 8px 16px 12px 16px;
    border-top: 1px solid rgba(255, 215, 0, 0.15);
    color: #FFFFFF; /* dark-theme text fix: breadcrumb sits on dark #yh-tabs/#yh-brand-header */
    font-size: 0.85em;
}

.yh-breadcrumb .crumb { display: inline-flex; align-items: center; }
.yh-breadcrumb .crumb + .crumb::before { content: "\203a"; color: rgba(255, 215, 0, 0.6); margin: 0 8px; }
.yh-breadcrumb a { color: #FFFFFF; text-decoration: none; } /* dark-theme text fix */
.yh-breadcrumb a:hover { color: var(--yh-gold); }
.yh-breadcrumb .icon { color: inherit; }

@media (max-width: 700px) {
    .yh-tabs-list { flex-direction: column; padding: 0 8px; }
    .yh-tabs-list .yh-tab > a { border-radius: 4px; }
}

/* ===== Tablet gap (701-900px): nothing collapses to a column here yet
   (that happens at max-width:700px above), but the nav-tab row (up to
   7 tabs + subnav links) can get visually cramped at this width with
   full desktop padding. Tighten spacing only — no layout changes. ===== */
@media (min-width: 701px) and (max-width: 900px) {
    .yh-tabs-list { gap: 2px; padding: 0 0 0 8px; }
    .yh-tabs-list .yh-tab > a { padding: 8px 12px; gap: 4px; font-size: 0.88em; }
    .yh-tabs-list .yh-subnav > a { padding: 8px 10px; }
}

/* ===== Yellowhammer ad slots ===== */
.yh-ad { margin: 12px 0; text-align: center; }
.yh-ad-img { max-width: 100%; height: auto; border-radius: 6px; display: inline-block; }
.yh-ad-placeholder {
    border: 2px dashed var(--yh-amber);
    background: var(--yh-shadow);
    color: #FFFFFF; /* dark-theme text fix: was --yh-charcoal on light --yh-shadow bg */
    border-radius: 6px;
    padding: 14px;
    font-size: 0.9em;
}
.yh-ad-placeholder strong { display: block; color: var(--yh-gold); margin-bottom: 4px; }
.yh-ad-placeholder a { color: var(--yh-gold); font-weight: bold; }
.yh-ad-header { margin: 8px auto; max-width: 728px; }
.yh-ad-header-ph { max-width: 728px; margin: 0 auto; }
.yh-ad-homepage { max-width: 960px; margin: 16px auto; }
.yh-ad-sidebar { max-width: 320px; margin: 12px 0; }

/* ===== Index hero — rentable ad slot (homepage_featured) ===== */
.yh-ad-hero {
    margin: 14px auto 6px auto;
    max-width: 960px;
}
.yh-ad-hero .yh-ad-img {
    width: 100%;
    max-width: 960px;
    max-height: 110px;
    object-fit: contain;
    border-radius: 6px;
}
.yh-ad-hero-ph {
    max-width: 960px;
    min-height: 70px;
    padding: 8px 16px;
    font-size: 0.92em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    border: 1px dashed var(--yh-amber);
    background: var(--yh-shadow);
    color: #FFFFFF; /* dark-theme text fix: was --yh-charcoal on light --yh-shadow bg */
    border-radius: 6px;
}
.yh-ad-hero-ph strong { display: inline-block; font-size: 1em; margin: 0; color: var(--yh-gold); }
.yh-ad-hero-ph a { display: inline-block; background: var(--yh-amber); color: var(--yh-charcoal); font-weight: 700; padding: 6px 16px; border-radius: 5px; text-decoration: none; font-size: 0.9em; }
.yh-ad-hero-ph a:hover { background: var(--yh-gold); }
.yh-ad-hero-tag { color: var(--yh-mute); font-size: 0.85em; }

/* ===== Classifieds page ===== */
.yh-cls-title { color: #FFFFFF; margin: 6px 0 2px; } /* dark-theme text fix */
.yh-cls-sub { color: var(--yh-mute); margin: 0 0 14px; }
.yh-cls-filters { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.yh-cls-filters label { color: #FFFFFF; font-weight: 600; } /* dark-theme text fix: was --yh-shadow */
.yh-cls-filters select { background: var(--yh-paper); color: #FFFFFF; border: 1px solid var(--yh-rule); border-radius: 6px; padding: 6px 10px; } /* dark-theme text fix */
.yh-cls-list { list-style: none; margin: 0; padding: 0; }
.yh-cls-item { padding: 12px 14px; border-bottom: 1px solid var(--yh-rule); display: flex; flex-direction: column; gap: 4px; }
.yh-cls-item.featured { background: var(--yh-paper); border-left: 3px solid var(--yh-gold); }
.yh-cls-item.bumped { border-left: 3px solid var(--yh-amber); }
.yh-cls-link { color: #FFFFFF; font-weight: 700; font-size: 1.05em; text-decoration: none; } /* dark-theme text fix */
.yh-cls-link:hover { color: var(--yh-rust); }
.yh-cls-meta { color: var(--yh-mute); font-size: 0.85em; }
.yh-cls-badge { display: inline-block; background: var(--yh-gold); color: var(--yh-charcoal); font-size: 0.7em; font-weight: 800; padding: 2px 7px; border-radius: 4px; margin-right: 8px; letter-spacing: 0.05em; }
.yh-cls-item.bumped .yh-cls-badge { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-cls-region { color: var(--yh-mute); font-size: 0.78em; margin-left: 8px; }
.yh-cls-empty { color: var(--yh-mute); }

/* ===== Classifieds: ship checkbox + actions ===== */
.yh-tab-ship { color: var(--yh-mute); font-weight: 600; font-size: 0.85em; display: flex; align-items: center; gap: 6px; }
.yh-tab-ship input { accent-color: var(--yh-amber); }
.yh-cls-actions { display: flex; gap: 8px; align-items: center; }

/* ===== Classifieds: Gallery view ===== */
.yh-cls-gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.yh-cls-gitem { background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.yh-cls-gitem.featured { border-color: var(--yh-gold); box-shadow: 0 0 0 1px var(--yh-gold) inset; }
.yh-cls-gitem.bumped { border-color: var(--yh-amber); }
.yh-cls-gthumb { display: block; aspect-ratio: 4/3; background: var(--yh-shadow); overflow: hidden; }
.yh-cls-gthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yh-cls-gthumb-none { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--yh-mute); font-size: 0.85em; }
.yh-cls-ginfo { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 4px; flex: 1; min-height: 0; }
.yh-cls-gtitle { color: #FFFFFF; font-weight: 700; font-size: 0.95em; text-decoration: none; line-height: 1.25; flex: 0 0 auto; } /* dark-theme text fix */
.yh-cls-gtitle:hover { color: var(--yh-rust); }
.yh-cls-gprice { color: var(--yh-rust); font-weight: 800; font-size: 1.05em; flex: 0 0 auto; }
.yh-cls-gmeta { color: var(--yh-mute); font-size: 0.8em; flex: 0 0 auto; }
.yh-cls-gphotos { color: var(--yh-mute); font-size: 0.75em; margin-top: 2px; }

/* ===== FS/FT/WTB topic-list prefix badges ===== */
.yh-prefix { display: inline-block; font-size: 0.68em; font-weight: 800; letter-spacing: 0.06em;
             padding: 2px 7px; border-radius: 4px; margin-right: 6px; vertical-align: 2px; line-height: 1.3; }
.yh-prefix-FS  { background: var(--yh-forest); color: var(--yh-charcoal); }
.yh-prefix-FT  { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-prefix-WTB { background: var(--yh-rust); color: var(--yh-charcoal); }

/* ===== Listing details panel (viewtopic) ===== */
.yh-listing-panel { background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 10px; padding: 14px 16px; margin: 0 0 14px; }
.yh-listing-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.yh-tag { background: var(--yh-bone); color: #FFFFFF; font-size: 0.82em; padding: 3px 9px; border-radius: 5px; font-weight: 600; } /* dark-theme text fix */
.yh-tag-type { background: var(--yh-gold); color: var(--yh-charcoal); }
.yh-tag-bos { background: var(--yh-rust); color: var(--yh-charcoal); }
.yh-map-link { display: inline-block; margin-left: 8px; color: var(--yh-amber); font-size: 0.85em; text-decoration: none; font-weight: 600; }
.yh-map-link:hover { color: var(--yh-rust); text-decoration: underline; }
.yh-tag-price { background: var(--yh-gold); color: var(--yh-charcoal); }
.yh-listing-photos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.yh-listing-photos img { width: 120px; height: 90px; object-fit: cover; border-radius: 6px; border: 1px solid var(--yh-rule); }
.yh-listing-desc { color: #FFFFFF; line-height: 1.5; white-space: pre-wrap; } /* dark-theme text fix */
.yh-edit-listing-li .button { background: var(--yh-rule); color: #FFFFFF; } /* dark-theme text fix: --yh-rule is now a translucent light divider tint, not a light solid bg */
.yh-buy-online-li .button { background: var(--yh-amber); color: var(--yh-charcoal); font-weight: 700; }
.yh-buy-online-li .button:hover { background: var(--yh-rust); }

/* ===== Listing edit form ===== */
.yh-listing-form label { display: block; margin: 10px 0; color: #FFFFFF; font-weight: 600; } /* dark-theme text fix: was --yh-shadow */
.yh-listing-form input[type=text], .yh-listing-form select, .yh-listing-form textarea {
    display: block; width: 100%; max-width: 460px; margin-top: 4px; background: var(--yh-paper); color: #FFFFFF;
    border: 1px solid var(--yh-rule); border-radius: 6px; padding: 8px 10px; font: inherit;
} /* dark-theme text fix */
.yh-listing-form textarea { resize: vertical; }
.yh-radio { margin-right: 14px; color: #FFFFFF; font-weight: 400; } /* dark-theme text fix */
.yh-wordcount { display: block; font-size: 0.8em; color: var(--yh-mute); margin-top: 4px; }
.yh-photos { border: 1px solid var(--yh-rule); border-radius: 8px; padding: 12px; margin: 14px 0; }
.yh-photo { display: inline-block; position: relative; margin: 6px; }
.yh-photo img { width: 110px; height: 80px; object-fit: cover; border-radius: 6px; }
.yh-photo-del { display: block; margin-top: 4px; font-size: 0.72em; cursor: pointer; background: var(--yh-shadow); color: #FFFFFF; border: 0; border-radius: 4px; padding: 2px 6px; } /* dark-theme text fix */
.yh-photo-count { color: var(--yh-mute); font-size: 0.85em; margin-top: 8px; }

.yh-edit-wrap { max-width: 720px; }
.yh-edit-wrap h2 { color: #FFFFFF; margin-bottom: 2px; } /* dark-theme text fix */
.yh-edit-sub { color: var(--yh-mute); margin: 0 0 18px; font-size: 0.9em; }
.yh-listing-form .yh-section {
    border: 1px solid var(--yh-rule); border-radius: 8px; padding: 14px 16px; margin: 0 0 16px;
    background: var(--yh-bone);
}
.yh-listing-form .yh-section legend {
    color: var(--yh-rust); font-weight: 700; font-size: 0.95em; padding: 0 8px; letter-spacing: 0.4px;
}
.yh-listing-form .yh-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px;
}
.yh-listing-form .yh-field-row { display: flex; gap: 24px; align-items: center; }
.yh-listing-form .yh-check-label {
    display: flex; align-items: center; gap: 8px; margin-top: 26px; color: #FFFFFF; font-weight: 400; /* dark-theme text fix */
}
.yh-listing-form .yh-check-label input { width: auto; margin: 0; }
.yh-listing-form .yh-photo-add-row { display: flex; gap: 12px; align-items: center; margin-top: 10px; }
.yh-listing-form .yh-photo-add-row input[type=file] { color: var(--yh-mute); }
.yh-listing-form .yh-form-actions { margin-top: 20px; text-align: right; }
.yh-listing-form .yh-btn-primary {
    background: var(--yh-gold); color: var(--yh-charcoal); border: 0; border-radius: 6px; padding: 10px 26px;
    font-weight: 700; font-size: 1em; cursor: pointer;
}
.yh-listing-form .yh-btn-primary:hover { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-listing-form .yh-btn-ghost {
    background: var(--yh-rule); color: #FFFFFF; border: 1px solid var(--yh-rule); border-radius: 6px; /* dark-theme text fix */
    padding: 8px 16px; cursor: pointer; font-weight: 600;
}
.yh-listing-form .yh-btn-ghost:hover { background: var(--yh-rule); }
@media (max-width: 640px) {
    .yh-listing-form .yh-grid { grid-template-columns: 1fr; }
    .yh-listing-form .yh-field-row { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* Hide duplicate default phpBB navbar login/register — yh-brand bar is the single source. */
#nav-main .rightside > a[href*="login"],
#nav-main .rightside > a[href*="ucp.php?mode=register"],
#nav-main li.rightside > a[href$="register"] {
    display: none !important;
}

/* Hide the default phpBB guest quick-login box (index page) — duplicate of yh-brand nav. */
form.headerspace {
    display: none !important;
}

/* ===== Restyled logo: YELLOWHAMMER (gold) TRADER (bone) + tagline ===== */
.yh-logo-word { display: inline-block; font-size: 1.5em; font-weight: 800; letter-spacing: 1px; line-height: 1; }
.yh-yellow { color: var(--yh-rust); }
.yh-navy   { color: var(--yh-amber); }
.yh-navy-light { color: var(--yh-amber); }
.yh-logo-tag { display: block; font-size: 0.6em; font-weight: 700; letter-spacing: 0.4px; color: var(--yh-rust); margin-top: 2px; max-width: 340px; }

/* ===== Classifieds toolbar: filter tabs + upgrade button ===== */
.yh-cls-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 12px 0 18px; }
.yh-cls-tabs { display: flex; flex-wrap: wrap; gap: 10px; flex: 1 1 auto; }
.yh-tab-select { color: var(--yh-mute); font-weight: 600; font-size: 0.85em; display: flex; align-items: center; gap: 6px; }
.yh-tab-select select { background: var(--yh-paper); color: #FFFFFF; border: 1px solid var(--yh-rule); border-radius: 6px; padding: 6px 8px; font-weight: 400; } /* dark-theme text fix */
.yh-cls-upgrade { white-space: nowrap; }

#nav-main > li:has(> a[href="/yh_upgrade.php"]) {
    display: none !important;
}

/* FS / FT prefix badges (classifieds) */
.yh-cls-fsft { display: inline-block; font-size: 0.7em; font-weight: 800; letter-spacing: 0.04em; padding: 2px 7px; border-radius: 4px; margin-right: 8px; vertical-align: middle; }
.yh-cls-fsft.fs { background: var(--yh-forest); color: var(--yh-charcoal); }
.yh-cls-fsft.ft { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-cls-gitem .yh-cls-fsft { margin: 0 0 6px; align-self: flex-start; }

/* Homepage carousels (Featured / Newest / Just Bumped) */
.yh-carousel-section { margin: 18px 0; }
.yh-carousel { margin: 0 0 22px; }
.yh-carousel-title { color: var(--yh-rust); font-size: 1.1em; font-weight: 700; margin: 0 0 10px; letter-spacing: 0.03em; }
.yh-carousel-track { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x mandatory; }
.yh-carousel-card { flex: 0 0 190px; scroll-snap-align: start; background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 10px; overflow: hidden; text-decoration: none; display: flex; flex-direction: column; }
.yh-carousel-card:hover { border-color: var(--yh-gold); }
.yh-carousel-thumb { display: block; aspect-ratio: 4/3; background: var(--yh-shadow); overflow: hidden; }
.yh-carousel-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yh-carousel-none { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--yh-mute); font-size: 0.85em; }
.yh-carousel-card-body { padding: 8px 10px 10px; display: flex; flex-direction: column; gap: 3px; flex: 1; justify-content: space-between; min-height: 0; }
.yh-carousel-card-title { color: #FFFFFF; font-weight: 700; font-size: 0.9em; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 0 0 auto; } /* dark-theme text fix (also overridden by yh_dark_v2.css) */
.yh-carousel-card-price { color: var(--yh-rust); font-weight: 800; font-size: 1em; flex: 0 0 auto; padding-bottom: 1px; }
.yh-carousel-card-meta { color: var(--yh-mute); font-size: 0.78em; flex: 0 0 auto; }

/* ===== Homepage top marketplace (listings front-and-center) ===== */
.yh-top-marketplace {
    background: linear-gradient(180deg, var(--yh-bone) 0%, var(--yh-shadow) 100%);
    border: 1px solid var(--yh-rule); border-radius: 12px;
    padding: 18px 16px 20px; margin: 14px 0 20px;
}
.yh-top-title { color: var(--yh-rust); font-size: 1.25em; margin: 0 0 14px; letter-spacing: 0.02em; }
.yh-top-marketplace .yh-carousel-section { margin: 0 0 18px; }
.yh-top-marketplace .yh-carousel-track { padding-bottom: 8px; }
.yh-top-cta { display: flex; gap: 12px; margin-top: 6px; flex-wrap: wrap; }
.yh-top-btn {
    display: inline-block; padding: 11px 22px; border-radius: 8px;
    font-weight: 700; font-size: 0.95em; text-decoration: none; text-align: center;
}
.yh-top-btn-gold { background: var(--yh-gold); color: var(--yh-charcoal); }
.yh-top-btn-gold:hover { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-top-btn-ghost { background: var(--yh-rule); color: #FFFFFF; border: 1px solid var(--yh-rule); } /* dark-theme text fix */
.yh-top-btn-ghost:hover { background: var(--yh-rule); }
@media (max-width: 600px) {
    .yh-top-cta { flex-direction: column; }
    .yh-top-btn { width: 100%; }
}

/* Post reactions */
.yh-reactions { display: flex; gap: 8px; align-items: center; margin: 10px 0 2px; flex-wrap: wrap; }
.yh-react-btn { display: inline-flex; align-items: center; gap: 4px; background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 20px; padding: 3px 10px; color: var(--yh-mute); font-size: 0.9em; text-decoration: none; }
.yh-react-btn:hover { border-color: var(--yh-gold); color: var(--yh-rust); }
.yh-react-btn.active { background: var(--yh-bone); border-color: var(--yh-forest); color: var(--yh-rust); }
.yh-react-count { font-weight: 700; }
.yh-react-total { color: var(--yh-mute); font-size: 0.8em; margin-left: 4px; }

/* ===== Trade feedback / reputation page ===== */
.yh-trade-title { color: var(--yh-rust); margin-bottom: 6px; }
.yh-trade-profile { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.yh-trade-profile strong { color: #FFFFFF; font-size: 1.3em; } /* dark-theme text fix */
.yh-trade-posts { color: var(--yh-mute); font-size: 0.9em; }
.yh-trade-stats { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 0 0 16px; }
.yh-trade-stat { padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.95em; }
.yh-trade-stat.pos { background: #e8f5e9; color: var(--yh-forest); }
.yh-trade-stat.neu { background: #fff8e1; color: var(--yh-amber); }
.yh-trade-stat.neg { background: #fdeaea; color: var(--yh-rust); }
.yh-trade-total { color: var(--yh-mute); font-size: 0.9em; }
.yh-trade-list { list-style: none; margin: 0; padding: 0; }
.yh-trade-item { padding: 10px 12px; border-bottom: 1px solid var(--yh-rule); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.yh-trade-score { font-size: 0.75em; font-weight: 800; padding: 2px 8px; border-radius: 4px; }
.yh-trade-score.pos { background: var(--yh-forest); color: var(--yh-charcoal); }
.yh-trade-score.neu { background: #7a6f1e; color: var(--yh-charcoal); }
.yh-trade-score.neg { background: var(--yh-rust); color: var(--yh-charcoal); }
.yh-trade-from { font-weight: 600; text-decoration: none; }
.yh-trade-time { color: var(--yh-mute); font-size: 0.8em; margin-left: auto; }
.yh-trade-comment { width: 100%; color: #FFFFFF; margin: 4px 0 0; } /* dark-theme text fix */
.yh-trade-empty { color: var(--yh-mute); }
.yh-trade-leave { margin-top: 20px; border: 1px solid var(--yh-rule); border-radius: 10px; padding: 14px 16px; background: var(--yh-paper); }
.yh-trade-leave h3 { color: var(--yh-rust); margin: 0 0 6px; }
.yh-trade-leave label { display: block; margin: 8px 0; color: #FFFFFF; font-weight: 600; } /* dark-theme text fix: was --yh-shadow */

.yh-trade-inline { margin: 4px 0 2px; }
.yh-trade-link { display: inline-flex; gap: 8px; text-decoration: none; }

.yh-profile-trade { margin-left: 10px; }
.yh-btn-sm { font-size: 0.78em; padding: 3px 9px; }
.yh-trade-empty-sm { color: var(--yh-mute); }
.yh-react-score { color: var(--yh-mute); font-size: 0.8em; margin-left: 8px; }
.yh-trade-dot { font-size: 0.72em; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.yh-trade-dot.pos { background: #e8f5e9; color: var(--yh-forest); }
.yh-trade-dot.neg { background: #fdeaea; color: var(--yh-rust); }
.yh-trade-dot.neu { background: #fff8e1; color: var(--yh-amber); }
.yh-trade-dot:hover { filter: brightness(1.2); }
.yh-trade-leave input, .yh-trade-leave select, .yh-trade-leave textarea {
    background: var(--yh-paper); color: #FFFFFF; border: 1px solid var(--yh-rule); border-radius: 6px; padding: 6px 8px; font: inherit; margin-left: 6px; /* dark-theme text fix */
}

/* === ODT-style two-column homepage === */
.yh-home-grid { display: flex; flex-direction: row; gap: 18px; align-items: flex-start; }
.yh-home-main { flex: 1 1 auto; min-width: 0; }
.yh-home-side { flex: 0 0 300px; min-width: 0; }

.yh-sidebar-wrap { display: flex; flex-direction: column; gap: 16px; }
.yh-side-box { background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 10px; padding: 12px; }
.yh-side-title { color: var(--yh-rust); font-size: 0.98em; font-weight: 700; margin: 0 0 10px; letter-spacing: 0.03em; text-transform: uppercase; border-bottom: 1px solid var(--yh-rule); padding-bottom: 6px; }
.yh-side-item { display: flex; gap: 10px; align-items: center; padding: 7px 4px; border-bottom: 1px solid #eef0f3; text-decoration: none; }
.yh-side-item:hover { background: var(--yh-bone); }
.yh-side-item:last-child { border-bottom: none; }
.yh-side-thumb { flex: 0 0 56px; height: 56px; background: var(--yh-shadow); border: 1px solid var(--yh-rule); border-radius: 6px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.yh-side-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yh-side-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.yh-side-title-text { color: #FFFFFF; font-weight: 600; font-size: 0.82em; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* dark-theme text fix */
.yh-side-price { color: var(--yh-rust); font-weight: 800; font-size: 0.9em; }
.yh-side-meta { color: var(--yh-mute); font-size: 0.72em; }

@media (max-width: 900px) {
    .yh-home-grid { flex-direction: column; }
    .yh-home-side { flex: 1 1 auto; width: 100%; }
}

/* Install App button (PWA) */
#yh-install-app {
    display: none;
    align-items: center;
    gap: 6px;
    margin: 0 0 0 12px;
    padding: 6px 14px;
    background: var(--yh-gold);
    color: var(--yh-charcoal);
    border: none;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.85em;
    cursor: pointer;
    white-space: nowrap;
}
#yh-install-app:hover { background: var(--yh-amber); color: var(--yh-charcoal); }
@media (max-width: 700px) {
    #yh-install-app { margin: 8px 0 0; align-self: center; }
}

/* Navbar / quick-links readability on dark brand bar */
.navbar, #nav-main, .navbar .linklist, .navbar .linklist a,
#quick-links, #quick-links a, .navbar .linklist li a,
.navbar .dropdown-container a, .navbar .rightside a {
    color: #FFFFFF !important; /* dark-theme text fix: --yh-bone is now a dark tint, not a light cream */
}
.navbar .linklist a:hover, #quick-links a:hover, .navbar a:hover {
    color: var(--yh-gold) !important;
}
.navbar .icon, #quick-links .icon { color: var(--yh-gold) !important; }

/* Footer leaderboard ad strip */
.yh-ad-footer { margin: 18px auto 6px; max-width: 960px; }
.yh-ad-footer .yh-ad-img { max-height: 110px; object-fit: contain; border-radius: 6px; }
.yh-ad-footer-ph {
    max-width: 960px; min-height: 70px; padding: 8px 16px; font-size: 0.92em;
    text-align: center; display: flex; align-items: center; justify-content: center;
    gap: 12px; flex-wrap: wrap; border: 1px dashed var(--yh-amber); background: var(--yh-shadow);
    color: #FFFFFF; border-radius: 6px; /* dark-theme text fix */
}
.yh-ad-footer-ph strong { display: inline-block; font-size: 1em; margin: 0; color: var(--yh-gold); }
.yh-ad-footer-ph a { display: inline-block; background: var(--yh-amber); color: var(--yh-charcoal); font-weight: 700; padding: 6px 16px; border-radius: 5px; text-decoration: none; font-size: 0.9em; }
.yh-ad-footer-ph a:hover { background: var(--yh-gold); }

/* ===== Fluid full-width layout (ODT-style) ===== */
.wrap {
    max-width: 1330px !important;
    min-width: 0 !important;
    padding: 15px 20px;
}
#yh-brand-header .inner {
    max-width: 1330px !important;
}
.yh-home-grid { max-width: 100%; }

/* ===== Progressive Trader Rank badges ===== */
.yh-rank-badge,
.yh-badge.yh-rank {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 9px;
    border-radius: 10px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #FFFFFF; /* dark-theme text fix: --yh-rule is now a translucent light divider tint */
    background: var(--yh-rule);
    border: 1px solid rgba(255, 215, 0, 0.15);
    vertical-align: middle;
    white-space: nowrap;
}
.yh-rank-sold { font-weight: 800; }
.yh-rank-new-to-the-trader { background: #8f99a6; color: var(--yh-charcoal); }
.yh-rank-greenhorn        { background: #7aa05a; color: var(--yh-charcoal); }
.yh-rank-outdoorsman      { background: var(--yh-forest); color: var(--yh-charcoal); }
.yh-rank-trader           { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-rank-veteran-trader   { background: #7a6fd0; color: var(--yh-charcoal); }
.yh-rank-frontiersman     { background: var(--yh-rust); color: var(--yh-charcoal); }
.yh-rank-legend           { background: var(--yh-gold); color: var(--yh-charcoal); box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.35); }

/* ===== Self-hosted Anton font (Impact-style) ===== */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/Anton-Regular.woff2') format('woff2');
}

/* ===== Supporting/meta text: IBM Plex Mono (typewriter/monospace) =====
   Timestamps, byline, listing meta, small print — NOT applied to main
   post body content, which stays in the normal readable body font. */
.yh-ad-hero-tag,
.yh-cls-sub, .yh-cls-meta, .yh-cls-region, .yh-cls-gmeta,
.yh-wordcount, .yh-photo-count, .yh-edit-sub,
.yh-carousel-card-meta,
.yh-trade-time, .yh-trade-posts, .yh-trade-total,
.yh-side-meta,
.yh-wn-meta, .yh-wn-time, .yh-wn-photos, .yh-wn-foot,
.yh-details-list dt,
.yh-feature-note,
.yh-similar-meta,
.yh-cls-gphotos, .yh-cls-gthumb-none, .yh-carousel-none {
    font-family: 'IBM Plex Mono', monospace;
}

/* (Legacy yh-logo / yh-top / yh-bottom classes retained for backwards compat — superseded by .yh-logo-top/-bottom in the brand bar. Not referenced by any current template, but restyled to the brand headline font in case that changes.) */
.yh-logo {
  display: inline-block;
  font-family: 'Anton', sans-serif;
  line-height: 0.9;
}
.yh-top {
  display: block;
  font-size: 3rem;
  color: var(--yh-gold);
  text-transform: uppercase;
  font-weight: 900;
  transform: skewX(-8deg);
  text-shadow:
    -2px -2px 0 var(--yh-charcoal), 2px -2px 0 var(--yh-charcoal),
    -2px  2px 0 var(--yh-charcoal), 2px  2px 0 var(--yh-charcoal);
  position: relative;
}
.yh-top::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.35em;
  width: 100%;
  height: 0.18em;
  background: var(--yh-charcoal);
  border-radius: 999px;
  transform-origin: right;
  transform: scaleX(0.9) skewX(-15deg);
}
.yh-bottom {
  display: block;
  margin-top: 0.15em;
  font-size: 1.6rem;
  color: var(--yh-charcoal);
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-shadow:
    -2px -2px 0 var(--yh-charcoal), 2px -2px 0 var(--yh-charcoal),
    -2px  2px 0 var(--yh-charcoal), 2px  2px 0 var(--yh-charcoal);
}

/* ===== What's New page ===== */
.yh-wn-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 18px; }
.yh-wn-tab { padding: 8px 16px; border-radius: 8px; background: var(--yh-paper); color: #FFFFFF; text-decoration: none; font-weight: 600; font-size: 0.95rem; border: 1px solid var(--yh-rule); } /* dark-theme text fix: was --yh-shadow */
.yh-wn-tab:hover { background: var(--yh-bone); color: var(--yh-rust); }
.yh-wn-tab.active { background: var(--yh-gold); color: var(--yh-charcoal); border-color: var(--yh-gold); }
.yh-wn-tab-ghost { background: transparent; border-color: var(--yh-rule); color: var(--yh-mute); }
.yh-wn-tab-ghost:hover { background: var(--yh-bone); color: var(--yh-rust); }
.yh-wn-feed { list-style: none; margin: 0; padding: 0; }
.yh-wn-item { display: flex; gap: 14px; padding: 14px 16px; border: 1px solid var(--yh-rule); border-radius: 10px; margin-bottom: 10px; background: #ffffff; }
.yh-wn-item.listing { background: var(--yh-paper); }
.yh-wn-thumb { flex: 0 0 88px; width: 88px; height: 66px; border-radius: 8px; overflow: hidden; background: var(--yh-paper); }
.yh-wn-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yh-wn-thumb-none { flex: 0 0 88px; width: 88px; height: 66px; border-radius: 8px; background: var(--yh-paper); color: var(--yh-rule); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; }
.yh-wn-body { flex: 1; min-width: 0; }
.yh-wn-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.yh-wn-title { color: var(--yh-rust); font-weight: 700; font-size: 1.05rem; text-decoration: none; }
.yh-wn-title:hover { text-decoration: underline; }
.yh-wn-kind { background: var(--yh-rule); color: #FFFFFF; font-size: 0.7rem; font-weight: 700; padding: 2px 8px; border-radius: 4px; letter-spacing: 0.05em; } /* dark-theme text fix */
.yh-wn-meta { color: var(--yh-mute); font-size: 0.85rem; margin-top: 4px; }
.yh-wn-price { color: var(--yh-forest); font-weight: 700; }
.yh-wn-foot { display: flex; gap: 14px; margin-top: 6px; color: var(--yh-mute); font-size: 0.8rem; flex-wrap: wrap; }
.yh-wn-time { color: var(--yh-mute); }
.yh-wn-photos { color: var(--yh-mute); }
.yh-wn-stats { margin-left: auto; }
@media (max-width: 600px) { .yh-wn-thumb, .yh-wn-thumb-none { flex-basis: 64px; width: 64px; height: 48px; } }

/* Homepage social-proof stats bar */
.yh-stats-bar {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 20px 0;
    padding: 14px 16px;
    background: linear-gradient(135deg, var(--yh-shadow) 0%, var(--yh-charcoal) 100%);
    border: 1px solid var(--yh-rule);
    border-radius: 10px;
}
.yh-stat {
    text-align: center;
    padding: 6px 22px;
    min-width: 90px;
}
.yh-stat-num {
    display: block;
    font-size: 1.7em;
    font-weight: 800;
    color: var(--yh-gold);
    line-height: 1.1;
}
.yh-stat-label {
    display: block;
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #FFFFFF; /* dark-theme text fix: was --yh-charcoal on now-dark --yh-shadow/--yh-charcoal gradient (also overridden by yh_dark_v2.css) */
    margin-top: 2px;
}
@media (max-width: 600px) {
    .yh-stat { min-width: 70px; padding: 4px 12px; }
    .yh-stat-num { font-size: 1.4em; }
}

/* Pending-approval alert badge on the Moderation tab */
.yh-tabs-list .yh-tab .yh-pending-badge {
    background-color: var(--yh-rust);
    color: var(--yh-charcoal);
    padding: 1px 7px;
    border-radius: 9px;
    font-size: 0.8em;
    font-weight: 800;
    margin-left: 4px;
    vertical-align: middle;
    box-shadow: 0 0 0 2px rgba(194, 65, 12, 0.25);
}

/* ===== ODT-style listing page (action buttons, details, similar) ===== */
.yh-listing-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
.yh-act-btn {
    display: inline-block; padding: 8px 14px; border-radius: 6px;
    font-weight: 600; font-size: 12.5px; text-decoration: none; border: 1px solid transparent;
}
.yh-act-edit { background: var(--yh-amber); color: var(--yh-charcoal); }
.yh-act-edit:hover { background: var(--yh-gold); color: var(--yh-charcoal); }
.yh-act-gone { background: var(--yh-paper); color: var(--yh-rust); border-color: var(--yh-rule); }
.yh-act-gone:hover { background: var(--yh-bone); }
.yh-act-relist { background: var(--yh-rule); color: #FFFFFF; border-color: var(--yh-rule); } /* dark-theme text fix */
.yh-act-relist:hover { background: var(--yh-rule); }

.yh-listing-details {
    background: var(--yh-paper); border: 1px solid var(--yh-rule); border-radius: 8px;
    padding: 14px 16px; margin: 12px 0;
}
.yh-details-title { color: var(--yh-rust); font-size: 1em; margin: 0 0 10px; }
.yh-details-list { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; }
.yh-details-list dt { color: var(--yh-mute); font-size: 0.85em; font-weight: 600; }
.yh-details-list dd { color: #FFFFFF; margin: 0; font-size: 0.9em; } /* dark-theme text fix */

.yh-feature-upsell {
    background: linear-gradient(135deg, var(--yh-bone), var(--yh-shadow));
    border: 1px solid var(--yh-gold); border-radius: 8px; padding: 10px 14px;
    margin: 12px 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.yh-feature-star { color: var(--yh-gold); font-size: 1.1em; }
.yh-feature-upsell a { color: var(--yh-rust); font-weight: 700; text-decoration: none; }
.yh-feature-upsell a:hover { text-decoration: underline; }
.yh-feature-note { color: var(--yh-mute); font-size: 0.82em; }

.yh-similar { margin-top: 24px; }
.yh-similar-title { color: var(--yh-rust); font-size: 1.05em; margin: 0 0 10px; border-bottom: 1px solid var(--yh-rule); padding-bottom: 6px; }
.yh-similar-item { padding: 8px 0; border-bottom: 1px solid var(--yh-bone); }
.yh-similar-item a { color: #FFFFFF; text-decoration: none; font-weight: 600; } /* dark-theme text fix */
.yh-similar-item a:hover { color: var(--yh-rust); }
.yh-similar-meta { display: block; color: var(--yh-mute); font-size: 0.82em; margin-top: 2px; }
/* END OF FILE */

/* ===== Yellow firearm-type icons (classifieds list/gallery) ===== */
.yh-type-ic {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: -3px;
    margin-right: 2px;
    filter: drop-shadow(0 0 1px rgba(0,0,0,0.25));
    opacity: 0.95;
}
.yh-cls-gitem .yh-type-ic,
.yh-cls-item .yh-type-ic { opacity: 1; }
/* END OF FILE */

/* ===== Homepage two-column layout (forum list + right sidebar) — batch 2 =====
   .yh-ix opens in index_body_markforums_before, closes in
   index_body_forumlist_body_after. Sidebar cards = Featured / Newest / Bumped. */
.yh-ix { display: flex; gap: 22px; align-items: flex-start; margin-top: 6px; }
.yh-ix-main { flex: 1 1 auto; min-width: 0; }
.yh-ix-side { flex: 0 0 300px; width: 300px; display: flex; flex-direction: column; gap: 16px; }
.yh-sc { border: 1px solid #243447; border-radius: 12px; background: #0e1a2c; overflow: hidden; }
.yh-sc > h3 { margin: 0; padding: 11px 14px; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #f5c518; border-bottom: 1px solid #1a2c44; background: #0c1626; }
.yh-sc-list { display: flex; flex-direction: column; }
.yh-sc-item { display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-bottom: 1px solid #16273c; text-decoration: none; color: #e7ecf3; }
.yh-sc-item:last-child { border-bottom: 0; }
.yh-sc-item:hover { background: #12233a; }
.yh-sc-thumb { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 6px; object-fit: cover; background: #1a2c44; }
.yh-sc-nothumb { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 6px; background: #1a2c44; display: flex; align-items: center; justify-content: center; font-size: 9px; color: #6f8299; text-align: center; line-height: 1.1; }
.yh-sc-txt { min-width: 0; flex: 1; }
.yh-sc-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; font-weight: 600; line-height: 1.25; }
.yh-sc-m { font-size: 11px; color: #8ba0b6; margin-top: 2px; }
.yh-sc-price { color: #f5c518; font-weight: 700; }
.yh-sc-more { display: block; text-align: center; padding: 9px; font-size: 11.5px; font-weight: 700; letter-spacing: .03em; color: #d97a2c; text-decoration: none; border-top: 1px solid #1a2c44; }
.yh-sc-more:hover { background: #12233a; }
/* phpBB's default full-width stat blocks removed from the index (batch 2, #6) */
.stat-block.online-list, .stat-block.statistics, .stat-block.birthday-list { display: none !important; }
@media (max-width: 900px) {
    .yh-ix { flex-direction: column; }
    .yh-ix-side { flex-basis: auto; width: 100%; }
}

/* ===== Batch 3: forum-row icons hidden (clean ODT-style rows) =====
   The custom yht-kit forum_image badges are also cleared in the DB; this
   suppresses the prosilver fallback read/unread background icon so the
   category rows are plain text. A proper category icon set comes later. */
.forabg dl.row-item > dt,
.forumbg dl.row-item > dt {
    background-image: none !important;
    padding-left: 10px !important;
}

/* ===== Batch 4: forum-row cleanup + subforum chips ===== */

/* Batch 3 follow-up: the read-state indicator is a sprite background on the
   .forum_read/.forum_unread <dl> itself (yh_dark_v2.css), not the <dt> —
   kill it here so the rows are fully clean text. */
.forabg .forum_read, .forabg .forum_unread,
.forabg .forum_read_subforum, .forabg .forum_unread_subforum,
.forabg .forum_read_locked, .forabg .forum_unread_locked,
.forabg .forum_link {
    background-image: none !important;
}
.forabg dl.row-item > dt { padding-left: 12px !important; }

/* Subforum links -> clean pills. The .yh-sfw wrapper (added via the
   forumlist_body_subforums_before/after events) lets font-size:0 collapse the
   stray "," text nodes phpBB puts between links, while the real elements keep
   their size. */
.forabg .list-inner .yh-sfw { font-size: 0; line-height: 1.5; }
.forabg .list-inner .yh-sfw br,
.forabg .list-inner .yh-sfw > strong,
.forabg .list-inner .yh-sfw a.subforum { font-size: 12px; }

.forabg .list-inner .yh-sfw > strong {
    display: inline-block; font-weight: 700; font-size: 10.5px;
    text-transform: uppercase; letter-spacing: .06em;
    color: #8a94a2; margin: 8px 8px 2px 0; vertical-align: middle;
}
.forabg .list-inner a.subforum {
    display: inline-block; margin: 4px 5px 2px 0; padding: 3px 10px;
    border: 1px solid #3a4a5c; border-radius: 999px; background: #16273c;
    line-height: 1.5; color: #cfe0f0 !important;
    text-decoration: none; vertical-align: middle;
}
.forabg .list-inner a.subforum:hover {
    background: #1e3350; border-color: #f5c518; color: #ffffff !important;
}
.forabg .list-inner a.subforum .icon { display: none !important; }

/* ===== Batch 4c: finish clean forum rows + real subforum pills ===================
   prosilver 3.3 draws the forum status icon as a ::before glyph on the
   <dl class="forum_read"> (icons.css). yh_dark_v2.css also styles subforum links
   with a gold border + a bird ::before, both !important. Override both here —
   this file loads after yh_dark_v2.css. */

.forabg dl.row-item::before,
.forabg dl.row-item.forum_read::before,
.forabg dl.row-item.forum_unread::before,
.forabg dl.row-item.forum_read_subforum::before,
.forabg dl.row-item.forum_unread_subforum::before,
.forabg dl.row-item.forum_read_locked::before,
.forabg dl.row-item.forum_unread_locked::before,
.forabg dl.row-item.forum_link::before {
    content: none !important;
    display: none !important;
}
.forabg dl.row-item { background-image: none !important; }
.forabg dl.row-item dt .list-inner { padding-left: 12px !important; }

.forabg .list-inner a.subforum,
.forabg .list-inner a.subforum.read,
.forabg .list-inner a.subforum.unread {
    display: inline-block !important;
    margin: 4px 6px 2px 0 !important;
    padding: 3px 11px !important;
    border: 1px solid #3a4a5c !important;
    border-radius: 999px !important;
    background: #16273c !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #cfe0f0 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}
.forabg .list-inner a.subforum:hover {
    background: #1e3350 !important;
    border-color: #f5c518 !important;
    color: #ffffff !important;
}
.forabg .list-inner a.subforum .icon,
.forabg .list-inner a.subforum::before,
.forabg .list-inner a.subforum.read::before,
.forabg .list-inner a.subforum.unread::before {
    display: none !important;
    content: none !important;
}

/* ===== Batch 5: footer top — dealer CTA button + tighter spacing ===== */
.yh-site-footer { padding: 8px 16px 4px; }
.yh-footer-top {
    display: flex; gap: 22px; align-items: stretch; flex-wrap: wrap;
    justify-content: center; max-width: 980px; margin: 0 auto; padding: 6px 0 14px;
}
.yh-dealer-cta {
    display: flex; align-items: center; gap: 12px;
    flex: 0 1 320px; padding: 16px 20px;
    border: 1px solid #f5c518; border-radius: 12px;
    background: linear-gradient(135deg, #241f13, #14120c);
    text-decoration: none;
}
.yh-dealer-cta:hover { background: linear-gradient(135deg, #2c2413, #191510); }
.yh-dealer-cta-star { color: #f5c518; font-size: 26px; line-height: 1; }
.yh-dealer-cta-text { display: flex; flex-direction: column; gap: 2px; }
.yh-dealer-cta-text strong { color: #f5c518; font-size: 15px; letter-spacing: .01em; }
.yh-dealer-cta-text small { color: #b8ab86; font-size: 12px; }
.yh-optin {
    display: flex; align-items: center; gap: 12px;
    flex: 0 1 320px; padding: 16px 20px;
    border: 1px solid #f5c518; border-radius: 12px;
    background: linear-gradient(135deg, #241f13, #14120c);
    text-decoration: none;
}
.yh-optin:hover { background: linear-gradient(135deg, #2c2413, #191510); }
.yh-optin-star { color: #f5c518; font-size: 22px; line-height: 1; }
.yh-optin-text { display: flex; flex-direction: column; gap: 2px; }
.yh-optin-text strong { color: #f5c518; font-size: 15px; letter-spacing: .01em; }
.yh-optin-text small { color: #b8ab86; font-size: 12px; }
.yh-footer-copy { text-align: center; color: #8b8266; font-size: 12px; padding: 8px 0 4px; }

/* QR in its new spot under the wordmark — a touch smaller, less padding */
.yh-footer-qr { padding: 6px 16px 10px !important; }
.yh-footer-qr img { width: 132px !important; height: 132px !important; }

@media (max-width: 760px) {
    .yh-footer-top { flex-direction: column; align-items: center; }
    .yh-dealer-cta, .yh-optin { flex-basis: auto; width: 100%; max-width: 420px; }
}

/* ===== Batch 5b: make the Deal of the Week (Guns.com CTA) readable =====
   yh_dark_v2.css pushes the box + button toward gold, leaving gold-on-gold
   button text. Pin real colours here (this file loads last). */
.yh-deal-of-week > div {
    background: #16283f !important;
    border: 1px solid #d97a2c !important;
}
.yh-deal-of-week a[rel~="sponsored"],
.yh-deal-of-week a[href*="yh_affiliate"] {
    background: #d97a2c !important;
    color: #ffffff !important;
    border: 0 !important;
    text-shadow: none !important;
}

/* ===== D4b: gold inline-styled CTA buttons must have dark text =====
   yh_dark_v2.css forces link/button text toward gold with !important, which
   turned gold-on-gold on the dealer storefront/dashboard CTAs. */
a[style*="background:#f5c518"], a[style*="background: #f5c518"],
button[style*="background:#f5c518"], button[style*="background: #f5c518"],
a[style*="background:#f5c518"] *, a[style*="background: #f5c518"] * {
    color: #0e1a2c !important;
}

/* ===== D4d: dealer-template button text colours =====
   yh_dark_v2.css: #page-body a:link {color:var(--yhy)!important} forces every
   in-content link gold, overriding inline button text. Beat it with an
   ID + wrapper-class + attr + pseudo selector for the dealer pages. */
#page-body .yh-dealers-wrap   a[style*="background:#d97a2c"]:link,
#page-body .yh-dealers-wrap   a[style*="background:#d97a2c"]:visited,
#page-body .yh-dealer-portal  a[style*="background:#d97a2c"]:link,
#page-body .yh-dealer-portal  a[style*="background:#d97a2c"]:visited,
#page-body .yh-storefront-wrap a[style*="background:#d97a2c"]:link,
#page-body .yh-storefront-wrap a[style*="background:#d97a2c"]:visited {
    color: #ffffff !important;
}
#page-body .yh-dealers-wrap   a[style*="background:#243447"]:link,
#page-body .yh-dealers-wrap   a[style*="background:#243447"]:visited,
#page-body .yh-dealer-portal  a[style*="background:#243447"]:link,
#page-body .yh-dealer-portal  a[style*="background:#243447"]:visited,
#page-body .yh-storefront-wrap a[style*="background:#243447"]:link,
#page-body .yh-storefront-wrap a[style*="background:#243447"]:visited {
    color: #f5e6c8 !important;
}

/* ===== Header dropdowns above the homepage sidebar =====
   phpBB gives the notification / PM / quick-links dropdowns z-index:2, which
   the two-column homepage sidebar (.yh-ix-side, added in the rework) overlaps
   and shows through. Lift the dropdowns and drop the sidebar to a low layer. */
#page-header li.dropdown-container .dropdown,
#page-header .dropdown-extended .dropdown,
.navbar .dropdown-container .dropdown,
#notification_list_button + .dropdown {
    z-index: 300 !important;
}
#page-header .dropdown .dropdown-contents,
#page-header .dropdown-extended .dropdown-contents {
    background-color: #14120c !important;
}
.yh-ix-side { position: relative; z-index: 0; }

/* ===== Compact header logo (replaces the full-bleed banner) 2026-09-01 =====
   Was yh-header-banner.png up to ~530px tall, full width. Now a small
   transparent YHT logo, ODT-style — frees the header for ad space. */
#yh-brand-header { padding: 6px 0 0 0 !important; }
#yh-brand-header .inner { padding: 4px 20px 0 !important; }
#yh-brand-header .logo.yh-logo-pill img,
#yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
    max-height: 92px !important;
    max-width: 340px !important;
    width: auto !important;
    height: auto !important;
    max-height: 92px !important;
    object-fit: contain !important;
    border: 0 !important;
    filter: none !important;
}
@media (max-width: 700px) {
    #yh-brand-header .inner { padding-top: 8px !important; }
    #yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
        max-height: 66px !important;
        max-width: 240px !important;
        width: auto !important;
    }
}

/* ===== Compact logo — bigger (owner: taller + wider) 2026-09-01 ===== */
#yh-brand-header { padding: 10px 0 2px 0 !important; }
#yh-brand-header .logo.yh-logo-pill img,
#yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
    max-height: 158px !important;
    max-width: 520px !important;
    width: auto !important;
    height: auto !important;
}
@media (max-width: 700px) {
    #yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
        max-height: 104px !important;
        max-width: 320px !important;
        width: auto !important;
    }
}

/* ===== Compact logo — bigger again (owner) 2026-09-01 ===== */
#yh-brand-header { padding: 12px 0 2px 0 !important; }
#yh-brand-header .logo.yh-logo-pill img,
#yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
    max-height: 232px !important;
    max-width: 640px !important;
    width: auto !important;
    height: auto !important;
}
@media (max-width: 700px) {
    #yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
        max-height: 150px !important;
        max-width: 380px !important;
        width: auto !important;
    }
}

/* ===== New badge logo, a little bigger (owner) 2026-09-01 ===== */
#yh-brand-header { padding: 12px 0 2px 0 !important; }
#yh-brand-header .logo.yh-logo-pill img,
#yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
    max-height: 288px !important;
    max-width: 360px !important;
    width: auto !important;
    height: auto !important;
}
@media (max-width: 700px) {
    #yh-brand-header .logo.yh-logo-pill img.yh-header-logo {
        max-height: 176px !important;
        max-width: 230px !important;
        width: auto !important;
    }
}
/* ===== Homepage tagline strip (under the nav bar) 2026-09-01 ===== */
.yh-tagline { text-align: center; padding: 2px 16px 8px; }
.yh-tagline img { display: inline-block; width: 100%; max-width: 860px; height: auto; }
@media (max-width: 700px) { .yh-tagline { padding: 0 12px 6px; } .yh-tagline img { max-width: 94%; } }

/* ROOT FIX: #page-header and #page-body both get z-index:1 in prosilver; as the
   later sibling, #page-body (with the homepage listings sidebar) paints over the
   header notification/PM dropdowns. Lift the header stacking context above it. */
#page-header { z-index: 5 !important; }

/* ============================================================
   Nav restructure + prominent Sell CTA (design-critique pass)
   ============================================================ */

/* ----- "More" overflow menu in the tab bar ----- */
.yh-tabs-list .yh-tab-more { position: relative; }
.yh-tabs-list .yh-tab-more .yh-tab-more-trigger {
    display: flex; align-items: center; gap: 6px; padding: 10px 18px;
    color: #FFFFFF; background-color: rgba(255, 215, 0, 0.12);
    border-bottom: 3px solid transparent; cursor: pointer; user-select: none;
    font: inherit;
}
.yh-tabs-list .yh-tab-more:hover .yh-tab-more-trigger,
.yh-tabs-list .yh-tab-more:focus-within .yh-tab-more-trigger {
    color: var(--yh-gold); background-color: rgba(255, 215, 0, 0.25);
}
.yh-tab-more-menu {
    display: none; position: absolute; top: 100%; left: 0; z-index: 80;
    min-width: 210px; list-style: none; margin: 0; padding: 5px 0;
    background: #14120c; border: 1px solid #3a4a5c; border-radius: 0 0 10px 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,.5);
}
.yh-tab-more:hover .yh-tab-more-menu,
.yh-tab-more:focus-within .yh-tab-more-menu { display: block; }
.yh-tab-more-menu li { margin: 0; padding: 0; }
.yh-tab-more-menu li a {
    display: flex; align-items: center; gap: 9px; padding: 10px 16px;
    color: #f5e6c8 !important; text-decoration: none !important; font-size: 14px;
    background: transparent !important; border: 0 !important;
}
.yh-tab-more-menu li a:hover { background: #1e3350 !important; color: #ffffff !important; }
.yh-tab-more-menu .badge { margin-left: auto; background: var(--yh-gold); color: var(--yh-charcoal); }

/* ----- Account dropdown (replaces the flat 9-link userbar) ----- */
.yh-userbar .yh-acct { position: relative; }
.yh-userbar .yh-acct-btn {
    display: inline-flex !important; align-items: center; gap: 8px;
    padding: 7px 14px; border-radius: 6px;
    background: rgba(255, 215, 0, 0.10) !important;
    color: #f5e6c8 !important; text-decoration: none !important; font-weight: 600;
    border: 1px solid transparent !important;
}
.yh-userbar .yh-acct-btn:hover,
.yh-userbar .yh-acct:focus-within .yh-acct-btn { color: #f5c518 !important; border-color: rgba(245,197,24,.4) !important; }
.yh-acct-name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yh-acct-name a, .yh-acct-name span { color: inherit !important; }
.yh-acct-caret { font-size: 0.8em; opacity: 0.7; }
.yh-acct-menu {
    display: none; position: absolute; top: calc(100% + 5px); right: 0; z-index: 80;
    min-width: 220px; list-style: none; margin: 0; padding: 6px 0;
    background: #14120c; border: 1px solid #3a4a5c; border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.55);
}
.yh-acct:hover .yh-acct-menu,
.yh-acct:focus-within .yh-acct-menu { display: block; }
.yh-acct-menu li { margin: 0; padding: 0; }
.yh-acct-menu li a {
    display: flex; align-items: center; gap: 10px; padding: 9px 16px;
    color: #f5e6c8 !important; text-decoration: none !important; font-size: 14px;
    background: transparent !important; border: 0 !important;
}
.yh-acct-menu li a:hover { background: #1e3350 !important; color: #ffffff !important; }
.yh-acct-menu li a .badge { margin-left: auto; background: var(--yh-gold); color: var(--yh-charcoal); }
.yh-acct-menu .yh-acct-sep { height: 1px; background: #322c1d; margin: 5px 0; }

/* ----- Sell an Item — the primary action, floating ----- */
.yh-sell-sticky {
    position: fixed !important; right: 22px; bottom: 22px; z-index: 190 !important;
    display: inline-flex !important; align-items: center; gap: 8px;
    padding: 14px 26px; border-radius: 999px;
    background: #f5c518 !important; color: #14120c !important;
    border: 2px solid #b8860b !important;
    font-weight: 800 !important; font-size: 15px !important; letter-spacing: .01em;
    text-decoration: none !important; text-shadow: none !important;
    box-shadow: 0 6px 22px rgba(0,0,0,.5);
    transition: transform .12s ease, background .12s ease;
}
.yh-sell-sticky:hover { background: #ffd94a !important; color: #14120c !important; transform: translateY(-1px); }
.yh-sell-sticky .yh-sell-icon { font-size: 1.25em; font-weight: 900; line-height: 1; }
.yh-sell-sticky span { color: #14120c !important; }
@media (max-width: 700px) {
    .yh-sell-sticky { right: 12px; bottom: 12px; padding: 12px 20px; font-size: 14px !important; }
}

/* keep the tab row from wrapping now that it is short */
@media (min-width: 901px) { .yh-tabs-list { flex-wrap: nowrap; } }

/* Sell FAB text — force dark on gold (header link rules were making it white) */
a.yh-sell-sticky, a.yh-sell-sticky:link, a.yh-sell-sticky:visited, a.yh-sell-sticky:hover, a.yh-sell-sticky:focus,
a.yh-sell-sticky span, a.yh-sell-sticky .yh-sell-icon,
#yh-brand-header a.yh-sell-sticky, #yh-brand-header a.yh-sell-sticky span {
    color: #14120c !important;
}

/* ----- FFL Directory PDF pill — secondary CTA, bottom-left ($14.95 product) ----- */
a.yh-ffl-pill {
    position: fixed !important; left: 22px; bottom: 22px; z-index: 185 !important;
    display: inline-flex !important; align-items: center; gap: 8px;
    padding: 11px 18px; border-radius: 999px;
    background: #1b1b1b !important; border: 1.5px solid #b8860b !important;
    font-weight: 600 !important; font-size: 13px !important;
    text-decoration: none !important; text-shadow: none !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.45); transition: transform .12s ease, border-color .12s ease;
}
a.yh-ffl-pill, a.yh-ffl-pill:link, a.yh-ffl-pill:visited, a.yh-ffl-pill:hover, a.yh-ffl-pill:focus,
a.yh-ffl-pill span, #yh-brand-header a.yh-ffl-pill span { color: #f5e6c8 !important; }
a.yh-ffl-pill b { color: #f5c518 !important; font-weight: 800; }
a.yh-ffl-pill:hover { border-color: #f5c518 !important; transform: translateY(-1px); }
@media (max-width: 720px) {
    a.yh-ffl-pill { left: 12px; bottom: 12px; padding: 9px 13px; font-size: 12px !important; }
}

/* ===== FFL standalone pages: horizontal wordmark header logo (owner, 2026-09-02) =====
   Replaces the tall portrait yh-header-logo.png on yh_ffl_{directory,city,detail,pdf}.php.
   Uses FFL-only classes (.yh-ffl-wm / .yh-ffl-wm-img) so the homepage badge cascade
   above does not touch it. */
#yh-brand-header .logo.yh-ffl-wm {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 100%;
    margin: 0;
    padding: 0;
    text-decoration: none;
}
#yh-brand-header .logo.yh-ffl-wm img.yh-ffl-wm-img {
    display: block;
    width: auto;
    height: 48px;
    max-height: 48px;
    max-width: 300px;
    object-fit: contain;
    border: 0 !important;
    border-radius: 0 !important;
    filter: none !important;
}
@media (max-width: 700px) {
    #yh-brand-header .logo.yh-ffl-wm img.yh-ffl-wm-img { height: 40px; max-height: 40px; }
}

/* ============================================================
   Unified site footer — rebuilt 2026-09-02 (owner: "cluster, clean it up")
   Replaces the old 3-block stack (.yh-site-footer nav + .yh-footer-qr +
   .yh-social-bar + 4-col .yh-footer-links). One organised footer.
   ============================================================ */

/* conversion band (dealer CTA + newsletter) now sits at the end of #page-body */
#page-body .yh-footer-top { margin: 28px auto 0; }

/* --- Alabama Strong strip --- */
.yh-foot-strip {
    text-align: center;
    padding: 20px 16px 6px;
    border-top: 3px solid var(--yh-gold, #f5c518);
    background: linear-gradient(180deg, rgba(0,0,0,.25), transparent);
}
.yh-foot-strip img {
    display: inline-block;
    width: 100%;
    max-width: 620px;
    height: auto;
}

/* --- main footer grid --- */
.yh-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 36px 48px;
    justify-content: center;
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px 24px 10px;
}
.yh-foot-brand { flex: 0 1 240px; text-align: left; }
.yh-foot-logo { display: block; max-height: 64px; width: auto; margin-bottom: 10px; }
.yh-foot-tagline { color: #b8ab86; font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.yh-foot-social { display: flex; gap: 10px; }
.yh-foot-social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 8px;
    background: #12233a; border: 1px solid #243447;
    color: #f5c518 !important; text-decoration: none !important; font-size: 17px;
}
.yh-foot-social a:hover { background: #1b3352; border-color: var(--yh-gold, #f5c518); }

/* --- link columns --- */
.yh-foot-cols {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 44px;
    flex: 1 1 auto;
    justify-content: flex-start;
}
.yh-foot-col { min-width: 130px; }
.yh-foot-col h4 {
    color: var(--yh-gold, #f5c518);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.yh-foot-col ul { list-style: none; margin: 0; padding: 0; }
.yh-foot-col li { margin: 0 0 7px; }
.yh-foot-col a {
    color: #9fb0c3 !important;
    text-decoration: none !important;
    font-size: 13px;
    border: 0 !important;
    background: none !important;
}
.yh-foot-col a:hover { color: #ffffff !important; }

/* --- QR tile --- */
.yh-foot-qr { text-align: center; min-width: 128px; }
.yh-foot-qr a { display: inline-block; border: 0 !important; }
.yh-foot-qr img {
    width: 104px; height: 104px;
    border: 5px solid #fff; border-radius: 8px; background: #fff;
    display: block;
}
.yh-foot-qr span { display: block; color: #8b8266; font-size: 11px; margin-top: 6px; max-width: 130px; }

/* --- legal row + copyright --- */
.yh-foot-legal {
    display: flex; flex-wrap: wrap; gap: 8px 22px;
    justify-content: center;
    max-width: 1180px; margin: 0 auto;
    padding: 14px 24px 6px;
    border-top: 1px solid #243447;
}
.yh-foot-legal a {
    color: #9fb0c3 !important; text-decoration: none !important;
    font-size: 12px; border: 0 !important; background: none !important;
}
.yh-foot-legal a:hover { color: #ffffff !important; }
.yh-foot-copy {
    text-align: center; color: #7f8a99; font-size: 12px; line-height: 1.6;
    padding: 4px 24px 14px; max-width: 900px; margin: 0 auto;
}

@media (max-width: 860px) {
    .yh-foot { gap: 26px 32px; padding: 18px 18px 8px; }
    .yh-foot-brand { flex-basis: 100%; text-align: center; }
    .yh-foot-brand .yh-foot-logo { margin-left: auto; margin-right: auto; }
    .yh-foot-social { justify-content: center; }
    .yh-foot-cols { justify-content: center; text-align: center; }
    .yh-foot-col a { font-size: 14px; }
}
