@import url("theme-dark.min.css");
:root {
  --my-shadow-color: var(--bs-primary);
}

.nav-vertical.nav-pills .nav-item .nav-link:hover, .nav-vertical.nav-pills .nav-item .nav-link[aria-expanded]:hover {
    color: rgb(87 159 249)!important;
}
.nav-vertical.nav-pills .nav-item .nav-link:hover, .nav-vertical.nav-pills .nav-item .nav-link[aria-expanded]:hover {
    color: #66b8ff!important;
}
.nav-pills .nav-link:hover {
    background-color: rgb(37 55 62)!important;
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/");
}

.text-discord {
    color: #5465de;
}

.star-icon {
    font-size: 1.4em;
}

.ql-toolbar.ql-snow, .ql-container.ql-snow {
    border: 1px solid transparent;
}

.bg-dark {
    background: #0e141e!important;
    background-color: #0e141e!important;
}

.icon-regra {
    text-shadow: 0px 0px 10px var(--bs-primary);
    color: var(--bs-primary);
}

.icon-shadow {
    text-shadow: 0px 0px 10px;
}

.bg-item {
    background: #5f8d9d;
}

.swal2-popup {
    display: none;
    position: relative;
    box-sizing: border-box;
    grid-template-columns: minmax(0,100%);
    width: 32em;
    max-width: 100%;
    padding: 0 0 1.25em;
    border: none;
    border-radius: 20px;
    background: #182132;
    color: #c1cbff;
}
.swal2-styled.swal2-confirm:focus {
    box-shadow: none!important;
}
.swal2-styled.swal2-confirm {
    border: 0;
    border: none!important;
    border-radius: .25em;
    background: initial;
    background-color: var(--bs-primary);
    color: #fff;
    font-size: 1em;
}

.swal2-styled.swal2-cancel {
    border: 0;
    border-radius: .25em;
    background: initial;
    background-color: #384358;
    color: #fff;
    font-size: 1em;
}

.dropzone .dz-preview.dz-image-preview {
    background: transparent;
}

.bg-warning {
    background-color: var(--bs-warning)!important;
}

::-webkit-scrollbar {
    width: 3px;
}
::-webkit-scrollbar-thumb {
    background: var(--bs-primary);
    border-radius: .25rem;
}
::-webkit-scrollbar-track {
    background: #192130;
}

/* ================================================================== */
/*  INVENTARIO MODERNO                                                */
/* ================================================================== */

.inv-shell {
    background: linear-gradient(180deg, #0e141e 0%, #111927 100%);
    border-radius: 14px;
    border: 1px solid #1e2a3d;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .35);
    padding: .85rem .85rem 1.25rem;
}

@media (min-width: 768px) {
    .inv-shell { padding: 1.25rem 1.25rem 1.75rem; }
}

.inv-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    padding-bottom: .85rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #1e2a3d;
}

@media (min-width: 768px) {
    .inv-header { gap: 1rem; padding-bottom: 1rem; margin-bottom: 1.25rem; }
}

.inv-header > div:first-child { min-width: 0; flex: 1 1 auto; }

.inv-header__filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

@media (max-width: 575.98px) {
    .inv-header__filters {
        width: 100%;
        margin-left: 0 !important;
    }
    .inv-header__filters > .dropdown { flex: 1 1 0; }
    .inv-header__filters .inv-rarity-toggle,
    .inv-header__filters .inv-filter-toggle { width: 100%; min-width: 0; }
}

.inv-header h3 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: .04em;
    background: linear-gradient(90deg, #66b8ff, #c1a6ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (min-width: 768px) {
    .inv-header h3 { font-size: 1.75rem; }
}

.inv-counter {
    font-size: .82rem;
    color: #8aa0bd;
    background: #182132;
    border: 1px solid #243149;
    padding: .25rem .6rem;
    border-radius: 999px;
}

.inv-tabs {
    display: inline-flex;
    background: #131b2a;
    border: 1px solid #243149;
    border-radius: 999px;
    padding: 3px;
    gap: 2px;
}

