/* =============================================================================
   ship-tooltip.css - Compact ship inspect tooltip
   ============================================================================= */

.ship-tooltip {
    position: absolute;
    z-index: var(--z-panel-overlay);
    width: clamp(280px, 25vw, 420px);
    background: #080b10;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
    /* iOS: suppress long-press loupe / Copy-Loo Up on inspector text */
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0s linear 0.18s;
}

.ship-tooltip--open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}

/* Portrait area */
.ship-tooltip__portrait {
    position: relative;
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: #05070a;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ship-tooltip__portrait-img {
    width: auto;
    max-width: 80%;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.8));
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

/* Decorative frame corners - not interactive */
.ship-tooltip .rp-frame img {
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.ship-tooltip--npc .ship-tooltip__portrait-img {
    max-width: 80%;
    max-height: 300px;
}

/* Bottom fade so portrait blends into body */
.ship-tooltip__portrait::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to bottom, transparent, #080b10);
    pointer-events: none;
}

/* Desktop/tablet: fixed top-left beside nav, below header */
@media (min-width: 640px) {
    .ship-tooltip {
        position: fixed;
        left: calc(var(--panel-gap) + var(--nav-width) + 8px);
        top: var(--hud-top);
    }
}

/* Mobile: centred card, natural height, capped above nav bar */
@media (max-width: 639px) {
    .ship-tooltip {
        position: fixed;
        top: 50%;
        left: 50%;
        right: auto;
        width: calc(100% - 32px);
        max-height: calc(100vh - 60px - 110px);
        transform: translate(-50%, -50%);
        border-radius: var(--radius-md, 8px);
        overflow-y: auto;
    }

    .ship-tooltip--open {
        transform: translate(-50%, -50%);
    }

    .ship-tooltip__portrait {
        height: 190px;
    }
}

/* Ship class + name - above stats rail (matches command panel hero). */
.ship-tooltip__hero.ph-info-col {
    padding: 10px var(--space-lg);
    gap: 6px;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}

.ship-tooltip__hero .ph-ship-name {
    margin-bottom: 0;
}

/* Body: chips + bars + actions */
.ship-tooltip__body {
    padding: var(--space-sm) var(--space-lg) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.ship-tooltip__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.ship-tooltip__bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ship-tooltip__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-xs);
}

/* Widen when the NPC reward rail is visible (four equal columns). */
.ship-tooltip:has(#ship-tooltip-rail:not([hidden])) {
    width: clamp(320px, 32vw, 520px);
}

.ship-tooltip .ms-rail {
    grid-auto-columns: 1fr;
}

.ship-tooltip .ms-rail__cell {
    padding: 0.65rem 0.75rem;
}

.ship-tooltip .ms-rail__cell:first-child {
    padding-left: var(--space-lg);
}

.ship-tooltip .ms-rail__cell:last-child {
    padding-right: var(--space-lg);
}
