/*
 * V3 "Ivory & Navy" - /page/selling-silver-gold rules
 * Hero, jump-to nav, numbered process list, policy/packaging lists,
 * shipping-address card. Loaded only on this page, on top of core.css.
 *
 * .v3-section, .v3-section.on-panel, .v3-section-header, .v3-table*,
 * .v3-alert*, .v3-tnum are already in core.css - not redefined here.
 * .v3-lp-bbtable* (the buyback price tables) come from
 * components/v3/buyback_tables.php - styled in the PRICING block below.
 */

/* ============================================================
   HERO - same shape as live-price.css's .v3-lp-eyebrow/title/sub, copied
   rather than shared (page-specific stylesheets each carry their own copy
   of small patterns like this - see live-price.css:10-15's own note on
   the convention).
   ============================================================ */
.v3-sell-hero { padding-top: 32px; }
/* .v3-banner-slot's own top margin (core.css, 48px) assumes it follows
   real page content - here it's the hero's first element, so the hero's
   own padding-top above is the only gap needed. Same fix as
   resources.css's .v3-res-hero / order.css/product.css's own copy of
   this pattern. */
.v3-sell-hero > .v3-inner > .v3-banner-slot:first-child { margin-top: 0; }

.v3-sell-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 10px; }
.v3-sell-title { font-size: 38px; line-height: 1.15; color: var(--ink); margin-bottom: 10px; }
.v3-sell-sub { font-size: 15px; color: var(--ink-soft); margin: 0 0 28px; max-width: 62ch; }
@media (max-width: 640px) {
    .v3-sell-title { font-size: 28px; }
}

/* Section subtitle under a .v3-section-header h2 - copied from
   live-price.css (same convention as the hero block above); this was
   referenced on this page without being defined here, silently
   unstyled - fixed. */
.v3-lp-h2-sub { font-size: 13.5px; color: var(--ink-soft); margin: -20px 0 24px; }

/* jump-to nav */
.v3-sell-toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.v3-sell-toc a {
    display: inline-flex; align-items: center; padding: 9px 18px; border-radius: 999px;
    border: 1px solid var(--line); background: var(--plate); color: var(--ink);
    font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .15s ease, color .15s ease;
}
.v3-sell-toc a:hover { border-color: var(--accent); color: var(--accent); }

/* Sticky header covers the first ~90px - anchors need room to land clear of it. */
.v3-sell-section-anchor { scroll-margin-top: 100px; }

/* ============================================================
   NUMBERED PROCESS LIST (How It Works)
   ============================================================ */
.v3-sell-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 30px; max-width: 720px; }
.v3-sell-step { display: flex; gap: 20px; align-items: flex-start; }
.v3-sell-step-num {
    flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--accent-text);
    display: flex; align-items: center; justify-content: center; font-family: Newsreader, serif; font-size: 18px; font-weight: 600;
}
.v3-sell-step-body h3 { margin: 0 0 6px; font-size: 17px; color: var(--ink); }
.v3-sell-step-body p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink-soft); }
.v3-sell-step-body a { color: var(--accent); font-weight: 600; text-decoration: none; }
.v3-sell-step-body a:hover { text-decoration: underline; }

/* ============================================================
   POLICY / PACKAGING LISTS - numbered terms, same list both sections use.
   ============================================================ */
.v3-sell-list { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 13px; max-width: 760px; }
.v3-sell-list li { font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }
.v3-sell-list li::marker { color: var(--accent); font-weight: 700; }
.v3-sell-list strong { color: var(--ink); }
.v3-sell-list a { color: var(--accent); font-weight: 600; text-decoration: none; }
.v3-sell-list a:hover { text-decoration: underline; }

/* Row layout matches resources.css's .v3-fact-card fix: a flex row keeps
   the label a fixed-width column so a wrapping value (the street
   address) stays in its own column instead of an inline-block label
   letting the wrapped line fall back to the row's left edge. */
