/* Orbis RPG — four approved static class portraits.
   Keeps equipment frames and their real click handlers intact. */
#equip-grid.orbis-static-class-scene {
    --equip-gap: clamp(5px, 1.45vw, 10px);
    --equip-slot-size: clamp(58px, 18vw, 86px);
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: var(--equip-slot-size) minmax(0, 1fr) var(--equip-slot-size);
    grid-template-rows: repeat(5, var(--equip-slot-size));
    column-gap: var(--equip-gap);
    row-gap: var(--equip-gap);
    align-items: stretch;
    padding: 4px !important;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    border-top: 2px solid #bd9d69;
    border-bottom: 2px solid #bd9d69;
    background: #537a95;
}
#equip-grid.orbis-static-class-scene::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(180deg, rgba(10, 26, 42, .05), rgba(9, 20, 29, .17)),
        url("../assets/locations/backgrounds/class-portrait-scene.webp"),
        linear-gradient(145deg, #9bc6d9, #44677f 62%, #344d4f);
    background-position: center, center, center;
    background-size: cover;
    background-repeat: no-repeat;
    image-rendering: auto;
}
#equip-grid.orbis-static-class-scene > .equip-slot {
    position: relative;
    z-index: 3;
    width: 100% !important;
    height: auto;
    aspect-ratio: 1;
    align-self: stretch;
    justify-self: stretch;
}
#equip-grid.orbis-static-class-scene > .equip-slot-cloak       { grid-column: 1; grid-row: 1; }
#equip-grid.orbis-static-class-scene > .equip-slot-head        { grid-column: 3; grid-row: 1; }
#equip-grid.orbis-static-class-scene > .equip-slot-amulet      { grid-column: 1; grid-row: 2; }
#equip-grid.orbis-static-class-scene > .equip-slot-body        { grid-column: 3; grid-row: 2; }
#equip-grid.orbis-static-class-scene > .equip-slot-left-hand   { grid-column: 1; grid-row: 3; }
#equip-grid.orbis-static-class-scene > .equip-slot-right-hand  { grid-column: 3; grid-row: 3; }
#equip-grid.orbis-static-class-scene > .equip-slot-gloves      { grid-column: 1; grid-row: 4; }
#equip-grid.orbis-static-class-scene > .equip-slot-ring         { grid-column: 1; grid-row: 5; }
#equip-grid.orbis-static-class-scene > .equip-slot-pants-visual { grid-column: 3; grid-row: 4; }
#equip-grid.orbis-static-class-scene > .equip-slot-legs         { grid-column: 3; grid-row: 5; }

#equip-grid.orbis-static-class-scene > #character-preview.orbis-static-class-avatar {
    position: relative;
    z-index: 2;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    align-self: stretch;
    justify-self: stretch;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-width: 0;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden;
    pointer-events: none;
}
#equip-grid.orbis-static-class-scene .orbis-static-character-art {
    display: block;
    position: relative;
    width: auto;
    max-width: 76%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
    image-rendering: auto;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
    filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .3));
}
#equip-grid.orbis-static-class-scene .orbis-static-character-art[hidden],
#equip-grid.orbis-static-class-scene .orbis-static-class-placeholder[hidden] {
    display: none !important;
}
#equip-grid.orbis-static-class-scene .orbis-static-class-placeholder {
    align-self: center;
    max-width: 48%;
    padding: 10px;
    border-radius: 5px;
    background: rgba(16, 25, 36, .72);
    color: #ffebb7;
    font: 13px/1.45 Georgia, serif;
    text-align: center;
}
@media (max-width: 365px) {
    #equip-grid.orbis-static-class-scene {
        --equip-slot-size: clamp(54px, 17vw, 66px);
        --equip-gap: 5px;
        padding: 2px !important;
    }
}