.filtro-selos { position: relative; } .filtro-selos-trigger { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.9rem; background: rgba(255, 255, 255, 0.06); border: 1px solid var(--stroke); border-radius: 8px; color: var(--text); font-size: 0.9rem; cursor: pointer; transition: all 200ms ease; white-space: nowrap; } .filtro-selos-trigger:hover { border-color: var(--accent-2); background: rgba(255, 255, 255, 0.08); } .filtro-selos-trigger.ativo { border-color: var(--accent); background: rgba(79, 70, 229, 0.15); } .filtro-icone { font-size: 1rem; } .filtro-label { font-weight: 500; } .filtro-seta { font-size: 0.7rem; color: var(--muted); transition: transform 200ms ease; } .filtro-seta.aberto { transform: rotate(180deg); } .filtro-limpar { display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-size: 0.7rem; background: rgba(255, 59, 48, 0.2); color: #ff6b6b; border-radius: 50%; margin-left: 0.25rem; transition: all 150ms ease; } .filtro-limpar:hover { background: rgba(255, 59, 48, 0.4); } .filtro-selos-dropdown { position: absolute; top: calc(100% + 8px); left: 0; min-width: 340px; max-width: 420px; background: linear-gradient(165deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.98)); border: 1px solid var(--stroke); border-radius: 12px; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(79, 70, 229, 0.1); z-index: 100; backdrop-filter: blur(12px); animation: dropdownSlide 200ms ease; overflow: hidden; } @keyframes dropdownSlide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } .filtro-selos-header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-bottom: 1px solid var(--stroke); font-size: 0.85rem; color: var(--muted); } .filtro-limpar-todos { padding: 0.3rem 0.6rem; background: rgba(255, 59, 48, 0.15); border: 1px solid rgba(255, 59, 48, 0.3); border-radius: 6px; color: #ff6b6b; font-size: 0.75rem; cursor: pointer; transition: all 150ms ease; } .filtro-limpar-todos:hover { background: rgba(255, 59, 48, 0.25); } .filtro-selos-grupos { max-height: 320px; overflow-y: auto; padding: 0.5rem; } .filtro-selos-grupos::-webkit-scrollbar { width: 6px; } .filtro-selos-grupos::-webkit-scrollbar-track { background: transparent; } .filtro-selos-grupos::-webkit-scrollbar-thumb { background: var(--stroke); border-radius: 3px; } .filtro-grupo { margin-bottom: 0.75rem; } .filtro-grupo:last-child { margin-bottom: 0; } .filtro-grupo-titulo { font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--accent-2); padding: 0.4rem 0.5rem 0.3rem; margin-bottom: 0.25rem; } .filtro-grupo-selos { display: flex; flex-wrap: wrap; gap: 0.4rem; } .filtro-selo-item { display: flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.65rem; background: rgba(255, 255, 255, 0.04); border: 1px solid transparent; border-radius: 6px; cursor: pointer; transition: all 150ms ease; font-size: 0.8rem; } .filtro-selo-item:hover { background: rgba(255, 255, 255, 0.08); border-color: var(--stroke); } .filtro-selo-item.selecionado { background: rgba(79, 70, 229, 0.2); border-color: var(--accent); } .filtro-selo-item input { display: none; } .filtro-selo-item .selo-icone { font-size: 0.9rem; } .filtro-selo-item .selo-label { color: var(--text); white-space: nowrap; } .filtro-selos-footer { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-top: 1px solid var(--stroke); background: rgba(0, 0, 0, 0.2); } .filtro-info { font-size: 0.8rem; color: var(--muted); } .filtro-aplicar { padding: 0.45rem 1rem; background: linear-gradient(145deg, var(--accent), var(--accent-2)); border: none; border-radius: 6px; color: white; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 150ms ease; } .filtro-aplicar:hover { filter: brightness(1.1); box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3); } @media (max-width: 480px) { .filtro-selos-dropdown { position: fixed; top: auto; bottom: 0; left: 0; right: 0; min-width: 100%; max-width: 100%; border-radius: 16px 16px 0 0; max-height: 70vh; } .filtro-selos-grupos { max-height: 50vh; } }