.v3-sell-addr {
    margin: 6px 0 0; padding: 18px 20px; background: var(--panel); border: 1px solid var(--line);
    border-radius: 14px; max-width: 460px; font-size: 14px; line-height: 1.5; color: var(--ink);
}
.v3-sell-addr p { display: flex; gap: 8px; margin: 12px 0 0; }
.v3-sell-addr p:first-child { margin-top: 0; }
.v3-sell-addr strong { flex: 0 0 118px; color: var(--ink-soft); font-weight: 700; }
@media (max-width: 480px) {
    .v3-sell-addr p { flex-direction: column; gap: 2px; }
    .v3-sell-addr strong { flex-basis: auto; }
}

/* ============================================================
   PRICING - styling for components/v3/buyback_tables.php (tokens,
   subhead, tint bands, mobile stacking, .v3-disclosure). This page is the
   component's only host now that /live-price no longer embeds it, so these
   rules are the single copy.
   ============================================================ */
:root { --tint-buy: #FBF3DC; --tint-sell: #EEF0F8; }
html.dark { --tint-buy: #332B14; --tint-sell: #23253C; }

.v3-lp-subhead { font-size: 15px; font-weight: 700; color: var(--ink); margin: 32px 0 12px; }
.v3-lp-subhead:first-of-type { margin-top: 0; }
.v3-lp-bbtable-wrap { margin-bottom: 24px; }
.v3-lp-terms { margin-top: 8px; }
.v3-table th.v3-lp-th-buy  { background: var(--tint-buy);  color: var(--gold); }
.v3-table th.v3-lp-th-sell { background: var(--tint-sell); color: var(--accent); }

@media (max-width: 640px) {
    .v3-lp-bbtable thead { display: none; }
    .v3-lp-bbtable, .v3-lp-bbtable tbody { display: block; width: 100%; }
    .v3-lp-bbtable tbody tr { display: block; padding: 13px 16px; border-bottom: 1px solid var(--line); }
    .v3-lp-bbtable tbody td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 0; padding: 3px 0; text-align: right; }
    .v3-lp-bbtable tbody td::before { content: attr(data-label); flex: 1 1 auto; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-soft); font-weight: 700; }
    .v3-lp-bbtable tbody td:first-child { display: block; text-align: left; font-weight: 700; color: var(--ink); padding-bottom: 6px; }
    .v3-lp-bbtable tbody td:first-child::before { content: none; }
}

/* .v3-disclosure (the "Terms & weight conversion" block inside
   buyback_tables.php) - core.css doesn't define this despite
   live-price.css's docblock claiming it does (that page's own disclosure
   currently renders unstyled there); copied verbatim from
   cart.css/order.css's identical copies so it's actually styled here. */
.v3-disclosure { border: 1px solid var(--line); border-radius: 14px; background: var(--plate); margin-bottom: 16px; overflow: hidden; }
.v3-disclosure summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px;
    cursor: pointer; list-style: none;
}
.v3-disclosure summary::-webkit-details-marker { display: none; }
.v3-disclosure-title { font-family: Newsreader, serif; font-size: 17px; color: var(--ink); display: flex; flex-direction: column; gap: 2px; }
.v3-disclosure-right { display: flex; align-items: center; gap: 14px; flex: none; }
.v3-disclosure-icon { color: var(--ink-soft); font-size: 13px; transition: transform .2s ease; }
.v3-disclosure[open] .v3-disclosure-icon { transform: rotate(180deg); }
.v3-disclosure-body { padding: 0 20px 20px; border-top: 1px solid var(--line); }
.v3-disclosure-body ul { margin: 14px 0 0; padding-left: 20px; }
.v3-disclosure-body li { font-size: 13.5px; line-height: 1.7; color: var(--ink-soft); }
.v3-disclosure-body p { font-size: 13.5px; line-height: 1.7; color: var(--ink-soft); margin: 14px 0 0; }
