// ── Tooltip base styles ───────────────────────────────────────────────────────
// Shared by wallet tokens, game-kit kit bag, and sky wheel tooltips.
// Portal tooltips (#id_tooltip_portal, #id_sky_tooltip) are position:fixed
// and override z-index; inline .tt cards use position:absolute within their
// parent token container.

// Shared token tooltip field sizes — used by #id_tooltip_portal and .tt
%tt-token-fields {
    .tt-title       { font-size: 1rem; }
    .tt-description { padding: 0.125rem; font-size: 0.75rem; }
    .tt-shoptalk    { font-size: 0.75rem; opacity: 0.75; }
    .tt-expiry      { font-size: 1rem; color: rgba(var(--priRd), 1); }
    .tt-date        { font-size: 1rem; color: rgba(var(--priGn), 1); }
    // `.tt-price` — wallet Shop tooltip. Same shape as .tt-expiry (size +
    // semantics) but --priGn for the "in the green" payment cue. Lives
    // inside the `.tt-title` h4 (which is `display: flex`) — `margin-left:
    // auto` pushes the price to the far-right edge of the title row
    // regardless of whether justify-content cascade reaches this far
    // (belt + suspenders for the space-between we want).
    .tt-price       { font-size: 1rem; color: rgba(var(--priGn), 1); margin-left: auto !important; }
    // Sprint A.4 — polarization-multiplier decoration in deck tooltips.
    // `(×2)` suffix appended inside .tt-description for is_polarized decks
    // (Earthman today); --terUser color signals "double-polarized = 6 segments =
    // fills 2× as many seats" per [[project-card-deck-icon]]'s `is_polarized`
    // tooltip-decoration rule. Inline w. the card-count text on the same line.
    .tt-x2          { color: rgba(var(--terUser), 1); font-weight: 600; }
}

.token-tooltip,
.tt {
    display: none;
    width: 16rem;
    max-width: 16rem;
    white-space: normal;
    background-color: rgba(var(--tooltip-bg), 0.75);
    backdrop-filter: blur(6px);
    border: 0.1rem solid rgba(var(--secUser), 0.5);
    color: rgba(var(--secUser), 1);
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    z-index: 10;
    font-size: 0.875rem;

    h4 {
        font-size: 0.95rem;
        margin: 0 0 0.3rem 0;
        color: rgba(var(--terUser), 1);
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 0.5rem;

        .token-count {
            font-size: 0.75rem;
            opacity: 0.65;
            font-weight: normal;
            flex-shrink: 0;
        }
    }

    p {
        margin: 0 0 0.2rem 0;

        &.expiry {
            color: rgba(var(--priRd), 1);
        }

        &.availability {
            color: rgba(var(--priRd), 1);
        }

        &.stock-version {
            font-weight: 700;
            color: rgba(var(--terUser), 1);
        }
    }

    small {
        display: block;
        font-size: 0.6rem;
        opacity: 0.6;
    }
}