.inv-tabs .nav-link {
    color: #8aa0bd;
    border-radius: 999px;
    min-width: 32px;
    padding: .3rem .65rem;
    font-size: .9rem;
    font-weight: 700;
    text-align: center;
    border: none;
    background: transparent;
}

.inv-tabs .nav-link.active {
    background: linear-gradient(135deg, #2f6bff, #6a3df0);
    color: #fff;
    box-shadow: 0 4px 14px rgba(80, 100, 255, .35);
}

/* Dropdowns de filtro (raridade + categoria) */
.inv-rarity-dropdown,
.inv-filter-dropdown { position: relative; }

.inv-rarity-toggle,
.inv-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    font-weight: 600;
    color: #c5d4ec;
    background: #131b2a;
    border: 1px solid #243149;
    padding: .35rem .7rem;
    border-radius: 999px;
    min-width: 0;
    transition: all .15s ease;
    white-space: nowrap;
}

@media (min-width: 576px) {
    .inv-rarity-toggle,
    .inv-filter-toggle { font-size: .82rem; gap: .5rem; padding: .35rem .9rem; min-width: 140px; }
}

.inv-rarity-toggle:hover, .inv-rarity-toggle:focus, .inv-rarity-toggle.show,
.inv-filter-toggle:hover, .inv-filter-toggle:focus, .inv-filter-toggle.show {
    color: #fff;
    background: #182238;
    border-color: #38507a;
    box-shadow: none;
}

.inv-rarity-toggle::after,
.inv-filter-toggle::after { margin-left: auto; }

.inv-rarity-menu,
.inv-filter-menu {
    background: #111927;
    border: 1px solid #243149;
    border-radius: 12px;
    padding: .35rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .55);
    min-width: 220px;
}

.inv-rarity-menu .dropdown-item,
.inv-filter-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #c5d4ec;
    border-radius: 8px;
    padding: .45rem .7rem;
    font-size: .85rem;
    font-weight: 500;
}

.inv-rarity-menu .dropdown-item:hover, .inv-rarity-menu .dropdown-item:focus,
.inv-filter-menu .dropdown-item:hover, .inv-filter-menu .dropdown-item:focus {
    background: #182238;
    color: #fff;
}

.inv-rarity-menu .dropdown-item.active,
.inv-filter-menu .dropdown-item.active {
    background: linear-gradient(135deg, #2f6bff, #6a3df0);
    color: #fff;
}

.inv-rarity-menu .dropdown-item small,
.inv-filter-menu .dropdown-item small { color: rgba(197, 212, 236, .55); }
.inv-rarity-menu .dropdown-item.active small,
.inv-filter-menu .dropdown-item.active small { color: rgba(255, 255, 255, .75); }

.inv-filter-menu .dropdown-item i.bi { width: 14px; text-align: center; }

.dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dot--all   { background: linear-gradient(135deg, #c2d0e4, #81DAF5, #AC58FA); }
.dot--comum { background: #c2d0e4; }
.dot--semi  { background: #81DAF5; box-shadow: 0 0 6px #81DAF5; }
.dot--raro  { background: #AC58FA; box-shadow: 0 0 6px #AC58FA; }

.inv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .35rem;
    max-width: 100%;
    margin: 0 auto;
}

@media (min-width: 480px) { .inv-grid { grid-template-columns: repeat(5, 1fr); gap: .4rem; } }
@media (min-width: 640px) { .inv-grid { grid-template-columns: repeat(7, 1fr); gap: .45rem; } }
@media (min-width: 992px) { .inv-grid { grid-template-columns: repeat(10, 1fr); gap: .55rem; } }

.inv-slot {
    position: relative;
    background: #131b2a;
    border: 1px solid #243149;
    border-radius: 8px;
    padding: .25rem .25rem .2rem;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    isolation: isolate;
}

@media (min-width: 768px) {
    .inv-slot { border-radius: 12px; padding: .55rem .55rem .45rem; }
}

.inv-slot::before {
    /* halo de raridade */
    content: "";
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 50% 35%, var(--rarity-glow, transparent) 0%, transparent 60%);
    filter: blur(22px);
    opacity: .55;
    z-index: -1;
    pointer-events: none;
    transition: opacity .2s ease;
}

.inv-slot:hover {
    transform: translateY(-3px);
    border-color: var(--rarity-color, #38507a);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .35), 0 0 0 1px var(--rarity-color, transparent);
    color: inherit;
    text-decoration: none;
}

.inv-slot:hover::before { opacity: .9; }

.inv-slot--comum   { --rarity-color: #4a5a78; --rarity-glow: rgba(160, 180, 220, .15); }
.inv-slot--semi    { --rarity-color: #4ea3d8; --rarity-glow: rgba(129, 218, 245, .35); }
.inv-slot--raro    { --rarity-color: #9d4eff; --rarity-glow: rgba(172, 88, 250, .42); }

.inv-slot--empty {
    opacity: .45;
    background: repeating-linear-gradient(45deg, #0f1623 0 8px, #131b2a 8px 16px);
    border-style: dashed;
    border-color: #1f2a3f;
    cursor: default;
    pointer-events: none;
}

.inv-slot--locked {
    background: linear-gradient(160deg, #0f1c30 0%, #14213a 100%);
    border-color: #2c4470;
}

.inv-slot--locked::before {
    background: radial-gradient(circle at 50% 50%, rgba(80, 140, 255, .45) 0%, transparent 65%);
    filter: blur(28px);
    opacity: .8;
}

.inv-slot__img-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    background: rgba(0, 0, 0, .25);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: .2rem;
}

@media (min-width: 768px) {
    .inv-slot__img-wrap { border-radius: 8px; margin-bottom: .4rem; }
}

.inv-slot__img {
    max-width: 88%;
    max-height: 88%;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .55));
    transition: transform .25s ease;
}

.inv-slot:hover .inv-slot__img { transform: scale(1.06); }

/* Badge de raridade — texto (usado no .inv-modal). */
.inv-slot__rarity {
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 2px 6px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    background: rgba(15, 23, 39, .65);
}

/* No card (.inv-grid) sempre como bolinha — texto fica reservado pro modal. */
.inv-grid .inv-slot__rarity {
    top: 5px;
    left: 5px;
    width: 9px;
    height: 9px;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
    background: rgba(15, 23, 39, .65);
    border: none;
    text-shadow: none;
}

@media (min-width: 768px) {
    .inv-grid .inv-slot__rarity { top: 7px; left: 7px; width: 11px; height: 11px; }
}

.inv-grid .inv-slot--comum .inv-slot__rarity { background: #c2d0e4; }
.inv-grid .inv-slot--semi  .inv-slot__rarity { background: #81DAF5; box-shadow: 0 0 6px #81DAF5; }
.inv-grid .inv-slot--raro  .inv-slot__rarity { background: #AC58FA; box-shadow: 0 0 6px #AC58FA; }

/* Cores do texto do badge (usado no .inv-modal). */
.inv-modal .inv-slot--comum .inv-slot__rarity,
.inv-modal.inv-slot--comum .inv-slot__rarity,
.modal-content.inv-slot--comum .inv-slot__rarity { color: #c2d0e4; border: 1px solid rgba(160, 180, 220, .35); }
.inv-modal .inv-slot--semi  .inv-slot__rarity,
.inv-modal.inv-slot--semi  .inv-slot__rarity,
.modal-content.inv-slot--semi  .inv-slot__rarity { color: #81DAF5; border: 1px solid rgba(129, 218, 245, .55); text-shadow: 0 0 8px rgba(129, 218, 245, .6); }
.inv-modal .inv-slot--raro  .inv-slot__rarity,
.inv-modal.inv-slot--raro  .inv-slot__rarity,
.modal-content.inv-slot--raro  .inv-slot__rarity { color: #d6b3ff; border: 1px solid rgba(172, 88, 250, .65); text-shadow: 0 0 8px rgba(172, 88, 250, .65); }

.inv-slot__qty {
    position: absolute;
    bottom: 4px;
    right: 4px;
    font-size: .55rem;
    font-weight: 700;
    color: #fff;
    padding: 1px 4px;
    border-radius: 5px;
    line-height: 1;
    background: rgba(15, 23, 39, .85);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, .08);
}

@media (min-width: 768px) {
    .inv-slot__qty { bottom: 7px; right: 7px; font-size: .72rem; padding: 2px 7px; border-radius: 6px; }
}

.inv-slot__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    font-size: .55rem;
    line-height: 1.1;
    color: #8aa0bd;
}

@media (min-width: 768px) {
    .inv-slot__meta { font-size: .78rem; line-height: 1.2; justify-content: space-between; }
}

/* .inv-slot__meta foi removido do template — regras antigas mantidas como no-op caso volte. */

.inv-slot--empty .inv-slot__img { opacity: .4; filter: grayscale(1); }

.inv-locked-icon {
    width: 55%;
    max-width: 60px;
    height: auto;
    opacity: .85;
    filter: drop-shadow(0 0 10px rgba(80, 140, 255, .8));
}

/* Filtro dinamico via data-attribute (raridade) */
.inv-grid[data-filter="semi"] .inv-slot:not(.inv-slot--semi):not(.inv-slot--empty),
.inv-grid[data-filter="raro"] .inv-slot:not(.inv-slot--raro):not(.inv-slot--empty),
.inv-grid[data-filter="comum"] .inv-slot:not(.inv-slot--comum):not(.inv-slot--empty) {
    display: none;
}

/* Filtro por categoria (skin/weapon/vehicle/object/accessory) */
.inv-grid[data-cat="skin"]      .inv-slot:not([data-cat="skin"]):not(.inv-slot--empty),
.inv-grid[data-cat="weapon"]    .inv-slot:not([data-cat="weapon"]):not(.inv-slot--empty),
.inv-grid[data-cat="vehicle"]   .inv-slot:not([data-cat="vehicle"]):not(.inv-slot--empty),
.inv-grid[data-cat="object"]    .inv-slot:not([data-cat="object"]):not(.inv-slot--empty),
.inv-grid[data-cat="accessory"] .inv-slot:not([data-cat="accessory"]):not(.inv-slot--empty) {
    display: none;
}

/* Modal modernizado */
.inv-modal .modal-content {
    background: linear-gradient(180deg, #111927 0%, #0e141e 100%);
    border: 1px solid #243149;
    border-radius: 14px;
    overflow: hidden;
}

.inv-modal .modal-header { border-bottom: 1px solid #1e2a3d; }
.inv-modal .modal-footer { border-top: 1px solid #1e2a3d; }

.inv-modal .item-hero {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(255, 255, 255, .02);
    border: 1px solid #243149;
    border-radius: 12px;
    padding: 1rem;
    position: relative;
    overflow: hidden;
}

.inv-modal .item-hero::before {
    content: "";
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 30%, var(--rarity-glow, transparent) 0%, transparent 65%);
    filter: blur(30px);
    z-index: 0;
    pointer-events: none;
}

.inv-modal .item-hero > * { position: relative; z-index: 1; }

.inv-modal .item-hero img {
    width: 92px;
    height: 92px;
    object-fit: contain;
    background: rgba(0, 0, 0, .35);
    border-radius: 10px;
    padding: 6px;
    border: 1px solid var(--rarity-color, #243149);
}

/* Tempo/expiracao do item: linha entre o nome e a raridade no modal */
.inv-tempo {
    font-size: .78rem;
    font-weight: 600;
    margin: 2px 0 6px;
    display: inline-block;
}
.inv-tempo--permanente { color: #66b8ff; }
.inv-tempo--ativo      { color: #ffba2e; }
.inv-tempo--expirado   { color: #ff7a7a; }
.inv-tempo--sem-vip    { color: #8aa0bd; }